金晶晶
(中國電子科技集團(tuán)公司第四十七研究所,沈陽110032)
片上系統(tǒng)(System on Chip, SoC)是將微處理器、模擬IP 核、數(shù)字IO 和存儲器集成在同一塊芯片上形成的一種面向特定用途的標(biāo)準(zhǔn)產(chǎn)品。Silicon Laboratories 公司出品的C8051F500-IQ 即是一款集成數(shù)模混合信號的SoC 電路,具有與MCS-51 完全兼容的高速流水線結(jié)構(gòu)的內(nèi)核(可達(dá)50MIPS),提供在系統(tǒng)全速調(diào)試接口,內(nèi)嵌穩(wěn)壓器、片上復(fù)位、電源監(jiān)控、時鐘振蕩器、數(shù)字外設(shè)(Timer,UART,CAN 等)和模擬外設(shè)(基準(zhǔn)源,比較器,ADC)。作為一款典型的SoC 電路,C8051F500-IQ 可以滿足系統(tǒng)控制、邏輯運(yùn)算、信號處理的單片集成處理的需求,在工業(yè)控制、便攜式儀器、汽車電子等領(lǐng)域得到了廣泛應(yīng)用。與通用集成電路相比,C8051F500-IQ 所包含的外設(shè)和電參數(shù)在種類和數(shù)量上都很多,為保證其工作的可靠性,必須進(jìn)行可靠的測試。在測試程序開發(fā)過程中,如何設(shè)置測試狀態(tài)、施加激勵,是提高測試速度、保證測試效果必須要解決的問題[1-2]。
故此,提出一種基于自動測試系統(tǒng)的SoC 電路測試方法?;趯ψ詣訙y試程序開發(fā)流程的介紹,設(shè)計其啟動程序和自動測試程序,給出基于自動測試系統(tǒng)的自動測試方案,以實現(xiàn)對功能和性能的全面評價。
集成電路自動測試程序的開發(fā)通??蓺w納為主動測試流程(Master Test Plan, MTP)和應(yīng)用測試流程(Applicatinon Test Plan, ATP)兩類[3-4]。使用MTP方法時,被測器件工作在測試模式,通過執(zhí)行相對應(yīng)的測試向量,評估被測器件的功能和性能。使用MTP 方法,可以對某個外設(shè)單元的功能和某類性能獨(dú)立測試,所測試的功能和性能與應(yīng)用指標(biāo)可能不一致,但是存在一定聯(lián)系。MTP 測試方法主要針對自主研發(fā)的電路,測試向量相對簡化,具有較高的測試效率。但是這種測試方法需要設(shè)計模型的支撐,對于已產(chǎn)品化的電路,缺乏這種支撐,因此,一般不應(yīng)用MTP 方法進(jìn)行已成型產(chǎn)品的測試程序開發(fā)。
使用ATP 方法進(jìn)行測試程序開發(fā)時,需要根據(jù)被測器件的功能和性能編寫測試向量。自動測試系統(tǒng)執(zhí)行該測試向量,使被測器件工作在待測狀態(tài)。在此基礎(chǔ)上,自動測試系統(tǒng)施加要求的激勵,并監(jiān)測被測電路的工作狀態(tài)。應(yīng)用ATP 方法開發(fā)測試程序時,需要單獨(dú)對每個參數(shù)和每個模塊的工作狀態(tài)編寫測試向量并設(shè)置獨(dú)立的測試項,自動測試系統(tǒng)基于這些測試向量完成功能和性能測試。測試向量及測試項的數(shù)量很多,測試效率較低。但對于已產(chǎn)品化的電路,必須基于ATP 的方法進(jìn)行測試程序開發(fā)。對于成品電路通常使用該方法。
作為整個系統(tǒng)的控制中心和運(yùn)算中心,SoC 通過運(yùn)行用戶設(shè)計的代碼實現(xiàn)設(shè)定功能。根據(jù)這一特點(diǎn),可以編寫指令代碼,使SoC 工作在特定模式,用于功能和性能的測試。自動測試系統(tǒng)檢測SoC 的這種工作狀態(tài),施加激勵信號,采樣輸出結(jié)果,如果輸出結(jié)果符合設(shè)定要求,則器件工作正常,否則判定器件出現(xiàn)故障,需要分析原因進(jìn)行剔除?;赟oC 電路可以運(yùn)行程序工作在指定狀態(tài)的特點(diǎn),可以采用ATP 方法進(jìn)行SoC 電路的自動測試程序的開發(fā)。
執(zhí)行相應(yīng)代碼,使SoC 電路工作在指定狀態(tài),是進(jìn)行SoC 電路測試時最先進(jìn)行的一步,這些代碼的總和可以稱為啟動程序。SoC 執(zhí)行啟動程序后,需要告知自動測試系統(tǒng)被測器件已經(jīng)準(zhǔn)備好,自動測試系統(tǒng)即可施加激勵檢測被測器件的輸出結(jié)果,自動測試系統(tǒng)所執(zhí)行的測試流程稱為自動測試程序。
啟動程序和自動測試程序之間需要握手信號保證同步性。在完成一項功能或參數(shù)的測試后,啟動程序需要一個復(fù)位和選擇的過程,用于保證被測電路可以可靠地進(jìn)行下一個功能和參數(shù)的測試。綜上所述,SoC 的自動測試流程如圖1 所示。
圖1 SoC 電路測試流程圖
為保證對C8051F500-IQ 進(jìn)行可靠的全面測試,在設(shè)計啟動程序時,要對所有片上資源進(jìn)行配置并進(jìn)行測試,當(dāng)一種資源的測試完成后加入一個復(fù)位操作,保證下一個資源的測試能夠正常進(jìn)行。C8051F500-IQ 內(nèi)部集成內(nèi)核(存儲器、指令集、中斷、電源監(jiān)控電路等)、內(nèi)部振蕩器、時鐘乘法器、模擬外設(shè)(多路選擇器、ADC、溫度傳感器、電壓比較器、電壓調(diào)整器、電壓基準(zhǔn)等)和數(shù)字外設(shè)(數(shù)字端口、外部存儲器接口、定時器、UART、IIC、SPI、PCA等),其結(jié)構(gòu)如圖2 所示。
圖2 C8051F500-IQ 結(jié)構(gòu)框圖
根據(jù)C8051F500-IQ 的結(jié)構(gòu)框圖,啟動程序的設(shè)計需要考慮所列模塊的功能模式及對應(yīng)電參數(shù)的需要,盡量在進(jìn)入某種功能的測試模式后便能完成電參數(shù)的測試,提高測試效率[5]。
在進(jìn)行啟動程序設(shè)計時需要考慮和自動測試系統(tǒng)的同步問題,包括時序同步和測試功能同步兩部分。時序同步的作用是通知自動測試系統(tǒng)被測器件已經(jīng)進(jìn)入到可測試的模式,自動測試系統(tǒng)即可施加激勵進(jìn)行測試;功能同步的作用是將當(dāng)前被測器件的狀態(tài)告知自動測試系統(tǒng),自動測試系統(tǒng)可以按照自動測試程序的測試項,對被測電路施加激勵檢測電路輸出狀態(tài)。啟動程序基于Silliconlab IDE 軟件開發(fā),其流程如圖3 所示。
圖3 啟動程序流程
集成電路自動測試系統(tǒng)是集成了電源、測量單元、信號發(fā)生器、采樣等測試測量單元的大型自動測試設(shè)備,通過程序化控制,能夠在一次測試過程中完成被測電路的全部功能和參數(shù)測試并形成測試記錄,適用于半導(dǎo)體電路的量產(chǎn)測試。
C8051F500-IQ 電路執(zhí)行啟動程序后,已經(jīng)進(jìn)入了一種可測試的模式,如果告知自動測試系統(tǒng)被測電路現(xiàn)在正處于何種測試模式,自動測試系統(tǒng)就可以施加相應(yīng)激勵,測量執(zhí)行結(jié)果[6]。因此,在自動測試程序設(shè)計過程中,被測電路與自動測試系統(tǒng)如何進(jìn)行握手,怎樣判斷被測電路工作在何種方式,施加何種激勵進(jìn)行測試是需要解決的主要問題。
根據(jù)C8051F500-IQ 能夠自主運(yùn)行的特點(diǎn),通過向自動測試系統(tǒng)輸出命令字,自動測試系統(tǒng)收到命令字后即可判斷被測電路當(dāng)前工作在何種模式,隨后執(zhí)行自動測試程序中相應(yīng)的測試項,即可完成施加激勵和測試工作。自動測試程序的設(shè)計流程如圖4 所示。
圖4 測試程序流程
C8051F500-IQ 包含模擬和數(shù)字模塊,其中12位ADC 的1LSB 為0.36mV(基準(zhǔn)源電壓為1.5V),振蕩器的精度要求在100MHz,所以需要選擇一臺具備模擬和數(shù)字測量單元且具有高速度和高精度特點(diǎn)的自動測試系統(tǒng)[7-8]。UltraFLEX 是一款面向高速高精度混合信號測試領(lǐng)域的大規(guī)模集成電路自動測試系統(tǒng),1MHz 的總諧波失真為-78dB,對頻率的測量范圍可達(dá)800MHz,滿足C8051F500-IQ 的測試需求,因此在該自動測試系統(tǒng)上進(jìn)行自動測試程序開發(fā),自動測試程序分為功能測試和參數(shù)測試兩部分。
被測電路上電復(fù)位后順序執(zhí)行啟動程序和自動測試程序,完成一項功能或電參數(shù)的測試,并輸出測試結(jié)果,軟件復(fù)位后再進(jìn)行下一個功能和電參數(shù)的測試,直至所有功能和電參數(shù)的測試完成。在編寫自動測試程序的測試項時,有些測試項,如復(fù)位閾值的測試,是不能通過直接施加激勵信號得到結(jié)果的,需要利用UltraFLEX 的底層編程功能,對BBAC、DCVI、PPMU 等單元進(jìn)行設(shè)置,完成電壓、電流、比較時間的掃描測試。
基于UltraFLEX 自動測試系統(tǒng)編寫C8051F500-IQ 的自動測試程序。此測試程序共有1300 個測試項,其中功能測試項8 類,直流參數(shù)測試項46 類,交流參數(shù)測試項9 類,在每類測試項中包含了電源電壓以及端口電壓的拉偏條件。配合高、低溫試驗箱,可以對電路進(jìn)行全溫區(qū)條件下的全部功能和參數(shù)的測試,測試時間約27s。
利用該測試流程對30 只C8051F500-IQ 進(jìn)行測試,篩選出不合格產(chǎn)品2 只。將2 只產(chǎn)品在驗證板上進(jìn)行對比測試,發(fā)現(xiàn)不合格產(chǎn)品的失效項以及失效情況與自動測試結(jié)果一致。
根據(jù)SoC 產(chǎn)品和自動測試設(shè)備的特點(diǎn),設(shè)計了啟動程序和測試程序,在UltraFLEX 自動測試系統(tǒng)上完成C8051F500-IQ 的全參數(shù)自動測試。試驗結(jié)果表明,該方法實現(xiàn)了C8051F500-IQ 產(chǎn)品的全參數(shù)自動測試并有效剔除不合格產(chǎn)品,對于同類SoC產(chǎn)品的自動測試程序開發(fā)有借鑒意義。