DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 247|回复: 1
打印 上一主题 下一主题

几种常用的单片机系统RAM测试方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 13:56:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。

1 RAM测试方法回顾

(1)方法1

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

(2)方法2

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

(3)方法3

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

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算法的测试时间开销大大降低。同时,故障覆盖率会随着种子数目的增加而提高,当然不同种子数时所需要的测试时间开销也不同。在实际测试应用中要根据测试时间和测试故障覆盖率的需求来选择合适的种子数目,才能达到满意的效果。

3 结 语

本文介绍了单片机系统RAM测试的一般方法,并在原有基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。它具有诊断耗时短、故障覆盖率高的特点,因而有着很高的应用价值。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
沙发
发表于 2024-4-28 00:38:49 | 只看该作者
希望有开发出成品
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-16 14:40 , 耗时 0.093432 秒, 17 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表