基于单片机的CPLD/FPGA被动串行下载配置的实现
发布日期:2011-05-05
先容采取AT89S2051单片机共同串行E2PROM存储器,实现CPLD/FPGA器件的被动串行模式的下载配置,叙述了其原理及软硬件计划。
1小序
随着电子技能的生长,当前数字体系的计划正朝着速率快、容量大、体积小、重量轻的方向生长。推动该潮流迅猛生长的引擎便这天趋进步和美满的高密度现场可编程逻辑器件计划技能。高密度现场可编程逻辑器件(CPLD/FPGA)可以或许将大量逻辑成果集成于一个单片IC之中,对基于E2PROM(或Flash Memory)工艺的器件,配置数据在失电后不会丢失,可以直接采取ByteBlaster并口下载电缆对他们举行配置,但基于该架构的器件的集成度较低,一样平常在10万门以下;然而对基于SRAM工艺的器件,配置数据在器件失电后会丢失,但基于该架构的器件的集成度相对较高,一样平常在1万门以上。
由于当前项目开辟中所需利用的可编程逻辑器件的集成度请求越来越高,基于SRAM工艺的器件得到越来越遍及的利用,那么此时怎样将配置数据告成地写入目标器件,并且包管其在失电再上电后可以或许主动规复配置数据,成为电子计划工程师可否精确利用基于SRAM工艺的器件必须掌握的一项技能。
针对基于SRAM工艺的器件的下载配置题目,本文先容采取AT89S2051单片机共同串行E2PROM存储器,实现CPLD/FPGA器件的被动串行(PS)模式的下载配置。
2体系构成
该体系的硬件电路由AT89S2051单片机、AT24C256串行E2PROM,MAX232串行接口电路、复位及去耦合电路和被配置CPLD/FPGA器件构成,如图1所示。
3体系硬件计划
3.1芯片选型
(1)单片机 单片机采取ATMEL公司生产的AT89S2051单片机,该芯片与MCS51系列单片机兼容。内含:2 kB Flash E2PROM,128 B RAM,15根I/O引线,2个16位定时器/计数器,1个5向量两级停止布局,1个全双工串行口和1个精密模仿电压比较器等。
(2)串行E2PROM 由于基于SRAM工艺的可编程逻辑器件(CPLD/FPGA)的配置数据在失电后会丢失,必要外加存储器以生存配置数据。为了只管即便减小电路板的面积,选用8脚的串行E2PROM AT24C256。AT24C256是ATMEL公司生产的2线制串行电可擦写只读存储器,具有自定时写周期特性,容量32 kB。该器件分外得当于对功耗有严格请求的应用场合。
(3)通讯接口 采取MAXIM公司生产的串行接口芯片MAX232将PC机与下载配置电路连接起来。下载配置电路通过该串口吸取PC机下传的下令,实行相应的操纵再将处理惩罚结果上传到PC机。MAX232是通用+5 V供电的多通道RS232总线收发器,尤其得当在电池供电的体系中应用。
3.2硬件原理图
硬件原理如图2所示。上电后,单片机起首调用子步伐完成如下操纵:将失电前已经存储在AT24C256串行E2PROM中的器件配置文件读出;采取被动串行模式(PS)将该文件配置到CPLD/FPGA器件中,从而实现器件失电再上电后主动规复配置数据的成果。然后,单片机就会事变在动态停机状态,在此进程中,单片机可以相应串口停止。
要是单片机相应串口停止并且吸取到一个数据,那么单片机起首果断该数据所表现的下令范例,如果配置下令,单片机就进入配置状态。在配置状态下,单片机一边吸取配置数据,一边将这些数据写到CPLD/FPGA器件中;如果写E2PROM下令,单片机就进入写E2PROM状态,此时单片刻机一边吸取配置数据,一边将这些数据写到配置用E2PROM中(细致此时这些数据并没有被配置到CPLD/FPGA器件中);如果读E2PROM下令,单片机就进入读E2PROM并配置CPLD/FPGA器件状态,此时单片刻机一边读E2PROM中的配置数据,一边将读出的配置数据写到CPLD/FPGA器件中。
4体系软件计划
软件包括:主步伐、下载配置子步伐、写E2PROM子步伐、读E2PROM子步伐及通用延时子步伐构成。其软件流程图如图3所示。
现将以上所提及的各个子步伐的用途简介如下:
下载配置子步伐的作用是将从串口吸取的配置数据直接写到目标器件中,即直接写到可编程逻辑器件(CPLD/FPGA)中。
在编写该子步伐时,必须细致目标器件的写入时序。必须根据目标器件生产厂家提供的时序图,用单片机语言编程将其配置时序正确地形貌出来,只有如许才华精确地将配置数据写入到目标器件中。比方,我们若要精确配置ALTERA公司生产的FLEX 10k系列器件,就必须严格服从以下时序图,如图4所示。
写E2PROM子步伐的作用是将从串口吸取的配置数据直接写到AT24C256串行E2PROM中生存起来,以备必要时可以用这些生存的数据重新配置器件。读E2PROM子步伐的作用是从AT24C256中将配置数据读出,同时将这些配置数据写到目标器件中,以实现对目标器件的重新配置。
在编写这两个子步伐时,必须细致AT24C256的数据写入和数据读出时序,只有严格服从该时序图,才华精确地对该存储器举行读写操纵。其读写时序如图5所示。
通用延时子步伐可以机动地设置延时时间隔断。当步伐中必要延时的时间只要先给该子步伐提供一个延时时间常数,再调用延时子步伐即可。比方,通常在体系复位时为了让处理惩罚器复位后体系中其他器件能可靠复位而调用的上电延时子步伐就可以采取该通用延时子步伐来实现。
5结语
本体系可用于配置全部ALTERA公司生产的基于SRAM架构的CPLD器件和XILINX公司生产的基于SRAM架构的FPGA器件以及其他主流器件制造公司生产的基于SRAM架构的器件,具有很强的通用性。由于该电路利用的元器件非常少,也可以将其制作成面积很小、便于携带的通用下载配置板利用。该下载配置电路经本人实际制作、调试、利用,其事变稳固可靠,具有很好的应用远景。
参考文献
[1]ALTERAApplication Note 59:Configuring FLEX 10k DevicesAugust 1998
[2]ALTERAApplication Note 208:Configuring Stratix & Stratix GX DevicesNovember 2002
[3]何立民单片机应用技能选编[M].北京:北京航空航天大学出版社,2000