什麼是JTAG及其使用方法

        感謝原著作者對人類文化的傳播做出的努力!以下內容直譯爲主,意譯爲輔,同時筆者可能會加入個人觀點以方便理解。如有翻譯不當的地方希望各位同仁積極指出,如有必要的話請做出引證,以助於筆者翻譯水平的提高,同時也有利於其它讀者的學習,進步。天朗氣清,惠風和暢,祝各位生活愉快!

        原文鏈接:點擊打開鏈接

JTAG不僅僅用於調試和下載程序

你可能熟悉JTAG是因爲你使用過帶有JTAG接口的工具。                                                                

處理器經常使用JTAG來實現調試/仿真功能,而且所有的FPGA和CPLD都利用JTAG來實現下載程序功能。

JTAG不僅僅是一種用於處理器調試/仿真的技術

JTAG不僅僅是一種爲FPGA/CPLD下載程序的技術   

通常與JTAG有關的調試和編程工具僅僅利用了潛在技術的一個方面即四線JTAG通訊協議。這四種信號,作爲測試訪問端口(TAP)而廣爲人知。它是IEEE 1149.1.  標準的一部分。開發該標準的目的在於提供一種印刷電路板組件(PCBA)測試的技術。這種技術不需要針牀測試的物理訪問,也不像功能測試那樣需要定製開發量。設計TAP來與新的寄存器進行交互,這些新的寄存器被添加到器件中,以便實現這種測試方法。但是很快半導體製造商就意識到了使用TAP來訪問寄存器,可以提供其它功能如調試和編程。專門用於JTAG測試而加入到器件中的寄存器主要是邊界掃描寄存器(BSR)。正如它的名字所示,這個寄存器的單獨的位或單元位於器件的邊界,處於功能核心與引腳或焊球之間,通過引腳連接到板上——JTAG測試經常被稱作邊界掃描。

JTAG / 邊界掃描是如何用於測試一個板的

邊界掃描單元 (如上所示)可以運行在兩種模式下。在功能模式下它們對器件的運行沒有影響,進行測試時板子可以正常運行。在測試模式下,它們將器件的功能核心與引腳斷開。通過把邊界掃描單元加入到測試模式中,就可以控制從一個使能器件傳入到網絡的值,同時也可以監視網絡的值。將使能器件的功能與引腳控制斷開,使得邊界掃描測試開發比傳統功能測試更加容易,因爲使用引腳時不需要器件配置或者引導。通過四引腳TAP,可以提供一種機制來控制和監視器件中的所有使能信號,JTAG可以顯著減少測試電路板需要的物理訪問。我們主要以兩種方式來使用邊界掃描功能測試電路板。第一種方式是連接測試(如下所述) 。它提供了很好的測試覆蓋範圍, 特別是對於短路故障。連接測試完全基於電路板上的JTAG器件能力連接,網絡,以及(在XJTAG情況下)電路板上的邏輯功能。第二種方式擴展了使用範圍,因爲它可以令電路板上的JTAG使能器件與非JTAG外設如DDR RAM 和 flash進行通訊。

什麼是JTAG連接測試?

正如設計中所描述的那樣,JTAG連接測試會檢查電路板上JTAG使能器件周圍的連通性。連接到測試中的兩個JTAG使能引腳所在區域將會確保一個引腳可以被另一個控制。如果使能引腳沒有被連接,則可以通過驅動一個引腳並檢查到那些值不能被其它引腳讀取,從而測出短路故障。缺少拉電阻以及固定型故障也可以通過連接測試來發現,而前提是故障涉及到的邏輯器件的行爲可以用真值表來描述。XJTAG會根據電路板上網表以及使能器件的JTAG信息自動生成向量,這些向量可以運行一次連接測試。

沒有JTAG使能的器件該怎麼辦?

雖然主要的器件如處理器,FPGA通常具有JTAG能力,但是在每一個設計中仍有許多器件沒有JTAG能力。 DDR, SDRAM, SRAM, flash, MDIO 控制以太網物理層, SPI 和 I2C 溫度傳感器, 實時RTC, ADC和 DAC就是這些器件中的一些例子。連接測試可以很好地對非JTAG器件與JTAG使能器件的網絡連接進行短路故障檢測,但是他不能檢查JTAG器件或者非JTAG器件的開路故障。爲了添加開路故障檢測的功能,在使能器件上,邊界掃描必須要能夠與外設進行通訊。如果通訊能被證實,就不會出現開路故障。這種類型的測試是非常簡單的,例如點亮一個LED並請求一個操作符來確認它被激活,或者更復雜一點如寫數據到RAM存儲器陣列並讀取回來。

創建一個JTAG測試系統需要耗費很多工作嗎?

使用XJTAG公司提供的標準非JTAG器件庫,你可以進行一系列的測試,不需要開發代碼來運行你的電路板。庫文件包含所有類型的非JTAG器件模型,從簡單的電阻和緩衝器到複雜的存儲器如DDR3。因爲邊界掃描斷開了JTAG器件上的引腳控制與功能,所以可以使用相同的模型來控制一個外設而不用考慮JTAG器件。大多數板子都包含了JTAG接口來用於編程或調試,所以不需要額外設計。

從哪裏可以得到我的器件的JTAG信息?

爲了運行任何基於測試的邊界掃描,必須要了解一些關於電路板上使能器件的JTAG應用信息。這些信息來自於那些器件的BSDL(邊界掃描描述語言)文件。爲了與IEEE1149.1標準兼容,半導體廠商必須爲其器件提供BADL文件。

JTAG測試僅僅用於產品嗎?

完全不是。邊界掃描測試的一個重要優點是只需要一個JTAG控制器。其它的產品測試技術如飛針測試,自動光學/ X射線檢查或者針牀測試都需要專業的測試設備,這些設備在工程師的工作臺上無法獲得。在電路板開發中使用邊界掃描可以去除不確定性硬件工程師可以在系統測試前甚至在固件完成之前就可以測試樣機板的製作缺陷。在產品生命週期的早期階段開發的測試系統很容易重複使用,也可以延伸到產品中。


爲什麼我應該使用JTAG/邊界掃描來測試我的電路板?

3個簡單的字母BGA

越來越多的器件以BGA(球柵陣列)封裝的形式供應。電路板上的每一個BGA器件在測試上都有嚴格的限制,我們可以使用傳統的針牀或飛針機來完成。

JTAG/邊界掃描使用了簡單的四引腳接口,允許使能器件上的信號被控制和監視而不需要任何直接的物理訪問

另外3個字母NRE

製作測試裝置的一次性工程費用(NRE)可能會非常高。在許多情況下使用JTAG/邊界掃描後就不會再需要這種裝置。在其它情況下,這種裝置可以被極大地簡化,從而顯著減少費用。

更短的測試時間

對於小批量生產的電路板,很難評估測試裝置開發的費用是否合適。在這種情況下,可以選擇飛針測試。但是這種技術的測試周期比較長,而JTAG/邊界掃描測試的測試時間很短,並且不需要測試裝置。

更低的測試開發費用

因爲不同的處理器/FPGA與外設的交互方式不同,傳統的功能測試需要爲每一個電路板定製開發。JTAG/邊界掃描可以顯著減少這種開發費用,因爲它提供了一個簡化的接口來控制這些與外設進行交互的IO引腳。這種標準接口在所有JTAG使能器件中都是相同的。這也意味着當構建測試系統時,可以使用及重複使用一系列通用的模型。

測試和編程僅需一個工具

在產品生產研發中我們經常使用JTAG來進行下載程序這一步驟。同時我們也可以使用JTAG來進行邊界掃描測試,它可以減少生產過程中的步驟和操作數量

在工程師的工作臺上爲原型機提供產品級測試

傳統的測試技術需要體積大且價格昂貴的設備。JTAG/邊界掃描測試只需要一個JTAG控制器,例如XJTAG公司的XJLink2控制器,其大小與電腦鼠標相似。

卓越的故障診斷

JTAG/邊界掃描與功能測試不同,它可以提供高精度的故障信息以幫助工程師進行快速修復XJTAG不僅可以觀測到電路板佈局上的實際物理方位上的故障,也可以觀測到電路區域的邏輯設計錯誤,這種錯誤存在於原理圖中。

功能測試不起作用時能使板重獲新生

JTAG/邊界掃描測試可以運行在任何帶有JTAG接口的電路板上。如果電路板不引導的話,傳統的功能測試就不能正常運行。重要的外設如RAM或者時鐘上的簡單故障可以使用JTAG發現,但是功能測試卻不能提供任何診斷信息。


關於XJTAG

XJTAG公司是一個全球領先的IEEE 1149.x 標準兼容的邊界掃描軟件和硬件系統供應商。XJTAG致力於創新產品的開發與高質量的技術支持。公司總部位於英國劍橋,在全球與超過50家專業供應商及技術夥伴合作緊密XJTAG爲客戶提供多種多樣的邊界掃描測試解決方案。方案覆蓋多種產業,包括航空航天,汽車業,安防,醫療,製造業,網絡通訊等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章