陈世纯,杨 博2,雷 磊1,彭 炜1
(1.中国人民解放军武汉军械士官学校,湖北武汉430075;2.中国人民解放军国防信息学院,湖北武汉430010)
摘要:为了满足控制设备测试、维修和训练对测试设备的需求,设计了分布式装备测试与训练系统。对分布式合成仪器检测仪的结构及工作流程进行了详细地阐述。设计了以FPGA为核心的主控模块,以单片机为核心的通道选择、信号调理、激励信号产生等受控模块。经过系统的运行试验,表明系统运行稳定,系统设计合理、可行。
关键词:分布式;装备测试;ARM;FPGA
中图分类号:TP23 文章编号:1006 - 2394( 2016) 02 - 0014 - 05
0引言
控制设备测试是装备质量监控、保持装备技术状态和装备全寿命管理的重要环节,也是装备维修保障的必要手段。在装备维修、训练和教学过程中,专用设备不能满足多台不同型号的控制设备同时测试,多组人员同时进行操作、维修训练。
本文利用嵌入式技术与合成仪器技术,采用计算机、FPGA、ARM和单片机等搭建了分布式装备测试与训练系统,系统的测试部分可独立对控制设备进行测试,也可以群组共享式同时对多台控制设备进行测试,还可以通过终端进行操作、维修训练,这种灵活的使用方式在装备野战抢修、测试和教学中有更广阔的应用前景。
1 系统组成
分布式装备测试与训练系统的功能需求:检测两个系列5种型号的控制设备;对被测控制设备进行故障诊断及故障定位;进行专用检测设备模拟操作训练;控制设备故障排除训练;能对训练过程进行成绩评定。
分布式装备测试与训练系统组成如图1所示,系统由分布式合成仪器检测仪、训练与控制终端组成,系统的两个组成部分通过网络连接。分布式合成仪器检测仪由显示控制单元、测量单元和DC/DC模块组组成;训练与控制终端由计算机系统和软件组成;软件由信息显示、控制、故障诊断和训练考评模块组成。
2分布式合成仪器检测仪设计
分布式合成仪器检测仪的作用是对控制设备进行检测,它有独立工作和联网受控工作两种状态。独立工作时,对控制设备进行性能检测、显示检测结果,故障定位在电路板级别;联网受控工作时,在训练与控制终端的控制下,对控制设备的所有监测点进行测试,并将测试数据传输到训练与控制终端。
检测仪结构如图2所示。显示控制单元通过SPI连接到测量单元,完成控制测量单元执行控制设备检测程序,并对其传输回来的数据进行处理、显示检测结果与故障定位。
2.1显示控制单元
显示控制单元由Tiny210核心板、LCD和输入设备等组成。其中Tiny210核心板是一款高性能的Cor-tex-A8核心板,采用S5 PV210作为主处理器,运行主频可高达1 GHz;配有512 MB内存,2GB MLC闪存,完全满足运行系统软件对硬件的需求。使用JAVA语言开发基于Android系统的显示控制软件,软件由结果显示、故障诊断和控制模块组成。依据控制设备各电路板间的信号流向与信号之间的逻辑关系进行故障诊断与故障定位。控制模块采用两种格式的通信帧通过SPI与测量单元通信,采用CRC检验码进行通信差错校验。两种通信帧格式如图3所示,控制命令帧由起始、结束字,命令字、参数和CRC校验码构成。命令字包括测量、重构、数据直传、数据受控传输、停止、终止和重新执行等;数据传输帧由起始、结束字、数据字和CRC校验码构成。
2.2测量单元
将系统按照测试功能划分为一个主控单元和多个功能单元分别进行独立设计,主控单元通过简单的命令即可控制功能单元。这样设计的优点在于降低了系统设计的复杂度,便于调试,减少故障率。
测量单元结构如图2所示,由FPGA系统、A/D转换模块、信号调理通道、激励信号、接口单元和网络模块组成。信号调理通道包括A/D转换通道选择、模拟信号调理、调理电路通道选择、数字信号调理和通道控制模块;激励信号模块由条件信号和偏差信号产生模块组成。
FPGA采用ALTERA公司的Cyclone IV E FPGA器件EP4CE15F17C8N。测量单元采用基于Verilog的硬件描述语言进行编程设计,在FPGA内部构建各功能单元。其中SPI、UART、Timer和Memory controller等单元采用ALTERA公司的IP核设计。
流程控制是整个测量单元的控制调度单元,通过有限状态机来实现,主要负责驱动SPI、UART等接口对外部模块进行初始化与控制;调度DMA将SPI con-troller的数据直接传输至DSP;控制DSP进行与测试项目相对应的计算;控制测试结果数据的转存与传输;处理被测数字信号。Timer产生流程控制的流程节拍。有限状态机如图4所示,分为空闲、测试、SPI数据传输、Net数据传输和重置等待5个状态。状态码如表1所示。
由于被测控制设备型号较多,集中统一设计测试功能时,选用的FPGA器件资源不能满足设计要求,采用将测试功能分成两个系列单独设计,即可解决FP-GA器件资源不足的问题。因此测量单元设置FPGA重构电路,其由可控的上电复位电路和两片64MB的FLASH组成。
控制流程处于重构等待后,将要使用的功能系列的FLASH选通,控制上电复位电路重新上电复位,完成FPGA重构。
根据被测信号种类多的实际,测量单元设置了以AD7691作为转换核心的2组8通道的A/D转换模块,一组是以ADA4941为缓冲器的4通道单端输入转换器,另外一组是以AD8597为缓冲器的4通道差分输入转换器。AD7691是ADI公司的一款18位、电荷再分配、逐次逼近型模数转换器。A/D转换模块通过SPI与FPGA通信。
信号调理通道分为通道选择和信号调理两个部分进行设计。信号调理通道的控制模块是以SiliconLabs公司的C8051F020单片机为控制器,控制通道选择与信号调理。采用模拟开关、继电器和地址锁存器构成的交叉开关网络实现通道选择功能;继电器主要用于大功率信号与电源通道。由可编程分压网络、可编程信号放大电路和整形电路完成信号调理功能。信号调理通道通过UART接口与FPGA通信。
激励信号模块以Silicon Labs公司的C8051F020单片机为主控制器,控制分频、光电隔离、电平转换电路产生被测控制设备工作所需的状态、条件信号,方波、阶梯波基准信号;控制AD9854输出调频正弦波信号。AD9854数字频率合成器是一款高度集成的器件,采用先进的DDS技术,内置两个高速、高性能正交DAC,共同构成一个数字可编程I与Q频率合成器。激励信号模块通过UART接口与FPGA通信。
在信号调理通道和激励信号模块的主控制内,针对每一个测试流程设计相对应的控制过程。每个控制过程针对被测信号的特点,选择合适的通道,适当的调理过程及设置输出被测控制设备工作所需的各种激励信号。每一个控制过程的执行只受控于FPGA通过UART发送的控制命令,不需要其他外部条件。控制命令帧格式与图3的控制命令帧格式相同。
测量单元通过TCP/IP协议与训练与控制终端进行通信,TCP/IP协议数据包的数据部分采用如图3所示的两种通信帧格式,这样的好处在于减小流程控制设计的难度。测量单元通过解码器将TCP/IP协议数据包解析出数据部分。网络模块是以南京沁恒公司的CH395以太网协议栈管理芯片为核心设计的。
测量单元的测试状态流程如图5所示,左侧部分为测试状态工作流程,右侧部分为单项测试流程工作过程。流程控制受控进入测试状态时,执行如下操作:
(1)测试状态初始化。将从FLASH读取配置数据至SDRAM中,配置数据包括流程数量、DSP配置数据和外部模块(通道选择和激励信号模块等)配置数据。
(2)执行第一项测试流程,测试被测控制设备,直到此项测试流程结束。
(3)判断此项测试流程是否报错,如果报错,解析出报错的错误码,并发送至控制设备。状态码设置为“0”,退出测试状态;如果没有报错则继续。
(4)判断是否是测试流程的最后一项,如果不是,继续执行下一项测试流程,直到所有测试流程完成。
(5)发送问询命令给控制设备,判断是否进行数据直接传输,如果不是数据直接传输,状态码设置为“0”,退出测试状态;是直接数据传输依据控制设备种类选择通信通道。
(6)如果是SPI直接数据传输,状态码设置为“2”,退出测试状态;如果不是,状态码设置为“3”,退出测试状态;测试状态结束。
单项测试流程工作过程如下:
(1)读取配置数据。从SDRAM中读取此项测试流程的配置数据,配制数据包括A/D芯片配置数据,通道选择、激励信号控制命令数据,DSP配置数据(电压变换比例、采样点个数和数据处理方式等)。
(2)配置模块
a.依据配置数据通过SPI controller设置AD7691工作在单片、四线有繁忙指示模式;
b.通过UART传输设置通道选择控制命令,控制通道选择控制器执行以下过程:
依据被测信号交、直流特性,控制器选择合适调理电路通道,将其分配至对应的模拟信号调理通道;依据信号幅值大小等特征,对可编程调理电路进行设置,使得输出信号电压为A/D转换的最佳输入电压;依据信号的模式控制A/D转换通道将调理后的信号分配至共模和差模转换器;
c.依据当前测试流程,控制激励信号模块选择对应通道和产生相应的激励信号;
d.将DSP配置数据写入DSP工作条件寄存器内,工作条件包括采集点数量、电压范围、变比、处理样式(峰值、有效值)等。
(3)判断流程(2)执行过程是否有错误。如果有错误,报错,结束此次测试流程;如果没有继续执行。
(4)启动A/D转换,开始采集数据;启动I/O检测,检测频率、数字状态等;启动DMA将A/D数据直接传输至DSP;启动DSP开始数据处理,将数据处理结果存储至数据寄存器内。
(5)等待DSP数据处理结束标志,如果等待超时,执行报错,结束此次测试流程;如果没有继续执行。
(6)将数据寄存器内的结果数据转存至SDRAM的结果数据区;结束此次测试流程。
3训练与控制终端设计
训练与控制终端的作用是:控制分布式合成仪器检测仪;显示测试结果,故障定位在功能电路级别;专用检测设备模拟操作训练;控制设备故障排除训练;成绩评定。
训练与控制终端软件结构如图6所示,使用C#语言开发训练与控制终端软件。控制模块控制信息显示模块的信息来源,信息来源有两种:一是通过网络控制测量单元测试控制设备的数据;另一种是控制设备专用测试设备的检测结果。信息显示模块将信息来源的数据以图7的形式显示,图中显示整体电路的信号流向和连接;标示出信号点的用途(输入、输出和测试点),每个信号点都可以查看其信号信息。
同样的信息显示方式也用在单板信息显示上,通过对信号点的信息分析可以定位故障部位。测量单元的测试数据同时给故障诊断模块,故障诊断模块通过专家系统定位故障部位,通过信息显示模块显示,并给出维修建议。
终端软件的训练进程如下:首先,对专用检测设备模拟操作和维修训练进行指导;其次,对专用检测设备模拟操作进行训练与成绩评定;再次,依据训练项目与考核要求设定故障生成模块的生成条件,故障模块产生相应的故障现象,供训练人员维修训练使用。维修过程依据故障现象生成规范的维修流程,依据维修流程对训练人员的维修训练进行成绩评定。
4结论
依据装备测试与训练的需求设计了分布式装备测试与训练系统,介绍了训练与控制终端软件的设计,详细介绍了基于ARM和FPGA的分布式合成仪器检测仪的设计。系统采用分布式设计,实现了多终端共享控制检测仪组的功能。采用主从简单命令控制方式、功能模块独立设计的方法设计检测仪,降低了系统设计的复杂度,便于调试,减少故障率。系统对控制设备测试与系统操作训练时,系统运行稳定、可靠,证明了系统设计合理方案可行。下一步,对系统的整体机构进行优化设计,实现工业化。