你的位置:首頁(yè) > 互連技術(shù) > 正文

淺談嵌入式系統(tǒng)測(cè)試JTAG技術(shù)各個(gè)階段

發(fā)布時(shí)間:2017-08-15 責(zé)任編輯:susan

【導(dǎo)讀】IEEE 1149.1邊界掃描測(cè)試標(biāo)準(zhǔn)(通常稱(chēng)為JTAG、1149.1或“dot 1”)是一種用來(lái)進(jìn)行復(fù)雜IC與電路板上的特性測(cè)試的工業(yè)標(biāo)準(zhǔn)方法,大多數(shù)復(fù)雜電子系統(tǒng)都以這種或那種方式用到了IEEE1149.1(JTAG)標(biāo)準(zhǔn)。為了更好地理解這種方法,本文將探討在不同年代的系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)中是如何使用JTAG的,通過(guò)借助過(guò)去有關(guān)JTAG接入的經(jīng)驗(yàn)或投入,推動(dòng)設(shè)計(jì)向新一代發(fā)展。
 
大多數(shù)復(fù)雜電子系統(tǒng)都以這種或那種方式用到了IEEE1149.1(JTAG)標(biāo)準(zhǔn)。如果系統(tǒng)采用的是復(fù)雜FPGA或CPLD,那么幾乎可 以肯定這些硬件是通過(guò)JTAG端口設(shè)置的。如果系統(tǒng)利用仿真工具來(lái)調(diào)試硬件或軟件,那么仿真工具也很可能是通過(guò)JTAG端口與微處理器對(duì)話(huà)。而且,如果系 統(tǒng)中采用了球柵陣列(BGA)封裝的IC,那么JTAG也是測(cè)試BGA器件與底層印制電路板之間連接的最有效方法。
 
支持EEE 1149.1邊界掃描測(cè)試標(biāo)準(zhǔn)的IC與電路板都具備一個(gè)支持JTAG測(cè)試的4線(xiàn)串行總線(xiàn)(第5條線(xiàn)為可選的復(fù)位線(xiàn))-TDI(測(cè)試數(shù)據(jù)輸入)、TDO(測(cè) 試數(shù)據(jù)輸出)、TMS(測(cè)試模式選擇)與TCK(測(cè)試時(shí)鐘)。該總線(xiàn)主要支持對(duì)焊點(diǎn)、電路板過(guò)孔、短路和開(kāi)路等連接進(jìn)行結(jié)構(gòu)測(cè)試。此外,許多CPLD和 FPGA制造商也將JTAG作為其器件在系統(tǒng)編程與配置的標(biāo)準(zhǔn)方法。JTAG不但支持結(jié)構(gòu)(互連)測(cè)試,如今還是一種用于在系統(tǒng)級(jí)實(shí)現(xiàn)配置、編程以及混合 信號(hào)測(cè)試的標(biāo)準(zhǔn)方法。
 
但大多數(shù)設(shè)計(jì)團(tuán)隊(duì)都在新設(shè)計(jì)中對(duì)JTAG的應(yīng)用更傾向于不一步到位,而是以一種更易掌控的方式慢慢轉(zhuǎn)為全面利用JTAG接口。有些團(tuán)隊(duì)規(guī)則(discipline)中廣泛利用了JTAG接口,有些則只利用了其中很有限的一部分。但每種規(guī)則都根據(jù)其自身的需要調(diào)整JTAG.在各種規(guī)則的共同 作用下,發(fā)展出了幾代不同的JTAG應(yīng)用,每一代JTAG應(yīng)用都有各自的特點(diǎn),具有某種增強(qiáng)功能。
 
圖1:第二代JTAG應(yīng)用:利用JTAG多支路復(fù)用器簡(jiǎn)化對(duì)多個(gè)JTAG鏈的接入。
 
由于存在各種各樣的JTAG接入要求,所以開(kāi)發(fā)團(tuán)隊(duì)必需采用一種跨規(guī)則的JTAG接入策略以最大程度地發(fā)揮JTAG接入的功能。這種策略對(duì) 于實(shí)現(xiàn)一種標(biāo)準(zhǔn)方法非常必要,這種標(biāo)準(zhǔn)方法可以復(fù)用,并且下一代產(chǎn)品可以基于其構(gòu)建。為了更好地理解這種方法,我們將探討在不同年代的系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)中是 如何使用JTAG的,目的是通過(guò)借助過(guò)去有關(guān)JTAG接入的經(jīng)驗(yàn)或投入,推動(dòng)設(shè)計(jì)向新一代發(fā)展。
 
JTAG應(yīng)用的各個(gè)階段
 
在JTAG應(yīng)用的第一階段,只用到了某些有關(guān)電路板的特性和功能,有關(guān)該方法的整理和標(biāo)準(zhǔn)化工作卻做得很少。
 
這是一種最簡(jiǎn)單的方法,幾乎甚至完全不需要進(jìn)行任何軟件工具投資,通常使用IC廠(chǎng)商提供的免費(fèi)工具即可。該階段的JTAG通常不具備或者只 具備很有限的診斷功能,也沒(méi)有可用于生成測(cè)試或編程的矢量的軟件。這時(shí)的JTAG接入只在生產(chǎn)時(shí)用于配置CPLD或?qū)﹂W存編程。稍復(fù)雜一些的板卡也可以用 它來(lái)做測(cè)試。
 
然而,這并不是成本最低的方法。因?yàn)槊糠N規(guī)則都有可能會(huì)為其自身的需要用一個(gè)單獨(dú)的JTAG接頭(header),于是一塊電路板上就得 用多個(gè)JTAG接頭,從而增加了成本,也占用了電路板空間。而且,每種規(guī)則可能都會(huì)開(kāi)發(fā)它們自己的“自制”軟件工具和硬件,以實(shí)現(xiàn)與JTAG特性的交互, 而這些軟件工具和硬件對(duì)其他規(guī)則(discipline)而言卻是多余的。所以,采用這種方法開(kāi)發(fā)的產(chǎn)品受其定制開(kāi)發(fā)的影響,很難轉(zhuǎn)移到新一代的產(chǎn)品中 去。如果在生產(chǎn)中采用,這種方法也會(huì)增加成本,因?yàn)樗枰M(jìn)行多次插入。
 
許多開(kāi)發(fā)團(tuán)隊(duì)都被這一代JTAG應(yīng)用綁住了手腳。最終,當(dāng)系統(tǒng)復(fù)雜性持續(xù)增大時(shí),要保持產(chǎn)品的競(jìng)爭(zhēng)力,就必需采用一種JTAG接入策略。
 
第二代JTAG應(yīng)用
 
在第二代JTAG應(yīng)用中, 不同的開(kāi)發(fā)團(tuán)隊(duì)規(guī)則對(duì)在新板卡設(shè)計(jì)上采用JTAG功能進(jìn)行管理。該階段的JTAG應(yīng)用需要一定程度的ATPG(自動(dòng)測(cè)試程序生成)軟件工具(這類(lèi)軟件工具 具有穩(wěn)健的診斷功能)投資,用于對(duì)編程和測(cè)試矢量的開(kāi)發(fā)和傳送進(jìn)行管理。這類(lèi)ATPG工具的供應(yīng)商提供從簡(jiǎn)單的針對(duì)每一任務(wù)的矢量生成的支持與咨詢(xún)服務(wù), 也提供生產(chǎn)用的多任務(wù)(mulTI-seat)全套軟件支持。
 
在每塊電路板上添加一個(gè)策略性IC器件-JTAG復(fù)用器件,目的是去除電路板上的多個(gè)1149.1接頭并管理多個(gè)JTAG通路。這個(gè)JTAG復(fù)用器件所占用的電路板空間通常比一個(gè)JTAG接頭還小,但卻簡(jiǎn)化了元件的隔離,也簡(jiǎn)化了提高接入效率所需掃描路徑的組織。
 
例如,開(kāi)發(fā)人員可能會(huì)希望將不同廠(chǎng)商的FPGA隔離在不同的掃描鏈中,以便簡(jiǎn)化利用每個(gè)廠(chǎng)商提供的工具接入JTAG的過(guò)程。另外,我們可能 還希望將微處理器放在一個(gè)單獨(dú)的掃描鏈中,從而在仿真工具調(diào)試軟件或在閃存寫(xiě)程序時(shí),最大程度提高微處理器的運(yùn)行速度。ATPG廠(chǎng)商對(duì)這些器件都提供了很 好的支持,因此軟件支持通常很簡(jiǎn)單,直接提供交鑰匙的方案。
 
圖2:第三代J:將JTAG總線(xiàn)的擴(kuò)展到在整個(gè)背板以連接多個(gè)板卡。
 
如今我們的第二代設(shè)計(jì)都只有一個(gè)單獨(dú)的JTAG接入點(diǎn),在這種基本配置下,整個(gè)板卡的所有仿真、配置和1149.1測(cè)試都可以在一次插入中,在一個(gè)測(cè)試站(test staTIon)上用一個(gè)基于PC的系統(tǒng)來(lái)實(shí)現(xiàn)。
 
在這一階段出現(xiàn)了一種新的JTAG總線(xiàn)應(yīng)用-在產(chǎn)品的整個(gè)生命周期中都能利用JTAG接入功能。例如,可以將整個(gè)電路板級(jí)的矢量圖 (vector image)存檔,以便在需要現(xiàn)場(chǎng)服務(wù)時(shí),對(duì)板卡重新編程或調(diào)試。同樣的接入功能還可以用于現(xiàn)場(chǎng)FPGA固件升級(jí),或用于診斷一個(gè)FRU(現(xiàn)場(chǎng)可替換單 元)中的問(wèn)題。返回廠(chǎng)家進(jìn)行故障分析的設(shè)備也可以利用同一組矢量圖(以及廠(chǎng)家或開(kāi)發(fā)測(cè)試站)來(lái)對(duì)問(wèn)題進(jìn)行隔離。
 
如果說(shuō)這一代JTAG應(yīng)用有什么缺點(diǎn),那就是開(kāi)發(fā)團(tuán)隊(duì)通常還抱著單一板卡的心態(tài)。這是一種常有的心態(tài),認(rèn)為設(shè)計(jì)團(tuán)隊(duì)的責(zé)任只局限于其設(shè)計(jì)的板卡及其接口。然而,如果不能向第三代JTAG發(fā)展,那么這種JTAG應(yīng)用就出現(xiàn)了瓶頸,限制了使用JTAG實(shí)現(xiàn)多板卡的能力。
 
第三代JTAG應(yīng)用
 
當(dāng)能夠?qū)σ粋€(gè)背板上的多板卡系統(tǒng)級(jí)使用到JTAG的特性時(shí),就實(shí)現(xiàn)了下一代JTAG接入。在這種環(huán)境下,仍然能夠單獨(dú)實(shí)現(xiàn)單板卡級(jí)JTAG功能,而且 還可以利用到板卡間的功能。這一代JTAG應(yīng)用不 但促進(jìn)了單板卡上不同規(guī)則的設(shè)計(jì)團(tuán)隊(duì)相互合作,也促進(jìn)了整個(gè)系統(tǒng)下不同板卡設(shè)計(jì)團(tuán)隊(duì)之間的合作。如果在上一代JTAG應(yīng)用中采用了一個(gè)JTAG多路器,那 么這個(gè)多路器支持多支路(mulTI-drop)接入。采用一種尋址方案,可以將串行JTAG總線(xiàn)用于多支路配置,提供對(duì)多板卡的支持。而一旦JTAG能 夠接入一塊背板上的多個(gè)板卡,就能實(shí)現(xiàn)系統(tǒng)級(jí)的配置或編程(例如,JTAG可以并行接入多塊板卡)。
 
如果驅(qū)動(dòng)器/接收器對(duì)允許進(jìn)行JTAG可接入的全速BIST(內(nèi)建自測(cè)),也能測(cè)試板卡之間的背板互連,或者可以驗(yàn)證板卡之間的高速 LVDS串行鏈接,那么就能對(duì)板卡間背板互連的完整性進(jìn)行測(cè)試,或者驗(yàn)證板卡間的高速LVDS串行連接?;蜻@些高速互連都是電容性耦合,并且驅(qū)動(dòng)器/接收 器支持,則可以進(jìn)行IEEE 1149.6測(cè)試。
 
利用與第二代同樣的設(shè)備-一個(gè)基于PC的JTAG站,就能使用所有這些JTAG功能。這個(gè)基于PC的JTAG站用作JTAG主控設(shè)備,通過(guò)一組單獨(dú)的線(xiàn)路連接到背板上的JTAG接頭。這個(gè)主控設(shè)備負(fù)責(zé)驅(qū)動(dòng)測(cè)試矢量,并管理整個(gè)背板上的器件接入JTAG功能。
 
第三代JTAG應(yīng)用中添加的一項(xiàng)最有意思的新功能,在系統(tǒng)運(yùn)行時(shí),通過(guò)這個(gè)邊帶(sideband)JTAG通道可以訪(fǎng)問(wèn)整個(gè)系統(tǒng)。具備了這一功能,這使得很多系統(tǒng)級(jí)功能得以實(shí)現(xiàn),例如在線(xiàn)“健康”狀況監(jiān)測(cè)、故障預(yù)測(cè)、故障檢測(cè)、故障插入(用于故障轉(zhuǎn)移測(cè)試或冗余度測(cè)試)以及診斷。
 
第四代JTAG應(yīng)用
 
當(dāng)測(cè)試矢量的傳送和管理發(fā)生在系統(tǒng)內(nèi)部時(shí),對(duì)JTAG的應(yīng)用就達(dá)到了最高級(jí)別,即第四代。第四代JTAG應(yīng)用采用了一個(gè)板載JTAG主控制器來(lái)驅(qū)動(dòng)背板JTAG總線(xiàn)。同時(shí),還利用板載存儲(chǔ)器存儲(chǔ)測(cè)試矢量,并利用一個(gè)微處理器驅(qū)動(dòng)JTAG主控制器。多板卡系統(tǒng)級(jí)主控制器可以位于一塊單獨(dú)的板卡上的,也可以在每塊板卡上設(shè)置一個(gè)主控制器以增強(qiáng)控制性能。
 
到了第四代,所有前面幾代JTAG應(yīng)用的 功能都能通過(guò)遠(yuǎn)程方式實(shí)現(xiàn),包括編程、配置、互連測(cè)試以及診斷,從而極大降低了現(xiàn)場(chǎng)服務(wù)與支持所需的成本。當(dāng)需要升級(jí)一個(gè)現(xiàn)場(chǎng)系統(tǒng)的固件時(shí),直接將新的配 置文件下載到JTAG主控制器上,再由JTAG主控制器通過(guò)背板JTAG總線(xiàn)將其發(fā)給目標(biāo)器件即可。當(dāng)然,在生產(chǎn)時(shí)只要將主控制器禁用,那么仍可使用基于 PC的JTAG接入站,這又進(jìn)一步增強(qiáng)了靈活性,也在所有集成度上提供了最多的接入選擇。
 
JTAG接入可以通過(guò)外部或內(nèi)部啟動(dòng),也可以由某些系統(tǒng)事件啟動(dòng),例如系統(tǒng)上電或電源復(fù)位。
 
本文小結(jié)
 
迄今為止,JTAG應(yīng)用與集成中存在的最大障礙,就是如何讓人們認(rèn)識(shí)到需要一種基于多個(gè)開(kāi)發(fā)規(guī)則的策略,并使管理者相信這種策略能夠帶來(lái)經(jīng)濟(jì)效益。一旦跨出了這一步,并且采用了 ATPG支持和JTAG復(fù)用器件,那么就更容易一步步或一代代地循序漸進(jìn)評(píng)估或?qū)崿F(xiàn)新的JTAG功能。而且,如果開(kāi)發(fā)團(tuán)隊(duì)能夠基于先前應(yīng)用JTAG的經(jīng) 驗(yàn),就能更好地發(fā)揮JTAG總線(xiàn)的功用。
 
增大JTAG結(jié)構(gòu)的復(fù)雜性并不一定會(huì)成為系統(tǒng)的負(fù)擔(dān),恰恰相反,這樣才能完全地發(fā)揮JTAG作為一個(gè)受到廣泛支持的,對(duì)現(xiàn)代復(fù)雜電子系統(tǒng)進(jìn)行系統(tǒng)級(jí)測(cè)試、編程、配置和的健康狀態(tài)監(jiān)控的工業(yè)標(biāo)準(zhǔn)方法的全部?jī)r(jià)值。
要采購(gòu)工具么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉