滿足的嵌入式系統電路特性測試需求的JTAG技術

2021-08-22 05:44:48 字數 3859 閱讀 8020

引言:eee 1149.1邊界掃瞄測試標準(通常稱為jtag、1149.1或"dot 1")是一種用來進行複雜ic與電路板上的特性測試的工業標準方法,大多數複雜電子系統都以這種或那種方式用到了ieee1149.1(jtag)標準。為了更好地理解這種方法,本文將**在不同年代的系統開發與設計中是如何使用jtag的,通過借助過去有關jtag接入的經驗或投入,推動設計向新一代發展。

大多數複雜電子系統都以這種或那種方式用到了ieee1149.1(jtag)標準。如果系統採用的是複雜fpga或cpld,那麼幾乎可以肯定這些硬體是通過jtag埠設定的。如果系統利用**工具來除錯硬體或軟體,那麼**工具也很可能是通過jtag埠與微處理器對話。而且,如果系統中採用了球柵陣列(bga)封裝的ic,那麼jtag也是測試bga器件與底層印製電路板之間連線的最有效方法。

支援eee 1149.1邊界掃瞄測試標準的ic與電路板都具備乙個支援jtag測試的4線序列匯流排(第5條線為可選的復位線)-tdi(測試資料輸入)、tdo(測試資料輸出)、tms(測試模式選擇)與tck(測試時鐘)。該匯流排主要支援對焊點、電路板過孔、短路和開路等連線進行結構測試。此外,許多cpld和fpga製造商也將jtag作為其器件在系統程式設計與配置的標準方法。jtag不但支援結構(互連)測試,如今還是一種用於在系統級實現配置、程式設計以及混合訊號測試的標準方法。

但大多數設計團隊都在新設計中對jtag的應用更傾向於不一步到位,而是以一種更易掌控的方式慢慢轉為全面利用jtag介面。有些團隊規則(discipline)中廣泛利用了jtag介面,有些則只利用了其中很有限的一部分。但每種規則都根據其自身的需要調整jtag。在各種規則的共同作用下,發展出了幾代不同的jtag應用,每一代jtag應用都有各自的特點,具有某種增強功能。

圖1:第二代jtag應用:利用jtag多支路復用器簡化對多個jtag鏈的接入。

由於存在各種各樣的jtag接入要求,所以開發團隊必需採用一種跨規則的jtag接入策略以最大程度地發揮jtag接入的功能。這種策略對於實現一種標準方法非常必要,這種標準方法可以復用,並且下一代產品可以基於其構建。為了更好地理解這種方法,我們將**在不同年代的系統開發與設計中是如何使用jtag的,目的是通過借助過去有關jtag接入的經驗或投入,推動設計向新一代發展。

jtag應用的各個階段

在jtag應用的第一階段,只用到了某些有關電路板的特性和功能,有關該方法的整理和標準化工作卻做得很少。

這是一種最簡單的方法,幾乎甚至完全不需要進行任何軟體工具投資,通常使用ic廠商提供的免費工具即可。該階段的jtag通常不具備或者只具備很有限的診斷功能,也沒有可用於生成測試或程式設計的向量的軟體。這時的jtag接入只在生產時用於配置cpld或對快閃儲存器程式設計。稍複雜一些的板卡也可以用它來做測試。

然而,這並不是成本最低的方法。因為每種規則都有可能會為其自身的需要用乙個單獨的jtag接頭(header),於是一塊電路板上就得用多個jtag接頭,從而增加了成本,也占用了電路板空間。而且,每種規則可能都會開發它們自己的「自製」軟體工具和硬體,以實現與jtag特性的互動,而這些軟體工具和硬體對其他規則(discipline)而言卻是多餘的。所以,採用這種方法開發的產品受其定製開發的影響,很難轉移到新一代的產品中去。如果在生產中採用,這種方法也會增加成本,因為它需要進行多次插入。

許多開發團隊都被這一代jtag應用綁住了手腳。最終,當系統複雜性持續增大時,要保持產品的競爭力,就必需採用一種jtag接入策略。

第二代jtag應用

在第二代jtag應用中,不同的開發團隊規則對在新板卡設計上採用jtag功能進行管理。該階段的jtag應用需要一定程度的atpg(自動測試程式生成)軟體工具(這類軟體工具具有穩健的診斷功能)投資,用於對程式設計和測試向量的開發和傳送進行管理。這類atpg工具的**商提供從簡單的針對每一任務的向量生成的支援與諮詢服務,也提供生產用的多工(multi-seat)全套軟體支援。

在每塊電路板上新增乙個策略性ic器件-jtag復用器件,目的是去除電路板上的多個1149.1接頭並管理多個jtag通路。這個jtag復用器件所占用的電路板空間通常比乙個jtag接頭還小,但卻簡化了元件的隔離,也簡化了提高接入效率所需掃瞄路徑的組織。

例如,開發人員可能會希望將不同廠商的fpga隔離在不同的掃瞄鏈中,以便簡化利用每個廠商提供的工具接入jtag的過程。另外,我們可能還希望將微處理器放在乙個單獨的掃瞄鏈中,從而在**工具除錯軟體或在快閃儲存器寫程式時,最大程度提高微處理器的執行速度。atpg廠商對這些器件都提供了很好的支援,因此軟體支援通常很簡單,直接提供交鑰匙的方案。

圖2:第三代j:將jtag匯流排的擴充套件到在整個背板以連線多個板卡。

如今我們的第二代設計都只有乙個單獨的jtag接入點,在這種基本配置下,整個板卡的所有**、配置和1149.1測試都可以在一次插入中,在乙個測試站(test station)上用乙個基於pc的系統來實現。

在這一階段出現了一種新的jtag匯流排應用-在產品的整個生命週期中都能利用jtag接入功能。例如,可以將整個電路板級的向量圖(vector image)存檔,以便在需要現場服務時,對板卡重新程式設計或除錯。同樣的接入功能還可以用於現場fpga韌體公升級,或用於診斷乙個fru(現場可替換單元)中的問題。返回廠家進行故障分析的裝置也可以利用同一組向量圖(以及廠家或開發測試站)來對問題進行隔離。

如果說這一代jtag應用有什麼缺點,那就是開發團隊通常還抱著單一板卡的心態。這是一種常有的心態,認為設計團隊的責任只侷限於其設計的板卡及其介面。然而,如果不能向第三代jtag發展,那麼這種jtag應用就出現了瓶頸,限制了使用jtag實現多板卡的能力。

第三代jtag應用

當能夠對乙個背板上的多板卡系統級使用到jtag的特性時,就實現了下一代jtag接入。在這種環境下,仍然能夠單獨實現單板卡級jtag功能,而且 還可以利用到板卡間的功能。這一代jtag應用不但促進了單板卡上不同規則的設計團隊相互合作,也促進了整個系統下不同板卡設計團隊之間的合作。如果在上一代jtag應用中採用了乙個jtag多路器,那麼這個多路器支援多支路(multi-drop)接入。採用一種定址方案,可以將序列jtag匯流排用於多支路配置,提供對多板卡的支援。而一旦jtag能夠接入一塊背板上的多個板卡,就能實現系統級的配置或程式設計(例如,jtag可以並行接入多塊板卡)。

如果驅動器/接收器對允許進行jtag可接入的全速bist(內建自測),也能測試板卡之間的背板互連,或者可以驗證板卡之間的高速lvds序列鏈結,那麼就能對板卡間背板互連的完整性進行測試,或者驗證板卡間的高速lvds序列連線。或這些高速互連都是電容性耦合,並且驅動器/接收器支援,則可以進行ieee 1149.6測試。

利用與第二代同樣的裝置-乙個基於pc的jtag站,就能使用所有這些jtag功能。這個基於pc的jtag站用作jtag主控裝置,通過一組單獨的線路連線到背板上的jtag接頭。這個主控裝置負責驅動測試向量,並管理整個背板上的器件接入jtag功能。

***jtag應用

當測試向量的傳送和管理發生在系統內部時,對jtag的應用就達到了最高端別,即***。***jtag應用採用了乙個板載jtag主控制器來驅動背板jtag匯流排。同時,還利用板載儲存器儲存測試向量,並利用乙個微處理器驅動jtag主控制器。多板卡系統級主控制器可以位於一塊單獨的板卡上的,也可以在每塊板卡上設定乙個主控制器以增強控制效能。

jtag接入可以通過外部或內部啟動,也可以由某些系統事件啟動,例如系統上電或電源復位。

本文小結

迄今為止,jtag應用與整合中存在的最大障礙,就是如何讓人們認識到需要一種基於多個開發規則的策略,並使管理者相信這種策略能夠帶來經濟效益。一旦跨出了這一步,並且採用了atpg支援和jtag復用器件,那麼就更容易一步步或一代代地循序漸進評估或實現新的jtag功能。而且,如果開發團隊能夠基於先前應用jtag的經驗,就能更好地發揮jtag匯流排的功用。

增大jtag結構的複雜性並不一定會成為系統的負擔,恰恰相反,這樣才能完全地發揮jtag作為乙個受到廣泛支援的,對現代複雜電子系統進行系統級測試、程式設計、配置和的健康狀態監控的工業標準方法的全部價值。

嵌入式系統測試2

1.飛彈控制屬於嵌入式系統在 方面的應用。正確答案 d.軍用 2.下列 不是嵌入式開發所必需的工具。正確答案 b.word軟體 3 嵌入式系統的核心是 正確答案 b.嵌入式微處理器 4 以4位到8位單晶元為核心的可程式設計控制器系統屬於嵌入式系統發展的第 階段。正確答案 c.1 5 嵌入式系統的英文...

ARM嵌入式系統上OpenCL測試

by toradex giovanni bauermeister 1 簡介 相比曾經,如今科技裝置對處理效能和速度要求越來越高。為了應對這種技術需求,許多公司發明了不少方法來獲得更好的處理效能。例如蘋果公司,發明了 open computing language opencl 2008年6月,蘋果公...

嵌入式系統的特點

嵌入式系統一般指非pc系統,它包括硬體和軟體兩部分。硬體包括處理器 微處理器 儲存器及外設器件和i o埠 圖形控制器等。軟體部分包括作業系統軟體 os 要求實時和多工操作 和應用程式程式設計。有時設計人員把這兩種軟體組合在一起。應用程式控制著系統的運作和行為 而作業系統控制著應用程式程式設計與硬體的...