柳 穎 馬溧梅 張 靜
(海軍七〇二廠 上海 200434)
隨著納米數(shù)量級制造工藝的使用和大規(guī)模集成電路的發(fā)展,集成電路的集成速度快速增加,同時其封裝管殼尺寸變得越來越小,F(xiàn)PGA、DSP器件以及BGA封裝器件在最新產(chǎn)品中得到了大量的應用[1]。這些改變?yōu)殡娐吩O(shè)計帶來了很大的便利,如其功耗的降低、面積的減小等;同時,它也帶來了一些困擾。例如,由于功能模塊或芯片內(nèi)部節(jié)點變得無法探測,使得電路調(diào)試工作存在一定的困難,因為測試過程中無法使用測試探筆,導致大量故障變得很難測試,甚至根本沒有物理測試點。由于芯片或器件封裝的減小,管腳密度增大,從而大幅度提高了單位PCB電路板上的器件密度,增加了互聯(lián)測試的難度,降低了芯片互聯(lián)的可靠性[1]。這類芯片的測試與診斷問題對傳統(tǒng)的診斷方法提出了更高的要求,由于傳統(tǒng)測試技術(shù)面臨的測試困難的增多,需要一種新的測試理念和測試技術(shù)來解決傳統(tǒng)測試方法所無法解決的問題。邊界掃描技術(shù)應運而生[8]。邊界掃描技術(shù)作為一種國際標準,提供了一套完整的、標準化的超大規(guī)模集成電路測試性設(shè)計方法,能克服測試復雜數(shù)字電路的技術(shù)障礙,利用它可以實現(xiàn)芯片級、板極和系統(tǒng)級的測試?;谶吔鐠呙铚y試技術(shù)的故障診斷突破了傳統(tǒng)的管腳接觸式檢測理論和手段,可以解決其他技術(shù)無法完成的超大規(guī)模集成電路的測試問題,可以解決新型電子裝備中含可編程超大規(guī)模集成電路器件(CPLD及FPGA)、微處理器和數(shù)字信號處理器(DSP)等器件的電路板的板級測試和系統(tǒng)級測試問題,己日益成為可測試性設(shè)計中應用最為廣泛的技術(shù)之一,并己經(jīng)形成了一系列的國際標準[7]。
本文介紹了邊界掃描技術(shù)的原理、優(yōu)點。通過提出某導航雷達控制電路板的測試與診斷問題,運用邊界掃描技術(shù),給出了該電路板的測試與診斷解決方法??梢詫⒐收涎杆俣ㄎ坏叫酒墓苣_以及芯片管腳之間的連線上,提高了測試的可靠性和測試效率。
邊界掃描測試技術(shù)是聯(lián)合測試行動組(JTAG)于1987年提出一種新型的電路板可測性設(shè)計方法。1988年,IEEE和JTAG組織達成協(xié)議,共同開發(fā)邊界掃描測試架構(gòu),并于1990年形成了IEEE 1149.1標準,也稱為JTAG標準[6]。到目前為止,邊界掃描技術(shù)已經(jīng)成為一種比較成熟的技術(shù),現(xiàn)已為全世界絕大部分的IC設(shè)計制造商所采用。它為芯片的邏輯和封裝提供了一種方便簡捷的快速測試接口,從而替代了傳統(tǒng)的利用探針測試芯片的方法。這種測試過程不僅體現(xiàn)在芯片制造生產(chǎn)期,還可以用來改進電路錯誤檢查和隔離的能力。JTAG端口在幾乎所有使用高性能數(shù)字器件的印刷電路板中都會出現(xiàn),這就為采用基于邊界掃描技術(shù)來測試PCB提供了基本條件。
圖1 邊界掃描結(jié)構(gòu)圖
邊界掃描測試機制是通過邊界掃描測試總線和設(shè)計在器件內(nèi)的邊界掃描結(jié)構(gòu)(如圖1所示)實現(xiàn)的。邊界掃描測試總線主要完成測試向量輸入,測試響應向量輸出和測試控制功能,由4根(5根)測試總線構(gòu)成[6]。器件內(nèi)邊界掃描結(jié)構(gòu)主要由TAP測試存取口(又稱JTAG口)、TAP控制器和若干寄存器組成。TAP控制器接收來自邊界掃描測試總線的命令并且控制邊界掃描單元的行為,從而實現(xiàn)對器件管腳狀態(tài)的設(shè)定、讀取和隔離定位。TAP總共包括5個信號接口:測試時鐘輸入信號(TCK)、測試模式選擇信號(TMS)、測試數(shù)據(jù)輸入信號(TDI)、測試數(shù)據(jù)輸出信號(TDO)、測試復位信號(TRST)。TRST是一個可選的測試線,當邏輯“0”施加于TRST端口時,TAP的測試邏輯異步強制進入復位方式。
基于邊界掃描(JTAG)的PCB測試能以非傳統(tǒng)的方式獲得PCB電氣連接性的信息,它具有如下優(yōu)點[1]:
1)方便芯片的故障定位,迅速、準確地測試兩個芯片管腳的連接是否可靠,提高測試、檢驗效率;
2)采用無物理接觸的“虛”導通訪問,無需外加硬件電路,測試起來簡潔快速,且準確安全[10];
3)對掛在JTAG接口的芯片上的存儲器(SRAM、DPRAM、SDRAM、FIFO、FLASH 等)、模擬芯片以及功能電路進行測試;
4)對具有JTAG口的現(xiàn)場可編程器件實現(xiàn)在線編程功能[9]。
本文介紹的某導航雷達中的控制電路主要由27片可編程器件EPM7128SLC100和1片微處理器芯片AMDX5-133及大量的外圍電路包括RAM,ROM,F(xiàn)ALSH 組成。圖2為電路的原理框圖。該控制電路板在器件上使用了集成度較高的器件,芯片封裝采用了QFP100、PLCC52等多種表貼器件,器件引腳中心距離小,采用探筆測試會增加測試的風險,破壞電路的工藝;并且電路上的處理器芯片不能從電路板上拔下,所以采用邊界掃描技術(shù)是最佳的選擇[3]。
圖2 電路原理框圖
對該控制板的測試使用了北京博基興業(yè)科技公司的ITEST-ATE電路板測試系統(tǒng)。根據(jù)被測控制板的電路特點,設(shè)計制作了專用的轉(zhuǎn)接電路板,轉(zhuǎn)接板用于實現(xiàn)測試系統(tǒng)與被測板件的連接,完成測試鏈路的控制以及與被測電路板上的邊掃器件組成測試鏈路的功能。圖3是測試與診斷系統(tǒng)整體框圖。
圖3 測試與診斷系統(tǒng)整體框圖
3.2.1 鏈路設(shè)計
該導航雷達控制電路板上有28片邊界掃描器件,27片EPM7128SLC100,1片微控制器芯片 AMD-X5-133SDZ。針對這種復雜的板子,在測試過程中分為6條鏈路,前5條鏈路中每條鏈路包括5片EPM7128SLC100LC100,第6條鏈 路 包 括 2 片 EPM7128SLC100LC100,1 片 AMD-X5-133SDZ,這樣在測試過程中可以提高測試信號的穩(wěn)定性和測試結(jié)果的可靠性。
3.2.2 RAM的測試
該導航雷達控制電路板主要有AS7C256、AS7C1024、DS1644、IBM025170這四種RAM。這些RAM一部分是掛在 EPM7128SLC100和 AMD-X5-133SDZ上面,一部分是跟D205接插件相連接的。對于掛在EPM7128SLC100上面的RAM,如圖2的D2201,通過控制EPM7128SLC100上與RAM相連接的引腳,可以控制RAM的讀寫,把寫入的數(shù)據(jù)跟讀出的數(shù)據(jù)做比較可以檢測出片子的好壞,以及引腳的焊接是否存在問題。對于連接在接插件上面的RAM比如D1203可以做一個接口板,讓接口上面的所有引腳都連接到邊界掃描引腳上面,這樣所有的引腳都可以控制讀寫,同樣可以檢測出這些芯片的質(zhì)量問題。
3.2.3 FIFO的測試
電路板上面的FIFO主要包括CY7C425、CY7C460,這些片子主要掛在EPM7128SLC100上面做數(shù)據(jù)緩沖用,因此測試這類片子比較容易,跟RAM的測試類似,通過寫腳本控制EPM7128SLC100與FIFO相連接的引腳,控制FIFO讀寫數(shù)據(jù),檢測出其質(zhì)量的好壞。
3.2.4 ROM的測試
被測電路板上的ROM主要包括M27C2001,M27C202,這些ROM主要為其他芯片提供地址線。比如D2404CY7C2001可以為RAM D1504AS7C256提供8位數(shù)據(jù)線,在測試中可以將D1504,D2404放到一起測試,通過EPM7128SLC100往D2404地址線送入數(shù)據(jù),再通過EPM7128SLC100從D1504的IO端口讀出數(shù)據(jù),從而同時檢測這兩個ROM芯片。
3.2.5 FLASH測試
FALSH部分主要由四顆AM29F040組成,地址線一部分由M27C2001芯片提供,一部分由D205提供,數(shù)據(jù)線是與微控制器芯片AMD-X5-133SDZ連接。FLASH芯片可以通過測試軟件自帶的FALSH檢測功能編程,通過循環(huán)讀寫數(shù)據(jù),準確檢測出芯片的好壞,該測試軟件同時支持FLASH芯片的在線燒錄。
3.2.6 AD部分測試
AD部分的測試,只能整體測試其模塊功能的好壞,不容易定位到具體的引腳。D1901輸出的數(shù)字信號控制FIFO的地址信號線,F(xiàn)IFO的數(shù)據(jù)信號線輸出到EPM7128SLC100上面,主要通過對FIFO寫入數(shù)據(jù),再讀出數(shù)據(jù)做比較,判斷AD部分和FIFO好壞。
3.2.7 其他器件
對于控制電路板上面的74ACT245S,74LVTH16245ADL等74系列芯片,在測試RAM,F(xiàn)IFO等的過程中進行完整的測試,如有數(shù)據(jù)通過鏈路,則判定此類器件正常。
測試軟件的開發(fā)工具為美國ASSET公司的Scan-Works開發(fā)平臺。針對該控制電路板,測試軟件的開發(fā)流程有以下幾個步驟:
1)在ScanWorks開發(fā)環(huán)境中創(chuàng)建PCB系統(tǒng)板的工程,導入電路設(shè)計的網(wǎng)表文件。其中電路包括測試站的主板電路、轉(zhuǎn)接板電路以及被測的控制電路板電路。網(wǎng)表形式為allego網(wǎng)表。以上三個網(wǎng)表分別導入。
2)選擇創(chuàng)建掃描鏈的方式,一般選擇手動建立。屬于邊界掃描的器件需要選擇BSDL文件,添加到掃描鏈路中去,非邊掃器件統(tǒng)稱為“Cluster”器件。添加時沒有先后順序,添加完成后單擊Build實現(xiàn)編譯。BSDL編譯沒有問題后會生成后綴名為hgl的鏈路文件,該文件不僅包含了掃描鏈的信息還有掃描鏈上器件的信息。
3)一個工程中可以允許建立最多不超過七條的掃描鏈路,因此還需建立一個工程鏈路。本次測試過程使用了JTS10U橋片,使用該橋片擴展了六條掃描鏈路。在建立掃描鏈之前先找到這個芯片的編譯文件,該文件的后綴名為adb。
4)橋片添加完成后,把電路板測試系統(tǒng),轉(zhuǎn)接板,還有被測板上面的邊界掃描器件按照TDI、TDO的順序添加到相應的鏈上。所有的器件都添加完成后,點make進行編譯,編譯沒有問題就表明鏈路添加已完成。
5)設(shè)定相應規(guī)則后,分析網(wǎng)表,運行測試程序檢查故障覆蓋率。在本次開發(fā)過程中,故障覆蓋率≥85%,故障檢測率為93%。
邊界掃描技術(shù)的出現(xiàn)是可測試性設(shè)計和測試思想的一次飛躍,它提供了一種完整的、標準化的電路板可測試性設(shè)計和測試方法[2]。采用邊界掃描測試技術(shù)實現(xiàn)某導航雷達控制電路板的互連性、簇測試以及器件功能的測試,達到故障定位的目的。通過在測試轉(zhuǎn)接板上放置具有邊界掃描功能的芯片與被測板上的控制芯片構(gòu)成測試簇,提高了電路測試的故障覆蓋率。該測試診斷方法的研究及運用同樣適用于其他高集成度、高性能的復雜電路板件的維修測試與故障診斷,具有非常重要的實用價值。
[1]王石安,吳曉曄,徐鵬程.基于邊界掃描的BIST技術(shù)[C]//第二十屆全國測試與故障診斷技術(shù)研討會論文集,2011,8:184-189.
[2]張學鋒,王彤威,王國龍.邊界掃描技術(shù)在微處理器電路板測試與診斷的研究[J].計算機測量與控制,2010,18(6):1250-1252.
[3]劉軍.基于邊界掃描技術(shù)的PCB測試[J].中國科技信息,2010,16:130-132.
[4]陳巖申,王新洲,張波.基于FPGA的電路板自動測試技術(shù)研究[J].計算機測量與控制,2010,18(7):1500-1502.
[5]李修杰.基于FPGA的邊界掃描測試系統(tǒng)的研究[J].航空電子技術(shù),2010(4):28-30.
[6]IEEE std 1149.1-2001[8].New York:The institute of Electrical and Electronics Engineers,Inc.,2001.
[7]陳亮,胡善偉,張重雄.邊界掃描技術(shù)及應用[J].航空計算技術(shù),2009(1):128-130.
[8]崔偉,馮長江,丁國寶.基于單片機的邊界掃描實驗系統(tǒng)的改進設(shè)計與實現(xiàn)[J].計算機測量與控制,2009,17(8):1477-1478.
[9]張學斌.基于JTAG的互連測試技術(shù)[J].電子產(chǎn)品,2004(5):5-6.
[10]吳明強,趙文彥,杜影.基于VXI總線的多功能邊界掃描控制器的研制[J].計算機測量與控制,2006,12(8):856-858.