梁一峰,曲一萍,余懷秦,薛磊
(西南電子設備研究所,四川成都 610036)
數字接收模塊用于機載電子信息系統設備中,主要完成某頻段寬帶信號的截獲,為系統對敵偵察與干擾提供支撐,其故障或失效不僅會導致直接的經濟損失,還可能對電子信息系統裝備效能的發揮產生災難性的后果,因此數字接收模塊PCBA 測試非常重要。在以往生產的模塊中,技術人員針對某一部分硬件開發單獨的FPGA 測試程序,測試人員需要分別加載相應的測試程序進行測試。這樣完成一個數字接收模塊的PCBA 檢測往往需要耗費較長的時間,而且檢測功能覆蓋不全。文中充分借鑒了一些行業內的PCBA檢測系統設計經驗[1-5],設計了一種基于CAN 單片機和FPGA 的數字接收模塊PCBA 自動測試系統,實現了通過上位機一鍵操作,完成指令的下發和檢測結果的收集。實驗表明,該系統設計靈活,可靠性高,檢測覆蓋全面,完善后系統故障檢測效率可提高90%。
在機載電子信息系統[6~9]設備中,數字接收模塊主要用于某頻段的寬帶截獲。該模塊主要由一個單比特轉接板(以下簡稱轉接板)、兩個SOC 模塊、柔性板組成。其中,SOC 模塊主要由單比特組件板(以下簡稱組件板)和變頻模塊組成。模塊主要功能完成某頻段寬帶信號的截獲,SOC 模塊完成信號的采集與PDW 計算,轉接板負責將兩個通道的PDW 信息上報。
1.1.1 轉接板
轉接板使用某系列FPGA(U1)作為主控芯片,FPGA 外掛三片MLVDS 驅動芯片(D5-D7),分別引出四對、四對、三對MLVDS 信號到LRM 連接器,FPGA 引出五對GTX 收發信號到LRM 連接器。FPGA 直接引出11 對LVDS 信號到LRM 連接器,其中八對LVDS 信號在可通過母板形成回環。FPGA直接引出四對LVTTL 信號到LRM 連接器,其中三對LVTTL 信號在可通過母板形成回環。CAN 單片機(D39)集成了電壓檢測、溫度監控等功能,兩組CAN信號通過LRM 連接器引出,CAN 和FPGA 的通信使用SPI 協議,通過九根普通I/O 連接。
1.1.2 組件板
組件板使用某系列FPGA (U11)作為主控芯片,FPGA 外掛四片AD 芯片(U5-U8),四個AD 采集的信號送到四個協處理器(U1-U4),經過協處理器處理后的結果報送給FPGA。FPGA 外掛一片視頻AD 芯片D13,采集視頻AD 信號。FPGA 直接引出15 對LVDS 信號到柔性連接器(X1 或X10),上報粗測碼、精測碼及同步時鐘等信息。
1.1.3 柔性板
柔性板的主要作用是接收來自轉接板的電壓信號,為組件板供電,同時將組件板的粗測碼、精測碼及同步時鐘等信息上報給轉接板的FPGA(U1)。
數字接收模塊整體方案如圖1 所示,轉接板接收上位機通過CAN 下發的指令,對指令要求的檢測項進行檢測,檢測完成后將檢測結果通過CAN 總線上報給上位機。

圖1 數字接收模塊測試整體方案
1.2.1 CAN、FPGA通信檢測
CAN 的檢測由上位機軟件和CAN 單片機共同完成,上位機發送CAN 程序版本讀取命令給CAN 單片機并回讀,版本正確說明CAN 通信正常。FPGA的檢測由上位機、CAN 單片機、FPGA 共同完成,上位機發送FPGA 檢測指令和數據,CAN 單片機轉發給FPGA,FPGA 收到后將數據回傳,上位機收到下發數據說明FPGA 通信正常。
1.2.2 GTX、MLVDS、LVDS、LVTTL的檢測
GTX、MLVDS、LVDS、LVTTL 的檢測由轉接板上的FPGA(U1)和上位機軟件共同完成,轉接板U1 接收上位機通過CAN 總線下發的對GTX、MLVDS、LVDS、LVTTL 的指令,將上位機下發的數據發出,數據經過母板的GTX、MLVDS、LVDS、LVTTL 環路回讀后,將數據發回給上位機。上位機負責比對下發的數據和收到的數據是否一致,如果不一致則說明通信鏈路異常。
1.2.3 U1-U4、U5-U8的檢測
U1-U4、U5-U8 的檢測主要由組件板上的FPGA(U11)完成,U11 接收轉接板轉發過來的由上位機通過CAN 下發的對U1-U4、U5-U8 進行檢測的指令后,獨立完成相應的檢測,并通過轉接板的U1 轉發上報給CAN 總線,上報到上位機。
1.2.4 柔性板的檢測
柔性板的檢測由轉接板和組件板上的FPGA 配合完成,轉接板U1 接收上位機。通過CAN 下發的檢測指令,配合組件板FPGA(U11)共同完成柔性板的檢測,并將檢測結果通過CAN 總線上報給上位機。
為完成一個轉接板、兩個組件板及柔性板的檢測,使得所有檢測指令都可通過上位機進行下發并回讀檢測結果,需要設計完整的通信鏈路,負責整個檢測系統指令和數據的下發及檢測結果的回讀。
通信鏈路各節點職責描述表1 所示。

表1 通信鏈路各節點職責
檢測指令由上位機發送給CAN 單片機,CAN 單片機解析后發送給U1,如果是要求U1 檢測的指令則U1 完成檢測,如果是要求U11 完成的指令則會由U1 轉發給U11,所有檢測的結果沿指令下發鏈路反向上傳。指令的報文類型是擴展幀共96 位,讀寫指令為32 位,檢測指令和下發數據各占32 位。
具體幀結構如圖2 所示,其中“4000”指令是要求U1 完成GTX 通信測試。

圖2 檢測指令幀結構
2.2.1 讀寫控制命令
寫命令用于將檢測指令和數據通過CAN 下發到FPGA。讀命令,配合寫命令使用,先下發寫命令,FPGA 收到指令和數據后進行相應的檢測和數據發送。在完成寫指令后下發讀命令,FPGA 收到讀命令后將檢測的結果和收到的數據一同發回上位機。
2.2.2 下發數據位
在下發數據位的設計中,對于一些檢測需要下發數據,通過收回的數據與下發的數據對比,判斷相應鏈路是否存在故障。在檢測八位LVDS 通信時,需要先后兩次下發0x55 和0xAA,確保LVDS 引腳能夠正常完成數據的收發,而不是因為電性能故障導致某個引腳持續被拉高或置低。同時,GTX 的檢測需要攜帶數據。
2.2.3 CAN尋址
上位機下發指令,需要指明接收指令的CAN 單片機地址。
2.2.4 檢測指令
對不同的檢測項的檢測指令進行編碼,如“4000”為GTX 檢測,“1000”為轉接板LVDS 檢測等。
系統需要完成CAN 單片機、U1、U11 的通信測試,確保檢測指令和數據能夠正常下發和回讀,完成LVDS、MLVDS、GTX 測試確保收發接口工作正常,完成U5-U8、U1-U4 測試確保兩種AD 芯片初始化正常,完成柔性板的檢測,確保轉接板與組建板之間數據傳輸通道正常。
2.3.1 通信環路
CAN、FPGA 的通信檢測采用環路檢測的方法。CAN 的通信檢測是上位機下發CAN 通信檢測指令,CAN 收到指令后回復,上位機完成解析的CAN 通信環路。FPGA 的通信檢測則是由上位機下發FPGA通信檢測指令,CAN 單片機解析并轉發給U1、U11,U1、U11 收到指令后回復,報文經過單片機轉發給上位機,上位機解析完成檢測。
2.3.2 數據環路
GTX、LVDS、MLVDS、LVTTL 的檢測由上位機和FPGA 共同完成。通過對PCBA 板的LRM 連接器的母版進行設計,使這些接口在硬件連接上形成環路。在需要檢測時,上位機下發檢測指令,下發到FPGA 經過環路后收回,根據上位機檢測收到的數據與下發數據是否一致即可判斷GTX、LVDS、MLVDS、LVTTL 的硬件是否工作正常。
2.3.3 高頻器件
U1-U4、U5-U8 為高頻模-數轉換的器件,其檢測由FPGA 完成,U11 接收到檢測指令后,通過SPI 接口配置U1-U4、U5-U8 的Built-In SelfTest 寄存器,將U1-U4、U5-U8 的輸出配置為用戶自定義的測試數據。U11 的LVDS 口接收數據并解析,將解析所得的數據與用戶自定義數據進行對比,若保持一致則表明U1-U4、U5-U8 芯片工作正常。
2.3.4 數據透傳
與數據環路檢測的方法不同,柔性板之間雖然也是LVDS 信號,但是該PCBA 板的硬件設計導致了通過柔性版的信號只有少部分可以雙向收發,大部分只能單向發送。因此,對柔性版的檢測通過組件板U11 實現,該FPGA 收到檢測指令后,將預設的數據通過LVDS 總線發送給轉接板U1,再通過CAN 單片機轉發給上位機。上位機接收數據并與預期數據進行比對,如果一致則判斷柔性板工作正常。
在完成CAN 程序、U1、U11 程序編寫后,通過上位機下發檢測指令對系統進行原型驗證。以GTX 通信檢測為例,首先下發寫控制命令10100CAA,寫數據55555555,寫地址及檢測指令,03FE4000。寫命令下發完成后,再次下發讀控制命令10100CBB,數據位可以任意填寫XXXXXXXX,讀地址及檢測指令03FE4000,如圖3 所示。

圖3 指令下發與結果回讀
指令下發后通過chipscope 在線調試查看(如圖4所示),U1 已正確收到檢測指令,上位機能夠收到模塊回復的CAN 報文,接收數據與發送數據一致說明模塊GTX 工作正常[14-17]。

圖4 U1接收并解析檢測指令
文中針對需要互相協作通信的多個PCBA 板故障定位檢測的復雜性,提出了基于CAN 單片機和FPGA 的數字接收模塊PCBA 自動測試系統,完整闡述了系統的設計方案及檢測方法。經初步驗證,證明了該自動測試系統的可行性,與以往需要加載bit文件及cdc 文件抓取信號的方式相比,檢測效率提高了90%以上。下一步的工作是完善上位機測試軟件,使檢測系統可以做到一鍵檢測,屆時檢測效率可進一步提升。