潘 皓,李聲飛
(中國西南電子技術研究所, 成都 610036)
隨著現代航空電子技術的發展,航電系統集成了大量的通信、導航、雷達等無線電設備,干擾源覆蓋了甚低頻、載頻、射頻及微波等頻段,信號發射功率范圍為10~50 dBm。在此環境下,因設備間通信誤碼率提高會導致系統工作異常,嚴重時將影響飛行安全,屬于強電磁干擾環境[1-2]。本文提出了一種適用于強干擾環境的總線接口單元,采用改進的摩爾投票算法對采樣電平進行加權,降低了通信誤碼率,提高了總線的可靠性;此外,在物理層和應用層對總線接口進行標準化設計,將CAN、RS422/RS485、LVDS等串行總線進行集成設計,對數據收發驅動器、總線控制器等器件選型進行統一規劃,解決了各設備間接口規范、電氣標準[3]不統一而帶來的互連互通問題。通用總線接口單元主要用于航電分系統內設備互連,適用于對實時性、可靠性、功耗、體積、成本等要求較高的場合。
典型的機載通信鏈路系統[4-5]由系統控制單元、通用總線接口單元、通用射頻單元組成,原理如圖1所示。系統控制管理單元主要實現航電總線接口功能,用于連接航電主干網絡,如FC、AFDX、1553B等總線;采用高速數字信號處理器作為主控,通過同步總線與通用總線接口單元通信,完成系統控制指令和數據下發,如配置系統工作模式、工作參數等控制命令;接收來自通用總線接口單元的應答數據幀,并采集系統工作狀態和健康狀況。
通用總線接口單元是系統控制單元與通用射頻單元間的紐帶,完成系統控制指令的轉發和處理。收數組件接收來自同步總線的數據幀和命令幀,對幀信息進行緩存和解析,并將有效幀負荷傳給數據處理組件。數據處理組件對幀負荷進行解析和處理,將有用信息分成A/D數據、總線控制數據,并分別傳給對應的通道,其中A/D數據傳給A/D控制器、多路復用控制器、D/A控制器,完成對前端射頻單元A/D的控制和管理;總線控制數據傳給收數FIFO緩存,緩存后通過讀總線傳給后端射頻模塊,用于射頻模塊控制,如模式選擇、寬窄帶選擇、濾波器設置。數據接收為發送的逆過程,通用射頻單元接收數據后進行A/D轉換,將數字信號通過總線接口單元緩存和處理后,送至系統控制單元。

圖1 典型機載鏈路通信系統原理框圖
通用總線接口的數據發送流程如圖2所示,處理器啟動后運行初始化函數,初始化對外I/O接口、配置中斷觸發模式以接收外部中斷,然后進入主流程。當判斷有數據待送時進入發送流程,配置發送寄存器,包括設置發送波特率、幀格式、選擇發送電平(如RS422、RS485、RS232等)、校驗方式等參數,然后讀取發FIFO數據并對數據組幀,增加幀頭、幀尾、源/目的地址、校驗信息,一幀數據準備好后啟動發送程序發送數據,并啟動接收計時器等待回傳信息。如果收到應答信息,則判斷應答為ACK幀還是NAK幀,若為NAK幀表示接收方數據校驗失敗請求回傳,則重新組幀并發送。如果接收為ACK幀表示接收方已收到數據且校驗成功,則發送成功,停止重傳。如果未接收到任何應答幀信息,則判斷接收是否超時,如果未超時則繼續等待接收應答幀信息,如果超時則啟動重傳機制對數據幀重傳,如果重傳超過3次仍未收到應答幀,重傳失敗,停止重傳。
當判斷到有數據到來時進入接收流程,如圖3所示。首先配置接收寄存器,包括設置接收波特率、緩存大小、中斷觸發方式等參數,然后啟動接收進程。檢測是否有幀頭,如果沒有幀頭則繼續等待,檢測到有幀頭就開始接收并緩存數據。隨后啟動看門狗計時器,判斷是否超過最長接收時間,如果超過則丟棄當前數據包,否則解析接到的幀內容并進行CRC校驗,如果校驗失敗則回傳NAK幀請求發送方重傳,校驗成功則將數據傳給數據處理流程,接收流程結束。
傳統的電平采樣方法多采用單次采樣,該方式易受電磁干擾而造成通信錯誤,當誤碼率超過閾值時會導致系統工作異常。而多次采樣[6]方法中,傳統的摩爾投票判決算法[7]能在一定程度上消除噪聲對判決結果的影響,但由于未對判決因子進行加權處理,總線傳輸誤碼率難以進一步降低。
通過分析總線電平特性可知,信號在保持期間電平較為穩定,而在建立或翻轉時波動較大,根據這一特性對摩爾算法進行改進,具體方法:在整個電平范圍內,采用多個采樣點對目標進行判決,根據每個采樣點位置不同分配不同的加權因子,信號中間位置分配較大權重,依次往兩端遞減。加權因子設置為服從標準正態分布[8]的函數,統計在整個樣本空間內目標的概率值η如下:
(1)
式(1)中:η為目標概率值,N為采樣次數,Xi為第i次采樣值,φ(Xi)為Xi的加權分布因子。用為簡化計算,將該因子的分布函數,采用標準正態分布表示如下:
(2)

圖2 數據發送流程框圖 圖3 數據接收流程框圖
改進的摩爾投票算法的判決流程如圖4所示,首先采集樣本空間內Xi,對采集到的樣本按正態分布概率函數進行查表加權,依據式(1)計算出目標概率η,若η大于設定閾值則判斷為目標,流程如圖4所示。

圖4 摩爾投票算法流程框圖
利用FPGA高速并行處理的優勢,實現了改進的摩爾投票算法,流程如圖5所示,在高精度晶振輸出的時鐘控制下,通用總線接口內部FPGA對接收到的串行總線信號進行采樣判決。圖5(a)為串行總線的模擬信號,速率為3.125 Mbit/s;模擬信號由于受到周圍電磁環境、傳播路徑影響,信號局部會隨機出現毛刺,設置高電平門限、低電平門限作為模擬信號數字化的基準。圖5(b)為經數字化后的信號,模擬信號的毛刺超過預先設定的高電平門限、或者低于預先設定的低電平門限,數字化后信號就會出現“毛刺點”;如果采樣時刻在毛刺點附近,就會影響到采樣結果;圖5(c)為過采樣時鐘信號,頻率為50 MHz的高速脈沖,對3.125 MHz的串行數字信號進行16倍過采樣,每個比特電平持續16個采樣周期;圖5(d)為FPGA內設置的寬度為16個采樣周期的投票判決窗口。用改進的摩爾投票算法,確定該比特電平值。具體方法如下:通過查表法對所有采樣值進行加權求和,計算出電平“1”的值,當“1”值大于0.35時判決該比特電平值為“1”,否則判決該比特電平值為“0”。

圖5 改進的摩爾投票算法流程
為了驗證通用總線接口單元通信可靠性和抗干擾能力[9],搭建如圖6所示試驗環境。在復雜電磁環境下,選取設備A作為數據發送設備,將測試數據發送至總線接口單元,總線接口單元對接收到的測試數據進行處理,并將處理后的結果發送至設備B,設備B上運行統計軟件,對通信誤碼率、通信報文大小進行統計,并將統計結果傳輸到監控計算機上顯示。
通過溫度循環檢驗總線接口單元環境穩定性,一個循環條件設置為:低溫-55 ℃,保溫2 h;常溫+25°,保溫2 h;高溫+85°,保溫2 h,升降溫速率為5(°)/min。經過4個循環共計24 h的進行數據收發測試,在6 000萬包(256 Byte/包)大數據量壓力測試下,總線通信誤碼率小于10E-11,測試結果見表1所示。

圖6 總線接口單元試驗環境示意圖

測試項目數據量/(萬包)錯誤包數測試時間/h工作溫度/℃功耗/W數據收發6 000024-55 ℃~+85 ℃<3.5
本文以機載設備總線通信為背景,設計了一種基于改進摩爾投票算法的總線接口單元,根據采樣電平特征,將不同的采樣值按正態分布分配不同加權因子,避免了傳統貝葉斯分布的隨機性,解決了強電磁環境下總線通信抗干擾問題;此外,對設備間串行總線接口進行標準化設計,遵循總線物理層和傳輸層規范,在應用層上對幀傳輸格式、校驗方式,重傳機制等方面進行統一規劃,使得各廠家設備在統一的總線規范下進行通信,提升了系統的開放性和通用性。進一步降低強電磁環境下總線誤碼率、提高設備的容錯性[10-11]仍是今后研究的方向。