谭志宏+郑戊午
摘 要: 针对某控制计算机CPU模块的测试要求,集成及开发基于虚拟仪器的某控制计算机测试系统。该测试系统研制针对某控制计算机CPU模块大批量生产的测试和故障定位提供了有利工具,同时采用的适配器结构充分地利用了VXI测试平台的可扩展性,可根据用户需要扩展测试资源,增加测试系统功能,提高测试系统通用性。
关键词: VXI; LabWindows/CVI; 测试接口; 虚拟仪器
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)14?0088?05
Design of virtual instrument based automatic testing system for digital control computer CPU module
TAN Zhi?hong, ZHENG Wu?wu
(Xian Aeronautics Computing Technique Research Institute, AVIC, Xian 710065, China)
Abstract: Aim at testing requirements of a control computer CPU module, the virtual instrument based testing system for the control computer was developed and integrated. The development of the testing system provide a beneficial tool for quantity production and fault diagnosis. The adapter structure adopted in the testing system makes use of expandability of VXI testing platform, which can expand test resources according to the customers demand, enhance the function of the testing systen and improve the universality of the testing system.
Keywords: VXI; LabWindows/CVI; testing interface; virtual instrument
0 引 言
CPU模块是控制计算机核心部件,是整个系统的信号处理与控制中心。它担当整个系统的任务管理、控制律计算等重要任务。当多个项目控制计算机CPU模块处于大批量生产的过程中,生产厂家需要对其性能和功能进行离线测试,验证是否满足产品交付指标要求。同时,根据武器装备三级维修体制的划分,生产单位作为后方维护和维修单位[1],需要承担对多个型号控制计算机CPU模块故障的内场可更换部件的维修任务。因此当处于批量生产阶段时,则上述测试和维修任务快速增加,为了改善传统的人员操作复杂,人工记录数据和分析数据的测试方法,提高多个项目控制计算机CPU模块(以下简称CPU模块)生产、测试和维修效率,提高测试的可靠性,节省科研经费[2],研制通用控制计算机CPU模块自动测试系统(ATS)是一项重要意义的工作。
通用控制计算机CPU模块自动测试系统(ATS)(以下简称测试系统)实现对生产线上大批量生产多种CPU模块的性能和功能测试;同时实现对故障模块故障电路的准确诊断和定位,便于对故障模块的维修。
测试系统在操作人员极少参与的情况下,自动进行测试序列执行,处理数据,并以适当方式显示或输出测试结果的系统[3],具有良好的人机界面,操作简单;在测试过程中自动执行测试流程,自动生成测试报表,降低了自动测试系统对人员的要求,提高了产品可靠性。
目前国外先进的通用自动测试系统除了具备接口标准化,通用性强、系统模块化等特点外,还大量采用虚拟仪器技术和组合仪器技术[4]。CPU模块自动测试系统的架构就采用了虚拟仪器技术[5],虚拟仪器是以通用计算机为核心,根据用户对仪器的设计定义,用软件实现虚拟控制面板设计和测试功能的一种计算机仪器系统。虚拟仪器是将现有的计算机技术、设计软件技术和高性能模块化硬件结合在一起而建立的功能强大又灵活易变的仪器。在虚拟仪器系统中,硬件仅仅是为了解决信号的输入、输出和调理,软件才是整个仪器系统的关键,用户可以通过修改软件,方便地改变、增减仪器系统的功能和规模。
测试系统设计中主要采用标准总线技术VXI总线技术,把计算机技术、数字接口技术和仪器测量技术有机结合起来,VXI总线系统具有如下技术特点:
(1) 开放的多供货商支持VXI总线标准使得开发人员在进行测控系统集成时,可根据所实现的功能从众多制造商的产品中自主选择。标准化的现代测控系统硬件使VXI用户组建测试系统时效率更高,系统功能更强,灵活性更好,实用性更广,针对性更强,应用更方便。
(2) 标准化、模块化的系统结构与坚固的设计、良好的电磁兼容性能,抗干扰性能强,使系统组件迅速、运行稳定、高度可靠。模块可重复利用,因此系统的维护相对较为容易,升级简单,添加方便。
(3) 标准化的VXIplug&play软件降低了系统的配置、编程和集成的难度,系统开发周期短。
由于VXIBUS规范是美国空军的MATE(模块化自动测试设备)标准的一部分,符合测试模块的通用化、系列化和标准化要求,模块接口具有开放性,符合国际通用的行业标准,基于VXI总线的测试系统能够满足CPU模块的测试需求,因此决定采用VXI总线测试设备。
1 测试系统硬件设计
测试系统硬件平台主要由系统控制器、VXI测试系统、程控电源、通用示波器和测试接口组成。测试系统构成示意图如图1所示。
图1 自动测试系统构成示意图
1.1 系统控制器
测试系统采用了灵活性高,速度快、成本低1394接口卡完成对VXI测试系统控制,通过1394接口把VXI测试系统与外部工控机平台相连,工控机通过1394接口向VXI测试系统发送命令串,而总线控制模块以透明的方式在VXI字符串协议和1394总线协议之间进行翻译。
测试系统采用仪器领域中通用性强、灵活性高、接口操作简单和成本低GPIB接口卡完成对程控电源和示波器的控制,通过GPIB接口把程控电源和示波器与外部工控机平台相连,工控机通过GPIB接口向示波器和程控电源发送命令串,在示波器和程控电源内部嵌入的GPIB控制模块以透明方式完成命令翻译,控制程控电源和示波器的操作。
1.2 VXI测试系统
在测试系统的设计中VXI总线系统为设计的关键部位,根据被测对象测试需求完成VXI测试系统资源的集成。测试系统集成采用VXI机箱,0槽控制器、数字测试子系统和I/O模块。
(1) VXI机箱。选择AGILENT公司生产的13槽C尺寸机箱 E8403A,其外形如图2所示。其主要特性为:电源功率1 000 W;具有智能冷却功能;具有高性能的背板,可以自动配置中断应答和总线应答信号线;适用于所有即插即用模块。目前测试系统的设计中,占用了4个槽位,空余的槽为测试平台的扩充和功能完善提供了可能。
(2) 0槽控制器。0槽控制器模块是VXI总线测试系统的核心。为配合数字测试子系统的使用,选取AGILENT公司生产的E8491B模块。作为0槽控制器,E8491B模块包括一个MODID寄存器和一个10 MHz时钟源。具有触发功能,可编程8路内部TTL触发信号,这些信号可通过机箱底板连接器送到机箱内的其他模块上。通过该模块,外置工控机可以处理VXI主机箱内的任何一个VXI模块的中断请求。
图2 VXI主机箱E8403A
(3) 数字测试子系统。数字测试子系统采用是专为数字器件的功能测试而设计的VXI总线测试模块。它可以测试多种TTL和CMOS接口信号。其工作原理如下:由数字测试子系统模拟CPU模块的工作时序,对被测对象提供输入激励并采集响应,通过对响应信号的分析来完成对CPU模块的测试。其测试接口如图3所示,数字测试子系统向数字模块提供的输入激励包括地址、数据、控制信号及时钟,采集的响应包括数据及数字模块的响应信号。数字测试子系统由双槽C尺寸的SR2510组成,SR2510模块包括了时序和矢量控制、可配96数字I/O通道。本测试模块配置64数字I/O通道。
(4) I/O模块。VXI测试系统采用I/O模块采用时AGILENT公司生产的E1458A模块,该模块为96通道数字I/O模块,该模块兼容TTL电平(0?5 V)和COMS电平,数字I/O模块总线接口为VXI总线C尺寸模块。
1.3 程控电源
程控电源为AGILENT公司生产E3631A,该电源为台式电源配置有GPIB接口,通过GPIB总线与工控机连接,自动测试系统软件通过GPIB总线协议与程控电源进行数据交换。E3631A具有3路输出, 该电源的技术指标如下:电压可调0~25 V/1 A;电压可调0~-25 V/1 A;电压可调0~6 V/5 A。
1.4 通用示波器
通用示波器采用TEX公司生产TDS3012系列示波器。该示波器主要技术指标如下:具有双通道数字示波器;带宽可达350 MHz;采样率可达1.25 Gb/s;具有GPIB接口。
该通用示波器为外置式产品,通过GPIB总线与工控机连接,测试系统软件通过GPIB总线协议与通用示波器进行数据交换。
图3 数字测试子系统测试接口示意图
1.5 测试接口
测试系统中测试接口设计采用了海量互联结构。形成对外统一的测试接口(主适配器),选用VPC公司的VXI互锁接收机,作为信号连接适配器,提供测试系统测试资源信号与被测对象之间的信号,更可靠、更高效和方便连接;提高了测试系统设计的灵活性、扩展性和通用性。
由于不同被测对象对外连接器各不相同,根据被测对象特征,设计子适配器,这种方式实现了整个测试系统资源的重复利用,提高了测试系统可扩展性和通用性。子适配器与主适配器相连,实现测试系统与CPU模块之间的信号转接。在子适配器顶面板上设计固定装置,用以固定CPU模块,同时设计了连接电缆接口,实现被测对象与测试系统连接。在子适配器中设计子适配器模块,用于实现测试系统资源的分配,测试信号的驱动隔离和信号匹配。因为被测对象内部的地址总线、数据总线和控制信号是对外开放的,所以测试系统与被测对象之间的这些信号经过隔离。测试设备发送HOLD信号到被测试对象,得到被测试对象的响应后,使能隔离电路,打开测试系统到被测试对象的信号通路。数据总线为双向信号,数据总线的隔离方向由控制信号中读/写信号(RW)控制,因为RW信号同时控制被测对象内部数据线驱动隔离电路方向,采用该信号控制驱动隔离电路信号方向,使子适配器模块中的驱动隔离电路和被测对象内部驱动隔离电路方向一致,避免数据总线发生冲突。
测量工具采用通用示波器,通用示波器配置两个测量通道,所以子适配器模块中包括多路选通电路,由测试设备发送通道选择信号,控制多路选通电路实现对CPU模块接口信号的多选二,引入到示波器的两个测量通道,进行CPU模块信号测量,记录测试结果,进行分析。
2 测试软件设计
测试系统设计中,测试软件是整个测试系统的核心部分,通过测试软件控制实现了测试系统对被测对象数据的采集和数据的处理,完成了CPU模块的功能、性能的测试同时实现故障的诊断。测试系统软件驻留在工控机上,控制测试系统测试序列完成CPU模块测试。测试软件采用模块化设计,便于使用和维护。
2.1 开发软件平台
测试系统软件基于LabWindows/CVI作为软件平台[6],该平台是美国NI公司开发的一款交互式C语言开发平台,该软件功能强大、使用灵活的C语言平台用于数据采集分析和显示测控专业工具有机的结合起来,利用它的集成开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C语言的功能,为熟悉C语言的开发设计人员编写检测系统,自动测试环境,数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境。同时在VXI系统中采用的SR2500模块和E1458A模块的驱动软件兼容与LabWindows/CVI,在LabWindows/CVI提供仪器库函数,简化了软件开发的过程,提供了良好的VXI系统中测试模块用户界面。
2.2 测试软件设计
该软件完成的主要功能如下:硬件平台模块初始化;测试信号与硬件端口定义;测试序列定义;启动测试;对测试结果进行处理,得出测试结论;测试结果记录或打印。测试软件的设计中,分为测试功能和设备自检功能。在测试功能中依据测试要求,分为自动测试和手动测试,自动测试用于生产模块离线性能和功能的测试,手动测试用于维修人员进行故障模块故障定位。设备自检功能,完成了对整体测试系统的硬件功能和性能的检测,提供了专用设备的校验工具,更好的支持了对整套测试平台的校验工作。测试软件结构如图4所示。测试主要包括对程序存储器和数据存储器和CPU芯片测试。
图4 测试软件结构图
2.2.1 CPU芯片测试
CPU芯片测试采用测试系统释放总线请求,由CPU芯片执行驻留CPU模块内程序存储器BIT程序完成对CPU芯片指令和内部寄存器测试和CPU实现对CPU模块内程序存储器、数据存储器和接口单元测试。并将测试结果存放到固定数据存储器单元内。测试系统取得总线控制权,读取测试结果存储单元判断CPU芯片是否正常。
2.2.2 程序存储器测试
程序存储器测试包括对驻留CPU模块BIT程序的在板编程,同时将程序存储器内容读出与编程文件进行代码比较,写入数据与读出数据一致则认为程序存储器功能单元正常。程序存储器空间有64 KB空间,BIT程序占用空间为16 KB,为了对剩余空间进行有效测试,将该空间测试数据填充为随机数进行测试。
2.2.3 数据存储器测试
数据存储器测试采用典型测试数据方法,包括测试数据如下:移动的1,0x0000,0x5555,0xAAAA,0xFFFF和存储器单元写入存取单元地址值。该测试方法对存储器的存储体进行了充分的测试,同时对存储器的地址和数据总线进行了有效的测试。是否数据/地址总线有短接到一起,或数据/地址总线断路情况。
2.3 故障诊断技术
测试系统故障诊断系统采用基于故障树和故障字典法来进行设计,结合被测对象的测试情况,完成对CPU模块故障诊断。测试系统通过不同TPS对CPU模块资源进行测试,将故障结果通过故障字典查询,同时CPU模块资源测试结果进行逻辑决断完成对故障的诊断给出故障辨识。
图5所示为CPU模块故障树,测试系统故障定位隔离度可达到元器件级,一片可达80%,二片可达85%,三片可达90%。
测试系统复杂度和难度在于故障诊断技术:一是考虑TPS具有典型性,实现对CPU模块资源有效测试,二是故障字典的设计难度和复杂度大,依据故障模式和故障树考虑CPU模块故障现象,采用逻辑决断实现故障的诊断和辨识。
3 设计中应注意问题
CPU模块通过对外连接器对外开放DSP内总线(数据总线、地址总线和控制总线),测试系统通过DMA方式,发送总线请求信号(HOLD),取得总线控制权,仿真测试平台采集到总线应答(HOLDA)后,仿真DSP访问时序输出地址、数据、控制总线信号等激励对CPU模块上ROM,RAM和接口分组件接口等进行访问测试。
仿真测试平台对CPU模块内功能单元不仅进行了功能测试,而且进行了性能的测试,针对数字电路的特性,对CPU模块内部ROM,RAM和接口分组件接口进行了拉偏时序测试。CPU模块内部DSP访问存储器时序图见图6和图7。
仿真测试平台依据DSP访问存储器接口时序指标,计算出典型时序访问存储器的时间,仿真测试平台以DSP的CLK(时钟)为触发信号,仿真该时序对CPU模块的ROM,RAM和接口分组件进行测试;同时计算出DSP访问ROM,RAM和接口分组件恶劣时序,仿真测试平台以CLK为触发信号,仿真该时序对CPU模块ROM,RAM和接口分组件进行测试。
DSP访问存储器时序参数见表1和表2。
图6 DSP访问存储器读时序
图7 DSP访问存储器写时序
对数字总线仿真的难度和复杂度:
(1) 数字总线中信号数量多(数据总线,地址总线,控制总线),相对信号之间的时序关系复杂,通过软件配置数字总线信号时序仿真模型的复杂度和难度较大;
(2) 由于数字总线信号速度高,抗干扰性差,传输过程中数字总线信号易出现振铃、过冲或下冲、串扰等现象,仿真测试平台实现信号完整性难度较高。所以在传输电缆的设计中,考虑电缆之间的信号串扰,电缆与UUT之间的信号阻抗匹配,减少信号传输线上的“振铃”,提高测试信号的可靠性。测试系统设计中,主适配器与VXI系统之间的传输电缆采用VXI模块附件电缆,通用示波器测试电缆采用同轴电缆,子适配器与UUT之间传输电缆采用双绞线电缆。
表1 DSP读访问存储器时间参数 ns
表2 DSP写访问存储器时间参数 ns
4 结 语
基于虚拟仪器控制计算机CPU模块测试系统解决了大批量产品的检测问题,同时由于测试系统集成度高,人机交互界面简单,不需要测试人员干预测试,自动化程度高,完成对CPU模块的各项功能和性能的检测,并形成测试记录存储在计算机内。测试系统现在通过软件维护升级可以实现对另外两个项目的CPU模块的测试,为国家节约大量资金,产生数百万元的经济效益。该测试系统的通用性和可扩展性设计思想具有很好的应用前景。
参考文献
[1] 谭红芳,马勇,邵怀宗.弹上计算机自动测试系统的设计[J].实验科学与技术,2011(6):15?17.
[2] 刘晨.航空电子系统通用测试平台的设计[J].航空电子技术,2010(4):37?42.
[3] 周金陵.基于XML技术的ATS故障树模型描述与设计[J].计算机技术与发展,2011(8):196?199.
[4] 微凉,金卯.国内外先进航空测控技术发展现状[J].航空制造技术,2008(9):45?46.
[5] 陈思,黄亚宇.虚拟仪器技术概述[J].机电产品开发与创新,2007(5):51?53.
[6] 张海丽.基于LabWindows/CVI 的测试仪软件设计[J].测控技术,2012(5):88?91.
2 测试软件设计
测试系统设计中,测试软件是整个测试系统的核心部分,通过测试软件控制实现了测试系统对被测对象数据的采集和数据的处理,完成了CPU模块的功能、性能的测试同时实现故障的诊断。测试系统软件驻留在工控机上,控制测试系统测试序列完成CPU模块测试。测试软件采用模块化设计,便于使用和维护。
2.1 开发软件平台
测试系统软件基于LabWindows/CVI作为软件平台[6],该平台是美国NI公司开发的一款交互式C语言开发平台,该软件功能强大、使用灵活的C语言平台用于数据采集分析和显示测控专业工具有机的结合起来,利用它的集成开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C语言的功能,为熟悉C语言的开发设计人员编写检测系统,自动测试环境,数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境。同时在VXI系统中采用的SR2500模块和E1458A模块的驱动软件兼容与LabWindows/CVI,在LabWindows/CVI提供仪器库函数,简化了软件开发的过程,提供了良好的VXI系统中测试模块用户界面。
2.2 测试软件设计
该软件完成的主要功能如下:硬件平台模块初始化;测试信号与硬件端口定义;测试序列定义;启动测试;对测试结果进行处理,得出测试结论;测试结果记录或打印。测试软件的设计中,分为测试功能和设备自检功能。在测试功能中依据测试要求,分为自动测试和手动测试,自动测试用于生产模块离线性能和功能的测试,手动测试用于维修人员进行故障模块故障定位。设备自检功能,完成了对整体测试系统的硬件功能和性能的检测,提供了专用设备的校验工具,更好的支持了对整套测试平台的校验工作。测试软件结构如图4所示。测试主要包括对程序存储器和数据存储器和CPU芯片测试。
图4 测试软件结构图
2.2.1 CPU芯片测试
CPU芯片测试采用测试系统释放总线请求,由CPU芯片执行驻留CPU模块内程序存储器BIT程序完成对CPU芯片指令和内部寄存器测试和CPU实现对CPU模块内程序存储器、数据存储器和接口单元测试。并将测试结果存放到固定数据存储器单元内。测试系统取得总线控制权,读取测试结果存储单元判断CPU芯片是否正常。
2.2.2 程序存储器测试
程序存储器测试包括对驻留CPU模块BIT程序的在板编程,同时将程序存储器内容读出与编程文件进行代码比较,写入数据与读出数据一致则认为程序存储器功能单元正常。程序存储器空间有64 KB空间,BIT程序占用空间为16 KB,为了对剩余空间进行有效测试,将该空间测试数据填充为随机数进行测试。
2.2.3 数据存储器测试
数据存储器测试采用典型测试数据方法,包括测试数据如下:移动的1,0x0000,0x5555,0xAAAA,0xFFFF和存储器单元写入存取单元地址值。该测试方法对存储器的存储体进行了充分的测试,同时对存储器的地址和数据总线进行了有效的测试。是否数据/地址总线有短接到一起,或数据/地址总线断路情况。
2.3 故障诊断技术
测试系统故障诊断系统采用基于故障树和故障字典法来进行设计,结合被测对象的测试情况,完成对CPU模块故障诊断。测试系统通过不同TPS对CPU模块资源进行测试,将故障结果通过故障字典查询,同时CPU模块资源测试结果进行逻辑决断完成对故障的诊断给出故障辨识。
图5所示为CPU模块故障树,测试系统故障定位隔离度可达到元器件级,一片可达80%,二片可达85%,三片可达90%。
测试系统复杂度和难度在于故障诊断技术:一是考虑TPS具有典型性,实现对CPU模块资源有效测试,二是故障字典的设计难度和复杂度大,依据故障模式和故障树考虑CPU模块故障现象,采用逻辑决断实现故障的诊断和辨识。
3 设计中应注意问题
CPU模块通过对外连接器对外开放DSP内总线(数据总线、地址总线和控制总线),测试系统通过DMA方式,发送总线请求信号(HOLD),取得总线控制权,仿真测试平台采集到总线应答(HOLDA)后,仿真DSP访问时序输出地址、数据、控制总线信号等激励对CPU模块上ROM,RAM和接口分组件接口等进行访问测试。
仿真测试平台对CPU模块内功能单元不仅进行了功能测试,而且进行了性能的测试,针对数字电路的特性,对CPU模块内部ROM,RAM和接口分组件接口进行了拉偏时序测试。CPU模块内部DSP访问存储器时序图见图6和图7。
仿真测试平台依据DSP访问存储器接口时序指标,计算出典型时序访问存储器的时间,仿真测试平台以DSP的CLK(时钟)为触发信号,仿真该时序对CPU模块的ROM,RAM和接口分组件进行测试;同时计算出DSP访问ROM,RAM和接口分组件恶劣时序,仿真测试平台以CLK为触发信号,仿真该时序对CPU模块ROM,RAM和接口分组件进行测试。
DSP访问存储器时序参数见表1和表2。
图6 DSP访问存储器读时序
图7 DSP访问存储器写时序
对数字总线仿真的难度和复杂度:
(1) 数字总线中信号数量多(数据总线,地址总线,控制总线),相对信号之间的时序关系复杂,通过软件配置数字总线信号时序仿真模型的复杂度和难度较大;
(2) 由于数字总线信号速度高,抗干扰性差,传输过程中数字总线信号易出现振铃、过冲或下冲、串扰等现象,仿真测试平台实现信号完整性难度较高。所以在传输电缆的设计中,考虑电缆之间的信号串扰,电缆与UUT之间的信号阻抗匹配,减少信号传输线上的“振铃”,提高测试信号的可靠性。测试系统设计中,主适配器与VXI系统之间的传输电缆采用VXI模块附件电缆,通用示波器测试电缆采用同轴电缆,子适配器与UUT之间传输电缆采用双绞线电缆。
表1 DSP读访问存储器时间参数 ns
表2 DSP写访问存储器时间参数 ns
4 结 语
基于虚拟仪器控制计算机CPU模块测试系统解决了大批量产品的检测问题,同时由于测试系统集成度高,人机交互界面简单,不需要测试人员干预测试,自动化程度高,完成对CPU模块的各项功能和性能的检测,并形成测试记录存储在计算机内。测试系统现在通过软件维护升级可以实现对另外两个项目的CPU模块的测试,为国家节约大量资金,产生数百万元的经济效益。该测试系统的通用性和可扩展性设计思想具有很好的应用前景。
参考文献
[1] 谭红芳,马勇,邵怀宗.弹上计算机自动测试系统的设计[J].实验科学与技术,2011(6):15?17.
[2] 刘晨.航空电子系统通用测试平台的设计[J].航空电子技术,2010(4):37?42.
[3] 周金陵.基于XML技术的ATS故障树模型描述与设计[J].计算机技术与发展,2011(8):196?199.
[4] 微凉,金卯.国内外先进航空测控技术发展现状[J].航空制造技术,2008(9):45?46.
[5] 陈思,黄亚宇.虚拟仪器技术概述[J].机电产品开发与创新,2007(5):51?53.
[6] 张海丽.基于LabWindows/CVI 的测试仪软件设计[J].测控技术,2012(5):88?91.
2 测试软件设计
测试系统设计中,测试软件是整个测试系统的核心部分,通过测试软件控制实现了测试系统对被测对象数据的采集和数据的处理,完成了CPU模块的功能、性能的测试同时实现故障的诊断。测试系统软件驻留在工控机上,控制测试系统测试序列完成CPU模块测试。测试软件采用模块化设计,便于使用和维护。
2.1 开发软件平台
测试系统软件基于LabWindows/CVI作为软件平台[6],该平台是美国NI公司开发的一款交互式C语言开发平台,该软件功能强大、使用灵活的C语言平台用于数据采集分析和显示测控专业工具有机的结合起来,利用它的集成开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C语言的功能,为熟悉C语言的开发设计人员编写检测系统,自动测试环境,数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境。同时在VXI系统中采用的SR2500模块和E1458A模块的驱动软件兼容与LabWindows/CVI,在LabWindows/CVI提供仪器库函数,简化了软件开发的过程,提供了良好的VXI系统中测试模块用户界面。
2.2 测试软件设计
该软件完成的主要功能如下:硬件平台模块初始化;测试信号与硬件端口定义;测试序列定义;启动测试;对测试结果进行处理,得出测试结论;测试结果记录或打印。测试软件的设计中,分为测试功能和设备自检功能。在测试功能中依据测试要求,分为自动测试和手动测试,自动测试用于生产模块离线性能和功能的测试,手动测试用于维修人员进行故障模块故障定位。设备自检功能,完成了对整体测试系统的硬件功能和性能的检测,提供了专用设备的校验工具,更好的支持了对整套测试平台的校验工作。测试软件结构如图4所示。测试主要包括对程序存储器和数据存储器和CPU芯片测试。
图4 测试软件结构图
2.2.1 CPU芯片测试
CPU芯片测试采用测试系统释放总线请求,由CPU芯片执行驻留CPU模块内程序存储器BIT程序完成对CPU芯片指令和内部寄存器测试和CPU实现对CPU模块内程序存储器、数据存储器和接口单元测试。并将测试结果存放到固定数据存储器单元内。测试系统取得总线控制权,读取测试结果存储单元判断CPU芯片是否正常。
2.2.2 程序存储器测试
程序存储器测试包括对驻留CPU模块BIT程序的在板编程,同时将程序存储器内容读出与编程文件进行代码比较,写入数据与读出数据一致则认为程序存储器功能单元正常。程序存储器空间有64 KB空间,BIT程序占用空间为16 KB,为了对剩余空间进行有效测试,将该空间测试数据填充为随机数进行测试。
2.2.3 数据存储器测试
数据存储器测试采用典型测试数据方法,包括测试数据如下:移动的1,0x0000,0x5555,0xAAAA,0xFFFF和存储器单元写入存取单元地址值。该测试方法对存储器的存储体进行了充分的测试,同时对存储器的地址和数据总线进行了有效的测试。是否数据/地址总线有短接到一起,或数据/地址总线断路情况。
2.3 故障诊断技术
测试系统故障诊断系统采用基于故障树和故障字典法来进行设计,结合被测对象的测试情况,完成对CPU模块故障诊断。测试系统通过不同TPS对CPU模块资源进行测试,将故障结果通过故障字典查询,同时CPU模块资源测试结果进行逻辑决断完成对故障的诊断给出故障辨识。
图5所示为CPU模块故障树,测试系统故障定位隔离度可达到元器件级,一片可达80%,二片可达85%,三片可达90%。
测试系统复杂度和难度在于故障诊断技术:一是考虑TPS具有典型性,实现对CPU模块资源有效测试,二是故障字典的设计难度和复杂度大,依据故障模式和故障树考虑CPU模块故障现象,采用逻辑决断实现故障的诊断和辨识。
3 设计中应注意问题
CPU模块通过对外连接器对外开放DSP内总线(数据总线、地址总线和控制总线),测试系统通过DMA方式,发送总线请求信号(HOLD),取得总线控制权,仿真测试平台采集到总线应答(HOLDA)后,仿真DSP访问时序输出地址、数据、控制总线信号等激励对CPU模块上ROM,RAM和接口分组件接口等进行访问测试。
仿真测试平台对CPU模块内功能单元不仅进行了功能测试,而且进行了性能的测试,针对数字电路的特性,对CPU模块内部ROM,RAM和接口分组件接口进行了拉偏时序测试。CPU模块内部DSP访问存储器时序图见图6和图7。
仿真测试平台依据DSP访问存储器接口时序指标,计算出典型时序访问存储器的时间,仿真测试平台以DSP的CLK(时钟)为触发信号,仿真该时序对CPU模块的ROM,RAM和接口分组件进行测试;同时计算出DSP访问ROM,RAM和接口分组件恶劣时序,仿真测试平台以CLK为触发信号,仿真该时序对CPU模块ROM,RAM和接口分组件进行测试。
DSP访问存储器时序参数见表1和表2。
图6 DSP访问存储器读时序
图7 DSP访问存储器写时序
对数字总线仿真的难度和复杂度:
(1) 数字总线中信号数量多(数据总线,地址总线,控制总线),相对信号之间的时序关系复杂,通过软件配置数字总线信号时序仿真模型的复杂度和难度较大;
(2) 由于数字总线信号速度高,抗干扰性差,传输过程中数字总线信号易出现振铃、过冲或下冲、串扰等现象,仿真测试平台实现信号完整性难度较高。所以在传输电缆的设计中,考虑电缆之间的信号串扰,电缆与UUT之间的信号阻抗匹配,减少信号传输线上的“振铃”,提高测试信号的可靠性。测试系统设计中,主适配器与VXI系统之间的传输电缆采用VXI模块附件电缆,通用示波器测试电缆采用同轴电缆,子适配器与UUT之间传输电缆采用双绞线电缆。
表1 DSP读访问存储器时间参数 ns
表2 DSP写访问存储器时间参数 ns
4 结 语
基于虚拟仪器控制计算机CPU模块测试系统解决了大批量产品的检测问题,同时由于测试系统集成度高,人机交互界面简单,不需要测试人员干预测试,自动化程度高,完成对CPU模块的各项功能和性能的检测,并形成测试记录存储在计算机内。测试系统现在通过软件维护升级可以实现对另外两个项目的CPU模块的测试,为国家节约大量资金,产生数百万元的经济效益。该测试系统的通用性和可扩展性设计思想具有很好的应用前景。
参考文献
[1] 谭红芳,马勇,邵怀宗.弹上计算机自动测试系统的设计[J].实验科学与技术,2011(6):15?17.
[2] 刘晨.航空电子系统通用测试平台的设计[J].航空电子技术,2010(4):37?42.
[3] 周金陵.基于XML技术的ATS故障树模型描述与设计[J].计算机技术与发展,2011(8):196?199.
[4] 微凉,金卯.国内外先进航空测控技术发展现状[J].航空制造技术,2008(9):45?46.
[5] 陈思,黄亚宇.虚拟仪器技术概述[J].机电产品开发与创新,2007(5):51?53.
[6] 张海丽.基于LabWindows/CVI 的测试仪软件设计[J].测控技术,2012(5):88?91.