在各种单片机应用系统中,存储器的正常与否,直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。专注于销售存储芯片供应商英尚微介绍常用的单片机系统RAM测试方法,并在MARCH-G算法的基础上提出了一种低功耗的改进方法。它具有测试功耗低,故障覆盖率较高的特点。
RAM测试方法
方法1:给出一种测试系统ram的方法,该方法是分两步来检查,先后向整个数据区分别送#00H和#FFH,再先后读出比较,若不一样,则说明出错。
方法2:在方法1中,并不能完全检查出RAM的错误,对进行RAM检测的一种标准算法MARCH-G进行了分析介绍,MARCH-G算法主要的测试过程:
第一步,初始化存贮器所有存贮单元为“0”;
第二步,按地址递增的顺序对每一个单元进行先读初始化“0”并写“1”值的操作;
第三步,按地址递减的顺序对每一个单元进行先读“1”,后写“0”,再读“0”的操作。
MARCH-G算法能够提供非常出色的故障覆盖率。但是所需要的测试时间是很大的。MARCH-G算法需要对全地址空间遍历3次。设地址线为n根,则CPU需对RAM访问6*2次。
基于格雷码扫描的MARCH改进方法
给出格雷码的特点和低功耗应用分析,格雷码作为一种编码其相邻的两个代码只有一位不同,由格雷码组成的单跳变测试序列可以显著的降低被测电路的动态功耗。因此本文给出了一种基于格雷码扫描的MARCH改进方法,具体介绍如下:
march-G算法在对存贮器访问时地址信号是按一般二进制编码递增或递减的,例如地址线有4根,则寻址时按照0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1111的次序递增或者反向递减,因此是一种线性寻址方式;这种寻址方式没有考虑到测试时地址序列对存贮器内部的动态功耗影响。这里我们采用格雷码来取代原先的二进制编码作为地址信号,例如地址线有4根,则寻址时按照0000,0001,0011,0010,0100,0101,0111,0110,1100,1101,1111,1110,1000,1001,1011,1010的次序正序变化或者反序变化,这样对存贮器的寻址就属于非线性寻址方式,基于格雷码扫描的测试过程如下:
第一步,按格雷码地址次序正序变化将存贮器所有存贮单元写入“0”;
第二步,按格雷码地址反序变化对每一个单元进行读“0”并写“1”值的操作;
第三步,按格雷码地址正序变化对每一个单元进行读“1”的操作。设地址线为n根,则CPU需对RAM访问4*2n次。
和MARCH-G算法相比该方法能够提供相同的故障覆盖率,同时所需要的测试时间降低了三分之一,测试时RAM内部动态功耗降低了80%左右,因而比MARCH-G算法有更大的优越性。
本文介绍了单片机系统RAM测试的一般方法,并在原有MARCH-G算法基础上提出了一种改进的格雷码扫描的RAM故障测试方法。它具有诊断耗时短,测试功耗低的特点,因而有着很高的应用价值。
共4条
1/1 1 跳转至页
单片机系统ram的低功耗测试方法
关键词: ram 存储器 单片机
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |