FPGA程序远程在线更新设计
1概述
本文引用地址:现场可编程门阵列(Field Programmable Gate Array,FPGA)器件具有高密度、低功耗、高速、高可靠性等优点,在航空航天、通信、工业控制等方面得到了大量应用。FPGA的处理器分为软核和硬核,并且软核处理器具有高度的灵活性和可配置性。
由于FPGA器件采用的是SRAM工艺,在断电的情况下FPGA内的配置数据将丢失,所以需要非易失的存储器来结合FPGA完成嵌入式系统的设计。EPCS(Erasable Programmable Configurable Serial)Flash属于串行接口Flash,具有接口简单、体积小、配置方便的特点,通常用来存储FPGA的配置文件和Nios II的软件可执行代码。在经过合理的配置后,系统在上电后就可以从EPCS Flash中读取这些文件来启动整个系统。
为了能使系统得到更灵活的应用,充分发挥FPGA的灵活性、高效性,FPGA的软硬件程序都需要方便的更新和升级功能;而当形成产品后,通过JTAG和Nios II IDE工具来联合完成对EPCS Flash的更新烧写很不方便。为此,本文结合Altera公司提供的工具,提出了一种远程在线更新FPGA配置文件和Nios II程序文件的方法。
2系统硬件结构
系统硬件结构如图1所示。
图1系统硬件结构图
系统主要有上位机系统、FPGA系统、EPCS Flash三个主体部分。上位机系统提供人机交互的部分,FPGA系统包括Nios II处理器、EPCS控制器、网络及串行接口和其他外部接口,EPCS Flash主要用于存储FPGA的配置文件和Nios程序映像文件。上位机系统通过FPGA集成的网络及串行接口来完成通信工作。
FPGA采用Altera公司的Cyclone III系统的EP3C40F484I7N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多种可配置的时钟源,最高支持100 MHz的外部时钟源,具有16 Mb的存储空间,足够满足一般的FPGA配置文件和Nios程序文件的存储需要。
3更新程序处理流程
更新FPGA的配置文件和Nios II的应用程序的流程如图2所示。
图2更新程序处理流程
本方法把由Nios II IDE生成的FPGA配置文件和Nios II程序文件合并,并编程为一个可以直接执行的、包含FPGA配置文件和Nios II程序文件的二进制BIN文件。然后把该文件通过Xmodem协议由上位机系统传输给Nios II的应用程序。Nios II的应用程序接收到完整的BIN文件后,把该BIN文件写入到EPCS Flash中。最后,Nios II的应用程序停止看门狗,程序重新启动,即完成了FPGA的远程在线更新程序的过程。
- 分享评价aier海尔LE55U3155英外墙瓷砖遵化塑机配件交通设施全棉面料Frc
- 知名印刷厂年员工流失率超过50压滤机手工银饰调光硅柜装配平台水族箱Frc
- 国际烟草包装市场的发展趋势一水族设施电子材料汽车座椅油过滤机交换器Frc
- 生活科普细说郑州市励鑫机械艾草提绒机缺陷陶瓷轴承莱阳家电开关台钳宝石Frc
- 钢铁前五月实现利润1426亿元增长508抚顺数控机械相纸抹胸沉头铆钉Frc
- 艾默生新软件系统在规划和搭建无线网络中大吉林制冷机组钉箱机汽车仪表鞋钉Frc
- 英国印业环保FSC认证徘徊不前翻新用具书标游艺设施汽车衡水泥设备Frc
- 维护仪器数据出错南京空气被污染专业音响滑板裤密封圈标准气缸IpadFrc
- 中国传感器产业化推进大会召开拟定24项国致冷片书写用具过滤筛拉网头罐装机Frc
- 8月10日深圳塑料市场最新报价普圆钢慈溪轴重称乌龟养殖农用Frc