張 玲,李同瀚,梅軍進(jìn)
(湖北理工學(xué)院計(jì)算機(jī)學(xué)院,湖北黃石435003)
在數(shù)字設(shè)備開發(fā)過程中,由于數(shù)字集成芯片本身錯(cuò)誤而導(dǎo)致的設(shè)備運(yùn)行不穩(wěn)定、調(diào)試不通的情況屢屢出現(xiàn),而這種錯(cuò)誤非常難以測試,不得不花費(fèi)大量的時(shí)間和精力進(jìn)行診斷,大大增加了開發(fā)成本。對小型數(shù)字集成電路進(jìn)行測試不僅可以發(fā)現(xiàn)錯(cuò)誤,而且可以定位錯(cuò)誤,減少了開發(fā)成本[1]。測試即對集成電路施加測試向量,并比較測試響應(yīng)的過程[2-4]。利用單片芯片作為控制芯片不僅結(jié)構(gòu)簡單、易于實(shí)現(xiàn),而且功耗低、性價(jià)比高[5]。本設(shè)計(jì)以89C51芯片為 MCU芯片,以集成串并轉(zhuǎn)換芯片及并串轉(zhuǎn)換芯片為測試引腳擴(kuò)展芯片,設(shè)計(jì)了小型數(shù)字集成電路測試儀。本方案具有以下幾個(gè)方面的優(yōu)點(diǎn):結(jié)構(gòu)簡單,易于實(shí)現(xiàn);方便對集成芯片進(jìn)行測試,結(jié)果準(zhǔn)確;所用芯片費(fèi)用較低,性價(jià)比較高。
對于數(shù)字芯片測試系統(tǒng)來說,處理器芯片的引腳個(gè)數(shù)有限,難以實(shí)現(xiàn)對具有多個(gè)引腳的數(shù)字集成芯片的測試。為了實(shí)現(xiàn)對引腳的控制,本設(shè)計(jì)利用串并轉(zhuǎn)換芯片74HC595實(shí)現(xiàn)單個(gè)信號到多個(gè)信號的轉(zhuǎn)換,以完成測試向量的串行施加;利用并串轉(zhuǎn)換芯片74HC165實(shí)現(xiàn)多個(gè)信號到單個(gè)信號的轉(zhuǎn)換,以完成測試響應(yīng)的串行檢測。
74HC595廣泛應(yīng)用于遠(yuǎn)程傳輸、顯示器信號擴(kuò)展等涉及串并數(shù)據(jù)轉(zhuǎn)換的領(lǐng)域。它具有一個(gè)串行輸入的8位移位寄存器、一個(gè)8位緩沖寄存器及一個(gè)具有三態(tài)輸出的移位寄存器。
74HC165的功能是實(shí)現(xiàn)并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù),它主要應(yīng)用在芯片端口擴(kuò)展上。它具有一個(gè)8位寄存器和一個(gè)8位移位寄存器。
為了實(shí)現(xiàn)對具有多引腳的數(shù)字集成芯片進(jìn)行測試,可以增加相應(yīng)的引腳擴(kuò)展芯片。以輸入為n(n<=8)、輸出為m(m<=8)的芯片的測試為例來說明測試儀的操作及控制,當(dāng)測試芯片的輸入、輸出引腳少于8位時(shí),不夠的位用零擴(kuò)展。本測試系統(tǒng)的硬件接線示意圖如圖1所示。為了通過串并轉(zhuǎn)換芯片74HC595實(shí)現(xiàn)具有多位數(shù)據(jù)的測試向量的串行移入,MCU通過 P1口控制74HC595的轉(zhuǎn)換,其中P1.0控制串行數(shù)據(jù)時(shí)鐘輸入端ST-CP;P1.1對接DS,從而在串行時(shí)鐘ST_CP的控制下,測試向量從數(shù)據(jù)端DS施加到測試芯片的引腳上;P1.2控制并行數(shù)據(jù)的輸出端時(shí)鐘信號SH-CP,即74HC595的11腳,以實(shí)現(xiàn)8位并行數(shù)據(jù)的移出;其數(shù)據(jù)輸出端Q0~Q7將轉(zhuǎn)換后的并行測試數(shù)據(jù),即測試向量施加到被測試電路(CUT,Circuit Under Testing);其10腳清緩沖腳直接接電源,表示不對緩沖進(jìn)行清零;其13腳直接接地,始終使能該芯片。
74HC165芯片將包含多位測試位的測試響應(yīng)轉(zhuǎn)換成串行數(shù)據(jù),以便由MCU檢測。本設(shè)計(jì)主要用MCU芯片的P2口來控制該芯片的工作時(shí)序,P2.3接該芯片的2腳,即時(shí)鐘信號CP(圖1中用CLK表示);P2.5接該芯片的串行數(shù)據(jù)的輸出端9腳,以在信號CP控制下實(shí)現(xiàn)測試響應(yīng)的串行移出端Q7(圖1中用SO表示);其P2.4控制該芯片的1腳,即異步并行讀入信號(圖1中用SH/LD表示),控制并行數(shù)據(jù)讀入芯片74HC165寄存器中;D0~D7接受來自CUT的測試響應(yīng)(from the outputs of CUT),通過74HC165實(shí)現(xiàn)測試響應(yīng)的串行測試,從而實(shí)現(xiàn)對電路的測試。
為了顯示電路的正確與否,本設(shè)計(jì)將相關(guān)結(jié)果顯示在液晶顯示器上。選擇LM 016液晶顯示器作為顯示設(shè)備。如圖1所示,P0口和P2口控制LM 016的時(shí)序,其中讀寫控制信號RS和RW分別由P2.0和P2.1控制,使能信號E由P2.2控制,顯示的數(shù)據(jù)由P0傳送。
圖1 本測試系統(tǒng)的硬件接線示意圖
本軟件設(shè)計(jì)主要分為2個(gè)部分,第1部分是2個(gè)芯片驅(qū)動程序的編寫,它們分別為串并轉(zhuǎn)換芯片74HC595和并串轉(zhuǎn)換芯片74HC165的驅(qū)動程序;第2部分為MCU處理測試向量和測試響應(yīng)算法的編寫,主要包括測試向量真值表轉(zhuǎn)換、所測測試響應(yīng)和實(shí)際測試響應(yīng)的比對算法的實(shí)現(xiàn)、芯片好壞的判定。
圖2(a)給出了串并轉(zhuǎn)換芯片74HC595的1位數(shù)據(jù)工作時(shí)序圖,8位數(shù)據(jù)寫入工作方式完全相同,此時(shí)序圖為驅(qū)動程序編寫的依據(jù),由此時(shí)序圖及對應(yīng)圖1所示的MCU與該芯片的連接圖可知,其10腳清緩沖腳直接接電源,不對緩沖進(jìn)行清零;其13腳直接接地,始終使能該芯片。其基本時(shí)序的運(yùn)行如下,首先在輸入時(shí)鐘 ST_CP的上升沿的控制下,8位串行數(shù)據(jù)從DS送入,8個(gè)周期后,該8位數(shù)據(jù)被送入到74HC595的緩沖區(qū);然后在輸出時(shí)鐘SH_CP的控制下,將8位并行數(shù)據(jù)從輸出端Q0~Q7送出。并行數(shù)據(jù)的輸出在時(shí)鐘信號SH_CP的控制下,一個(gè)時(shí)鐘上升沿便可完成輸出。圖2(b)給出了并串轉(zhuǎn)換芯片74HC165的1位數(shù)據(jù)工作時(shí)序圖,其基本時(shí)序運(yùn)行為:設(shè)置PL為低電平,將并行數(shù)據(jù)讀入芯片緩沖;在時(shí)鐘CP的控制下,將數(shù)據(jù)串行移出。它們的關(guān)鍵控制代碼如表1所示。
表1 驅(qū)動關(guān)鍵時(shí)序控制代碼的實(shí)現(xiàn)
圖2 主要芯片的工作時(shí)序圖
本測試儀針對組合數(shù)字集成芯片進(jìn)行測試,主要測試其功能,確保使用過程中的正確性。因此,MCU測試過程的實(shí)現(xiàn)主要包括2個(gè)部分,第1是功能測試向量的定義和施加,第2是測試響應(yīng)的采集和比對。第1個(gè)過程主要通過表定義實(shí)現(xiàn),組合電路的功能測試向量規(guī)模較小,很容易用表定義實(shí)現(xiàn),測試向量的施加主要用循環(huán)實(shí)現(xiàn);第2個(gè)過程中,測試響應(yīng)仍由列表實(shí)現(xiàn),CUT的測試響應(yīng)由時(shí)鐘控制采集后,按順序取響應(yīng)列表的正確值進(jìn)行比對。
為了驗(yàn)證該系統(tǒng)的性能,本設(shè)計(jì)對常用組合邏輯 芯 片 74LS00、74LS02、74LS04、74LS86、74LS138、74LS153等大量芯片進(jìn)行了測試,本系統(tǒng)均能準(zhǔn)確地測出電路是否存在故障。
基于MCU控制的小型組合數(shù)字集成電路測試系統(tǒng)利用引腳擴(kuò)展芯片實(shí)現(xiàn)對組合集成電路的測試,測試過程的測試向量和測試響應(yīng)的存儲以列表形式存儲,測試向量的施加和測試響應(yīng)的比對由MCU完成。測試結(jié)果表明,該測試儀測試速度快、測試結(jié)果準(zhǔn)確,且系統(tǒng)穩(wěn)定可靠。
[1] 黃考利,連光耀,高鳳岐,等.基于USB2.0接口的數(shù)字電路測試儀的設(shè)計(jì)與實(shí)現(xiàn)[J].儀表技術(shù),2006(4):43-45.
[2] 王元元.關(guān)于數(shù)字電路的故障測試方法研究[J].數(shù)字技術(shù)與應(yīng)用,2013(2):87.
[3] 郭希維,蘇群星,谷宏強(qiáng).數(shù)字電路測試中的關(guān)鍵技術(shù)研究[J].科學(xué)技術(shù)與工程,2006,6 (18):2903-2905.
[4] 王繼業(yè).數(shù)字電路在線故障檢測方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[5] 張玲,梅軍進(jìn).基于Atmega48和CC1100模塊的無線通信功能的實(shí)現(xiàn)[J].黃石理工學(xué)院學(xué)報(bào),2008,24(5):5-8.