在各種單片機應用系統中,存儲器的正常與否,直接關系到該系統的正常工作。為了提高系統的可靠性,對系統的可靠性進行測試是十分必要的。通過測試可以有效地發現并解決因存儲器發生故障對系統帶來的破壞問題。專注于銷售各種存儲芯片供應商英尚微電子介紹常用的單片機系統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算法有更大的優越性。
審核編輯:黃飛
-
單片機
+關注
關注
6032文章
44518瀏覽量
633069 -
RAM
+關注
關注
8文章
1367瀏覽量
114533 -
格雷碼
+關注
關注
2文章
34瀏覽量
13176 -
存貯器
+關注
關注
0文章
6瀏覽量
7209
發布評論請先 登錄
相關推薦
評論