當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式微處理器
[導(dǎo)讀]在FPGA研發(fā)及學(xué)習(xí)過程中,有一個關(guān)鍵步驟就是下板實現(xiàn),做硬件“硬現(xiàn)”很重要,一般來說用JTAG口比較常見一些,因此相信肯定有些大俠遇到過JTAG口失靈或者損壞無法使用的事情。



在FPGA研發(fā)及學(xué)習(xí)過程中,有一個關(guān)鍵步驟就是下板實現(xiàn),做硬件“硬現(xiàn)”很重要,一般來說用JTAG口比較常見一些,因此相信肯定有些大俠遇到過JTAG口失靈或者損壞無法使用的事情。
最近我就遇到了這類事情,F(xiàn)PGA的JTAG口突然就不能下載程序了,而且這種事情已經(jīng)不是第一次了,之前在做項目的時候也出現(xiàn)過,而且出現(xiàn)的形式也極其相似,之前還用的好好的,第二天就不行了,真是讓人郁悶。
為此,本人也是去嘗試了很多解決辦法,一開始也沒有去設(shè)想是JTAG口壞了,于是乎,本人換了usb-blaster,可一點反應(yīng)也沒有。
難道真的是JTAG口壞了?于是,本人就去查閱相關(guān)資料去搞清楚問題的本質(zhì)在哪里,下面就是本人的一些收獲,分享出來,僅供各位大俠參考,一起交流學(xué)習(xí)。
根據(jù)查閱資料及本人的一些實踐經(jīng)驗所得,在使用JTAG下載接口的過程中,請不要隨意帶電插拔,否則會損壞FPGA芯片的JTAG口信號管腳。
那么如何去確認(rèn)JTAG口已經(jīng)損壞了呢。
首先你要去排除基本的幾項因素:
一是,是否匹配連接,有很多設(shè)備會對應(yīng)很多接口,在實際條件下要匹配正確,否則也會出現(xiàn)上述情況;
二是,排除下載線的問題,如果是下載線壞了,可以使用多根下載線去嘗試,排除這類問題。
如果還是不能訪問FPGA的JTAG口,那么很有可能你的FPGA芯片的JTAG口已經(jīng)損壞。此時請用萬用表檢查TCK,TMS,TDO和Tdi是否和GND短路,如果任何一個信號對地短路則表示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、邊界測試

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

2、JTAG引腳

JTAG發(fā)展到現(xiàn)在已經(jīng)有腳了,通常四個腳:TDI,TDO,TMS,TCK,當(dāng)然還有個復(fù)位腳TRST。對于芯片上的JTAG的腳實際上是專用的。
  • TDI:測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI輸入JTAG口;
  • TDO:測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO從JTAG口輸出;
  • TMS:測試模式選擇,用來設(shè)置JTAG口處于某種特定的測試模式;
  • TCK:測試時鐘輸入;
  • TRST:測試復(fù)位。
CPU和FPGA制造商允許JTAG用來端口debug;FPGA廠商允許通過JTAG配置FPGA,使用JTAG信號通入FPGA核。

3、JTAG如何工作

PC控制JTAG:用JTAG電纜連接PC的打印端口或者USB或者網(wǎng)口。最簡單的是連接打印端口。
TMS:在每個含有JTAG的芯片內(nèi)部,會有個JTAG TAP控制器。TAP控制器是一個有16個狀態(tài)的狀態(tài)機,而TMS就是這玩意的控制信號。
當(dāng)TMS把各個芯片都連接在一起的時候,所有的芯片的TAP狀態(tài)跳轉(zhuǎn)是一致的。下面是TAP控制器的示意圖:
改變TMS的值,狀態(tài)就會發(fā)生跳轉(zhuǎn)。如果保持5個周期的高電平,就會跳回test-logic-rest,通常用來同步TAP控制器;通常使用兩個最重要的狀態(tài)是Shift-DR和Shift-IR,兩者連接TDI和TDO使用。
IR:命令寄存器,你可以寫值到這個寄存器中通知JTAG干某件事。每個TAP只有一個IR寄存器而且長度是一定的。
DR:TAP可以有多個DR寄存器,與IR寄存器相似,每個IR值會選擇不同的DR寄存器。(很迷)

4、JTAG鏈相關(guān)疑問

計算JTAG鏈中的IC數(shù)目:
一個重要的應(yīng)用是IR值是全一值,表示BYPASS命令,在BYPASS模式中,TAP控制器中的DR寄存器總是單bit的,從輸入TDI到輸出TDO,通常一個周期,啥也不干。
可用BYPASS模式計算IC數(shù)目。如果每個IC的TDI-TDO鏈的延遲是一個時鐘,我們可以發(fā)送一些數(shù)據(jù)并檢測它延遲了多久,那么久可以推算出JTAG鏈中的IC數(shù)目。
得到JTAG鏈中的器件ID:
大多數(shù)的JTAG IC都支持IDCODE命令。在IDCODE命令中,DR寄存器會裝載一個32bit的代表器件ID的值。
不同于BYPASS指令,在IDCODE模式下IR的值沒有標(biāo)準(zhǔn)。不過每次TAP控制器跳轉(zhuǎn)到Test-Logic-Reset態(tài),它會進入IDCODE模式,并裝載IDCODE到DR。

5、邊界掃描:

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

如果JTAG口已經(jīng)損壞了,那只能“節(jié)哀順變”了,但是也不要只顧著傷心,最重要的是分析其中的原因,做其他事情也是一樣的道理。
那我們就來分析分析,我們在使用的過程中,可能經(jīng)常為了方便,隨意插拔JTAG下載口,在大多數(shù)情況下不會發(fā)生問題。但是仍然會有很小的機率發(fā)生下面的問題,因為熱插拔而產(chǎn)生的JTAG口的靜電和浪涌,最終導(dǎo)致FPGA管腳的擊穿。
至此,也有人懷疑是否是盜版的USB Blaster或者ByteBlasterII設(shè)計簡化,去除了保護電路導(dǎo)致的。但經(jīng)過很多實際情況的反饋,事實證明原裝的USB Blaster 也會發(fā)生同樣的問題。也有人提出質(zhì)疑是否是ALTERA的低端芯片為了降低成本,F(xiàn)PGA的IO單元沒有加二極管鉗位保護電路。
這類質(zhì)疑其實都不是解決問題的本質(zhì),最重要的是我們要規(guī)范操作,盡可能的去減少因為實際操作不當(dāng)導(dǎo)致一些硬件設(shè)備、接口等提前結(jié)束壽命或“英年早逝”,那重點來了,關(guān)于JTAG下載口的使用,我們需要如何去規(guī)范操作呢。
上電時的操作流程順序:
  • 1.在FPGA開發(fā)板及相關(guān)設(shè)備斷電的前提下,插上JTAG下載線接口;
  • 2.插上USB Blaster或者ByteBlasterII的電纜;
  • 3.接通FPGA開發(fā)板的電源。
下電時的操作流程順序:
  • 1.斷開FPGA開發(fā)板及相關(guān)設(shè)備的電源;
  • 2.斷開USB Blaster或者ByteBlasterII的電纜;
  • 3.拔下JTAG下載線接口,并放置適宜地方存儲。
雖然上述的操作步驟有點繁瑣,有時我們在使用的時候也是不以為然,但是為了保證芯片不被損壞,建議大家還是中規(guī)中矩的按照上述的步驟來操作。
本人上述出現(xiàn)的問題,經(jīng)過檢測后就是TCK跟GND短路了,雖然發(fā)生的概率不是很大,但是為了能夠更合理更長久的的使用硬件相關(guān)設(shè)備,還是建議大家在實操過程中,不要擔(dān)心繁瑣,中規(guī)中矩操作,換個角度思考,“多磨多練”也是對自己有好處的。
最后,還是給各位嘮叨一句,關(guān)于JTAG下載口的使用最好不要帶電熱插拔,起碼可以讓JTAG口“活”的久一些,畢竟長情陪伴也是挺不錯的,不要等到失去了才知道惋惜。
END

來源:大魚機器人

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(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)閉