什么是JTAG及其使用方法?
JTAG不僅僅用于調(diào)試和下載程序
你可能熟悉JTAG是因?yàn)槟闶褂眠^(guò)帶有JTAG接口的工具。
處理器經(jīng)常使用JTAG來(lái)實(shí)現(xiàn)調(diào)試/仿真功能,而且所有的FPGA和CPLD都利用JTAG來(lái)實(shí)現(xiàn)下載程序功能。
JTAG不僅僅是一種用于處理器調(diào)試/仿真的技術(shù)
JTAG不僅僅是一種為FPGA/CPLD下載程序的技術(shù)
通常與JTAG有關(guān)的調(diào)試和編程工具僅僅利用了潛在技術(shù)的一個(gè)方面即四線JTAG通訊協(xié)議。這四種信號(hào),作為測(cè)試訪問(wèn)端口(TAP)而廣為人知。它是IEEE 1149.1. 標(biāo)準(zhǔn)的一部分。開(kāi)發(fā)該標(biāo)準(zhǔn)的目的在于提供一種印刷電路板組件(PCBA)測(cè)試的技術(shù)。這種技術(shù)不需要針床測(cè)試的物理訪問(wèn),也不像功能測(cè)試那樣需要定制開(kāi)發(fā)量。設(shè)計(jì)TAP來(lái)與新的寄存器進(jìn)行交互,這些新的寄存器被添加到器件中,以便實(shí)現(xiàn)這種測(cè)試方法。但是很快半導(dǎo)體制造商就意識(shí)到了使用TAP來(lái)訪問(wèn)寄存器,可以提供其它功能如調(diào)試和編程。專門用于JTAG測(cè)試而加入到器件中的寄存器主要是邊界掃描寄存器(BSR)。正如它的名字所示,這個(gè)寄存器的單獨(dú)的位或單元位于器件的邊界,處于功能核心與引腳或焊球之間,通過(guò)引腳連接到板上——JTAG測(cè)試經(jīng)常被稱作邊界掃描。
JTAG / 邊界掃描是如何用于測(cè)試一個(gè)板的
邊界掃描單元 (如上所示)可以運(yùn)行在兩種模式下。在功能模式下它們對(duì)器件的運(yùn)行沒(méi)有影響,進(jìn)行測(cè)試時(shí)板子可以正常運(yùn)行。在測(cè)試模式下,它們將器件的功能核心與引腳斷開(kāi)。通過(guò)把邊界掃描單元加入到測(cè)試模式中,就可以控制從一個(gè)使能器件傳入到網(wǎng)絡(luò)的值,同時(shí)也可以監(jiān)視網(wǎng)絡(luò)的值。將使能器件的功能與引腳控制斷開(kāi),使得邊界掃描測(cè)試開(kāi)發(fā)比傳統(tǒng)功能測(cè)試更加容易,因?yàn)槭褂靡_時(shí)不需要器件配置或者引導(dǎo)。通過(guò)四引腳TAP,可以提供一種機(jī)制來(lái)控制和監(jiān)視器件中的所有使能信號(hào),JTAG可以顯著減少測(cè)試電路板需要的物理訪問(wèn)。我們主要以兩種方式來(lái)使用邊界掃描功能測(cè)試電路板。第一種方式是連接測(cè)試(如下所述) 。它提供了很好的測(cè)試覆蓋范圍, 特別是對(duì)于短路故障。連接測(cè)試完全基于電路板上的JTAG器件能力,連接,網(wǎng)絡(luò),以及(在XJTAG情況下)電路板上的邏輯功能。第二種方式擴(kuò)展了使用范圍,因?yàn)樗梢粤铍娐钒迳系腏TAG使能器件與非JTAG外設(shè)如DDR RAM 和 flash進(jìn)行通訊。
什么是JTAG連接測(cè)試?
正如設(shè)計(jì)中所描述的那樣,JTAG連接測(cè)試會(huì)檢查電路板上JTAG使能器件周圍的連通性。連接到測(cè)試中的兩個(gè)JTAG使能引腳所在區(qū)域?qū)?huì)確保一個(gè)引腳可以被另一個(gè)控制。如果使能引腳沒(méi)有被連接,則可以通過(guò)驅(qū)動(dòng)一個(gè)引腳并檢查到那些值不能被其它引腳讀取,從而測(cè)出短路故障。缺少拉電阻以及固定型故障也可以通過(guò)連接測(cè)試來(lái)發(fā)現(xiàn),而前提是
故障涉及到的邏輯器件的行為可以用真值表來(lái)描述。XJTAG會(huì)根據(jù)電路板上網(wǎng)表以及使能器件的JTAG信息自動(dòng)生成向量,這些向量可以運(yùn)行一次連接測(cè)試。
沒(méi)有JTAG使能的器件該怎么辦?
雖然主要的器件如處理器,F(xiàn)PGA通常具有JTAG能力,但是在每一個(gè)設(shè)計(jì)中仍有許多器件沒(méi)有JTAG能力。 DDR, SDRAM, SRAM, flash, MDIO 控制以太網(wǎng)物理層, SPI 和 I2C 溫度傳感器, 實(shí)時(shí)RTC, ADC和 DAC就是這些器件中的一些例子。連接測(cè)試可以很好地對(duì)非JTAG器件與JTAG使能器件的網(wǎng)絡(luò)連接進(jìn)行短路故障檢測(cè),但是他不能檢查JTAG器件或者非JTAG器件的開(kāi)路故障。為了添加開(kāi)路故障檢測(cè)的功能,在使能器件上,邊界掃描必須要能夠與外設(shè)進(jìn)行通訊。如果通訊能被證實(shí),就不會(huì)出現(xiàn)開(kāi)路故障。這種類型的測(cè)試是非常簡(jiǎn)單的,例如點(diǎn)亮一個(gè)LED并請(qǐng)求一個(gè)操作符來(lái)確認(rèn)它被激活,或者更復(fù)雜一點(diǎn)如寫數(shù)據(jù)到RAM存儲(chǔ)器陣列并讀取回來(lái)。
創(chuàng)建一個(gè)JTAG測(cè)試系統(tǒng)需要耗費(fèi)很多工作嗎?
使用XJTAG公司提供的標(biāo)準(zhǔn)非JTAG器件庫(kù),你可以進(jìn)行一系列的測(cè)試,不需要開(kāi)發(fā)代碼來(lái)運(yùn)行你的電路板。庫(kù)文件包含所有類型的非JTAG器件模型,從簡(jiǎn)單的電阻和緩沖器到復(fù)雜的存儲(chǔ)器如DDR3。因?yàn)檫吔鐠呙钄嚅_(kāi)了JTAG器件上的引腳控制與功能,所以可以使用相同的模型來(lái)控制一個(gè)外設(shè)而不用考慮JTAG器件。大多數(shù)板子都包含了JTAG接口來(lái)用于編程或調(diào)試,所以不需要額外設(shè)計(jì)。
從哪里可以得到我的器件的JTAG信息?
為了運(yùn)行任何基于測(cè)試的邊界掃描,必須要了解一些關(guān)于電路板上使能器件的JTAG應(yīng)用信息。這些信息來(lái)自于那些器件的BSDL(邊界掃描描述語(yǔ)言)文件。為了與IEEE1149.1標(biāo)準(zhǔn)兼容,半導(dǎo)體廠商必須為其器件提供BADL文件。
JTAG測(cè)試僅僅用于產(chǎn)品嗎?
完全不是。邊界掃描測(cè)試的一個(gè)重要優(yōu)點(diǎn)是只需要一個(gè)JTAG控制器。其它的產(chǎn)品測(cè)試技術(shù)如飛針測(cè)試,自動(dòng)光學(xué)/ X射線檢查或者針床測(cè)試都需要專業(yè)的測(cè)試設(shè)備,這些設(shè)備在工程師的工作臺(tái)上無(wú)法獲得。在電路板開(kāi)發(fā)中使用邊界掃描可以去除不確定性–硬件工程師可以在系統(tǒng)測(cè)試前甚至在固件完成之前就可以測(cè)試樣機(jī)板的制作缺陷。在產(chǎn)品生命周期的早期階段開(kāi)發(fā)的測(cè)試系統(tǒng)很容易重復(fù)使用,也可以延伸到產(chǎn)品中。
為什么我應(yīng)該使用JTAG/邊界掃描來(lái)測(cè)試我的電路板?
3個(gè)簡(jiǎn)單的字母–BGA
越來(lái)越多的器件以BGA(球柵陣列)封裝的形式供應(yīng)。電路板上的每一個(gè)BGA器件在測(cè)試上都有嚴(yán)格的限制,我們可以使用傳統(tǒng)的針床或飛針機(jī)來(lái)完成。
JTAG/邊界掃描使用了簡(jiǎn)單的四引腳接口,允許使能器件上的信號(hào)被控制和監(jiān)視而不需要任何直接的物理訪問(wèn)
另外3個(gè)字母–NRE
制作測(cè)試裝置的一次性工程費(fèi)用(NRE)可能會(huì)非常高。在許多情況下使用JTAG/邊界掃描后就不會(huì)再需要這種裝置。在其它情況下,這種裝置可以被極大地簡(jiǎn)化,從而顯著減少費(fèi)用。
更短的測(cè)試時(shí)間
對(duì)于小批量生產(chǎn)的電路板,很難評(píng)估測(cè)試裝置開(kāi)發(fā)的費(fèi)用是否合適。在這種情況下,可以選擇飛針測(cè)試。但是這種技術(shù)的測(cè)試周期比較長(zhǎng),而JTAG/邊界掃描測(cè)試的測(cè)試時(shí)間很短,并且不需要測(cè)試裝置。
更低的測(cè)試開(kāi)發(fā)費(fèi)用
因?yàn)椴煌奶幚砥?FPGA與外設(shè)的交互方式不同,傳統(tǒng)的功能測(cè)試需要為每一個(gè)電路板定制開(kāi)發(fā)。JTAG/邊界掃描可以顯著減少這種開(kāi)發(fā)費(fèi)用,因?yàn)樗峁┝艘粋(gè)簡(jiǎn)化的接口來(lái)控制這些與外設(shè)進(jìn)行交互的IO引腳。這種標(biāo)準(zhǔn)接口在所有JTAG使能器件中都是相同的。這也意味著當(dāng)構(gòu)建測(cè)試系統(tǒng)時(shí),可以使用及重復(fù)使用一系列通用的模型。
測(cè)試和編程僅需一個(gè)工具
在產(chǎn)品生產(chǎn)研發(fā)中我們經(jīng)常使用JTAG來(lái)進(jìn)行下載程序這一步驟。同時(shí)我們也可以使用JTAG來(lái)進(jìn)行邊界掃描測(cè)試,它可以減少生產(chǎn)過(guò)程中的步驟和操作數(shù)量。
在工程師的工作臺(tái)上為原型機(jī)提供產(chǎn)品級(jí)測(cè)試
傳統(tǒng)的測(cè)試技術(shù)需要體積大且價(jià)格昂貴的設(shè)備。JTAG/邊界掃描測(cè)試只需要一個(gè)JTAG控制器,例如XJTAG公司的XJLink2控制器,其大小與電腦鼠標(biāo)相似。
卓越的故障診斷
JTAG/邊界掃描與功能測(cè)試不同,它可以提供高精度的故障信息以幫助工程師進(jìn)行快速修復(fù)。XJTAG不僅可以觀測(cè)到電路板布局上的實(shí)際物理方位上的故障,也可以觀測(cè)到電路區(qū)域的邏輯設(shè)計(jì)錯(cuò)誤,這種錯(cuò)誤存在于原理圖中。
功能測(cè)試不起作用時(shí)能使‘死’板重獲新生
JTAG/邊界掃描測(cè)試可以運(yùn)行在任何帶有JTAG接口的電路板上。如果電路板不引導(dǎo)的話,傳統(tǒng)的功能測(cè)試就不能正常運(yùn)行。重要的外設(shè)如RAM或者時(shí)鐘上的簡(jiǎn)單故障可以使用JTAG發(fā)現(xiàn),但是功能測(cè)試卻不能提供任何診斷信息。
關(guān)于XJTAG
XJTAG公司是一個(gè)全球領(lǐng)先的IEEE 1149.x 標(biāo)準(zhǔn)兼容的邊界掃描軟件和硬件系統(tǒng)供應(yīng)商。XJTAG致力于創(chuàng)新產(chǎn)品的開(kāi)發(fā)與高質(zhì)量的技術(shù)支持。公司總部位于英國(guó)劍橋,在全球與超過(guò)50家專業(yè)供應(yīng)商及技術(shù)伙伴合作緊密。XJTAG為客戶提供多種多樣的邊界掃描測(cè)試解決方案。方案覆蓋多種產(chǎn)業(yè),包括航空航天,汽車業(yè),安防,醫(yī)療,制造業(yè),網(wǎng)絡(luò)通訊等。
編輯:admin 最后修改時(shí)間:2019-07-31