EDN China > 设计实例 > 嵌入式系统 > 存储器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于单片机的复杂可编程逻辑器件快速配置方法

来源:电子技术应用/作者:重庆大学通信工程学院 刘晓明 王军 谢明钦?? 2007年05月28日 ?? 收藏0

  基于SRAM(静态随机存储器)的可重配置PLD(可编程逻辑器件)的出现,为系统设计者动态改变运行电路中PLD的逻辑功能创造了条件。PLD使用SRAM单元来保存配置数据。这些配置数据决定了PLD内部的互连关系和逻辑功能,改变这些数据,也就改变了器件的逻辑功能。由于SRAM的数据是易失的,因此这些数据必须保存在PLD器件以外的EPROM、EEPROM或FLASH ROM等非易失存储器内,以便使系统在适当的时候将其下载到PLD的SRAM单元中,从而实现在电路可重配置ICR(In-Circuit Reconfigurability)。

  本文介绍笔者设计的PLD ICR控制电路,它不但线路结构简洁、开发容易、体积小、成本低,并且在图2介绍的ICR控制电路中,其存储PLD配置数据的FLASH存储器采用并行总线,交换速度较快。然而PLD配置数据较大,通常都在数十千字节以上。如何提高图2介绍的ICR控制电路的配置速度,使系统上电后的最短的时间内完成配置而进入正常工作状态,软件设计上的一个重点。

PS配置时序图

  1 基于SRAM的可重配置CPLD的结构与原理

  早期的可编程逻辑器件大多采用紫

外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)方式。如GAL系列、EPF7064、EPF7128等。由于其结构简单、规模小,只能完成简单数字逻辑功能。此后,出现了一类结构上稍复杂的基于SRAM存储器的可编程芯片,即复杂可编程逻辑器件(CPLD),它能完成各种数字逻辑功能。

  采用这些结构的可编程逻辑器件有ALTERA公司的FLEX、ACEX、APEX系列,XILINX公司的Spartan、Virtex系列。多年来,ALTERA公司一直致力于CPLD的开发。近几年,该公司又推出了很有竞争力的CPLD器件,即灵活的逻辑单元阵列的FLEX(Flexible Logic Element Matrix)系列产品。相对于其它一些厂家的FPGA产品来说,ALTERA公司的FLEX系列产品有其独特之处。这主要表现在高密度、在线配置功能、高速度和连续式布线结构等方面。

  查找表LUT(Look-Up-Table)是基于SRAM的可重配置PLD的一个重要组成部分,LUT本质上就是一个RAM。目前CPLD中多使用4输入的LUT,所以每一个LUT可以看成个有4位地址线的16×1bit的RAM。当用户通过GDF原理图或VHDL语言描述了一个逻辑电路后,CPLD开发软件会自动计算逻辑电路的所有可能结果,并把结果事先存入查找表。这样,当多信信号进行逻辑运算时就等于输入一个地址进行查表,找出地址所对应的内容,然后将其输出即可。

硬件电路原理图

  2 可编程逻辑器件的配置原理

  首先在开发软件MAX+PLUS II的ASSIGN菜单下选择将要采用的基于SRAM的器件名称。经过编译、优化、逻辑综合、仿真等步骤达到设计要求后,软件会自动产生一个编程文件(扩展名为.SOF文件)。对于基于SRAM工艺的可编程逻辑器件(如ALTERA的所有FLEX、ACEX、APEX系列,XILINX的Sparten、Vertex系列),由于SRAM存储器的特点,掉电后数据会消失,因此在调试期间可以采用并口ByteblasteMV下载电缆多次重复配置PLD器件。当电路设计成功,调试完成后,需要将配置数据烧写固化在一个由ALTERA生产的专用EEPROM(如EPC1441)中。上电时,由这片配置EEPROM先对PLD加载数据,几十毫秒后,PLD即可正常工作。

  CPLD器件的工作状态分为三种:首先是上电配置状态(Configuration Mode),将编程的数据装入CPLD器件的过程,也可称之为构造;然后是初始化状态(Initialization Mode),在配置完成后,CPLD器件复位内部各类寄存器,让I/O引脚为逻辑器件正常工作做准备;最后是用户状态(User Mode),指电路中CPLD器件正常工作时的状态。

  ALTERA公司具有ICR功能的PLD器件有FLEX8000、FLEX10K、APEX和ACEX系列,它们的配置方式可分为PS、PPS和JTAG(Joint Test Action Group)等方式。PS方式因PLD与配置电路的互连最简单,对配置时钟的最小频率没有限制而应用最广泛,因此在ICR控制电路中通常采用PS配置方式来实现ICR功能。

  被动串行(PS)配置方式:在该配置方式下,由ByteblasteMV下载电缆产生一个由低到高的跳变送到nCONFIG引脚脚复位PLD,然后将配置数据送到DATA0引脚,直到CONF_DONE引脚变为高电平。图1是PS配置方式的时序图。CONF_DONE变成高电平后,DCLK必须多余十个周期来初始化该器件。器件的初始化由下载电缆自动执行。在PS方式中没有握手信号,所以配置时钟的工作频率必须低于10MHz。在多器件PS配置方式中,第一片PLD的nCEO引脚级联到下一片PLD的nCE引脚。在配置完第一个器件后,nCEO输出为低,使第二个PLD器件的nCE有效,开始对第二块器件进行配置。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

复杂可编程逻辑器件? 静态随机存储器? 被动串行?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈