当前位置:首页 期刊杂志

基于动态部分重配置技术的自动测试系统研究

时间:2024-05-04

(上海航天电子有限公司,上海 201800)

0 引言

测控应答机的自动测试系统经常需要使用现场可编程门阵列(field programmable gate array, FPGA)进行数据调制/解调、数据编码/解码、接口通信等操作,而且不同类型的测控应答机之间的测试需求存在着较大的差异,这就需要测试系统的FPGA根据不同的测试需求运行不同的程序。一般的解决方案是,测试人员临时关闭测试系统,下载或烧写需要的程序,然后开始新的测试过程。如果资金充裕,也可以针对不同的需求设计多套测试系统。但这样的解决方案存在以下弊端:

1)测试功能的更改需要测试人员介入,且需要关闭测试系统,不利于自动化测试功能的实现。

2)如果同时使用多套测试系统会大大增加硬件成本,并增加系统的设计复杂度。

为了提高测试系统的自动化程度,就需要自动测试系统具备在线可重配置功能。根据测试任务的不同,由软件控制或更改系统中的FPGA程序。为了实现在线可重配置功能,往往需要再增加额外的FPGA配置电路,但这将占用大量的PCB面积,不利于系统集成度的提高。而如果将不同从测试功能同时集成于FPGA中,又会大大增加FPGA的资源占用率,很可能超出FPGA的可用资源。

而动态部分重配置(Dynamic Partial Reconfiguration,以下简称DPR)技术则可以很好地解决以上问题。

1 DPR技术原理

DPR是一种动态修改FPGA逻辑模块的技术。通过该技术,设计师可以在不影响其他逻辑正常运行的同时,下载部分重配置比特流到FPGA以实现不同的功能。DPR作为FPGA的一种新型配置技术,与传统的FPGA配置方式(如静态重配置技术、动态全局重配置技术[1])相比具有明显的优势,以上三种配置方式的技术特点对比如表1所示。

表1 FPGA配置方式技术特点对比

图1是采用DPR技术的FPGA内部资源示意图。

图1 部分重配置技术实现原理框图

FPGA的逻辑资源根据是否需要重配置可以分为两种:静态逻辑(运行期间不需要重配置)和动态逻辑(运行期间可重配置)。静态逻辑在运行过程中不能更改,而动态逻辑在FPGA运行过程中可根据需要进行动态修改。设计师在设计阶段可以在FPGA上划分出若干块固定的区域用于存放动态逻辑。这些区域可以在运行期间由外部或内部的配置端口注入不同的比特流,这样就可以使FPGA实现运行期间功能的动态切换[3]。

DPR技术可以有多种实现方式,如图2所示。部分重配置比特流既可以通过外部微控制器也可以通过内部微控制器(比如Xilinx公司的MicroBlaze以及Altera公司的NIOS II等嵌入式CPU IP核)写入到FPGA内部的可重配置分区,这就大大增加了DPR实现的灵活性。当使用内部微控制器方式实现时,理论上不需要增加额外的配置电路,这对于成本敏感或集成度要求较高的应用环境是非常合适的。

图2 部分重配置技术实现途径

DPR技术的这些特性极大提高了FPGA的设计灵活性。同时,DPR技术使FPGA能够具备实现类似软件函数调用的能力,在运行期间载入不同的功能模块就可以使FPGA实现不同的功能。通过该技术可以使FPGA硬件资源实现分时复用,也大大提高了FPGA资源的使用率。

将DPR技术引入到测控应答机自动测试系统中,将使自动测试系统具备以下优势:

1)提高测试系统的自动化水平。测试软件可以根据需要在线更改测试系统中FPGA的功能模块,而不需测试人员关闭自动测试系统手动下载程序。比如测试程序将BPSK调制/解调模块下载到FPGA中,就使自动测试系统具备了BPSK信号的调制/解调功能;而测试程序将FM的调制/解调模块下载到FPGA,就使自动测试系统具备了FM信号的调制/解调功能。

2)有效降低自动测试系统的硬件成本。DPR技术可以实现不同功能模块对FPGA的分时复用,且不需要额外增加配置电路。这样不仅节省了PCB面积,也可以用一块板卡实现以往需要多块板卡才能实现的功能。

3)使自动测试系统具备远程在线升级功能。自动测试系统的维护人员可以通过网络在线升级系统中FPGA的程序以便修复BUG或改善性能,这样就有效降低了系统的维护成本。

2 基于DPR技术的测试系统的结构与实现

该测控应答机自动测试系统采用了CPCI架构,主要功能是对测控应答机产品进行各种功能、性能测试,主要包括遥测量采集、遥控命令发送、开关量控制、工作状态监控等。

该自动测试系统的结构如图3所示,主要由3部分组成:可编程数字IO板(Programmable Digital IO,以下简称PDIO)、多功能后插板、数模转换板、主控计算机。

图3 测控应答机自动测试系统结构框图

PDIO板主要完成接口通信、数据采集、数据生成等功能,该板通过PDIO接口和高速IO接口与数模转换板和多功能后插板互连,进而与被测设备进行数据交换;数模转换板主要完成模拟/数字信号之间的转换,用于接收被测设备的射频信号或发送调制好的射频信号给被测设备,由PDIO板对数据进行调制或解调;多功能后插板用于与被测设备的低频模拟接口或数字接口互连,主要完成遥测量采集、遥控指令生成、开关控制、电源控制、低频模拟信号输出等功能;主控计算机主要进行接口控制和数据处理,其通过PCI总线与PDIO板连接。

该系统的核心组成部分是PDIO板。PDIO板从PCI总线上接收来自主控计算机的控制指令并根据指令控制PDIO接口,从而实现对被测设备的遥控指令输出、数字量输出、模拟信号输出等功能。同时PDIO板通过多功能后插板及数模转换板实时监控被测设备的工作状态、接收由被测设备发送的遥测信号和开关量信息,并将解调出的数据发送给主控计算机。

由于数模转换板是搭载在PDIO板上的,因此PDIO板需要为数模转换板预留尽量大的空间,这就要求PDIO板要有尽可能高的集成度。鉴于以上原因,PDIO板的所有主要功能全部集成于板载的一块大容量FPGA中。比如PCI协议及接口控制、PDIO接口控制、高速IO接口控制、调制/解调算法模块等。FPGA通过加载不同的配置比特流文件就可以实现不同的测试功能,以满足不同星上产品的测试需求。

但由于系统中的功能模块非常多加之FPGA资源的限制,无法将所有功能模块同时集成于FPGA中。为了实现自动测试功能,这就要求主控计算机软件能够根据测试需求,实时下载不同的功能模块到PDIO板中,同时不影响系统的正常运行。

比如,测试功能1中需要PDIO板实现BPSK解调,而测试功能2中需要PDIO板实现FM解调,但由于PDIO板载FPGA资源的限制,功能1与功能2无法同时放置在1块FPGA中,如果通过静态重配置技术或动态全局重配置方式实现在1块PDIO板上功能的切换,那就不得不手动关闭系统重新加载或者重新烧写配置比特流文件,但这样无法满足自动化测试的需求。在这种情况下就只能同时使用2块PDIO板才能满足测试需求,但这样就增加了硬件成本。而DPR技术就可以解决以上问题。

通过引入DPR技术使该自动测试系统具备了以下几点优势:

1)测试功能的实时切换。主控计算机软件可通过CPCI总线将DPR配置比特流文件直接下载到PDIO板的FPGA中,以实现不同的测试功能,同时不影响测试系统其他功能模块的正常运行,有效提高了测试效率和自动化程度。

2)远程在线升级功能。测试人员可以远端对测试系统的FPGA程序进行升级,降低了系统的维护成本。

3 DPR的设计

该自动测试系统的DPR实现原理框图如图4所示。DPR功能的实现主要由两部分组成:主控计算机和PDIO板。其中主控计算机存放着PDIO板实现不同测试功能的DPR比特流文件(文件扩展名为BIN);PDIO板载FPGA则事先在指定区域预留可重配置区域,当主控计算机软件将DPR比特流发送过来时,将这些配置数据注入以上区域中就可以实现指定的功能。

图4 DPR技术实现原理框图

从图4可以看出PDIO板主要由以下几部分组成:

1)大容量FPGA;

2)电流/电压监控电路;

3)配置FLASH;

4)高速IO接口电路;

5)PDIO接口电路;

6)可编程晶振;

7)大容量DDR内存颗粒;

8)电源控制电路。

其中:电流/电压监控电路用于实时监控被测设备的供电情况;配置FLASH用于存储FPGA的完整比特流文件(部分重配置比特流则存放在主控计算机中);高速IO接口电路用于与数模转换板互连;PDIO接口电路用于连接多功能后插板;可编程晶振为FPGA动态逻辑部分提供工作时钟,且可根据主控计算机指令动态调整工作频率;大容量DDR内存用于临时存放解调或调制数据;电源控制电路用于控制被测设备的加电。

在该设计中,PDIO板载FPGA内部逻辑资源主要划分为静态逻辑部分和动态逻辑部分。其中静态逻辑部分主要由CPCI接口模块和MicroBlaze[7-8]嵌入式模块以及运行期间不需要重新配置的功能模块组成。CPCI接口模块实现CPCI协议功能,并提供上位机与PDIO板的数据/控制通道;MicroBlaze嵌入式模块主要负责接收配置比特流、动态逻辑配置等功能。MicroBlaze嵌入式模块接收从CPCI接口模块传送来的DPR比特流,并将比特流数据进行缓存,随后通过硬件内部配置访问接口(Hardware Internal Configuration Access Port,以下简称HWICAP[4-5],该模块主要实现用户逻辑对FPGA内部配置资源的访问)下载到动态逻辑部分。由于CPCI接口模块和MicroBlaze嵌入式模块均放置在FPGA的静态逻辑区域,因此在进行部分重配置的时候是不会受到影响的,因此也就保证了上位机与PDIO板的数据交互不会因为PDIO板的功能切换而中断。

为了使PDIO板实现不同的测试功能,其板载FPGA的动态逻辑部分根据功能不同划分为3部分:高速IO接口DPR模块、调制解调DPR模块、PDIO接口DPR模块。高速IO接口DPR模块负责与数模转换板上的高速ADC/DAC进行数据交换;调制解调DPR模块负责对高速数字信号进行调制、解调操作;PDIO接口DPR模块负责对多功能后插板的各个功能模块进行控制及数据交换。这样划分的好处是可以针对不同的测试需求,将各个DPR模块进行灵活组合,提高测试系统的适应性。

以上3部分DPR模块在FPGA中的位置以及可使用的最大资源需要在设计前期约定好,且在系统运行期间不能修改。这些模块的配置比特流文件存放在主控计算机中,在运行期间由主控计算机软件将这些比特流文件注入到FPGA相应的可重配置区域中。

在主控计算机端,PDIO板DPR功能相关的数据端口被映射到了PCI总线的基地址寄存器(Base Address Registers,BAR)空间中。应用程序只需要将DPR比特流发送到相应寄存器中就可以将比特流数据发送给PDIO板载FPGA内的嵌入式系统里,再由嵌入式系统负责对指定DPR模块进行重配置。具体的实现流程如图5所示。

图5 DPR功能实现流程

从图5可以看出,DPR过程的实现主要分为2个阶段:设计阶段和配置阶段。

1)设计阶段。

该阶段主要是建立FPGA工程,并对不同测试功能所对应DPR模块进行划分、仿真、调试、编译,最后生成所需的各种功能的DPR比特流文件。在Xilinx FPGA开发环境中DPR模块的划分、编译等操作是在PR模式(Partial Reconfiguration)下进行的,利用VIVADO[2]提供的Partial Reconfiguration Wizard[2]向导功能可以很方便地对各DPR模块进行配置、编译。

2)配置阶段。

配置阶段主要分成两个步骤,分别在主控计算机和PDIO板上进行。

首先,当需要对PDIO板的测试功能进行功能切换时,主控计算机应用程序读取相应功能的DPR比特流数据,并通过PCI寄存器读写函数将DPR比特流数据写入到事先定义好的DPR寄存器中,PCI驱动程序会将这些数据通过PCI总线发送给指定PDIO板的PCI接口模块。

然后,PDIO板的CPCI接口模块将接收到的数据发送给一个双端口FIFO,该FIFO的另一端以AXI Stream总线的形式连接到MicroBlaze上。为核心的嵌入式模块中,MicroBlaze通过AXI Stream总线读取双端口FIFO内部数据,检测到配置比特流就将该配置数据写入到与之连接的HWICAP模块中。

最后,HWICAP模块重复以上步骤并不断接收来自上位机的配置比特流数据,一旦检测到比特流数据中的DESYNCH信号,则表示当前配置过程结束,此时HWICAP模块复位相应的DPR模块,完成当前DPR模块的配置过程。

4 实验结果与分析

该自动测试系统的开发平台及测试环境如下:

1)硬件平台:PDIO板载FPGA采用Xilinx公司的Artix7-200T。

2)FPGA开发平台:VIVADO2018.02。

3)主控计算机软件开发平台:LabWindows CVI 2013。

4)软件开发环境:Windows7 64bit操作系统。

5)CPCI的驱动程序开发环境:WinDriver11.6 64bit[6]。

图6是使用DPR模式的情况下,由VIVADO布局、布线后FPGA的资源分布情况。图6中的标号1、2、3、4分别对应了PDIO接口DPR模块、调制解调DPR模块、高速IO接口DPR模块和其他功能模块。其中标号1、2、3对应逻辑属于动态逻辑部分,该部分逻辑由主控计算机在运行期间根据测试需求进行注入,而标号4对应逻辑属于静态逻辑部分,在系统运行期间不改变。MicroBlaze嵌入式模块、CPCI接口模块等功能模块因为运行期间不需要更改,因此均放置在该静态逻辑部分中。

图6 DPR模式下FPGA布局、布线后资源分布情况

从图6可以看出静态逻辑区域与动态逻辑区域都在各自的范围内完成布局、布线。在实际测试中,主控计算机测试程序也可以完成不同部分重配置比特流的实时下载,完成测试功能的切换,且在切换过程中其他功能不受影响。

表2是DPR功能实现相关模块的FPGA资源使用情况。DPR功能实现相关模块是指为了实现DPR功能所使用的各个模块,不包括DPR模块本身(如调制解调DPR模块)。DPR功能实现相关模块包括MicroBlaze相关的嵌入式系统(本地存储器、AXI总线控制器、中断控制器、复位控制器等)、HWICAP模块等。从表2可以看出DPR功能实现相关模块所占用的FPGA资源是非常少的,因此基本不会影响其他功能模块的FPGA资源使用。

表2 DPR功能实现相关模块使用的FPGA资源

5 结束语

本文针对测控应答机自动测试系统的特点,将DPR技术引入到自动测试系统中,从而实现了自动测试系统中FPGA功能的实时切换。经验证,采用DPR技术的自动化测试系统可以有效提高系统中FPGA的资源使用率,对于降低硬件成本、提高自动化测试水平具有很好的促进作用。

同时,由于DPR技术的特点,使其在测控通信、软件无线电领域也具有很好的应用前景。该系统中的部分重配置设计方案经过适应性修改,也可以应用到星上及弹箭产品上,使产品能够具备硬件在线升级能力,因此具有很好的推广和借鉴作用。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!