專利名稱:基于fpga實(shí)現(xiàn)的jtag測試方法
基于FPGA實(shí)現(xiàn)的JTAG測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,特別涉及一種基于FPGA實(shí)現(xiàn)的JTAG測試方法。背景技術(shù):
為了解決超大規(guī)模集成電路的測試問題,由聯(lián)合測試行動組(JTAG)提出了邊界 掃描技術(shù),它通過存在于器件輸入輸出管腳與內(nèi)核電路之間的邊界掃描單元對器件及其外 圍電路進(jìn)行測試,從而提高了器件的可控性和可觀察性,解決了現(xiàn)代電子技術(shù)發(fā)展帶來的 上述測試問題,可以較方便地完成由現(xiàn)代器件組裝的電路板的測試。通常這種測試被稱為 JTAG鏈路測試?;贘TAG標(biāo)準(zhǔn)IEEE1149設(shè)計(jì)電路板測試的方案已經(jīng)比較多,其優(yōu)點(diǎn)是可以進(jìn)行 在線測試。通過軟件即可檢測到PCB板的部分器件的焊接缺陷。目前現(xiàn)有的方案中,基本 上都是用JTAG的通用接口 TCK、TMS、TDI、TDO、nTRST幾個(gè)腳完成測試?,F(xiàn)有的技術(shù)中,通常的做法是只利用JTAG的接口10(、11^、101300、1^1 11完成測 試,即只能對含有JTAG測試鏈的芯片進(jìn)行測試,測試儀器通過操作TCK、TMS、TDI、nTRST時(shí) 序來控制待測器件進(jìn)入測試狀態(tài),并根據(jù)TDO獲得的數(shù)據(jù)來判斷當(dāng)前的JTAG鏈工作情況, 從而判斷芯片的焊接是否完善。但這種測試方法有如下缺點(diǎn)1、僅能測試出呆滯0或者呆滯1的具體引腳,但是無法判定呆滯出現(xiàn)在什么位置, 比如,出現(xiàn)在與其他的芯片的連接線上,還是出現(xiàn)在BGA下的球狀焊接點(diǎn),該技術(shù)很難確定。2、無法判定開路,由于開路時(shí)候,JTAG鏈自身的數(shù)據(jù)不被引腳信號影響,因此判斷 不了開路。3、僅僅能測試芯片自己的焊接點(diǎn),因?yàn)镴TAG鏈的特點(diǎn)是其內(nèi)嵌在芯片內(nèi)部,而與 其相連的其他器件是否存在焊接問題則測試不到。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題在于提供一種基于FPGA實(shí)現(xiàn)的JTAG測試方法,該方 法可以準(zhǔn)確判斷BGA芯片的焊接缺陷以及周圍電路的焊接情況。本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問題
基于FPGA實(shí)現(xiàn)的JTAG測試方法,包括如下步驟步驟一通過PC或者微處理器配置FPGA的采樣接口電路的IO 口輸入輸出方向, 來確定各個(gè)探針是輸入還是輸出,并配置需要屏蔽的或者需要忽略的測試點(diǎn)的相關(guān)數(shù)據(jù);步驟二 通過PC或者微處理器向FPGA內(nèi)部的系統(tǒng)控制狀態(tài)機(jī)發(fā)送測試指令,F(xiàn)PGA 的系統(tǒng)控制狀態(tài)機(jī)經(jīng)過對指令的接收,分析處理后,再進(jìn)行執(zhí)行;步驟三在系統(tǒng)控制狀態(tài)機(jī)的控制下,JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù);步驟四在JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù)的同時(shí),系統(tǒng)控制狀態(tài)機(jī)將TDO接收到
3的數(shù)據(jù)和采樣接口電路接收的數(shù)據(jù)存儲到寄存器陣列和數(shù)據(jù)存儲區(qū)中;步驟五系統(tǒng)控制狀態(tài)機(jī)在完成測試后,向PC機(jī)或微處理器發(fā)送測試結(jié)束狀態(tài);步驟六由PC或者微處理器發(fā)起讀取測試數(shù)據(jù)指令,F(xiàn)PGA的系統(tǒng)控制狀態(tài)機(jī)將存 儲的數(shù)據(jù)通過異步串口電路的串口發(fā)送給PC或微處理器,從而完成測試;步驟七PC或者微處理器根據(jù)接收到的測試數(shù)據(jù)進(jìn)行逐個(gè)分析,分別對短路、開 路、呆滯0、呆滯1進(jìn)行分析,最終形成測試報(bào)告。本發(fā)明的優(yōu)點(diǎn)在于1、靈活性好,可以根據(jù)待測的不同電路板,修改測試參數(shù),即 可進(jìn)行多種板繼續(xù)測試,由于FPGA的IO 口的雙向可配置性質(zhì),可以靈活配置各個(gè)測試點(diǎn)是 輸入還是輸出,并且可以為輸出測試點(diǎn)配置高低電平。2、準(zhǔn)確性好,可以準(zhǔn)確的測試各個(gè)焊 接點(diǎn)的狀態(tài)。并且能夠精確的定位短路、開路、呆滯1和呆滯0的位置。通過FPGA豐富的 IO 口資源進(jìn)行多點(diǎn)數(shù)據(jù)采集,結(jié)合JTAG的TDO數(shù)據(jù),可以準(zhǔn)確的對故障定位。3、可針對性 測試,可以根據(jù)檢查到的情況進(jìn)行有針對性的測試。比如專門測試某條連線的狀態(tài)。由于 本方法是通過下傳指令方式進(jìn)行測試控制,因此可以對測試中需要重點(diǎn)測試的路徑進(jìn)行反 復(fù)測試。4、擴(kuò)展性好,可以通過在FPGA集成USB接口,替代UART接口,實(shí)現(xiàn)更高速的數(shù)據(jù) 傳輸和分析。還可以采用大量IO 口的FPGA實(shí)現(xiàn)這個(gè)設(shè)計(jì),從而可以用于多種復(fù)雜電路測 試。5、具備FPGA自身的一切優(yōu)點(diǎn)。如節(jié)約成本、便于采購、存儲、質(zhì)檢以及維護(hù),便于升級。
下面參照附圖結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步的描述。圖1是本發(fā)明JTAG測試系統(tǒng)的接口示意圖。
具體實(shí)施方式請參閱圖1所示,是本發(fā)明JTAG測試系統(tǒng)的接口示意圖。圖1中,F(xiàn)PGA通過JTAG 接口以及探針與待測電路板鏈接,在通過JTAG接口進(jìn)行測試的同時(shí),利用FPGA接出來的探 針與待測電路板監(jiān)測點(diǎn)連接,以讀取測試中各個(gè)點(diǎn)的數(shù)據(jù)變化。然后最后由FPGA通過異步 串口發(fā)送給嵌入式處理器或者PC進(jìn)行數(shù)據(jù)分析和判定。其中硬件部分用VHDL語言編寫整 個(gè)設(shè)計(jì)。在LATTICE公司的FPGAEPC1E1-3T144上實(shí)現(xiàn)。PC端軟件部分則由C++軟件開發(fā)。圖1中,基于FPGA實(shí)現(xiàn)的系統(tǒng)控制狀態(tài)機(jī),實(shí)現(xiàn)對PC機(jī)(或者微處理器)指令 的分析和執(zhí)行,這些指令包括配置工作模式類的指令、測試類的指令、讀取測試數(shù)據(jù)類的指 令。由FPGA實(shí)現(xiàn)的JTAG接口狀態(tài)機(jī),實(shí)現(xiàn)TCK、TDI、TMS的各信號時(shí)序,并采集TDO的 狀態(tài)。由FPGA實(shí)現(xiàn)的異步串口電路,串口負(fù)責(zé)將測試獲得的最終數(shù)據(jù)上傳給PC機(jī)或者 微處理器,并接受PC機(jī)或者微處理器下傳的控制指令。采樣接口電路,對電路板上的測試點(diǎn)進(jìn)行數(shù)據(jù)采集。寄存器陣列和數(shù)據(jù)存儲區(qū),用保存各類指令的設(shè)置和FPGA接收的各種數(shù)據(jù)。本發(fā)明基于FPGA實(shí)現(xiàn)的JTAG測試方法,具體包括如下步驟步驟一通過PC或者微處理器配置FPGA的采樣接口電路的IO 口輸入輸出方向, 來確定各個(gè)探針是輸入還是輸出,并配置需要屏蔽的或者需要忽略的測試點(diǎn)的相關(guān)數(shù)據(jù);
步驟二 通過PC或者微處理器向FPGA內(nèi)部的系統(tǒng)控制狀態(tài)機(jī)發(fā)送測試指令,F(xiàn)PGA 的系統(tǒng)控制狀態(tài)機(jī)經(jīng)過對指令的接收,分析處理后,再進(jìn)行執(zhí)行;步驟三在系統(tǒng)控制狀態(tài)機(jī)的控制下,JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù),并可以根 據(jù)指令和測試向量進(jìn)行多次JTAG測試;步驟四在JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù)的同時(shí),系統(tǒng)控制狀態(tài)機(jī)將TDO接收到 的數(shù)據(jù)和采樣接口電路接收的數(shù)據(jù)存儲到寄存器陣列和數(shù)據(jù)存儲區(qū)中;步驟五系統(tǒng)控制狀態(tài)機(jī)在完成測試后,向PC機(jī)或微處理器發(fā)送測試結(jié)束狀態(tài);步驟六由PC或者微處理器發(fā)起讀取測試數(shù)據(jù)指令,F(xiàn)PGA的系統(tǒng)控制狀態(tài)機(jī)將存 儲的數(shù)據(jù)通過異步串口電路的串口發(fā)送給PC或微處理器,從而完成測試;步驟七PC或者微處理器根據(jù)接收到的測試數(shù)據(jù)進(jìn)行逐個(gè)分析,分別對短路、開 路、呆滯0、呆滯1進(jìn)行分析,最終形成測試報(bào)告。在具體實(shí)踐中,可以根據(jù)以上測試步驟,對需要重點(diǎn)測試的待測點(diǎn)進(jìn)行重復(fù)測試。本發(fā)明采用JTAG測試和FPAG的IO接口應(yīng)用為探針,結(jié)合兩種測試數(shù)據(jù),進(jìn)行最 終判定。本發(fā)明的有益效果在于1、靈活性好,可以根據(jù)待測的不同電路板,修改測試參 數(shù),即可進(jìn)行多種板繼續(xù)測試,由于FPGA的IO 口的雙向可配置性質(zhì),可以靈活配置各個(gè)測 試點(diǎn)是輸入還是輸出,并且可以為輸出測試點(diǎn)配置高低電平。2、準(zhǔn)確性好,可以準(zhǔn)確的測試 各個(gè)焊接點(diǎn)的狀態(tài)。并且能夠精確的定位短路、開路、呆滯1和呆滯0的位置。通過FPGA 豐富的IO 口資源進(jìn)行多點(diǎn)數(shù)據(jù)采集,結(jié)合JTAG的TDO數(shù)據(jù),可以準(zhǔn)確的對故障定位。3、可 針對性測試,可以根據(jù)檢查到的情況進(jìn)行有針對性的測試。比如專門測試某條連線的狀態(tài)。 由于本方法是通過下傳指令方式進(jìn)行測試控制,因此可以對測試中需要重點(diǎn)測試的路徑進(jìn) 行反復(fù)測試。4、擴(kuò)展性好,可以通過在FPGA集成USB接口,替代UART接口,實(shí)現(xiàn)更高速的 數(shù)據(jù)傳輸和分析。還可以采用大量IO 口的FPGA實(shí)現(xiàn)這個(gè)設(shè)計(jì),從而可以用于多種復(fù)雜電 路測試。5、具備FPGA自身的一切優(yōu)點(diǎn)。如節(jié)約成本、便于采購、存儲、質(zhì)檢以及維護(hù),便于 升級。
權(quán)利要求
基于FPGA實(shí)現(xiàn)的JTAG測試方法,其特征在于包括如下步驟步驟一通過PC或者微處理器配置FPGA的采樣接口電路的IO口輸入輸出方向,來確定各個(gè)探針是輸入還是輸出,并配置需要屏蔽的或者需要忽略的測試點(diǎn)的相關(guān)數(shù)據(jù);步驟二通過PC或者微處理器向FPGA內(nèi)部的系統(tǒng)控制狀態(tài)機(jī)發(fā)送測試指令,F(xiàn)PGA的系統(tǒng)控制狀態(tài)機(jī)經(jīng)過對指令的接收,分析處理后,再進(jìn)行執(zhí)行;步驟三在系統(tǒng)控制狀態(tài)機(jī)的控制下,JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù);步驟四在JTAG接口狀態(tài)機(jī)發(fā)送JTAG數(shù)據(jù)的同時(shí),系統(tǒng)控制狀態(tài)機(jī)將TDO接收到的數(shù)據(jù)和采樣接口電路接收的數(shù)據(jù)存儲到寄存器陣列和數(shù)據(jù)存儲區(qū)中;步驟五系統(tǒng)控制狀態(tài)機(jī)在完成測試后,向PC機(jī)或微處理器發(fā)送測試結(jié)束狀態(tài);步驟六由PC或者微處理器發(fā)起讀取測試數(shù)據(jù)指令,F(xiàn)PGA的系統(tǒng)控制狀態(tài)機(jī)將存儲的數(shù)據(jù)通過異步串口電路的串口發(fā)送給PC或微處理器,從而完成測試;步驟七PC或者微處理器根據(jù)接收到的測試數(shù)據(jù)進(jìn)行逐個(gè)分析,分別對短路、開路、呆滯0、呆滯1進(jìn)行分析,最終形成測試報(bào)告。
全文摘要
基于FPGA實(shí)現(xiàn)的JTAG測試方法,F(xiàn)PGA通過JTAG接口以及探針與待測電路板連接,在通過JTAG接口進(jìn)行測試的同時(shí),利用FPGA接出來的探針與待測電路板監(jiān)測點(diǎn)連接,以讀取測試中各個(gè)點(diǎn)的數(shù)據(jù)變化。然后最后由FPGA通過異步串口電路發(fā)送給PC或者微處理器進(jìn)行數(shù)據(jù)分析和判定。本發(fā)明可以準(zhǔn)確判斷BGA芯片的焊接缺陷以及周圍電路的焊接情況。
文檔編號G05B19/05GK101980036SQ201010516760
公開日2011年2月23日 申請日期2010年10月22日 優(yōu)先權(quán)日2010年10月22日
發(fā)明者劉文慶 申請人:福建鑫諾通訊技術(shù)有限公司