數(shù)字邏輯設(shè)計(jì)人員在實(shí)現(xiàn)設(shè)計(jì)目標(biāo)時(shí)有不少工具可用。為適應(yīng)所需的大量邏輯數(shù)和數(shù)據(jù)率,設(shè)計(jì)人員可選用FPGA。FPGA在相對(duì)小的空間內(nèi),以多引腳數(shù)封裝提供巨大數(shù)量的數(shù)字邏輯門(mén)。
在印刷電路板(PCB)放置多個(gè)多引腳FPGA和其他器件,確保所有互連的完整無(wú)損是比較困難的。在制造中用X射線技術(shù)可以檢驗(yàn)大概的互連問(wèn)題, 而需要更精確的方法來(lái)檢測(cè)制造、調(diào)試和復(fù)雜PCB更換的互連問(wèn)題。
一種方法是JTAG(IEEE1149.1)技術(shù)。JTAG(聯(lián)合測(cè)試行動(dòng)組)功能包括基本的輸入/輸出邊界掃描控制(由1149.1規(guī)范確定)以及內(nèi)部資源的重新編程性和控制。數(shù)字設(shè)計(jì)中所用的很多元件都具有JTAG性能。微處理器可用JTAG提供調(diào)試接入。FPGA和CPLD可用JTAG編程。這些JTAG性能為制造、設(shè)計(jì)和服務(wù)人員提供一個(gè)強(qiáng)有力的生產(chǎn)高質(zhì)量板的工具。
在系統(tǒng)中實(shí)現(xiàn)JTAG控制邏輯時(shí),考慮DFT(design-for-test),而這與一般的FPGA設(shè)計(jì)技術(shù)是矛盾的。
DFT設(shè)計(jì)考慮包括:
·主要的測(cè)試/調(diào)試能力必須與系統(tǒng)開(kāi)發(fā)每個(gè)階段的FPGA功能無(wú)關(guān)。
·FPGA需要在現(xiàn)場(chǎng)更新測(cè)試控制邏輯,并且在重新編程期間應(yīng)變得不起作用。假若希望系統(tǒng)是“5個(gè)9”(99.999%)可用的,則需要另一種FPGA結(jié)構(gòu)。
·FPGA通常是JTAG掃描鏈的部分,而且感興趣的是FPGA互連的檢驗(yàn)。FTAG控制邏輯不能置FPGA進(jìn)入測(cè)試模式,并同時(shí)工作在非測(cè)試模式。
一個(gè)小的定制非易失性的即時(shí)接通可編程邏輯(PLD)能很好的適合系統(tǒng)DFT考慮。這樣的一種器件可提供足夠的邏輯和足夠的I/O組,使其容易調(diào)試和接口到JTAG,以便提供測(cè)試性、重新可編程性的控制功能性。這使得小的PLD成為板測(cè)試無(wú)故障的理想元件。
典型的PCB測(cè)試結(jié)構(gòu)
JTAG的主要用途集成在制造測(cè)試。它對(duì)開(kāi)發(fā)環(huán)境有損害,它主要是處理任務(wù)而不是制造級(jí)連接性測(cè)試。圖1示出典型的PCB測(cè)試結(jié)構(gòu)。
圖1示出一個(gè)微處理器基系統(tǒng)和連接到一個(gè)JTAG接頭的器件鏈路。這是一個(gè)簡(jiǎn)單的框圖。
JTAG接頭和與它較連的所有器件是單串行鏈路。所有邊界掃描和系統(tǒng)中的測(cè)試邏輯都是做為單結(jié)構(gòu)連接的。構(gòu)成測(cè)試系統(tǒng)進(jìn)入邏輯子單元,其靈活性是有限的。JTAG鏈路的長(zhǎng)度受TCK(測(cè)試時(shí)鐘)扇出和TMS(測(cè)試模式選擇)限制。
微處理器具有一些調(diào)試控制形式,而這種控而這種控制部分或全部由JTAG管理。某些調(diào)試工具與JTAG鏈路中的其他器件不能很好的共存,這就是為什么圖1中的微處理器與JTAG鏈路中的其他器件是獨(dú)立的。
有一些方法(如TCK和TMS線上的附加分立緩沖器)可以解決這些問(wèn)題。用多個(gè)JTAG接頭也可以做成幾個(gè)JTAG鏈路。此方案為了能測(cè)試整個(gè)系統(tǒng),應(yīng)具備驅(qū)動(dòng)多個(gè)JTAT接頭的測(cè)試設(shè)備。
在這種實(shí)現(xiàn)方案中,到測(cè)試和編程接口的接入需要有鏈路配置的詳細(xì)知識(shí),即采用各種硬件接頭和硬件配置的知識(shí)。只有廠家或檢修人員可以接入可測(cè)試性接口和更新任何可編程器件。
端口連接
改善系統(tǒng)靈活性的一種方法是增加多個(gè)接頭到板上。具有同時(shí)連接幾個(gè)JTAG接頭的JTAG測(cè)試器能夠接入每個(gè)分立的JTAG掃描鏈路。
JTAG掃描鏈路可以構(gòu)建進(jìn)邏輯單元,而單個(gè)JTEG端口鏈路器(port Linker)示于圖2,它可以大大地簡(jiǎn)化硬件接口,并可增加多鏈路進(jìn)入邏輯單元的靈活性。
端口鏈路器是使單個(gè)物理JTAG連接器能接入幾個(gè)獨(dú)立JTAG鏈路之一鏈路的器件。端口鏈路器呈現(xiàn)在具有JTAG測(cè)試接入端口和1組控制寄存器的物理接頭中,控制寄存器允許獨(dú)立JTAG端口的任意互連。在物理JTAGA接頭中可見(jiàn)的鏈路長(zhǎng)度,將隨鏈路PORT#1~#4的使能或斷開(kāi)而增加或減少。
端口鏈路器改善了系統(tǒng)的JTAG能力,因?yàn)楝F(xiàn)在JTAG鏈路可以分成功能模塊。端口鏈路器也可提供每個(gè)JTAG鏈路自身的TCK和TMS線,這降低了緩沖器驅(qū)動(dòng)和扇出的限制。如果需要,可編程器件也可以單獨(dú)接入另外的邏輯器件。
板設(shè)計(jì)人員為了最大功效可以選擇如何組織測(cè)試、編程和調(diào)試鏈路。
注意,在這種方案中,微處理器保持在分立鏈路,仍然對(duì)于JTAG任何邏輯都沒(méi)有接入。當(dāng)設(shè)計(jì)變成產(chǎn)品最終到達(dá)消費(fèi)者手中或處在服務(wù)中時(shí),系統(tǒng)的微處理器提供重要的能力。微處理器通常與某些通信通道形式接口。這可以是Ethernet,WiFi或Bluetooth,或一些其他共同標(biāo)準(zhǔn)。假若微處理器具有到JTAG邏輯的接入,則可以利用微處理器的通信通道來(lái)執(zhí)行診斷或PLD更新。
到JTAG的并行接口
微處理接入到JTAG鏈路的一種方法是采用并行總線到JTAG串行總線接口器件。這種器件提供一組寄存器,這些寄存器與微處理之間以并存方式傳輸數(shù)據(jù)。邏輯變換并行接入為串行JTAG協(xié)議?,F(xiàn)在微處理器具有一種與板上JTAG邏輯相互連系的手段。
圖3示出可以連接到基本JTAG鏈路的并行到JTAG的變換。此方案也必須具有斷開(kāi)JTAG輸出的能力。若輸出不斷開(kāi)(即處于三態(tài)),則用外接測(cè)試設(shè)備是不可能的。
此方案用一個(gè)外部變換替代控制器的端口I/O能力。設(shè)計(jì)人員必須權(quán)衡用固件控制執(zhí)行,此功能比直接尋址外部變換邏輯所需的總線開(kāi)銷要少。
橋接在一起
測(cè)試系統(tǒng)可分為兩部分:端口鏈路器和并行到JTAG變換器。假定用分立可編程邏輯器件實(shí)現(xiàn)這兩部分邏輯,則必須解決如何編程這些器件的問(wèn)題。這些器件的每個(gè)部分都需要另外的專門(mén)JTAG接頭或復(fù)雜開(kāi)關(guān)系統(tǒng)的某種形式來(lái)控制TMS或TCK線。
替代這些功能于兩個(gè)較小PLD器件的方法是把此邏輯置到一個(gè)較大的PLD器件中。圖4示出如何把整個(gè)設(shè)計(jì)在單個(gè)PLD中。
Lattice Semiconductor公司的Machxo PLD設(shè)計(jì)把上面所描述的元件和另外的一些性能組合在一起:
·模塊A是并行到JTAG變換模塊。
·模塊B是端口鏈接器。
·模塊C是Machxo PLD專門(mén)的JTAG端口。
此設(shè)計(jì)有幾個(gè)關(guān)鍵點(diǎn)。第一是用單個(gè)JTAG接頭編程PLD和連接外部制造/診斷設(shè)備。第二點(diǎn)是用1×3接頭控制TMS引腳的目的地到模塊C。在PCB開(kāi)始裝配時(shí),PLD是空白的,而且必須編程,在1~2引腳之間短路連接允許JTAG和編程接頭驅(qū)動(dòng)PLD的TMS線??梢跃幊蘌LD板組裝之后才能進(jìn)行短路。在所有其他情況下,引腳2~3之間放置跳接線。
被編程的PLD已準(zhǔn)備好執(zhí)行制造、測(cè)試、調(diào)試和維修等任務(wù)。
制造測(cè)試
制造是PLD設(shè)計(jì)的第一受益者,制造感興趣的是確認(rèn)線跡沒(méi)有短路和沒(méi)有開(kāi)路。用JTAG測(cè)試設(shè)備和一組可靠的JTAG鏈路是能夠確認(rèn)連接是否正確。
用端口連接器把JTAG鏈路隔離為更小的子單元,可把目標(biāo)定在PCB上未端的邏輯單元。測(cè)試可以執(zhí)行得更快,因?yàn)榭梢钥刂七吔鐠呙桄滈L(zhǎng)度。也可以更快地進(jìn)行初始化可編程器件。
JTAG執(zhí)行測(cè)試的主要接口是JTAG和編程接頭。假若測(cè)試人員在執(zhí)行測(cè)試前不需要改變板上的任何跳接線或其他設(shè)備,這就更好。JTAG和編程接頭上的備用引腳可做為使能/斷開(kāi)和多路轉(zhuǎn)換器選擇。此選擇/使能引腳自動(dòng)處理端口鏈路器模塊的3態(tài)port# 4并開(kāi)關(guān)內(nèi)部多路轉(zhuǎn)換器。多路轉(zhuǎn)換器選擇JTAG和編程接頭或并行到JTAG變換邏輯。這允許制造和測(cè)試的連接JTAG測(cè)試設(shè)備,而不需要調(diào)節(jié)PCB上的任何短接。
工程開(kāi)發(fā)
用PLD控制測(cè)試過(guò)程能為工程開(kāi)發(fā)提供良好的互連測(cè)試。然而,F(xiàn)PGA/PLD和固件設(shè)計(jì)人員現(xiàn)在可以開(kāi)始做硬件工作。
PCB開(kāi)發(fā)是一個(gè)反復(fù)的過(guò)程,工程師經(jīng)常改變可編程器件的內(nèi)容。工程師一般也用微處理器和調(diào)試工具。
在開(kāi)發(fā)和調(diào)試過(guò)程中的早期,固件和微處理器控制可能不是完整的工作。在此期間,由于JTAG和可編程接頭接口可初始化可編程邏輯器件。
板開(kāi)發(fā)早期要做的另一事情是開(kāi)發(fā)微處理器控制碼。固件會(huì)有錯(cuò)誤需要調(diào)試。完成調(diào)試的方法是用JTAG基調(diào)試工具。采用JTAG基調(diào)試工具引起的一個(gè)問(wèn)題是這種工具要求微處理器只能有一個(gè)器件連接到微處理器的JTAG I/O。這樣要求與制造組的需要是矛盾的。然而,圖4所建議的方案早已解決了此問(wèn)題。
固件工程師能夠接入調(diào)試端口,而不會(huì)干擾JTAG鏈路的邏輯。在微處理器碼調(diào)試期間獲得微處理器JTAG端口的全部控制,而能夠用JTAG調(diào)試工具。假如沒(méi)有測(cè)試工具連接到JTAG和編程接頭,則固件工程師除希望有到微處理器的鏈路外,也有在所有JTAG鏈路的接入?,F(xiàn)在,固件工程師能夠增加板的測(cè)試能力?,F(xiàn)在,固件工程師能夠增加板的測(cè)試能力。微處理器控制的測(cè)試程序經(jīng)常是固有的或是動(dòng)態(tài)下載,這取決于系統(tǒng)資源。測(cè)試程序可返回到制造組,允許更徹底地測(cè)試板的裝配板。
在現(xiàn)場(chǎng)JTAG所提供的全面制造和調(diào)試測(cè)試,對(duì)現(xiàn)場(chǎng)PCB提高質(zhì)量和可靠性是很有價(jià)值的。
如前所述,PCB板上可有一個(gè)微處理器來(lái)執(zhí)行通過(guò)/不通過(guò)測(cè)試。很多帶微處理器的系統(tǒng)也具有通信通道的某種形式。假若通信通道是無(wú)線或有線Internet連接,則現(xiàn)場(chǎng)工程師可以遠(yuǎn)程初始化診斷測(cè)試。遠(yuǎn)程初始化診斷測(cè)試與制造測(cè)試工程師所做的應(yīng)具有相同的能力。甚至板不具備遠(yuǎn)程接入,但維修人員仍從可用的編程和JTAG接頭中受益。
不管測(cè)試性能是如何接入,沒(méi)有必要為維修而接入這些性能發(fā)的系統(tǒng),或需要高度可重配置分散觸發(fā)的系統(tǒng)。
對(duì)每個(gè)LXIA級(jí)設(shè)備,兩個(gè)觸發(fā)總線連接器是并聯(lián)接線的,以方便菊鏈分段的實(shí)現(xiàn),在此場(chǎng)合,硬件觸發(fā)總線在每段的端點(diǎn)處需一個(gè)端接器,每段總線最多可連接16個(gè)LXI設(shè)備。
每條觸發(fā)總線有1個(gè)驅(qū)動(dòng)器和幾個(gè)接收器,具體配置由觸發(fā)總線模式?jīng)Q定。A級(jí)支持兩種觸發(fā)配置:
·驅(qū)動(dòng)模式:此配置將觸發(fā)事件傳輸至連接在同一條總線上的一個(gè)或多個(gè)接收器。
·線或模式:此配置支持多點(diǎn)至多點(diǎn)觸發(fā)傳輸模式。在此模式,可讓多個(gè)觸發(fā)源啟動(dòng)觸發(fā),多個(gè)接收器接收生成的觸發(fā)事件。當(dāng)配置成線或模式時(shí),與LXI觸發(fā)接收器相關(guān)聯(lián)的一個(gè)觸發(fā)器配置成基本觸發(fā)源,每個(gè)觸發(fā)源使用并聯(lián)的驅(qū)動(dòng)器來(lái)驅(qū)動(dòng)。
LXI觸發(fā)總線的附加功能要求有:
·8條觸發(fā)器全部路由至模塊內(nèi)設(shè)置的每個(gè)觸發(fā)功能,當(dāng)為每個(gè)特定功能分配觸發(fā)線時(shí),可達(dá)到最大的靈活性。
·在每條觸發(fā)器線上同時(shí)驅(qū)動(dòng)/檢測(cè)。
·為每條觸發(fā)線設(shè)置邊沿檢測(cè)或電平檢測(cè)。
A級(jí)設(shè)備為用戶和儀器供應(yīng)商提供了用硬件觸發(fā)連接創(chuàng)建儀器分系統(tǒng)的能力,其典型應(yīng)用是合成儀器系統(tǒng),這類系統(tǒng)是由幾個(gè)源/測(cè)量構(gòu)件組成的,由LXI觸發(fā)線提供模塊內(nèi)固有的時(shí)鐘和觸發(fā)。此外,在幾個(gè)遠(yuǎn)地放置的分系統(tǒng)間通信,可用消息通信方式實(shí)現(xiàn)。A級(jí)設(shè)備允許使用硬件或LAN觸發(fā)來(lái)啟動(dòng)測(cè)量事件,為分布式測(cè)量或數(shù)據(jù)采集系統(tǒng)提供了更高的靈活性。
結(jié)語(yǔ)
定義3種不同的LXI產(chǎn)品等級(jí)為生產(chǎn)和部署產(chǎn)品提供更多的靈活性,既能滿足特定的要求而又不增加系統(tǒng)的復(fù)雜性和成本。同時(shí),無(wú)IEEE1588PTP功能的LAN基產(chǎn)品有助于加速標(biāo)準(zhǔn)的推廣,促進(jìn)LXI產(chǎn)品的研發(fā)。一旦條件成熟,不僅能迅速地將現(xiàn)有Ethernet基儀器更新為C級(jí)設(shè)備,還能創(chuàng)建更多功能齊備的A級(jí)或B級(jí)設(shè)備。
責(zé)任編輯:gt
-
pcb
+關(guān)注
關(guān)注
4367文章
23487瀏覽量
409572 -
接口
+關(guān)注
關(guān)注
33文章
9000瀏覽量
153712 -
微處理器
+關(guān)注
關(guān)注
11文章
2383瀏覽量
84165
發(fā)布評(píng)論請(qǐng)先 登錄
未來(lái)誰(shuí)主沉?。捍泻?b class='flag-5'>并行接口SRAM對(duì)比
嵌入式微處理器和接口詳技術(shù)詳解
嵌入式微處理器和接口詳技術(shù)詳解
微處理器和JTAG總線橋接接口
8255A可編程并行接口
并行接口
嵌入式微處理器JTAG接口中TAP控制器的設(shè)計(jì)
并行接口邏輯及編程應(yīng)用

計(jì)算機(jī)的并行接口,計(jì)算機(jī)的并行接口大全
SRAM存儲(chǔ)器的并行接口和串行接口對(duì)比

評(píng)論