嵌入式邊界掃描
若用邊界掃描做為制造測(cè)試和配置,會(huì)有不少邊界掃描架構(gòu)嵌入在芯片、板和系統(tǒng)中。如果嵌入硬件和軟件邊界掃描控制器、測(cè)試圖形、邏輯可重配置運(yùn)算等,就可以把這種架構(gòu)很好地用于產(chǎn)品的整個(gè)壽命期。
采用嵌入式掃描,可以用Internet在現(xiàn)場(chǎng)對(duì)系統(tǒng)加載固件更新。用同樣的方法,遠(yuǎn)程診斷可以確定系統(tǒng)工作出現(xiàn)故障的原因。
嵌入式邊界掃描
系統(tǒng)中嵌入式掃描操作,意味著系統(tǒng)具有JTAG工作的能力,而與任何的其他系統(tǒng)、測(cè)試控制器或邊界掃描引擎無(wú)關(guān)。當(dāng)然,這種能力損害外部加邊界掃描操作的重要性。加JTAG主體到被測(cè)單元(UUT),或用標(biāo)準(zhǔn)纜線連接外部邊界掃描系統(tǒng)到UUT對(duì)單元進(jìn)行編程。嵌入式邊界掃描用于制造和現(xiàn)場(chǎng)服務(wù),盡管大多數(shù)嵌入式邊界掃描應(yīng)用限于合格/失效測(cè)試。合格/失效測(cè)試在制造裝配中識(shí)別問(wèn)題是有用的。此外,外部邊界掃描更廣泛的診斷能力可用于診斷制造過(guò)程的離線失效。
為了嵌入邊界掃描,必須把一個(gè)外部邊界掃描引擎的某些性能設(shè)計(jì)到系統(tǒng)中。外部JTAG系統(tǒng)的多少功能嵌入一個(gè)特定產(chǎn)品中取決于怎樣的嵌入式邊界掃描將用于現(xiàn)場(chǎng)產(chǎn)品中。
嵌入式邊界掃描需要運(yùn)行時(shí)間JTAG引擎能力和測(cè)試向量、編程算法的存儲(chǔ)空間。圖1示出了一個(gè)典型的嵌入式邊界掃描測(cè)試流程,其中在工廠中獨(dú)立應(yīng)用的邊界掃描系統(tǒng)產(chǎn)生JTAG測(cè)試圖形和編程算法,并把它們轉(zhuǎn)換為二進(jìn)制格式,而且運(yùn)到現(xiàn)場(chǎng)前存儲(chǔ)測(cè)試圖形和編程算法在系統(tǒng)中。一個(gè)嵌入式運(yùn)行時(shí)間引擎匯編邊界掃描操作,并把邊界掃描操作送到掃描引擎,以便系統(tǒng)應(yīng)用。
一些商用軟件和硬件產(chǎn)品有助于嵌入式掃描測(cè)試和編程操作。TI、NS、Firecron和Alliance公司提供嵌入式掃描控制器或測(cè)試時(shí)序器。這些供應(yīng)商也提供應(yīng)用程序?qū)嵗_吔鐠呙柘到y(tǒng)供應(yīng)商提供其他工具。例如Asset Intertech為TI應(yīng)用提供向量變換工具,能變換測(cè)試程序?yàn)榇械南蛄扛袷?SVF);為NS器件提供嵌入式向量格式(EVF);為Firecron和Alliance應(yīng)用提供二進(jìn)制向量圖像(BVI)。
以簡(jiǎn)單的合格/失效結(jié)果報(bào)告測(cè)試結(jié)果,并通信到系統(tǒng)外部預(yù)先設(shè)定的地點(diǎn),對(duì)于此情況,需要系統(tǒng)內(nèi)存儲(chǔ)器來(lái)存儲(chǔ)結(jié)果。如果想要測(cè)試觸發(fā)改進(jìn)的診斷程序,則需要提供更多存儲(chǔ)器在系統(tǒng)中存儲(chǔ)測(cè)試結(jié)果。
圖1 典型的嵌入式邊界掃描測(cè)試流程
結(jié)構(gòu)問(wèn)題
帶嵌入式邊界掃描的系統(tǒng)通常由一個(gè)以上的電路板或部件組成。這往往會(huì)涉及背板。結(jié)構(gòu)上,必須確定如何最好地實(shí)現(xiàn)跨接多個(gè)電路板和部件的邊界掃描接口。可以選擇星或環(huán)狀結(jié)構(gòu),但是,這兩種結(jié)構(gòu)都是不適當(dāng)?shù)?。最?jīng)常用的是多站結(jié)構(gòu),這種結(jié)構(gòu)對(duì)于配置嵌入式邊界的掃描是有效的。
在多站結(jié)構(gòu)(圖2),可路由所有邊界掃描信號(hào)到系統(tǒng)中所有的板或部件。每一個(gè)板具有一個(gè)可尋址的JTAG網(wǎng)關(guān)器件,此器件能識(shí)別邊界掃描信息。網(wǎng)關(guān)器件截取信息尋址它,相應(yīng)地配置本地掃描通路以及施加邊界掃描操作到器件,并構(gòu)建在板上。從TI、NS、Firecon和Alliance 等公司可得到邊界掃描網(wǎng)關(guān)器件。另外,可以用可編程邏輯器件(PLD)中IP核的形式實(shí)現(xiàn)邊界掃描網(wǎng)關(guān)功能。例如,Lattice公司提供支持掃描鏈接功能的IP核。另外,Asset公司提供網(wǎng)關(guān)器件的器件模式。器件模式能自動(dòng)把網(wǎng)關(guān)器件所包含關(guān)系變?yōu)檫吔鐠呙铚y(cè)試和編程操作。
圖2 多站結(jié)構(gòu)路由掃描信號(hào)到所有系統(tǒng)板
一旦為嵌入式邊界掃描建立了多站結(jié)構(gòu),可用下面4種方法的一種本地配置系統(tǒng)中的元件:
·無(wú)主機(jī),都是從機(jī)。在JTAG操作中無(wú)主機(jī),一個(gè)外部邊界掃描總線主機(jī)或控制器必須加邊界掃描操作。一個(gè)商業(yè)邊界掃描測(cè)試系統(tǒng)通常管理所有邊界掃描操作,所以不需要專用板上的處理器,也不需要為主處理器開(kāi)發(fā)相應(yīng)的軟件。由于外部系統(tǒng)監(jiān)控邊界掃描操作的結(jié)果,所以,不需要為這些結(jié)果提供系統(tǒng)內(nèi)的存儲(chǔ)。然而,必須連接一個(gè)外部邊界掃描系統(tǒng)到被測(cè)單元,來(lái)執(zhí)行邊界掃描操作。
·單主機(jī),多從機(jī)。在多站結(jié)構(gòu)中,用一個(gè)嵌入式JTAG主機(jī)處理器,可以遠(yuǎn)程測(cè)試、重新編程、重新配置或?qū)崟r(shí)監(jiān)控系統(tǒng)。當(dāng)然,僅有一個(gè)JTAG主機(jī)表示可能的失效點(diǎn),不帶失效安全冗余度。另外,JTAG主機(jī)處理器需要軟件來(lái)協(xié)調(diào)嵌入式邊界掃描操作。而且系統(tǒng)需要軟件用的和存儲(chǔ)JTAG操作結(jié)果的存儲(chǔ)器。因?yàn)榍度胧竭吔鐠呙璧膶iT特性,所以,嵌入式JTAG主機(jī)通常是用戶為被測(cè)系統(tǒng)專門開(kāi)發(fā)的。JTAG主機(jī)支持被測(cè)試系統(tǒng)和任何遠(yuǎn)程邊界掃描測(cè)試或診斷系統(tǒng)之間的通信鏈路。
·帶背板的多主機(jī)。對(duì)于一個(gè)任務(wù)危險(xiǎn)的系統(tǒng),可以設(shè)計(jì)一個(gè)具有失效安全冗余度的多JTAG主機(jī)。除要求單主機(jī)的其他方面外,多主機(jī)需要軟件在開(kāi)始JTAG主機(jī)失效時(shí),能容易有效地從一個(gè)主機(jī)到另一個(gè)主機(jī)。各種標(biāo)準(zhǔn)編程工具可用于開(kāi)發(fā)這些嵌入式專門應(yīng)用的性能。但與邊界掃描系統(tǒng)供應(yīng)商緊密地協(xié)商將保證嵌入式符合JTAG標(biāo)準(zhǔn)的要求,使專門用于嵌入式邊界掃描的內(nèi)部資源最小化。
無(wú)背板的多主機(jī)。如果希望JTAG信號(hào)斷開(kāi)背板,則可以在每個(gè)電路板或子系統(tǒng)上提供一個(gè)JTAG主機(jī)。每個(gè)JTAG主機(jī)連接到外部通信鏈路,通過(guò)此鏈路可以初始化邊界掃描操作和回收測(cè)試結(jié)果??梢酝瑫r(shí)測(cè)試或重新配置所有的板。此方法除了每個(gè)模塊所需的JTAG網(wǎng)關(guān)器件外,增加了JTAG操作的復(fù)雜性。因?yàn)槟K到模塊操作用的測(cè)試向量和編程對(duì)于整個(gè)系統(tǒng)必須放在一起,替代一次單個(gè)模塊。此方法仍然支持遠(yuǎn)程監(jiān)控、測(cè)試和編程。
實(shí)現(xiàn)問(wèn)題
采用嵌入式邊界掃描測(cè)試,以及系統(tǒng)內(nèi)編程和PLD重新配置,除了它們所涉及的結(jié)構(gòu)外,還有另外的問(wèn)題。例如,在現(xiàn)場(chǎng)的系統(tǒng)配置將是固定的或在配置完后可能加入新電路板或部件。
固定的系統(tǒng)配置使嵌入式邊界掃描的實(shí)現(xiàn)簡(jiǎn)單化,這是因?yàn)榍度胧竭吔鐠呙璨僮鹘Y(jié)構(gòu)不變化。但是,若系統(tǒng)配置如同大多數(shù)計(jì)算機(jī)和通信系統(tǒng)那樣是變化的,則每當(dāng)插入新電路板或部件時(shí),嵌入式邊界掃描操作會(huì)發(fā)生變化。
甚至固定配置的系統(tǒng)也需要復(fù)雜的邊界掃描測(cè)試管理軟件。例如,在系統(tǒng)中,相同的電路板包含不同版本,板具有不同的邊界掃描特性。測(cè)試管理軟件在配置一組測(cè)試之前,必須確定系統(tǒng)中電路板的版本號(hào)。
這意味著對(duì)面向目標(biāo)的邊界掃描模塊的需要,這種模塊可以組裝成匹配任何系統(tǒng)配置。另外,嵌入式JTAG運(yùn)行時(shí)間引擎和掃描引擎,必須做成適應(yīng)新的配置和系統(tǒng)的邊界掃描操作。當(dāng)然,用什么方法在現(xiàn)場(chǎng)從中央資源區(qū)下載可執(zhí)行的邊界掃描到系統(tǒng)中,可重新配置的一組JTAG操作,這會(huì)涉及協(xié)議和數(shù)據(jù)通信的其他方面。
通信機(jī)構(gòu)歸納為固件的下載遠(yuǎn)程接入、系統(tǒng)狀態(tài)的實(shí)時(shí)監(jiān)控以及JTAG測(cè)試和診斷的應(yīng)用。系統(tǒng)制造商、邊界掃描公司和半導(dǎo)體供應(yīng)商,已開(kāi)始討論支持嵌入式邊界掃描的通信協(xié)議標(biāo)準(zhǔn)化。
當(dāng)然,用基于嵌入式邊界掃描的系統(tǒng)級(jí)BIST(內(nèi)置自測(cè)試)特性,必須確定系統(tǒng)如何應(yīng)對(duì)測(cè)試結(jié)果。例如,系統(tǒng)可以進(jìn)行定期預(yù)定的結(jié)構(gòu)測(cè)試并發(fā)現(xiàn)系統(tǒng)整個(gè)工作中關(guān)鍵的故障器件。系統(tǒng)本身可以進(jìn)行診斷測(cè)試來(lái)確定PLD中固件是否有問(wèn)題。用這些信息,可以通過(guò)系統(tǒng)的嵌入式邊界掃描架構(gòu)下載固件新圖像。
過(guò)渡到嵌入式邊界掃描
邊界掃描應(yīng)用在板級(jí)測(cè)試和系統(tǒng)內(nèi)編程應(yīng)用已經(jīng)10多年。此技術(shù)容易理解并有工具支持,這使JTAG開(kāi)發(fā)和應(yīng)用簡(jiǎn)化。因此,從板級(jí)過(guò)度到系統(tǒng)級(jí)和嵌入式邊界掃描是一個(gè)必然的發(fā)展。
實(shí)際上,在某些情況下,板級(jí)架構(gòu)已經(jīng)很容易過(guò)渡到嵌入式系統(tǒng)級(jí)邊界掃描操作。若板級(jí)邊界掃描操作已經(jīng)應(yīng)用于制造測(cè)試中,則開(kāi)發(fā)板級(jí)JTAG測(cè)試和編程算法時(shí),所做的很多工作可以重新用于整個(gè)系統(tǒng)的操作。
評(píng)論