JTAG (一)雜談

IEEE 1149.1a-1993 - Supplement to Standard Test Access Port and Boundary-Scan Architecture (1149.1)
現在多數的高級器件都支持JTAG協議,如DSP、FPGA器件等
  • 作用
芯片內部測試。
獨立於cpu進行操作,手動驅動輸出,還能查詢處理器的生產廠家.處理器類型及版本號.

JTAG接口還常用於實現ISP(In-System Programmable;在線編程),對FLASH等器件進行編程。
一個含有JTAG Debug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問
	CPU的內部寄存器
	掛在CPU總線上的設備,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)內置模塊的寄存器,象UART,Timers,GPIO等等的寄存器。
如今 JTAG 接口的連接有兩種標準,即 14 針接口和 20 針接口
準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別爲模式選擇、時鐘、數據輸入和數據輸出線。

TMS爲測試模式選擇,TMS用來設置JTAG接口處於某種特定的測試模式;
TCK爲測試時鐘輸入;
TDI爲測試數據輸入,數據通過TDI引腳輸入JTAG接口;
TDO爲測試數據輸出,數據通過TDO引腳從JTAG接口輸出;

TRST爲測試復位,輸入引腳,低電平有效。

JTAG最初是用來對芯片進行測試的,基本原理是在器件內部定義一個TAP(Test Access Port測試訪問口)通過專用的JTAG測試工具對進行內部節點進行測試。

IEEE1149.1標準中規定對應於數字集成電路芯片的每個引腳都設有一個移位寄存單元,稱爲邊界掃描單元BSC。它將JTAG電路與內核邏輯電路聯繫起來,同時隔離內核邏輯電路和芯片引腳。由集成電路的所有邊界掃描單元構成邊界掃描寄存器BSR。邊界掃描寄存器電路僅在進行JTAG測試時有效,在集成電路正常工作時無效,不影響集成電路的功能。
  • 如何使用

一般來說,會將其強制要求的四根線引出到一個插座上去,然後 通過 jlink ulink jlink-ob 等仿真器進行 控制這幾個引腳.

這些仿真器的設計原理基本上都是 基於mcu 做的, mcu 控制 四根線序,從而控制被調試的芯片

那如果想用mcu 控制 這四根線,程序怎麼寫呢?這是下次討論的內容
可以從 https://github.com/wuxx/nanoDAP.git 這裏着手

其他

JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。現在,
ARM內核原生支持2種業界通用的接口標準,分別是JTAG和SWD。

TI還定義了一種叫SBW-JTAG的接口,用來在引腳較少的芯片上通過最少的利用引腳實現JTAG接口,它只有兩條線,SBWTCK,SBWTDIO。實際使用時一般通過四條線連接,VCC,SBWTCK,SBTDIO,GND,這樣就可以很方便的實現連接,又不會佔用大量引腳。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章