摘要:為了滿足數字電路故障診斷的測試需求,根據邊界掃描測試標準IEEE1149.1設計了數字電路測試主控系統(tǒng)。系統(tǒng)以FPGA為控制核心,利用計算機的USB總線控制JTAG總線,實現對被測數字電路的測試。該系統(tǒng)能控制四路JTAG總線,且引入了FIFO以提高邊界掃描的測試速度。對FIFO、USB總線及JTAG總線的控制等均在一片FPGA中實現,硬件結構簡單,體積小。實驗證明,用該系統(tǒng)可對支持IEEE1149.1標準的數字電路的狀態(tài)進行控制和捕獲,能方便高效地完成對數字電路的測試。
關鍵詞:數字電路測試;FPGA ;FIFO
作者簡介:葛青(1973-),女,遼寧瓦房店人,成都理工大學核技術與自動化工程學院,講師。(四川#8194;成都#8194;610059)
基金項目:本文系成都理工大學2013-2016年高等教育人才培養(yǎng)質量和教學改革項目(項目編號:13JGY25)的階段研究成果。
中圖分類號:G642.423#8195;#8195;#8195;#8195;#8195;文獻標識碼:A#8195;#8195;#8195;#8195;#8195;文章編號:1007-0079(2014)14-0166-02
電子技術的快速發(fā)展使測試技術面臨很大的挑戰(zhàn)。一方面,芯片內部的結構越來越復雜,但是外部可接觸的引腳卻越來越少,使測試的難度越來越大,甚至芯片測試比芯片本身設計生產所付出的代價都要高;另一方面,表面貼器件以及BGA(ball grid array)等器件的使用使電路板的雙面均可安裝器件,增加了電路板的復雜性,使傳統(tǒng)的接觸式測試方法已經很難滿足對電路板及芯片進行測試的需求,IEEE1149.1邊界掃描測試標準為解決數字電路的測試困難提供了一種標準化的方法。[1-5]該技術是由JTAG(聯合測試行動組)提出的,因此其接口常被稱為JTAG接口,其總線稱為JTAG總線。邊界掃描技術的核心思想是在芯片管腳和芯片內部邏輯之間增加掃描單元,通過這些掃描單元來對引腳的狀態(tài)進行控制和觀察。僅使用五根JTAG總線(TMS,TCK,TRST*,TDI,TDO)而不必借助針床、示波器等其他設備就可以實現對支持IEEE1149.1標準的數字電路的測試。它以“虛擬探針”代替“物理探針”不僅能測試芯片的輸入/輸出管腳的狀態(tài),而且能夠測試斷路和短路故障。
一、系統(tǒng)整體硬件設計
完整的數字電路測試系統(tǒng)由計算機、測試控制部分和被測電路組成,如圖1所示。測試命令及測試數據等由計算機通過USB總線傳送給數字電路測試主控系統(tǒng),該主控系統(tǒng)根據接收到的測試命令控制被測電路進入相應的狀態(tài),將測試指令及測試數據傳送給被測電路,并控制被測電路將測試結果讀回計算機進行故障診斷,從而實現USB協議與JTAG協議的自動轉換。
其中數字電路測試主控系統(tǒng)主要由USB接口芯片和FPGA組成,芯片之間的信號連接關系見圖2所示。
二、FPGA設計
FPGA內設計了多個功能模塊,見圖3所示,這些功能模塊協調工作實現USB協議與JTAG協議的自動轉換。
1.USB接口控制模塊設計
USB接口控制模塊控制FPGA與FT245BM的通信。FT245BM的讀寫操作時序見圖4所示。[6] FT245BM內含兩個FIFO數據緩沖區(qū),當RXF#為低時表示可以從FT245BM 的FIFO讀數據,當RD#變低時數據被送到數據總線上;當RXF#為高時,禁止從FT245BM的FIFO讀數據。TXE#為低時,表示FT245BM的FIFO發(fā)送緩沖區(qū)為空,可以向緩沖區(qū)中寫數據,TXE#為高時表示當前FIFO發(fā)送緩沖區(qū)滿或者正在存儲前一個字節(jié),禁止向緩沖區(qū)中寫數據。
根據FT245BM的讀寫操作時序,設計了USB接口控制模塊,圖5為從USB總線接收數據的仿真波形。當FT245BM的rxfn為低時,令FT245BM的讀控制信號(usb_rdn)有效,當usb_rdn電平由高變低,可讀取FT245BM數據總線的數據。若當被測電路處于復位態(tài)(00H),表明發(fā)送的數據是命令,令命令寄存器寫控制信號有效(comfifo_wr=1),將命令存儲到命令寄存器。
2.命令、狀態(tài)寄存器及FIFO
命令寄存器的功能是接收由計算機通過USB總線傳送的命令,JTAG控制模塊根據命令來控制TMS及其他模塊的操作。
FIFO1用于暫存發(fā)向被測電路的測試指令和測試數據,FIFO2用于接收測試結果。并/串轉換用于將FIFO1中的八位并行數據轉換成串行數據,該串行數據作為被測電路的TDI輸入;串/并轉換模塊用于將從被測電路移入的串行測試結果轉換成并八位行數據,該并行數據暫存在FIFO2中。
狀態(tài)寄存器用于存儲FIFO及被測電路的狀態(tài),用戶通過讀該寄存器可了解FIFO和被測電路TAP控制器的狀態(tài)。
3.JTAG控制模塊的設計
數字電路測試主控系統(tǒng)的核心部分是JTAG控制模塊,其內部含有一個有限狀態(tài)機。據IEEE1149.1標準規(guī)定,[7]支持邊界掃描的被測芯片內部的TAP控制器是一受TMS信號和TCK信號控制的同步有限狀態(tài)機,見圖6所示,共有16個狀態(tài),由TMS的值決定被測電路TAP控制器進入相應的狀態(tài)。
根據狀態(tài)機設計的控制指令寄存器移位的仿真波形,見圖7所示。命令寄存器COMREG[7:0]接收到控制命令是復位(00H)命令時,令TMS信號保持為高電平,隨后接收到測試/空閑(01H)命令,將TMS端變?yōu)榈碗娖?,當接收到移位指令?BH)命令時,TMS經1-1-0-0,使被測電路TAP控制器經由選擇數據寄存掃描態(tài)(02H)、選擇指令寄存掃描態(tài)(09H)、捕獲指令寄存狀態(tài)(0AH)后,進入控制指令寄存器移位態(tài)(0BH)。
三、實驗驗證
由計算機、邊界掃描主控器及被測電路組建了一個邊界掃描測試實驗系統(tǒng)進行實驗驗證。實驗中所用被測電路示意圖如圖8所示,被測電路上的芯片1與芯片2均為ALTERA公司的支持邊界掃描結構的EPM7128SLC84,對被測電路進行了測試。讀器件標志:所讀出的器件標志均為071280dd,與7128SL84.BSD文件中給出的相同;互連測試:對設置的4個連接點均能正確判斷其互連關系;旁路測試能正確執(zhí)行旁路指令。實驗結果驗證了設計的正確。
四、結論
以FPGA為控制核心設計了數字電路測試主控系統(tǒng),可實現對四路JTAG總線的控制,具有精簡的控制命令集;FIFO的引入提高了邊界掃描測試的效率,且系統(tǒng)硬件結構簡單、體積小。使用該系統(tǒng)可方便地利用計算機對支持邊界掃描的被測芯片的引腳進行控制和監(jiān)測,實現對被測數字電路的測試。
參考文獻:
[1]葛青,陳光.PCI- 1149.1邊界掃描主控器的設計[J].電子測量與儀器學報,2006,(4).
[2]汪選勝,陳真.基于FT2232H 的邊界掃描測試控制器的研究與設計[J].信息技術,2013,(1).
[3]陳亮,胡善偉.邊界掃描技術及其應用[J].航空計算,2009,(1).
[4]陳光礻禹,潘中良.可測性設計技術[M].北京:電子工業(yè)出版社,
1997.
[5]齊少華,劉震.邊基于FPGA 的數據域邊界掃描測試向量發(fā)生器的設計與實現[J].電子技術應用,2011,(9).
[6]FT245BM USB FIFO IC Data Sheet[EB/OL].http://www.ftdichip.com/Support/Documents/DataSheets.htm,2005.
[7]IEEE standard test access port and boundary-scan architecture[EB/OL].
http://standards.ieee.org/findstds/standard/1149.1-2001.html,2001.
[8]王金明.數字系統(tǒng)設計與Verilog HDL[M].北京:電子工業(yè)出版社,2011.
(責任編輯:王祝萍)