以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx

上传人:lao****ou 文档编号:796552 上传时间:2024-05-26 格式:DOCX 页数:9 大小:113.93KB
下载 相关 举报
以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx_第1页
第1页 / 共9页
以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx_第2页
第2页 / 共9页
以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx_第3页
第3页 / 共9页
以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx_第4页
第4页 / 共9页
以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx》由会员分享,可在线阅读,更多相关《以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍.docx(9页珍藏版)》请在第一文库网上搜索。

1、以F1ash控制器为核心的FPGA在线更新功能实现设计流程介绍0引言近些年来,由于其灵活可配置性及成本的降低,现场可编程门阵列(Fie1dProgrammab1eGateArray,FPGA)在嵌入式系统中应用越来越广泛,不论产品的初丽发或是后期维护都丽漉免扁砺痛新FPGA程序。传统的JTAG方式更新FPGA程序的方式是通过开发软件将需固化的文件写入NorF1ash器件。当系统很复杂且需要更新的FPGA数量较多时,JTAG方式更新FPGA程序则费时费力且还需拆结构。若在FPGA内部通过逻辑代码搭建一FIaSh控制盎实现对F1ash器件的读写操作,即可并行实现系统内每片FPGA对配置文件的在线更

2、新,大大缩短程序固化时间。本文依托于XiIinX公司的FPGA和SPaSiOn公司的NOrF1ash,详细介绍了FIaSh控制器设计和在线加载功能的实现方法。1 FPGA配置方式以XiIinXVirtex6系列FPGA为例,对配置文件的加载方式有串行F1ash并行FIaSh、JTAG方式等,其中最常用的是并行FIaSh方式(BytePeriphera1InterfacePara11e1F1ashMode,BPI),其配置模式如图1所ZJ0Virtex6FPGAParra11e1NorF1ashD15:8Afn:01CSI_BOE_B怛BD15:81D7:0ADDRn:0图1XiIinxFPGA

3、BPI模式示芯电一种实际的FPGA与NorF1ash硬线连接方式如图2所示。3.3VVCCVIO1V102RESET#ry/by#WE#WP#/ACCByte#凶CE*IXJ1OEt凶2DQ3AODQ4A1DQ5A2DQ6A3DQ7偿DQ8DQ9品DQ1OA8DQIIa9DQ12A1O以13A11DQ14A12DQ15A-1A13A14NC1ai5NC2iNC3A16NC4A17NC5A18NC6ai9NC72NC8A21:VSSA23VSSA24VSSA251PGA_CONFIG_RY/BYtt2.5VTI1PGA_C(WF1G_RESEr#FPGACONFIGWEN#FPGA_CONFIG

4、_DQOFPGACONFIGWEN#FPGACONFIGBYTE#FPGAqNFIG_DQIFPGACONFIGCHIPENttFPGA_C0NFIG_DQ2FPGA_CONFIG_OUTEN#FPGAa)NFIGDQ3FPGA_CONFIG_AOFPGACONFIGDQ4FPGA_CONFIG_A1FPGA_C0NFIG_DQ5FPGACNFTGA2FPGACONEICDQ6FPGA_C0NFIG_A3FPGA_C0NFIG_DQ7FPGACONFIGA4FPGA_C0NFIG_DQ8FPGA_C0NFIG_A5KPGA_C0NEIG_DQ9EPGA_CON1-1G_A6GAC0NFIG_D

5、Q10FPGA,CONFIGDQ11FPGA_C0NFIG_A7FPGACONFIG8FPGA_C0NFIG_DQ12FPGAC0NFTG,A9FPGA_CoNF1GJ)Q13F?PGA_CONF1G_A1OFPGA_C0NFIG_DQ14FPGACONFIGA1IFPGA_CCNFIG_A12FPGA_C0NFIGJ)Q15FPGACONFIGA13FPGACONFIGA14FPGA_C0NFIG_A15,FPGA_C0NFTG_A16FPGA_C0NFTG_A17FPGACONFIG.AIRKPGA_CONE1G_A19FPGA_C0NFTG_A20FPGA_C0NFIG_A21FPGA_

6、CONFIC_A22FPGACONFIG,A23JFPGA_C0NFIG_A24FPGA_C0NFIG_A25S29G101GP13FFIV10图2NOrFiaSh硬件电路原理也无论是通过JTAG方式还是通过软件操作实现程序更新,都是通过控制这些读写使能信号及地址线实现配置文件的写入,FPGA掉电重启之后再从F1ash取出配置数据从而实现加载。本文提出的FPGA在线更新程序的方式则是通过FPGA控制逻辑驱动F1ash的数据和地址,从而为多块FPGA并行更新程序的实现提供了前提。2 F1aSh控制器设计F1aSh器件的基本操作包括读、写、擦除等,这些操作都是通过向相应的命令寄存器写入特定的指令来

7、实现的,这些指令的写入通过操作与FPGA相连的片选信号(ce_n)写使能信号(wc_n)、读使能信号(oc_n)、地址总线(addr23:0)和数据总线(dq15:0)实现。以目前市场上常用的SPaSiOn公司的S29G1-P系列NOrF1aSh为例,通过FPGA实现的控制器外部接且如图3所示。f1ashconfigf1ash_config图3控制器外部接口示圭addr_begin:23:0datain15:0datasize15:0C1krst_ndatacount8:0addr23:0configstatus1:0data_reqCE_NWE_Ndq15:0其中,Start信号用于启动控制

8、器模块对F1aSh器件实现读写操作,在启动之前,须先告知F1ash配置文件大小和配置文件在F1ash存储空间的首地址;data_reqdata_in和rd_data_count信号用于与一前端FIFO实现数据交互,配置文件先缓存到FIFO,然诘由控制器负责取出并写入F1ash器件;config_status信号用于指示程序更新是否完成。该F1ash控制器按时间上的先后顺序分别实现了对F1ash器件的读ID、擦除和写缓冲操作,下面将分别进行简要叙述。每次对F1aSh进行基本的读写操作之前,会对F1aSh芯片进行读ID操作以检验器件的好坏,读ID涉及的主要操作为向特定寄存器写入相应的解锁指令,然后

9、再进行多操作读出相应的寄存器值,其时序图及读结果如图4所示。(J町一1-1U1Jm丽X虱瞄X蒯州X1i篇XWiiX蜘胱XwOfxOomXo而XOOAAXX90XOOIX227E乂砺)(加XOO丁您(OOR1Ru8UD-确认了芯片ID无误,即可进行正确访问,首先对F1aSh芯片进行擦除操作。FIaSh芯片擦除可分为两种:整片擦除和扇区擦除。由于实际使用时并未用到整块F1aSh存储空间,而是根据配置文件的大小选择合适的扇区大小存储配置文件,所以设计中采用的是扇区擦除方式,时序如图5所示。CEJOEJADDRO画XOOO55丁乂OOO2AXOOO355XOoO2k)(OOCOOOXWOoAA0055

10、X0080YOOAAX0055140030图5扇区将除操作时存留当成功写入擦除操作指令之后,芯片会进入一个较长的周期等待擦除操作的完成,该期间无法对芯片进行复位之外的其他操作。完成了擦除操作之后,即可向FIaSh写入配置数据,其对应的写缓冲时序如图6所示。3U1J1jU111UOuiIfr1HADADOfi丽Xo(IXOOOXX一XX1XX0OXOTHX00XMFO1MAXoO55XC5X)CXOoOIXOoo2XOOO3X-X您B6瓶作W明擦除和读写的过程中,地址将进行自动累加且起始地址可变。F1aSh的写操作可为单字写和缓冲写两种,由于缓冲写最大一次可向F1aSh写入32个字,为了最大化写

11、入速度,选择缓冲写方式;F1aSh的读操作分为单字读和按页读两种,由于F1aSh读数据速率较高且系统对读速率没有太高要求,本文选择单字读方式。3工程应用及性能测试以一实际项目工程为例,系统中具有10块FPGA进行程序更新,其在线加载功能系统架构如图7所示。远程计算机RthornptCPUPCTE/SRIOCEBWE_BOE_BNorF1ashCT皿1rTrUTJ1mJ11DHQ1)QXCi?XRSDkOT(图9Xi1inxFPGABP1模式加襄时序图考虑到若在配置过程中FPGA发生断电等异常,则F1ash中的配置文件损坏,FPGA将无法实现加载,需要重新使用JTAG方式烧写配置文件。为防止该种

12、情况发生,可分配F1aSh的一块区域用于备份配置文件,发生FPGA无法正常加载的异常时,可读取该备份配置文件实现FPGA再次正常加载,但前提是该部分F1ash存储空间预先固化了带有FPGA在线更新功能的程序。5结论本文利用FPGA逻辑设计了一款F1ash控制器,实现了FPGA在线更新功能,由于FPGA直接操作FIaSh,因此相比传统FPGA程序更新方法具有更新速度快、鲤性电路精简、易于系统集成等优点,同时能够实现复杂系统多块FPGA并行更新程序,大大节省了程序固化时间,便于项目前期开发及后期排故调试。参考文献1 Xi1inxUG360,Virte-6FPGAconfigurationuserguideEBO1o201

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服