王鳳馳,陳常青,李正東
(中國電子科技集團公司第三十八研究所,安徽合肥230088)
雷達信號帶寬、接收通道數量及工作模式種類等的不斷增長,對雷達信號處理機的實時處理能力、運算密集度、高速數據傳輸等性能提出更高的要求,高性能DSP處理器已經成為雷達中的一個重要部件。目前,國內雷達裝備的信號處理機都采用國外DSP處理器,如ADI的TS20x系列、TI的TMS320Cx系列等,由中國電子科技集團公司第三十八研究所研制的BWDSP100芯片填補了這一空白,在國防安全和戰略上具有重大的意義[1]。
BWDSP100芯片是一款性能優越的高端DSP處理器,適合于雷達信號處理、電子對抗、精確制導武器、通信保障等領域。而以BWDSP100芯片為基礎的某雷達信號處理機更是已在雷達信號處理上推廣應用[2]。該信號處理機采用了CPCI 6U板卡標準,由4片BWDSP100處理器構成核心運算單元,每個處理器外接一組DDR2 SDRAM存儲器,容量為1 GB。4片BWDSP100處理器之間通過Link鏈路口和并行接口共享外部FLASH存儲器資源。在對外接口方面,處理機采用兩片Altera公司的大規模FPGA器件構成符合CPCI總線標準要求的各種通用接口,可支持PCI總線、LVDS以及高速光纖總線等。
BWDSP100芯片的邊界掃描系統基于JTAG標準協議(IEEE-1149.1-2001)來實現[3],除了TCK、TMS、TDI、TDO、TRST_n 這些標準的JTAG信號外,還增加了TCK_RET、TAP_SEL和BOOT_SW等輔助信號,用于更好地實現DSP芯片的在線調試功能。其中,TCK_RET(Test Clock Return)是TDO信號的隨路時鐘,為在線調試時使用,當邊界掃描測試時,可以不用理會。而TAP_SEL和BOOT_SW兩個信號則共同定義了BWDSP100芯片的工作模式,其具體設置如表1所示。

表1 BWDSP100芯片的工作模式設置表
BWDSP100芯片在邊界掃描模式下,支持EXTEST、BYPASS、SAMPLE、PRELOAD、HIGHZ和CLAMP六種指令,指令長度為4 bit,掃描鏈的長度為369。同時,BWDSP100芯片有大量的差分對設計,在邊界掃描測試時可以充分加以利用[4]。例如:

另外,BWDSP100芯片的邊掃單元設計采用了較多的BC_7和BC_4單元,其中BC_7單元是一個支持雙向系統引腳的數據單元,它能夠提供數據給輸出驅動的同時,還能實時監控輸出的引腳。這是一個很重要的特性,因為它可以發現輸出引腳短路的情況。BC_4單元是一個簡單的,既沒有“更新”寄存器又沒有多路選擇器的電路結構,它的特點是減少了可能出現的系統信號的傳輸延遲。BC_4單元不支持INTEST指令,因此除了時鐘信號的輸入引腳外,BC_4單元不能用在其他輸入引腳上。BWDSP100芯片因為采用了較多的BC_4單元,所以也不支持INTEST指令。
該雷達信號處理機由于使用的BWDSP100芯片、FPGA芯片以及4片DDR2芯片均是BGA封裝,且板卡設計集成度很高,采用邊界掃描測試是較為合適的方法,參見圖1。通過比較,我們選擇了ASSET公司的Scanworks工具作為邊界掃描的開發工具。ASSET公司是一家專業從事邊界掃描技術開發與研究的公司,它參與了IEEE1149.1、IEEE1149.4、1532、1149.6 等有關JTAG標準的制定。其開發的邊界掃描工具Scanworks在銷售市場的占有率第一,并且與摩托羅拉、諾基亞、思科、Aglient等知名公司有著長期良好的深度合作關系,如Aglient研制的i3070,采用針床測試同時嵌入Scanworks作為邊界掃描的工具。Scanworks軟件在國內是有多家用戶,其中不乏知名度很高的企業,如華為、14所、41所、北京航天測控公司等。

圖1 某雷達信號處理機架構圖
使用Scanworks工具對文中敘述的雷達信號處理機進行邊界掃描測試開發時,需要結合其電路的互聯結構進行TPS(Test Project Set)設計,該雷達信號處理機的2片FPGA和4片BWDSP100芯片都植入了邊界掃描鏈結構,在設計時除了對這六個芯片進行互聯測試外,還要以它們產生測試激勵,對外圍的DDR2芯片和FLASH芯片進行測試。其設計完成后的測試列表截圖見圖2。

圖2 某雷達信號處理機在Scanworks工具中的測試列表
由于邊界掃描測試速率目前最高只有40 MHz,很難匹配信號處理機數百兆的工作頻率,因此只能用于檢測板卡的硬件焊接連接性,對于高速信號中的隔直電容電路,只能通過功能測試的方法。這部分高速電路涉及的信號網絡在該雷達信號處理機的信號網絡中只占很少的一部分。通過網絡分析,該雷達信號處理機共有網絡593個,邊界掃描測試未能覆蓋的僅30個,占比5.1%,如圖3所示。

圖3 信號網絡故障覆蓋分析
邊界掃描測試可以通過邊界掃描單元的互聯進行短路、開路的測試,簡稱為“互聯測試”,也可以通過訪問存儲器,對存儲器的地址、數據總線以及內部存儲單元進行測試,簡稱為“存儲器測試”。在互聯測試時,需要對不相關的器件進行屏蔽,消除功能性的影響,這個時候就需要設計各種器件的模型,根據器件的要求給相關管腳施加“0”或“1”信號,從而起到屏蔽的效果,例如針對該雷達信號處理機的DDR2存儲器(型號為MT47H128M16)設計模型如下:

在測試算法上可以有很多選擇,例如全“0”、全“1”,走步“0”和走步“1”等,全“0”、全“1”算法在測試準確性上明顯不足,而走步“0”和走步“1”算法是指“0”或“1”信號在所有測試節點上逐個移位。該算法能有效排除短路、開路故障,準確度很高,但是在節點數量巨大、信號復雜的電路板上,走步算法顯然效率不高。相比之下,瓦格納算法則是一個較好的選擇,瓦格納算法優化了測試向量的種類,在保證覆蓋率達到99%以上的情況下,所需測試向量僅為log2(2?n+1)個,其中n為信號網絡的數量。例如1 000個信號網絡只需要11個測試向量,5 000個信號網絡只需要14個測試向量,大幅度提高了測試效率。
互聯測試已經能夠解決大部分的硬件故障,除了互聯測試之外,還進行了專門的存儲器測試,以提高故障覆蓋率。存儲器測試也需要設計相應的測試模型,仍以DDR2存儲器(MT47 H128M16)為例,設計模型如下:

除了存儲器之外,FLASH也是一種專門的測試,但不同的是FLASH只需要提供協議,如讀寫地址、讀寫序列、ID號、單元大小等信息,邊界掃描測試可以對FLASH進行擦除、寫入、加密、比較等一系列操作,如圖4所示。
另外,還有自定義測試,即通過腳本語言,人為地定義測試方式。這種方法針對LED、數碼管等簡單功能測試非常有效。常用的腳本語言如TCL語言,是一種使用便捷的不需要編譯的執行語言,只需要根據語句逐條的執行即可。

圖4 FLASH操作
經過邊界掃描測試的TPS設計,該雷達信號處理機在互聯測試中短路故障覆蓋率高達95%以上,經過試用也的確能夠在調試過程中發揮重要的作用,例如常見的小電阻虛焊、細間距芯片管腳粘連等肉眼難以發現的故障,基本都能通過邊掃測試予以排除。這在一定程度上不僅挽救了這些動輒數十萬的昂貴的雷達信號處理機,也進一步排除了故障隱患,提升了產品可靠性。其故障覆蓋率如下:

由于BWDSP100芯片被越來越廣泛地使用,其良好的可測試性設計,使測試工程師在TPS開發中能夠放心地使用。經過對某雷達信號處理機的TPS開發,其最終的故障覆蓋率超過90%,也充分驗證了這一點。在DDR2存儲器和FLASH測試上,則充分考慮模型的設計和測試激勵的選擇,模型的設計要符合被測存儲器的自身特點,測試激勵則可以從相連邊界掃描管腳中任意選擇,有較大的靈活性。
[1]穆文爭,史鴻聲,劉麗.國產高性能通用數字信號處理器的DEMO板設計[J].火控雷達技術,2012,41(3):33-36.
[2]史鴻聲,穆文爭,劉麗.基于“魂芯一號”的雷達信號處理機設計[J].雷達科學與技術,2012,10(2):161-164.SHI Hong-sheng,MU Wen-zheng,LIU Li.Design of Radar Signal Processor Based on Hun Xin-1 Chip[J].Radar Science and Technology,2012,10(2):161-164.(in Chinese)
[3]中國電子科技集團公司第三十八研究所.BWDSP100硬件用戶手冊[M].合肥:中國電子科技集團公司第三十八研究所,2011.
[4]譚劍波,尤路,黃新,等.邊界掃描測試技術[M].北京:國防工業出版社,2013.