91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

JTAG如何工作?是誰動了我的JTAG口?

凡億PCB ? 來源: FPGA技術(shù)江湖 ? 作者: FPGA技術(shù)江湖 ? 2023-12-04 07:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA研發(fā)及學(xué)習(xí)過程中,有一個(gè)關(guān)鍵步驟就是下板實(shí)現(xiàn),做硬件“硬現(xiàn)”很重要,一般來說用JTAG口比較常見一些,因此,相信肯定有些大俠遇到過JTAG口失靈或者損壞無法使用的事情。

最近我就遇到了這類事情,F(xiàn)PGA的JTAG口突然就不能下載程序了,而且這種事情已經(jīng)不是第一次了,之前在做項(xiàng)目的時(shí)候也出現(xiàn)過,而且出現(xiàn)的形式也極其相似,之前還用的好好的,第二天就不行了,真是讓人郁悶。

為此,本人也是去嘗試了很多解決辦法。一開始也沒有去設(shè)想是JTAG口壞了,于是換了usb-blaster,可一點(diǎn)反應(yīng)也沒有。難道真的是JTAG口壞了?后來,查閱相關(guān)資料去搞清楚問題的本質(zhì)在哪里…… 下面就是本人的一些收獲,分享出來,僅供各位大俠參考,一起交流學(xué)習(xí)。

根據(jù)查閱資料及本人的一些實(shí)踐經(jīng)驗(yàn)所得,在使用JTAG下載接口的過程中,請不要隨意帶電插拔,否則會損壞FPGA芯片的JTAG口信號管腳。那么如何去確認(rèn)JTAG口已經(jīng)損壞了呢。

首先,你要去排除基本的幾項(xiàng)因素,一是,是否匹配連接,有很多設(shè)備會對應(yīng)很多接口,在實(shí)際條件下要匹配正確,否則也會出現(xiàn)上述情況;

二是,排除下載線的問題,如果是下載線壞了,可以使用多根下載線去嘗試,排除這類問題。如果還是不能訪問FPGA的JTAG口,那么很有可能你的FPGA芯片的JTAG口已經(jīng)損壞。此時(shí),請用萬用表檢查TCK、TMS、TDO和Tdi,是否和GND短路,如果任何一個(gè)信號對地短路則表示JTAG信號管腳已經(jīng)損壞。

至于JTAG口是什么,這里我們也來探討一下,JTAG英文全稱是 Joint Test Action Group,翻譯過來中文就是聯(lián)合測試工作組。 JTAG是一種IEEE標(biāo)準(zhǔn)用來解決板級問題,誕生于20世紀(jì)80年代。今天JTAG被用來燒錄、debug、探查端口。當(dāng)然,最原始的使用是邊界測試。

1、邊界測試

舉個(gè)例子,你有兩個(gè)芯片,這兩個(gè)芯片之間連接了很多很多的線,怎么確保這些線之間的連接是OK的呢,用JTAG,它可以控制所有IC的引腳,這叫做芯片邊界測試。

wKgaomVtEv6AXBjlAAAP5EQwa2g764.png

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ù)位。

wKgaomVtEv6AZ7B5AAASEciZR24974.png

CPU和FPGA制造商允許JTAG用來端口debug;FPGA廠商允許通過JTAG配置FPGA,使用JTAG信號通入FPGA核。

3、JTAG如何工作?

PC控制JTAG:用JTAG電纜連接PC的打印端口或者USB或者網(wǎng)口。最簡單的是連接打印端口。

TMS:在每個(gè)含有JTAG的芯片內(nèi)部,會有個(gè)JTAG TAP控制器。TAP控制器是一個(gè)有16個(gè)狀態(tài)的狀態(tài)機(jī),而TMS就是這玩意的控制信號。當(dāng)TMS把各個(gè)芯片都連接在一起的時(shí)候,所有的芯片的TAP狀態(tài)跳轉(zhuǎn)是一致的。

下面是TAP控制器的示意圖:

wKgaomVtEv6AaOa7AAAfrPAZ5Uk545.png

改變TMS的值,狀態(tài)就會發(fā)生跳轉(zhuǎn)。如果保持5個(gè)周期的高電平,就會跳回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值會選擇不同的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寄存器會裝載一個(gè)32bit的代表器件ID的值。不同于BYPASS指令,在IDCODE模式下IR的值沒有標(biāo)準(zhǔn)。不過每次TAP控制器跳轉(zhuǎn)到Test-Logic-Reset態(tài),它會進(jìn)入IDCODE模式,并裝載IDCODE到DR。

5、邊界掃描

wKgaomVtEv6AYCReAAAS72iCvNM505.png

TAP控制器進(jìn)入邊界掃描模式時(shí),DR鏈可以遍歷每個(gè)IO塊或者讀或攔截每個(gè)引腳。在FPGA上使用JTAG,你可以知曉每個(gè)引腳的狀態(tài)當(dāng)FPGA在運(yùn)行的時(shí)候??梢允褂肑TAG命令SAMPLE,當(dāng)然不同IC可能是不同的。

wKgaomVtEv6AYDe8AAAh0zV6EBQ550.jpg

如果JTAG口已經(jīng)損壞了,那只能“節(jié)哀順變”了,但是也不要只顧著傷心,最重要的是分析其中的原因,做其他事情也是一樣的道理。那我們就來分析分析,我們在使用的過程中,可能經(jīng)常為了方便,隨意插拔JTAG下載口,在大多數(shù)情況下不會發(fā)生問題。但是,仍然會有很小的機(jī)率發(fā)生下面的問題,因?yàn)闊岵灏味a(chǎn)生的JTAG口的靜電和浪涌,最終導(dǎo)致FPGA管腳的擊穿。

至此,也有人懷疑是否是盜版的USB Blaster或者ByteBlasterII設(shè)計(jì)簡化,去除了保護(hù)電路導(dǎo)致的。但經(jīng)過很多實(shí)際情況的反饋,事實(shí)證明原裝的USB Blaster 也會發(fā)生同樣的問題。也有人提出質(zhì)疑是否是ALTERA的低端芯片為了降低成本,F(xiàn)PGA的IO單元沒有加二極管鉗位保護(hù)電路。這類質(zhì)疑其實(shí)都不是解決問題的本質(zhì),最重要的是我們要規(guī)范操作,盡可能的去減少因?yàn)閷?shí)際操作不當(dāng)導(dǎo)致一些硬件設(shè)備、接口等提前結(jié)束壽命或“英年早逝”,那重點(diǎn)來了,關(guān)于JTAG下載口的使用,我們需要如何去規(guī)范操作呢。

上電時(shí)的操作流程順序:

在FPGA開發(fā)板及相關(guān)設(shè)備斷電的前提下,插上JTAG下載線接口;

插上USB Blaster或者ByteBlasterII的電纜;

接通FPGA開發(fā)板的電源。

下電時(shí)的操作流程順序:

斷開FPGA開發(fā)板及相關(guān)設(shè)備的電源;

斷開USB Blaster或者ByteBlasterII的電纜;

拔下JTAG下載線接口,并放置適宜地方存儲。

雖然上述的操作步驟有點(diǎn)繁瑣,有時(shí)我們在使用的時(shí)候也是不以為然,但為了保證芯片不被損壞,建議大家還是中規(guī)中矩的按照上述的步驟來操作。

本人上述出現(xiàn)的問題,經(jīng)過檢測后就是TCK跟GND短路了,雖然發(fā)生的概率不是很大,但為了能夠更合理更長久的的使用硬件相關(guān)設(shè)備,還是建議大家在實(shí)操過程中,不要擔(dān)心繁瑣,中規(guī)中矩操作,換個(gè)角度思考,“多磨多練”也是對自己有好處的。

最后再嘮叨一句,關(guān)于JTAG下載口的使用最好不要帶電熱插拔,起碼可以讓JTAG口“活”的久一些,畢竟長情陪伴也是挺不錯的,不要等到失去了才知道惋惜。

作者 FPGA技術(shù)江湖公眾號 在此特別鳴謝

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

    關(guān)注

    1660

    文章

    22411

    瀏覽量

    636273
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    415

    瀏覽量

    74962
  • JTAG口
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    2030

原文標(biāo)題:是誰動了我的JTAG口?

文章出處:【微信號:FANYPCB,微信公眾號:凡億PCB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    用于SWD/JTAG調(diào)試器的多功能轉(zhuǎn)接板設(shè)計(jì)

    這款多功能轉(zhuǎn)接板主要設(shè)計(jì)用于與 J-Link 調(diào)試器配合使用(同時(shí)兼容其他采用標(biāo)準(zhǔn) 20 引腳 JTAG/SWD 引腳定義的調(diào)試器),允許用戶在 0.1" (2.54mm
    的頭像 發(fā)表于 01-19 09:46 ?3329次閱讀
    用于SWD/<b class='flag-5'>JTAG</b>調(diào)試器的多功能轉(zhuǎn)接板設(shè)計(jì)

    如何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過 JTAG 在 Zynq SoC 上啟動嵌入式 Linux 鏡像(從 JTAG 啟動 Zynq-7000 嵌入式 Linux:使用 XSCT 全
    的頭像 發(fā)表于 01-13 11:45 ?4394次閱讀

    深入解析 SCANSTA111:增強(qiáng)型掃描橋多分支可尋址 IEEE 1149.1(JTAG)端口芯片

    深入解析 SCANSTA111:增強(qiáng)型掃描橋多分支可尋址 IEEE 1149.1(JTAG)端口芯片 在電子測試領(lǐng)域,IEEE 1149.1(JTAG)標(biāo)準(zhǔn)一直是板級和系統(tǒng)級測試的重要手段。而
    的頭像 發(fā)表于 12-31 11:25 ?313次閱讀

    探索SCANSTA112:多端口JTAG復(fù)用器的技術(shù)奧秘與應(yīng)用

    探索SCANSTA112:多端口JTAG復(fù)用器的技術(shù)奧秘與應(yīng)用 在電子測試領(lǐng)域,邊界掃描技術(shù)憑借其高效、準(zhǔn)確的特性,成為了電路板測試和編程的重要手段。而德州儀器(TI)的SCANSTA112作為一款
    的頭像 發(fā)表于 12-30 10:55 ?254次閱讀

    SN74LVT8980A-EP嵌入式測試總線控制器:JTAG測試的理想之選

    SN74LVT8980A-EP嵌入式測試總線控制器:JTAG測試的理想之選 在電子工程師的日常工作中,測試和驗(yàn)證電路的性能是至關(guān)重要的環(huán)節(jié)。而IEEE Std 1149.1(JTAG)標(biāo)準(zhǔn)為我們提供
    的頭像 發(fā)表于 12-30 10:20 ?264次閱讀

    請問jtag和jlink有什么區(qū)別啊?

    jtag和jlink有什么區(qū)別???
    發(fā)表于 11-28 06:46

    請問JTAG仿真器可以通過串口給芯片下載程序嗎?

    JTAG仿真器可以通過串口給芯片下載程序嗎?如果可以是必須要特定的UART還是任何的UART都可以? 另外JTAG仿真器能不能通過串口對芯片進(jìn)行仿真?
    發(fā)表于 11-24 07:07

    JTAG引腳用作普通IO

    JTAG引腳用作普通IO時(shí),需要通過復(fù)用功能重映射來釋放調(diào)試接口占用的引腳資源。 void JTAG_To_GPIO_Config(void) { // 關(guān)閉JTAG功能(保留SWD調(diào)試接口
    發(fā)表于 11-13 06:39

    Linux下識別不到JTAG是怎么回事?

    Linux下識別不到JTAG
    發(fā)表于 11-06 07:24

    基于FPGA平臺的蜂鳥E203 JTAG debug出錯問題的解決思路

    demo時(shí)發(fā)現(xiàn)hello_world.elf文件無法下載成功。 因?yàn)樽约河玫氖切緛韺S玫?b class='flag-5'>JTAG debugger,但是沒有用芯來專用的FPGA開發(fā)板,因此是使用跳線連接JTAG。因此首先懷疑
    發(fā)表于 10-28 07:38

    vivado JTAG鏈、連接、IP關(guān)聯(lián)規(guī)則介紹

    這列出了定義板上可用的不同JTAG鏈。每個(gè)鏈都列在下面以及鏈的名稱,以及定義名稱和鏈中組件的位置。
    的頭像 發(fā)表于 10-15 10:21 ?570次閱讀
    vivado <b class='flag-5'>JTAG</b>鏈、連接、IP關(guān)聯(lián)規(guī)則介紹

    JTAG標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)

    JTAG作為一項(xiàng)國際標(biāo)準(zhǔn)測試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測試和調(diào)試。目前的主流芯片均支持JTAG協(xié)議,如DSP、FPGA、ARM、部分單片機(jī)等。標(biāo)準(zhǔn)的JTAG接口是20Pin,但
    的頭像 發(fā)表于 08-21 15:12 ?2708次閱讀
    <b class='flag-5'>JTAG</b>標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)

    擦除固件后無法檢測JTAG如何解決?

    嘗試通過ModusToolbox?編程器在 KIT_FX10_FMC_001 上實(shí)現(xiàn)固件。 但當(dāng)我按下“擦除”按鈕后。 無法連接 JTAG 端口。 如何解決這個(gè)問題? 因此,無法
    發(fā)表于 07-25 08:00

    RISC-V JTAG:開啟MCU 芯片調(diào)試之旅

    基于 RISC-V 架構(gòu)的 MCU 芯片JTAG 調(diào)試過程及操作,為后續(xù)類似調(diào)試工作提供詳實(shí)參考的依據(jù),助力研發(fā)團(tuán)隊(duì)高效推進(jìn)芯片研發(fā)進(jìn)程。 RISC-V 架構(gòu)以其開源、模塊化等優(yōu)勢在 MCU 芯片領(lǐng)域嶄露頭角。JTAG(Join
    的頭像 發(fā)表于 05-07 17:57 ?2723次閱讀
    RISC-V <b class='flag-5'>JTAG</b>:開啟MCU 芯片調(diào)試之旅

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

    在展開今天的文章前,先來討論一個(gè)問題:FPGA的jtag接口燒了怎么辦?JTAG接口的輸入引腳通常設(shè)計(jì)為高阻抗,這使得它們對靜電電荷積累非常敏感,由于JTAG接口需要頻繁連接調(diào)試器、下載線纜等外
    的頭像 發(fā)表于 04-27 11:01 ?2619次閱讀
    FPGA的<b class='flag-5'>Jtag</b>接口燒了,怎么辦?