一种基于LabVIEW的存储器检测系统的研究
时间:01-21
来源:互联网
点击:
在电子设备运行过程中,存储器发生故障或失效,不仅导致经济损失,而且还有可能导致灾难性的后果。因此存储器的测试也成为当今世界的一个重要问题,在军事装备中存储器正扮演着很重要的角色。目前,基于虚拟仪器设计的自动测试系统已成为主流,而软件则是虚拟仪器的核心。在此,以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的port0~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表示写操作;?ij表示全部c的集合;∑表示?ij,集内的总和;逗号“,”是公式内各有序操作之间的分隔符;0或1表示背景数据和操作数据。根据公式可以算出测试的复杂度为 5N。简单说就是按照一定的规则向存储器写入和读出数据。针对不同的故障模型,在测试中添加不同的数据背景可以实现相应的故障覆盖。通常,一种算法不能覆盖所有的故障类型,所以测试时要用两种或两种以上的算法。
2.3 March算法在检测系统中的应用
一般的March算法都是以位进行操作的,而被测对象是18位的数据通道,存储方式为字节存储,因此应该对March算法进行扩展。测试时不仅要考虑到字间故障,而且也应该考虑一个字内多个位之间的耦合故障。面对这种情况就应该增加March算法的测试数据。对于N位的存储器,共有log2N+1种测试数据,文献给出了数据背景的计算公式。被测对象有18位存储器,通过计算有5组测试数据:
3 系统的软件设计
3.1 软件总体方案
该系统软件部分基于虚拟仪器技术进行开发。选择LabVIEW作为测试程序开发工具,Access作为数据库工具。整个软件由主控程序、人机界面、测试模块、诊断模块、数据库模块组成。主控程序负责各个模块之间的调用和协调;人机界面实现用户与测试系统的交互;测试模块完成数字信号的输出和采集;数据库模块主要用于实现整个系统数据的管理。
3.2 主程序
主程序依托LabVIEW软件,采用模块化的设计思想,主要包括程序初始、测试数据、读/写数据、取消设置、和错误判断五个部分。程序初始模块,用于进行面板参数设置和板卡设置;测试数据模块。用于:通过对数据库数据的查询,提取地址和数据等信息;通过对读/写信息的判断,选择数据信息输出的读入。如果测试时出现异常现象,则由程序输出自定义错误,通过自定义错误传递故障信息,同时跳出读/写循环;取消设置,用来恢复测试时改变的各个参数;错误判断模块,用于判断错误类型,通过判断自定义错误携带的信息判断故障类型,并反馈给人机界面。图2是主程序的程序框图。
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的port0~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表示写操作;?ij表示全部c的集合;∑表示?ij,集内的总和;逗号“,”是公式内各有序操作之间的分隔符;0或1表示背景数据和操作数据。根据公式可以算出测试的复杂度为 5N。简单说就是按照一定的规则向存储器写入和读出数据。针对不同的故障模型,在测试中添加不同的数据背景可以实现相应的故障覆盖。通常,一种算法不能覆盖所有的故障类型,所以测试时要用两种或两种以上的算法。
2.3 March算法在检测系统中的应用
一般的March算法都是以位进行操作的,而被测对象是18位的数据通道,存储方式为字节存储,因此应该对March算法进行扩展。测试时不仅要考虑到字间故障,而且也应该考虑一个字内多个位之间的耦合故障。面对这种情况就应该增加March算法的测试数据。对于N位的存储器,共有log2N+1种测试数据,文献给出了数据背景的计算公式。被测对象有18位存储器,通过计算有5组测试数据:
3 系统的软件设计
3.1 软件总体方案
该系统软件部分基于虚拟仪器技术进行开发。选择LabVIEW作为测试程序开发工具,Access作为数据库工具。整个软件由主控程序、人机界面、测试模块、诊断模块、数据库模块组成。主控程序负责各个模块之间的调用和协调;人机界面实现用户与测试系统的交互;测试模块完成数字信号的输出和采集;数据库模块主要用于实现整个系统数据的管理。
3.2 主程序
主程序依托LabVIEW软件,采用模块化的设计思想,主要包括程序初始、测试数据、读/写数据、取消设置、和错误判断五个部分。程序初始模块,用于进行面板参数设置和板卡设置;测试数据模块。用于:通过对数据库数据的查询,提取地址和数据等信息;通过对读/写信息的判断,选择数据信息输出的读入。如果测试时出现异常现象,则由程序输出自定义错误,通过自定义错误传递故障信息,同时跳出读/写循环;取消设置,用来恢复测试时改变的各个参数;错误判断模块,用于判断错误类型,通过判断自定义错误携带的信息判断故障类型,并反馈给人机界面。图2是主程序的程序框图。
电子 虚拟仪器 LabVIEW 总线 电压 PXI 相关文章:
- 技巧:电子拉力试验机的工作原理介绍(01-10)
- 表面肌电信号数字传感器的设计(01-15)
- 人体生物电阻抗的脉冲式检测方法及其应用(02-25)
- 一个新型超低功耗指纹锁控制系统(03-11)
- 数字化宽带测向系统中的相位差测量及误差分析(03-04)
- 用于胎儿心电信号测量的嵌入式数据处理系统研究(03-10)