羋小龍 王亞波 楊宗元
(1.海軍裝備部 北京 100076)(2.武漢第二船舶設計研究所 武漢 430205)
信息技術和網絡技術的迅速發展對艦船導航系統信息傳輸提供了多種通訊傳輸方式。目前,艦船上已有的導航系統大多采用RS422串口、以太網構建系統網絡[1~5]。串口擴展性差,以太網在傳輸帶寬及節點數上雖有較大的提升,但傳輸延時具有不可預見性。艦船導航系統信息主要是以高頻率、短報文為主,CAN 總線在短報文傳輸中的實時性、可預測性等特點能夠更好地滿足系統要求,填補原有通訊方式的不足。
為更好地驗證CAN 總線性能與艦船導航系統傳輸要求匹配性,結合艦船導航系統信息種類、信息傳輸頻率等實際特征,對CAN 總線性能進行了測試與分析。
CAN 總線傳輸測試系統由4 臺基于VxWorks操作系統的PC 主機組成[6~8]。其中,PC 機1 為接收節點,模擬艦船導航系統綜合處理類設備;PC機2~4 為發送節點,模擬艦船導航系統傳感器類設備。CAN總線傳輸測試系統框架示意圖如圖1所示。

圖1 CAN總線傳輸測試系統示意圖
1)網絡穩定性測試方法
PC機2~4按照優先級設定以不同頻率發送數據,數據幀格式包含當前幀號,幀號從0 開始,依次遞增;數據幀內容采用自增模式,便于接收到數據后查驗數據是否丟包。
2)網絡吞吐率測試方法
PC 機2~4 按照優先級設定不間斷發送數據,設置發送數據量,在發送完畢之后記錄所花費的時間,根據發送數據量和發送時間即可計算出各發送節點數據發送速率;數據接收節點采用每接收到一定量數據即記錄累計時間的方法進行記錄,在數據接收完畢后剔除第一次記錄的累計時間和最后一次記錄的累計時間,根據中間有效計時和每段計時范圍內的數據接收量,即可計算出接收節點的數據接收速率。
3)數據延時測試方法
PC機2~4按照優先級設定以不同頻率發送數據,通過衛星對各PC 機進行校時。利用各PC 機本地時鐘,分別記錄各發送節點產生第一幀數據的時間和接收節點接收到最后一幀數據的時間,計算PC機2~4→PC機1的數據傳輸總延時。
4)網絡負載能力測試方法
PC機2~4按照優先級設定以不同的頻率發送數據,逐次提高各發送節點的數據量和更新頻率,記錄發送的總數據包數和丟失的數據包數。
測試軟件主要包括初始化模塊、工作模式設定模塊、信息發送處理模塊和信息接收處理模塊,測試軟件總體框架如圖2所示。

圖2 測試軟件總體框架圖
3.1.1 信息發送處理
信息發送處理流程如圖3所示。
3.1.2 數據幀格式
數據幀格式見表2。
為方便測試,對原始數據幀進行封裝,增加其它輔助信息便于數據校驗[9~10]。數據幀封裝格式如圖4所示。

圖3 信息發送處理流程框圖

表2 數據幀格式

圖4 數據幀封裝格式
3.1.3 時序
傳感器模式時序如圖5所示。
3.1.4 數據發送
CAN網絡數據發送流程如圖6所示。
根據CAN 網絡協議規定,每次發送的數據幀容量最多不超過8 字節,因此,需對數據幀進行拆包處理[11],拆包處理過程如圖7所示。

圖5 傳感器模式時序圖

圖6 CAN網絡數據發送流程圖

圖7 數據幀拆包處理示意圖
在進行數據幀拆包處理時,當發送的數據長度是8字節的整數倍時,每幀數據長度為8字節;當發送的數據長度不是8 字節的整數倍時,最后一幀數據幀的長度為余數字節,發送數據幀結構如圖8 所示。為接收方便,在數據幀發送之前首先發送起始幀,規定起始幀的幀號為0;起始幀表明發送數據的開始,幀中含有發送數據的長度。在接收端可根據該數據進行組合得到實際發送的數送的數據,其幀結構及含義如圖9 所示。數據幀發送結束后緊接著發送一幀結束幀,表明數據接收完畢,結束幀幀號規定為0x0f,其幀結構如圖10所示。

圖8 CAN發送MSG幀封裝結構

圖9 開始幀結構

圖10 結束幀結構
3.1.5 數據存儲
采用二進制格式進行數據存儲。
3.2.1 信息接收處理
信息接收處理流程如圖11所示。
3.2.2 時序
為保證信息處理模式下有效接收各傳感器發送的數據,需設定信息處理模式工作時序,信息處理模式時序控制圖如圖12 所示。首先初始化系統運行參數,然后啟動定時器對任務進行計時以實現任務的周期執行,當數據接收處理和儲存執行完畢,任務掛起以等待定時器結束,從而轉入下一周期的任務執行。

圖11 信息接收處理流程圖

圖12 信息處理模式時序控制圖
3.2.3 數據接收
根據傳感器模式從對應的地址依次讀取各傳感器發送的數據。

圖13 CAN總線接收時序圖
在信息處理模式端,首先啟動主任務初始化,在主任務進程中對CAN 總線數據讀取任務進行初始化。據讀取任務優先級低于主任務。CAN 總線接收時序圖如圖13所示。
兩個任務交替周期執行并設置緩沖區進行任務間的通信。主任務每個周期均讀取數據緩沖區,如果數據有效標志位有效,則說明組包成功,主任務對讀取到的緩沖區數據進行進一步處理;如果數據有效標志位無效,則不做進一步處理。CAN網絡數據組包流程圖如14所示。

圖14 CAN網絡數據組包流程圖
3.2.4 數據存儲
采用二進制格式進行數據存儲。
CAN總線組網性能測試結果見表3~6。
表3測試結果表明,在CAN總線允許帶寬內進行數據傳輸,未出現任何丟包現象,CAN 總線網絡運行穩定。

表3 4發1收網絡穩定性組網測試結果表
表4 測試結果表明,CAN 總線網絡最大發送速率為0.568Mbps;當總線網絡中節點數量增加時,由于不同節點優先級不同,CAN 總線網絡需進行仲裁,發送速率會降低。CAN總線網絡接收上限速率為0.689Mbps左右。
表5 測試結果表明,周期性數據幀傳輸模式,CAN 總線網絡數據傳輸延時典型值為0.608ms;偶發性數據幀傳輸模式下,CAN總線網絡數據傳輸延時典型值為0.625ms。

表5 網絡傳輸延時測試結果表
表6 測試結果表明,在接收到一定量數據時會出現丟包現象,優先級越低數據丟包率越大。造成此現象的主要原因是信息接收處理端緩沖區溢出導致數據丟失[12]。
通過搭建CAN 總線數據傳輸測試系統,結合艦船導航系統信息實際特征,對CAN 總線網絡性能進行了測試,測試結果表明,CAN 總線性能滿足艦船導航系統運動姿態信息傳輸需求,可作為傳輸平臺在艦船導航系統中應用。

表6 4發1收網絡負載能力測試表