當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]JTAG基本原理及仿真器性能比較

摘要 簡要介紹JTAG的基本概念及主要應(yīng)用;以簡易JTAG為例、通過對JD4480X和STR710目標(biāo)板的JTAG原理圖進行對比分析,詳細(xì)介紹JTAG的基本工作原理;并對簡易JTAG與仿真器的性能進行了分析比較。
關(guān)鍵詞 JTAG仿真器 ARM


    JTAG(Joint Test Action Group,聯(lián)合測試行動組)是一種國際標(biāo)準(zhǔn)測試協(xié)議(IEEE 1149.1兼容)。標(biāo)準(zhǔn)的JTAG接口是4線——TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。
    JTAG的主要功能有兩種,或者說JTAG主要有兩大 類:一類用于測試芯片的電氣特性,檢測芯片是否有問題;另一類用于Debug,對各類芯片以及其外圍設(shè)備進行調(diào)試。一個含有JTAG Debug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內(nèi)部寄存器、掛在CPU總線上的設(shè)備以及內(nèi)置模塊的寄存器。本文主要介紹的是Debug功能。

1 JTAG原理分析
   
簡單地說,JTAG的工作原理可以歸結(jié)為:在器件內(nèi)部定義一個TAP(Test Access Port,測試訪問口),通過專用的JTAG測試工具對內(nèi)部節(jié)點進行測試和調(diào)試。首先介紹一下邊界掃描和TAP的基本概念和內(nèi)容。
1.1 邊界掃描
   
邊界掃描(Boundary-Scan)技術(shù)的基本思想是在靠近芯片的輸入/輸出引腳上增加一個移位寄存器單元,也就是邊界掃描寄存器(Boundary-Scan Register)。
    當(dāng)芯片處于調(diào)試狀態(tài)時,邊界掃描寄存器可以將芯片和外圍的輸入/輸出隔離開來。通過邊界掃描寄存器單元,可以實現(xiàn)對芯片輸入/輸出信號的觀察和控制。對于芯片的輸入引腳,可以通過與之相連的邊界掃描寄存器單元把信號(數(shù)據(jù))加載到該引腳中去;對于芯片的輸出引腳,也可以通過與之相連的邊界掃描寄存器“捕獲”該引腳上的輸出信號。在正常的運行狀態(tài)下,邊界掃描寄存器對芯片來說是透明的,所以正常的運行不會受到任何影響。這樣,邊界掃描寄存器提供了一種便捷的方式用于觀測和控制所需調(diào)試的芯片。另外,芯片輸入/輸出引腳上的邊界掃描(移位)寄存器單元可以相互連接起來,在芯片的周圍形成一個邊界掃描鏈(Boundary-Scan Chain)。邊界掃描鏈可以串行地輸入和輸出,通過相應(yīng)的時鐘信號和控制信號,就可以方便地觀察和控制處在調(diào)試狀態(tài)下的芯片。
1.2 測試訪問口TAP
    TAP(Test Access Port)是一個通用的端口,通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對整個TAP的控制是通過TAP控制器(TAP Controller)來完成的。下面先分別介紹一下TAP的幾個接口信號及其作用。其中,前4個信號在IEEE1149.1標(biāo)準(zhǔn)里是強制要求的。
    ◇TCK:時鐘信號,為TAP的操作提供了一個獨立的、基本的時鐘信號。
    ◇TMS:模式選擇信號,用于控制TAP狀態(tài)機的轉(zhuǎn)換。
    ◇TDI:數(shù)據(jù)輸入信號。
    ◇TDO:數(shù)據(jù)輸出信號。
    ◇TRST:復(fù)位信號,可以用來對TAP Controller進行復(fù)位(初始化)。這個信號接口在IEEE 1149.1標(biāo)準(zhǔn)里并不是強制要求的,因為通過TMS也可以對TAP Controller進行復(fù)位。
    ◇STCK:時鐘返回信號,在IEEE 1149.1標(biāo)準(zhǔn)里非強制要求。
    ◇DBGRQ:目標(biāo)板卜工作狀態(tài)的控制信號。在IEEE 1149.1標(biāo)準(zhǔn)里沒有要求,只是在個別目標(biāo)板(例如STR710)中會有。
    簡單地說,PC機對目標(biāo)板的調(diào)試就是通過TAP接口完成對相關(guān)數(shù)據(jù)寄存器(DR)和指令寄存器(IR)的訪問。
    系統(tǒng)上電后,TAP Controller首先進入Test-LogicReset狀態(tài),然后依次進入Run-Test/Idle、Selcct-DR-Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR狀態(tài),最后回到Run-Tcst/Idle狀態(tài)。在此過程中,狀態(tài)的轉(zhuǎn)移都是通過TCK信號進行驅(qū)動(上升沿),通過TMS信號對TAP的狀態(tài)進行選擇轉(zhuǎn)換的。其中,在Capture-IR狀態(tài)下,一個特定的邏輯序列被加載到指令寄存器中;在Shift-IR狀態(tài)下,可以將一條特定的指令送到指令寄存器中;在Update—IR狀態(tài)下,剛才輸入到指令寄存器中的指令將用來更新指令寄存器。最后,系統(tǒng)又回到Run—Test/Idle狀態(tài),指令生效,完成對指令寄存器的訪問。當(dāng)系統(tǒng)又返回到Run—Test/Idle狀態(tài)后,根據(jù)前面指令寄存器的內(nèi)容選定所需要的數(shù)據(jù)寄存器,開始執(zhí)行對數(shù)據(jù)寄存器的工作。其基本原理與指令其存器的訪問完全相同,依次為seIect—DR—Scan、Capture—DR、Shift—D、Exitl一DR、Update—DR,最后回到Run-Tcst/Idle狀態(tài)。通過TDl和TDO,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器中。經(jīng)過一個周期后,就可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù),完成對與數(shù)據(jù)寄存器的每個寄存器單元相連的芯片引腳的數(shù)據(jù)更新,也完成了對數(shù)據(jù)寄存器的訪問。
    目前,市場上的JTAG接口有14引腳和20引腳兩種。其中,以20引腳為主流標(biāo)準(zhǔn),但也有少數(shù)的目標(biāo)板采用14引腳。經(jīng)過簡單的信號轉(zhuǎn)換后,可以將它們通用。
    下面通過對JD44BOX實驗開發(fā)板的簡易JTAG的基本原理進行分析,以及對JD44BOX和STR710試驗開發(fā)板主板的JTAG原理進行對比,進一步闡述JTAG的工作原理。JD44BOX實驗開發(fā)板的簡易JTAG的原理圖如圖1所示。

    圖1中,74LS244為三態(tài)輸出的8組緩沖器和總線驅(qū)動器,其功能如表l所列。

    由表1可知,在JD4480X實驗板的調(diào)試過程中,這款簡易JTAG的主要作用就是將PC機發(fā)出的電信號與實驗板的電信號進行匹配,以實現(xiàn)驅(qū)動目標(biāo)板的功能。
    STR710和JD44BOX主板的JTAG原理圖如圖2和圖3所示。

    通過圖2和圖3的對比可以發(fā)現(xiàn),雖然所用的仿真器有很大的差別,但是,實際上忽略一些上下拉電阻以及保護電容(這些電阻、電容對于電路功能沒有意義),它們的基本原理圖是十分相似的,唯一的差別就在于對RTCK信號(用于測試時鐘返回)和DBGRQ信號(用于設(shè)置目標(biāo)板工作狀態(tài))的處理。實際上,在IEEE1149.1標(biāo)準(zhǔn)中這兩個信號都不是強制要求的。因此,在分析仿真器(JTAG)的工作原理時完全可以忽略這兩個信號的情況,而僅對IFEE 1149.1標(biāo)準(zhǔn)中強制要求的4個信號進行分析。

2 仿真器與簡易JTAG的性能對比
2.1 仿真器硬件連接
    PC機配置:1.66 GHz,256 MB內(nèi)存。
    調(diào)試軟件:ADS1.2。
    目標(biāo)板:JD44BOX。
    完成任務(wù):文件的下載。
    硬件連接如圖4所示。通過主機的并口與仿真器相連接,再將仿真器與目標(biāo)板的JTAG調(diào)試接口連接。

2.2 性能對比
   
如表2所列,雖然通過不同的調(diào)試代理所需的下載時間有所不同,但是兩種仿真器所存在的性能差異仍然很明顯。在選用簡易JTAG下載文件的過程中,效率最高的調(diào)試代理所需的時間仍將近是仿真器的6倍,這就是仿真器的優(yōu)勢所在。性能的提高必然要付出更多的代價,對開發(fā)者來說這個代價就是成本。經(jīng)過市場的考察,仿真器的價格一般在千兀左右,而簡易JTAG的價格一般在百元左右,也就是存在將近10倍的差別。另外,還需要考慮的就是其兼容性。兼容性包括與H標(biāo)板的兼容和與調(diào)試代理的兼容。在與目標(biāo)板的兼容方面,后面的內(nèi)容中會有詳細(xì)說明;在與調(diào)試代理的兼容方面也有所反映。簡易JTAG能夠與多個調(diào)試代理兼容,而仿真器只能使用其自帶的調(diào)試代理,具有一定的局限性。

2.3 原因分析
   
既然所有JTAG的基本原理都是一樣的,為什么這兩種仿真器的速度會存在如此大的差異,而且并不是所有的仿真器都是通用的呢?
    首先介紹一下ARM7掃描鏈架構(gòu),如圖5所示。

    與簡易JTAG比較,在掃描過程中,STR710的仿真器為ARM7TDMI添加了一個專門的指針通道以及相應(yīng)的存儲空間store-multiple(STM)。因此在調(diào)試狀態(tài)下,仿真器不再利用系統(tǒng)除了邊界扣描寄存器外的任何其他資源,而是通過JTAG-style接口直接獲取系統(tǒng)的狀態(tài)信息,對系統(tǒng)狀態(tài)進行觀測以及調(diào)試,進而大大提高調(diào)試速度。
    在STR7lO目標(biāo)板中,ARM7TDMI可以通過外部信號和內(nèi)部電路模塊(ICE)進入調(diào)試狀態(tài)。當(dāng)目標(biāo)板一旦進入調(diào)試狀態(tài)后,內(nèi)核就將其與存儲器分離開來,這樣內(nèi)核就可以保證在不影響系統(tǒng)正常運作的狀態(tài)下對系統(tǒng)的狀況進行監(jiān)測和調(diào)試。同時,ARM7TDMI內(nèi)部狀態(tài)的檢測是通過JTAG-style接口進行的,這個接口允許指令不通過數(shù)據(jù)線直接進入到內(nèi)核的掃描通道。這樣在調(diào)試狀態(tài)下,STM就可以直接嵌入到指令通道并存儲ARM7TDMI寄存器的內(nèi)容,在不影響系統(tǒng)工作的情況下將這些內(nèi)容移位出來,使仿真器獲得目標(biāo)板的狀態(tài)信息。
    與仿真器比較,簡易JTAG完成的工作就要少得多。它只是完成了對主機信號的電平轉(zhuǎn)換,也就是相當(dāng)于一個驅(qū)動器。上面提到的所有工作都要交給CPU去做,因此在使用簡易JTAG下載文件時目標(biāo)板自然會相應(yīng)地降低速度。尤其是當(dāng)程序相對較大時,其速度就會大大降低,對于一些開發(fā)人員來講,這是相當(dāng)致命的缺點。
    關(guān)于仿真器與目標(biāo)板的兼容問題,現(xiàn)在市場上的部分仿真器出現(xiàn)不同程度的不兼容問題,其產(chǎn)生的主要原因是對RTCK信號(DBGRQ信號極不常見,這里不作介紹)的處理情況存在一些差異(不包括周立功系列的實驗開發(fā)板,它們的仿真器使用的足單片機,與大多數(shù)的仿真器都不能兼容)。例如,在STR710中是將STCK信號與TCK信號直接相連了,而在nano2410A實驗開發(fā)板中是將STCK信號直接接地,因此造成了ARM JTAG Emulator在nano2410A實驗開發(fā)板中的不兼容。在對nano2410A主板的JTAG進行了小小的改動后就完成了仿真器兼容性的擴展。
    備注:①JD4480X為北京交通大學(xué)自控室實驗開發(fā)板,STR710為北京微芯力科技有限公司實驗開發(fā)板;②實驗數(shù)據(jù)為秒表所測。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉