"); //-->
一种简单实用的FLEX 10K系列芯片并行加载电路
作者 张 宇 袁晓松 马樟萼
摘 要:ALTERA最新推出的FLEX 10K系列PLD以其丰富的资源和低廉的价格受到越来越多用户的欢迎。由于该系列芯片以可重新配置的CMOS静态RAM单元为基础构成,因此必须在每次上电后对芯片进行配置。在讨论了FLEX10K系列芯片的各种加载方式后,提出一种简便、实用的脱机并行加载方案。
关键词:PLD FLEX10K ALTERA
FLEX(Flexibl Logic Element Matrix)10K系列芯片是ALTERA公司新近推出的PLD产品。与ALTERA公司先前推出的MAX7000系列EPLD相比,FLEX10K(以下简称10K)系列具有更加丰富的内部资源(最多可达10万门),更加充裕的可配置的I/O管脚(最多达406条)。再加上其低廉的价格,使得10K系列芯片受到越来越多用户的欢迎。由于10K系列芯片是以可重新配置的CMOS静态RAM单元为基础构成的,因此必须在每次开机时对芯片进行配置。
10K系列芯片共有4种加载方式可供用户选择。它们是:串行EPROM方式、被动串行方式(PS方式)、被动并行同步方式(PPS方式)、被动并行异步方式(PPA方式)。这四种方式是利用2位模式码(MSEL1、MSEL0)来识别的,如表1所示。
表1 模式码表
MSEL1 MSEL0 加载方式
0 0 EPROM方式或PS方式
1 0 PPS方式
1 1 PPA方式
串行EPROM方式所需的元件少,而且几乎不需要外加控制器件。ALTERA公司同时为使用串行EPROM方式的用户提供所需的串行EPROM-EPC1。但这种EPROM只能配置一次,因此不适合于开发人员使用。
PS方式又可分为BitBlaster加载、FLEX下载电缆加载及微处理器加载三种方式。其中前两种方式要求用户系统与计算机通过电缆相连,整个加载操作由软件控制。但大多数的应用系统是脱机工作的,因此这两种方式对于多数用户来说不是很方便。若使用微处理器方式,用户需外加RAM,而且PS方式将只利用RAM的一位数据位。目前市面上的RAM字长多为8位,因此这种方式不是很实用。
PPA方式利用微处理器与10K芯片间的就绪/忙信号来实现数据的可靠传送,但这将增加控制逻辑的复杂性。
对于多数用户来说,理想的加载方式应是在全脱机状态下(无需微处理器的控制),利用并行方式对10K芯片进行加载。PPS方式基本上能满足上面提出的要求。但ALTERA公司提供的参考方案是利用微处理器实现加载的,因此有必要设计一种脱机的PPS加载方案。下面将介绍作者在这方面的一些成果。
1 与加载有关的控制信号
10K系列芯片在加载中利用的控制信号共有四个:nCONFIG、nSTATUS、CONFDONE、DCLK。
nCNFIG是10K芯片的输入信号。当此信号为低时,10K芯片处于复位状态。当nCONFIG出现由低到高的跳变时,芯片开始加载。
nSTATUS是双向开路信号。此信号需经1kΩ电阻上拉。上电后10K芯片将此信号拉低,并保持100ms的时间。若加载中出现错误,芯片将此信号拉低。因此nSTATUS可用于错误指示。若外部器件将nSTATUS拉低,则10K芯片将进入错误状态。
CONFDONE是双向开路信号。此信号需经1kΩ电阻上拉。作为输出时,CONFDONE可用作加载结束标志。在加载期间,10K芯片将此信号拉低,芯片正确加载后此信号被释放。作为输入时,此信号变高将使10K芯片初始化并进入用户模式。
DCLK是时钟输入信号。此信号将被用于锁存外部数据。
2 PPS方式介绍
被动并行同步方式(PPS)工作过程如下:当nCONFIG出现由低到高的跳变时加载被启动。当DCLK出现第一个上升沿时芯片锁存8位数据总线上的第一个配置字,并在随后的8个下降沿将此字节串行移入10K芯片内部。当DCLK出现第9个上升沿时,芯片将锁存第二个配置字,并重复上面的操作,直至所有数据都被移入。在加载过程中一旦出现错误,nSTATUS将被拉低,用户系统必须能识别这个信号,并重新启动加载过程。加载结束后,CONFDONE将被释放,但为了保证芯片能被正确初始化,DCLK必须至少再提供10个周期的时钟。PPS加载时序图如图1所示。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。