吳海平,杜凱,黃菊蓮,何?,?,李燕
(西安西谷微電子有限責(zé)任公司,陜西西安,710124)
靜態(tài)隨機存儲器(SRAM)是數(shù)字處理、信息處理、自動控制設(shè)備中的重要組成部件,被廣泛應(yīng)用于航天器的控制系統(tǒng)中。自20 世紀(jì)70 年代初以來,我國對靜態(tài)隨機存儲器的研究已取得了較大的進(jìn)展,產(chǎn)品性能向著高速、高集成方向發(fā)展,但在產(chǎn)品功能強大的同時,也增加了存儲器件產(chǎn)品的復(fù)雜性,使得器件在研制、鑒定和質(zhì)量保證過程中所能提供的元器件信息數(shù)據(jù)尚不能充分表征其功能、性能、質(zhì)量可靠性和環(huán)境適應(yīng)性,難以充分指導(dǎo)用戶使用。而存儲器的結(jié)構(gòu)特殊性決定了該類芯片不能采用傳統(tǒng)的直接物理檢測,目前可行的辦法就是對存儲單元的狀態(tài)進(jìn)行不斷地讀寫,然后與正確的存儲單元的狀態(tài)進(jìn)行比較,因此選擇一個有效的測試算法尤其重要。本文中通過March C+算法,以單片機構(gòu)建SRAM HRSR88512J 的應(yīng)用測試電路對存儲器進(jìn)行應(yīng)用測試,對其在應(yīng)用環(huán)境下的功能、性能、質(zhì)量可靠性進(jìn)行測試與分析。
當(dāng)使用傳統(tǒng)的測試算法對存儲器進(jìn)行故障檢測時,需要完全遍歷全部存儲單元時,則會導(dǎo)致測試時間變長,并且傳統(tǒng)的存儲器測試算法會使復(fù)雜度增加。例如,乒乓測試算法(GALPAT 算法)和棋盤算法(CHECKERBOARD 算法)在對存儲器進(jìn)行測試時,同一塊1024×32bit 的存儲器,在時鐘周期為50ns 下乒乓測試算法需要200 小時完成,棋盤算法需要花費1000s 即可完成。由于傳統(tǒng)的測試算法對存儲器的測試時間長,且故障覆蓋不完全,因此,本設(shè)計中選擇March 算法中March C+算法來進(jìn)行存儲器的測試。
March 算法廣泛應(yīng)用于各類嵌入式存儲器的測試中,是一種良好的嵌入式存儲器測試算法。March 算法的實現(xiàn)原理是利用有限狀態(tài)機對存儲器單元的所有地址按照升序或降序進(jìn)行讀/寫0 和1 操作。March 算法由不同March元素集成,達(dá)到對測試數(shù)據(jù)集合的覆蓋。其中March 元素由地址變化順序、讀寫操作和數(shù)據(jù)背景三部分組成。算法集合由式(1)所示。
該算法集合解釋如下:
首先通過對全陣列單元進(jìn)行初始化,做寫0 操作;接著按地址升序的方式,對每個地址單元進(jìn)行讀操作,預(yù)期讀出0,緊接著對存儲器進(jìn)行寫1 操作;再接著按照地址升序的方式,對每個地址單元進(jìn)行讀操作,預(yù)期讀出0;緊接著對存儲器進(jìn)行寫1 操作;再接著按照地址升序的方式,對每個地址單元進(jìn)行讀操作,預(yù)期讀出1,緊接著存儲器進(jìn)行寫0 操作;然后按照地址升序,對全陣列單元進(jìn)行讀操作,預(yù)期讀出0;最后按照地址降序的方式重復(fù)。該算法測試時間為11N,能夠檢測出硬件固定故障、部分耦合數(shù)據(jù)故障以及地址譯碼出錯問題。
March C+算法屬于改進(jìn)型March C 算法,在對SRAM存儲器進(jìn)行內(nèi)建自測試時,March C+算法是經(jīng)常使用的一種。它具有較高的故障覆蓋率,能檢查出寫破壞故障WDF、轉(zhuǎn)換故障TF、讀破壞故障RDF 以及部分的耦合故障CF,并且它對存儲器的測試時間較短,且故障覆蓋更為全面。算法集合由式(2)所示。
在存儲器的測試中March C+算法的測試復(fù)雜度為14N,其測試步驟為:
(1) 以任何地址順序項存儲單元寫入0 操作,即M0↑↓(w0);
(2)從存儲器中最低地址按升序地進(jìn)行操作,向存儲器讀0 操作(預(yù)期所讀取的值為0),并在該地址進(jìn)行寫1 操作,然后再對該存儲單元進(jìn)行讀1 操作,即M1↑(r0,w1,r1);
(3)從存儲器中最低地址按升序的操作,向存儲器讀1操作(預(yù)期所讀取的值為1),并在該地址進(jìn)行寫0 操作,然后再對該存儲單元進(jìn)行讀0 操作,即M2↑(r1,w0,r0);
(4)從存儲器中最低地址按降序的操作,向存儲器讀0 操作(預(yù)期所讀取的值為0),并在該地址進(jìn)行寫1 操作,然后再對該存儲單元進(jìn)行讀1 操作,即M3↓(r0,w1,r1);
(5)從存儲器中最低地址按降序的操作,向存儲器讀1 操作(預(yù)期所讀取的值為1),并在該地址進(jìn)行寫0 操作,然后在對該存儲單元進(jìn)行讀0 操作,即M4↓(r1,w0,r0);
(6)以任何地址順序讀出所有的存儲單元,即M5↓(r0)}。
March C+算法能夠檢測出硬件固定故障、轉(zhuǎn)換故障、部分耦合數(shù)據(jù)故障以及地址譯碼出錯問題。較March 算法故障覆蓋率明顯提高,因此,本測試系統(tǒng)所選用March C+測試算法。
由于SRAM 88512J 靜態(tài)隨機存儲器為512K×8M 存儲空間,地址位有19 位,工作電壓5V,這對其在電路設(shè)計中與其進(jìn)行數(shù)據(jù)存儲的單片機型號有一定的限制。在本設(shè)計中選用LC8051F500 控制器,該控制器供電電源范圍寬,系統(tǒng)工作頻率最大可達(dá)50MHz,滿足對SRAM 的時序控制要求,系統(tǒng)硬件結(jié)構(gòu)框圖如圖1 所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
本測試系統(tǒng)主要包括兩部分:MCU 控制部分與待測器件部分。MCU 控制部分搭載LC8051F500 控制器最小控制系統(tǒng)以及外圍控制電路,待測器件部分主要為SRAM 的外圍匹配部分??刂瓢灏ò存I電路、燈效指示電路、串口電路。
LC8051F500 控制電路圖核心電路采用內(nèi)部晶振提供工作頻率源,在外接口部分上包括主要包括LED 燈效接口、串口接口、按鍵接口、C2 接口、靜態(tài)隨機存取存儲器通信接口等,其中芯片電源引腳采用小電容0.1μF 加10μF 鉭電容濾除高頻噪聲干擾。
本設(shè)計中以SRAM 88512J 靜態(tài)隨機存儲器為待測試器件,進(jìn)行測試時不僅需要對其故障進(jìn)行測試,同時需要對其控制時序進(jìn)行測量。時序測量中包括讀周期時序1(地址控制)、讀周期時序2(片選和使能控制)、寫周期時序1(讀寫信號控制)以及寫周期時序2(片選功能控制)。為滿足故障測試和時序測試的兼容性,在本系統(tǒng)中設(shè)計6 個獨立按鍵,分別由LC8051F500 的6 個IO 控制,其中1 個按鍵用于控制March C+算法的控制輸出;另外5 個按鍵分別用于控制MCU 輸出不同的控制信號用于對器件的相關(guān)時序測試量。
RS232 串口通信電路主要是系統(tǒng)可以通過上位機對LC8051F500 通信功能,便于在測試過程中通過上位機進(jìn)行測試數(shù)據(jù)采集。本設(shè)計的串口通信芯片選用MAX3232 器件。MAX3232 采用專有低壓差發(fā)送器輸出級,利用雙電荷泵在3.0V~5.5V 電源供電時能夠?qū)崿F(xiàn)真正的RS-232 性能,器件僅需四個0.1μF 的外部小尺寸電荷泵電容。
SRAM 電路如圖3 所示。
圖3 SRAM 電路
本測試系統(tǒng)中待測器件HRSR88512J 是一個4M 的CMOS 靜態(tài)RAM,是一款低功耗的CMOS 靜態(tài)隨機存取存儲器。在供電接口上接入0.1μF 小電容加10μF 鉭電容濾除高頻噪聲干擾。在其數(shù)據(jù)、地址、控制管腳上接入測試點,在進(jìn)行系統(tǒng)測試過程中,可通過外部接入測量儀器探測對應(yīng)的接口信號。
本系統(tǒng)通過C 語言進(jìn)行軟件代碼編寫,主要實現(xiàn)March C+算法集合的控制編寫,此部分為本測試系統(tǒng)的核心;March C+算法主要用于SRAM 在功能性能上的測試,對于一些時序參數(shù)的在測試過程中不便通過儀器檢測,因此在本設(shè)計中加入了按鍵控制,通過軟件代碼編寫,賦予按鍵不同的功能,便于SRAM 的時序參數(shù)的測試。
在March C+算法對存儲器進(jìn)行故障測試時,先通過讀寫操作來敏化存儲單元的操作序列,在通過讀操作來檢測該存儲器的存儲單元是否有故障,算法中會有多次讀操作,將其標(biāo)記R0、R1、R2…RN-1(N 為讀操作次數(shù)),在每一次讀操作中如果檢測出錯誤則錯誤標(biāo)記位加1,如沒有檢測出錯誤則正確標(biāo)記位加1。
通過March C+算法對SRAM 的測試結(jié)果如圖4 所示。在常溫狀態(tài)下,通過上位機軟件對測試數(shù)據(jù)進(jìn)行監(jiān)測,對本文式(2)中讀操作的檢測結(jié)果進(jìn)行顯示,測試結(jié)果表明,本測試系統(tǒng)實現(xiàn)了對March C+算法的實際應(yīng)用,實現(xiàn)了對靜態(tài)隨機存儲器SRAM HRSR88512J 的性能參數(shù)測試。
圖4 March C+算法測試結(jié)果
本測試系統(tǒng)還在不同環(huán)境下如高溫、低溫環(huán)境等對SRAM 進(jìn)行了測試,測試結(jié)果表明在不同環(huán)境下March C+算法都可對SRAM 進(jìn)行功能性能測試,這里不再贅述。
本文設(shè)計了基于單片機的SRAM 測試系統(tǒng),通過March C+算法對其在應(yīng)用環(huán)境下的功能、性能、質(zhì)量可靠性進(jìn)行測試,研究了在特定環(huán)境下元器件的性能參數(shù)進(jìn)行了分析和討論,研究結(jié)果表明,對其進(jìn)行了全覆蓋功能測試、全時序參數(shù)測試、電參數(shù)測試進(jìn)行了全覆蓋,測試結(jié)果符合宇航應(yīng)用要求。這些研究結(jié)果對靜態(tài)隨機存儲器在特殊應(yīng)用環(huán)境下的使用具有重要意義。