探討基于JTAG技術(shù)的嵌入式系統(tǒng)測試的各個(gè)階段
圖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ū)動(dòng)器/接收器對允許進(jìn)行JTAG可接入的全速BIST(內(nèi)建自測),也能測試板卡之間的背板互連,或者可以驗(yàn)證板卡之間的高速 LVDS串行鏈接,那么就能對板卡間背板互連的完整性進(jìn)行測試,或者驗(yàn)證板卡間的高速LVDS串行連接?;蜻@些高速互連都是電容性耦合,并且驅(qū)動(dòng)器/接收 器支持,則可以進(jìn)行IEEE 1149.6測試。
利用與第二代同樣的設(shè)備-一個(gè)基于PC的JTAG站,就能使用所有這些JTAG功能。這個(gè)基于PC的JTAG站用作JTAG主控設(shè)備,通過一組單獨(dú)的線路連接到背板上的JTAG接頭。這個(gè)主控設(shè)備負(fù)責(zé)驅(qū)動(dòng)測試矢量,并管理整個(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ū)動(dòng)背板JTAG總線。同時(shí),還利用板載存儲器存儲測試矢量,并利用一個(gè)微處理器驅(qū)動(dòng)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)部啟動(dòng),也可以由某些系統(tǒng)事件啟動(dò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ù)雜性并不一定會(huì)成為系統(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à)值。
評論