《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于USB 2.0的邊界掃描控制器設(shè)計(jì)
基于USB 2.0的邊界掃描控制器設(shè)計(jì)
蒙智敏 陳曉畋 江南計(jì)算技術(shù)研究所
摘要: 系統(tǒng)采用CY7C68013及其配置芯片EEPROM完成USB接口部分的功能,采甩ACT8990完成邊界掃描部分的功能,為完成部分邏輯功能及對(duì)此控制器設(shè)計(jì)的部分電路加密,采用CPLD EPM3032A實(shí)現(xiàn)。接著,給出了整個(gè)控制器的軟件設(shè)計(jì)方案,具體討論了CY7C68013的固件設(shè)計(jì),以及利用WindowsDDK開(kāi)發(fā)包開(kāi)發(fā)固件裝載驅(qū)動(dòng)程序及控制器驅(qū)動(dòng)程序的方法。調(diào)試結(jié)果表明,研制的邊界掃描控制器功能正常,符合設(shè)計(jì)要求,具有即插即用、無(wú)需外部供電、連接簡(jiǎn)單可靠等優(yōu)點(diǎn)。
Abstract:
Key words :

0 引言
    隨著超大規(guī)模集成電路(VLSI)、表面安裝器件(SMD)、多層印制電路板(MPCB)等技術(shù)的發(fā)展,使得統(tǒng)一測(cè)控系統(tǒng)綜合基帶印制電路板上電路節(jié)點(diǎn)的物理可訪問(wèn)性正逐步惡化,電路和系統(tǒng)的可測(cè)試性急劇下降,常規(guī)測(cè)試面臨挑戰(zhàn)。通過(guò)研究VLSI芯片資料表明,大多數(shù)VLSI芯片都帶邊界掃描結(jié)構(gòu),如果將邊界掃描技術(shù)應(yīng)用到板級(jí)測(cè)試中,無(wú)疑將對(duì)電路板的連接故障和器件失效的準(zhǔn)確診斷起到非常重要的作用。邊界掃描測(cè)試主控系統(tǒng)是實(shí)現(xiàn)這一技術(shù)必不可少的硬件系統(tǒng)。從JTAG(Joint Test Action Group)提出該技術(shù)至今的十幾年中,邊界掃描測(cè)試技術(shù)已得到了一些應(yīng)用,并將有廣闊的應(yīng)用前景。本設(shè)計(jì)在分析邊界掃描測(cè)試受控系統(tǒng)工作機(jī)制的基礎(chǔ)上提出一種基于USB總線的邊界掃描測(cè)試主控系統(tǒng)的設(shè)計(jì)方案和實(shí)現(xiàn)電路。此方案具有結(jié)構(gòu)簡(jiǎn)單、成本低、便攜性的特點(diǎn)。

1 邊界掃描結(jié)構(gòu)及基本原理
1.1 邊界掃描技術(shù)的基本原理
    邊界掃描技術(shù)的主要思想是通過(guò)在芯片管腳和芯片內(nèi)部邏輯電路之間增加由移位寄存器構(gòu)成的邊界掃描單元,實(shí)現(xiàn)對(duì)芯片管腳狀態(tài)的串行設(shè)定和讀取,使管腳具有可控性和可觀測(cè)性。由于移位寄存器允許測(cè)試數(shù)據(jù)移位、更新溯試和捕獲鎖存,因此它不僅可以用來(lái)測(cè)試單獨(dú)的一個(gè)芯片,而且可以對(duì)電路板進(jìn)行互連測(cè)試。圖1給出了邊界掃描通路示意圖。其中,邊界掃描單元在主IC的測(cè)試數(shù)據(jù)輸入端(TDI)和測(cè)試數(shù)據(jù)輸出端(TDO)之間形成了一個(gè)掃描通道,當(dāng)IC處于正常工作狀態(tài)時(shí),輸入輸出信號(hào)自由通過(guò)邊界掃描單元,從正常數(shù)據(jù)輸入端(NDI)到正常數(shù)據(jù)輸出端(TDO)。圖1邊界掃描通路示意圖

a.JPG


1.2 邊界掃描物理結(jié)構(gòu)
    邊界掃描測(cè)試的基礎(chǔ)是邊界掃描測(cè)試總線和設(shè)計(jì)在器件內(nèi)的邊界掃描結(jié)構(gòu),邊界掃描測(cè)試總線由TDI(測(cè)試數(shù)據(jù)輸入)、TDO(測(cè)試數(shù)據(jù)輸出)、TMS(測(cè)試模式選擇)、TCK(測(cè)試時(shí)鐘)、TRST(測(cè)試復(fù)位)5條線構(gòu)成,主要完成測(cè)試向量輸入、測(cè)試響應(yīng)向量輸出和測(cè)試控制功能。器件內(nèi)邊界掃描結(jié)構(gòu)主要由TAP測(cè)試存取口、TAP控制器和必需的寄存器組成。TAP控制器接受來(lái)自邊界掃描測(cè)試總線的命令,控制邊界掃描單元的行動(dòng),實(shí)現(xiàn)對(duì)器件管腳狀態(tài)的設(shè)定、讀取和隔離。
1.2.1 寄存器
    JTAG邊界掃描寄存器至少應(yīng)包括邊界掃描寄存器(DR)、指令寄存器(IR)和旁路寄存器。
    (1) 邊界掃描寄存器。邊界掃描寄存器用于存放測(cè)試數(shù)據(jù)和測(cè)試響應(yīng)數(shù)據(jù),它由串行移位級(jí)和并行鎖存級(jí)組成。邊界掃描寄存器的工作方式為:加載到TDI的測(cè)試數(shù)據(jù)在TCK的上升沿串行移人邊界掃描寄存器,寄存器原來(lái)內(nèi)容在TCK的下降沿被串行移出到TDO,移入移位寄存器的數(shù)據(jù)可以被鎖存到并行輸出鎖存器中;對(duì)應(yīng)于輸出引腳的并行鎖存器可并行輸出到器件的引腳,移位寄存器可以并行捕獲到器件的邏輯輸出;對(duì)應(yīng)于輸入引腳的并行鎖存器可以并行輸出到器件的內(nèi)部邏輯,移位寄存器可捕獲輸入引腳信息。
    (2) 指令寄存器。指令寄存器由串行移位級(jí)和并行鎖存級(jí)組成,其位數(shù)由芯片生產(chǎn)廠家定義。常用的指令包括EXTEST、BYPASS、SAMPL-E、INTEST等。TAP控制器根據(jù)指令寄存器中選擇的指令不同選擇將指定的寄存器連接到TDI和TDO之間。
    (3) 旁路寄存器。旁路寄存器由一位移位寄存器組成,當(dāng)其被選通時(shí),直接連接到器件的TDI和TDO之間從而獲得最短的掃描路徑。旁路寄存器的主要作用有:a.當(dāng)集成電路IC不需要數(shù)據(jù)寄存器的掃描存取時(shí)將其從掃描鏈上脫離從而縮短邊界掃描結(jié)構(gòu)的掃描通路長(zhǎng)度;b.在測(cè)試期間,使集成電路IC脫離某種工作模式。
1.2.2 TAP控制器
    TAP控制器控制整個(gè)邊界掃描機(jī)制的操作,其核心是16個(gè)工作狀態(tài)轉(zhuǎn)換機(jī)制,狀態(tài)轉(zhuǎn)換由TCK采樣TMS的值來(lái)實(shí)施。

2 硬件設(shè)計(jì)
    控制器硬件可分為兩部分:一部分是USB控制芯片,另一部分是JTAG主控芯片,控制器利用USB控制芯片實(shí)現(xiàn)USB協(xié)議與PC機(jī)進(jìn)行通信,同時(shí)通過(guò)操作JTAG主控芯片,使其輸出到JTAG總線上的數(shù)據(jù)符合IEEE1149.1標(biāo)準(zhǔn),從而達(dá)到由PC機(jī)控制JTAG總線的目的??刂破饔布Y(jié)構(gòu)如圖2所示。

c.JPG


    公司生產(chǎn)的EZ-USBFX2芯片CY7C68013是一種USB接口控制芯片,CY7C68013芯片包括一個(gè)加強(qiáng)型的8051處理器、一個(gè)串口引擎(SIE)、一個(gè)USB2.0收發(fā)器、8.5kB片上RAM、4kB的FIFO存儲(chǔ)器以及一個(gè)通用可編程接口(GPIF)。其GPIF可與任何ASIC或DSP進(jìn)行連接,它還支持現(xiàn)行所有通用總線標(biāo)準(zhǔn)。本系統(tǒng)USB接口芯片既作為數(shù)據(jù)傳輸?shù)闹薪椋瑫r(shí)完成和便攜式計(jì)算機(jī)間的控制信息的交換和控制過(guò)程的執(zhí)行。傳輸模式:在USB協(xié)議定義的4種傳輸模式中,批量傳輸和等時(shí)傳輸?shù)乃俣容^快。但批量傳輸具有差錯(cuò)校驗(yàn),可以保證數(shù)據(jù)傳輸?shù)恼_性。在本方案中,因?yàn)閷?duì)數(shù)據(jù)的準(zhǔn)確性要求較高,故采用批量傳輸方式。采用從PC端下載8051運(yùn)行代碼的方式。這樣系統(tǒng)軟件修改和功能升級(jí)更加靈活,也省掉了外接ROM,使電路更加簡(jiǎn)潔、可靠。
    選擇TI公司專(zhuān)門(mén)針對(duì)系列DSP的邊界掃描芯片ACT8990。ACT8990的內(nèi)部結(jié)構(gòu)主要由隊(duì)列管理模塊、主機(jī)模塊、串行模塊、事件管理器、計(jì)數(shù)器、命令管理以及讀寫(xiě)總線組成。

3 軟件設(shè)計(jì)
    本控制器的軟件設(shè)計(jì)包括:固件程序、驅(qū)動(dòng)程序和CPLD邏輯代碼以及CY7C68013的配置芯片EEPROM的代碼。軟件部分包括測(cè)試向量生成及分析模塊、邊界掃描測(cè)試運(yùn)行模塊和USB數(shù)據(jù)傳輸驅(qū)動(dòng)三部分。測(cè)試驅(qū)動(dòng)程序作為下位機(jī)程序駐留在邊界掃描控制器中。邊界掃描測(cè)試運(yùn)行模塊和測(cè)試向量生成及分析模塊作為上位機(jī)程序主要包括:測(cè)試文件分析、測(cè)試向量生成、上下位機(jī)通訊、響應(yīng)向量分析和輔助功能模塊。
3.1 測(cè)試文件分析
    測(cè)試軟件運(yùn)行時(shí)首先檢測(cè)文件庫(kù)中芯片邊界掃描描述文件是否齊全,然后進(jìn)行測(cè)試文件加載。測(cè)試執(zhí)行時(shí)將被測(cè)板網(wǎng)絡(luò)表文件(Protel軟件在設(shè)計(jì)電路圖時(shí)生成的標(biāo)準(zhǔn)文件)加載到系統(tǒng)中,分析該文件并生成測(cè)試板芯片信息文件和芯片間管腳互連網(wǎng)絡(luò)節(jié)點(diǎn)文件。根據(jù)芯片在邊界掃描鏈路上的順序?qū)⑿酒Q(chēng)、封裝形式列入到測(cè)試板芯片信息文件中。網(wǎng)絡(luò)節(jié)點(diǎn)文件中則給出兩個(gè)芯片間的網(wǎng)絡(luò)節(jié)點(diǎn)列表以及對(duì)應(yīng)該節(jié)點(diǎn)的兩個(gè)芯片管腳號(hào)碼,并根據(jù)邊界掃描描述文件中的定義將互連節(jié)點(diǎn)中的TMS、TCK、TDI、TDO節(jié)點(diǎn)剔除。生成的這兩個(gè)文件是供測(cè)試向量生成和響應(yīng)向量分析模塊使用。邊界掃描描述文件由IEEE1149.1標(biāo)準(zhǔn)定義,就一般測(cè)試而言分析該文件主要獲得芯片物理管腳號(hào)碼和邊界掃描寄存器位置的對(duì)應(yīng)關(guān)系(邊界掃描寄存器中靠近TDO的那一位定義為第0位)、邊界掃描測(cè)試的各種指令、指令寄存器和邊界掃描寄存器的描述以及芯片管腳的輸入輸出類(lèi)型。
3.2 測(cè)試向量生成
    進(jìn)行邊界掃描測(cè)試時(shí)首先應(yīng)當(dāng)檢驗(yàn)邊界掃描鏈路連接和工作狀態(tài)是否正常;邊界掃描鏈上的芯片是否正確安裝,即執(zhí)行完整性測(cè)試。完整性測(cè)試通過(guò)后才能允許執(zhí)行進(jìn)一步的測(cè)試內(nèi)容。完整性測(cè)試是通過(guò)捕獲掃描鏈路芯片在TMS狀態(tài)機(jī)經(jīng)過(guò)CAPTURE-IR狀態(tài)時(shí)裝載到指令寄存器中的數(shù)據(jù)以及讀取標(biāo)志寄存器里的芯片ID碼與邊界掃描描述文件的正確代碼進(jìn)行比較來(lái)完成的,在讀取指令寄存器捕獲值的同時(shí)可以通過(guò)TDI將下一步的測(cè)試指令寫(xiě)入,以節(jié)省測(cè)試步驟。圖3給出了測(cè)試軟件的流程圖。

b.JPG


    電路板芯片間的互連測(cè)試是邊界掃描測(cè)試技術(shù)的主要測(cè)試內(nèi)容,主要用來(lái)檢測(cè)測(cè)試板上各個(gè)網(wǎng)絡(luò)連接是否正常,是否存在固定邏輯故障、開(kāi)路故障、橋接短路故障和其他特殊故障。根據(jù)測(cè)試需要,兼顧測(cè)試時(shí)間和測(cè)試精度兩方面的要求,在軟件中采用了5種不同的測(cè)試向量生成算法(分別為改良計(jì)數(shù)序列算法、計(jì)數(shù)補(bǔ)償算法、移位—算法、等權(quán)值抗誤判算法、極小權(quán)值—極大相異性算法)。根據(jù)主界面選擇的測(cè)試要求,將掃描鏈上不需要進(jìn)行測(cè)試的芯片送入旁路指令,而被測(cè)試芯片則送入外測(cè)試指令。以此準(zhǔn)則生成互聯(lián)測(cè)試指令代碼,串行加載到鏈路芯片的指令寄存器上?;ミB測(cè)試向量則需要根據(jù)主界面選擇的算法和芯片互連網(wǎng)絡(luò)節(jié)點(diǎn)文件生成。為了保證生成的測(cè)試向量能夠準(zhǔn)確地加載到互連網(wǎng)絡(luò)節(jié)點(diǎn)上,需要對(duì)生成的初級(jí)測(cè)試代碼進(jìn)行處理。變換思想是根據(jù)芯片物理管腳和邊界掃描單元的對(duì)應(yīng)關(guān)系,將生成的對(duì)應(yīng)網(wǎng)絡(luò)節(jié)點(diǎn)管腳的測(cè)試數(shù)據(jù)填入到其在邊界掃描鏈路中對(duì)應(yīng)的位置,形成可加載到掃描鏈上的測(cè)試向量。器件的功能測(cè)試主要包括對(duì)具有邊界掃描結(jié)構(gòu)的芯片或電路板進(jìn)行功能測(cè)試以及對(duì)不具有邊界掃描結(jié)構(gòu)的器件進(jìn)行簇測(cè)試。其測(cè)試數(shù)據(jù)和測(cè)試響應(yīng)數(shù)據(jù)都是根據(jù)芯片邏輯定義好的。對(duì)于簇測(cè)試芯片,需要用它周?chē)木哂羞吔鐠呙杞Y(jié)構(gòu)的芯片的邊界掃描單元作為簇測(cè)試芯片的虛擬邊界掃描單元,來(lái)進(jìn)行測(cè)試數(shù)據(jù)的加載和捕獲。因此網(wǎng)絡(luò)節(jié)點(diǎn)文件不能通過(guò)查找網(wǎng)絡(luò)表文件自動(dòng)生成,需要自己定義,其格式與執(zhí)行互連測(cè)試時(shí)生成的文件相同。讀取文件中預(yù)先定義的測(cè)試向量并變換成能最終加載到鏈路上的測(cè)試向量的方法也與互聯(lián)測(cè)試相同。其他進(jìn)行采樣測(cè)試、機(jī)內(nèi)自檢測(cè)試時(shí)只需要輸入測(cè)試指令分析測(cè)試結(jié)果,并不需要生成額外的測(cè)試數(shù)據(jù)。
3.3 測(cè)試響應(yīng)分析及故障診斷
    測(cè)試響應(yīng)分析及故障診斷模塊對(duì)測(cè)試響應(yīng)數(shù)據(jù)進(jìn)行分析,以確定目標(biāo)電路板有無(wú)故障、故障位置和故障類(lèi)型,并將分析結(jié)果送給主界面進(jìn)行顯示。進(jìn)行故障分析時(shí)首先要對(duì)測(cè)試響應(yīng)向量進(jìn)行初處理,剔除垃圾數(shù)據(jù),然后將有效的響應(yīng)數(shù)據(jù)代入故障診斷函數(shù)進(jìn)行分析。進(jìn)行完整性測(cè)試故障診斷時(shí),利用芯片列表信息文件和邊界掃描描述文件中的定義將響應(yīng)向量中對(duì)應(yīng)于各個(gè)芯片的CAPTURE-IR值和IDCODE值分析出來(lái)與標(biāo)準(zhǔn)值進(jìn)行比較分析,就可以給出故障判斷。進(jìn)行互聯(lián)測(cè)試故障診斷時(shí),需要根據(jù)芯片物理管腳和邊界掃描單元的對(duì)應(yīng)關(guān)系將對(duì)應(yīng)于網(wǎng)絡(luò)節(jié)點(diǎn)文件中網(wǎng)絡(luò)管腳的測(cè)試數(shù)據(jù)從響應(yīng)向量中提取出來(lái)。然后根據(jù)分析規(guī)則和輸入的測(cè)試向量分析出存在固定邏輯故障、開(kāi)路故障、橋接短路故障和特殊故障的網(wǎng)絡(luò)號(hào)碼及其對(duì)應(yīng)的互連芯片管腳號(hào)碼,并分析給出可能存在的誤判或混淆的網(wǎng)絡(luò)。器件的邏輯功能故障診斷和簇測(cè)試故障診斷方式與互聯(lián)測(cè)試基本相同,也需要把對(duì)應(yīng)測(cè)試管腳的響應(yīng)向量從整個(gè)測(cè)試響應(yīng)向量中提取出來(lái),與標(biāo)準(zhǔn)的測(cè)試結(jié)果進(jìn)行比較從而確定器件的邏輯功能是否正常。

4 測(cè)試結(jié)果
    (1) 掃描鏈路的測(cè)試。先用移位指令命令將取樣預(yù)加載指令(SAMPLE/PRELOAD)送出,然后用移位數(shù)據(jù)命令將一系列1010…10測(cè)試矢量序列掃入到掃描鏈路中,同時(shí)將其掃回到主控計(jì)算機(jī)進(jìn)行比較,判斷掃描鏈路是否完好;
    (2)獲取器件標(biāo)識(shí)。用移位指令命令對(duì)兩片支持邊界掃描測(cè)試功能的芯片發(fā)器件標(biāo)志代碼(IDCODE)指令,或?qū)σ黄珻PLD發(fā)旁路指令(BY-PASS),另一片發(fā)器件標(biāo)志代碼(IDCODE)指令,然后用移位數(shù)據(jù)命令將32位器件標(biāo)志從器件標(biāo)志寄存器掃出,以獲得被測(cè)器件的器件標(biāo)志;
    (3)互連測(cè)試。先用移位指令命令將取樣預(yù)加載指令(SAMPLE/PRELOAD)送出,然后用移位數(shù)據(jù)命令將用于互連測(cè)試的測(cè)試矢量送人芯片1中,隨后用移位指令命令將外測(cè)試指令(EXTEST)送出,再用移位數(shù)據(jù)命令將測(cè)試響應(yīng)從芯片2中掃回到主控計(jì)算機(jī)中,并與正確的響應(yīng)進(jìn)行比較,以對(duì)所模擬的四路短路故障、開(kāi)路故障進(jìn)行診斷并定位。上述測(cè)試均得到了正確的結(jié)果,此外,在進(jìn)行掃描鏈路的測(cè)試中,還對(duì)FIFO模塊支持不間斷全速掃描進(jìn)行了充分的驗(yàn)證。

5 結(jié)束語(yǔ)
    邊界掃描機(jī)制的出現(xiàn)是測(cè)試及可測(cè)試性設(shè)計(jì)思想的一次飛躍,它提供了一種完整的、標(biāo)準(zhǔn)化的VLSI電路可測(cè)試性設(shè)計(jì)方法。它不僅能對(duì)傳統(tǒng)的測(cè)試問(wèn)題提供標(biāo)準(zhǔn)和有效的解決方案;同時(shí)還能提高系統(tǒng)各級(jí)的可測(cè)試性。隨著邊界掃描技術(shù)的發(fā)展以及日益廣泛的應(yīng)用,開(kāi)發(fā)邊界掃描測(cè)試系統(tǒng)具有很高的現(xiàn)實(shí)意義和市場(chǎng)價(jià)值。而邊界掃描測(cè)試軟件作為邊界掃描測(cè)試系統(tǒng)的操作部分更需要通過(guò)合理的設(shè)計(jì)使測(cè)試過(guò)程自動(dòng)化、測(cè)試對(duì)象通用化、診斷結(jié)果精確可靠,更好地發(fā)揮邊界掃描測(cè)試技術(shù)的優(yōu)點(diǎn),推動(dòng)邊界掃描測(cè)試技術(shù)的推廣和應(yīng)用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。