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