摘要:针对某装备的存储器没有相应的测试设备,测试内容比较繁琐,设计了基于LabVlEW的存储器检测系统。硬件依托PXI测试总线予以实现.具有可靠性高.灵活性强的特点。针对组合存储器的特点,设计了专用的接口适配器,主要用于实现信号的同步和调理。文中分析了存储器的故障类型,研究March算法并进行了扩展。系统以LabVIEW作为软件工具,实现了对存储器的自动测试,用数据库实现了测试算法与测试程序的分离。该系统具有操作容易,可扩展性强等特点,有效提高了对某装备存储器的测试效率。
关键词:存储器;虚拟仪器;LabVIEW;数据库;March
在电子设备运行过程中,存储器发生故障或失效,不仅导致经济损失,而且还有可能导致灾难性的后果。因此存储器的测试也成为当今世界的一个重要问题,在军事装备中存储器正扮演着很重要的角色。目前,基于虚拟仪器设计的自动测试系统已成为主流,而软件则是虚拟仪器的核心。在此,以LabVIEW为软件工具,结合相应的数字I/O卡,开发一套用于某装备存储器检测的检测系统。
1 总体方案及硬件设计
1.1 需求分析
该系统所选的被测对象是某型装备中的公用存储器,测试通道有地址总线18根、数据总线18根,控制线3根(控制线共7根,其中3根有效)。其中,状态输出信号表示读/写信号是否有效;读/写信号表示对RAM的读/写操作;数据输出有效信号表示数据输出是否有效。容量8 KB,读周期400 ns,写周期500 ns,供电电压5 V。
1.2 系统硬件设计
该硬件系统,以中心计算机为主体,以插入其中的数字I/O卡为功能部件。通过计算机控制数字I/O卡进行数字信号的输出和测量。由此可知,系统平台的搭建关键是选择合适的数字I/O卡。该系统测试的主要信号有地址信号、数据信号和控制信号。考虑到输出位数和速度,用NI公司的数字波形发生器/分析仪6542,它具有32路可双向控制的通道,可方便地进行信号输出和对信号的采集。该模块每个通道都有1 Mb,8 Mb和64 Mb的板载内存,便于测试信息的存储。
1.3 接口适配器设计和端口的分配
接口适配器用于连接被测设备和测试平台。设计时只选用一块6542模块,所以只有32个输出通道,不能实现所有信号的有效同步输出,设计时需采用数据线和地址线共用的原则予以解决。接口适配器的组成框图如图1所示。选择6542的portO~port2作为公用的地址线和数据线,port3作为控制线。锁存器选择双向锁存器,通过锁存方向控制数据的输入/输出,片选控制线控制数据的锁存,锁存输出控制线控制锁存器里的数据读出。
2 存储器测试算法分析
2.1 存储器故障类型
存储器故障总体可以分为单个单元的故障和单元之间的故障两类。单个单元的故障包括:粘滞故障(SAF)一个阵列总是0或1;转换故障(TF),即一个特定单元在一定转换序列后不能进行0/1翻转;数据保持故障(DFR),即一个单元在一段时间后不能保持它的逻辑值等。单元之间的故障主要是耦合故障(CF),它包括字间故障和字内故障。
2.2.March算法
针对存储器不同的故障类型,提出了多种存储器的测试算法,如March算法、Walking算法、Calloping算法等。其中,March算法具有较高的故障覆盖率,较小的时间复杂度,在存储器测试中得到广泛应用。其基本步骤用公式表示如下:
式中:Cij表示第i行,第j列的存储单元;R表示读操作;W表示写操作;表示全部C的集合;∑表示,集内的总和;逗号“,”是公式内各有序操作之间的分隔符;0或1表示背景数据和操作数据。根据公式可以算出测试的复杂度为5N。简单说就是按照一定的规则向存储器写入和读出数据。针对不同的故障模型,在测试中添加不同的数据背景可以实现相应的故障覆盖。通常,一种算法不能覆盖所有的故障类型,所以测试时要用两种或两种以上的算法。
2.3 March算法在检测系统中的应用
一般的March算法都是以位进行操作的,而被测对象是18位的数据通道,存储方式为字节存储,因此应该对March算法进行扩展。测试时不仅要考虑到字间故障,而且也应该考虑一个字内多个位之间的耦合故障。面对这种情况就应该增加March算法的测试数据。对于N位的存储器,共有log2N+1种测试数据,文献给出了数据背景的计算公式。被测对象有18位存储器,通过计算有5组测试数据:
3 系统的软件设计
3.1 软件总体方案
该系统软件部分基于虚拟仪器技术进行开发。选择LabVIEW作为测试程序开发工具,Access作为数据库工具。整个软件由主控程序、人机界面、测试模块、诊断模块、数据库模块组成。主控程序负责各个模块之间的调用和协调;人机界面实现用户与测试系统的交互;测试模块完成数字信号的输出和采集;数据库模块主要用于实现整个系统数据的管理。