基于VXI接口的FPGA重配置技术

时间:2022-05-31 07:51:31

基于VXI接口的FPGA重配置技术

摘要:随着嵌入式系统的流行,许多系统设计者要尽量减少系统组成的复杂程度并且提高整个系统的升级弹性。为了同时达到这两个目标,系统可以使用微机对FPGA器件进行配置。该设计实现了微机对Xilinx公司的Spartan系列和Vertex系列的FPGA重配置。

关键词:配置;VXI接口;FPGA;嵌入式系统;升级弹性;设备配置

中图分类号:TP273文献标识码:A文章编号:1009-2374 (2010)13-0092-02

当今的系统要求在更小的空间和更少的成本上实现更多的功能。虽然闪存PROM平台为Xilinx FPGA的配置提供了一个易于使用解决方案,但是嵌入式处理器的配置解决方案可以实现更高级的FPGA配置应用,并减少电路板的物理空间。

一、系统概述

本设计采用微机对FPGA进行配置,可以根据需要对目标器件再配置。设计组成主要包括:微机、VXI接口、存储空间、配置逻辑。系统框如图1所示。

二、配置流程

Virtex和Spartan系列FPGA在实现微机配置的设计中,常用的主要模式有Master Serial、Master SPI、Master BPI-Up、Master BPI-Down、Master SelectMAP、JTAG、Slave SelectMAP、Slave Serial等几种方式。这几种模式有很多类似的地方,尤其是配置流程都是一样的,大致可以分为四个阶段:器件上电(器件内部状态机复位,器件被激活)、器件初始化(器件内部配置存储器被复位)、配置下载(配置逻辑读取并接收配置数据)、完成配置。本设计主要讲解了Slave SelectMAP配置方式的实现。

三、配置方式

SelectMAP配置方式只在每个配置时钟上升沿时,将当前数据线上的一次配置数据下载到目标器件。此配置方式有两个外部控制信号:CS_B(片选信号)和RDWR_B(读写选择信号)。当配置数据下载至目标器件时,这两个信号应该被拉低。当配置时钟够快时(比如对Virtex系列配置时,配置时钟高于50MHz),应该对BUSY(指示配置数据下发成功与否的握手信号)进行监测,这样才能保证配置数据的正确下发。如果BUSY拉高,说明前一次配置时钟的数据没有下载成功,应该重发上一次配置时钟的数据。

四、配置文件

(一)数据格式

因为配置数据是通过上位机发送下来的,所以数据格式应该是上位机所能支持的,为了支持不同的解决方案,Xilinx工具能生成许多不同的数据格式的配置文件。常用的有如下几种:bit配置文件(包含不需要下载到目标器件的头文件信息)、bin配置文件(不包含头文件信息)、hex配置文件(只包含配置数据)等。

其中bin配置文件包含了三个部分信息:配置数据线宽度自动检测字、同步字、配置数据。本设计采用SelectMAP配置方式,应该有且仅有这三个部分的信息,所以我们采用bin配置文件。

(二)字节变换

就数据排序而言,相比于SelectMAP而言,Serial配置方式是比较简单的,只需从数据的第一个比特开始一直发送到最后一个比特。SelectMAP方式中配置数据在每个配置时钟的上升沿时被读入,而且每个字节的最高位放在配置数据线的最低位上,而不是配置数据线的最高位上。因为这样非传统的数据排序,导致bin文件里的数据排序与配置数据线的高低位不一致。因此文件的数据排序需要字节变换之后再下发到目标器件中。本设计中使用的bin文件,在生成时就已经进行了字节变换,所以可以直接使用。

五、VXI接口

VXI总线是一种完全开放的,适于多供货厂商环境的模块式仪器行业规范,它是为适应测量仪器特别是自动测试系统从分离结构发展为更为紧凑的模块式结构的需要,而推出的一种新的总线标准。

VXI接口的设计主要包括:总线译码逻辑、寄存器操作逻辑、中断控制逻辑、单片机接口逻辑。本设计中VXI接口在Spartan1400an内部实现,除了能在器件配置中起作用,还可以结合需求完成更多的应用。如作者参与的矢量信号分析仪中,此接口完成数据上传和命令下发。

六、配置状态机

为了方便结合VXI接口的控制,存储空间使用Spartan-1400an内部的FIFO。考虑到配置文件较大,片内FIFO空间有限,所以把配置数据分批下发到目标器件里。本设计采用宽度16比特,深度4096的FIFO。

配置状态机的设计分为如下状态:Idle、Prepare、Wait、Operation、Success、Delay、End.

Idle:状态机初始状态;

Prepare:状态机准备状态;

Wait:状态机等待状态,等待微机发送配置数据。其中,start表示微机开始将配置数据写入FIFO,ok表示微机写FIFO结束。这两个信号都是通过VXI接口从微机下发而得;

Operation:状态机操作状态,实现配置数据的下发;

Success:状态机单批次配置数据下发成功,通知上机此批次数据下传结束,并向上位机要求新批次数据;

Delay:状态机延迟状态;

End:状态机结束状态,表明配置数据已经全部下发完毕,并通过对器件DONE(指示配置数据是否下发正确的信号,高有效)监测,将是否配置成功的信号上传至微机,供微机监测处理。

当状态机收到start信号,状态机进入Wait状态,等待微机写FIFO结束。当状态机收到ok信号时,说明微机已经完成的写FIFO的过程,状态机可以从FIFO里读取配置数据并下传到目标器件。

为了保证配置数据的全部下传,状态机里使用了两个计数器,分别用于对单批数据量的计数(counter1)和对总配置数据量的计数(counter2)。其中,counter1最大值与FIFO深度一致,counter2最大值与配置文件深度(总数据量除于数据宽度)一致。在Operation状态里,总是先对counter2进行比较,如果counter2的值已经达到配置文件的大小,则状态机直接进入End状态,否则继续执行状态机。配置状态机如图2所示:

七、结语

本设计在作者参与的VXI矢量信号分析仪项目中得到了实现与应用。结合微机上层软件控制,实现目标器件的重配置,实现了高级的配置应用。

参考文献

[1]陈光ネ禹.VXI总线测试平台技术[M].成都:电子科技大学出版社,2001.

[2] IEEE Standard For VMEbus Extensions For Instrumentation:VXIbus[S].IEEE std,1993-09-20 Published by IEEE.

[3] VMEbus Extension For Instrumentation:VXIbus system specification VXI-1.Revision:1.4[M].1992.

[4] IEEE std 1014-1987,IEEE standard for a versatile backplane Bus:VMEbus(ANSI)[S].

[5] IEEE std 488.1-1987,IEEE standard digital interface programmable instrumentation(ANSI)[S].

[6] Sam Tsai(蔡胜贤)著,奚全生译.基于VXI总线系统的高速数据采集[J].国外电子测量技术,1994,(3).

[7]史兰明著,高明 译.从仪器设计者的观点看VXI总线[J].国外电子测量技术,1992,(2).

[8] Ron Wolfe,Instrument Drivers for VXI Systems,1992.

[9] National Instruments,Lab windows/cvI standard Labraries Reference Manual[S].1994.

作者简介:陈志堂 (1984-),男,四川成都人,电子科技大学空天科学技术研究院硕士研究生,研究方向:数字信号处理。

上一篇:浅谈粮食黄曲霉毒素检测中样品的采集 下一篇:变电站自动化系统设计分析