侯慶慶,劉 凱,李文學(xué)
(1.中科芯集成電路有限公司,江蘇無錫214072;2.中電科申泰信息科技有限公司,江蘇無錫214063)
隨著電路規(guī)模的增大,CPU搭載的外設(shè)越來越多,且CPU包含多個內(nèi)核,CPU的測試也越來越重要,通過芯片的測試可保證電路的可靠性和正確性[1]。芯片的測試通常在測試設(shè)備上實現(xiàn),測試機(jī)可執(zhí)行測試模式下的功能測試、電參數(shù)(包括靜態(tài)參數(shù)及動態(tài)參數(shù))測試[2]。對需要外部通訊的外設(shè),測試機(jī)無法實現(xiàn)功能測試,需使用其他手段對測試機(jī)不能覆蓋的功能進(jìn)行測試,驗證芯片的可靠性和正確性[3]。本文設(shè)計了一種CPU芯片功能自動測試平臺,功能監(jiān)測全面,可快速安全可靠地實現(xiàn)芯片的功能檢測與管腳檢測,彌補(bǔ)了測試機(jī)測試的不足,提高了對CPU芯片功能測試的覆蓋率,同時可提高芯片的測試效率。
測試平臺的總體框架如圖1所示,主要由待測CPU芯片、主控CPU和1片F(xiàn)PGA組成。選用P2020處理器作為主控CPU實現(xiàn)對待測電路的功能測試,F(xiàn)PGA是一種靈活性強(qiáng)、高性能和低功耗的可編程邏輯器件[4],負(fù)責(zé)協(xié)助處理、自動測試和手動測試、上位機(jī)狀態(tài)指示和LED燈指示的實現(xiàn)。待測試的CPU包含SRIO、PCIe、SGMII、GMII/RGMII、DDR、USB、SDHC、UART、IIC、Espi、LBC等功能模塊。本文待測CPU較為復(fù)雜,含有的功能外設(shè)較多。
圖1 測試平臺的總體框架
測試平臺使用時,測試者只需要借用一臺帶有USB接口的計算機(jī)和電源即可完成自動測試。測試者通過觀測LED燈可知道正在進(jìn)行哪項測試及測試結(jié)果。同時通過計算機(jī)端的串口Shell環(huán)境獲取詳細(xì)測試過程及測試結(jié)果信息。測試平臺支持手動測試,可通過手動測試按鍵或串口Shell環(huán)境輸入命令控制完成。
測試系統(tǒng)中待測CPU采用插座形式安裝,背面加裝固定支架,插座周邊預(yù)留足夠空間方便放置加熱罩,PCB布局時,確保后續(xù)熱流罩測試時方便操作。除兩片處理器外,其他器件放置在印制板背面,降低高低溫對背面元器件的影響。待測CPU和主控CPU芯片分別設(shè)計獨(dú)立電源系統(tǒng),并設(shè)計快速泄放電電路,保證在更換CPU時間內(nèi)完成余電釋放,以保護(hù)處理器。主控芯片先上電,待啟動并運(yùn)行測試程序后再對待測CPU系統(tǒng)上電,獨(dú)立的電源系統(tǒng)也便于檢測待測電路電源系統(tǒng)狀態(tài)和測算功耗。
待測CPU和主控芯片的本地總線及控制信號、GPIO口、中斷信號、復(fù)位信號以及NOR Flash、測試結(jié)果指示燈等均引入FPGA,可靈活配置;Serdes板內(nèi)對連,并可配置成SRIO、PCIe、SGMII等模式便于接口測試;一路UART板內(nèi)對連,用于測試狀態(tài)上報,另一路UART做切換開關(guān),可作為調(diào)試打印接口或者數(shù)據(jù)通訊口;TSEC1和TSEC2口外接PHY芯片,分別配置成GMII模式和RGMII模式,經(jīng)過變壓器連接到RJ45,測試時通過外接網(wǎng)線互連;待測CPU掛載DDR3顆粒用作外存,也可用來測試DDR接口及控制器功能;一片I2C EEPROM分別用來測試主模式下的I2C接口,另一個I2C接口為兩個處理器對連;USB接口通過USB接插件引出,測試時插入U盤?;蛘咄ㄟ^USB連接線直連主控CPU的USB口完成主從模式切換測試;數(shù)據(jù)選擇器分離eSPI和eSDHC復(fù)用接口,分別掛載SPI Flash和引出SD插槽,用來測試eSPI接口和eSDHC接口;FPGA外置3位程序版本選擇開關(guān)和其他配置接口,包含UART打印、Serdes配置等;JTAG通過雙排針接插件引出,便于連接仿真器對JTAG口進(jìn)行測試。
軟件設(shè)計采用基于UML的嵌入式系統(tǒng)軟件開發(fā)方法,支持需求、分析、設(shè)計、實現(xiàn)、測試的循環(huán)迭代。本方法利用面向?qū)ο蟮母拍顚⑾到y(tǒng)分成了上位機(jī)、主控CPU、待測CPU和測試員5個模塊,一方面方便了系統(tǒng)開發(fā)時的迭代過程以及系統(tǒng)的后期維護(hù),設(shè)計人員可以根據(jù)新的不同需要對各個步驟中的相應(yīng)部分進(jìn)行調(diào)整來實現(xiàn)改進(jìn),這樣就可以大量減少重復(fù)分析或設(shè)計的過程;另一方面,對象概念可以和嵌入式系統(tǒng)中的任務(wù)概念很好地映射起來。任務(wù)可看成是由一個或多個對象協(xié)作而成的,在分析、設(shè)計過程中確立對象的同時也就確定了系統(tǒng)的多個任務(wù),為嵌入式系統(tǒng)的多任務(wù)特性提供了很好的支持。
測試平臺上電后,主控與待測電路分別加載操作系統(tǒng)與目標(biāo)文件,通過串口通信單元進(jìn)行握手,主控向上位機(jī)反饋當(dāng)前的工作狀態(tài)。通過上位機(jī)界面或者板卡按鈕發(fā)出測試命令,主控解析命令后,根據(jù)需要傳遞相應(yīng)指令給待測CPU,獲取結(jié)果后返回詳細(xì)信息給上位機(jī),同時通過LED燈反饋測試結(jié)果。
該測試軟件使用C語言進(jìn)行待測CPU和主控CPU功能模塊的開發(fā),使用風(fēng)河公司的WorkBench3.3為編譯平臺,生成VxWorks3.3嵌入式操作系統(tǒng),VxWorks作為嵌入式實時操作系統(tǒng),其系統(tǒng)運(yùn)行的實時性、可靠性與其他系統(tǒng)相比具有明顯優(yōu)勢。根據(jù)主控與待測電路外部配置、資源分配情況等編寫B(tài)SP包,開發(fā)相應(yīng)的接口驅(qū)動,生成引導(dǎo)程序與VxWorks系統(tǒng)。同時基于VxWorks操作系統(tǒng),使用底層提供驅(qū)動API與系統(tǒng)函數(shù)API開發(fā)相應(yīng)的測試程序。軟件UML時序如圖2所示。
圖2 軟件設(shè)計UML時序
測試平臺上電后主控運(yùn)行測試程序,監(jiān)控待測電路各個狀態(tài),待測電路成功加載操作系統(tǒng)及完成后自動開始測試流程。測試員可通過串口與主控電路進(jìn)行通信,在上位機(jī)Shell環(huán)境下發(fā)出特定指令實現(xiàn)對處理器各模塊功能、性能測試的控制以及工作狀態(tài)的獲取。測試內(nèi)容涵蓋待測處理器所有接口,在測試的同時定時向上位機(jī)傳輸待測電路的溫度數(shù)據(jù),通過LED 燈反饋測試結(jié)果,具體流程如圖3所示。
圖3 測試流程
自動測試期間,可通過外部按鍵打斷程序,切換到手動測試模式,手動測試模式下,可通過單項測試按鈕測試指定接口,也可在上位機(jī)Shell環(huán)境下查看自動測試列表,輸入數(shù)字,選擇數(shù)字在列表中對應(yīng)測試項進(jìn)行測試,以及查看待測電路的電流、電壓、溫度、運(yùn)行情況等狀態(tài)信息;可通過按鍵恢復(fù)自動測試。
測試平臺如圖4所示,測試系統(tǒng)上電前需將網(wǎng)線、U盤、SD卡、串口線、電源線纜插入對應(yīng)的接口。測試人員執(zhí)行測試的步驟如下:
圖4 測試平臺
1)將待測CPU放入插座中,自動測試開關(guān)向下,使能自動測試模式;
2)連接12 V直流電到電源接插件,依次將主控CPU端電源開關(guān)、待測CPU端電源開關(guān)、整板電源開關(guān)撥至向上,主控端電源上電指示燈、待測CPU端電源上電指示燈、整板電源上電指示燈均點亮,表明供電成功;
3)在測試過程中自動測試指示燈為藍(lán)色并持續(xù)閃爍,當(dāng)所有測試項測試結(jié)束并且測試成功,自動測試指示燈顯示為綠色,并且所有測試項指示燈顯示為綠色;
4)當(dāng)單個測試項測試異常,自動測試指示燈最終顯示為紅色,出現(xiàn)異常的測試項指示燈顯示為紅色,測試成功的測試項指示燈顯示為綠色;通過串口打印信息,可以清晰地展示測試結(jié)果及具體測試參數(shù)。打印信息包含測試項、測試結(jié)果、異常參數(shù)、測試數(shù)據(jù)等參數(shù),測試成功的測試項顏色為綠色,測試異常的測試項顏色為紅色。
將待測CPU放入測試插座中,按照上述測試步驟執(zhí)行測試,上位機(jī)顯示的測試結(jié)果如圖5所示,通過打印信息可直觀地觀測測試的實際情況,定位故障位置,對故障點的硬件環(huán)境檢查后可快速進(jìn)行復(fù)測,可縮短查找故障位置的時間。串口Shell環(huán)境可將待測CPU的電壓、電流和功能測試情況以表格的形式自動保存,測試者只需要在測試結(jié)果中記錄待測CPU的編號,不需要通過觀測供電電源的電壓和電流手動記錄測試過程中的電壓值和電流值,提高了產(chǎn)品的測試效率。
圖5 上位機(jī)顯示的測試結(jié)果
本文提出的測試平臺可快速安全可靠地實現(xiàn)待測CPU的功能檢測與管腳檢測,測試結(jié)果通過串口輸出表格化信息,便于觀察測試結(jié)果與故障判斷,功能監(jiān)測全面,兩片處理器分別設(shè)計獨(dú)立電源系統(tǒng)和快速泄放電電路,保證在測試中更換處理器時間內(nèi)能完成余電釋放,以保護(hù)處理器,獨(dú)立的電源系統(tǒng)也便于檢測CPU芯片電源系統(tǒng)狀態(tài)和測算功耗。本測試平臺操作便捷,通過串口輸出結(jié)果和觀測LED燈狀態(tài)可快速查看測試結(jié)果,篩選出合格的CPU電路,同時可快速定位有問題CPU的故障位置,待測CPU的電壓、電流和功能測試可自動保存,減少測試人員的人為介入,可縮短電路測試時間,提高產(chǎn)品的測試效率。