一種板級多芯片jtag鏈互聯(lián)的結(jié)構(gòu)及方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及JTAG(Joint Test Action Group,聯(lián)合測試工作組),特別涉及一種板 級多芯片JTAG鏈互聯(lián)的結(jié)構(gòu)及方法。
【背景技術(shù)】
[0002] JTAG是一種國際標(biāo)準(zhǔn)測試協(xié)議(IEEE 1149.1兼容),它用于電路的邊界掃描測試 和可編程芯片的在線編程。標(biāo)準(zhǔn)的JTAG接口是4線,包括模式選擇線TMS、時鐘線TCK、數(shù)據(jù)輸 入線TDI以及數(shù)據(jù)輸出線TD0;有的JTAG接口是5線,除了前述的4線外還包括復(fù)位線TRST。 [0003]在目前電子硬件系統(tǒng)中,特別是由多單板組成且功能復(fù)雜的電子設(shè)備中,每塊單 板一般都采用多個高集成度的器件,如微控制器單元(M⑶,Micro Control Unit)、數(shù)字信 號處理器(DSP,Digital Signal Processor)、現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)以及復(fù)雜可編程邏輯器件(CPLD,Complex Programmable Logic Device)等。這些器件一般都提供單獨(dú)的JTAG診斷接口,通過采用JTAG診斷接口外接 JTAG控制器,可以方便讀取出器件內(nèi)部的寄存器的狀態(tài),對器件進(jìn)行測試,從而實(shí)現(xiàn)器件的 狀態(tài)診斷。目前,常用的JTAG鏈的互聯(lián)結(jié)構(gòu)有各器件單獨(dú)成鏈和多器件串聯(lián)成鏈兩種:
[0004] 各器件單獨(dú)成鏈,即每個JTAG器件單獨(dú)連接一個JTAG接口。這種方法無疑增加了 JTAG接口,不但占用了PCB板的空間,而且使測試工作更加復(fù)雜。
[0005] 多器件串聯(lián)成鏈,隨著電路設(shè)計(jì)復(fù)雜度的增加,要求同一條JTAG鏈上的器件數(shù)量 也不斷的增加,JTAG協(xié)議允許將多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,實(shí)現(xiàn) 對各個器件的分別測試或編程。JTAG鏈的常用拓?fù)浣Y(jié)構(gòu)是采用菊花鏈的形式,如圖1所示。 一般地,將JTAG鏈上的所有器件的時鐘管腳TCK、模式選擇管腳TMS和復(fù)位管腳TRST等連接 起來,然后從JTAG鏈上的第一個JTAG器件的數(shù)據(jù)輸出TD0開始連接到第二個JTAG器件的數(shù) 據(jù)輸入TDI,接著從第二個JTAG器件的數(shù)據(jù)輸出TD0連接到第三個JTAG器件的數(shù)據(jù)輸入TDI, 一直到最后一個器件的數(shù)據(jù)輸出TD0接到板上的JTAG插座TDI管腳上。為了便于測試和問題 定位,傳統(tǒng)的常用方法會在JTAG鏈上增加硬件跳線電阻進(jìn)行對器件之間的隔離,這樣通過 不同的跳線電阻組合,可以實(shí)現(xiàn)對JTAG鏈上不同器件的旁路操作。但是這種傳統(tǒng)的實(shí)現(xiàn)方 式存在以下的幾個缺點(diǎn):(1)目前電子器件的工作電壓繁多,單板上的器件很多情況下具有 不同JTAG接口電平的情況,所以必須要考慮接口電平的匹配轉(zhuǎn)換問題。(2)硬件跳線電阻的 隔離方式,每次旁路有關(guān)器件時必須要手動對相應(yīng)的跳線電阻進(jìn)行焊接,問題定位后必須 要手動復(fù)原,這樣為后期的維護(hù)帶來很大的不便。(3)隨著JTAG鏈上器件的不斷增多,鏈長 越長,其連接和加載的速度會降低,特別是對于生產(chǎn)測試當(dāng)中需要邊界掃描測試的情況,此 種成鏈方式會大大影響生產(chǎn)的效率。總體來說,上述的JTAG成鏈方式欠缺靈活性,不便于生 產(chǎn)和設(shè)計(jì)維護(hù)工作。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種板級多芯片JTAG鏈互聯(lián) 的結(jié)構(gòu),通過該結(jié)構(gòu)提高了板卡測試和生產(chǎn)維護(hù)的效率。
[0007]本發(fā)明的另一目的在于提供一種板級多芯片JTAG鏈互聯(lián)的方法。
[0008]本發(fā)明的第一目的通過下述技術(shù)方案實(shí)現(xiàn)一種板級多芯片JTAG鏈互聯(lián)的結(jié)構(gòu),包 括JTAG接頭和一個以上JTAG器件,還包括復(fù)雜可編程邏輯器件(CPLD,Complex Programmable Logic Device)、數(shù)據(jù)分配器和選擇開關(guān);
[0009]所述JTAG接頭的TMS管腳、TCK管腳、TDI管腳和TD0管腳分別對應(yīng)連接數(shù)據(jù)分配器 的數(shù)據(jù)輸入端;其中JTAG接頭的TMS管腳連接的數(shù)據(jù)分配器數(shù)據(jù)輸入端對應(yīng)兩個數(shù)據(jù)輸出 端分別對應(yīng)連接CPLD的10端口和TMS管腳,JTAG接頭的TCK管腳連接的數(shù)據(jù)分配器數(shù)據(jù)輸入 端對應(yīng)兩個數(shù)據(jù)輸出端分別對應(yīng)連接CPLD的10端口和TCK管腳;JTAG接頭的TDI管腳連接的 數(shù)據(jù)分配器數(shù)據(jù)輸入端對應(yīng)兩個數(shù)據(jù)輸出端分別對應(yīng)連接CPLD的10端口和TDI管腳;JTAG 接頭的TD0管腳連接的數(shù)據(jù)分配器數(shù)據(jù)輸入端對應(yīng)兩個數(shù)據(jù)輸出端分別對應(yīng)連接CPLD件的 10端口和TD0管腳;
[0010]所述數(shù)據(jù)分配器的地址信號輸入端和CPLD的10端口分別連接有選擇開關(guān);JTAG器 件的TMS管腳、TCK管腳、TDI管腳和TD0管腳分別對應(yīng)連接CPLD的10端口。
[0011]優(yōu)選的,所述數(shù)據(jù)分配器為多路分配器,包括四個數(shù)據(jù)輸入端,分別為第一數(shù)據(jù)輸 入端、第二數(shù)據(jù)輸入端、第三數(shù)據(jù)輸入端和第四數(shù)據(jù)輸入端,其中每個數(shù)據(jù)輸入端對應(yīng)兩個 數(shù)據(jù)輸出端;
[0012]所述JTAG接頭的TMS管腳、TCK管腳、TDI管腳和TD0管腳分別對應(yīng)連接數(shù)據(jù)分配器 的第一數(shù)據(jù)輸入端、第二數(shù)據(jù)輸入端、第三數(shù)據(jù)輸入端和第四數(shù)據(jù)輸入端;第一數(shù)據(jù)輸入端 對應(yīng)的兩個數(shù)據(jù)輸出端分別對應(yīng)連接CPLD的10端口和TMS管腳;第二數(shù)據(jù)輸入端對應(yīng)的兩 個數(shù)據(jù)輸出端分別對應(yīng)連接CPLD的10端口和TCK管腳;第三數(shù)據(jù)輸入端對應(yīng)的兩個數(shù)據(jù)輸 出端分別對應(yīng)連接CPLD的10端口和TDI管腳;第四數(shù)據(jù)輸入端對應(yīng)的兩個數(shù)據(jù)輸出端分別 對應(yīng)連接CPLD的10端口和TD0管腳。
[0013] 更進(jìn)一步的,所述數(shù)據(jù)分配器為74CBTLV3257芯片;其中74CBTLV3257芯片的1A管 腳、2A管腳、3A管腳和4A管腳分別對應(yīng)為數(shù)據(jù)分配器的第一數(shù)據(jù)輸入端、第二數(shù)據(jù)輸入端、 第三數(shù)據(jù)輸入端和第四數(shù)據(jù)輸入端,即分別與JTAG接頭的TMS管腳、TCK管腳、TDI管腳和TD0 管腳對應(yīng)連接;74CBTLV3257芯片的1B1管腳和1B2管腳為1A管腳對應(yīng)的兩個數(shù)據(jù)輸出端,分 別對應(yīng)連接CPLD的10端口和TMS管腳;74CBTLV3257芯片的2B1管腳和2B2管腳為2A管腳對應(yīng) 的兩個數(shù)據(jù)輸出端,分別對應(yīng)連接CPLD的10端口和TCK管腳;74CBTLV3257芯片的3B1管腳和 3B2管腳為3A管腳對應(yīng)的兩個數(shù)據(jù)輸出端,分別對應(yīng)連接CPLD的10端口和TD0管腳; 74CBTLV3257芯片的4B1管腳和4B2管腳為4A管腳對應(yīng)的兩個數(shù)據(jù)輸出端,分別對應(yīng)連接 CPLD的10端口和TD0管腳;74CBTLV3257芯片的0E端接低電平,74CBTLV3257芯片的S端即地 址信號輸入端連接選擇開關(guān),通過選擇開關(guān)輸入高電平或低電平信號。
[0014] 優(yōu)選的,所述選擇開關(guān)包括N位開關(guān),選擇開關(guān)的每位開關(guān)的一端通過電阻連接直 流電源,另一端接地;選擇開關(guān)其中1位開關(guān)的一端連接數(shù)據(jù)分配器的地址信號輸入端,通 過選擇開關(guān)輸入高電平或低電平信號至數(shù)據(jù)分配器的地址信號輸入端,控制數(shù)據(jù)分配器數(shù) 據(jù)輸入端對應(yīng)的數(shù)據(jù)分配到相應(yīng)的數(shù)據(jù)輸出端上;選擇開關(guān)的其他N-1位開關(guān)的一端分別 連接CPLD的N-1個10端口,通過選擇開關(guān)輸入高電平或低電平信號至CPLD的N-1個10端口。
[0015] 更進(jìn)一步的,所述選擇開關(guān)為撥碼開關(guān)。
[0016] 更進(jìn)一步的,所述N為5,即所述選擇開關(guān)包括5位開關(guān),其中1位開關(guān)的一端連接數(shù) 據(jù)分配器的地址信號輸入端,其他4位開關(guān)的一端分別連接CPLD的4個10端口。
[0017] 本發(fā)明的第二目的通過下述技術(shù)方案實(shí)現(xiàn):一種基于權(quán)上述所述板級多芯片JTAG 鏈互聯(lián)的結(jié)構(gòu)實(shí)現(xiàn)的板級多芯片JTAG鏈互聯(lián)的方法,步驟如下:
[0018] S1、控制選擇開關(guān)輸入至數(shù)據(jù)分配器地址信號輸入端的電平信號,JTAG接頭的TMS 管腳、TCK管腳、TDI管腳和TD0管腳通過數(shù)據(jù)分配器分別對應(yīng)與CPLD的TMS管腳、TCK管腳、 TDI管腳和TD0管腳接通,JTAG接頭上的信號通過多路分配器接入到CPLD的JTAG接口上; [0019] S2、通過JTAG接頭對CPLD進(jìn)行編程下載操作,CPLD通過JTAG接口下載預(yù)編制好的 邏輯程序;
[0020] S3、控制選擇開關(guān)輸入至數(shù)據(jù)分配器地址信號輸入端的電平信號,JTAG接頭的TMS 管腳、TCK管腳、TDI管腳和TD0管腳通過數(shù)據(jù)分配器分別對應(yīng)與CPLD的10端口接通;同時控 制選擇開關(guān)輸入至CPLD的10端口上的電平信號,CPLD根據(jù)選擇開關(guān)輸入至其10端口的電平 信號控制相應(yīng)JTAG器件串入到JTAG鏈上;
[0021] S4、JTAG接頭通過多路分配器將TMS信號、TCK信號和TDI信號分布接入到CPLD對應(yīng)