1.什么是JTAG:Joint Test Action Group;聯(lián)合測試工作組
JTAG是一種IEEE標(biāo)準(zhǔn)用來解決板級問題,開發(fā)于上個(gè)世紀(jì)80年代。今天JTAG被用來燒錄、debug、探查端口。當(dāng)然,最原始的使用是邊界測試。
邊界測試:
舉個(gè)栗子你有兩個(gè)芯片,這兩個(gè)芯片之間連接了很多很多的線,怎么確保這些線之間的連接是OK的呢,用JTAG,它可以控制所有IC的引腳。這叫做芯片邊界測試。(沒用過)
2.JTAG引腳:
JTAG發(fā)展到現(xiàn)在已經(jīng)有腳了,通常四個(gè)腳:TDI,TDO,TMS,TCK,當(dāng)然還有個(gè)復(fù)位腳TRST。對于芯片上的JTAG的腳實(shí)際上是專用的。
TDI:測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI輸入JTAG口;
TDO:測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO從JTAG口輸出;
TMS:測試模式選擇,用來設(shè)置JTAG口處于某種特定的測試模式;
TCK:測試時(shí)鐘輸入;
TRST:測試復(fù)位;
更多吊炸天的用法:
CPU和FPGA制造商允許JTAG用來端口debug;FPGA廠商允許通過JTAG配置FPGA,使用JTAG信號通入FPGA核。
3.JTAG怎么工作:
PC控制JTAG:用JTAG電纜連接PC的打印端口或者USB或者網(wǎng)口。最簡單的是連接打印端口。
TMS:在每個(gè)含有JTAG的芯片內(nèi)部,會(huì)有個(gè)JTAG TAP控制器。TAP控制器是一個(gè)有16個(gè)狀態(tài)的狀態(tài)機(jī),而TMS就是這玩意的控制信號。當(dāng)TMS把各個(gè)芯片都連接在一起的時(shí)候,所有的芯片的TAP狀態(tài)跳轉(zhuǎn)是一致的。下面是TAP控制器的示意圖:
改變TMS的值,狀態(tài)就會(huì)發(fā)生跳轉(zhuǎn)。如果保持5個(gè)周期的高電平,就會(huì)跳回test-logic-rest,通常用來同步TAP控制器;
通常使用兩個(gè)最重要的狀態(tài)是Shift-DR和Shift-IR,兩者連接TDI和TDO使用。
IR:命令寄存器,你可以寫值到這個(gè)寄存器中通知JTAG干某件事。每個(gè)TAP只有一個(gè)IR寄存器而且長度是一定的。
DR:TAP可以有多個(gè)DR寄存器,與IR寄存器相似,每個(gè)IR值會(huì)選擇不同的DR寄存器。(很迷)
4.JTAG鏈相關(guān)疑問:
計(jì)算JTAG鏈中的IC數(shù)目:
一個(gè)重要的應(yīng)用是IR值是全一值,表示BYPASS命令,在BYPASS模式中,TAP控制器中的DR寄存器總是單bit的,從輸入TDI到輸出TDO,通常一個(gè)周期,啥也不干。
可用BYPASS模式計(jì)算IC數(shù)目。如果每個(gè)IC的TDI-TDO鏈的延遲是一個(gè)時(shí)鐘,我們可以發(fā)送一些數(shù)據(jù)并檢測它延遲了多久,那么久可以推算出JTAG鏈中的IC數(shù)目。
得到JTAG鏈中的器件ID:
大多數(shù)的JTAG IC都支持IDCODE命令。在IDCODE命令中,DR寄存器會(huì)裝載一個(gè)32bit的代表器件ID的值。不同于BYPASS指令,在IDCODE模式下IR的值沒有標(biāo)準(zhǔn)。不過每次TAP控制器跳轉(zhuǎn)到Test-Logic-Reset態(tài),它會(huì)進(jìn)入IDCODE模式,并裝載IDCODE到DR。
5.邊界掃描:
TAP控制器進(jìn)入邊界掃描模式時(shí),DR鏈可以遍歷每個(gè)IO塊或者讀或攔截每個(gè)引腳。
在FPGA上使用JTAG,你可以知曉每個(gè)引腳的狀態(tài)當(dāng)FPGA在運(yùn)行的時(shí)候。
可以使用JTAG命令SAMPLE,當(dāng)然不同IC可能是不同的。
以上。
-
控制器
+關(guān)注
關(guān)注
113文章
16820瀏覽量
182115 -
JTAG
+關(guān)注
關(guān)注
6文章
403瀏覽量
72641 -
Sample
+關(guān)注
關(guān)注
0文章
11瀏覽量
8857
原文標(biāo)題:JTAG基礎(chǔ)知識
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
labview基礎(chǔ)知識
通信基礎(chǔ)知識教程
計(jì)算機(jī)基礎(chǔ)知識介紹
使用Eclipse基礎(chǔ)知識
電源管理基礎(chǔ)知識電源管理基礎(chǔ)知識電源管理基礎(chǔ)知識

評論