梁一峰,曲一萍,余懷秦,薛磊
(西南電子設(shè)備研究所,四川成都 610036)
數(shù)字接收模塊用于機(jī)載電子信息系統(tǒng)設(shè)備中,主要完成某頻段寬帶信號(hào)的截獲,為系統(tǒng)對(duì)敵偵察與干擾提供支撐,其故障或失效不僅會(huì)導(dǎo)致直接的經(jīng)濟(jì)損失,還可能對(duì)電子信息系統(tǒng)裝備效能的發(fā)揮產(chǎn)生災(zāi)難性的后果,因此數(shù)字接收模塊PCBA 測(cè)試非常重要。在以往生產(chǎn)的模塊中,技術(shù)人員針對(duì)某一部分硬件開發(fā)單獨(dú)的FPGA 測(cè)試程序,測(cè)試人員需要分別加載相應(yīng)的測(cè)試程序進(jìn)行測(cè)試。這樣完成一個(gè)數(shù)字接收模塊的PCBA 檢測(cè)往往需要耗費(fèi)較長的時(shí)間,而且檢測(cè)功能覆蓋不全。文中充分借鑒了一些行業(yè)內(nèi)的PCBA檢測(cè)系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)[1-5],設(shè)計(jì)了一種基于CAN 單片機(jī)和FPGA 的數(shù)字接收模塊PCBA 自動(dòng)測(cè)試系統(tǒng),實(shí)現(xiàn)了通過上位機(jī)一鍵操作,完成指令的下發(fā)和檢測(cè)結(jié)果的收集。實(shí)驗(yàn)表明,該系統(tǒng)設(shè)計(jì)靈活,可靠性高,檢測(cè)覆蓋全面,完善后系統(tǒng)故障檢測(cè)效率可提高90%。
在機(jī)載電子信息系統(tǒng)[6~9]設(shè)備中,數(shù)字接收模塊主要用于某頻段的寬帶截獲。該模塊主要由一個(gè)單比特轉(zhuǎn)接板(以下簡(jiǎn)稱轉(zhuǎn)接板)、兩個(gè)SOC 模塊、柔性板組成。其中,SOC 模塊主要由單比特組件板(以下簡(jiǎn)稱組件板)和變頻模塊組成。模塊主要功能完成某頻段寬帶信號(hào)的截獲,SOC 模塊完成信號(hào)的采集與PDW 計(jì)算,轉(zhuǎn)接板負(fù)責(zé)將兩個(gè)通道的PDW 信息上報(bào)。
1.1.1 轉(zhuǎn)接板
轉(zhuǎn)接板使用某系列FPGA(U1)作為主控芯片,F(xiàn)PGA 外掛三片MLVDS 驅(qū)動(dòng)芯片(D5-D7),分別引出四對(duì)、四對(duì)、三對(duì)MLVDS 信號(hào)到LRM 連接器,F(xiàn)PGA 引出五對(duì)GTX 收發(fā)信號(hào)到LRM 連接器。FPGA 直接引出11 對(duì)LVDS 信號(hào)到LRM 連接器,其中八對(duì)LVDS 信號(hào)在可通過母板形成回環(huán)。FPGA直接引出四對(duì)LVTTL 信號(hào)到LRM 連接器,其中三對(duì)LVTTL 信號(hào)在可通過母板形成回環(huán)。CAN 單片機(jī)(D39)集成了電壓檢測(cè)、溫度監(jiān)控等功能,兩組CAN信號(hào)通過LRM 連接器引出,CAN 和FPGA 的通信使用SPI 協(xié)議,通過九根普通I/O 連接。
1.1.2 組件板
組件板使用某系列FPGA (U11)作為主控芯片,F(xiàn)PGA 外掛四片AD 芯片(U5-U8),四個(gè)AD 采集的信號(hào)送到四個(gè)協(xié)處理器(U1-U4),經(jīng)過協(xié)處理器處理后的結(jié)果報(bào)送給FPGA。FPGA 外掛一片視頻AD 芯片D13,采集視頻AD 信號(hào)。FPGA 直接引出15 對(duì)LVDS 信號(hào)到柔性連接器(X1 或X10),上報(bào)粗測(cè)碼、精測(cè)碼及同步時(shí)鐘等信息。
1.1.3 柔性板
柔性板的主要作用是接收來自轉(zhuǎn)接板的電壓信號(hào),為組件板供電,同時(shí)將組件板的粗測(cè)碼、精測(cè)碼及同步時(shí)鐘等信息上報(bào)給轉(zhuǎn)接板的FPGA(U1)。
數(shù)字接收模塊整體方案如圖1 所示,轉(zhuǎn)接板接收上位機(jī)通過CAN 下發(fā)的指令,對(duì)指令要求的檢測(cè)項(xiàng)進(jìn)行檢測(cè),檢測(cè)完成后將檢測(cè)結(jié)果通過CAN 總線上報(bào)給上位機(jī)。
圖1 數(shù)字接收模塊測(cè)試整體方案
1.2.1 CAN、FPGA通信檢測(cè)
CAN 的檢測(cè)由上位機(jī)軟件和CAN 單片機(jī)共同完成,上位機(jī)發(fā)送CAN 程序版本讀取命令給CAN 單片機(jī)并回讀,版本正確說明CAN 通信正常。FPGA的檢測(cè)由上位機(jī)、CAN 單片機(jī)、FPGA 共同完成,上位機(jī)發(fā)送FPGA 檢測(cè)指令和數(shù)據(jù),CAN 單片機(jī)轉(zhuǎn)發(fā)給FPGA,F(xiàn)PGA 收到后將數(shù)據(jù)回傳,上位機(jī)收到下發(fā)數(shù)據(jù)說明FPGA 通信正常。
1.2.2 GTX、MLVDS、LVDS、LVTTL的檢測(cè)
GTX、MLVDS、LVDS、LVTTL 的檢測(cè)由轉(zhuǎn)接板上的FPGA(U1)和上位機(jī)軟件共同完成,轉(zhuǎn)接板U1 接收上位機(jī)通過CAN 總線下發(fā)的對(duì)GTX、MLVDS、LVDS、LVTTL 的指令,將上位機(jī)下發(fā)的數(shù)據(jù)發(fā)出,數(shù)據(jù)經(jīng)過母板的GTX、MLVDS、LVDS、LVTTL 環(huán)路回讀后,將數(shù)據(jù)發(fā)回給上位機(jī)。上位機(jī)負(fù)責(zé)比對(duì)下發(fā)的數(shù)據(jù)和收到的數(shù)據(jù)是否一致,如果不一致則說明通信鏈路異常。
1.2.3 U1-U4、U5-U8的檢測(cè)
U1-U4、U5-U8 的檢測(cè)主要由組件板上的FPGA(U11)完成,U11 接收轉(zhuǎn)接板轉(zhuǎn)發(fā)過來的由上位機(jī)通過CAN 下發(fā)的對(duì)U1-U4、U5-U8 進(jìn)行檢測(cè)的指令后,獨(dú)立完成相應(yīng)的檢測(cè),并通過轉(zhuǎn)接板的U1 轉(zhuǎn)發(fā)上報(bào)給CAN 總線,上報(bào)到上位機(jī)。
1.2.4 柔性板的檢測(cè)
柔性板的檢測(cè)由轉(zhuǎn)接板和組件板上的FPGA 配合完成,轉(zhuǎn)接板U1 接收上位機(jī)。通過CAN 下發(fā)的檢測(cè)指令,配合組件板FPGA(U11)共同完成柔性板的檢測(cè),并將檢測(cè)結(jié)果通過CAN 總線上報(bào)給上位機(jī)。
為完成一個(gè)轉(zhuǎn)接板、兩個(gè)組件板及柔性板的檢測(cè),使得所有檢測(cè)指令都可通過上位機(jī)進(jìn)行下發(fā)并回讀檢測(cè)結(jié)果,需要設(shè)計(jì)完整的通信鏈路,負(fù)責(zé)整個(gè)檢測(cè)系統(tǒng)指令和數(shù)據(jù)的下發(fā)及檢測(cè)結(jié)果的回讀。
通信鏈路各節(jié)點(diǎn)職責(zé)描述表1 所示。
表1 通信鏈路各節(jié)點(diǎn)職責(zé)
檢測(cè)指令由上位機(jī)發(fā)送給CAN 單片機(jī),CAN 單片機(jī)解析后發(fā)送給U1,如果是要求U1 檢測(cè)的指令則U1 完成檢測(cè),如果是要求U11 完成的指令則會(huì)由U1 轉(zhuǎn)發(fā)給U11,所有檢測(cè)的結(jié)果沿指令下發(fā)鏈路反向上傳。指令的報(bào)文類型是擴(kuò)展幀共96 位,讀寫指令為32 位,檢測(cè)指令和下發(fā)數(shù)據(jù)各占32 位。
具體幀結(jié)構(gòu)如圖2 所示,其中“4000”指令是要求U1 完成GTX 通信測(cè)試。
圖2 檢測(cè)指令幀結(jié)構(gòu)
2.2.1 讀寫控制命令
寫命令用于將檢測(cè)指令和數(shù)據(jù)通過CAN 下發(fā)到FPGA。讀命令,配合寫命令使用,先下發(fā)寫命令,F(xiàn)PGA 收到指令和數(shù)據(jù)后進(jìn)行相應(yīng)的檢測(cè)和數(shù)據(jù)發(fā)送。在完成寫指令后下發(fā)讀命令,F(xiàn)PGA 收到讀命令后將檢測(cè)的結(jié)果和收到的數(shù)據(jù)一同發(fā)回上位機(jī)。
2.2.2 下發(fā)數(shù)據(jù)位
在下發(fā)數(shù)據(jù)位的設(shè)計(jì)中,對(duì)于一些檢測(cè)需要下發(fā)數(shù)據(jù),通過收回的數(shù)據(jù)與下發(fā)的數(shù)據(jù)對(duì)比,判斷相應(yīng)鏈路是否存在故障。在檢測(cè)八位LVDS 通信時(shí),需要先后兩次下發(fā)0x55 和0xAA,確保LVDS 引腳能夠正常完成數(shù)據(jù)的收發(fā),而不是因?yàn)殡娦阅芄收蠈?dǎo)致某個(gè)引腳持續(xù)被拉高或置低。同時(shí),GTX 的檢測(cè)需要攜帶數(shù)據(jù)。
2.2.3 CAN尋址
上位機(jī)下發(fā)指令,需要指明接收指令的CAN 單片機(jī)地址。
2.2.4 檢測(cè)指令
對(duì)不同的檢測(cè)項(xiàng)的檢測(cè)指令進(jìn)行編碼,如“4000”為GTX 檢測(cè),“1000”為轉(zhuǎn)接板LVDS 檢測(cè)等。
系統(tǒng)需要完成CAN 單片機(jī)、U1、U11 的通信測(cè)試,確保檢測(cè)指令和數(shù)據(jù)能夠正常下發(fā)和回讀,完成LVDS、MLVDS、GTX 測(cè)試確保收發(fā)接口工作正常,完成U5-U8、U1-U4 測(cè)試確保兩種AD 芯片初始化正常,完成柔性板的檢測(cè),確保轉(zhuǎn)接板與組建板之間數(shù)據(jù)傳輸通道正常。
2.3.1 通信環(huán)路
CAN、FPGA 的通信檢測(cè)采用環(huán)路檢測(cè)的方法。CAN 的通信檢測(cè)是上位機(jī)下發(fā)CAN 通信檢測(cè)指令,CAN 收到指令后回復(fù),上位機(jī)完成解析的CAN 通信環(huán)路。FPGA 的通信檢測(cè)則是由上位機(jī)下發(fā)FPGA通信檢測(cè)指令,CAN 單片機(jī)解析并轉(zhuǎn)發(fā)給U1、U11,U1、U11 收到指令后回復(fù),報(bào)文經(jīng)過單片機(jī)轉(zhuǎn)發(fā)給上位機(jī),上位機(jī)解析完成檢測(cè)。
2.3.2 數(shù)據(jù)環(huán)路
GTX、LVDS、MLVDS、LVTTL 的檢測(cè)由上位機(jī)和FPGA 共同完成。通過對(duì)PCBA 板的LRM 連接器的母版進(jìn)行設(shè)計(jì),使這些接口在硬件連接上形成環(huán)路。在需要檢測(cè)時(shí),上位機(jī)下發(fā)檢測(cè)指令,下發(fā)到FPGA 經(jīng)過環(huán)路后收回,根據(jù)上位機(jī)檢測(cè)收到的數(shù)據(jù)與下發(fā)數(shù)據(jù)是否一致即可判斷GTX、LVDS、MLVDS、LVTTL 的硬件是否工作正常。
2.3.3 高頻器件
U1-U4、U5-U8 為高頻模-數(shù)轉(zhuǎn)換的器件,其檢測(cè)由FPGA 完成,U11 接收到檢測(cè)指令后,通過SPI 接口配置U1-U4、U5-U8 的Built-In SelfTest 寄存器,將U1-U4、U5-U8 的輸出配置為用戶自定義的測(cè)試數(shù)據(jù)。U11 的LVDS 口接收數(shù)據(jù)并解析,將解析所得的數(shù)據(jù)與用戶自定義數(shù)據(jù)進(jìn)行對(duì)比,若保持一致則表明U1-U4、U5-U8 芯片工作正常。
2.3.4 數(shù)據(jù)透?jìng)?/p>
與數(shù)據(jù)環(huán)路檢測(cè)的方法不同,柔性板之間雖然也是LVDS 信號(hào),但是該P(yáng)CBA 板的硬件設(shè)計(jì)導(dǎo)致了通過柔性版的信號(hào)只有少部分可以雙向收發(fā),大部分只能單向發(fā)送。因此,對(duì)柔性版的檢測(cè)通過組件板U11 實(shí)現(xiàn),該FPGA 收到檢測(cè)指令后,將預(yù)設(shè)的數(shù)據(jù)通過LVDS 總線發(fā)送給轉(zhuǎn)接板U1,再通過CAN 單片機(jī)轉(zhuǎn)發(fā)給上位機(jī)。上位機(jī)接收數(shù)據(jù)并與預(yù)期數(shù)據(jù)進(jìn)行比對(duì),如果一致則判斷柔性板工作正常。
在完成CAN 程序、U1、U11 程序編寫后,通過上位機(jī)下發(fā)檢測(cè)指令對(duì)系統(tǒng)進(jìn)行原型驗(yàn)證。以GTX 通信檢測(cè)為例,首先下發(fā)寫控制命令10100CAA,寫數(shù)據(jù)55555555,寫地址及檢測(cè)指令,03FE4000。寫命令下發(fā)完成后,再次下發(fā)讀控制命令10100CBB,數(shù)據(jù)位可以任意填寫XXXXXXXX,讀地址及檢測(cè)指令03FE4000,如圖3 所示。
圖3 指令下發(fā)與結(jié)果回讀
指令下發(fā)后通過chipscope 在線調(diào)試查看(如圖4所示),U1 已正確收到檢測(cè)指令,上位機(jī)能夠收到模塊回復(fù)的CAN 報(bào)文,接收數(shù)據(jù)與發(fā)送數(shù)據(jù)一致說明模塊GTX 工作正常[14-17]。
圖4 U1接收并解析檢測(cè)指令
文中針對(duì)需要互相協(xié)作通信的多個(gè)PCBA 板故障定位檢測(cè)的復(fù)雜性,提出了基于CAN 單片機(jī)和FPGA 的數(shù)字接收模塊PCBA 自動(dòng)測(cè)試系統(tǒng),完整闡述了系統(tǒng)的設(shè)計(jì)方案及檢測(cè)方法。經(jīng)初步驗(yàn)證,證明了該自動(dòng)測(cè)試系統(tǒng)的可行性,與以往需要加載bit文件及cdc 文件抓取信號(hào)的方式相比,檢測(cè)效率提高了90%以上。下一步的工作是完善上位機(jī)測(cè)試軟件,使檢測(cè)系統(tǒng)可以做到一鍵檢測(cè),屆時(shí)檢測(cè)效率可進(jìn)一步提升。