(1.西南電子技術(shù)研究所,四川 成都 610000;2.中國(guó)人民解放軍32011 部隊(duì),北京 100085)
隨著數(shù)字電路技術(shù)進(jìn)入超大規(guī)模集成電路時(shí)代,先進(jìn)的數(shù)字電路越來(lái)越復(fù)雜。以FPGA、DSP以及POWERPC 等這類(lèi)BGA 器件為基礎(chǔ)構(gòu)成的數(shù)字總線(xiàn)系統(tǒng),已成為數(shù)字化處理的核心[1]。性能的不斷提升導(dǎo)致了設(shè)備復(fù)雜性增加,增加了測(cè)試難度。如何在性能提高的同時(shí)保證設(shè)備具有良好的測(cè)試性,已經(jīng)成為設(shè)備硬件設(shè)計(jì)階段需要考慮的關(guān)鍵問(wèn)題。
基于邊界掃描的可測(cè)性設(shè)計(jì)(Design For Test,DFT)技術(shù)[2-4],利用FPGA、DSP 以及POWERPC等核心器件自帶的邊界掃描測(cè)試鏈路,解決了這類(lèi)核心器件之間互連故障的快速診斷和精準(zhǔn)定位,有效彌補(bǔ)了傳統(tǒng)示波器、邏輯分析儀等物理探針無(wú)法接觸到的BGA 器件管腳而無(wú)法測(cè)試的不足。但是,傳統(tǒng)的基于邊界掃描的DFT 技術(shù),測(cè)試上位機(jī)必須通過(guò)邊界掃描測(cè)試控制器,且故障診斷算法及定位均是在測(cè)試上位機(jī)上實(shí)現(xiàn)的,這就造成了該技術(shù)在大規(guī)模數(shù)字電路系統(tǒng)中應(yīng)用存在局限性。在某些場(chǎng)合,測(cè)試上位機(jī)無(wú)法直接連接到待測(cè)系統(tǒng)上。
針對(duì)基于邊界掃描DFT 技術(shù)存在的局限性,本文在原有DFT 技術(shù)研究的基礎(chǔ)上,實(shí)現(xiàn)了一種基于邊界掃描的遠(yuǎn)程測(cè)試系統(tǒng)。測(cè)試上位機(jī)無(wú)需直接連接到待測(cè)數(shù)字系統(tǒng),即可實(shí)現(xiàn)FPGA、DSP 以及POWERPC 等核心器件之間互聯(lián)故障快速定位及診斷。
傳統(tǒng)的DFT 技術(shù)基于IEEE 1149.1 邊界掃描標(biāo)準(zhǔn)[5]。該標(biāo)準(zhǔn)于1990 年推出,最初的目的是便于DSP、FPGA 以及PPC 等數(shù)字芯片引腳的出廠(chǎng)測(cè)試。
IEEE 1149.1 邊界掃描標(biāo)準(zhǔn)要求數(shù)字芯片內(nèi)部邏輯必須先通過(guò)掃描單元(Boundary-Scan,BSC)再連接芯片管腳,以通過(guò)BSC 單元控制和觀察芯片引腳的狀態(tài)。在對(duì)芯片進(jìn)行出廠(chǎng)測(cè)試時(shí),只要通過(guò)JTAG 的輸入端(Test Data Input,TDI)將測(cè)試向量送入BSC,在相應(yīng)的引腳檢測(cè)接收到的測(cè)試向量就可以達(dá)到芯片引腳出廠(chǎng)測(cè)試的目的。
邊界掃描測(cè)試技術(shù)(Boundary-Scan Test,BST)就是圍繞BSC 單元對(duì)芯片引腳的控制和觀測(cè)特性實(shí)現(xiàn)的,測(cè)試原理如圖1 所示。如果要測(cè)試圖中A 芯片和B 芯片之間的引腳互聯(lián)狀態(tài),那么可以通過(guò)JTAG 的輸入端將測(cè)試向量輸入芯片A 的BSC單元。測(cè)試向量在A 芯片的BSC 單元中以串行移位方式移動(dòng)(由SI 移位到SO),當(dāng)串行移動(dòng)完成后,芯片A 的所有管腳狀態(tài)均為設(shè)定好的狀態(tài),這時(shí)再?gòu)囊_與之相連的芯片B 的BSC 單元中讀出這些狀態(tài),根據(jù)這些狀態(tài)判定A 芯片與B 芯片之間的連接是否正常。類(lèi)似的,通過(guò)B 芯片的TDI 引腳輸入測(cè)試向量也可以實(shí)現(xiàn)對(duì)芯片B 管腳狀態(tài)的設(shè)定,從而間接實(shí)現(xiàn)對(duì)芯片C 的管腳進(jìn)行控制。所有待測(cè)引腳狀態(tài)的測(cè)試向量都從輸出端芯片的(Test Data Output,TDO)引腳輸出,并在邊界掃描測(cè)試軟件中進(jìn)行數(shù)據(jù)分析與處理,最終形成引腳互連狀態(tài)的故障判據(jù)。
圖1 芯片互連邊界掃描測(cè)試原理
文獻(xiàn)[6]對(duì)傳統(tǒng)的可測(cè)試性(DFT)設(shè)計(jì)方法進(jìn)行系統(tǒng)研究,將PPC、DSP 以及FPGA 等數(shù)字芯片JTAG 按照一定方式組成JTAG 掃描鏈,對(duì)非邊界掃描器件進(jìn)行簇建模,再通過(guò)各個(gè)芯片之間JTAG 鏈路的相互配合,施加測(cè)試向量并采集測(cè)試響應(yīng),實(shí)現(xiàn)了數(shù)字芯片乃至數(shù)字模塊之間的互連故障診斷,具有較高的互連故障診斷率。
2.1.1 邊界掃描鏈組織方式
傳統(tǒng)的可測(cè)性設(shè)計(jì)方法采用并行邊界掃描鏈路方式組織JTAG 鏈路,如圖2 所示。
圖2 并聯(lián)方式的連接的邊界掃描鏈
這種連接方式通過(guò)貨架JTAG 管理橋片如STA112 等間接對(duì)各個(gè)芯片的JTAG 鏈路進(jìn)行管理,極大地簡(jiǎn)化了串行移位操作和增加了掃描鏈路的靈活性。模塊之間的測(cè)試通信采用JTAG 的五線(xiàn)并聯(lián)方式,即使某個(gè)模塊損壞,也不會(huì)影響其余模塊的測(cè)試工作。測(cè)試系統(tǒng)通過(guò)每個(gè)模塊上的邊界掃描路由芯片,管理通用處理模塊上的多個(gè)掃描鏈,從而進(jìn)行邊界掃描測(cè)試。
2.1.2 傳統(tǒng)的邊界掃描測(cè)試系統(tǒng)
采用傳統(tǒng)可測(cè)性設(shè)計(jì)方法搭建的大規(guī)模數(shù)字邊界掃描測(cè)試系統(tǒng),如圖3 所示。該測(cè)試系統(tǒng)由3 部分構(gòu)成,分別為運(yùn)行在主控計(jì)算機(jī)上的邊界掃描測(cè)試軟件、邊界掃描控制器以及待測(cè)系統(tǒng)。
邊界掃描測(cè)試軟件的主要原理是根據(jù)測(cè)試人員提供的BSDL 文件(基于VHDL 語(yǔ)言的數(shù)字芯片描述文件)和模塊網(wǎng)表文件,結(jié)合一定的電路板故障診斷算法生成測(cè)試向量。邊界掃描控制器通過(guò)PCI總線(xiàn)連接到主控計(jì)算機(jī),將邊界掃描測(cè)試軟件產(chǎn)生的測(cè)試向量通過(guò)JTAG 測(cè)試總線(xiàn)施加到被測(cè)系統(tǒng),完成對(duì)被測(cè)該規(guī)模數(shù)字系統(tǒng)互連故障的測(cè)試、分析和診斷等功能。
2.2.1 邊界掃描鏈組織方式
目前,大多數(shù)可測(cè)性設(shè)計(jì)方法采用并行邊界掃描鏈路方式,如圖4 所示。
芯片的邊界掃描鏈路仍然采用并聯(lián)的方式匯集到JTAG_Server/Client。JTAG_Server/Client 之間通過(guò)CAN 口進(jìn)行通信。JTAG_Server/Client 可以采用ZYNQ FPGA 或ARM 處理器實(shí)現(xiàn),無(wú)需使用專(zhuān)用邊界掃描管理橋片。
圖3 邊界掃描測(cè)試系統(tǒng)
圖4 遠(yuǎn)程可測(cè)性設(shè)計(jì)方法邊界掃描鏈組織方式
2.2.2 基于邊界掃描的遠(yuǎn)程可測(cè)試性系統(tǒng)的硬件構(gòu)成
遠(yuǎn)程測(cè)試系統(tǒng)包括測(cè)試子卡和遠(yuǎn)程測(cè)試軟件兩部分。硬件實(shí)施方案如圖5 所示,其中Jtag_client代表測(cè)試子卡。測(cè)試子卡用于管理載板上的邊界掃描鏈路,并為遠(yuǎn)程測(cè)試軟件提供運(yùn)行環(huán)境,同時(shí)實(shí)現(xiàn)與待測(cè)系統(tǒng)控制指令與測(cè)試結(jié)果交互。測(cè)試子卡之間的通信通過(guò)CAN 總線(xiàn)實(shí)現(xiàn)。
遠(yuǎn)程測(cè)試軟件包括運(yùn)行在測(cè)試子卡上的遠(yuǎn)程測(cè)試軟件和上位機(jī)上的測(cè)試結(jié)果監(jiān)控界面兩部分。
圖5 硬件實(shí)施方案
Jtag_client 由TI 公司MCU 處理器STM32F107/GD32F107 及其外設(shè)構(gòu)成,通過(guò)遠(yuǎn)程測(cè)試軟件實(shí)現(xiàn)JTAG 測(cè)試向量的播放。STM32F107/GD32F107 處理器具備存儲(chǔ)JTAG 測(cè)試向量的NV_RAM,處理器IO實(shí)現(xiàn)處理器總線(xiàn)到JTAG 的接口,具備4 個(gè)JTAG測(cè)試端口。STM32F107/GD32F107 具備一路CAN 總線(xiàn)接口,用于實(shí)現(xiàn)測(cè)試子卡之間的通信,速率為1 Mb/s。運(yùn)行在Jtag_client 上的遠(yuǎn)程測(cè)試軟件實(shí)現(xiàn)對(duì)Jtag_server 發(fā)送的測(cè)試指令解析,實(shí)現(xiàn)JTAG 鏈路管理,并選取待測(cè)試芯片的JTAG 鏈路。運(yùn)行在Jtag_client 上的遠(yuǎn)程測(cè)試軟件,根據(jù)Jtag_server 發(fā)送的測(cè)試指令調(diào)用對(duì)應(yīng)的測(cè)試向量文件(SVF 文件),并發(fā)送對(duì)應(yīng)的測(cè)試向量。運(yùn)行在Jtag_client上的遠(yuǎn)程測(cè)試軟件,實(shí)現(xiàn)測(cè)試輸出向量采集,并進(jìn)行對(duì)比分析,向Jtag_server 返回測(cè)試結(jié)果。
Jtag_server 硬件構(gòu)成與Jtag_client 基本相同,通過(guò)遠(yuǎn)程測(cè)試軟件實(shí)現(xiàn)系統(tǒng)測(cè)試管理和測(cè)試監(jiān)控軟件的交互。此外,它還具備與PC 端互連的以太網(wǎng)接口。運(yùn)行在Jtag_server 上的遠(yuǎn)程測(cè)試軟件與測(cè)試監(jiān)控軟件相連,接收測(cè)試監(jiān)控軟件的控制指令,并上報(bào)測(cè)試結(jié)果。運(yùn)行在Jtag_server 上的遠(yuǎn)程測(cè)試軟件,根據(jù)測(cè)試監(jiān)控軟件的要求生成測(cè)試指令,并下發(fā)到Jtag_client。
2.2.3 基于邊界掃描的遠(yuǎn)程可測(cè)試性系統(tǒng)的軟件構(gòu)成
如圖6 所示,基于集中控制架構(gòu)的嵌入式邊界掃描測(cè)試軟件(Embedded Boundary Scan Monitor System,EBSMS)由遠(yuǎn)程監(jiān)控軟件(上位機(jī)PC 軟件,RMonitor)和嵌入式邊界掃描測(cè)試軟件(下位機(jī)軟件,簡(jiǎn)稱(chēng)EBScan)組成。
圖6 軟件系統(tǒng)構(gòu)成
邊界掃描SVF 集成開(kāi)發(fā)環(huán)境(以下簡(jiǎn)稱(chēng)SVFIDE)基于PC 機(jī)的獨(dú)立軟件,用于生成被測(cè)單板的SVF 格式的測(cè)試向量文件,具有測(cè)試工程建立、TCL 測(cè)試腳本開(kāi)發(fā)以及SVF 生成等功能。
EBScan 的核心功能由嵌入式邊界掃描接口控制器、SVF 命令解析與執(zhí)行器、故障診斷模塊構(gòu)成。SVFIDE 所生成的IEEE 1149.1 測(cè)試指令與測(cè)試向量(存放于SVF 文件)下載至嵌入式測(cè)試控制器Flash 芯片,經(jīng)SVF 命令解析,通過(guò)邊界掃描接口控制器產(chǎn)生相應(yīng)時(shí)序,向被測(cè)芯片TDI 引腳注入測(cè)試指令與測(cè)試向量,從TDO 引腳獲取輸出向量進(jìn)行診斷,從而定位故障。該故障定位信息通過(guò)TCP網(wǎng)絡(luò)報(bào)文上報(bào)遠(yuǎn)程監(jiān)控軟件進(jìn)行結(jié)果顯示。
當(dāng)EBScan 執(zhí)行SVF 文件中的Sample 指令時(shí),即可實(shí)現(xiàn)邊界掃描芯片引腳電平狀態(tài)監(jiān)控。EBScan還可支持VxWork 操作系統(tǒng)。
EBScan 有兩種工作模式:一是非任務(wù)測(cè)試,包括鏈路測(cè)試和互連測(cè)試等,會(huì)中斷被測(cè)系統(tǒng)的正常任務(wù);二是任務(wù)測(cè)試(監(jiān)控模式),僅僅采樣JTAG 芯片引腳電平,而不干擾系統(tǒng)正常工作。遠(yuǎn)程監(jiān)控軟件主要用于故障定位信息顯示,也可下發(fā)測(cè)試啟動(dòng)指令、SVF 文件。
表1 是采用遠(yuǎn)程DFT 前后,故障覆蓋率、定位精度研究測(cè)試時(shí)間等指標(biāo)的對(duì)比。由表1 可知,采用該技術(shù)后,系統(tǒng)可測(cè)試性無(wú)變化,測(cè)試時(shí)間有所增加。究其原因,在于目前采用CAN 總線(xiàn)進(jìn)行測(cè)試向量的發(fā)送和接收,而CAN總線(xiàn)的傳輸速率較低,后期可更換為千兆以太網(wǎng),但仍然優(yōu)于采用DFT 技術(shù)之前的測(cè)試時(shí)間。
表1 測(cè)量結(jié)果
由于大規(guī)模數(shù)字電路采用的數(shù)字芯片間距小、物理探針測(cè)試點(diǎn)少、調(diào)試和故障診斷難度大、復(fù)雜度高等,基于邊界掃描的DFT 技術(shù)在大規(guī)模數(shù)字電路互聯(lián)故障診斷和測(cè)試方面使用的越來(lái)越多,但傳統(tǒng)的DFT 技術(shù)使用的邊界掃描控制盒限制了其應(yīng)用范圍。本文研究了遠(yuǎn)程可測(cè)性(DFT)設(shè)計(jì)技術(shù)的實(shí)現(xiàn)方法,改進(jìn)傳統(tǒng)的DFT 技術(shù)實(shí)現(xiàn)架構(gòu),并在某大規(guī)模數(shù)字系統(tǒng)中成功驗(yàn)證了該技術(shù),無(wú)需使用專(zhuān)用的邊界掃描控制盒即可實(shí)現(xiàn)一鍵式互連故障診斷,同時(shí)可掃描網(wǎng)絡(luò)故障精確定位,對(duì)邊界掃描測(cè)試技術(shù)在大規(guī)模數(shù)字電路故障測(cè)試中的進(jìn)一步應(yīng)用具有一定的指導(dǎo)作用。