柳 穎,蔡永招
(中國人民解放軍91114部隊,上海 200434)
某指揮控制系統(tǒng)板件的集成度高,大部分的板件由大規(guī)模集成電路CPLD、FPGA及DSP芯片組成。這些體積小、集成度高的器件為電路設(shè)計帶來了很大的便利:如功耗的降低、面積的減小等;同時,它也帶來了一些困擾:由于功能模塊或芯片內(nèi)部節(jié)點(diǎn)無法探測,測試過程中無法使用測試探筆,導(dǎo)致大量故障變得很難測試[10]。因此修理時通常采取更換部件或整件的方法來排除故障,備件消耗較大。此外,由于缺乏有效的檢測設(shè)備,修理時更換下來的故障件修理難度較高,導(dǎo)致大量故障件不能被及時修復(fù)進(jìn)行循環(huán)利用,進(jìn)一步加劇了備件庫存消耗過快現(xiàn)象[1]。保障時效性受到制約,保障難度逐年加大。由于傳統(tǒng)測試技術(shù)面臨的測試?yán)щy的增多,需要一種新的測試?yán)砟詈蜏y試技術(shù)來解決傳統(tǒng)測試方法所無法解決的問題。邊界掃描技術(shù)作為一種國際標(biāo)準(zhǔn),提供了一套完整的、標(biāo)準(zhǔn)化的超大規(guī)模集成電路測試性設(shè)計方法。其主要思想是通過在芯片管腳和芯片內(nèi)部邏輯電路之間增加由移位寄存器構(gòu)成的邊界掃描單元(BSC),每個BSC都可輸入數(shù)據(jù),也可輸出數(shù)據(jù),連接成一個移位寄存器,以實現(xiàn)測試向量的加載以及測試響應(yīng)向量的捕獲。在測試期間,利用這些邊界掃描單元來實現(xiàn)對芯片管腳狀態(tài)的串行設(shè)定和狀態(tài)讀取,使芯片管腳具有可控性和可觀測性。從而克服了測試復(fù)雜數(shù)字電路的技術(shù)障礙,利用它可以對含有大規(guī)模集成電路的被測電路板進(jìn)行靜態(tài)測試、功能測試、故障隔離和定位[8]。
為解決該指控系統(tǒng)中高集成度電路板檢測手段缺失的問題,將成熟高新測試技術(shù)運(yùn)用到裝備修理工作中,研制了指控系統(tǒng)板件測試設(shè)備。該測試設(shè)備采用PXI虛擬儀器、邊界掃描測試等技術(shù),由PXI硬件平臺、SCANWORKS軟件平臺、二次開發(fā)的測試程序集(TPS)等三部分組成。
硬件平臺以標(biāo)準(zhǔn)8槽PXI機(jī)箱為載體,具備模擬量輸出模塊、邊界掃描控制模塊、數(shù)字IO模塊、數(shù)字萬用表模塊、可編程電源模塊等硬件測試資源。數(shù)字信號通過信號探針模塊將資源引出,構(gòu)成標(biāo)準(zhǔn)的通用接口,通用接口通過轉(zhuǎn)接適配板與被測電路板實現(xiàn)連接,指控系統(tǒng)板件測試設(shè)備的硬件結(jié)構(gòu)示意見圖1。
圖1 硬件結(jié)構(gòu)示意圖
SCANWORKS是由ASSET INTERTECH公司開發(fā)的邊界掃描測試軟件。該軟件支持IEEE1149.1及1149.6協(xié)議,在業(yè)內(nèi)應(yīng)用較廣[5]。SCANWORKS測試軟件主要功能有:根據(jù)網(wǎng)表文件和邊界掃描芯片的BSDL文件,產(chǎn)生所需要的測試數(shù)據(jù)脈沖串的測試程序;生成存儲器和可編程器件在線燒錄數(shù)據(jù);程序單步或連續(xù)運(yùn)行調(diào)試;生成測試覆蓋率報告等[2]。
應(yīng)用SCANWORKS測試軟件設(shè)計開發(fā)被測板件的測試程序集(TPS)需要進(jìn)行以下幾個方面的準(zhǔn)備工作:
1) 判斷電路板是否支持邊界掃描測試。被測電路板需含有JTAG接口,被測電路板中含有的CPLD、FPGA、DSP、CPU等可編程邏輯器件符合IEEE1149.1標(biāo)準(zhǔn),則該電路板支持邊界掃描測試。
2)準(zhǔn)備好邊界掃描測試芯片的BSDL文件??稍趯?yīng)芯片廠商官方網(wǎng)站下載被測電路板中所有支持邊界掃描測試芯片的BSDL文件。
3)記錄電路板中所有集成芯片的具體型號。
4)如果被測電路板中含CPLD器件,應(yīng)將CPLD器件中的程序讀取保存,比較老的CPLD有可能需要在測試時擦除程序。
對邊界掃描測試軟件SCANWORKS的應(yīng)用研究來說,選擇合適的被測對象是非常關(guān)鍵的。一方面對象要具備實施邊界掃描測試技術(shù)的各項條件,如主要芯片具有邊界(boundery scan,BS)掃描接口(最基本的條件)和相應(yīng)的邊界掃描描述語言(BSDL)文件;另一方面,對象的當(dāng)前應(yīng)用也要不乏典型性,從而體現(xiàn)該板件測試程序集開發(fā)的實際意義。為此,選擇指控系統(tǒng)中具有典型電路特征的模數(shù)轉(zhuǎn)換板為被測對象,介紹該電路板測試程序集(TPS)的設(shè)計及應(yīng)用。模數(shù)轉(zhuǎn)換電路板整體結(jié)構(gòu)如圖2所示。
圖2 模數(shù)轉(zhuǎn)換電路板整體結(jié)構(gòu)圖
模數(shù)轉(zhuǎn)換電路板實現(xiàn)如下功能:將外部正余弦旋轉(zhuǎn)變壓器輸出的模擬信號,經(jīng)過信號處理后輸出VME總線形式的數(shù)字信號。由于具有豐富的外部接口,控制邏輯復(fù)雜,轉(zhuǎn)換通道路數(shù)多,該板件在指控系統(tǒng)中故障頻發(fā)。整個模塊的信號流程為:正余弦旋轉(zhuǎn)變壓器輸出的信號通過接插件CN2~CN4輸入到信號接口電路(16個通道),輸出的數(shù)字信號輸入到可編程邏輯器件EPM7256SQC208進(jìn)行數(shù)據(jù)采集,再經(jīng)過接口處理芯片XC95216處理后輸入到DSP(ADSP-2185)控制器進(jìn)行反三角函數(shù)計算得到相應(yīng)的轉(zhuǎn)角,最后由接口處理芯片XC95216輸出給其它外部設(shè)備。模數(shù)轉(zhuǎn)換電路板屬于模數(shù)混合電路板,因此針對該板的測試需分兩部分:模數(shù)轉(zhuǎn)換模塊測試及可編程器件邊掃測試。
邊界掃描測試電路板測試流程如圖3所示。首先,通過SCANWORKS軟件,建立被測板件的測試工程。測試工程主要分為掃描鏈測試、互連測試、存儲器測試、簇測試等類型,不同的被測板件,其建立的工程也不同[2]。其次,在掃描鏈測試中添加具備邊掃功能的器件,并將其BSDL文件導(dǎo)入測試工程中;導(dǎo)入轉(zhuǎn)接適配板網(wǎng)表文件與被測板網(wǎng)表文件,并在SCANWORKS軟件中合并成一張網(wǎng)表文件,軟件根據(jù)對BSDL文件和網(wǎng)表文件的分析,自動生成測試向量。掃描鏈路測試是電路板測試的基礎(chǔ),掃描鏈測試通過后才能繼續(xù)進(jìn)行電路板其它的測試項。最后,完成電路板上各個測試項后,軟件生成故障覆蓋率報表并顯示結(jié)果。
圖3 邊界掃描測試電路板流程圖
模數(shù)轉(zhuǎn)換電路板主要由XC95216、EPM7256S、ADSP2185和16路AD轉(zhuǎn)換模塊組成。測試應(yīng)能檢測到被測板上集成電路功能好壞和引腳的短路、斷路等故障,并可以定位到具體的引腳。模數(shù)轉(zhuǎn)換電路板的測試主要采用邊界掃描的原理,主要分兩大部分實現(xiàn):數(shù)字電路的測試和模擬電路的測試。該板的測試原理框圖如圖4所示。
圖4 模數(shù)轉(zhuǎn)換板測試原理框圖
數(shù)字電路測試主要包括VME接口、XC95216和EPM7256S之間的互連測試,VME接口與測試平臺的IO形成測試回路。數(shù)字電路部分的測試向量,是SCANWORKS軟件根據(jù)被測板與轉(zhuǎn)接適配板的原理圖網(wǎng)表文件自動生成。測試時,由邊界掃描控制器控制測試平臺向可編程CPLD器件XC95216、EPM7256S的IO引腳發(fā)送和接收測試向量,軟件通過對比接收的測試向量與期望的測試向量來判斷被測電路的好壞,并且定位到具體的故障點(diǎn)。模數(shù)轉(zhuǎn)換電路板的測試如果只采用邊界掃描測試,故障覆蓋率較低。因此采用邊界掃描測試與功能測試相結(jié)合的方式進(jìn)行。測試程序集在系統(tǒng)軟件平臺統(tǒng)一的調(diào)度下執(zhí)行,通過SCANWORKS提供的程序接口調(diào)用其他儀器資源配合完成被測電路板的測試診斷[2]。功能測試的方法用于模擬電路部分的測試。
模擬電路測試主要是完成對16路AD模塊的測試,AD模塊的模擬量是由測試平臺里的PXI-6704提供,并通過繼電器開關(guān)控制模擬量的輸出。邊界掃描控制器通過控制EPM7256S上相應(yīng)的引腳,驅(qū)動AD模塊工作,并讀取AD模塊輸出的串行轉(zhuǎn)換結(jié)果,進(jìn)行計算后與PXI-6704輸出的結(jié)果做比較,誤差在允許的范圍內(nèi)則認(rèn)為是正常,否則被測AD模塊有問題。
模數(shù)轉(zhuǎn)換電路板的測試主要由鏈路掃描測試、內(nèi)部互連測試、16路AD電路測試組成。測試工程項目如圖5所示。
圖5 測試工程項目
2.5.1 鏈路完整性測試
鏈路完整性測試主要是檢驗電路板邊界掃描鏈路的完好性、器件布置的正確性以及邊界掃描測試總線信號是否正常。圖5中鏈路完整性測試有四項,其中SPVSP3鏈路用于單獨(dú)檢測邊掃器件U1(XC95216),SPVSP4鏈路用于單獨(dú)檢測邊掃器件U2(EPM7256S),SPVSP5鏈路用于單獨(dú)檢測邊掃器件U14(EPM7256S);而SPV1鏈路用于綜合檢測上述3個邊掃器件。
2.5.2 內(nèi)部互連測試
器件間的互連測試是邊界掃描技術(shù)的基本測試類型之一。進(jìn)行內(nèi)部互連測試前需根據(jù)模數(shù)轉(zhuǎn)換電路板及轉(zhuǎn)接適配板的原理圖,生成相應(yīng)的測試網(wǎng)表。由于SCANWORKS軟件不兼容Protel格式的網(wǎng)表,需利用OMNINET For Windows軟件將Protel格式的網(wǎng)表轉(zhuǎn)化為Allegro格式的網(wǎng)表,后綴名為.nod的形式,并將其導(dǎo)入SCANWORKS軟件中。依據(jù)此網(wǎng)表文件,通過邊界掃描測試軟件實現(xiàn)對被測電路板上的邊掃器件間兩兩互連線是否出現(xiàn)開路、短路、虛焊等問題的測試[10]。圖5中的互連測試項有兩項:interconectSP125測試項用于檢測適配板CPLD器件U1與被測板U14之間的互連檢測,interconectSP1345測試項用于檢測適配板CPLD器件U1與被測板U1、U2、U14之間的互連檢測。
為便于SCANWORKS軟件計算測試向量,被測電路中的電阻、電容、集成電路等需要指定器件模型。器件類型中共分以下七種:簇元件(Cluster)、保護(hù)元件(Protect)、虛擬元件(Dummy)、電阻(Resistor)、電容(Capacitor)、排阻(Serial Resistor)、JTAG連接器(JTAG Connector),應(yīng)根據(jù)被測電路板中元器件類型選擇對應(yīng)的設(shè)置。
2.5.3 模數(shù)轉(zhuǎn)換電路測試
模數(shù)轉(zhuǎn)換板上的16個獨(dú)立AD轉(zhuǎn)換模塊,主轉(zhuǎn)換芯片為AD7894AR-3,模擬輸入的范圍為±2.5 V。測試設(shè)備內(nèi)的模擬量輸出模塊PXI-6704的模擬輸出范圍為±10 V,滿足輸入信號幅度要求。根據(jù)JTAG測試技術(shù),對以EPM7256S(U2,U14)為核心組成的掃描鏈路進(jìn)行控制,利用編寫的SCANWORKS的腳本程序?qū)δ?shù)轉(zhuǎn)換電路進(jìn)行測試。如圖5模數(shù)轉(zhuǎn)換測試項,選中SCANWORKS下的“1SINCOS1_U1HU3H”測試選項,運(yùn)行程序完成測試。1SINCOS1_U1HU3H~16SINCOS16_ADP_U1AU3A測試程序用于16路AD轉(zhuǎn)換模塊的測試,與電路板上硬件是一一對應(yīng)的,不同的測試通道選擇對應(yīng)的測試工程即可完成測試。
適配板是用于連接被測電路板和檢測設(shè)備,將電路板邊緣連接器、內(nèi)部測試節(jié)點(diǎn)、JTAG接口等連接到檢測設(shè)備的接口板件。測試設(shè)備提供多路直流電源:+3.3 V、+5 V、+12 V、+24 V及3路0~15 V可調(diào)電源,若被測電路板中含有其它供電電壓,可通過以上電壓及相應(yīng)的電源轉(zhuǎn)換模塊在適配板上完成轉(zhuǎn)換。適配板采用防插錯設(shè)計,避免安裝過程出錯。設(shè)計過程中只需將接插件的信號端接入對應(yīng)的J1和J4口,J2和J3口用于測試平臺的功能擴(kuò)展,同時根據(jù)被測電路板的JTAG鏈路設(shè)計對應(yīng)的JTAG接口,該接口設(shè)計符合IEEE1149.1標(biāo)準(zhǔn)。根據(jù)被測電路板中電流大小焊接不同規(guī)格的保險。測試平臺不支持差分信號的處理,因此在適配板設(shè)計過程中需將差分信號做相應(yīng)處理。
模數(shù)轉(zhuǎn)換電路板包含3片CPLD器件:1個XC95216和2個EPM7256S;1個DSP器件ADSP-2185;1個程序儲存器TMS29F010;16個AD模塊組成:每個AD模塊包括2個運(yùn)放OP2117,1個光耦HCPL-2231,3個光耦HCPL-2631,1個模擬開關(guān)ADG433,1個電源模塊AD680,2個模數(shù)轉(zhuǎn)換器件AD7894,1個74HC14。整板的故障覆蓋率由2個內(nèi)部互連測試項及16個腳本測試項決定,在SCANWORKS軟件下,首先編譯互連測試項,得出測試覆蓋電路及覆蓋率;其次編譯16個腳本測試項目,得出該部分電路的測試覆蓋電路及故障覆蓋率。將兩者綜合便形成整板故障覆蓋率報表,該板的覆蓋率報表見表1。
表1 測試覆蓋率報表
基于SCANWORKS的模數(shù)轉(zhuǎn)換電路板的測試程序集故障覆蓋率達(dá)到97.1%,已經(jīng)成功運(yùn)用在指控系統(tǒng)模數(shù)轉(zhuǎn)換板的測試和維修工作中,測試程序集中的互連測試項特別適合排除大規(guī)模集成電路管腳豐富、間距微小引起的管腳粘連、虛焊等肉眼難以發(fā)現(xiàn)的故障[3];功能測試項能在16個模數(shù)轉(zhuǎn)換通道中快速發(fā)現(xiàn)故障通道,通過測試結(jié)果分析判斷故障器件是輸入光耦、輸出光耦、運(yùn)放、AD轉(zhuǎn)換芯片還是電源轉(zhuǎn)換芯片。模數(shù)轉(zhuǎn)換電路板測試程序集(TPS)開
發(fā)經(jīng)驗為其他具有JTAG接口的大規(guī)模集成電路復(fù)雜電路板的TPS開發(fā)提供了借鑒。只需更改適配板的設(shè)計,便能在測試設(shè)備上運(yùn)行該板件的TPS,實現(xiàn)板件的測試及故障診斷。實踐證明:運(yùn)用SCANWORKS軟件實現(xiàn)大規(guī)模集成電路電路板的TPS開發(fā),對于提高故障件維修保障能力、備件研制及生產(chǎn)能力將發(fā)揮很大的作用[6]。