淺談嵌入式系統(tǒng)測(cè)試JTAG技術(shù)各個(gè)階段
發(fā)布時(shí)間:2017-08-15 責(zé)任編輯:susan
【導(dǎo)讀】IEEE 1149.1邊界掃描測(cè)試標(biāo)準(zhǔn)(通常稱為JTAG、1149.1或“dot 1”)是一種用來進(jìn)行復(fù)雜IC與電路板上的特性測(cè)試的工業(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)或投入,推動(dòng)設(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端口與微處理器對(duì)話。而且,如果系 統(tǒng)中采用了球柵陣列(BGA)封裝的IC,那么JTAG也是測(cè)試BGA器件與底層印制電路板之間連接的最有效方法。
支持EEE 1149.1邊界掃描測(cè)試標(biāo)準(zhǔn)的IC與電路板都具備一個(gè)支持JTAG測(cè)試的4線串行總線(第5條線為可選的復(fù)位線)-TDI(測(cè)試數(shù)據(jù)輸入)、TDO(測(cè) 試數(shù)據(jù)輸出)、TMS(測(cè)試模式選擇)與TCK(測(cè)試時(shí)鐘)。該總線主要支持對(duì)焊點(diǎn)、電路板過孔、短路和開路等連接進(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接入要求,所以開發(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)開發(fā)與設(shè)計(jì)中是 如何使用JTAG的,目的是通過借助過去有關(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廠商提供的免費(fèi)工具即可。該階段的JTAG通常不具備或者只 具備很有限的診斷功能,也沒有可用于生成測(cè)試或編程的矢量的軟件。這時(shí)的JTAG接入只在生產(chǎn)時(shí)用于配置CPLD或?qū)﹂W存編程。稍復(fù)雜一些的板卡也可以用 它來做測(cè)試。
然而,這并不是成本最低的方法。因?yàn)槊糠N規(guī)則都有可能會(huì)為其自身的需要用一個(gè)單獨(dú)的JTAG接頭(header),于是一塊電路板上就得 用多個(gè)JTAG接頭,從而增加了成本,也占用了電路板空間。而且,每種規(guī)則可能都會(huì)開發(fā)它們自己的“自制”軟件工具和硬件,以實(shí)現(xiàn)與JTAG特性的交互, 而這些軟件工具和硬件對(duì)其他規(guī)則(discipline)而言卻是多余的。所以,采用這種方法開發(fā)的產(chǎn)品受其定制開發(fā)的影響,很難轉(zhuǎn)移到新一代的產(chǎn)品中 去。如果在生產(chǎn)中采用,這種方法也會(huì)增加成本,因?yàn)樗枰M(jìn)行多次插入。
許多開發(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)用中, 不同的開發(fā)團(tuán)隊(duì)規(guī)則對(duì)在新板卡設(shè)計(jì)上采用JTAG功能進(jìn)行管理。該階段的JTAG應(yīng)用需要一定程度的ATPG(自動(dòng)測(cè)試程序生成)軟件工具(這類軟件工具 具有穩(wěn)健的診斷功能)投資,用于對(duì)編程和測(cè)試矢量的開發(fā)和傳送進(jìn)行管理。這類ATPG工具的供應(yīng)商提供從簡(jiǎn)單的針對(duì)每一任務(wù)的矢量生成的支持與咨詢服務(wù), 也提供生產(chǎn)用的多任務(wù)(mulTI-seat)全套軟件支持。
在每塊電路板上添加一個(gè)策略性IC器件-JTAG復(fù)用器件,目的是去除電路板上的多個(gè)1149.1接頭并管理多個(gè)JTAG通路。這個(gè)JTAG復(fù)用器件所占用的電路板空間通常比一個(gè)JTAG接頭還小,但卻簡(jiǎn)化了元件的隔離,也簡(jiǎn)化了提高接入效率所需掃描路徑的組織。
例如,開發(fā)人員可能會(huì)希望將不同廠商的FPGA隔離在不同的掃描鏈中,以便簡(jiǎn)化利用每個(gè)廠商提供的工具接入JTAG的過程。另外,我們可能 還希望將微處理器放在一個(gè)單獨(dú)的掃描鏈中,從而在仿真工具調(diào)試軟件或在閃存寫程序時(shí),最大程度提高微處理器的運(yùn)行速度。ATPG廠商對(duì)這些器件都提供了很 好的支持,因此軟件支持通常很簡(jiǎn)單,直接提供交鑰匙的方案。
圖2:第三代J:將JTAG總線的擴(kuò)展到在整個(gè)背板以連接多個(gè)板卡。
如今我們的第二代設(shè)計(jì)都只有一個(gè)單獨(dú)的JTAG接入點(diǎn),在這種基本配置下,整個(gè)板卡的所有仿真、配置和1149.1測(cè)試都可以在一次插入中,在一個(gè)測(cè)試站(test staTIon)上用一個(gè)基于PC的系統(tǒng)來實(shí)現(xiàn)。
在這一階段出現(xiàn)了一種新的JTAG總線應(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)可替換單 元)中的問題。返回廠家進(jìn)行故障分析的設(shè)備也可以利用同一組矢量圖(以及廠家或開發(fā)測(cè)試站)來對(duì)問題進(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)級(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總線用于多支路配置,提供對(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è)備,通過一組單獨(dú)的線路連接到背板上的JTAG接頭。這個(gè)主控設(shè)備負(fù)責(zé)驅(qū)動(dòng)測(cè)試矢量,并管理整個(gè)背板上的器件接入JTAG功能。
第三代JTAG應(yīng)用中添加的一項(xiàng)最有意思的新功能,在系統(tǒng)運(yùn)行時(shí),通過這個(gè)邊帶(sideband)JTAG通道可以訪問整個(gè)系統(tǒng)。具備了這一功能,這使得很多系統(tǒng)級(jí)功能得以實(shí)現(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主控制器來驅(qū)動(dòng)背板JTAG總線。同時(shí),還利用板載存儲(chǔ)器存儲(chǔ)測(cè)試矢量,并利用一個(gè)微處理器驅(qū)動(dòng)JTAG主控制器。多板卡系統(tǒng)級(jí)主控制器可以位于一塊單獨(dú)的板卡上的,也可以在每塊板卡上設(shè)置一個(gè)主控制器以增強(qiáng)控制性能。
到了第四代,所有前面幾代JTAG應(yīng)用的 功能都能通過遠(yuǎn)程方式實(shí)現(xiàn),包括編程、配置、互連測(cè)試以及診斷,從而極大降低了現(xiàn)場(chǎng)服務(wù)與支持所需的成本。當(dāng)需要升級(jí)一個(gè)現(xiàn)場(chǎng)系統(tǒng)的固件時(shí),直接將新的配 置文件下載到JTAG主控制器上,再由JTAG主控制器通過背板JTAG總線將其發(fā)給目標(biāo)器件即可。當(dāng)然,在生產(chǎn)時(shí)只要將主控制器禁用,那么仍可使用基于 PC的JTAG接入站,這又進(jìn)一步增強(qiáng)了靈活性,也在所有集成度上提供了最多的接入選擇。
JTAG接入可以通過外部或內(nèi)部啟動(dòng),也可以由某些系統(tǒng)事件啟動(dòng),例如系統(tǒng)上電或電源復(fù)位。
本文小結(jié)
迄今為止,JTAG應(yīng)用與集成中存在的最大障礙,就是如何讓人們認(rèn)識(shí)到需要一種基于多個(gè)開發(fā)規(guī)則的策略,并使管理者相信這種策略能夠帶來經(jīng)濟(jì)效益。一旦跨出了這一步,并且采用了 ATPG支持和JTAG復(fù)用器件,那么就更容易一步步或一代代地循序漸進(jìn)評(píng)估或?qū)崿F(xiàn)新的JTAG功能。而且,如果開發(fā)團(tuán)隊(duì)能夠基于先前應(yīng)用JTAG的經(jīng) 驗(yàn),就能更好地發(fā)揮JTAG總線的功用。
增大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)方法的全部價(jià)值。
特別推薦
- 增強(qiáng)視覺傳感器功能:3D圖像拼接算法幫助擴(kuò)大視場(chǎng)
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡(jiǎn)化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- 解決模擬輸入IEC系統(tǒng)保護(hù)問題
- 當(dāng)過壓持續(xù)較長時(shí)間時(shí),使用開關(guān)浪涌抑制器
- 用于狀態(tài)監(jiān)測(cè)的振動(dòng)傳感器
- 解鎖多行業(yè)解決方案——AHTE 2025觀眾預(yù)登記開啟!
- 汽車智造全“新”體驗(yàn)——AMTS 2025觀眾預(yù)登記開啟!
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器