在各种单片机利用零碎中, 存储器的失常与否, 间接关系到该零碎的失常工作。为了进步零碎的可靠性, 对系统的可靠性进行测试是十分必要的。通过测试能够无效地发现并解决因存储器产生故障对系统带来的毁坏问题。专一于销售各种存储芯片供应商英尚微电子介绍罕用的单片机零碎 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 故障测试办法。它具备诊断耗时短, 测试功耗低的特点, 因此有着很高的利用价值。