侯慶慶,劉 凱,李文學(xué)
(1.中科芯集成電路有限公司,江蘇無(wú)錫214072;2.中電科申泰信息科技有限公司,江蘇無(wú)錫214063)
隨著電路規(guī)模的增大,CPU搭載的外設(shè)越來(lái)越多,且CPU包含多個(gè)內(nèi)核,CPU的測(cè)試也越來(lái)越重要,通過(guò)芯片的測(cè)試可保證電路的可靠性和正確性[1]。芯片的測(cè)試通常在測(cè)試設(shè)備上實(shí)現(xiàn),測(cè)試機(jī)可執(zhí)行測(cè)試模式下的功能測(cè)試、電參數(shù)(包括靜態(tài)參數(shù)及動(dòng)態(tài)參數(shù))測(cè)試[2]。對(duì)需要外部通訊的外設(shè),測(cè)試機(jī)無(wú)法實(shí)現(xiàn)功能測(cè)試,需使用其他手段對(duì)測(cè)試機(jī)不能覆蓋的功能進(jìn)行測(cè)試,驗(yàn)證芯片的可靠性和正確性[3]。本文設(shè)計(jì)了一種CPU芯片功能自動(dòng)測(cè)試平臺(tái),功能監(jiān)測(cè)全面,可快速安全可靠地實(shí)現(xiàn)芯片的功能檢測(cè)與管腳檢測(cè),彌補(bǔ)了測(cè)試機(jī)測(cè)試的不足,提高了對(duì)CPU芯片功能測(cè)試的覆蓋率,同時(shí)可提高芯片的測(cè)試效率。
測(cè)試平臺(tái)的總體框架如圖1所示,主要由待測(cè)CPU芯片、主控CPU和1片F(xiàn)PGA組成。選用P2020處理器作為主控CPU實(shí)現(xiàn)對(duì)待測(cè)電路的功能測(cè)試,F(xiàn)PGA是一種靈活性強(qiáng)、高性能和低功耗的可編程邏輯器件[4],負(fù)責(zé)協(xié)助處理、自動(dòng)測(cè)試和手動(dòng)測(cè)試、上位機(jī)狀態(tài)指示和LED燈指示的實(shí)現(xiàn)。待測(cè)試的CPU包含SRIO、PCIe、SGMII、GMII/RGMII、DDR、USB、SDHC、UART、IIC、Espi、LBC等功能模塊。本文待測(cè)CPU較為復(fù)雜,含有的功能外設(shè)較多。

圖1 測(cè)試平臺(tái)的總體框架
測(cè)試平臺(tái)使用時(shí),測(cè)試者只需要借用一臺(tái)帶有USB接口的計(jì)算機(jī)和電源即可完成自動(dòng)測(cè)試。測(cè)試者通過(guò)觀測(cè)LED燈可知道正在進(jìn)行哪項(xiàng)測(cè)試及測(cè)試結(jié)果。同時(shí)通過(guò)計(jì)算機(jī)端的串口Shell環(huán)境獲取詳細(xì)測(cè)試過(guò)程及測(cè)試結(jié)果信息。測(cè)試平臺(tái)支持手動(dòng)測(cè)試,可通過(guò)手動(dòng)測(cè)試按鍵或串口Shell環(huán)境輸入命令控制完成。
測(cè)試系統(tǒng)中待測(cè)CPU采用插座形式安裝,背面加裝固定支架,插座周邊預(yù)留足夠空間方便放置加熱罩,PCB布局時(shí),確保后續(xù)熱流罩測(cè)試時(shí)方便操作。除兩片處理器外,其他器件放置在印制板背面,降低高低溫對(duì)背面元器件的影響。待測(cè)CPU和主控CPU芯片分別設(shè)計(jì)獨(dú)立電源系統(tǒng),并設(shè)計(jì)快速泄放電電路,保證在更換CPU時(shí)間內(nèi)完成余電釋放,以保護(hù)處理器。主控芯片先上電,待啟動(dòng)并運(yùn)行測(cè)試程序后再對(duì)待測(cè)CPU系統(tǒng)上電,獨(dú)立的電源系統(tǒng)也便于檢測(cè)待測(cè)電路電源系統(tǒng)狀態(tài)和測(cè)算功耗。
待測(cè)CPU和主控芯片的本地總線及控制信號(hào)、GPIO口、中斷信號(hào)、復(fù)位信號(hào)以及NOR Flash、測(cè)試結(jié)果指示燈等均引入FPGA,可靈活配置;Serdes板內(nèi)對(duì)連,并可配置成SRIO、PCIe、SGMII等模式便于接口測(cè)試;一路UART板內(nèi)對(duì)連,用于測(cè)試狀態(tài)上報(bào),另一路UART做切換開(kāi)關(guān),可作為調(diào)試打印接口或者數(shù)據(jù)通訊口;TSEC1和TSEC2口外接PHY芯片,分別配置成GMII模式和RGMII模式,經(jīng)過(guò)變壓器連接到RJ45,測(cè)試時(shí)通過(guò)外接網(wǎng)線互連;待測(cè)CPU掛載DDR3顆粒用作外存,也可用來(lái)測(cè)試DDR接口及控制器功能;一片I2C EEPROM分別用來(lái)測(cè)試主模式下的I2C接口,另一個(gè)I2C接口為兩個(gè)處理器對(duì)連;USB接口通過(guò)USB接插件引出,測(cè)試時(shí)插入U(xiǎn)盤?;蛘咄ㄟ^(guò)USB連接線直連主控CPU的USB口完成主從模式切換測(cè)試;數(shù)據(jù)選擇器分離eSPI和eSDHC復(fù)用接口,分別掛載SPI Flash和引出SD插槽,用來(lái)測(cè)試eSPI接口和eSDHC接口;FPGA外置3位程序版本選擇開(kāi)關(guān)和其他配置接口,包含UART打印、Serdes配置等;JTAG通過(guò)雙排針接插件引出,便于連接仿真器對(duì)JTAG口進(jìn)行測(cè)試。
軟件設(shè)計(jì)采用基于UML的嵌入式系統(tǒng)軟件開(kāi)發(fā)方法,支持需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試的循環(huán)迭代。本方法利用面向?qū)ο蟮母拍顚⑾到y(tǒng)分成了上位機(jī)、主控CPU、待測(cè)CPU和測(cè)試員5個(gè)模塊,一方面方便了系統(tǒng)開(kāi)發(fā)時(shí)的迭代過(guò)程以及系統(tǒng)的后期維護(hù),設(shè)計(jì)人員可以根據(jù)新的不同需要對(duì)各個(gè)步驟中的相應(yīng)部分進(jìn)行調(diào)整來(lái)實(shí)現(xiàn)改進(jìn),這樣就可以大量減少重復(fù)分析或設(shè)計(jì)的過(guò)程;另一方面,對(duì)象概念可以和嵌入式系統(tǒng)中的任務(wù)概念很好地映射起來(lái)。任務(wù)可看成是由一個(gè)或多個(gè)對(duì)象協(xié)作而成的,在分析、設(shè)計(jì)過(guò)程中確立對(duì)象的同時(shí)也就確定了系統(tǒng)的多個(gè)任務(wù),為嵌入式系統(tǒng)的多任務(wù)特性提供了很好的支持。
測(cè)試平臺(tái)上電后,主控與待測(cè)電路分別加載操作系統(tǒng)與目標(biāo)文件,通過(guò)串口通信單元進(jìn)行握手,主控向上位機(jī)反饋當(dāng)前的工作狀態(tài)。通過(guò)上位機(jī)界面或者板卡按鈕發(fā)出測(cè)試命令,主控解析命令后,根據(jù)需要傳遞相應(yīng)指令給待測(cè)CPU,獲取結(jié)果后返回詳細(xì)信息給上位機(jī),同時(shí)通過(guò)LED燈反饋測(cè)試結(jié)果。
該測(cè)試軟件使用C語(yǔ)言進(jìn)行待測(cè)CPU和主控CPU功能模塊的開(kāi)發(fā),使用風(fēng)河公司的WorkBench3.3為編譯平臺(tái),生成VxWorks3.3嵌入式操作系統(tǒng),VxWorks作為嵌入式實(shí)時(shí)操作系統(tǒng),其系統(tǒng)運(yùn)行的實(shí)時(shí)性、可靠性與其他系統(tǒng)相比具有明顯優(yōu)勢(shì)。根據(jù)主控與待測(cè)電路外部配置、資源分配情況等編寫(xiě)B(tài)SP包,開(kāi)發(fā)相應(yīng)的接口驅(qū)動(dòng),生成引導(dǎo)程序與VxWorks系統(tǒng)。同時(shí)基于VxWorks操作系統(tǒng),使用底層提供驅(qū)動(dòng)API與系統(tǒng)函數(shù)API開(kāi)發(fā)相應(yīng)的測(cè)試程序。軟件UML時(shí)序如圖2所示。

圖2 軟件設(shè)計(jì)UML時(shí)序
測(cè)試平臺(tái)上電后主控運(yùn)行測(cè)試程序,監(jiān)控待測(cè)電路各個(gè)狀態(tài),待測(cè)電路成功加載操作系統(tǒng)及完成后自動(dòng)開(kāi)始測(cè)試流程。測(cè)試員可通過(guò)串口與主控電路進(jìn)行通信,在上位機(jī)Shell環(huán)境下發(fā)出特定指令實(shí)現(xiàn)對(duì)處理器各模塊功能、性能測(cè)試的控制以及工作狀態(tài)的獲取。測(cè)試內(nèi)容涵蓋待測(cè)處理器所有接口,在測(cè)試的同時(shí)定時(shí)向上位機(jī)傳輸待測(cè)電路的溫度數(shù)據(jù),通過(guò)LED 燈反饋測(cè)試結(jié)果,具體流程如圖3所示。

圖3 測(cè)試流程
自動(dòng)測(cè)試期間,可通過(guò)外部按鍵打斷程序,切換到手動(dòng)測(cè)試模式,手動(dòng)測(cè)試模式下,可通過(guò)單項(xiàng)測(cè)試按鈕測(cè)試指定接口,也可在上位機(jī)Shell環(huán)境下查看自動(dòng)測(cè)試列表,輸入數(shù)字,選擇數(shù)字在列表中對(duì)應(yīng)測(cè)試項(xiàng)進(jìn)行測(cè)試,以及查看待測(cè)電路的電流、電壓、溫度、運(yùn)行情況等狀態(tài)信息;可通過(guò)按鍵恢復(fù)自動(dòng)測(cè)試。
測(cè)試平臺(tái)如圖4所示,測(cè)試系統(tǒng)上電前需將網(wǎng)線、U盤、SD卡、串口線、電源線纜插入對(duì)應(yīng)的接口。測(cè)試人員執(zhí)行測(cè)試的步驟如下:

圖4 測(cè)試平臺(tái)
1)將待測(cè)CPU放入插座中,自動(dòng)測(cè)試開(kāi)關(guān)向下,使能自動(dòng)測(cè)試模式;
2)連接12 V直流電到電源接插件,依次將主控CPU端電源開(kāi)關(guān)、待測(cè)CPU端電源開(kāi)關(guān)、整板電源開(kāi)關(guān)撥至向上,主控端電源上電指示燈、待測(cè)CPU端電源上電指示燈、整板電源上電指示燈均點(diǎn)亮,表明供電成功;
3)在測(cè)試過(guò)程中自動(dòng)測(cè)試指示燈為藍(lán)色并持續(xù)閃爍,當(dāng)所有測(cè)試項(xiàng)測(cè)試結(jié)束并且測(cè)試成功,自動(dòng)測(cè)試指示燈顯示為綠色,并且所有測(cè)試項(xiàng)指示燈顯示為綠色;
4)當(dāng)單個(gè)測(cè)試項(xiàng)測(cè)試異常,自動(dòng)測(cè)試指示燈最終顯示為紅色,出現(xiàn)異常的測(cè)試項(xiàng)指示燈顯示為紅色,測(cè)試成功的測(cè)試項(xiàng)指示燈顯示為綠色;通過(guò)串口打印信息,可以清晰地展示測(cè)試結(jié)果及具體測(cè)試參數(shù)。打印信息包含測(cè)試項(xiàng)、測(cè)試結(jié)果、異常參數(shù)、測(cè)試數(shù)據(jù)等參數(shù),測(cè)試成功的測(cè)試項(xiàng)顏色為綠色,測(cè)試異常的測(cè)試項(xiàng)顏色為紅色。
將待測(cè)CPU放入測(cè)試插座中,按照上述測(cè)試步驟執(zhí)行測(cè)試,上位機(jī)顯示的測(cè)試結(jié)果如圖5所示,通過(guò)打印信息可直觀地觀測(cè)測(cè)試的實(shí)際情況,定位故障位置,對(duì)故障點(diǎn)的硬件環(huán)境檢查后可快速進(jìn)行復(fù)測(cè),可縮短查找故障位置的時(shí)間。串口Shell環(huán)境可將待測(cè)CPU的電壓、電流和功能測(cè)試情況以表格的形式自動(dòng)保存,測(cè)試者只需要在測(cè)試結(jié)果中記錄待測(cè)CPU的編號(hào),不需要通過(guò)觀測(cè)供電電源的電壓和電流手動(dòng)記錄測(cè)試過(guò)程中的電壓值和電流值,提高了產(chǎn)品的測(cè)試效率。

圖5 上位機(jī)顯示的測(cè)試結(jié)果
本文提出的測(cè)試平臺(tái)可快速安全可靠地實(shí)現(xiàn)待測(cè)CPU的功能檢測(cè)與管腳檢測(cè),測(cè)試結(jié)果通過(guò)串口輸出表格化信息,便于觀察測(cè)試結(jié)果與故障判斷,功能監(jiān)測(cè)全面,兩片處理器分別設(shè)計(jì)獨(dú)立電源系統(tǒng)和快速泄放電電路,保證在測(cè)試中更換處理器時(shí)間內(nèi)能完成余電釋放,以保護(hù)處理器,獨(dú)立的電源系統(tǒng)也便于檢測(cè)CPU芯片電源系統(tǒng)狀態(tài)和測(cè)算功耗。本測(cè)試平臺(tái)操作便捷,通過(guò)串口輸出結(jié)果和觀測(cè)LED燈狀態(tài)可快速查看測(cè)試結(jié)果,篩選出合格的CPU電路,同時(shí)可快速定位有問(wèn)題CPU的故障位置,待測(cè)CPU的電壓、電流和功能測(cè)試可自動(dòng)保存,減少測(cè)試人員的人為介入,可縮短電路測(cè)試時(shí)間,提高產(chǎn)品的測(cè)試效率。