一种基于Nand Flash多版本程序的FPGA智能加载方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种基于Nand Flash多版本程序的FPGA智能加载方法刘剑;李赛辉;周邦华;雷丽丽
【摘要】主要介绍一种基于Nand Flash多版本程序的FPGA加载管理方法.采用大容量NandFlash与TCP/IP网络技术,实现了通用FPGA多版本配置程序文件的管理,并根据FPGA板卡在系统中的槽位号智能选择特定配置文件加载以实现特定系统任务功能.经工程实际验证,相比于传统加载FPGA配置文件方法,该技术能显著提高FPGA配置文件加载速度,增强FP-GA板卡在系统使用中的通用性和灵活性.【期刊名称】《雷达与对抗》
【年(卷),期】2015(035)003
【总页数】3页(P68-70)
【关键词】雷达;信号处理;FPGA;Nand Flash;多版本配置文件;智能加载
【作者】刘剑;李赛辉;周邦华;雷丽丽
【作者单位】中国船舶重工集团公司第七二四研究所,南京211153;中国船舶重工集团公司第七二四研究所,南京211153;中国船舶重工集团公司第七二四研究所,南京211153;中国船舶重工集团公司第七二四研究所,南京211153
【正文语种】中文
【中图分类】TN911.7
一种基于Nand Flash多版本程序的FPGA智能加载方法
刘剑,李赛辉,周邦华,雷丽丽
(中国船舶重工集团公司第七二四研究所,南京211153)
摘要:主要介绍一种基于Nand Flash多版本程序的FPGA加载管理方法。

采用大容量Nand Flash与TCP/IP网络技术,实现了通用FPGA多版本配置程序文件的管理,并根据FPGA板卡在系统中的槽位号智能选择特定配置文件加载以实现特定系统任务功能。

经工程实际验证,相比于传统加载FPGA配置文件方法,该技术能显著提高FPGA配置文件加载速度,增强FPGA板卡在系统使用中的通用性和灵活性。

关键词:雷达;信号处理; FPGA; Nand Flash;多版本配置文件;智能加载
中图分类号: TN911. 7
文献标志码: A
文章编号: 1009-0401(2015) 03-0068-03
收稿日期: 2015-03-20;修回日期: 2015-03-26
作者简介:刘剑(1983-),男,工程师,硕士,研究方向:雷达信号处理;李赛辉(1984-),男,工程师,硕士,研究方向:雷达信号处理;周邦华(1984-),男,工程师,研究方向:雷达信号处理;雷丽丽(1982-),女,工程师,硕士,研究方向:雷达信号处理。

An intelligent loading method of multi-version FPGA programs based on Nand Flash
LIU Jian,LI Sai-hui,ZHOU Bang-hua,LEI Li-li (No.724 Research Institute of CSIC,Nanjing 211153)
Abstract: A loading method of the multi-version FPGA programs is mainly introduced based on the Nand Flash.With the adoption of the large-capacity Nand Flash and the TCP/IP network technology,the management of general multi-version FPGA configuration files is implemented.According to the slot number of the FPGA signal processing board,the specific configuration files are intelligently loaded to realize the specific functions.It is verified via the practical engineering that compared with the conventional loading methods of the FPGA configuration files,this method can improve the loading speed of the FPGA configuration files and enhance the generality and flexibility of the FPGA signal processing boards in the system.
Keywords: radar; signal processing; FPGA; Nand Flash; multi-version configuration files; intelligent loading
0 引言
目前,基于VPX架构的FPGA信号处理板卡广泛应用于雷达信号处理系统中。

同时,由于VPX架构的标准化也不断要求其内部的基于FPGA的信号处理板符合通用化、系列化、组合化的发展趋势,即要求在硬件不变的条件下,只需更新FPGA 的配置文件,FPGA信号处理板即可实现不同型雷达不同信号处理的功能。

因此,在通用VPX信息处理平台架构下的FPGA板卡程序智能加载与功能自动重构越来越成为通用性设计必须考虑的一个问题。

以往FPGA程序的调试及加载一般采用各FPGA厂商推出的专用下载器或者小容
量的PROM。

采用下载器不但价格昂贵,而且对使用环境要求高。

加载程序时需
要在本地将下载电缆的一端直接与FPGA相连接,另一端通过USB接口与PC连接。

一旦FPGA板卡装入机柜后再修改或升级FPGA程序,其加载过程变得极为
麻烦,需要打开机柜连接下载器才能实现程序的更新。

在产品工程的研制调试阶段,此过程极其耗时且效率低下。

采用PROM加载通用FPGA信号处理板方式,由于只存储单一程序的配置文件,一旦加载后只能实现一个特定功能,不同功能模块之间不能直接进行互换。

为此,本文介绍一种基于Nand Flash多版本程序的FPGA智能加载的方法。

工作在VPX信息处理平台中的FPGA信号处理板通过网络接收FPGA配置数据文件,并且将多个版本FPGA配置文件写入到板载的大容量Nand Flash储存器相应分区中。

在ARM微处理的控制下,根据FPGA板所在VPX处理平台的槽位号选择相
应的配置文件实现FPGA程序的加载,以实现FPGA信号处理板不同功能模块的
自动选择与程序重构。

1 FPGA智能加载硬件实现
基于VPX架构的雷达信号处理机一般由FPGA处理板、PowerPC板、交换板组成。

图1为VPX架构信号处理机一般组成。

各个槽位的FPGA信号处理板完成各自的功能,并且相互协作实现系统功能。

在以往采用PROM加载通用FPGA信号处理板方式,只存储单一程序的配置文件,只能实现一个特定功能,即槽位1的FPGA信号处理板只能实现功能1,槽位2的FPGA信号处理板只能实现功能2。

这样FPGA信号处理板之间不能互换,不符合FPGA信号板模块化、通用化的发
展要求。

而基于Nand Flash多版本程序的FPGA智能加载技术可以解决这一问题。

利用Nand Flash存储所有功能的配置文件,加电时根据槽位号选择相应的配置文件加载FPGA实现所需功能。

这样FPGA信号处理板不再区分槽位,不能实现功
能模块的互换。

FPGA智能加载硬件主要由微处理ARM、大容量Nand Flash构成,其系统框图
如图2所示。

微处理ARM采用TI公司TM4C129X微处理负责与上位机数据交换、Nand Flash读写、智能加载FPGA等操作。

Nand Flash采用Micron公司
MT29F4G,其内部集成SPI控制器,简化用户对Nand Flash读写操作。

图1 基于VPX架构信号处理机
图2 智能加载硬件系统框图
2 FPGA智能加载软件开发
2.1微处理ARM软件设计
通用FPGA信号处理板上的微处理器ARM运行在μCOS-Ⅱ实时操作系统,同时
将ARM的网络端设置为服务器端。

为保证系统内的各种任务实时调度,本设计采用uC/OS-II操作系统,其软件设计步骤如下:
(1)采用TCP/IP网络协议,计算机通过网络将多个版本的FPGA配置文件发送给
微处理器ARM。

微处理器根据网络数据包中的特定信息判断该数据包是否发送给自己,如不是则丢弃该数据包,如是则接收该数据包。

由于采用TCP/IP协议,保证了计算机与信号处理板上的ARM间网络传输数据的高可靠性。

(2)微处理器ARM接收到FPGA的配置文件后,擦除Nand Flash中相应Page的
内容,然后微处理器将所接收的FPGA配置文件数据写入到Nand Flash中,同时返回计算机一个确认数据包,告知计算机该数据包已写入Flash中。

(3)配置文件写入完成后或者FPGA处理板加电后,微处理器ARM读出FPGA板
卡自身所处在通用信号处理平台的槽位号。

根据槽位号与FPGA配置文件映射表,微处理器ARM从Nand Flash中读取出相应的FPGA配置文件。

(4)微处理器ARM将FPGA的PROG_B管脚拉低,启动配置过程。

PROG_B拉低,FPGA开始清除自身内部RAM,在这过程中FPGA把INIT_B引脚配低。

当RAM 清除完成后,INIT_B引脚变高。

微处理器ARM监测INIT_B管脚。

当该引脚变为高电平后,微处理器将相应的配置文件送至FPGA的DIN管脚,同时配置时钟送
至FPGA的CCLK管脚。

在这过程中,微处理器监测FPGA的DONE管脚,如果DONE管脚为高电平则说明FPGA加载成功。

如果DONE为低电平,则重复步骤(4),直至FPGA加载成功。

加载过程如图3所示。

图3 加载流程图
2.2基于.NET客户端设计
上位机客户端主要由目标板卡枚举模块、配置文件传输模块组成。

图4为客户端
界面。

图4 客户端界面
目标枚举模块主要完成通用信号处理机箱内当前在线FPGA信号处理板的枚举。

客户端向信号处理板广播约定网络数据包,信号处理板则返回一个相应的数据包。

客户端根据此数据包判断当前通用信号处理机箱内的FPGA信号处理板。

配置文件传输模块主要完成客户端与信号处理板之间的数据交换。

客户端向信号处理板的ARM发送配置文件数据包。

ARM收到数据包后将该数据写入到Flash的
相应分区,之后ARM返回数据确认包。

客户端收到该确认包后继续发送配置文件数据包直至发送结束。

3 试验结果
客户端软件实现对配置文件的远程传输。

在图4中,单击系统配置后点击浏览文
件按钮,选择配置文件,相应的槽位号。

点击写入文件按钮,客户端开始将配置文件传输给微处理器ARM。

客户端状态栏显示当前传输的进程。

在实际工程试验中,FPGA信号处理板利用客户端存储多个配置文件后,FPGA板都能智能加载配置文件以此实现所需的功能,满足FPGA信号处理板通用性的要求。

4 结束语
本文介绍通用FPGA信号处理板远程存储多版本程序的配置文件,并且根据槽位
号选择特定配置文件加载以此实现特定功能的实现方法。

经过实际工程应用,FPGA信号处理板能够根据槽位号加载并实现特定功能,符合雷达信号处理板通用性的发展趋势。

参考文献:
[1]Xilinx.User Guide: 7 Series FPGAs Configuration [R].USA: Xilinx,2013.
[2]Xilinx.Application note: using a microprocessor to configure Xilinx FPGAs[R].USA: Xilinx,2002.
[3]陈达军,严勇,陈钟荣,肖稳安.uC/OS-II及其在ARM微处理器上的移植
与应用[J].南京气象学院报,2006(2).
[4]朱伟,王广君.基于ARM的嵌入式系统中从串配置FPGA的实现[J].仪表技术,2007(5).
[5]缪云青,李永刚.FPGA器件在嵌入式系统中的配置方式的探讨[J].微计算机信息,2006 (11).
[6]董宏成,魏杨.基于ARM和NAND Flash的FPGA加载配置在TD-LTE中的实现[J].电子技术应用,2012(7).。

相关文档
最新文档