当前位置:首页 > 测试测量 > 测试测量
[导读]在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对

在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。

一、 RAM测试方法回顾

方法1:参考文献中给出了一种测试系统RAM的方法。该方法是分两步来检查,先后向整个数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则说明出错。

方法2:方法1并不能完全检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH—G。MARCH一G算法能够提供非常出色的故障覆盖率,但是所需要的测试时间是很大的。MARCH—G算法需要对全地址空间遍历3次。设地址线为”根,则CPU需对RAM访问6×2n次。

方法3:参考文献中给出了一种通过地址信号移位来完成测试的方法。在地址信号为全O的基础上,每次只使地址线Ai的信号取反一次,同时保持其他非检测地址线 Aj(i≠j)的信号维持0不变,这样从低位向高位逐位进行;接着在地址信号为全1的基础上,每次只使地址线Ai的信号取反一次,同时保持其他非检测地址线Aj(i≠j)的信号维持1不变,同样从低位向高位逐位进行。因此地址信号的移位其实就是按照2K(K为整数,最大值为地址总线的宽度)非线性寻址,整个所需的地址范围可以看成是以全0和全1为背景再通过移位产生的。在地址变化的同时给相应的存储单元写入不同的伪随机数据。在以上的写单元操作完成后,再倒序地将地址信号移位读出所写入的伪随机数据并进行检测。设地址线为n根,则CPU只对系统RAM中的2n+2个存储单元进行访问。

二、 基于种子和逐位倒转的RAM测试方法

基于种子和逐位倒转的测试方法是在方法3的基础上进一步改进获得的。方法3主要是使用全O和全1两个背景数来移位展开的,与MARCH—G算法相比获得的故障覆盖率稍微低些,但使用了较少的地址单元。这里我们把方法3中的背景数称为“种子”。以地址线为8根的RAM为例,种子分别取00000000和11111111两个数,取00000000、11111111、0000llll和 llll0000四个数,以及取00000000、11111111、00001111、11110000、00110011、1100llOO、 01010101和10101010八个数来移位展开测试,所达到的故障覆盖率是不一样的。种子数为2的改进方法要低于MARCH—G算法的故障覆盖率,种子数为4的改进方法与MARCH—G算法相当,种子数为8的改进方法能够超过MARCH—G算法的效果。整体上基于种子和逐位倒转的改进方法是可以代替 MARCH—G算法的,但是种子数目不同所需要的寻址次数也是不同的。设地址线为n根,种子数为2时需要访问RAM共计4”+4次,种子数为4时需要访问 RAM共计8n+8次,种子数为8时需要访问RAM共计16n+16次,而MARCH—G算法需要访问RAM共计6×2n次。可见,基于种子和逐位倒转的改进方法比MARCH—G算法的测试时间开销大大降低。同时,故障覆盖率会随着种子数目的增加而提高,当然不同种子数时所需要的测试时间开销也不同。在实际测试应用中要根据测试时间和测试故障覆盖率的需求来选择合适的种子数目,才能达到满意的效果。

结语

本文介绍了单片机系统RAM测试的一般方法,并在原有基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。它具有诊断耗时短、故障覆盖率高的特点,因而有着很高的应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

有关开发人员如何通过在RAM中执行时间敏感功能而不是从Flash中执行时间敏感功能来加快其应用程序代码的文章。您可能想知道是否要进行这样的调整,表现会发生什么变化?答案会根据微控制器的制造技术而有所不同,但是开发人员可以...

关键字: RAM 绩效改进

现在的FPGA不仅包含以前的LE,RAM也更大更快更灵活,管教IOB也更加的复杂,支持的IO类型也更多,而且内部还集成了一些特殊功能单元。

关键字: FPGA RAM

在现代嵌入式系统开发中,STM32系列微控制器因其高性能、低功耗和丰富的外设资源而广受欢迎。然而,随着应用需求的不断增长,内部RAM的容量往往成为限制系统性能的一个瓶颈。为了解决这个问题,开发者通常会将堆(Heap)配置...

关键字: STM32 RAM

RAM和ROM等存储单元的物理地址映射是由做硬件的数字工程师确定,他们在划分时主要会考虑电路的延迟,将这些储存单元按照一定的方式挂在同一条AHB总线上。而嵌入式平台软件工程师可以通过修改链接脚本来设置哪些数据、代码在程序...

关键字: RAM ROM

在嵌入式系统领域,程序代码的运行位置是一个至关重要的问题。传统的观念认为,程序代码必须从FLASH存储器搬到RAM中运行,以提高执行速度和效率。然而,随着技术的不断发展,这一观念正在受到挑战。本文将深入探讨嵌入式系统中程...

关键字: 嵌入式系统 Flash RAM

ROM和RAM是人尽皆知的概念。即:RAM(random access memory)随机存储内存 ,这种bai存储器在断电时du将丢失其存储内容,故主要用于存储短时间使用的程序。ROM(Read-Only Memory...

关键字: RAM ROM 嵌入式

要有效降低开关电源输出纹波我们首先得有个比较靠谱的测试方法,不能是由于测试方法的问题而导致的假波形是整改不好的。

关键字: 电源 纹波 测试方法

在C51编程环境中,变量的存储是理解程序运行机制和优化性能的关键。C51是专为8051系列单片机设计的一种C语言扩展,它不仅继承了标准C语言的强大功能,还针对单片机的硬件特性进行了优化。本文将深入探讨C51语言中变量的存...

关键字: C51语言 单片机 RAM

沙特阿拉伯利雅得2024年9月12日 /美通社/ -- 沙特数据与人工智能管理局(SDAIA)今日发起了一项开创性倡议,旨在推动符合伦理的人工智能研究与应用。 这一重大声明是在第三届全球人工智能峰会期间发布的,峰会目前正...

关键字: 人工智能 SD AI RAM

电磁兼容(EMC)是对电子产品在电磁场方面干扰大小(EMI)和抗干扰能力(EMS)的综合评定,是评价产品质量的重要指标。。本文将详细介绍EMC测试的流程及范围,帮助读者更好地理解和应用这一技术。

关键字: EMC 单片机系统
关闭