用CPLD和FLASH存储器配置FPGA
PLDCPLDFPGA应用
文章编号:1008—0570(2007)07—2—0171-03
用CPLD和FLASH存储器配置FPGA
UsingCPLDandFlashMemorytoConfigureFPGA
(删I,『大学)程明毕立恒杨晓光
CHENGMINGBILIHENGYANGXIAOGUANG
摘要:随着FPGA生产商推出更高密度FPGA器件,要求更多的配置芯片存储配置
数据并配置FPGA.本文介绍了采用计算机
并13'下载配置数据并用CPLD,FLASH存储器组成的被动串行fPS1配置系统配
置高密度FPGA的方法,其方法是用CPLD作
为控制器控制FLASH存储器对高密度的FPGA进行配置.通过使用一个nASH存
储器和一个CPLD器件可代替容量有限
的专用配置芯片,具有配置速度快,实现容易的特点.
关键词:FPGA配置:被动串行配置;FLASH存储器:控制器
中图分类号:TP345文献标识码:A
Abstract:AsFPGAcorporationsintroducehigher—
densityFPGAs.Asaresult.designsrequiremoreconfignr~iondevicestostorethe dataandCOnfignrethesedevices.Asanalternative.flashmemo~canbeusedtostoreconfigurationdata.Thispaperintroducedthe
methodofdownloadingdatat0flashmemorythroughPCparallelinterfaceandhowtoconfigurehigh—densityFPGAdevicebyusing
coldandflashmemory.BvusingapieceofflashmemorydeviceandCPLD.AFPGAdevicecanbequicklyconfigured.Oneof
theadvantagesiSeasytoberealized.ano山erisveryhighoftheCOnfigurationspeed,
Keywords:FPGAConfigure,PassiveSerialConfigure,FlashMemory,controller 引言
Ahera公司的基于SRAM查找
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
结构的FPGA器件自问世 以来得到了广泛的应用,但由于SRAM的易失性,每次系统上 电时,必须重新配置数据,即ICR(In—CircuitReconfignrability),以 保证系统的正常工作.在线配置方式一般有两类:一是通过由计 算机直接对其进行配置,二是通过专用配置芯片对其进行配置. 通过PC机对FPGA进行在系统重配置,由于对PC机的依赖性 和FPGA的易失性,在应用现场是很不现实的;上电后,通过配 置芯片自动加载数据对FPGA应用来说是必需的,Ahera公司
提供的配置芯片有一次可编程型和可擦除编程型两种:一次可编程型芯片不适合开发阶段反复调试,修改及产品的升级;可 擦除编程型价格较高,且容量有限和不易购买.随着Altera公司 推出高密度的FPGA芯片,其配置数据位流大小也随之增加,因 此,应用中就要求更大容量的配置芯片来储存配置数据.虽然 可以用多片配置芯片组成菊花链形进行配置,但是会增加系统 设计的难度.用易于购买和易于选择的FLASH存储器作为配置 器件就可以使配置变得简单方便.
1FPGA器件的配置方式和配置文件
FPGA依据控制配置过程的器件不同,可将配置分为主动 配置和被动配置两类;依据配置数据流的格式不同,可将配置 分为串行配置和并行配置两类.因此,可组成被动串行(ps),被动 并行同步(Pps),被动并行异步A),被动串行异步(PSA)等配置 方式.这五种方式都能适用于单片机配置.PS方式因电路简单, 对配置时钟的要求相对较低,而被广泛应用.本文采用在CPLD 程明:教授硕士生导师
基金项目:河南省科技攻关项目
半导体激光线宽展宽因数测量系统的研究(042420178) 控制下用一片FLASH存储器芯片对FPGA进行配置,配置方式 采用被动串行配置(1)S)模式.这种配置
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
充分考虑了在FPGA 实际使用中FPGA的密度和设计的可升级的要求,不仅可以实
现代替价格贵的不可擦写和可擦写专用配置芯片,而且可以实 现多任务电路结构重配置.该方案有Pc机控制程序,CPLD和 FLASH存储器组成,只要通过选择不同容量的存储器,就可实 现对不同容量的FPGA的配置.方案中PC机将配置数据写入 FLASH,在写好数据后该配置系统不再需要PC机的控制,在控 制器匝过CPLD实现)的控制下完成配置.
Ahera的MAX+PLUSII或QuaausII开发工具可以生成多 种配置或编译文件,用于不同配置方法的配置系统,而对于不同 系列的目标器件配置数据的大小也不同,配置文件的大小一般 有.rbf文件决定..rbf文件即二进制文件.该文件包括所有的配 置数据,一个字节的.rbf文件有8位配置数据,每一字节在配置 时最低位最先被装载.控制器可以读取这个二进制文件,并把 它装载到目标器件中.Altera软件工具不自动生成rbf文件,但 是MAX+PLUSII的编译器在编译过程中自动产生一个存储器 目标文件(.so0.它包括一个专用数据头和二进制配置数据,在 存储器目标文件(.so0的基础上,可以生成其它类型配置文件. 本文介绍并设计了用FLASH存储器和CPLD(MAX30oo)配置高 密度的FPGA.其中FLASH存储器存储配置数据,CPLD作为控 制器,通过控制器生成数据流并传输数据到FPGA实现配置.这 种配置方式适合APEX,ACEX,FLEX等FPGA芯片的配置.图 l是利用EPM3128芯片和FLASH配置FPGA的原理简图.Pc 机通过并行口同控制器接口,通过控制器把配置数据编程到 FLASH存储器,编程结束后控制器控制FLASH存储器对FPGA 进行配置.本设计可用于对APEC,ACEX以及FLEX系列FPGA 进行单个和多个串行配置,图1原理图中的上拉电阻对于 APEX200KE系列大小为10k欧姆,其余系列的上拉电阻均为 @国自控嘲邮局订阅号-82_94636o元/年_l71—
PLDCPLDFPGA应用中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第
23卷第7-2期
1k欧姆.
图1电路原理简图
2编程FLASH的工作原理及过程
1.控制器工作流程
控制器可以通过并行口或串行口与PC机连接接收配置数 据.但是串行通信虽然有其自身优点:如适合长距离通信,有一 定的纠错能力等,但并行通信在短距离(数米范围内)传输过程 中的优点是显而易见的.首先串行通信时要设置串口数据,如: 串口号(Coml,Com2或者其他串口),波特率,数据位数,停止位, 校验位等等.而且控制器与PC机的串口数据必须一一对等,否 则不能传输.而并行传输时,无需上述过程.其次,PC机的串口 电平值为+12V,12V,CPLD是rIrrI电平(O一+5V),两者必须要 经过电平转换芯片进行电平间的转换.而进行并行传输时,由 于双方都是TnJ电平,所以PC的并口可以与CPLD直接相连; 另外,串行传输速度慢,每次只能传送一位,而并行每次可以传 送8位,速度上的差异显而易见.笔者采用控制器通过并行口 与计算机连接.
当系统上电后控制器检查FLASH存储器是否被成功的编 程,如果FLASH被成功编程,接着控制器配置FPGA.如果 FLASH没有被成功编程,则控制器等待来自PC机的编程或配 置命令.此时该控制器对来自PC机的这个命令进行译码.并根 据该命令执行相应的操作.操作完成后,控制器返回到空闲模 式等待下一个命令.图2所示为控制器的工作状态流程图. 图2控制器的工作状态流程图
2.编程FLSAH存储器原理
控制器通过生成一个编程命令顺序编程FLSAH存储器并 且把配置数据配置到FPGA,PC机通过并行口同控制器接口. 这种接口方式中有两种类型的数据(如图3)
…厂型
n.厂]厂]
图3STB和ACK关系图
从PC机发出进人到控制器的3个输人信号,来自控制器 的2个输出信号进入到Pc机.其中,输入信号包括以下的3个 信号:STB-PC机发出表示PC机数据有效.DATA—MODE表示 Pc机发给控制器信号的性质:命令模式或数据模式.当DA— TA—MODE高电平表示命令模式,DATA—MODE低电平表示在 数据模式.DATA信号和DATA—MODE信号有关,可以为命令 模式下的命令数据也可以为数据模式的数据.输出信号包括以 下的两种信号:ACK,应答信号是由控制器发出到PC机的握手 信号.CONFATATUS:该信号表示配置状态,控制器在选通信号 fSTB)信号的边沿(上升沿和下降沿)完成每位数据的接收,接收 完一位数据后控制器将发送一个应答信号给Pc机,PC机接收 到应答信号后继续数据的下一位的发送.这个应答信号应和最 后接收到的STB信号是同样的逻辑电平.通过消除应答信号,控 制器可以使PC机停止发送数据.
3.编程Flash存储器过程
从Pc机接收到编程命令后,控制器先擦除FLASH,然后开始 对FLASH编程.控制器对FLASH编程时需要一个独立的状态机 生成编程命令序列和编程脉冲宽度.当编程FLASH时,控制器必 须检查是否已经接收到一个来自PC机的命令数据(DATA—MODE =
1),这个命令表示PC机发送数据结束,控制器接收到这个命令后 就退出对FLASH的编程状态进人到空闲模式.对FLASH编程的 同时,控制器还需要另一个状态机来读取来自于FLSAH的数据并 把数据序列化,同时生成DCLK和DATAO信号.控制器同时.监测 来自FPGA的CONF_DONE信号以判断配置是否完成.当配置结 束,控制器退出配置状态返回到空闲模式.
3配置FPGA过程和原理
图4是配置FPGA的时序图,配置过程包括三个阶段:复 位,配置和初始化.当FPGA上电后进人复位状态,nCONFIG被 置为低电平,FPGA进人到复位状态;当nCONFIG电位由低到 高跳变时启动配置过程,当nSTATUS或nCONFIG为低电平时, 器件处于复位状态.当nCONFIG由低变高时脱离复位状态,同 时释放nSTATUS(漏极开路)管脚.nSTATUS释放后被拉高,此时 nSTATUS和nCONFIG同时为高电平,FPGA准备接收配置数 据,配置开始.串行配置时FPGA在DCLK上升沿锁存DATAO 引脚上的数据.所有的数据成功接收完后,释放CONF_DONE 引脚,CONFDONE被外接电阻拉高.CONF_DONE引脚由低变 高的变化标志着配置FPGA的结束,下一个状态即初始化开始. 为确保初始化正确,DCLK在初始化开始后继续提供几个周期 的时钟,初始化完成后FPGA进人到用户工作模式.可选信号 一
172—360~L/年邮局订阅号:82.946
PLDCPLDFPGA应用
INITDONE被释放通过外电阻拉高.在配置过程中,出现错误 时,FPGA就会将nSTATUS拉低,系统实时监控到这个信号后, 重新启动配置过程.
D
^DD'5州
00NF_[E
1NITDC4~E
__________一
图4配置时序
4软件部分
根据配置时序笔者设计了用MAX3128控制FLASH存储
器配置FPGA的程序,该程序用硬件描述语言HDL)实现,程 序采用多进程方式,程序中包括了一个序列生成器和地址生成 器,它们保证配置数据能够正确地配置到FPGA的编程管脚.当 复位时控制器就从FLASH存储器中按字节读取数据,同时通过 序列生成器使读取的数据序列化,被序列化的数据通过Ps配 置方式配置到FPGA,由于使用Ps配置方式,FLASH不需要直 接和FPGA连接,而只是通过控制器实现连接.当然FLASH存 储器在使用之前也可以通过标准的编程器把配置数据写进,这 时候只需要改变CPLD的程序即可实现同样的功能. 软件部分由三个进程组成:时钟分频进程PROCESS1,数据 序列化进程PROCESS2以及使FLASH存储器中的数据字节按 位(data0)序列化配置到FPGA的进程.软件中重点解决的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
之一是使一个字节的配置数据序列化,程序采用VHDL中的 CASE语句在进程(PROCESS2)中实现.软件中的另一个重点是 存储器地址的产生,地址生成器程序同样用CASE语句实现.由 于篇幅有限,具体程序没有给出.
结束语:通过一片MAX3000作为控制器控制FLASH存储 器配置FPGA.具有配置速度快,实现容易的特点,该配置技术 可以用于APEX,ACEX,FLEX等FPGA芯片的配置.可广泛用于 高密度FPGA的装置.
本文作者创新点:充分利用复杂可编程逻辑器件(CPLD)的 高集成度,高速,高可靠性等明显的特点,结合FLASH存储器 易于选择的特点,用并行通信的方式实现高密度FPGA芯片的 配置,解决了用单片机和FLASH存储器配置FPGA芯片速度 慢的缺点.
参考文献
『1]ALTERAFPGMCPLD设计王诚吴继华编着人民邮电出版社 [2】方勇,姚聪,汪敏,潘志浩.FPGA动态配置实现uClinux动态 外设『J1微计算机信息.2004,5-8,57—59
作者简介:毕立恒(1974—,,男(汉),河南信阳人,郑州大学硕士研
究生.研究方向为电路与系统;程明(1949--)男(汉)河南郑州人,
郑州大学教授,硕士生导师,从事通信和计算机应用的研究;杨
晓光(1982一)男(汉)河南洛阳人,郑州大学硕士研究生.研究方
向为单片机应用
Biography:Biliheng(1974一)man(Han,nationality),henna,zheng' zhou,university,master,Researchelectrocircuitandsystem;cheng-
ming(1949一)man(Han,nationality),henan,zheng'zhou,university,
professor,ResearchcomnunictetechnicandPCapplied;Yan'xi—
aoguang(1982一)man(Han,nationality),henna,university,professor
master,Researchsinglechipapplied. (450052河南郑州郑州大学信息工程学院)程明毕立恒
杨晓光
(CoHegeofInformationEngineering,ZhengZhouUniversity,
ZhengZhou450052,HeNan)Cheng—MingBiliheng
yangxiaoguang
通讯地址:(450052郑州大学信息工程学院)毕立恒
(收稿日期:2007.5.23)(修稿日期:2007.6.25)
(上接第73页)
(2)转速计算模块
由于系统采用同步M/T法测量转速,所以计算转速时,需
要的参数有盘脉冲数和计时值.本系统中AT89C52单片机采用
频率为12MHz的外接晶振,则每个机器周期为lus.单片机定时
器的计数脉冲周期为一个机器周期,若定时器从零开时计数,关
闭定时器时其计数值为m,则计时时间就是m微秒.计
算转速部分程序如下.
m=TH0~256//读出{懒姥档姆垦垦TH0,并E够8位
m=TH0+TI_D//获得时钟脉冲数
time=m//{十算出计时时间
n=60*106/(9*time)//计算转速r/min
5结束语
本文作者的创新点是以红外传感器代替了传统的电磁式传
感器,系统的硬件电路简单,测量转速范围较宽,且具有较高的
测量精度,对于低转速的测量也有相当高的精度.并充分利用
了单片机的内部资源,有很高的性价比.可用于各行业转速的
非接触式检测和控制中.
参考文献
【1】钱建强,薛敏.红外光电转速测量仪【J】.工业计量2003,6:33~35 【2】鲍鸿,刘明建.数字化霍尔转速仪的研究【J】_广东工学院,
1996,9(3):67-70
【3】田国华,杨青等,实时操作系统IxC/OS—II在LPC2210上的
移植研究与实现【J]微计算机信息,2005,21—12:33—36.
作者简介:杨术明(1974一),男,宁夏银川人,西北农林科技大学
机械与电子工程学院博士研究生,主要从事智能化监测与监控
技术和精细农业的研究;杨青(1943一),女,西北农林科技大学机
械与电子工程学院教授,博士生导师.主要从事智能化监测与
监控技术,精细农业,旱作节水农业技术与设备的研究.
Biography:YangShuming(1974-),Male,Yinchuan,Ningxia,
NorthwestSci一rechUniversityofAgricultureandForestry.
Researcharea:Intelligencedetecdonandcontrol,Precision
agrieuhure;YangQing(1943一),female,Yangling,Shaanxi, professor,doctoraladvisor,Researcharea:Intelligencedetection
andcontrol,Precisionagriculture. (712100陕西杨陵西北农林科技大学)杨术明杨青杨亮亮
(751100宁夏银川宁夏大学)杨术明杨树川
通讯地址:(712100陕西西北农林科技大学机械与电子工程
学院16号信箱1杨术明
(收稿日期:2007.5_23)(修稿日期:2007.6.25)
@圄自控嘲邮局订阅号:82.98246360元,年-173—