李丹 涂剛
【摘要】進入21世紀以來,飛行器在軍事、民用和科學研究等方面得到了越來越多的應用,其功能越來越復雜,綜合化程度越來越高。本文在分析CAN總線航天應用的基礎上,從硬件原理設計、CPU與CAN總線接口實現(xiàn)以及CAN總線通信軟件設計等方面進行了論述。
【關鍵詞】CAN總線:航空系統(tǒng):應用
【中圖分類號】V243.1 【文獻標識碼】A 【文章編號】1672-5158(2013)04-0213-02
1、引言
CAN(Controller Area Network)一控制器局域網(wǎng)。它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡。CAN總線最早是由德國Bosch公司在80年代初為解決航空系統(tǒng)中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜、光導纖維,通信速率可達1M/s。CAN總線通信接口中集成了CAN協(xié)議的物理層,數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充,數(shù)據(jù)塊編碼,循環(huán)冗余校驗,優(yōu)先級判別等項工作。
2、CAN總線工作原理及其特點
2.1 CAN總線工作原理
當CAN總線上的一個節(jié)點發(fā)送數(shù)據(jù)時,它以報文形式廣播給網(wǎng)絡中所有節(jié)點。對每個節(jié)點來說,無論數(shù)據(jù)是否是發(fā)給自己的,都對其進行接收。每組報文開頭的11位字符為標識符,定義了報文的優(yōu)先級,這種報文格式稱為面向內(nèi)容的編址方案。在同一系統(tǒng)中標識符是唯一的,不存在有兩個站發(fā)送具有相同標識符的報文。當幾個站同時競爭總線讀取時,這種配置十分重要。
當一個站要向其它站發(fā)送數(shù)據(jù)時,該站的CPU將要發(fā)送的數(shù)據(jù)和自己的標識符傳送給本站的CAN芯片,并處于準備狀態(tài);當它收到總線分配時,轉(zhuǎn)為發(fā)送報文狀態(tài)。CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報文格式發(fā)出,這時網(wǎng)上的其它站處于接收狀態(tài)。每個處于接收狀態(tài)的站對接收到的報文進行檢測,判斷這些報文是否是發(fā)給自己的,以確定是否接收它。
由于CAN總線是一種面向內(nèi)容的編址方案,所以很容易建立高水準的控制系統(tǒng)并靈活地進行配置。我們可以很容易地在CAN總線中加進一些新站而不必在硬件或軟件上進行修改。當所提供的新站是純數(shù)據(jù)接收設備時,數(shù)據(jù)傳輸協(xié)議不要求獨立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測量數(shù)據(jù)時,可由網(wǎng)上獲得,而不必每個控制器都有自己獨立的傳感器。
2.2 CAN總線的特點
(1)具有實時性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優(yōu)點;(2)可靠的錯誤處理和檢錯機制;(3)具有優(yōu)先權和仲裁功能,多個控制模塊通過CAN控制器掛到CAN-bus上,形成多主機局部網(wǎng)絡;(4)發(fā)送的信息遭到破壞后,可自動重發(fā);(5)可根據(jù)報文的11)決定接收或屏蔽該報文;(6)節(jié)點在錯誤嚴重的情況下具有自動退出總線的功能;(7)采用雙線串行通信方式,檢錯能力強,可在高噪聲干擾環(huán)境中工作;(8)報文不包含源地址或目標地址,僅用標志符來指示功能信息、優(yōu)先級信息。
3、CAN總線航天系統(tǒng)中應用分析
esa開展的CAN、1553b、spacewire技術研究表明以差分信號傳輸?shù)母咚俅锌偩€用于星載設備之間的數(shù)據(jù)傳輸能保證通信的瞬時性,有助于降低星載設備的功耗,有利于獲得低噪聲、emi低、抗電磁干擾性強、信號不受電源開關狀態(tài)變化影響等優(yōu)勢,具有良好的航天系統(tǒng)應用前景。
isoll898建議的CAN總線的物理電氣性能,能夠保證在總線發(fā)生某些故障時不至于中斷通信,而且可以為故障的定位提供可能。表1列出了CAN總線可能發(fā)生的各種開路和短路故障,以及在該故障模式下CAN總線受影響的情況。
CAN總線具有安全可信性。從協(xié)議分析,CAN總線的每個eeu具備錯誤檢測、標定和自檢的強有力措施。檢測錯誤包括“發(fā)送自檢、eye校驗、位填充和報文格式檢驗”。其錯誤檢測具有如下特性:(1)所有全局錯誤都可以檢測;(2)沒有檢測出的已損報文的剩余錯誤概率為報文出錯率的4.7×10-11。(3)報文中5個以內(nèi)的隨機分布錯誤都可以被檢測到;(4)發(fā)送器的所有局部錯誤都可以被檢測;(5)報文中任何奇數(shù)個錯誤都可以被檢測得到;(6)報文中長度小于15的突發(fā)性錯誤都可以被檢測得到;
4、航空系統(tǒng)中的雙冗余容錯CAN總線設計
圖1描述了基于CAN的雙冗余總線結構。基于CAN總線的雙冗余系統(tǒng)通信總線的基本設計思想是在衛(wèi)星各功能模塊之間布下兩條基于CAN的系統(tǒng)通信總線,即用兩套CAN總線控制模塊分別連接到總線bus0和busl上。正常情況下優(yōu)先在一條總線上通信,這條總線出現(xiàn)故障時通過另一條進行通信并重新初始化出錯的總線以備將來再用。這樣即使一條通信通道故障后不會影響整個系統(tǒng)的數(shù)據(jù)交換,大大提高了通信的可靠性。