一种基于一种基于FPGA的在线程序升级方案的在线程序升级方案
介绍了一种基于XILINX FPGA的在线程序升级方案,该方案不需要额外增加器件,在不改变硬件状态的前提
下,实现产品的软件功能升级。由于对配置芯片(PROM)的所有操作均由FPGA的内部逻辑实现,故此方案具
有良好的移植性和扩展性。
0 引言引言
本文的研究课题是基于一种已应用在某型号上的弹载测试设备,因总体要求有变,需要对出厂后的产品功能进行升级。由
于此类产品在出厂前都需要进行特殊的工艺处理,产品交付后不具备开盖重复烧录程序的条件,且根据型号研制要求,弹上设
备在完成系统匹配试验和综合试验后禁止拆卸维修,因为设备拆卸后,状态遭到破坏,前期进行的各项试验需要重新评估,影
响到型号研制进度。为解决这个难题,本文提出了一种在线程序升级方案,在不破坏产品硬件状态的前提下,利用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。
评论1
最新资源