孫 超,金仁波
(中國船舶重工集團(tuán)公司第七二三研究所,江蘇 揚州 225101)
隨著我國綜合國力的不斷提升,艦載武器裝備的品種不斷增多,功能不斷加強(qiáng)。而設(shè)備的智能化管理,需要顯控設(shè)備與各個分設(shè)備通訊,時刻獲取其相應(yīng)的工作狀態(tài),做到一主多從或多主多從的點對點通訊方式。
CAN是Controller Area Network的縮寫(以下簡稱CAN),是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議,已廣泛應(yīng)用于工業(yè)自動化、醫(yī)療設(shè)備、船舶等領(lǐng)域。它是有效支持分布式控制或?qū)崟r控制的一種通訊網(wǎng)絡(luò),可以實現(xiàn)多個設(shè)備的交互式管理。CAN通信具有以下優(yōu)點[1]:多主控制、消息的發(fā)送、系統(tǒng)的柔軟性、通信速度、遠(yuǎn)程數(shù)據(jù)請求、錯誤的檢測、通知、恢復(fù)功能、故障封閉以及可連接多個單元。CAN總線任意2個的最大傳輸距離為10 km(傳輸速率5 kbps),最大的傳輸速率為1 Mbps(總線長度少于40 m)。CAN采用的逐位總裁機(jī)制能強(qiáng)制處理總線上的錯誤,避免整個網(wǎng)絡(luò)崩潰。
CAN通訊的多種優(yōu)點適用于艦船上復(fù)雜的網(wǎng)絡(luò)系統(tǒng)。然而,艦載武器裝備的整體結(jié)構(gòu)復(fù)雜,用電設(shè)備繁多,電磁環(huán)境惡劣,通訊過程中難以避免信號的干擾、延遲、抖動等問題,對通訊方式的穩(wěn)定性、可靠性提出了新的要求。
本文對CAN通信的可靠性理論進(jìn)行研究,對提高艦船CAN總線通信可靠性具有重要意義。
產(chǎn)品的可靠性是指在規(guī)定條件下、規(guī)定時間內(nèi),完成規(guī)定功能的能力,可以通過故障概率密度函數(shù)、可靠度函數(shù)、平均壽命[2]等不同的方式進(jìn)行描述。
CAN總線通信的可靠性,主要為傳輸可靠性。它的定義為在規(guī)定時間完成一次完整報文傳輸?shù)哪芰3]。
阻塞時間Tb,指的是節(jié)點欲向網(wǎng)絡(luò)上發(fā)送一個報文,直到報文完整發(fā)送到網(wǎng)絡(luò)上為止所需的等待時間;軟件抖動時間Tm,指的是受現(xiàn)場相關(guān)影響因素造成軟件的執(zhí)行延時時間;截止時間Td,是指傳送一次完整報文的時間;設(shè)報文一次性成功發(fā)送至網(wǎng)絡(luò)所需的時間為Tframe。CAN報文在傳輸過程中,受各種因素影響,會出現(xiàn)傳輸阻塞、軟件抖動等情況,若滿足Tframe+Tb+Tm-Td≤0,則表明一幀報文已成功傳輸。報文的可靠度可以定義為該報文截止期內(nèi)發(fā)送成功的概率,可以用R表示,其數(shù)學(xué)定義為:
(1)
式中:fx(X)表示隨機(jī)向量X=(X1,X2,…,Xn)的聯(lián)合概率密度函數(shù);g(X)表示狀態(tài)函數(shù),表征傳輸過程中的成功與失敗2種狀態(tài),即:
(2)
(3)
(4)
(5)
取g(X)的均值與方差:
(6)
(7)
由此可靠性指標(biāo)為:
(8)
由以上可得可靠度R為:
R=Φ(β)
(9)
式中:Φ(β)為一標(biāo)準(zhǔn)正態(tài)分布函數(shù)。
硬件因素、軟件因素和外部因素是影響總線通信可靠性的主要因素。硬件因素,主要包括總線中硬件電路設(shè)計、電子元器件壽命等;軟件因素,主要包括軟件復(fù)雜度、軟件設(shè)計、開發(fā)軟件等。
外部因素是影響CAN總線通信的主要因素[2]。第一,CAN總線的通訊帶寬。當(dāng)數(shù)據(jù)量達(dá)到網(wǎng)絡(luò)的預(yù)定帶寬時,會發(fā)生通訊延遲、丟失,降低CAN的實時性。當(dāng)進(jìn)行二次傳輸時,占用總線時間將增加,丟失其控制優(yōu)勢。第二,CAN總線外部節(jié)點故障。節(jié)點的掉電及接地故障均能自動脫離總線,不影響總線通訊,但會失去該節(jié)點的控制及監(jiān)測。第三,CAN總線的短路、斷路。CAN的短路會影響CAN的差分電平,總線將無法正常工作;斷路,會使得斷路節(jié)點以外的所有節(jié)點脫離總線,影響實時通訊。第四,復(fù)雜的電磁環(huán)境。艦船內(nèi)有多個設(shè)備,每個設(shè)備均由多種分設(shè)備組成,其中不免有大功率電源、雷達(dá)天線、高壓線纜等設(shè)備之間的輻射干擾、傳導(dǎo)干擾,以及磁暴、雷電等自然干擾。惡劣的電磁環(huán)境,可能對CAN總線通訊產(chǎn)生位翻轉(zhuǎn)、循環(huán)冗余校驗(CRC)錯誤等影響,使整個系統(tǒng)傳輸能力下降,可靠性降低。
在無法改變周邊電磁干擾環(huán)境的情況下,提高CAN通信的可靠性主要依靠硬件設(shè)計及軟件設(shè)計。硬件設(shè)計主要包括硬件設(shè)備的冗余設(shè)計和保護(hù)設(shè)計;軟件設(shè)計主要包括CAN通信的算法設(shè)計。
(1) CAN的冗余設(shè)計
CAN總線冗余設(shè)計[4-5]:CAN通信總線上共有2條通信線纜,總線上每個節(jié)點的設(shè)計均采用2個驅(qū)動器和1個控制器或者2個驅(qū)動器和2個控制器。每個節(jié)點在進(jìn)行數(shù)據(jù)發(fā)送時,微控制器(MCU)將數(shù)據(jù)通過2個驅(qū)動器同時發(fā)送給2條CAN線路;當(dāng)進(jìn)行數(shù)據(jù)接收時,總線上的數(shù)據(jù)發(fā)送給2個驅(qū)動器,驅(qū)動器在進(jìn)行數(shù)據(jù)處理后,送入MCU?;蛎總€節(jié)點有2個驅(qū)動器及2個控制器,同時通過2條CAN線路收發(fā),到中央控制器處理。當(dāng)2條線路均正常,選取主條線路收發(fā)即可;當(dāng)主通訊線路發(fā)生故障時,切換備用線路。其原理框圖如圖 1所示。
圖1 CAN冗余設(shè)計原理框圖
中央控制器在截止時間內(nèi)未收到主線路數(shù)據(jù),則該通訊線路存在異常,可立即切換到備份線路查看通訊報文。該冗余設(shè)計可大大提高通信的可靠性。
(2) CAN的保護(hù)電路設(shè)計
CAN的保護(hù)電路設(shè)計,主要是針對雷擊、串?dāng)_等環(huán)境因素對通訊的影響。可以通過在CAN輸入輸出端加匹配電阻、共模電感及CAN保護(hù)器,起到通訊穩(wěn)定的作用,如圖 2所示。
圖2 CAN保護(hù)電路
軟件的設(shè)計優(yōu)化,在硬件設(shè)計基礎(chǔ)上,主要針對單個控制器、2個CAN驅(qū)動器的情況。其流程圖如圖 3所示。
圖3 軟件設(shè)計流程圖
該優(yōu)化算法能預(yù)先計算CAN總線網(wǎng)絡(luò)中的冗余路徑,當(dāng)主路線發(fā)生故障時,可迅速對各個流量的備用路線進(jìn)行部署,防止通信故障,提高可靠性。
該軟件的優(yōu)化算法設(shè)計如下:
首先,每個通訊節(jié)點將當(dāng)前的連接狀態(tài)、鏈路負(fù)載等信息通過總線上報給中央控制器。
其次,根據(jù)流量的需求和網(wǎng)絡(luò)結(jié)構(gòu),中央控制器搜尋最優(yōu)路徑,對路徑長度、帶寬排序,配置各個通訊節(jié)點,達(dá)到最優(yōu)狀態(tài)。
最后,某個通訊節(jié)點故障,及時上報中央處理器,中央處理器經(jīng)過接收報文并處理,判斷確實故障時,立即切換到備份線路。
此優(yōu)化的配置算法,當(dāng)節(jié)點故障時,能及時切換備用線路,避免了通訊阻塞、故障恢復(fù)時間,對艦載設(shè)備通訊的實時性和可靠性都起到了重要作用。
CAN總線是艦載設(shè)備應(yīng)用最為廣泛的現(xiàn)場總線之一,然而其可靠性易受電磁干擾、延遲等問題的影響。本文圍繞提高CAN通信可靠性進(jìn)行論述,首先討論了CAN可靠性定義及可靠性影響因素,然后從硬件上提出了一種冗余設(shè)計架構(gòu)和保護(hù)電路,并從軟件上提出了一種基于硬件冗余路徑后流量配置算法,對提高艦載CAN通信網(wǎng)絡(luò)可靠性具有重要的指導(dǎo)和應(yīng)用意義。