在各種單片機應用系統(tǒng)中,存儲器的正常與否,直接關系到該系統(tǒng)的正常工作。為了提高系統(tǒng)的可靠性,對系統(tǒng)的可靠性進行測試是十分必要的。通過測試可以有效地發(fā)現(xiàn)并解決因存儲器發(fā)生故障對系統(tǒng)帶來的破壞問題。常用的單片機系統(tǒng)RAM測試方法,并在MARCH-G算法的基礎上提出了一種低功耗的改進方法。它具有測試功耗低,故障覆蓋率較高的特點。
RAM測試方法
方法1:給出一種測試系統(tǒng)ram的方法,該方法是分兩步來檢查,先后向整個數(shù)據(jù)區(qū)分別送#00H和#FFH,再先后讀出比較,若不一樣,則說明出錯。
方法2:在方法1中,并不能完全檢查出RAM的錯誤,對進行RAM檢測的一種標準算法MARCH-G進行了分析介紹,MARCH-G算法主要的測試過程:
第一步,初始化存貯器所有存貯單元為“0”;
第二步,按地址遞增的順序?qū)γ恳粋€單元進行先讀初始化“0”并寫“1”值的操作;
第三步,按地址遞減的順序?qū)γ恳粋€單元進行先讀“1”,后寫“0”,再讀“0”的操作。
MARCH-G算法能夠提供非常出色的故障覆蓋率。但是所需要的測試時間是很大的。MARCH-G算法需要對全地址空間遍歷3次。設地址線為n根,則CPU需對RAM訪問6*2次。
基于格雷碼掃描的MARCH改進方法
給出格雷碼的特點和低功耗應用分析,格雷碼作為一種編碼其相鄰的兩個代碼只有一位不同,由格雷碼組成的單跳變測試序列可以顯著的降低被測電路的動態(tài)功耗。因此本文給出了一種基于格雷碼掃描的MARCH改進方法,具體介紹如下:
march-G算法在對存貯器訪問時地址信號是按一般二進制編碼遞增或遞減的,例如地址線有4根,則尋址時按照0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1111的次序遞增或者反向遞減,因此是一種線性尋址方式;這種尋址方式?jīng)]有考慮到測試時地址序列對存貯器內(nèi)部的動態(tài)功耗影響。
這里我們采用格雷碼來取代原先的二進制編碼作為地址信號,例如地址線有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內(nèi)部動態(tài)功耗降低了80%左右,因而比MARCH-G算法有更大的優(yōu)越性。
本文介紹了單片機系統(tǒng)RAM測試的一般方法,并在原有MARCH-G算法基礎上提出了一種改進的格雷碼掃描的RAM故障測試方法。它具有診斷耗時短,測試功耗低的特點,因而有著很高的應用價值。
責任編輯:xj
-
單片機
+關注
關注
6030文章
44491瀏覽量
632014 -
存儲器
+關注
關注
38文章
7435瀏覽量
163522 -
RAM
+關注
關注
8文章
1364瀏覽量
114445
發(fā)布評論請先 登錄
相關推薦
評論