完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在电子设备运行过程中,存储器发生故障或失效,不仅导致经济损失,而且还有可能导致灾难性的后果。因此存储器的测试也成为当今世界的一个重要问题,在军事装备中存储器正扮演着很重要的角色。目前,基于虚拟仪器设计的自动测试系统已成为主流,而软件则是虚拟仪器的核心。在此,以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是主程序的程序框图。 3.3 测试程序 对存储器测试时采用March算法。March 算法的特点是向存储器顺序地写入和读出数据,通过分析数据判断存储器的故障。因此在测试程序的编制过程中,数字信号的输入/输出较为关键。图3是读/写操作的程序框图。根据适配器的实际方案,数据的输入/输出在设计时也有一定的要求。向存储器写数据时分为三个步骤:向锁存器写地址,向锁存器写数据,锁存器和状态输出。读取存储器的数据分为4个步骤:向锁存器写地址,锁存器和状态输出,检测数据输出有效信号,读锁存器数据。实际应用时,可以根据不同的芯片,设置不同的延迟时间,以满足读/写周期的要求。 3.4 数据库设计 软件设计时,采用主控程序与测试信息分离的思想,通过数据库来存储测试信息。数据库采用比较常用的数据库Access。测试时,根据不同的测试算法,将不同测试数据编绘到数据库中。测试时主程序通过 SQL语言对数据库进行调用,控制数字信号的输入/输出,从而实现测试内容的可扩展性。根据March算法的规则,设计数据表时,要设计编号、读/写操作、地址、数据和结束标志5列。编号用来实现March算法的顺序执行;读/写操作用于主程序中判断数据的读/写操作;地址用于存储地址信息;数据用于存储数据信息;结束标志用于结束本算法的测试。数据库存储表格如图4所示。第一行表示第一次读/写操作,向0地址写入数据80。 4 结语 采用NI系列PXI板卡及灵活方便的LabVIEW软件平台,构建了一套某装备存储器的检测系统。通过数据库实现了测试算法与测试程序的独立性,可以根据不同的March算法进行测试。实验结果表示,该系统具有自动测试性强,容易操作,可扩展性强等特点,有效提高了对某装备存储器的测试效率。 |
|
|
|
只有小组成员才能发言,加入小组>>
4545个成员聚集在这个小组
加入小组17626.6标准中关于CDN的疑问?以及实际钳注入测试中是否需要对AE和EUT同时接CDN?
6826 浏览 1 评论
3547 浏览 2 评论
10311 浏览 1 评论
3833 浏览 4 评论
3550 浏览 0 评论
739浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 11:57 , Processed in 1.411516 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号