全 賀,王紅亮,厲智強,王 浩,王學(xué)斌
1.中北大學(xué),省部共建動態(tài)測試技術(shù)國家重點實驗室;2.北京宇航系統(tǒng)工程研究所
目前世界上大約有40種現(xiàn)場總線[1],在工業(yè)測試領(lǐng)域系統(tǒng)中多種總線并存[2],不存在適用于所有測試領(lǐng)域的現(xiàn)場總線,各種現(xiàn)場總線都有自身的技術(shù)特點和適用范圍。傳統(tǒng)多總線監(jiān)測系統(tǒng)將各信道數(shù)據(jù)融合再傳輸,不能保證監(jiān)測數(shù)據(jù)實時性[3];分時監(jiān)測系統(tǒng),各信道輪流傳輸,由于信道傳輸協(xié)議不同,導(dǎo)致系統(tǒng)程序繁雜,不能保證監(jiān)測數(shù)據(jù)可靠性[4]。提高多總線數(shù)據(jù)監(jiān)測系統(tǒng)的靈活性、可靠性,對于降低系統(tǒng)復(fù)雜度、提升系統(tǒng)的可維修性具有重大的意義。
多總線數(shù)據(jù)監(jiān)測系統(tǒng)不僅廣泛應(yīng)用于工業(yè)測試領(lǐng)域,而且在航空航天領(lǐng)域也具有舉足輕重的作用。本文主要研究在復(fù)雜的環(huán)境中,實現(xiàn)多總線動態(tài)重構(gòu),保證各信道數(shù)據(jù)實時性,降低系統(tǒng)程序復(fù)雜度,并結(jié)合雙冗余傳輸方式提升數(shù)據(jù)監(jiān)測系統(tǒng)的可靠性、安全性。
本文對信息識別、信息提取、數(shù)據(jù)融合、多總線動態(tài)重構(gòu)、雙冗余傳輸?shù)燃夹g(shù)提出了設(shè)計方案,介紹了系統(tǒng)各部分組成與關(guān)鍵技術(shù),并對多總線動態(tài)重構(gòu)監(jiān)測系統(tǒng)的性能進行測試。主要由并行通訊層與可配置通訊層構(gòu)成多總線動態(tài)重構(gòu)監(jiān)測系統(tǒng)。并行數(shù)據(jù)通訊層用于獲取導(dǎo)航數(shù)據(jù)、狀態(tài)數(shù)據(jù)、距離數(shù)據(jù)、目標數(shù)據(jù);可配置通訊層用于FPGA動態(tài)重構(gòu)、數(shù)據(jù)融合、動態(tài)傳輸融合數(shù)據(jù)、信道速率動態(tài)配置。與中間層通過雙冗余RS422總線接口實現(xiàn)融合數(shù)據(jù)向上級系統(tǒng)傳輸,通過通訊配置接口實現(xiàn)程序動態(tài)重構(gòu)與信道速率動態(tài)配置。
通過并行通訊層實現(xiàn)外部數(shù)據(jù)接收功能,可配置通訊層,根據(jù)當前加載程序功能通過可編程I/O接口對并行通訊層數(shù)據(jù)進行選擇接收,FPGA將來自并行通訊層的數(shù)據(jù)與本系統(tǒng)數(shù)據(jù)進行數(shù)據(jù)融合,再將融合后的數(shù)據(jù)通過雙冗余數(shù)據(jù)傳輸接口,按照與上級系統(tǒng)約定的信道速率進行數(shù)據(jù)傳輸。系統(tǒng)整體方案如圖1所示。
圖1 系統(tǒng)整體方案
本文主要研究信息識別與提取、動態(tài)重構(gòu)、雙冗余傳輸技術(shù),重點介紹1553B總線接口、RS422總線接口、配置電路、電源電路設(shè)計。
1553B總線是一種時分、指令響應(yīng)型串行數(shù)據(jù)總線,由于其高可靠性和實時性,在航空航天領(lǐng)域得到廣泛應(yīng)用[5]。本系統(tǒng)選用BU-61580接口芯片,BU-61580數(shù)據(jù)穩(wěn)定、技術(shù)成熟、應(yīng)用廣泛,它實現(xiàn)了所有的MIL-STD-1553B消息格式和雙冗余模式代碼。BU-61580電路如圖2所示。
圖2 BU-61580電路
1553B物理連接有直接耦合和變壓器耦合,1553B總線通常工作在強電磁干擾、振動沖擊大的惡劣環(huán)境中,這就需要總線能夠進行故障隔離,提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性,因此采用變壓器耦合方式[6]。變壓器耦合電路如圖3所示。
圖3 變壓器耦合電路
BU-61580與FPGA通信和控制通過地址總線、數(shù)據(jù)總線、控制總線及狀態(tài)總線4種總線實現(xiàn)[7]。BU-61580接口電平5 V,FPGA接口電平3.3 V,為保證BU-61580與FPGA正常數(shù)據(jù)通訊,考慮接口電平匹配電路設(shè)計是十分必要的。SN74LVC4245是雙向電平轉(zhuǎn)換芯片,既能解決電平轉(zhuǎn)換問題,又能保證數(shù)據(jù)總線雙向傳輸。
本系統(tǒng)通過RS422接收導(dǎo)航數(shù)據(jù)、距離數(shù)據(jù)、命令控制;通過RS422將融合編幀數(shù)據(jù)向上級系統(tǒng)傳輸。RS422是全雙工總線,可將接收數(shù)據(jù)與發(fā)送數(shù)據(jù)構(gòu)成完整RS422傳輸接口,充分利用系統(tǒng)硬件資源。命令控制總線用于接收上級系統(tǒng)指令,保證系統(tǒng)指令的正確接收,采用9 600 bps,停止位1 bit,無校驗格式進行指令接收。為了保證數(shù)據(jù)存儲系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃?選用AM26LV31E和AM26LV32E作為RS422接口芯片[8],具備四路三態(tài)輸出BICOMS差分線路驅(qū)動器,具有超低功耗、低成本、傳播延時低等優(yōu)點,最高開關(guān)切換速率可達32 MHz。RS422總線接口設(shè)計如圖4所示。
圖4 RS422總線接口設(shè)計
配置電路共由2部分FLASH存儲單元組成,其中M25P16是SPI FLASH,容量16 Mbit,最高通訊時鐘75 MHz,用于存儲FPGA動態(tài)重構(gòu)代碼;24LC02是EEPROM,采用I2C總線通信方式,具有2 Kbit存儲空間,用于存儲上級系統(tǒng)控制信息以及本系統(tǒng)參數(shù)信息,當系統(tǒng)接收動態(tài)重構(gòu)命令后,將參數(shù)數(shù)據(jù)進行保存,保證FPGA重構(gòu)后可重新加載配置參數(shù)。配置電路設(shè)計如圖5所示。
圖5 配置電路設(shè)計
系統(tǒng)供電網(wǎng)絡(luò)圖如圖6所示,采用12 V輸入供電,FPGA電壓需求1.2 V和3.3 V,RS232和RS422接口芯片工作電壓3.3 V,BU-61580工作電壓5 V,存儲芯片M25P16和24LC02工作電壓3.3 V,SN74LVC424工作電壓3.3 V和5 V,本系統(tǒng)選用MP1482 DC-DC電源作為一級電源產(chǎn)生5 V電壓用于BU-61580和SN74LVC4245使用,二級電源選用雙路LDO TSP70345產(chǎn)生3.3 V和1.2 V電源供系統(tǒng)使用。經(jīng)計算,MP1482最大輸出功率為10 W,TSP70345最大輸出功率為5.7 W,能夠可以滿足系統(tǒng)設(shè)計需求。
圖6 系統(tǒng)供電網(wǎng)絡(luò)圖
多總線動態(tài)重構(gòu)監(jiān)測輸系統(tǒng)軟件邏輯如圖7所示。軟件邏輯按照其功能可分為時鐘生成、數(shù)據(jù)接收、數(shù)據(jù)融合、雙冗余傳輸、ICAP動態(tài)重構(gòu)、本地信息獲取。時鐘生成將50 MHz晶振時鐘通過PLL分頻或倍頻產(chǎn)生時鐘供其他部分使用;數(shù)據(jù)接收用于監(jiān)測來自于并行通訊層數(shù)據(jù),并對接收數(shù)據(jù)進行校驗解析存儲至雙端口RAM;數(shù)據(jù)融合將雙端口RAM中數(shù)據(jù)與本地RTC數(shù)據(jù)和EEPROM數(shù)據(jù)進行融合編幀,并將其存儲至2個異步FIFO中;雙冗余傳輸判斷2個異步FIFO中存儲數(shù)據(jù)容量是否滿足傳輸需求,待滿足需求按照與上級系統(tǒng)約定的信道傳輸速率,將信息通過雙冗余RS422總線接口傳輸至上級系統(tǒng);ICAP動態(tài)重構(gòu),根據(jù)上級系統(tǒng)指令需求,動態(tài)讀取存儲在片外FLASH中不同偏移地址的bit文件,實現(xiàn)FPGA動態(tài)重構(gòu)的功能;本地信息包含本地RTC時鐘和EEPROM信息,其中EEPROM包括上級系統(tǒng)參數(shù)配置信息和本系統(tǒng)狀態(tài)信息。
圖7 系統(tǒng)軟件框圖
FPGA通過ICAP實現(xiàn)內(nèi)部程序動態(tài)重構(gòu),FPGA動態(tài)重構(gòu)分為動態(tài)全局重構(gòu)和動態(tài)局部重構(gòu)[9],動態(tài)局部重構(gòu)由于不同bit文件中存在不同的時序約束,采用動態(tài)局部重構(gòu)存在系統(tǒng)運行不穩(wěn)定的風(fēng)險,本系統(tǒng)各部分功能bit文件較小,兩種模式下程序加載重構(gòu)時間基本一致,本系統(tǒng)采用動態(tài)全局重構(gòu)技術(shù),根據(jù)上級指令動態(tài)加載bit文件。ICAP動態(tài)重構(gòu)流程如下:
步驟1:系統(tǒng)上電后,FPGA首先加載Golden鏡像,檢測系統(tǒng)各部分功能是否正常,包括RS422接口、1553B接口、EEPROM以及SPI FLASH,并將自檢結(jié)果反饋至上級系統(tǒng);
步驟2:等待上級系統(tǒng)動態(tài)重構(gòu)指令,并持續(xù)向上級系統(tǒng)反饋檢測結(jié)果;
步驟3:接收到上級系統(tǒng)重構(gòu)命令后,將指令參數(shù)存儲至EEPROM,根據(jù)指令加載SPI FLASH中對應(yīng)偏移地址的bit文件,待程序加載完成后執(zhí)行相應(yīng)程序;
步驟4:系統(tǒng)正在運行時,當接收到上級系統(tǒng)重構(gòu)命令后,執(zhí)行步驟同步驟3。
采用雙冗余傳輸技術(shù)可以保證系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃?RS422總線采用雙端收發(fā)的方式,具有強抗干擾能力和高通訊速率,將RS422總線與雙冗余傳輸技術(shù)相結(jié)合,系統(tǒng)數(shù)據(jù)傳輸速率和可靠性同時得到保證。本系統(tǒng)采用RS422雙冗余傳輸接口,實現(xiàn)向上級系統(tǒng)傳輸數(shù)據(jù)。本系統(tǒng)根據(jù)當前執(zhí)行的程序,動態(tài)將狀態(tài)信息、導(dǎo)航信息、距離信息或圖像信息與本地信息進行數(shù)據(jù)融合編幀,將數(shù)據(jù)幀存儲至2個異步FIFO,再根據(jù)與上級系統(tǒng)約定的信道傳輸速率分別將2個FIFO中的重組數(shù)據(jù)通過2路RS422總線接口發(fā)送至上級系統(tǒng),構(gòu)成RS422雙冗余數(shù)據(jù)傳輸總線。數(shù)據(jù)接收與傳送流程如圖8所示。
圖8 數(shù)據(jù)接收與傳送流程圖
本系統(tǒng)根據(jù)指標要求動態(tài)重構(gòu)時間小于1 s,通過測量動態(tài)重構(gòu)指令下發(fā)時間與重構(gòu)完成后自檢信息上傳時間間隔,計算動態(tài)重構(gòu)時間。測試記錄結(jié)果如表1所示。
表1 動態(tài)重構(gòu)時間測試記錄
根據(jù)技術(shù)指標要求600 bps~20 Mbps信道速率速率,本系統(tǒng)選擇6種標準波特率和4種非標準波特率進行測試,標準波特率選擇600、2 400、4 800、9 600、115 200、460 800 bps;非標準波特率選擇1、5、10、20 Mbps。
測試方法借助中間層部件,通過測量融合數(shù)據(jù)幀結(jié)構(gòu)數(shù)據(jù)長度到CRC校驗傳輸時間,上位機反算雙冗余信道傳輸速率。波特率9 600 bps速率測試結(jié)果如圖9所示。
圖9 9 600 bps速率測試結(jié)果
數(shù)據(jù)傳輸誤碼率與數(shù)據(jù)傳輸速率有著舉足輕重的作用。多次測試在不同信道速率下數(shù)據(jù)的可靠性。測試結(jié)果如表2所示。
表2 誤碼率測試記錄
目前,針對任務(wù)書需求實現(xiàn)的基于FPGA多總線動態(tài)重構(gòu)監(jiān)測系統(tǒng),在高低溫環(huán)境下分別對系統(tǒng)重構(gòu)時間測試,在同一環(huán)境下經(jīng)過多次試驗測試獲得各信道平均重構(gòu)時間均小于1 s,滿足系統(tǒng)設(shè)計需求,降低了系統(tǒng)復(fù)雜度,提升了系統(tǒng)可維修性,降低了硬件系統(tǒng)資源占用;雙冗余信道傳輸速率經(jīng)測試最大波特率可達20 Mbps,滿足系統(tǒng)設(shè)計需求,在雙冗余信道動態(tài)波特率下,數(shù)據(jù)傳輸穩(wěn)定,誤碼率為0,滿足系統(tǒng)可靠性需求。