VME总线在线“从串模式”配置FPGA的设计与实现
2020-09-22
来源:榕意旅游网
维普资讯 http://www.cqvip.com 第27卷第5期 核电子学与探测技术 V0L 27 No.5 2007年9月 Nuclear Electronics&Detection Technology sep. 2007 VME总线在线“从串模式"配置 FPGA的设计与实现 魏书军,刘振安,赵棣新,过雅南 (中国科学院高能物理研究所100049) 摘要:本文介绍了在线配置FPGA硬件设计及工作原理。所设计的系统可以使FPGA的配置数据 通过VME总线写入到一片Flash Memory中,并在加电时或使用命令的方式通过Flash Memory来配 置FPGA。另外,FPGA的配置数据还可以直接保存在PC机终端上,而不是Flash Memory中,在需要 时,通过VME总线直接将配置数据配置给FPGA。 关键词:从串模式, ,Flash Memory,CPLD 中图分类号: TN4O2 文献标识码:A 文章编号:0258—0934(2007)05-0852—05 在BI Ⅲ触发电子学系统中,FPGA程序 工作:VME接口信号处理;Flash Memory读、 极其复杂,而矸,GA内部的运行程序和调试程 写、擦除等控制操作;配置FPGA时序的给出, 序有时需要切换。通过VME总线,在线配置 及FPGA配置数据的并/串转换等功能。 FPGA,不仅可以随时更换FPGA程序内容,而 Flash Memory主要用于保存FPGA的配置数 且还无须操作者亲临现场,更无须取下插件。 据。FPGA则用于完成用户自己的控制逻辑, 这种方便、灵活、而且可靠的FPGA配置方式, 其程序及逻辑由用户自己定义编写。 可以给使用者提供极大的便利。 …对于这种电路的设计,我们首先想到的是, l_ 皂M璺 塾塑 一一J— 竺 19 三j 盟 该电路必须能够完成一般配置用PROM所能 够完成的工作,即在给插件加电时,能够自动把 1 CPLD ,一一 配置数据从Flash Memory中读出并配置给 雷 一]一、、 FPGA。另外,该电路还必须能够方便、灵活地 至 由VME总线直 加 接把配置数据 配置给FPGA 修改Flash Memory和FPGA中的配置数据。 1系统构成及工作原理[1 系统构成如图1所示,由VME总线, 图1系统构成 CPI 控制芯片,Flash Memory及FPGA 工作时,首先由用户设计FPGA的功能和 (Field Programmable Gate Arrays)等四部分 逻辑,并生成仅含FPGA配置数据的PR0M 组成。用户可以通过VME总线及相应VI怔 配置文件(.HEX)。然后,通过VME命令将 读写命令完成相关操作。CPI.D(Complex 配置文件中的配置数据通过VME总线写入 Programmable Logic Device)主要完成三方面 F1ash Memory中。在给插件加电,或者在给出 配置FPGA的VME命令时,CPI D开始顺序 收藕日期:2006-08-01 读取Flash Memory中的配置数据,并把这些 作者简介:魏书军(1971一),男,河北人,中国科学院 配置数据按照一定的时序配置给FPGA。另 高能物理研究所实验物理中心,工程师。 外,还可以通过VME命令,直接将配置文件 852 维普资讯 http://www.cqvip.com (保存在PC机终端)中的配置数据以相应的时 序配置给FPGA。(详见2.4) 2电路设计与实现 电路的设计与实现部分主要介绍了“电路 组成”,“Flash Memory控制逻辑”,“配置FP— GA控制逻辑”及“CPLD控制逻辑”等几部分 内容。 2。1电路组成 具体电路组成,如图2所示,其中244和 245实现CPLD与VME总线问地址、控制与 数据信号的缓冲与驱动。74F38是一片开集电 极与非门.它完成CPLD与VME总线间 DTACK*(数据传输应答信号)的隔离,进而 实现VME总线上数据传输应答信号的“线或” 操作,详见VME总线手册 引。 =∽ 一) ∞ 也 善 譬薹茎 叫 一 > 1吾 : 至 重 苣 『FPG。A } vcc }Spart ̄l 3XC3S4000 M6 图2硬件电路 CPLD由一片晶振为其提供时钟,其内部 逻辑主要由“VME接口逻辑”,“Flash Memory 读、写、擦除等控制逻辑”,“配置FPGA接口逻 辑”等三部分组成。VME接口逻辑主要完成 VME命令解析,数据读写控制等操作;Flash Memory读、写、擦除控制逻辑主要是产生正确 的时序,实现V/VIE总线对Flash Memory读、 写、擦除、地址复位等操作;配置FPGA的接口 逻辑,则是把CPLD中获取的配置数据作“并/ 串”转换后,以正确的时序送给FPGA,以完成 对FPGA的配置。 2.2 Flash Memory控制逻辑[。] 对Flash Memory的操作主要包括读、写、 擦除等操作,详述如下。 在对Flash Memory作读操作时,要求写 使能信号“WE#”无效(高电平),当地址信号 有效后,使片选使能信号“CE#”及输出使能信 号“OE#”有效(低电平),大约延迟30—50ns 的时间,Flash Memory把该地址中数据输出到 数据线上。其时序关系如图3所示。 Address )( 地址有效 RY/B、 ...... j 。.. ..。...... ——..。.........。...——. .........—...—..——..——..一 图3 Flash Memory.读时序 对F1ash Memory写操作,也称为对Flash Memory编程操作。它由一个命令序列完成, 做字节编程时,每向某个地址写入一个字节的 数据,需要四个总线周期完成。前三个周期分 别向Flash Memory数据线上写人数据“AA”, “55”,“A0”,第四个周期向Flash Memory数 据线上写入待写人数据。其中,前三个周期地 址为任意,第四个周期地址为待写入数据的地 址。其时序如图4所示。 图4 Flash Memory写数据(编程)时序 Flash Memory的擦除操作,也是一个命令 序列,它由六个总线周期完成。对于整片擦除 操作,在一至六个总线周期内分别向Flash Memory数据线上写入数据“从”,“55”,“8O”, “AA”,“55”,“lO”,地址为任意。在写完最后 一个数据“lO”后,约经过0,7秒的时间完成整 片Flash Memory的擦除工作,具体时序如图5 所示。 卫匦 (塑 /广一 ———— 二互二 ——_7 r :堑互><=至三二)_ ——————— —_、, /_—一 ,一l—~ 7s_———— 图5 Flash Memory擦除时序 2.3配置FPGA控制逻辑 ] FPGA配置模式有多种,主要有“主并”, 853 维普资讯 http://www.cqvip.com “主串”,“从并”,“从串”及“JTAG”等几种模 式,除JTAG配置不受M0,M1,M2影响外,其 它配置模式均由M0,M1,M2决定。由于我们 采用“从串”配置模式,所以需要把M0、M1、M2 都置为“1”(高电平),如图2中的M0、M1、M2 连接所示。 配置FI)GA时,首先在FPGA的PR()- GRAM 引脚上提供一个不小于300ns的负脉 冲,启动配置过程。FPGA在检测到PR()- GI M 上的负脉冲后,将INIT—B 信号拉 低,同时开始清除FPGA内部配置存储器,当 清除完FPGA内部所有帧配置数据后,FPGA 将再次检测PRoGR vI 脚上信号;如果 PR0 M 信号无效(高电平),则进入另外 一个清除过程,清除完成后,FPGA释放 [NIT—B 脚,将其置为高电平。当检测到 INIT—B 变高后,就可以启动配置逻辑,将配 置数据以一定的格式配置给FPGA了。由于 我们采用“从串模式”配置FPGA,所以需要外 部为FPGA提供配置时钟(CCI K)。本设计 中,配置时钟是由CPLD为FPGA提供的;而 配置数据以串行方式送给FPGA,且在每一个 时钟的上升沿锁存一位数据进入FPGA。其时 序如图6所示。当把所有配置数据全部配置给 后, 会在其内部对所配置数据做循 环冗余校验。如果校验正确,则把DONE脚置 高,表示 配置完成,然后启动 程 序。如果循环冗余校验错误,则把INIT--B 脚 拉低,终止启动 程序,且D 也不置 高,表示配置失败,这时候需要重新配置FPGA。 B’ 、 / 一_\ 卜 厂 l=-- =:---...竺:--.--—. —-.—--.■_J九 L.—J厂弋几 L..J L_J一一—7-一一几几 J L, I 二 ~ 图6 FPGA从串配置模式时序 需要注意的是,当把所有数据全部配置给 FPGA,且DONE脚已经变高后,仍需要再送 几十个配置时钟给FPGA,以完成FPGA内部 的最终配置,否则,有可能造成指示配置完成 (DONE脚变高),但逻辑功能不正常的情况出 现。FPGA的配置流程,如图7所示[引。 854 图7 FPGA酉 置流程 2.4 C咖控制逻辑 CPLD控制逻辑,在本设计中是用Verilog 编程的方法来实现的,程序的逻辑功能主要由 三部分组成:在加电或收到VME命令时,由 CPLD给出时序,从Flash Memory配置FP- GA;收到VME命令后,由CPI D给出时序,对 Flash Memory进行擦除、复位、读、写操作;收 到Ⅵ 命令后,CPLD给出配置时序,把从 VME写入的配置数据直接配置FPGA。其控 制逻辑流程如图8所示。 在给插件加电、或通过VME命令的方式 从Flash Memory配置FPGA时,如图8左边 部分所示。首先,CPI D通过读取Flash Mem— ory标志位的方法,检查Flash Memory内部是 否保存有FPGA的配置数据。如果没有配置 数据,则CPLD给出“无配置数据”的指示,然 后结束,等待下一个命令。如果存在配置数据, 则由CPLD产生Flash Memory读取时序,顺 序读取Flash Memory地址中的数据,并依据 FPGA配置时序要求,将配置数据顺序配置给 FPGA。当把配置数据全部配置给FPGA后, CPLD逻辑检查FPGA是否配置完成(DONE 脚为高),如果配置完成,则给出“配置完成”指 示,然后结束,等待下一个命令;如果没有配置 维普资讯 http://www.cqvip.com 图8 CPLD控制逻辑流程图 完成,则给出“出错”指示,然后结束,等待下一 个命令。 对Flash Memory的控制如图8中间部分 所示,主要有擦除Flash Memory中数据,复位 Flash Memory地址到首地址;顺序从Flash Memory地址读取数据,顺序向Flash Memory 地址中写人数据等操作(时序详见2.2)。所有 对Flash Memory的操作时序均由CPLD控制 逻辑给出。另外,当向Flash Memory中写入 配置数据时,在写完全部配置数据后,CPLD还 要附加一个写周期,在Flash Memory的某特 定地址(标志位)写入一个字节的特殊数据,来 表示Flash Memory已经编程。 通过VME总线直接配置FPGA如图8右 边部分所示,在收到VME给出的直接配置命 令后,由CPLD产生FPGA配置时序,并由 Ⅵ\促命令顺序读取PowerPC终端上配置文件 中的配置数据,然后,由CPLD将这些配置数 据以正确的格式配置给FPGA。当把所有的配 置数据全部配置给FPGA后,CPI D将检查 FPGA是否配置完成(DONE脚变高),如果没 有配置完成,则给出“出错”指示,然后结束,并 等待下一个命令;如果配置完成,则给出“配置 完成”指示,然后结束,并等待下一个命令。 3 PowerPC控制程序 PowerPC的控制程序是在Tornado环境 下用C++语言开发完成的,最后编译生成可 加载文件(。out)。在启动PowerPC时,将该程 序加载到PowerPC。程序运行后,通过执行相 应的VME命令,来控制CPLD中的逻辑,进而 实现其相应功能。程序流程如图9所示,程序 的上层结构由分支判断语句构成,通过选择、判 断,执行不同VME命令,完成不同功能操作。 图9 PowerPC控制程序流程图 程序运行后,首先输入用户板卡地址,然后 根据用户选择,执行相应的VME命令,由 VME命令控制CPI.D中的逻辑,实现相应功 能。这些功能包括:通过这些VME命令,将 PowerPC终端上配置文件中的配置数据按照 一定的时序写入Flash Memory、或配置给FP— GA;通过VME命令将Flash Memory中的配 置数据写入PowerPC终端上一个指定文件中、 或按照相应的时序配置给FPGA;另外,还可以 通过VME命令,实现对Flash Memory中全部 配置数据的清除工作。 4结论 通过VME总线在线配置FPGA有许多优 点,首先可以在不从VME机箱取下vME插 件的情况下,修改插件上FPGA程序及逻辑, 从而大大提高了插件应用的灵活性。其次,这 种在线配置,也无需在面板上为FPGA逻辑修 改准备专用的配置接口,从而节省了面板的空 间。最后,由于使用通用的Flash M ̄-nory存储 FPGA配置数据,使用普通的CPLD做控制逻 辑,从而避免了使用价格昂贵的专用PROM,降 低了成本。因此,具有较好的实用价值。 参考文献: [1 Using a Microprocessor tO Configure Xilinx FP一 855 维普资讯 http://www.cqvip.com
GAs via Slave Serial or SelectMAP Mode,June, [33 Am29LV017B Data Sheet,July 2003. 2OO2. [43 A CPLD-Based Configuration and Revision nag- [2]Wade D.Peterson,The VMEbus handbook, el'for Xilinx PLatform FIash PROMs and FPGAs VFEA International TradeAssociation,1991. January,2005。 The Design and Implementation of VME-based FPGA on-line configuration in Slave Serial Mode WEI Shu-j an,IJU Zhen-an,ZHAO Di-xin,GUO Ya-nan (Institute of High Energy Physics,China,100049) Ahstr ̄t:历e paper introduces the hardware design and work principle of FPG owlnie configuration. Firstly,we put the FPGA configuration data tO a Flash Memory chip through伽bus;when the mod- tile is power on or received a ocnfiguration command from vM叵bus。t}le system begin tO corfigure t王le FPGA from Flash Memory.In addition,the configuration adta carl also keep in a PC terminal,and not in Flash Memory,when necessary,which can be send tO F】 GA directly tO perforlTl hte configuration. Key words:Slave Serila Mode,FPGA,Flash Memory,CPLD (上接第838页,oCntinuedfrom page 838) 社,1998.8. 参考文献: [4-3周立功,等.深入浅出ARM7一LPC213x/214X[M]。 It]王芝英.核电子技术原理[M].北京:原子能出版 北京:北京航空航天大学出版社,2005.11. 社,1989. [5]周立功,等.ARM7嵌入式系统基础教程FM].北 [2]康华光,等.电子技术基础(模拟部分)[M].北京: 京:北京航空航天大学出版社,2005.5. 高等教育出版社,1999.6. [63胡宾鑫,等.一种新型现场多道核能谱数据采集系 [33贾文懿.核地球物理仪器FM].北京:原子能出版 统的设计[J].信息与电子工程,2004,2(2):129. Development of the a-ray spectrum instrument based on ARM ZHANG Guo-hua ,YUAN Zhong-fan ,GENG Bo。,WANG Min。 (1.School of Manufacturing Sci.and Eng.,Sichuan Univ.,Chengdu of Sichuan Prov.610065,CKTla; 2.Research Instiutte of Nuclear Power Operation,Wuhan of Hubei Prov.430074,China ̄ 3.College of Applied Nuclear and Amomation B1gi=neerirlg,Chengdu Univ. of Technology,Chengdu of Sichuan Prov.610059,China) A i臼 t:On the basis of the hteory in measuring radon,the late-model ocllection chamber and pulse peak hold circuit have been designed successf 【y.Based on the ARM7 core,the system of adta processign and control can improve automatic lever and work stably either in dynamic or in static state This instrument laso has 80me functions such as parameter setting,clock settign,data real time displayign,saving,in- quiring,data uploadign and SO On. Key words:instrument for radon measurement peak hold circuit;删;LPC2134 856