99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

硬件接口協(xié)議技術(shù):JTAG內(nèi)部狀態(tài)機(jī)——TAP控制器

電子設(shè)計(jì) ? 來源:硬件助手 ? 作者:硬件助手 ? 2020-11-27 14:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文主要介紹JTAG總線的引腳定義、接口標(biāo)準(zhǔn)、邊界掃描和TAP控制器。

JTAG(Joint Test Action Group;聯(lián)合測(cè)試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試?,F(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如ARM、DSP、FPGA等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。

JTAG最初是用來對(duì)芯片進(jìn)行測(cè)試的,JTAG的基本原理是在器件內(nèi)部定義一個(gè)TAP(TestAccess Port;測(cè)試訪問)通過專用的JTAG測(cè)試工具對(duì)進(jìn)行內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。JTAG測(cè)試允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)對(duì)各個(gè)器件分別測(cè)試?,F(xiàn)在,JTAG接口還常用于實(shí)現(xiàn)ISP(In-System Programmable;在線編程),對(duì)Flash等器件進(jìn)行編程。

JTAG內(nèi)部有一個(gè)狀態(tài)機(jī),稱為TAP控制器。TAP控制器的狀態(tài)機(jī)通過TCK和TMS進(jìn)行狀態(tài)的改變,實(shí)現(xiàn)數(shù)據(jù)和指令的輸入。

1、引腳定義

含有JTAG口的芯片種類較多,如CPU、DSP、CPLD等。都有如下JTAG引腳定義(信號(hào)方向都是針對(duì)CPU來說的):

TCK——測(cè)試時(shí)鐘輸入。TMS和TDI的數(shù)據(jù)在TCK的上升沿被采樣。數(shù)據(jù)在時(shí)鐘的下降沿輸出到TDO。建議下拉。

TDI——測(cè)試數(shù)據(jù)輸入。輸入到指令寄存器(IR)或數(shù)據(jù)寄存器(DR)的數(shù)據(jù)出現(xiàn)在TDI輸入端,在TCK的上升沿被采樣。建議上拉,上拉電阻阻值不能小于1K。

TDO——測(cè)試數(shù)據(jù)輸出。來自指令寄存器或數(shù)據(jù)寄存器的數(shù)據(jù)在時(shí)鐘的下降沿被移出到TDO。不用上下拉,懸空時(shí),盡量引出測(cè)試點(diǎn),同時(shí)應(yīng)避免將TDO作為I/O使用。

TMS——測(cè)試模式選擇。TMS用來設(shè)置JTAG口處于某種特定的測(cè)試模式,用于控制TAP狀態(tài)機(jī)。必須上拉。

VTref——目標(biāo)板參考電壓,接電源。用來確定CPU的JTAG接口使用的邏輯電平。

可選引腳TRST——測(cè)試復(fù)位,輸入引腳,低電平有效。TRST可以用來對(duì)TAP Controller進(jìn)行復(fù)位(初始化)。因?yàn)橥ㄟ^TMS也可以對(duì)TAPController進(jìn)行復(fù)位(初始化)。所以有四線JTAG與五線JTAG之分。

可選引腳RTCK——測(cè)試時(shí)鐘返回信號(hào)。RTCK由目標(biāo)端反饋給仿真器的時(shí)鐘信號(hào),用來同步TCK信號(hào)的產(chǎn)生,不使用時(shí)直接接地。

可選引腳nSRST——目標(biāo)系統(tǒng)復(fù)位信號(hào)。與目標(biāo)板上的系統(tǒng)復(fù)位信號(hào)相連,可以直接對(duì)目標(biāo)系統(tǒng)復(fù)位。同時(shí)可以檢測(cè)目標(biāo)系統(tǒng)的復(fù)位情況,為了防止誤觸發(fā)應(yīng)在目標(biāo)端加上適當(dāng)?shù)纳侠娮琛?/p>

另外還有一些控制器會(huì)有如下一些額外信號(hào):

TDIS

PD或TVD——(Presence Detect, Target Voltage Detect),和VTref的功能一樣。

EMU[0:n]或ET[0:n]——(EMUlation, Emulation Test)

EMU pins are bi-directional multifunctional pinsthat provide support for the following features:

Boot Modes

Cross Triggers

Core Trace

System Trace

HS-RTDX (high speed RTDX,deprecated functionality)

In the case of Boot Modes, the EMU0/1 pin state is driven by the XDS. HS-RTDX provides bi-directional data transport. Both Core and System Trace transport event history and timing data from the target to the XDS. Crosstriggers are bi-directional triggers that allow an event in one device to causea debug action in other devices.

2、JTAG接口標(biāo)準(zhǔn)

目前JTAG接口的連接有三種標(biāo)準(zhǔn),即10針、14針接口和20針接口,其定義分別如下所示。

★由于JTAG經(jīng)常使用排線連接,為了增強(qiáng)抗干擾能力,在每條信號(hào)線間加上地線,偶數(shù)針腳都是地信號(hào)。

3、邊界掃描(Boundary-Scan

邊界掃描技術(shù)的基本思想是在靠近芯片的輸入輸出管腳上增加一個(gè)移位寄存器單元。因?yàn)檫@些移位寄存器單元都分布在芯片的邊界上(周圍),所以被稱為邊界掃描寄存器(Boundary-Scan Register Cell)。

當(dāng)芯片處于調(diào)試狀態(tài)的時(shí)候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來。通過這些邊界掃描寄存器單元,可以實(shí)現(xiàn)對(duì)芯片輸入輸出信號(hào)的觀察和控制。對(duì)于芯片的輸入管腳,可以通過與之相連的邊界掃描寄存器單元把信號(hào)(數(shù)據(jù))加載到該管腳中去;對(duì)于芯片的輸出管腳,也可以通過與之相連的邊界掃描寄存器“捕獲”該管腳上的輸出信號(hào)。在正常的運(yùn)行狀態(tài)下,這些邊界掃描寄存器對(duì)芯片來說是透明的,所以正常的運(yùn)行不會(huì)受到任何影響。這樣,邊界掃描寄存器提供了一個(gè)便捷的方式用以觀測(cè)和控制所需要調(diào)試的芯片。另外,芯片輸入輸出管腳上的邊界掃描(移位)寄存器單元可以相互連接起來,在芯片的周圍形成一個(gè)邊界掃描鏈(Boundary-Scan Chain)。一般的芯片都會(huì)提供幾條獨(dú)立的邊界掃描鏈,用來實(shí)現(xiàn)完整的測(cè)試功能。邊界掃描鏈可以串行的輸入和輸出,通過相應(yīng)的時(shí)鐘信號(hào)和控制信號(hào),就可以方便的觀察和控制處在調(diào)試狀態(tài)下的芯片。

4、TAP(TEST ACCESS PORT)

TAP是一個(gè)通用的端口,通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對(duì)整個(gè)TAP的控制是通過TAP Controller來完成的。TAP總共包括5個(gè)信號(hào)接口TCK、TMS、TDI、TDO和TRST:其中4個(gè)是輸入信號(hào)接口和另外1個(gè)是輸出信號(hào)接口。一般,我們見到的開發(fā)板上都有一個(gè)JTAG接口,該JTAG接口的主要信號(hào)接口就是這5個(gè)。

通過保持TMS為高電平(邏輯1)并在TCK端輸入至少5個(gè)選通脈沖(變高后再變低)后TAP邏輯被復(fù)位。這使TAP狀態(tài)機(jī)的狀態(tài)從任何其它狀態(tài)轉(zhuǎn)到測(cè)試邏輯復(fù)位狀態(tài)對(duì),JTAG口和測(cè)試邏輯復(fù)位,該狀態(tài)不復(fù)位CPU和外設(shè)。

通過TAP接口,對(duì)數(shù)據(jù)寄存器(DR)進(jìn)行訪問的一般過程是:

通過指令寄存器(IR),選定一個(gè)需要訪問的數(shù)據(jù)寄存器。

把選定的數(shù)據(jù)寄存器連接到TDI和TDO之間。

由TCK驅(qū)動(dòng),通過TDI,把需要的數(shù)據(jù)輸入到選定的數(shù)據(jù)寄存器當(dāng)中去;同時(shí)把選定的數(shù)據(jù)寄存器中的數(shù)據(jù)通過TDO讀出來。

下圖是TAP控制器的16-states有限狀態(tài)機(jī)圖示:

TAP控制器的狀態(tài)在TCK的上升沿變化。

在上電時(shí)進(jìn)入邏輯復(fù)位狀態(tài)(Test-Logic Reset),在該狀態(tài)下,測(cè)試部分的邏輯電路全部被禁用,以保證芯片核心邏輯電路的正常工作。通過TRST信號(hào)也可以對(duì)測(cè)試邏輯電路進(jìn)行復(fù)位,使得TAP Controller進(jìn)入Test-Logic Reset狀態(tài)。前面我們說過TRST是可選的一個(gè)信號(hào)接口,這是因?yàn)樵赥MS上連續(xù)加5個(gè)TCK脈沖寬度的“1”信號(hào)也可以對(duì)測(cè)試邏輯電路進(jìn)行復(fù)位,使得TAP Controller進(jìn)入Test-Logic Reset狀態(tài)。所以,在不提供TRST信號(hào)的情況下,也不會(huì)產(chǎn)生影響。

Shift-DR state掃描DR,TDO輸出有效。

Shift-IR state掃描IR,TDO輸出有效。

其他狀態(tài)下TDO輸出無效。

如果需要捕獲芯片某個(gè)管腳上的輸出,首先需要把該管腳上的輸出裝載到邊界掃描鏈的寄存器單元里去,然后通過TDO輸出,這樣我們就可以從TDO上得到相應(yīng)管腳上的輸出信號(hào)。如果要在芯片的某個(gè)管腳上加載一個(gè)特定的信號(hào),則首先需要通過TDI把期望的信號(hào)移位到與相應(yīng)管腳相連的邊界掃描鏈的寄存器單元里去,然后把該寄存器單元的值加載到相應(yīng)的芯片管腳。

指令寄存器的訪問過程:系統(tǒng)上電,TAP Controller進(jìn)入Test-Logic Reset狀態(tài),然后依次進(jìn)入:Run-Test/Idle→Select-DR-Scan→Select-IR-Scan→Capture-IR→Shift-IR→Exit1-IR→Update-IR,最后回到Run-Test/Idle狀態(tài)。在Capture-IR狀態(tài)中,一個(gè)特定的邏輯序列被加載到指令寄存器當(dāng)中;然后進(jìn)入到Shift-IR狀態(tài)。在Shift-IR狀態(tài)下,通過TCK的驅(qū)動(dòng),可以將一條特定的指令送到指令寄存器當(dāng)中去。每條指令都將確定一條相關(guān)的數(shù)據(jù)寄存器。然后從Shift-IR→Exit1-IR→Update-IR。在Update-IR狀態(tài),剛才輸入到指令寄存器中的指令將用來更新指令寄存器。最后,進(jìn)入到Run-Test/Idle狀態(tài),指令生效,完成對(duì)指令寄存器的訪問。

數(shù)據(jù)寄存器的訪問:當(dāng)前可以訪問的數(shù)據(jù)寄存器由指令寄存器中的當(dāng)前指令決定。要訪問由剛才的指令選定的數(shù)據(jù)寄存器,需要以Run-Test/Idle為起點(diǎn),依次進(jìn)入Select-DR-Scan→Capture-DR→Shift-DR→Exit1-DR→Update-DR,最后回到Run-Test/Idle狀態(tài)。在這個(gè)過程當(dāng)中,被當(dāng)前指令選定的數(shù)據(jù)寄存器會(huì)被連接在TDI和TDO之間。通過TDI和TDO,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器當(dāng)中去,同時(shí),也可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù)。具體過程如下。在Capture-DR狀態(tài)中,由TCK的驅(qū)動(dòng),芯片管腳上的輸出信號(hào)會(huì)被“捕獲”到相應(yīng)的邊界掃描寄存器單元中去。這樣,當(dāng)前的數(shù)據(jù)寄存器當(dāng)中就記錄了芯片相應(yīng)管腳上的輸出信號(hào)。接下來從Capture-DR進(jìn)入到Shift-DR狀態(tài)中去。在Shift-DR狀態(tài)中,由TCK驅(qū)動(dòng),在每一個(gè)時(shí)鐘周期內(nèi),一位新的數(shù)據(jù)可以通過TDI串行輸入到數(shù)據(jù)寄存器當(dāng)中去,同時(shí),數(shù)據(jù)寄存器可以通過TDO串行輸出一位先前捕獲的數(shù)據(jù)。在經(jīng)過與數(shù)據(jù)寄存器長(zhǎng)度相同的時(shí)鐘周期后,就可以完成新信號(hào)的輸入和捕獲數(shù)據(jù)的輸出。接下來通過Exit1-DR狀態(tài)進(jìn)入到Update-DR狀態(tài)。在Update-DR狀態(tài)中,數(shù)據(jù)寄存器中的新數(shù)據(jù)被加載到與數(shù)據(jù)寄存器的每個(gè)寄存器單元相連的芯片管腳上去。最后,回到Run-Test/Idle狀態(tài),完成對(duì)數(shù)據(jù)寄存器的訪問。

以上就是針對(duì)JTAG的相關(guān)介紹,詳細(xì)可參見標(biāo)準(zhǔn)《IEEE Std 1149.1 Test Access Port and Boundary-Scan Architecture》。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184325
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217110
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    404

    瀏覽量

    73331
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    當(dāng)控制器遇上“協(xié)議外交官”:CC\\-Link IE轉(zhuǎn)Modbus RTU的能源數(shù)據(jù)握手

    數(shù)據(jù)流,在Modbus RTU網(wǎng)關(guān)系統(tǒng)聽來猶如天書。 痛點(diǎn)直擊: 張工需要實(shí)時(shí)采集某關(guān)鍵控制柜的功率數(shù)據(jù)至中央能管系統(tǒng)。控制器CC-Link IE接口數(shù)據(jù)豐富,但能管平臺(tái)只認(rèn)Modbus RTU網(wǎng)關(guān)
    發(fā)表于 06-26 14:35

    有可能在 FX3 GPIF2 中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)嗎?

    我想,如果我想通過 FX3 GPIF2 創(chuàng)建兩個(gè)獨(dú)立的傳輸流接口,我需要在 GPIF2 設(shè)計(jì)中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī),我是否有可能在 GPIF2 設(shè)計(jì)中創(chuàng)建兩個(gè)獨(dú)立的
    發(fā)表于 05-20 06:14

    求助,關(guān)于srammaster.cydsn中狀態(tài)機(jī)的問題求解

    晚上好。 我目前正在學(xué)習(xí) GPIF II。 查看..EZ-USB FX3 SDK1.3firmwaregpif_examplescyfxsrammastersrammaster.cydsn中的狀態(tài)機(jī),有狀態(tài)START和START1。 這意味著什么?
    發(fā)表于 05-12 06:20

    NVMe控制器IP設(shè)計(jì)系列之接口轉(zhuǎn)換模塊

    接口轉(zhuǎn)換模塊負(fù)責(zé)完成AXI4接口控制器內(nèi)部的自定義接口之間的轉(zhuǎn)換工作。由于AXI4接口
    的頭像 發(fā)表于 05-10 14:36 ?231次閱讀
    NVMe<b class='flag-5'>控制器</b>IP設(shè)計(jì)系列之<b class='flag-5'>接口</b>轉(zhuǎn)換模塊

    NVMe控制器IP設(shè)計(jì)之接口轉(zhuǎn)換

    的轉(zhuǎn)換工作。接口轉(zhuǎn)換模塊的框圖如圖1所示。 圖1 接口轉(zhuǎn)換示意圖 ? ?由于AXI4接口協(xié)議的實(shí)現(xiàn)會(huì)占用大量的邏輯資源,為了節(jié)約資源,控制器
    發(fā)表于 05-10 14:33

    NVME控制器之隊(duì)列管理模塊

    時(shí),表示隊(duì)列為滿;當(dāng)Head指針等于Tail指針時(shí),表示隊(duì)列為空。該模塊中的狀態(tài)機(jī)用來實(shí)現(xiàn)門鈴寄存信息更新的流程控制工作。隊(duì)列管理狀態(tài)機(jī)的跳轉(zhuǎn)圖如圖2所示。 圖2 隊(duì)列管理
    發(fā)表于 05-03 20:19

    FPGA的Jtag接口燒了,怎么辦?

    部設(shè)備,插拔過程中極易因摩擦產(chǎn)生靜電。JTAG接口經(jīng)常會(huì)有帶電拔插的情況,這不可避免地會(huì)產(chǎn)生靜電或浪涌電流。JTAG接口的引腳直接與FPGA內(nèi)部
    的頭像 發(fā)表于 04-27 11:01 ?973次閱讀
    FPGA的<b class='flag-5'>Jtag</b><b class='flag-5'>接口</b>燒了,怎么辦?

    NVME控制器設(shè)計(jì)之指令控制

    指令控制模塊由一個(gè)指令信息緩存, 一個(gè)指令組裝狀態(tài)機(jī)和一個(gè) ID 池組成。 指令信息緩存中存放著由系統(tǒng)控制模塊寫入的待處理指令信息; 指令組裝狀態(tài)機(jī)獲取緩存的指令信息, 將其組裝成提交
    的頭像 發(fā)表于 04-24 10:22 ?285次閱讀
    NVME<b class='flag-5'>控制器</b>設(shè)計(jì)之指令<b class='flag-5'>控制</b>

    高速ssd存儲(chǔ)系統(tǒng)中數(shù)據(jù)緩存控制器流程控制設(shè)計(jì)

    高速SSD系統(tǒng)中流程控制模塊設(shè)計(jì)。該模塊主要由寄存、讀狀態(tài)機(jī)、寫狀態(tài)機(jī)和命令生成模塊組成,系統(tǒng)介紹各模塊功能。
    的頭像 發(fā)表于 04-14 10:43 ?272次閱讀
    高速ssd存儲(chǔ)系統(tǒng)中數(shù)據(jù)緩存<b class='flag-5'>控制器</b>流程<b class='flag-5'>控制</b>設(shè)計(jì)

    Simulink中的狀態(tài)機(jī)建模方法 Simulink數(shù)據(jù)可視化與分析功能

    1. Simulink中的狀態(tài)機(jī)建模方法 1.1 理解狀態(tài)機(jī)的基本概念 在開始建模之前,了解狀態(tài)機(jī)的基本概念是必要的。狀態(tài)機(jī)由以下幾個(gè)部分組成:
    的頭像 發(fā)表于 12-12 09:27 ?3009次閱讀

    接口控制狀態(tài)寄存什么作用

    接口控制狀態(tài)寄存(Control and Status Registers,簡(jiǎn)稱CSR)是計(jì)算機(jī)系統(tǒng)中用于控制和監(jiān)控
    的頭像 發(fā)表于 10-17 10:42 ?1531次閱讀

    通過JTAG接口使用SimpleLink?MSP432E4微控制器

    電子發(fā)燒友網(wǎng)站提供《通過JTAG接口使用SimpleLink?MSP432E4微控制器.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:23 ?0次下載
    通過<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>使用SimpleLink?MSP432E4微<b class='flag-5'>控制器</b>

    控制器內(nèi)部的存儲(chǔ)有哪些

    控制器(MCU)內(nèi)部的存儲(chǔ)是微控制器系統(tǒng)的重要組成部分,它負(fù)責(zé)存儲(chǔ)程序代碼、數(shù)據(jù)以及控制邏輯等信息。這些存儲(chǔ)
    的頭像 發(fā)表于 08-22 10:41 ?1474次閱讀

    觸發(fā)狀態(tài)機(jī)的關(guān)系是什么

    觸發(fā)狀態(tài)機(jī)在數(shù)字電路設(shè)計(jì)中有著緊密的關(guān)系,它們共同構(gòu)成了時(shí)序邏輯電路的基礎(chǔ),用于實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、處理和傳輸。
    的頭像 發(fā)表于 08-12 11:24 ?945次閱讀

    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

    GD32系列MCU支持SWD和JTAG(部分型號(hào)不支持)接口進(jìn)行下載調(diào)試,這些功能通過ARM CoreSight組件的標(biāo)準(zhǔn)配置和鏈狀連接的TAP控制器來實(shí)現(xiàn)的。調(diào)試和跟蹤功能集成在AR
    的頭像 發(fā)表于 08-08 17:34 ?1833次閱讀
    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/<b class='flag-5'>JTAG</b>在線下載