三炮兒的硬件開發學習筆記
學習分享以助能力增長?經驗交流以期躋身一流
目錄
一、 JTAG接口損壞案例
二、 幾種JTAG接口電路設計
三、 JTAG簡介
四、 JTAG接口電路設計該上拉還是下拉 ?
電路系統的上電時序是什么?有何必要?如何控制系統上電時序?
推薦下往期筆記
幾年前某日,
項目經理突然電話安排讓去現場排查問題,客戶反饋機箱里好些個模塊通過JTAG掃不到片子。
板卡JTAG電路部分大概如下:
![]()
一、 JTAG接口損壞案例
1、異常問題現象
客戶反饋機箱里好些個模塊通過JTAG掃不到片子,模塊功耗及功能均正常。
2、異常原因分析
JTAG轉接板壞了、板上JTAG鏈路異常(包括處理器異常)
3、異常問題定位
①到 現場 ,把轉接板(已確定轉接板及線纜等均正常)接上 后上電,確實掃不到片子;
②用示波器 測 TDO也沒有信號波形 ;
③遂請示將模塊拆開取出電路板,
用萬用表 測 JT AG信號線上的幾個33Ω串阻兩側,明顯是開路狀態。
也不知道客戶干了啥操作,把串阻都干壞了。
④問,有沒有帶電插拔轉接板?
沒有。
壞了幾個模塊,
七八個 。
一一測量,幾乎都是串阻壞了。
(大幾萬材料費沒了,客戶大概率是不樂意承擔這筆開銷的,反正還好不需要我這個接管模塊維護的牛馬工程師賠償)
⑤后續換了串阻后,發現那些模塊幾乎也都掃不到片子,FPGA的JTAG管腳被打壞了;
⑥請生產制造的同時更換FPGA芯片后,恢復正常。
4、解決措施
芯片損壞的直接原因:客戶使用問題,可能是帶電插拔;
歸根結底根本原因:JTAG接口裸奔,沒加防護。
①更換新的FPGA芯片;
②后續設計迭代,JTAG接口增加防護措施。
二、 幾種JTAG接口電路設計
1、串電阻直連FPGA/MCU等處理器
![]()
一般為內部調試使用的設計方式,僅用于單板研發階段,軟、硬件調試時焊接J1連接器臨時過渡使用;生產批的J1連接器都不會焊接,極致降本,省下1分1厘也是愛。
2、TVS防護
![]()
設計引入瞬態電壓抑制器 (TVS) 的靜電放電 (ESD) 保護二極管陣列,據說額定 ESD 沖擊消散值滿足IEC 61000-4-2(4 級)國際標準中規定的最高水平。
3、電平轉換后直連
![]()
FPGA/MCU等處理器JTAG接口的為1.8V電平標準,為兼容3.3V電平的JTAG轉接小板,設計中使用了電平轉換芯片, 轉換芯片有一定的靜電放電(ESD)保護性,就沒再增加TVS防護。
也有電平轉換芯片A、B端均出現+3.3V供電的應用。
4、電平轉換后,加TVS防護
![]()
設計中使用了電平轉換芯片、TVS防護。
三、JTAG簡介
JTAG是Joint Test Action Group(聯合測試行動組)的縮寫,是IEEE1149.1標準;其核心技術為邊界掃描(Boundary Scan) 和 TAP(Test Access Port),用于芯片與電路板的測試、調試和在線編程。
1、JTAG邊界掃描 (Boundary Scan)
一種內置在芯片內部的測試技術。
在芯片的核心邏輯與外部I/O引腳之間,插入一系列邊界掃描單元(BSC),并將所有單元串聯成一條移位寄存器鏈(邊界掃描鏈)。
正常狀態下,邊界掃描寄存器對芯片來說是透明的,芯片正常運行不會受到任何的影響。
調試狀態下,邊界掃描寄存器將芯片和外部輸入輸出隔離開,可以實現對芯片輸入輸出信號的控制。
核心作用:
①測試PCB互連:無需物理探針,即可檢測BGA、QFN等密腳芯片間的開路、短路。
②控制與觀測引腳
輸出-通過掃描鏈強制向外部引腳發送測試信號 ;
輸入-通過掃描鏈捕獲外部引腳上的真實電平狀態。
③在線編程(ISP):
用于對DSP、FPGA、CPLD Flash等器件進行程序燒錄。
2、TAP (Test Access Port)
測試訪問端口,是JTAG標準定義的標準通信接口,是外部測試設備與芯片內部邊界掃描邏輯之間的唯一通道。
①標準信號(4+1線)
TCK (Test Clock):測試時鐘,同步所有操作,輸入管腳。
TMS (Test Mode Select):模式選擇,控制內部狀態機的狀態,輸入管腳。
TDI (Test Data In):串行數據輸入(指令/測試數據)TCK上升沿,移進輸入數據,輸入管腳。
TDO (Test Data Out):串行數據輸出(結果/狀態)TCK下降沿,數據輸出,輸出管腳。
TRST (Test Reset):可選,異步復位TAP控制器,輸入管腳。
②TAP控制器
TAP的核心是一個16狀態的有限狀態機(FSM)
接收 TMS 和 TCK 信號,控制整個JTAG流程。
負責切換指令寄存器(IR)和數據寄存器(DR)的訪問 。
工作流程 :
a. 通過TDI送入指令(如:EXTEST外部測試)。
b. 再通過TDI送入測試數據,經邊界掃描鏈移位。
c. 捕獲結果并從TDO移出,比對判斷故障。
3、邊界掃描 (Boundary Scan)和 TAP(Test Access Port)的關系
TAP 是接口(硬件通道+控制邏輯)
邊界掃描 是功能/方法(通過TAP訪問的內部測試邏輯)
如果把TAP比作一扇門,那么邊界掃描是就是門里面的測試工具。
四、 JTAG接口電路設計該上拉還是下拉?
有些小伙伴在設計電路時,習慣將JTAG接口管腳均上拉,這會導致TCK信號的 第一個邊沿不是上升沿 ,這有可能導致 TAP 狀態機不識別第一個時鐘造成JTAG 時序錯位。
無論上拉還是下拉,都是為了保持一個默認態,提供可靠性。
一般參考IEEE 1149.1規范規定,或所使用的芯片datasheet(或電路設計參考)中的要求。
通常
TDO:上拉。
TRST (Test Reset):一般不引出該管腳。
TDI:上拉;如果出現開路,邊界掃描指令移位至器件BYPASS寄存器,這樣不 會影響器件的正常功能,也不會對器件有任何損傷,提供可靠性。
TMS:上拉 ;保持為高時,5個TCK時鐘,可使TAP狀態機從任何狀態回到復位狀態。
TCK:下拉,增加抗干擾能力;TCK信號默認為低電平時,能保證TCK信號的第一個邊沿為上升沿。
TCK為低時,TMS狀態不變,默認高電平,TAP狀態機為復位狀態(TMS在TCK上升沿有效)。
一般要求TCK通過下拉電阻接地, 以保證TAP狀態機復位狀態不變。
也有些芯片的JTAG接口內嵌了上拉或下拉,就不再需要額外增加外部電阻(注意看datasheet)。
更多筆記
電路系統的上電時序是什么?有何必要?如何控制系統上電時序?
一文搞不懂4644電源芯片應用電路設計
晶振換替代料后,FPGA在線下載失敗,竟是這“坑”,又學到了一點點兒
V7 FPGA“串口”不通,都是低級錯誤,想罵人..
Zynq7 Soc板卡低溫(-40℃以下)不能啟動,是誰的鍋???
RS-485
RS-232
常用電平轉換電路介紹
一文搞懂 SPI接口
一文搞懂 I2C總線
一文搞懂晶振與晶體異同點、設計選型
一文了解Xilinx Zynq7000及7系列 FPGA上電時序
一文了解BUCK電路自舉電容
LDO和DCDC有什么異同?
一文搞懂DCDC基礎知識
一文搞懂LDO基礎知識
上下拉電阻有啥研究的
為什么總是習慣將 1uF和 0.1uF 的兩個電容并聯擺放在電路中
這里是軟磨硬泡公眾號,號主三炮兒的硬件開發學習筆記、經驗分享
學習分享以助能力增長,經驗交流以期躋身一流
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.