FPGA在产品设计中具有广泛的用途。雷海精卫系列板卡使用FPGA进行雷达信号的采集、处理、信号传输,但是FPGA升级程序一般使用编程器直接升级,在远程维护中必须现场维护,大批量部署时维护成本高。使用网络对FPGA程序远程升级,可以降低差旅和维护成本。
FPGA程序有多种加载方式,常用方式为以下两种:
1、FPGA程序烧写到板载FLASH中,板卡上电时从Flash中加载程序;
2、FPGA程序放到CPU中,板卡上电时由CPU主动加载FPGA程序。
第二种方式中更换FPGA程序灵活,但是必须有联网的CPU支持。在雷海的雷达数据采集卡产品中,并未包含CPU模块,为使技术具有通用性,雷海相关板卡中采用了第一种方式加载FPGA程序,即FPGA程序存储在Flash存储器中,上电时由FPGA主动加载程序,升级程序时也由FPGA对Flash的程序进行升级。
雷海精卫系列板卡具备从以太网升级Flash中程序的能力,系统框图如图1所示。FPGA通过RGMII接口接收以太网数据包,由FPGA内部的UDP协议栈模块进行数据接收,收到的数据由Picoblaze处理器进行数据处理,同时由Picoblaze对SPI Flash进行操作。Picoblaze是Xilinx公司提供的一个小型8位处理器内核,使用汇编进行编程,可以非常方便的嵌入到Verilog代码中。
雷海提供了一个FPGA网络升级软件,软件界面如图2所示。软件中可以对FPGA的程序进行擦除、编程、校验、读取、写保护操作。
在程序升级过程中,由于Flash芯片中的程序已经被擦除,因此升级过程中板卡不能断电,否则上电时FPGA无法启动。如果遇到中途升级失败,可以再次运行软件即可。

