淺談嵌入式系統(tǒng)測試JTAG技術(shù)各個(gè)階段
發(fā)布時(shí)間:2017-08-15 責(zé)任編輯:susan
【導(dǎo)讀】IEEE 1149.1邊界掃描測試標(biāo)準(zhǔn)(通常稱為JTAG、1149.1或“dot 1”)是一種用來進(jìn)行復(fù)雜IC與電路板上的特性測試的工業(yè)標(biāo)準(zhǔn)方法,大多數(shù)復(fù)雜電子系統(tǒng)都以這種或那種方式用到了IEEE1149.1(JTAG)標(biāo)準(zhǔn)。為了更好地理解這種方法,本文將探討在不同年代的系統(tǒng)開發(fā)與設(shè)計(jì)中是如何使用JTAG的,通過借助過去有關(guān)JTAG接入的經(jīng)驗(yàn)或投入,推動設(shè)計(jì)向新一代發(fā)展。
大多數(shù)復(fù)雜電子系統(tǒng)都以這種或那種方式用到了IEEE1149.1(JTAG)標(biāo)準(zhǔn)。如果系統(tǒng)采用的是復(fù)雜FPGA或CPLD,那么幾乎可 以肯定這些硬件是通過JTAG端口設(shè)置的。如果系統(tǒng)利用仿真工具來調(diào)試硬件或軟件,那么仿真工具也很可能是通過JTAG端口與微處理器對話。而且,如果系 統(tǒng)中采用了球柵陣列(BGA)封裝的IC,那么JTAG也是測試BGA器件與底層印制電路板之間連接的最有效方法。
支持EEE 1149.1邊界掃描測試標(biāo)準(zhǔn)的IC與電路板都具備一個(gè)支持JTAG測試的4線串行總線(第5條線為可選的復(fù)位線)-TDI(測試數(shù)據(jù)輸入)、TDO(測 試數(shù)據(jù)輸出)、TMS(測試模式選擇)與TCK(測試時(shí)鐘)。該總線主要支持對焊點(diǎn)、電路板過孔、短路和開路等連接進(jìn)行結(jié)構(gòu)測試。此外,許多CPLD和 FPGA制造商也將JTAG作為其器件在系統(tǒng)編程與配置的標(biāo)準(zhǔn)方法。JTAG不但支持結(jié)構(gòu)(互連)測試,如今還是一種用于在系統(tǒng)級實(shí)現(xiàn)配置、編程以及混合 信號測試的標(biāo)準(zhǔn)方法。
但大多數(shù)設(shè)計(jì)團(tuán)隊(duì)都在新設(shè)計(jì)中對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ù)用器簡化對多個(gè)JTAG鏈的接入。
由于存在各種各樣的JTAG接入要求,所以開發(fā)團(tuán)隊(duì)必需采用一種跨規(guī)則的JTAG接入策略以最大程度地發(fā)揮JTAG接入的功能。這種策略對 于實(shí)現(xiàn)一種標(biāo)準(zhǔn)方法非常必要,這種標(biāo)準(zhǔn)方法可以復(fù)用,并且下一代產(chǎn)品可以基于其構(gòu)建。為了更好地理解這種方法,我們將探討在不同年代的系統(tǒng)開發(fā)與設(shè)計(jì)中是 如何使用JTAG的,目的是通過借助過去有關(guān)JTAG接入的經(jīng)驗(yàn)或投入,推動設(shè)計(jì)向新一代發(fā)展。
JTAG應(yīng)用的各個(gè)階段
在JTAG應(yīng)用的第一階段,只用到了某些有關(guān)電路板的特性和功能,有關(guān)該方法的整理和標(biāo)準(zhǔn)化工作卻做得很少。
這是一種最簡單的方法,幾乎甚至完全不需要進(jìn)行任何軟件工具投資,通常使用IC廠商提供的免費(fèi)工具即可。該階段的JTAG通常不具備或者只 具備很有限的診斷功能,也沒有可用于生成測試或編程的矢量的軟件。這時(shí)的JTAG接入只在生產(chǎn)時(shí)用于配置CPLD或?qū)﹂W存編程。稍復(fù)雜一些的板卡也可以用 它來做測試。
然而,這并不是成本最低的方法。因?yàn)槊糠N規(guī)則都有可能會為其自身的需要用一個(gè)單獨(dú)的JTAG接頭(header),于是一塊電路板上就得 用多個(gè)JTAG接頭,從而增加了成本,也占用了電路板空間。而且,每種規(guī)則可能都會開發(fā)它們自己的“自制”軟件工具和硬件,以實(shí)現(xiàn)與JTAG特性的交互, 而這些軟件工具和硬件對其他規(guī)則(discipline)而言卻是多余的。所以,采用這種方法開發(fā)的產(chǎn)品受其定制開發(fā)的影響,很難轉(zhuǎn)移到新一代的產(chǎn)品中 去。如果在生產(chǎn)中采用,這種方法也會增加成本,因?yàn)樗枰M(jìn)行多次插入。
許多開發(fā)團(tuán)隊(duì)都被這一代JTAG應(yīng)用綁住了手腳。最終,當(dāng)系統(tǒng)復(fù)雜性持續(xù)增大時(shí),要保持產(chǎn)品的競爭力,就必需采用一種JTAG接入策略。
第二代JTAG應(yīng)用
在第二代JTAG應(yīng)用中, 不同的開發(fā)團(tuán)隊(duì)規(guī)則對在新板卡設(shè)計(jì)上采用JTAG功能進(jìn)行管理。該階段的JTAG應(yīng)用需要一定程度的ATPG(自動測試程序生成)軟件工具(這類軟件工具 具有穩(wěn)健的診斷功能)投資,用于對編程和測試矢量的開發(fā)和傳送進(jìn)行管理。這類ATPG工具的供應(yīng)商提供從簡單的針對每一任務(wù)的矢量生成的支持與咨詢服務(wù), 也提供生產(chǎn)用的多任務(wù)(mulTI-seat)全套軟件支持。
在每塊電路板上添加一個(gè)策略性IC器件-JTAG復(fù)用器件,目的是去除電路板上的多個(gè)1149.1接頭并管理多個(gè)JTAG通路。這個(gè)JTAG復(fù)用器件所占用的電路板空間通常比一個(gè)JTAG接頭還小,但卻簡化了元件的隔離,也簡化了提高接入效率所需掃描路徑的組織。
例如,開發(fā)人員可能會希望將不同廠商的FPGA隔離在不同的掃描鏈中,以便簡化利用每個(gè)廠商提供的工具接入JTAG的過程。另外,我們可能 還希望將微處理器放在一個(gè)單獨(dú)的掃描鏈中,從而在仿真工具調(diào)試軟件或在閃存寫程序時(shí),最大程度提高微處理器的運(yùn)行速度。ATPG廠商對這些器件都提供了很 好的支持,因此軟件支持通常很簡單,直接提供交鑰匙的方案。
圖2:第三代J:將JTAG總線的擴(kuò)展到在整個(gè)背板以連接多個(gè)板卡。
如今我們的第二代設(shè)計(jì)都只有一個(gè)單獨(dú)的JTAG接入點(diǎn),在這種基本配置下,整個(gè)板卡的所有仿真、配置和1149.1測試都可以在一次插入中,在一個(gè)測試站(test staTIon)上用一個(gè)基于PC的系統(tǒng)來實(shí)現(xiàn)。
在這一階段出現(xiàn)了一種新的JTAG總線應(yīng)用-在產(chǎn)品的整個(gè)生命周期中都能利用JTAG接入功能。例如,可以將整個(gè)電路板級的矢量圖 (vector image)存檔,以便在需要現(xiàn)場服務(wù)時(shí),對板卡重新編程或調(diào)試。同樣的接入功能還可以用于現(xiàn)場FPGA固件升級,或用于診斷一個(gè)FRU(現(xiàn)場可替換單 元)中的問題。返回廠家進(jìn)行故障分析的設(shè)備也可以利用同一組矢量圖(以及廠家或開發(fā)測試站)來對問題進(jìn)行隔離。
如果說這一代JTAG應(yīng)用有什么缺點(diǎn),那就是開發(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)級使用到JTAG的特性時(shí),就實(shí)現(xiàn)了下一代JTAG接入。在這種環(huán)境下,仍然能夠單獨(dú)實(shí)現(xiàn)單板卡級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總線用于多支路配置,提供對多板卡的支持。而一旦JTAG能 夠接入一塊背板上的多個(gè)板卡,就能實(shí)現(xiàn)系統(tǒng)級的配置或編程(例如,JTAG可以并行接入多塊板卡)。
如果驅(qū)動器/接收器對允許進(jìn)行JTAG可接入的全速BIST(內(nèi)建自測),也能測試板卡之間的背板互連,或者可以驗(yàn)證板卡之間的高速 LVDS串行鏈接,那么就能對板卡間背板互連的完整性進(jìn)行測試,或者驗(yàn)證板卡間的高速LVDS串行連接。或這些高速互連都是電容性耦合,并且驅(qū)動器/接收 器支持,則可以進(jìn)行IEEE 1149.6測試。
利用與第二代同樣的設(shè)備-一個(gè)基于PC的JTAG站,就能使用所有這些JTAG功能。這個(gè)基于PC的JTAG站用作JTAG主控設(shè)備,通過一組單獨(dú)的線路連接到背板上的JTAG接頭。這個(gè)主控設(shè)備負(fù)責(zé)驅(qū)動測試矢量,并管理整個(gè)背板上的器件接入JTAG功能。
第三代JTAG應(yīng)用中添加的一項(xiàng)最有意思的新功能,在系統(tǒng)運(yùn)行時(shí),通過這個(gè)邊帶(sideband)JTAG通道可以訪問整個(gè)系統(tǒng)。具備了這一功能,這使得很多系統(tǒng)級功能得以實(shí)現(xiàn),例如在線“健康”狀況監(jiān)測、故障預(yù)測、故障檢測、故障插入(用于故障轉(zhuǎn)移測試或冗余度測試)以及診斷。
第四代JTAG應(yīng)用
當(dāng)測試矢量的傳送和管理發(fā)生在系統(tǒng)內(nèi)部時(shí),對JTAG的應(yīng)用就達(dá)到了最高級別,即第四代。第四代JTAG應(yīng)用采用了一個(gè)板載JTAG主控制器來驅(qū)動背板JTAG總線。同時(shí),還利用板載存儲器存儲測試矢量,并利用一個(gè)微處理器驅(qū)動JTAG主控制器。多板卡系統(tǒng)級主控制器可以位于一塊單獨(dú)的板卡上的,也可以在每塊板卡上設(shè)置一個(gè)主控制器以增強(qiáng)控制性能。
到了第四代,所有前面幾代JTAG應(yīng)用的 功能都能通過遠(yuǎn)程方式實(shí)現(xiàn),包括編程、配置、互連測試以及診斷,從而極大降低了現(xiàn)場服務(wù)與支持所需的成本。當(dāng)需要升級一個(gè)現(xiàn)場系統(tǒng)的固件時(shí),直接將新的配 置文件下載到JTAG主控制器上,再由JTAG主控制器通過背板JTAG總線將其發(fā)給目標(biāo)器件即可。當(dāng)然,在生產(chǎn)時(shí)只要將主控制器禁用,那么仍可使用基于 PC的JTAG接入站,這又進(jìn)一步增強(qiáng)了靈活性,也在所有集成度上提供了最多的接入選擇。
JTAG接入可以通過外部或內(nèi)部啟動,也可以由某些系統(tǒng)事件啟動,例如系統(tǒng)上電或電源復(fù)位。
本文小結(jié)
迄今為止,JTAG應(yīng)用與集成中存在的最大障礙,就是如何讓人們認(rèn)識到需要一種基于多個(gè)開發(fā)規(guī)則的策略,并使管理者相信這種策略能夠帶來經(jīng)濟(jì)效益。一旦跨出了這一步,并且采用了 ATPG支持和JTAG復(fù)用器件,那么就更容易一步步或一代代地循序漸進(jìn)評估或?qū)崿F(xiàn)新的JTAG功能。而且,如果開發(fā)團(tuán)隊(duì)能夠基于先前應(yīng)用JTAG的經(jīng) 驗(yàn),就能更好地發(fā)揮JTAG總線的功用。
增大JTAG結(jié)構(gòu)的復(fù)雜性并不一定會成為系統(tǒng)的負(fù)擔(dān),恰恰相反,這樣才能完全地發(fā)揮JTAG作為一個(gè)受到廣泛支持的,對現(xiàn)代復(fù)雜電子系統(tǒng)進(jìn)行系統(tǒng)級測試、編程、配置和的健康狀態(tài)監(jiān)控的工業(yè)標(biāo)準(zhǔn)方法的全部價(jià)值。
特別推薦
- 音頻放大器的 LLC 設(shè)計(jì)注意事項(xiàng)
- 服務(wù)器電源設(shè)計(jì)中的五大趨勢
- 電子技術(shù)如何助力高鐵節(jié)能?
- 利用創(chuàng)新FPGA技術(shù):實(shí)現(xiàn)USB解決方案的低功耗、模塊化與小尺寸
- 加速度傳感器不好選型?看這6個(gè)重要參數(shù)!
- 功率器件熱設(shè)計(jì)基礎(chǔ)(十三)——使用熱系數(shù)Ψth(j-top)獲取結(jié)溫信息
- IGBT并聯(lián)設(shè)計(jì)指南,拿下!
技術(shù)文章更多>>
- PLC 交流模塊的 TRIAC 輸出故障排除
- 解鎖AI設(shè)計(jì)潛能,ASO.ai如何革新模擬IC設(shè)計(jì)
- 汽車拋負(fù)載Load Dump
- 50%的年長者可能會聽障?!救贖的辦法在這里
- ADI 多協(xié)議工業(yè)以太網(wǎng)交換機(jī)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
功率電阻
功率放大器
功率管
功率繼電器
功率器件
共模電感
固態(tài)盤
固體繼電器
光傳感器
光電池
光電傳感器
光電二極管
光電開關(guān)
光電模塊
光電耦合器
光電器件
光電顯示
光繼電器
光控可控硅
光敏電阻
光敏器件
光敏三極管
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國防航空
過流保護(hù)器
過熱保護(hù)
過壓保護(hù)