版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品文檔-下載后可編輯jtag工作原理詳解-基礎電子JTAG(JointTestAconGroup,聯(lián)合測試行動組)是一種國際標準測試協(xié)議(IEEE1149.1兼容)。標準的JTAG接口是4線——TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。
JTAG是基本的通訊協(xié)議之一,大家可以理解為與RXTX或者USB的道理是一樣的,只是一種通訊手段,但與RXTX以及USB有很重大的不同,那就是這個JTAG協(xié)議是層的,說的通俗一點,一般來說,手機里邊,CPU是老大,對吧?但在JTAG面前,他就不是老大了,JTAG協(xié)議就是用來控制CPU的,在JTAG面前CPU變成嘍啰了。一般的協(xié)議是求著CPU讀寫字庫的程序,但JTAG可以讀寫CPU的程序,命令讓CPU啥活都干,擒賊先擒王,JTAG就是屠龍刀。
JTAG也是一種國際標準測試協(xié)議(IEEE1149.1兼容),主要用于芯片內部測試?,F(xiàn)在多數(shù)的器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。相關JTAG引腳的定義為:TCK為測試時鐘輸入;TDI為測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引腳輸入JTAG接口;TDO為測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引腳從JTAG接口輸出;TMS為測試模式選擇,TMS用來設置JTAG接口處于某種特定的測試模式;TRST為測試復位,輸入引腳,低電平有效
JTAG的主要功能有兩種,或者說JTAG主要有兩大類:一類用于測試芯片的電氣特性,檢測芯片是否有問題;另一類用于Debug,對各類芯片以及其外圍設備進行調試。一個含有JTAGDebug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內部寄存器、掛在CPU總線上的設備以及內置模塊的寄存器。本文主要介紹的是Debug功能。
解釋:JTAG可以訪問一些內部寄存器,主要是CPU內的寄存器,例如一些通用寄存器等;也可以訪問一些掛在總線上的設備,比如片內的內存L1,L2,L3等;還可以訪問內置模塊的寄存器,比如MMU模塊,通過JTAG都可以訪問這些寄存器。
1JTAG原理分析
簡單地說,JTAG的工作原理可以歸結為:在器件內部定義一個TAP(TestAccessPort,測試訪問口),通過專用的JTAG測試工具對內部節(jié)點進行測試和調試。首先介紹一下邊界掃描和TAP的基本概念和內容。
1.1邊界掃描
邊界掃描(Boundary-Scan)技術的基本思想是在靠近芯片的輸入/輸出引腳上增加一個移位寄存器單元,也就是邊界掃描寄存器(Boundary-ScanRegister)。
當芯片處于調試狀態(tài)時,邊界掃描寄存器可以將芯片和外圍的輸入/輸出隔離開來。通過邊界掃描寄存器單元,可以實現(xiàn)對芯片輸入/輸出信號的觀察和控制。對于芯片的輸入引腳,可以通過與之相連的邊界掃描寄存器單元把信號(數(shù)據(jù))加載到該引腳中去;對于芯片的輸出引腳,也可以通過與之相連的邊界掃描寄存器“捕獲”該引腳上的輸出信號。在正常的運行狀態(tài)下,邊界掃描寄存器對芯片來說是透明的,所以正常的運行不會受到任何影響。這樣,邊界掃描寄存器提供了一種便捷的方式用于觀測和控制所需調試的芯片。另外,芯片輸入/輸出引腳上的邊界掃描(移位)寄存器單元可以相互連接起來,任芯片的周圍形成一個邊界掃描鏈(Boundary-ScanChain)。邊界掃描鏈可以串行地輸入和輸出,通過相應的時鐘信號和控制信號,就可以方便地觀察和控制處在調試狀態(tài)下的芯片。
1.2測試訪問口TAP
TAP(TestAccessPort)是一個通用的端口,通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對整個TAP的控制是通過TAP控制器(TAPController)來完成的。下面先分別介紹一下TAP的幾個接口信號及其作用。其中,前4個信號在IEEE1149.1標準里是強制要求的。
TCK:時鐘信號,為TAP的操作提供了一個獨立的、基本的時鐘信號。
TMS:模式選擇信號,用于控制TAP狀態(tài)機的轉換。
TDI:數(shù)據(jù)輸入信號。
TDO:數(shù)據(jù)輸出信號。
TRST:復位信號,可以用來對TAPController進行復位(初始化)。這個信號接口在IEEE1149.1標準里并不是強制要求的,因為通過TMS也可以對TAPController進行復位。
STCK:時鐘返回信號,在IEEE1149.1標準里非強制要求。
DBGRQ:目標板上工作狀態(tài)的控制信號。在IEEE1149.1標準里沒有要求,只是在個別目標板(例如STR710)中會有。
簡單地說,PC機對目標板的調試就是通過TAP接口完成對相關數(shù)據(jù)寄存器(DR)和指令寄存器(IR)的訪問。
系統(tǒng)上電后,TAPController首先進入Test-LogicReset狀態(tài),然后依次進入Run-Test/Idle、Select-DR-Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR狀態(tài),回到Run-Test/Idle狀態(tài)。在此過程中,狀態(tài)的轉移都是通過TCK信號進行驅動(上升沿),通過TMS信號對TAP的狀態(tài)進行選擇轉換的。其中,在Capture-IR狀態(tài)下,一個特定的邏輯序列被加載到指令寄存器中;在Shift-IR狀態(tài)下,可以將一條特定的指令送到指令寄存器中;在Update-IR狀態(tài)下,剛才輸入到指令寄存器中的指令將用來更新指令寄存器。,系統(tǒng)又回到Run-Test/Idle狀態(tài),指令生效,完成對指令寄存器的訪問。當系統(tǒng)又返回到Run-Test/Idle狀態(tài)后,根據(jù)前面指令寄存器的內容選定所需要的數(shù)據(jù)寄存器,開始執(zhí)行對數(shù)據(jù)寄存器的工作。其基本原理與指令其存器的訪問完全相同,依次為Select-DR-Scan、Capture-DR、Shift-D、Exit1-DR、Update-DR,回到Run-Test/Idle狀態(tài)。通過TDI和TDO,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器中。經(jīng)過一個周期后,就可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù),完成對與數(shù)據(jù)寄存器的每個寄存器單元相連的芯片引腳的數(shù)據(jù)更新,也完成了對數(shù)據(jù)寄存器的訪問。
目前,市場上的JTAG接口有14引腳和20引腳兩種。其中,以20引腳為主流標準,但也有少數(shù)的目標板采用14引腳。經(jīng)過簡單的信號轉換后,可以將它們通用。
JTAG的基本原理進行分析
下面通過對JD44B0X實驗開發(fā)板的簡易JTAG的基本原理進行分析,以及對JD44B0X和STR710試驗開發(fā)板主板的JTAG原理進行對比,進一步闡述JTAG的工作原理。JD44B0X實驗開發(fā)板的簡易JTAG的原理圖如圖1所示。
圖1中,74LS244為三態(tài)輸出的8組緩沖器和總線驅動器,其功能如表1所列。
由表1可知,在JD44B0X實驗板的調試過程中,這款簡易JTAG的主要作用就是將PC機發(fā)出的電信號與實驗板的電信號進行匹配,以實現(xiàn)驅動目標板的功能。
STR710和JD44B0X主板的JTAG原理圖如圖2和圖3所示。
通過圖2和圖3的對比可以發(fā)現(xiàn),雖然所用的仿真器有很大的差別,但是,實際上忽略一些上下拉電阻以及保護電容(這些電阻、電容對于電路功能沒有意義),它們的基本原理圖是十分相似的,的差別就在于對RTCK信號(用于測試時鐘返回)和DBGRQ信號(用于設置目標板工作狀態(tài))的處理。實際上,在IEEE1149.1標準中這兩個信號都不是強制要求的。因此,在分析仿真器(JTAG)的工作原理時完全可以忽略這兩個信號的情況,而僅對IEEE1149.1標準中強制要求的4個信號進行分析。
2仿真器與簡易JTAG的性能對比
2.1仿真器硬件連接
PC機配置:1.66GHz,256MB內仔。
調試軟件:ADS1.2。
目標板:JD44B0X。
完成任務:文件的。
硬件連接如圖4所示。通過主機的并口與仿真器相連接,再將仿真器與目標板的JTAG調試接口連接。
2.2性能對比
如表2所列,雖然通過不同的調試代理所需的時間有所不同,但是兩種仿真器所存在的性能差異仍然很明顯。在選剛簡易JTAG文件的過程中,效率的調試代理所需的時間仍將近是仿真器的6倍,這就是仿真器的優(yōu)勢所在。性能的提高必然要付出更多的代價,對開發(fā)者來說這個代價就是成本。經(jīng)過市場的考察,仿真器的價格一般在千元左右,而簡易JTAG的價格一般在百元左右,也就是存在將近10倍的差別。另外,還需要考慮的就是其兼容性。兼容性包括與目標板的兼容和與調試代理的兼容。在與目標板的兼容方面,后面的內容中會有詳細說明;在與調試代理的兼容方面也有所反映。簡易JTAG能夠與多個調試代理兼容,而仿真器只能使用其自帶的調試代理,具有一定的局限性。
2.3原因分析
既然所有JTAG的基奉原理都是一樣的,為什么這兩種仿真器的速度會存在如此大的差異,而且并不是所有的仿真器都是通用的呢?
首先介紹一下ARM7掃描鏈架構,如圖5所示。
與簡易JTAG比較,在掃描過程中,STR710的仿真器為ARM7TDMI添加了一個專門的指針通道以及相應的存儲空間store-mulTIple(STM)。因此在調試狀態(tài)下,仿真器不再利用系統(tǒng)除了邊界掃描寄存器外的任何其他資源,而是通過JTAG-style接口直接獲取系統(tǒng)的狀態(tài)信息,對系統(tǒng)狀態(tài)進行觀測以及調試,進而大大提高調試速度。
在STR710目標板中,ARM7TDMI可以通過外部信號和內部電路模塊(ICE)進入調試狀態(tài)。當目標板一旦進入調試狀態(tài)后,內核就將其與存儲器分離開來,這樣內核就可以保證在不影響系統(tǒng)正常運作的狀態(tài)下對系統(tǒng)的狀況進行監(jiān)測和調試。同時,ARM7TDMI內部狀態(tài)的檢測是通過JTAG-style接口進行的,這個接口允許指令不通過數(shù)據(jù)線直接進入到內核的掃描通道。這樣在調試狀態(tài)下,STM就可以直接嵌入到指令通道并存儲ARM7TDMI寄存器的內容,在不影響系統(tǒng)工作的情況下將這些內容移位出來,使仿真器獲得目標板的狀態(tài)信息。
與仿真器比較,簡易JTAG完成的工作就要少得多。它只是完成了對主機信號的電平轉換,也就是相當于一個驅動器。上面提到的所有工作都要交給CPU去做,因此在使用簡易JTAG文件時目標板自然會相應地降低速度。尤其是當程序相對較大時,其速度就會大大降低,對于一些開發(fā)人員來講,這是相當致命的缺點。
關于仿真器與日標板的兼容問題,現(xiàn)在市場上的部分仿真器出現(xiàn)不同程度的不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高端汽車引擎大修與動力升級協(xié)議2篇
- 2025年度建筑工程材料價格波動風險分擔補充協(xié)議書3篇
- 二零二五年度電力行業(yè)電工勞務用工協(xié)議范本3篇
- 二零二五年數(shù)據(jù)服務器購置協(xié)議書樣本3篇
- 二零二五版KTV品牌戰(zhàn)略規(guī)劃與市場拓展協(xié)議3篇
- 2024版清包裝修合同范本
- 2025年度特色餐飲店試用期配菜員專業(yè)聘用合同3篇
- 二零二五年度創(chuàng)意市集攤位租賃服務協(xié)議3篇
- led屏幕采購安裝合同下載2篇
- 2024年標準版兒童托管服務合同模板版B版
- 泌尿科主任述職報告
- 新零售門店運營管理流程手冊
- 心理學專業(yè)知識考試參考題庫500題(含答案)(一)
- 2024年浙江高考技術試題(含答案)
- 資管行業(yè)投研一體化建設
- 提高保險公司客戶投訴處理能力的整改措施
- 物業(yè)費收取協(xié)議書模板
- 電工(中級工)理論知識練習題(附參考答案)
- 工業(yè)設計概論試題
- 起重機的維護保養(yǎng)要求與月度、年度檢查記錄表
- 消防設施維護保養(yǎng)記錄表
評論
0/150
提交評論