在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

強大的JTAG邊界掃描1-基本原理

電子電路開發學習 ? 來源:電子電路開發學習 ? 2023-09-10 11:00 ? 次閱讀
我是怎么了解到邊界掃描的呢?這就要從我淘到一塊FPGA板卡的事情說起了。前段時間我在某二手平臺上淘了一塊FPGA板子,它長這樣:396af03c-4f04-11ee-a25d-92fbcf53809c.jpg板子的整體尺寸很小巧,和手掌差不多大,外設也很簡單:
  • 12v供電,帶一個散熱器

  • FPGA芯片是Xilinx XC7K325T,FFG676封裝,芯片等級2I,生產日期是2017年21周

  • 4路LED

  • 3路輕觸按鍵,其中一路是Config

  • 1路CAN接口(沒有焊接CAN收發器和電平轉換芯片)

  • 1路USB串口,CP2102轉換芯片

  • 1顆Spansion 128Mb QSPI Flash S25F128

  • 1顆有源差分時鐘200MHz

  • 標準2.54mm 14P下載接口

聽賣家介紹說,這是之前挖礦盛行時,定制礦機中的一塊HASH算力卡,主要功能是通過串口接收數據,FPGA計算出HASH值,再通過串口輸出,由于工作頻率較高,還外加了散熱器,后來由于礦難,就把礦機中的板卡都處理掉了,遺憾的是沒有留下任何軟硬件資料。好在價格比較便宜,只要150塊,要知道僅一顆FPGA芯片的價格都不止150塊。板子買來之后,接上12v電源,板子正常點亮,JTAG口也是正常的,FPGA芯片也沒有加密,可以下載調試,雖然沒有DDR等大容量緩存,無法做一些復雜的運算,即使跑MicroBlaze也無法運行太大的程序,但是對于入門學習FPGA基本知識,比如LED按鍵驅動,串口,CAN總線,SPI接口,MicroBlaze SDK入門學習等等足夠用了。遺憾的是不知道芯片的管腳定義,最簡單粗暴的方式是,使用熱風槍先把FPGA芯片拆下來,然后通過萬用表蜂鳴檔來確定LED、串口等外設的管腳,這種方式風險極高,一旦拆下再裝上,板子有很高的報廢風險。那么,有沒有一種方式,在不破壞板子的情況下可以確定管腳定義呢?經過一番搜索和問詢,還真發現了一種方式,那就是JTAG邊界掃描簡單的理解,只要通過JTAG口就可以隨意的讀取或改變芯片的任意一個管腳狀態。比如要獲取按鍵對應的管腳,只要用手按住和松開按鍵,然后通過邊界掃描,查看FPGA哪個管腳的狀態有變化即可確定;對于LED,雖然是輸出方向,同樣我們也可以把它當成輸入,人為的通過跳線給定高或低電平,通過這種方式,串口管腳、CAN管腳,時鐘管腳都可以一一確定。下面,我將分幾個部分,帶領大家大致了解JTAG邊界掃描,從JTAG邊界掃描介紹、到上位機軟硬件,再到基于MCU和FPGA的邊界掃描實際應用。

1. 什么是邊界掃描?

提到邊界掃描,就不得不提JTAG,因為邊界掃描是JTAG接口的功能之一。JTAG,是Joint Test Action Group的簡稱,即聯合測試行為小組。JTAG,對于電子行業的工程師們來說再熟悉不過了,無論是搞單片機ARM開發,還是FPGA、DSP開發,都離不開這個接口,它不僅可以進行程序下載,還能在線調試Debug,簡簡單單幾根線就完成了如此強大的功能,大大的提高了開發效率。但是,你知道嗎?JTAG協議的設計初衷,并不是用來下載程序的JTAG中的'T',是Test的縮寫,沒錯!JTAG接口被設計之初,就是用來測試的!上世紀90年代,集成電路、芯片設計產業開始迅速發展,同時,也面臨著諸多問題:芯片管腳和晶圓之間的連接如何確定是正常的?芯片管腳之間是沒有短路的?芯片被焊接到PCB板上之后,如何保證焊接是良好的,沒有短路、開路?芯片外圍的電路和與之互聯的芯片是正常的呢?尤其是一些BGA封裝的芯片,無法使用探針等方式來直接測量芯片的管腳。面對這些問題,Philips、TI等半導體廠商在1985年成立了聯合測試行動小組 ,即JTAG,用來解決這些問題。盡管人們認為 IEEE 1149.1 標準實際上就是JTAG,不過該標準的官方稱謂是“標準測試訪問端口與邊界掃描架構 (Standard Test Access Port and Boundary-Scan Architecture)”。它定義了利用邊界掃描檢測 PC 電路板的檢測訪問端口 (TAP) 等。JTAG協議發展到現在,目前主要有三個典型應用:
  • 程序下載。即目前最常用的一個功能,它可以把用戶程序下載到芯片內部的Flash中。

  • 程序調試。即實時監控程序的運動狀態,并且可以通過加入斷點的方式來實時調試程序。

  • 邊界掃描。即Boundary-scan,也就是JTAG設計的初衷,主要用于芯片本身和PCB電路板的硬件測試。

2. JTAG硬件接口

JTAG協議工作的基本邏輯全依賴內部的TAP控制器(Test Access Port),其實就是一個狀態機,通過TMS信號來切換不同的狀態。39e1f4ac-4f04-11ee-a25d-92fbcf53809c.jpg標準的JTAG接口最少需要4個引腳,即:TCK、TDI、TDO和TMS,在IEEE1149.1標準中,TRST信號是可選的。下面是每個信號的定義和功能:
  • Test Clock Input (TCK)
    TCK 為 TAP 的操作提供了一個獨立的、基本的時鐘信號,TAP 的所有操作都是通過這個時鐘信號來驅動的。TCK 在 IEEE 1149.1 標準里是強制要求的。

  • Test Mode Selection Input (TMS)
    TMS 信號用來控制 TAP 狀態機的轉換。通過 TMS 信號,可以控制 TAP 在不同的狀態間相互轉換。TMS 信號在 TCK 的上升沿有效。TMS 在 IEEE 1149.1 標準里是強制要求的。

  • Test Data Input (TDI)
    TDI 是數據輸入的接口。所有要輸入到特定寄存器的數據都是通過 TDI 接口一位一位串行輸入的(由 TCK 驅動)。TDI 在 IEEE 1149.1 標準里是強制要求的。

  • Test Data Output (TDO)
    TDO 是數據輸出的接口。所有要從特定的寄存器中輸出的數據都是通過 TDO 接口一位一位串行輸出的(由 TCK 驅動)。TDO 在 IEEE 1149.1 標準里是強制要求的。

  • Test Reset Input (TRST)
    TRST可以用來對TAP Controller進行復位(初始化)。不過這個信號接口在IEEE 1149.1標準里是可選的,并不是強制要求的。因為通過 TMS 也可以對 TAP Controller 進行復位(初始化)。

以Jlink的JTAG接口為例,可以看到標準的4個JTAG管腳:3a014776-4f04-11ee-a25d-92fbcf53809c.jpg以下是JTAG接口的使用示意:3a1e033e-4f04-11ee-a25d-92fbcf53809c.jpg每個管腳都有一個邊界掃描寄存器單元,在時鐘的驅動下,每個管腳的信號在寄存器單元之間依次流動,從而實現每個管腳狀態的控制和讀取。

3. 邊界掃描相關的軟硬件

理論上只要支持JTAG協議的調試器、下載器,都可以用來進行邊界掃描測試,不過可能需要開發相對應的上位機軟件。本文介紹常見的兩款邊界掃描測試方案。
  • JLink + TopJTAG Probe

TopJTAG是一款非常簡潔、實用的邊界掃描測試軟件,支持多種調試器,比如最常用的JLink、USB-Blaster等等。我會在后面的文章單獨介紹這款軟件配合Jlink來進行邊界掃描測試。
  • X-JTAG

一套非常專業的邊界掃描方案,研發公司位于英國劍橋,包括調試器和上位機,功能極其強大,當然售價也不菲!廣泛應用于航天、汽車、國防、醫療、通信等專業領域。

4. 學習資料

一位國外小哥在YouTube發布的視頻:EEVblog#449-什么是JTAG以及邊界掃描,B站有人搬運了,地址是:
  • https://www.bilibili.com/video/BV1TT4y1e7HU

還有一個是《ARM JTAG調試原理》文檔,很精簡,只有22頁,可以對JTAG協議有個初步了解。
  • http://www.micetek.com.cn/technic/jtag.pdf

JTAG協議的官方文檔JTAG_IEEE-Std-1149.1-2001:
  • https://fiona.dmcs.pl/~rkielbik/nid/JTAG_IEEE-Std-1149.1-2001.pdf

雖然不是最新版本的,但是對于學習JTAG協議的參考來說足夠了。

5. 總結

對了,開頭介紹的那款板卡,我使用邊界掃描獲取到的管腳定義如下:

		#################################################################### #Copyright(C),2010-2023,https://blog.csdn.net/whik1194 #ModuleName:top.xdc #Date:2023-03-04 #Time:2300 #Author:whik1194 #Function:Pinconstraint #Version:v1.0 #Version|Modify #---------------------------------- #v1.0firstversion #################################################################### set_propertyPACKAGE_PINAA10[get_portsgclk_p] set_propertyPACKAGE_PIND9[get_portsgreset] set_propertyPACKAGE_PIND8[get_portskey] set_propertyPACKAGE_PING20[get_portsled1] set_propertyPACKAGE_PINH19[get_portsled2] set_propertyPACKAGE_PINE20[get_portsled3] set_propertyPACKAGE_PINF19[get_portsled4] set_propertyPACKAGE_PINF8[get_portsuart_rxd] set_propertyPACKAGE_PINF9[get_portsuart_txd] set_propertyPACKAGE_PING14[get_portscan_rx] set_propertyPACKAGE_PINH14[get_portscan_tx] set_propertyIOSTANDARDDIFF_SSTL12[get_portsgclk_p] set_propertyIOSTANDARDDIFF_SSTL12[get_portsgclk_n] set_propertyIOSTANDARDLVCMOS33[get_portsgreset] set_propertyIOSTANDARDLVCMOS25[get_portsled1] set_propertyIOSTANDARDLVCMOS25[get_portsled2] set_propertyIOSTANDARDLVCMOS25[get_portsled3] set_propertyIOSTANDARDLVCMOS25[get_portsled4] set_propertyIOSTANDARDLVCMOS33[get_portskey] set_propertyIOSTANDARDLVCMOS33[get_portsuart_rxd] set_propertyIOSTANDARDLVCMOS33[get_portsuart_txd] set_propertyIOSTANDARDLVCMOS33[get_portscan_rx] set_propertyIOSTANDARDLVCMOS33[get_portscan_tx] #QSPI set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design] set_propertyBITSTREAM.CONFIG.CONFIGRATE50[current_design] set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH4[current_design] 
			

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JTAG
    +關注

    關注

    6

    文章

    401

    瀏覽量

    71788
  • 焊接
    +關注

    關注

    38

    文章

    3223

    瀏覽量

    60064
  • 轉換芯片
    +關注

    關注

    0

    文章

    73

    瀏覽量

    11427

原文標題:強大的JTAG邊界掃描1-基本原理

文章出處:【微信號:mcu149,微信公眾號:電子電路開發學習】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是邊界掃描JTAG邊界掃描測試方案介紹

    提到邊界掃描,就不得不提JTAG,因為邊界掃描JTAG接口的功能之一。
    發表于 09-22 14:12 ?4392次閱讀
    什么是<b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>?<b class='flag-5'>JTAG</b><b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>測試方案介紹

    邊界掃描測試技術簡介及原理

    邊界掃描測試技術簡介及原理  1. 簡介 JTAG(Joint Test Action Group,聯合測試行動小組)是1985年制定的檢測PCB和IC芯片的一個
    發表于 10-15 09:32

    JTAG基本原理(共31頁pdf課件下載)

    JTAG概述 JTAG組成結構 JTAG掃描鏈工作原理 結語 參考文獻 JTAG掃描鏈工作原
    發表于 07-02 04:26

    JTAG基本原理與測試總結

    、JTAGJTAG的基本原理是在器件內部定義一個TAP(測試訪問口),通過專用的JTAG測試工具對內部節點進行測試。除了TAP之外,混合IC還包含移位寄存器和狀態機,該狀態機被稱為TAP控制器,以執行邊界
    發表于 02-17 08:00

    關于 RK3568 JTAG 邊界掃描的問題

    和 RK3399 相似應該是個 M 核,很可能用作管理單元?串行 SW 調試口說是主 APU 的,沒問題。完整的 JTAG 是否有物理引腳邊界掃描能力?SW 天生為 1
    發表于 01-06 15:15

    ARM JTAG調試的基本原理

    JTAG調試原理(推薦):這篇文章主要介紹ARM JTAG調試的基本原理?;镜膬热莅薚AP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECTURE的介紹,在此基礎上,結合ARM7TDM
    發表于 05-27 10:44 ?150次下載

    JTAG邊界掃描技術設計方案

    JTAG邊界掃描技術設計方案 JTAG(Joint Test Action Group�聯合測試行動小組)是一種國際標準測試協議IEEE 1149.1兼容),主要用于芯片內部測
    發表于 03-04 14:40 ?29次下載

    基于JTAG邊界掃描方式的重構控制器的設計

    基于JTAG邊界掃描方式的重構控制器的設計  引言   JTAG(聯合測試行動小組)是一種國際標準測試協議(IEEE 1149.1兼容),目前主要用于芯片內部測試?,F在多數的
    發表于 02-06 10:48 ?1332次閱讀

    兩倍速掃描基本原理

    兩倍速掃描基本原理,數字電視基本知識兩倍速掃描基本原理,數字電視基本知識。
    發表于 05-17 14:21 ?5次下載

    Cyclone_IV器件的JTAG邊界掃描測試

    電子專業單片機相關知識學習教材資料之Cyclone_IV器件的JTAG邊界掃描測試
    發表于 09-02 16:54 ?0次下載

    邊界掃描測試的基本原理及其測試系統的設計

    的測試系統方案及其實現,并著重介紹了JTAG總線控制器的設計。 邊界掃描測試的基本原理 邊界掃描
    發表于 12-01 10:50 ?19次下載
    <b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>測試的<b class='flag-5'>基本原理</b>及其測試系統的設計

    JTAG(四) 邊界掃描測試技術

    邊界掃描測試技術 不屬于 coresight架構,邊界掃描測試技術 被 coresight 架構 使用.綜述 聯合測試行動組(Joint Test Action Group,簡稱
    發表于 12-20 19:47 ?20次下載
    <b class='flag-5'>JTAG</b>(四) <b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>測試技術

    JTAG基本原理簡介

    jtag基本原理介紹。
    發表于 10-24 15:05 ?0次下載

    邊界掃描測試軟件XJTAG和TopJTAG介紹

    前面兩篇文章介紹了邊界掃描基本原理和BSDL文件,本文文章介紹邊界掃描測試實際使用的兩款軟件工具,在后面的實戰應用部分,會演示基于STM3
    的頭像 發表于 09-11 14:34 ?3207次閱讀
    <b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>測試軟件XJTAG和TopJTAG介紹

    基于Xilinx FPGA的邊界掃描應用

    上一篇文章,介紹了基于STM32F103的JTAG邊界掃描應用,演示了TopJTAG Probe軟件的應用,以及邊界掃描的基本功能。本文介紹
    的頭像 發表于 09-13 12:29 ?1471次閱讀
    基于Xilinx FPGA的<b class='flag-5'>邊界</b><b class='flag-5'>掃描</b>應用
    主站蜘蛛池模板: 在线免费观看毛片网站 | q2002韩国理论 | 欧美深夜 | 天堂资源在线官网bt | 久久精品高清 | 人人干天天干 | 成人区精品一区二区毛片不卡 | 特级毛片免费视频 | 91成人在线播放 | 国产精品美女久久久久网 | 黄色免费小视频 | 真实偷清晰对白在线视频 | 国产女人水多白浆 | 欧洲一级鲁丝片免费 | 午夜一级毛片免费视频 | 天天干天天操天天透 | 99久久99 | 欧美一级欧美三级在线观看 | va在线观看 | h黄色| 美女网站一区二区三区 | 亚洲性人人天天夜夜摸 | 日本级毛片免费观看 | 天天在线天天在线天天影视 | 色吧在线观看 | 婷婷丁香在线观看 | 日韩欧美印度一级毛片 | 国产成年美女毛片80s | 天天鲁天天爽精品视频 | 久久久久国产精品免费免费 | 午夜欧美视频 | 黄网在线免费看 | 亚洲欧美色一区二区三区 | 老头天天吃我奶躁我的动图 | 1024国产看片在线观看 | 激情五月综合网 | 国模欢欢炮交啪啪150 | 黄色亚洲 | 7m视频精品凹凸在线播放 | 久久影院午夜伦手机不四虎卡 | 狠狠操操|