摘 要: 介绍了一种基于XILINX FPGA的在线程序升级方案,该方案不需要额外增加器件,在不改变硬件状态的前提下,实现产品的软件功能升级。由于对配置芯片(PROM)的所有 *** 作均由FPGA的内部逻辑实现,故此方案具有良好的移植性和扩展性。
0 引言
本文的研究课题是基于一种已应用在某型号上的d载测试设备,因总体要求有变,需要对出厂后的产品功能进行升级。由于此类产品在出厂前都需要进行特殊的工艺处理,产品交付后不具备开盖重复烧录程序的条件,且根据型号研制要求,d上设备在完成系统匹配试验和综合试验后禁止拆卸维修,因为设备拆卸后,状态遭到破坏,前期进行的各项试验需要重新评估,影响到型号研制进度。为解决这个难题,本文提出了一种在线程序升级方案,在不破坏产品硬件状态的前提下,利用FPGA灵活的内部逻辑资源实现自身的软件功能升级。
1 应用背景随着内部资源的日趋丰富以及可重复配置的优势,FPGA在测试设备中担任了重要的角色,实现的功能也日趋复杂化和多样化,对产品功能实现重配置的应用需求也在日益加大。产品功能重配置是在不改动设备硬件状态的前提下,通过更新FPGA的程序文件,达到产品功能更改及升级的方法。目前主流的应用方案是使用MCU(或DSP)+存储芯片的架构[1],MCU负责存储芯片的读写,存储芯片作为FPGA的程序代码存储器,产品上电后,MCU将存储芯片中的数据读出,并按照特定时序(FPGA加载时序)发送到FPGA,此过程即为FPGA的数据加载流程[2]。此方案不适用于本文的研究课题,原因有二:首先,此方案需额外增加MCU和存储芯片两个芯片,印制板的布局难度加大,尤其对于本设备印制板上器件已经很多并无多余空间的情况更加明显;其次,软件的数量增多,增加了MCU软件后,出故障的概率也随之加大,由于MCU不仅需要对存储芯片进行读写 *** 作,还需要对FPGA的上电加载过程进行模拟,如果加载不成功,不仅产品的升级功能失败,产品的基本功能也随之失效,考虑到本产品的特殊应用场合,此方案风险较大,不宜采用。
本文采用的方案是在FPGA的内部构建功能模块,由该模块完成PROM芯片烧写所需要的相关 *** 作。在对产品进行软件升级时,该模块执行升级工作,不需要进行升级时,模块闲置,不发挥作用。该模块与产品的原功能模块独立运行,互不干涉。设备上电时,FPGA的程序加载流程仍由自带的PROM配置芯片自动完成。该方案既没有额外增加芯片,也没有额外增加软件个数,大大降低了出错的风险。
2 功能实现设备的系统连接框图如图1所示,设备通过RS-422接口与地面测控台连接,地面测控台通过网络通信接口与计算机连接。测试设备的主控芯片FPGA为XILINX公司的Virtex-4系列XC4VSX35芯片,PROM配置芯片型号为XCF32PFSG48C,存储容量32 Mbit[3]。
计算机通过网络接口将烧写文件发送到测控台,测控台通过RS-422接口将烧写数据发送到设备,设备通过RS-422接口向测控台反馈状态信息。下面分别从烧写文件的生成、测控台与设备的通信协议、FPGA与PROM的连接、FPGA软件设计4个方面进行阐述。
2.1 烧写文件生成
XILINX设计工具(PROMGen)可生成多种格式的配置数据文件,这些数据文件可以存储在PROM中,也可以存储在其他非易失性存储芯片中[4]。配置文件的常用格式见表1。
FPGA程序编写完成,经过ISE(ISE Design Suite 14.2)开发环境综合实现后直接生成.bit编程文件,该文件可由IMPACT工具通过编程器烧写到PROM中。.bit格式文件是二级制配置数据文件,包含了头文件数据,头文件数据中包含PROM的相关信息,用于控制PROM烧写过程,该格式文件适用于使用编程器烧写。.hex文件为ASCII码PROM文件格式,仅包含配置数据,不包含头文件等信息,可使用PROMGen或iMPACT工具生成,.hex文件为本文采用的文件格式。
2.2 设备通信协议
测控台与设备通过RS-422连接,采用异步串行通信,波特率为921.6 kb/s,8 bit数据位,1 bit奇校验,1 bit停止位。对于RS-422的物理层通信,采用无校验的方式。发送与接收采取数据帧传输,表2以测控台发送的数据帧为例说明。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)