JTAG 接口和原理

https://blog.csdn.net/orange_os/article/details/7544032

JTAG(Joint Test Action Group上忍,聯(lián)合測(cè)試行動(dòng)組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容)。標(biāo)準(zhǔn)的JTAG接口是4線——TMS航棱、TCK睡雇、TDI、TDO饮醇,分別為模式選擇、時(shí)鐘秕豫、數(shù)據(jù)輸入和數(shù)據(jù)輸出線朴艰。

JTAG(Joint Test Action Group观蓄,聯(lián)合測(cè)試行動(dòng)組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容)。標(biāo)準(zhǔn)的JTAG接口是4線——TMS祠墅、TCK侮穿、TDI、TDO毁嗦,分別為模式選擇亲茅、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線狗准。

JTAG的主要功能有兩種克锣,或者說(shuō)JTAG主要有兩大類:一類用于測(cè)試芯片的電氣特性,檢測(cè)芯片是否有問(wèn)題腔长;另一類用于Debug袭祟,對(duì)各類芯片以及 其外圍設(shè)備進(jìn)行調(diào)試。一個(gè)含有JTAG Debug接口模塊的CPU捞附,只要時(shí)鐘正常巾乳,就可以通過(guò)JTAG接口訪問(wèn)CPU的內(nèi)部寄存器、掛在CPU總線上的設(shè)備以及內(nèi)置模塊的寄存器鸟召。本文主要介紹 的是Debug功能胆绊。

注釋:JTAG可以訪問(wèn)一些內(nèi)部寄存器,主要是CPU內(nèi)的寄存器欧募,例如一些通用寄存器等辑舷;也可以訪問(wèn)一些掛在總線上的設(shè)備,比如片內(nèi)的內(nèi)存L1槽片,L2何缓,L3等;還可以訪問(wèn)內(nèi)置模塊的寄存器还栓,比如MMU模塊碌廓,通過(guò)JTAG都可以訪問(wèn)這些寄存器。

1 JTAG原理分析

簡(jiǎn)單地說(shuō)剩盒,JTAG的工作原理可以歸結(jié)為:在器件內(nèi)部定義一個(gè)TAP(Test Access Port谷婆,測(cè)試訪問(wèn)口),通過(guò)專用的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試和調(diào)試辽聊。首先介紹一下邊界掃描和TAP的基本概念和內(nèi)容纪挎。

1.1 邊界掃描

邊界掃描(Boundary-Scan)技術(shù)的基本思想是在靠近芯片的輸入/輸出引腳上增加一個(gè)移位寄存器單元,也就是邊界掃描寄存器(Boundary-Scan Register)跟匆。

當(dāng)芯片處于調(diào)試狀態(tài)時(shí)异袄,邊界掃描寄存器可以將芯片和外圍的輸入/輸出隔離開來(lái)。通過(guò)邊界掃描寄存器單元玛臂,可以實(shí)現(xiàn)對(duì)芯片輸入/輸出信號(hào)的觀察和控 制烤蜕。對(duì)于芯片的輸入引腳封孙,可以通過(guò)與之相連的邊界掃描寄存器單元把信號(hào)(數(shù)據(jù))加載到該引腳中去;對(duì)于芯片的輸出引腳讽营,也可以通過(guò)與之相連的邊界掃描寄存 器“捕獲”該引腳上的輸出信號(hào)虎忌。在正常的運(yùn)行狀態(tài)下,邊界掃描寄存器對(duì)芯片來(lái)說(shuō)是透明的橱鹏,所以正常的運(yùn)行不會(huì)受到任何影響膜蠢。這樣,邊界掃描寄存器提供了一 種便捷的方式用于觀測(cè)和控制所需調(diào)試的芯片莉兰。另外挑围,芯片輸入/輸出引腳上的邊界掃描(移位)寄存器單元可以相互連接起來(lái),任芯片的周圍形成一個(gè)邊界掃描鏈 (Boundary-Scan Chain)贮勃。邊界掃描鏈可以串行地輸入和輸出贪惹,通過(guò)相應(yīng)的時(shí)鐘信號(hào)和控制信號(hào),就可以方便地觀察和控制處在調(diào)試狀態(tài)下的芯片寂嘉。

1.2 測(cè)試訪問(wèn)口TAP

TAP(Test Access Port)是一個(gè)通用的端口奏瞬,通過(guò)TAP可以訪問(wèn)芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對(duì)整個(gè)TAP的控制是通過(guò)TAP控制器(TAP Controller)來(lái)完成的泉孩。下面先分別介紹一下TAP的幾個(gè)接口信號(hào)及其作用硼端。其中,前4個(gè)信號(hào)在IEEE1149.1標(biāo)準(zhǔn)里是強(qiáng)制要求的寓搬。

TCK:時(shí)鐘信號(hào)珍昨,為TAP的操作提供了一個(gè)獨(dú)立的、基本的時(shí)鐘信號(hào)句喷。

TMS:模式選擇信號(hào)镣典,用于控制TAP狀態(tài)機(jī)的轉(zhuǎn)換。

TDI:數(shù)據(jù)輸入信號(hào)唾琼。

TDO:數(shù)據(jù)輸出信號(hào)兄春。

TRST:復(fù)位信號(hào),可以用來(lái)對(duì)TAP Controller進(jìn)行復(fù)位(初始化)锡溯。這個(gè)信號(hào)接口在IEEE 1149.1標(biāo)準(zhǔn)里并不是強(qiáng)制要求的赶舆,因?yàn)橥ㄟ^(guò)TMS也可以對(duì)TAP Controller進(jìn)行復(fù)位。

STCK:時(shí)鐘返回信號(hào)祭饭,在IEEE 1149.1標(biāo)準(zhǔn)里非強(qiáng)制要求芜茵。

DBGRQ:目標(biāo)板上工作狀態(tài)的控制信號(hào)。在IEEE 1149.1標(biāo)準(zhǔn)里沒有要求倡蝙,只是在個(gè)別目標(biāo)板(例如STR710)中會(huì)有九串。

簡(jiǎn)單地說(shuō),PC機(jī)對(duì)目標(biāo)板的調(diào)試就是通過(guò)TAP接口完成對(duì)相關(guān)數(shù)據(jù)寄存器(DR)和指令寄存器(IR)的訪問(wèn)悠咱。

系統(tǒng)上電后蒸辆,TAP Controller首先進(jìn)入Test-LogicReset狀態(tài)征炼,然后依次進(jìn)入Run-Test/Idle析既、Select-DR- Scan躬贡、Select-IR-Scan、Capture-IR眼坏、Shift-IR拂玻、Exitl-IR、Update-IR狀態(tài)宰译,最后回到Run- Test/Idle狀態(tài)檐蚜。在此過(guò)程中,狀態(tài)的轉(zhuǎn)移都是通過(guò)TCK信號(hào)進(jìn)行驅(qū)動(dòng)(上升沿)沿侈,通過(guò)TMS信號(hào)對(duì)TAP的狀態(tài)進(jìn)行選擇轉(zhuǎn)換的闯第。其中,在 Capture-IR狀態(tài)下缀拭,一個(gè)特定的邏輯序列被加載到指令寄存器中咳短;在Shift-IR狀態(tài)下,可以將一條特定的指令送到指令寄存器中蛛淋;在 Update-IR狀態(tài)下咙好,剛才輸入到指令寄存器中的指令將用來(lái)更新指令寄存器。最后褐荷,系統(tǒng)又回到Run-Test/Idle狀態(tài)勾效,指令生效,完成對(duì)指令 寄存器的訪問(wèn)叛甫。當(dāng)系統(tǒng)又返回到Run-Test/Idle狀態(tài)后层宫,根據(jù)前面指令寄存器的內(nèi)容選定所需要的數(shù)據(jù)寄存器,開始執(zhí)行對(duì)數(shù)據(jù)寄存器的工作其监。其基本 原理與指令其存器的訪問(wèn)完全相同萌腿,依次為Select-DR-Scan、Capture-DR棠赛、Shift-D哮奇、Exit1-DR、Update-DR睛约, 最后回到Run-Test/Idle狀態(tài)鼎俘。通過(guò)TDI和TDO,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器中辩涝。經(jīng)過(guò)一個(gè)周期后贸伐,就可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù),完 成對(duì)與數(shù)據(jù)寄存器的每個(gè)寄存器單元相連的芯片引腳的數(shù)據(jù)更新怔揩,也完成了對(duì)數(shù)據(jù)寄存器的訪問(wèn)捉邢。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脯丝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伏伐,更是在濱河造成了極大的恐慌宠进,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藐翎,死亡現(xiàn)場(chǎng)離奇詭異材蹬,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)吝镣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門堤器,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人末贾,你說(shuō)我怎么就攤上這事闸溃。” “怎么了拱撵?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵辉川,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我裕膀,道長(zhǎng)员串,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任昼扛,我火速辦了婚禮寸齐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抄谐。我一直安慰自己渺鹦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布蛹含。 她就那樣靜靜地躺著毅厚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浦箱。 梳的紋絲不亂的頭發(fā)上吸耿,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音酷窥,去河邊找鬼咽安。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蓬推,可吹牛的內(nèi)容都是我干的妆棒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糕珊!你這毒婦竟也來(lái)了动分?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤红选,失蹤者是張志新(化名)和其女友劉穎澜公,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纠脾,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玛瘸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蜕青,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了苟蹈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡右核,死狀恐怖慧脱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贺喝,我是刑警寧澤菱鸥,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站躏鱼,受9級(jí)特大地震影響氮采,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜染苛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一鹊漠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茶行,春花似錦躯概、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至看锉,卻和暖如春姿锭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伯铣。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工呻此, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人懂傀。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓趾诗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恃泪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容