姚 英,田心宇
(1.西安郵電大學 電子工程學院,西安 710121;2.西北工業(yè)大學365所,西安 710065)
隨著航空技術和微電子技術的發(fā)展,要求新一代的無人飛行器需具有適應不同設備快速掛接、快速處理的能力,航電系統(tǒng)也朝著綜合化、智能化、模塊化、標準化及系統(tǒng)化的方向發(fā)展。其系統(tǒng)結構由聯(lián)合式、綜合式發(fā)展到了先進綜合式,因此航電總線技術是新一代航空電子系統(tǒng)的研究目標。
目前ARINC429和MIL-STD-1553B總線在航空領域使用最為廣泛。但是ARINC429總線是點對點傳輸,且速率較低,無法滿足無人機綜合化的要求;MIL-STD-1553B總線屬于指令/響應式,速率高、抗干擾性強是目前使用非常廣泛的一種航空總線,但是由于成本較高,無法在無人機中推廣使用[1-3]。
CAN總線是德國Bosch公司開發(fā)的一種新型串行數(shù)據(jù)通信總線,其具有成本低廉、協(xié)議開放、實現(xiàn)簡單、速率快、可同時掛接多個節(jié)點、抗干擾性強等諸多優(yōu)點,使其具有極高的性價比,目前已成為中小型無人機航空電子總線的首選[4-5]。
CAN(控制器局域網(wǎng))總線是一種能有效支持分布式控制的串行總線,其通信速率最高可達1 Mb/s。CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,只針對報文進行編碼,使得網(wǎng)絡內的節(jié)點數(shù)理論上不受任何限制。
CAN總線系統(tǒng)主要由CAN控制器、CAN收發(fā)器、CAN總線數(shù)據(jù)傳輸線和CAN總線終端電阻構成。CAN控制器接收CPU送來的數(shù)據(jù),對這些數(shù)據(jù)處理后送給CAN收發(fā)器,CAN控制器同時接收CAN收發(fā)器傳來的數(shù)據(jù),對這些數(shù)據(jù)處理后送給CPU。
CAN數(shù)據(jù)總線是兩條雙向數(shù)據(jù)線,分為高位﹝CAN-H﹞和低位﹝CAN-L﹞數(shù)據(jù)線。CAN數(shù)據(jù)總線兩端通過終端電阻連接,終端電阻可以防止干擾。
CAN的報文標識碼由11位或29位二進制數(shù)組成,因此可以定義211或229個節(jié)點,而且不同節(jié)點可同時接收同一數(shù)據(jù),這種方式非常契合分布式控制系統(tǒng)。
CAN總線采用多機工作方式,任意時刻網(wǎng)絡中任一節(jié)點均可送報文,可實現(xiàn)點對點、點對多點或廣播等多種傳輸方式。
CAN總線數(shù)據(jù)段長度最多為8個字節(jié),在滿足控制領域一般要求的同時不會占用總線時間過長,從而保證了通信的實時性。每幀報文均具有循環(huán)冗余碼(CRC)校驗及總線監(jiān)視、位填充、報文格式檢查等多種檢錯措施,出錯率低同時具有自動關閉故障節(jié)點及出錯幀自動重發(fā)功能,可靠性高[6]。
CAN總線協(xié)議作為一種適用于航空電子設備之間進行數(shù)據(jù)交換的通信接口協(xié)議,具有以下特點:
1)成本低廉、結構簡單、實現(xiàn)方便、速率快、可同時掛接節(jié)點多(最多可達110個)、抗干擾性強;
2)其總線調度可以在一定的限制之內變化,并支持節(jié)點的熱插拔;
3)完全開放,便于擴展,允許用戶實現(xiàn)自定義的報文類型和協(xié)議;
以上優(yōu)點也使其作為一種小型飛行器通用總線標準進行推廣成為可能。
由于CAN總線的獨特優(yōu)點,西方眾多機構已將其引入航空領域。例如:
1)Eurocopter公司的全天候救援直升機中導航系統(tǒng)、飛行狀態(tài)傳感器和飛行員控制單元之間就使用CAN總線進行通訊。
2)Ae270商用和小型運輸機中的航空艙系統(tǒng)(SAM)使用CAN總線作為其多個智能化的單元的通信方式。
3)Bombardier-Rotax公司V220/300T型航空發(fā)動機就具有CAN總線接口。
4)NASA小飛機運輸系統(tǒng)(SATS)就是用CAN總線進行機載航空電子間的通信。
國內對CAN總線也進行了廣泛研究,并取得了引人注目的成果,目前CAN總線已經(jīng)成為了國內軍、民用機載設備的常用接口之一,眾多航空貨架產品的接口均采用CAN總線接口。
下面以標準幀為例介紹CAN總線數(shù)據(jù)協(xié)議。
CAN總線協(xié)議幀分為起始位、仲裁域、控制位、數(shù)據(jù)域、CRC位、應答位和結束位七部分構成,其中數(shù)據(jù)域的長度可以為0,其結構如圖1所示。
圖1 CAN總線協(xié)議幀結構示意圖
起始位它標志幀的起始,由一個單獨的“1”構成。
仲裁域包括標識符(11位)和1位的遠程發(fā)送請求位(RTR)構成。
控制位由6位組成,包括數(shù)據(jù)長度和兩位的保留位。
數(shù)據(jù)域即為發(fā)送的數(shù)據(jù),它由0~8個字節(jié)構成。
CRC位由16位構成,包括CRC序列和CRC界定符。
應答位長度為2位,包含應答間隙和應答界定符。
結束位長度為7位,由7位“0”組成。
對小型飛行器來說CAN總線網(wǎng)絡以其低廉的成本、高實時性等優(yōu)點常常作為其通訊網(wǎng)絡接口,該網(wǎng)絡通常將小型飛行器中的飛控計算機、任務設備、功能設備和伺服設備進行組網(wǎng)通訊以完成飛行控制和導航、任務設備控制和功能設備控制等功能。其組成如圖2所示。
圖2 CAN總線網(wǎng)絡組成框圖
針對小型飛行器而言,常用CAN總線模型通常為主從結構。即以飛控計算機為主節(jié)點,其他設備為從節(jié)點。飛控計算機向各掛接在CAN總線上的任務設備、伺服設備、功能設備等發(fā)送控制指令和無人機的姿態(tài)、位置等信息,同時接收各設備的反饋數(shù)據(jù);各任務設備、伺服設備和功能設備接收飛控計算機發(fā)來的控制指令和無人機信息,執(zhí)行并向飛控計算機反饋狀態(tài)信息。CAN總線模型拓撲結構如圖3所示。
圖3 CAN總線模型拓撲結構圖
該CAN總線模型如圖4所示。
圖4 飛行器CAN總線模型
在該總線模型中飛控計算機定時向掛接在CAN總線上的各任務設備、伺服設備和功能設備發(fā)送控制幀,各設備向飛控計算機返回包含反饋數(shù)據(jù)的應答幀。
由圖4可以看出,該飛行器中所有的電子設備均掛接在CAN總線上進行通訊,所以CAN總線的可靠性高低直接決定了整個飛行器的安全,下面對CAN總線模型進行分析。
圖4所示的系統(tǒng)可靠性模型如圖5所示。
圖5 無人機CAN總線可靠性模型
圖5所示的系統(tǒng)為串聯(lián)系統(tǒng),可靠性模型如式(1)所示:
R(t)=F(t)*M(t)*N(t)*P(t)*Q(t)
(1)
R(t)為系統(tǒng)的可靠性;F(t)為飛控計算機CAN模塊可靠性;M(t)為CAN總線可靠性;N(t)為任務設備CAN模塊可靠性;P(t)為伺服設備CAN模塊可靠性;為功能設備CAN模塊可靠性;
由于在可靠性分析中,故障屬于隨機事件,其實效分布函數(shù)最基本、最常見的描述是指數(shù)分布,標號為i單元的失效分布函數(shù)可以用e-λit表示。
λi為i單元的失效率;R(t)為系統(tǒng)可靠性。
將其代入式(1)可得:
R(t)=e-λFt*e-λMt*e-λNt*e-λPt*e-λQt
(2)
對式(2)進行分析可以看出,該系統(tǒng)中只要有一個系統(tǒng)故障則系統(tǒng)就會發(fā)生故障。所以提高系統(tǒng)的可靠性成了當務之急。通常余度技術是提升系統(tǒng)可靠性的有效手段。對圖5所示的可靠性模型進行改進,將其設計為并聯(lián)結構,如圖6所示。
圖6所示的CAN總線可靠性模型可以看成由5個并聯(lián)系統(tǒng)串聯(lián)構成??煽啃阅P腿缡?3)所示:
R(t)=A(t)*B(t)*C(t)*D(t)*E(t)
(3)
R(t)為系統(tǒng)的可靠性;
A(t)為飛控計算機雙余度CAN模塊可靠性;
B(t)為雙余度CAN總線可靠性;
C(t)為任務設備雙余度CAN模塊可靠性;
D(t)為伺服設備雙余度CAN模塊可靠性;
為功能設備雙余度CAN模塊可靠性;
雙余度系統(tǒng)的可靠性模型如式(4)所示:
(4)
R(t)為雙余度系統(tǒng)的可靠性;F(ti)為單套系統(tǒng)的可靠性。
式(4)也可以表示為:
(5)
R(t)為雙余度系統(tǒng)的可靠性;e-λit為第i個系統(tǒng)的可靠性。
將式(5)代入式(3)可得:
R(t)=(1-(1-e-λA1t)(1-e-λA2t))*
(1-(1-e-λB1t)(1-e-λB2t))*(1-(1-e-λC1t)
(1-e-λC2t))*(1-(1-e-λD1t)(1-e-λD2t))
*(1-(1-)(1-))
(6)
顯然,式(6)所示的系統(tǒng)可靠性相比式(2)的系統(tǒng)可靠性顯著提高;由于(1-e-λt)的值是大于0小于1的數(shù),如果繼續(xù)增加其數(shù)量就可以繼續(xù)增加系統(tǒng)的可靠性;但是系統(tǒng)余度數(shù)量和系統(tǒng)規(guī)模、體積和重量成反比,即余度數(shù)目增加隨之系統(tǒng)越復雜,體積和重量隨之增加,這對于小型飛行器而言不可接受。
通常從單余度系統(tǒng)到雙余度系統(tǒng)時,可靠性增加最為顯著,體積和重量帶來的影響最小,所以本文采用雙余度系統(tǒng)設計。
使用余度技術對圖1所示的模型進行優(yōu)化,可得圖7所示的模型。
圖7 優(yōu)化后的無人機雙余度CAN總線模型
在優(yōu)化后的模型中,CAN總線系統(tǒng)由CAN1和CAN2兩條CAN總線組成;模型中飛控計算機CAN總線模塊、任務設備CAN總線模塊、功能設備CAN總線模塊和各伺服設備CAN總線模塊均由兩個完全一致且相互獨立的CAN總線模塊構成,且分別掛接在CAN1和CAN2總線上;在工作時飛控計算機的CAN1和CAN2模塊同時向總線上的各設備發(fā)送控制幀信息,掛接在總線上的各設備接收到控制幀信息并執(zhí)行后通過各自的CAN1和CAN2模塊同時向飛控計算機返回反饋幀信息。
根據(jù)上述分析設計了一種針對小型飛行器雙余度CAN總線算法,如下所示:
1)設定CAN1和CAN2模塊優(yōu)先級;
2)設定主節(jié)點飛控計算機針對各機載設備發(fā)送控制幀周期(如數(shù)據(jù)傳輸頻率為80 Hz,則定時周期為12.5 ms);
3)設定各從節(jié)點優(yōu)先級以防止總線競爭;
4)CAN1和CAN2模塊同時工作;
5)對CAN1和CAN2模塊按高低優(yōu)先級的順序進行檢測,如數(shù)據(jù)接收正確則成功次數(shù)+1;測試次數(shù)+1,如在閾值時間內未收到數(shù)據(jù),則使用CAN2模塊數(shù)據(jù),失敗次數(shù)+1;測試次數(shù)+1;
6)判斷失敗次數(shù)是否大于閾值,是則系統(tǒng)降級切除該設備中的CAN模塊使用低優(yōu)先級CAN2模塊數(shù)據(jù),并將故障信息返回,否則返回步驟4執(zhí)行。
CAN協(xié)議采用了非破壞性總線仲裁技術,兩個或兩個以上節(jié)點同時傳送信息時,低優(yōu)先級節(jié)點主動停止數(shù)據(jù)發(fā)送,而高優(yōu)先級節(jié)點數(shù)據(jù)傳送則不受影響。
本系統(tǒng)將飛控計算機的CAN1模塊設為最高優(yōu)先級CAN2模塊次之,伺服設備優(yōu)先級低于飛控計算機,功能設備的優(yōu)先級低于伺服設備,任務設備的優(yōu)先級最低。
設定優(yōu)先級后飛控計算機CAN1模塊和CAN2模塊按照一定周期按優(yōu)先級順序向總線上的各設備發(fā)送控制幀信息,由于為了防止總線競爭,飛控計算機的CAN1模塊和CAN2模塊按照一定周期針對各機載設備進行周期性數(shù)據(jù)傳輸,機載設備收到數(shù)據(jù)后延遲固定時間后返回應答數(shù)據(jù),優(yōu)先級高的數(shù)據(jù)優(yōu)先通過總線,這樣就有效地防止了總線競爭。其總線調度流程如圖8所示。
圖8 總線調度流程圖
飛控計算機雙余度CAN總線軟件工作機理如下:
飛控計算機工作時,其CAN1和CAN2模塊按照預先設定的定時任務同時發(fā)送控制幀數(shù)據(jù),延時一個固定周期后接收CAN1和CAN2數(shù)據(jù),首先檢測CAN1數(shù)據(jù),如數(shù)據(jù)接收正確則成功次數(shù)+1;測試次數(shù)+1,如固定周期內未收到數(shù)據(jù),則使用CAN2模塊數(shù)據(jù),CAN1模塊失敗次數(shù)+1;測試次數(shù)+1,若失敗次數(shù)大于閾值則將CAN1模塊切除,使用CAN2模塊數(shù)據(jù)。
如CAN1模塊正常則檢測CAN2模塊數(shù)據(jù),如數(shù)據(jù)接收正確則成功次數(shù)+1;測試次數(shù)+1,如固定周期內未收到數(shù)據(jù)則模塊失敗次數(shù)+1,測試次數(shù)+1,若失敗次數(shù)大于閾值則將CAN2模塊切除。
飛控計算機雙余度CAN總線軟件工作流程如圖9所示。
圖9 飛控計算機雙余度CAN總線軟件工作流程圖
各功能節(jié)點雙余度CAN總線軟件工作流程如圖10所示。
圖10 各功能節(jié)點雙余度CAN總線軟件工作流程圖
按上述算法設計的CAN總線網(wǎng)絡上的幀數(shù)據(jù)時序如圖11所示。
圖11 CAN總線幀數(shù)據(jù)時序圖
由于預先設定了CAN總線波特率,同時小型飛行器總線距離較短,所以每一幀發(fā)送時間可知,即飛控計算機發(fā)送一次的所有控制幀時間是確定的;同理所有反饋幀發(fā)送時間也可以確定,由于我們設計時希望總線上不能同時存在控制幀和反饋幀,由此算出飛控計算機控制幀的發(fā)送周期,以此周期構建實時任務,設計出CAN總線網(wǎng)絡。
按照上文所述模型構建雙余度CAN總線系統(tǒng)如圖12所示。
圖12 雙余度CAN總線系統(tǒng)
該雙余度CAN總線系統(tǒng)由5個CAN節(jié)點構成,分別是飛控計算機、偵察設備、伺服設備1、伺服設備2和隨動裝置,每個CAN節(jié)點均為雙余度CAN總線設計。飛控計算機為主節(jié)點,偵察設備、伺服設備1、伺服設備2和隨動裝置為從節(jié)點,從節(jié)點的優(yōu)先級為伺服設備1最高,伺服設備次之,偵察設備第三,隨動裝置最后。主節(jié)點每20 ms向偵察設備、伺服設備1、伺服設備2和隨動裝置4個從節(jié)點發(fā)送控制指令,4個從節(jié)點接收到控制指令后均延遲10 ms向主節(jié)點返回反饋數(shù)據(jù)。
為了驗證總線故障采用軟件模擬的方式分別模擬主節(jié)點故障和從節(jié)點故障主節(jié)點故障為主節(jié)點的CAN1模塊正常工作后開始計時,5分鐘后自動故障不向從節(jié)點發(fā)送控制指令;從節(jié)點故障為從節(jié)點的CAN1模塊正常工作后開始計時,10分鐘后自動故障不向主節(jié)點發(fā)送反饋數(shù)據(jù)。
經(jīng)過長時間實驗表明本雙余度CAN總線系統(tǒng)不論是主節(jié)點故障還是從節(jié)點故障時,系統(tǒng)均工作正常,各從節(jié)點能夠正常接收主節(jié)點的控制指令,主節(jié)點也能夠正常接收各從節(jié)點反饋數(shù)據(jù)。
CAN總線由于其自身的諸多優(yōu)點已經(jīng)得到了廣泛的應用,目前CAN接口已經(jīng)成為了眾多航空設備的通用接口之一。本文設計的雙余度CAN總線策略經(jīng)實踐驗證表明,在保證實時性的同時顯著提高了系統(tǒng)的可靠性,完全滿足總體要求,而為此付出的軟硬件代價較小。