JTAG基礎知識

2022-06-22 20:15:10 字數 1748 閱讀 6434

前言

1.什麼是jtag:joint test action group;聯合測試工作組

jtag是一種ieee標準用來解決板級問題,開發於上個世紀80年代。今天jtag被用來燒錄、debug、探查埠。當然,最原始的使用是邊界測試。

邊界測試:

舉個栗子你有兩個晶元,這兩個晶元之間連線了很多很多的線,怎麼確保這些線之間的連線是ok的呢,用jtag,它可以控制所有ic的引腳。這叫做晶元邊界測試。(沒用過)

2.jtag引腳:

jtag發展到現在已經有腳了,通常四個腳:tdi,tdo,tms,tck,當然還有個復位腳trst。對於晶元上的jtag的腳實際上是專用的。

tdi:測試資料輸入,資料通過tdi輸入jtag口;

tdo:測試資料輸出,資料通過tdo從jtag口輸出;

tms:測試模式選擇,用來設定jtag口處於某種特定的測試模式;

tck:測試時鐘輸入;

trst:測試復位;

cpu和fpga製造商允許jtag用來埠debug;fpga廠商允許通過jtag配置fpga,使用jtag訊號通入fpga核。

3.jtag怎麼工作:

pc控制jtag:用jtag電纜連線pc的列印埠或者usb或者網口。最簡單的是連線列印埠。

tms:在每個含有jtag的晶元內部,會有個jtag tap控制器。tap控制器是乙個有16個狀態的狀態機,而tms就是這玩意的控制訊號。當tms把各個晶元都連線在一起的時候,所有的晶元的tap狀態跳轉是一致的。下面是tap控制器的示意圖:

改變tms的值,狀態就會發生跳轉。如果保持5個週期的高電平,就會跳回test-logic-rest,通常用來同步tap控制器;

通常使用兩個最重要的狀態是shift-dr和shift-ir,兩者連線tdi和tdo使用。

ir:命令暫存器,你可以寫值到這個暫存器中通知jtag幹某件事。每個tap只有乙個ir暫存器而且長度是一定的。

dr:tap可以有多個dr暫存器,與ir暫存器相似,每個ir值會選擇不同的dr暫存器。(很迷)

計算jtag鏈中的ic數目:

乙個重要的應用是ir值是全一值,表示bypass命令,在bypass模式中,tap控制器中的dr暫存器總是單bit的,從輸入tdi到輸出tdo,通常乙個週期,啥也不幹。

可用bypass模式計算ic數目。如果每個ic的tdi-tdo鏈的延遲是乙個時鐘,我們可以傳送一些資料並檢測它延遲了多久,那麼久可以推算出jtag鏈中的ic數目。

得到jtag鏈中的器件id:

大多數的jtag ic都支援idcode命令。在idcode命令中,dr暫存器會裝載乙個32bit的代表器件id的值。不同於bypass指令,在idcode模式下ir的值沒有標準。不過每次tap控制器跳轉到test-logic-reset態,它會進入idcode模式,並裝載idcode到dr。

5.邊界掃瞄:

tap控制器進入邊界掃瞄模式時,dr鏈可以遍歷每個io塊或者讀或攔截每個引腳。

在fpga上使用jtag,你可以知曉每個引腳的狀態當fpga在執行的時候。

可以使用jtag命令sample,當然不同ic可能是不同的。

以上。

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

電腦的基礎知識 電腦的基礎知識

電腦的組成部分與其作用 一 軟體系統 軟體系統的組成分別是 作業系統 應用軟體等。其應用軟體是指特定領域開發 並為特定目的服務的一類軟體。而作業系統是位於底層硬碟與使用者之間溝通的橋梁。使用者可以通過作業系統的使用者頁面,輸入命令,實現使用者需求。二 硬體系統 硬體系統是指構成計算機的物理裝置,即由...