單片機(jī)系統(tǒng)中RAM的測試方法研究
在各種單片機(jī)應(yīng)用系統(tǒng)中,存儲器的正常與否直接關(guān)系到該系統(tǒng)的正常工作。為了提高系統(tǒng)的可靠性,對系統(tǒng)的可靠性進(jìn)行測試是十分必要的。通過測試可以有效地發(fā)現(xiàn)并解決因存儲器發(fā)生故障對系統(tǒng)帶來的破壞問題。本文針對性地介紹了幾種常用的單片機(jī)系統(tǒng)RAM測試方法,并在其基礎(chǔ)上提出了一種基于種子和逐位倒轉(zhuǎn)的RAM故障測試方法。
1 RAM測試方法回顧
(1)方法1
參考文獻(xiàn)中給出了一種測試系統(tǒng)RAM的方法。該方法是分兩步來檢查,先后向整個數(shù)據(jù)區(qū)送入#00H和#FFH,再先后讀出進(jìn)行比較,若不一樣,則說明出錯。
(2)方法2
方法1并不能完全檢查出RAM的錯誤,在參考文獻(xiàn)中分析介紹了一種進(jìn)行RAM檢測的標(biāo)準(zhǔn)算法MARCH—G。MARCH一G算法能夠提供非常出色的故障覆蓋率,但是所需要的測試時間是很大的。MARCH—G算法需要對全地址空間遍歷3次。設(shè)地址線為”根,則CPU需對RAM訪問6×2n次。
(3)方法3
參考文獻(xiàn)中給出了一種通過地址信號移位來完成測試的方法。在地址信號為全O的基礎(chǔ)上,每次只使地址線Ai的信號取反一次,同時保持其他非檢測地址線Aj(i≠j)的信號維持0不變,這樣從低位向高位逐位進(jìn)行;接著在地址信號為全1的基礎(chǔ)上,每次只使地址線Ai的信號取反一次,同時保持其他非檢測地址線Aj(i≠j)的信號維持1不變,同樣從低位向高位逐位進(jìn)行。因此地址信號的移位其實就是按照2K(K為整數(shù),最大值為地址總線的寬度)非線性尋址,整個所需的地址范圍可以看成是以全0和全1為背景再通過移位產(chǎn)生的。在地址變化的同時給相應(yīng)的存儲單元寫入不同的偽隨機(jī)數(shù)據(jù)。在以上的寫單元操作完成后,再倒序地將地址信號移位讀出所寫入的偽隨機(jī)數(shù)據(jù)并進(jìn)行檢測。設(shè)地址線為n根,則CPU只對系統(tǒng)RAM中的2n+2個存儲單元進(jìn)行訪問。
評論