基于CAN總線的冗余系統(tǒng)方案_第1頁
基于CAN總線的冗余系統(tǒng)方案_第2頁
基于CAN總線的冗余系統(tǒng)方案_第3頁
基于CAN總線的冗余系統(tǒng)方案_第4頁
基于CAN總線的冗余系統(tǒng)方案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 ITOC o 1-5 h z HYPERLINK l bookmark0 基于CAN總線的冗余系統(tǒng)方案1冗余CAN總線系統(tǒng)的基本方案1 HYPERLINK l bookmark2 CiA304:安全相關(guān)通信的CANopen框架2 HYPERLINK l bookmark4 2.1簡介2 HYPERLINK l bookmark6 2.2安全相關(guān)通信機制3 HYPERLINK l bookmark8 2.3硬件結(jié)構(gòu)4 HYPERLINK l bookmark10 CiA307:海事電子的CANopen框架5 HYPERLINK l bookmark12 簡介5 HYPERLINK l book

2、mark14 硬件結(jié)構(gòu)5 HYPERLINK l bookmark16 軟件架構(gòu)7 HYPERLINK l bookmark18 3.4FlyingNMTmaster7 HYPERLINK l bookmark20 3.5冗余通信機制8 HYPERLINK l bookmark22 CANaerospace:CAN在航電系統(tǒng)的應(yīng)用層協(xié)議10 HYPERLINK l bookmark24 4.1簡介10冗余消息ID分配10系統(tǒng)冗余11 HYPERLINK l bookmark26 結(jié)論126.參考文獻(xiàn)12基于CAN總線的冗余系統(tǒng)方案潘凱,2007-03-01 MicroCANController

3、j1FTransceiveriIControllerMicroControllerMicroControllerItCANCANControllerControllerTransceiverMicroControllerCANCANCANBusCANBus(1).軟件冗余(2).硬件冗余TransceiverTransceiverL:ANBus11=1ControllerControllerCANBus2(3).總線冗余基于CAN總線的冗余系統(tǒng)方案潘凱,2007-03-01基于CAN總線的冗余系統(tǒng)方案潘凱,2007-03-01作為工業(yè)現(xiàn)場總線的一種,與其他的通信總線相比,CAN總線具有突出的可

4、靠性、實時性和靈活性。目前,CAN總線不僅在汽車領(lǐng)域,而且在電梯、消費電子、船舶、工程機械等自動化領(lǐng)域,甚至是航空航天領(lǐng)域得到了廣泛的應(yīng)用。在某些領(lǐng)域,對安全性要求比較高,系統(tǒng)是安全相關(guān)(safetyrelated)的。為了滿足一定的安全級別,需要使用系統(tǒng)冗余機制。由于CAN總線一開始并不是針對安全領(lǐng)域開發(fā)的,它對系統(tǒng)冗余的支持具有一定的不足。為了在安全相關(guān)系統(tǒng)中使用CAN總線,就必須建立相應(yīng)的對系統(tǒng)冗余的支持機制。本文研究了幾種支持系統(tǒng)冗余的CAN總線高層協(xié)議(CANopenCiA304,CiA307,CANaerospace),介紹了這些高層協(xié)議實現(xiàn)CAN冗余的主要原理,總結(jié)了在CAN總線

5、網(wǎng)絡(luò)中實現(xiàn)系統(tǒng)冗余的基本方案。1.冗余CAN總線系統(tǒng)的基本方案圖1幾種冗余CAN總線系統(tǒng)的拓?fù)浣Y(jié)構(gòu)在CAN總線系統(tǒng)中實現(xiàn)冗余有三種基本方案。方案一為軟件冗余。該方案在不改變CAN節(jié)點任何硬件結(jié)構(gòu)的條件下即可實現(xiàn),如圖1-(1)所示。軟件冗余使用了CAN節(jié)點的標(biāo)準(zhǔn)結(jié)構(gòu):MCU運行應(yīng)用程序,CAN通信由CAN控制器(CANController)和收發(fā)器(Transceiver)實現(xiàn),其中CAN控制器實現(xiàn)數(shù)據(jù)鏈路層CAN消息的交換,而收發(fā)器實現(xiàn)物理層信號的交換。在軟件中,對每一條CAN消息進行復(fù)制,將同一條CAN消息向網(wǎng)絡(luò)上發(fā)送兩次,只有兩條同樣的消息都發(fā)送出去后才認(rèn)為該消息發(fā)送成功。為了進一步增加

6、安全性,對第二條消息的所有數(shù)據(jù)位進行翻轉(zhuǎn),并且其ID場也至少有兩位是翻轉(zhuǎn)的。除了加入軟件冗余外,一些應(yīng)用可能也需要加入硬件冗余,即方案二。在該方案中,MCU和CAN控制器是冗余的,但它們?nèi)允褂孟嗤氖瞻l(fā)器和物理介質(zhì)(電纜)。這種方案主要用在負(fù)責(zé)進入安全狀態(tài)的電路需要進行“可控”關(guān)機的場合下,如按一定順序關(guān)閉部件或向電機施加額外的制動。在某些場合下,如船舶應(yīng)用中,電纜或整個網(wǎng)絡(luò)發(fā)生故障的可能性要高于單個電子設(shè)備發(fā)生故障的可能性。因此,需要對電纜進行備份,為CAN網(wǎng)絡(luò)建立兩個通道,實現(xiàn)總線冗余,即方案三。在該方案中,不僅要建立兩條CAN總線,而且要保證兩個CAN通道的電纜以不同的路徑布置。這樣,總

7、線的主干就會分開,比如在船舶應(yīng)用中一條CAN總線沿右舷布置,另一條則按左舷布置。目前,有三種CAN總線高層協(xié)議支持不同機制的CAN冗余。CANopen標(biāo)準(zhǔn)CiA304規(guī)定了與安全相關(guān)通信的CANopen應(yīng)用框架,采用“軟件冗余硬件冗余”的機制;CANopen標(biāo)準(zhǔn)CiA307規(guī)定了海事電子的CANopen應(yīng)用框架,采用的是雙通道總線冗余機制;CANaerospace標(biāo)準(zhǔn)規(guī)定了CAN總線在航電系統(tǒng)中的應(yīng)用協(xié)議,也采用了雙通道總線冗余機制。2.CiA304:安全相關(guān)通信的CANopen框架2.1簡介CiA304標(biāo)準(zhǔn)是CANopen應(yīng)用層和通信子協(xié)議(CiADS301)的附加協(xié)議,它規(guī)定了CANope

8、n在安全相關(guān)領(lǐng)域使用時的應(yīng)用框架。CiA304中只規(guī)定了CANopen設(shè)備間交換安全相關(guān)數(shù)據(jù)時所采用SRDO數(shù)據(jù)傳輸機制。對實現(xiàn)系統(tǒng)冗余的一些細(xì)節(jié)問題并未作詳細(xì)規(guī)定,需要使用者根據(jù)應(yīng)用需求自行確定。安全相關(guān)通信機制CAN通信安全性的概念不是保證完全沒有錯誤和故障,而是能夠檢測所有錯誤并以可預(yù)測的(安全的)方法做出響應(yīng)。在CiA304中,使用安全相關(guān)數(shù)據(jù)對象SRDO來保證CAN通信的安全性。SRDO負(fù)責(zé)安全相關(guān)數(shù)據(jù)的傳送,每個SRDO包含兩條CAN消息,它們的ID至少有兩位是不同的。用戶需要傳輸?shù)臄?shù)據(jù)在兩條CAN消息中是冗余的,即數(shù)據(jù)的含意相同、但是第一條消息與第二條消息相比其數(shù)據(jù)是按位翻轉(zhuǎn)的。

9、SRDO般按周期循環(huán)發(fā)送。需要的時候,SRDO也可以是事件驅(qū)動的,比如當(dāng)需要確保輸入端發(fā)生了安全攸關(guān)變化時有快速的響應(yīng)時。CiA304中規(guī)定禁止使用遠(yuǎn)程請求幀(RTR)請求SRD0,并且SRDO只能在NMT狀態(tài)為operational時才有效。只有當(dāng)兩條CAN數(shù)據(jù)幀都被正確接接收到(沒有失效或超時)的時候,該SRDO才是有效的。SRDO既可用于數(shù)據(jù)發(fā)送,也可用于接收。針對SRDO,有兩個監(jiān)視參數(shù)。一個是安全監(jiān)視周期SCT,一個是安全相關(guān)對象的有效時間SRVT。SCT用以測試CAN網(wǎng)絡(luò)中周期性SRDO傳輸?shù)恼_性,如果SCT超時,安全性控制器將轉(zhuǎn)入安全狀態(tài)。如圖2所示。SRDOSRDOSRDOr

10、efreshtimerefreshte、refreshtime!SCTexpired!SCTSCTSCT圖2安全監(jiān)視周期SCT示意圖SRVT用來保證組成SRDO的兩條CAN消息在限定時間內(nèi)被正確接收。通常,兩條CAN消息的發(fā)送延遲時間很小,如果在SRVT期限內(nèi)沒有收到第二條消息,則標(biāo)明網(wǎng)絡(luò)的傳輸能力下降了,從而使得安全相關(guān)通信的響應(yīng)時間加長,這時候安全性控制器將轉(zhuǎn)入安全狀態(tài)。如圖3所示。SRDOSRDOSRDOSRDO?SRVTSRVTSRVTSRWtSRVTexpired圖3安全相關(guān)對象的有效時間SRVT示意圖SRDO的發(fā)送和接收按照如圖4所示的WriteSRDO協(xié)議進行。圖4WriteSR

11、DO協(xié)議硬件結(jié)構(gòu)在安全系統(tǒng)中,硬件和軟件是互相獨立的。根據(jù)安全級別,可能會用到多種結(jié)構(gòu)。在CiA304標(biāo)準(zhǔn)中,推薦使用如圖5所示的網(wǎng)絡(luò)實現(xiàn)模型。在該模型中,每個節(jié)點需要一個CAN收發(fā)器,兩個獨立的CAN控制器和冗余的對象字典(分別由兩個MCU控制)。圖5符合IEC61508SIL2和SIL3級別的安全相關(guān)通信網(wǎng)絡(luò)控制模型針對IEC61508規(guī)定的SIL3級別的安全系統(tǒng),其錯誤率應(yīng)小于10-hour。按照該要求,在網(wǎng)絡(luò)中存在64個安全設(shè)備的條件下,每秒鐘最多可發(fā)送44個SRDO。3.CiA307:海事電子的CANopen框架簡介CiA307提供了海事電子應(yīng)用CANopen協(xié)議的一個框架,使用該框

12、架可以方便地實現(xiàn)安全的互操作性并支持現(xiàn)代海事系統(tǒng)和設(shè)備所要求的功能。盡管CAN總線并不是一種天生的冗余總線,但CiA307標(biāo)準(zhǔn)所建立的海事應(yīng)用框架具備了所有處理冗余總線所必需的規(guī)則。在該框架下規(guī)定了海事電子應(yīng)用中的冗余通信機制、節(jié)點監(jiān)視原則、自啟動設(shè)備和復(fù)用的MPDO機制。在冗余通信部分,詳細(xì)地說明了冗余通信系統(tǒng)的硬件需求、CANopen設(shè)備的基本軟件結(jié)構(gòu)、flyingNMTmaster和各種冗余通信對象及其原理。CiA307是所有支持系統(tǒng)冗余的CAN高層協(xié)議中最全面的一個標(biāo)準(zhǔn)。硬件結(jié)構(gòu)CiA307規(guī)定的CAN冗余通信系統(tǒng)的硬件結(jié)構(gòu)如圖6所示,每個海事設(shè)備都連接到兩條CAN總線上。該冗余CAN

13、系統(tǒng)具有:兩條CAN總線。一條稱作缺省總線(CAN1),另一條為冗余總線(CAN2)。CAN1和CAN2在技術(shù)上沒有任何區(qū)別,在工作時有一條CAN總線為“活動”總線(ActiveLine)。每個CANopen設(shè)備具有兩個CAN收發(fā)器。每個CANopen設(shè)備具有兩個CAN控制器。圖6冗余通信系統(tǒng)的硬件結(jié)構(gòu)為提高系統(tǒng)安全性,應(yīng)確保任何一個節(jié)點與網(wǎng)絡(luò)斷開物理連接后總線都不應(yīng)當(dāng)被切斷。為此,規(guī)定節(jié)點的網(wǎng)絡(luò)接口如圖7所示。圖7節(jié)點CAN物理接口連接示意圖軟件架構(gòu)支持冗余通信的海事CANopen設(shè)備的軟件架構(gòu)如圖8所示。每個CANopen設(shè)備應(yīng)同時運行在兩個獨立的CAN通道上。兩個CAN通道具有獨立的NM

14、Tslave狀態(tài)機,CANopen設(shè)備的節(jié)點狀態(tài)由節(jié)點狀態(tài)判決模塊(Nodestatedetermination)根據(jù)兩個通道上的NMTslave狀態(tài)決定。ApplicationNode-IDObjectdictionaryNodestatedeterminationNMTslaveNMTslaveGAN1CAN2圖8CANopen設(shè)備的基本軟件架構(gòu)FlyingNMTmaster為了在冗余系統(tǒng)中實現(xiàn)flyingmaster原理,CiA307規(guī)定了如圖9所示的系統(tǒng)啟動過程。該過程只針對具有缺省和冗余兩個CAN通道的CANopen設(shè)備。上電后,首先判斷哪個CAN通道是活動通道;接著,在活動CAN通

15、道上按照CiA302標(biāo)準(zhǔn)決定哪個設(shè)備為master設(shè)備。當(dāng)某個設(shè)備獲取master資格后,它啟動活動CAN總線上的CAN網(wǎng)絡(luò)。然后,master設(shè)備向另一條CAN總線發(fā)送“復(fù)位通信”命令以啟動該總線上的網(wǎng)絡(luò)。冗余通信機制CiA307規(guī)定了各種CANopen通信對象的冗余通信機制,包括過程數(shù)據(jù)對象PDO、緊急事件對象、時戳對象、同步對象、服務(wù)數(shù)據(jù)對象SDO和網(wǎng)絡(luò)管理對象NMT。其中比較典型的是冗余PDO的發(fā)送和接收機制。在CANopen網(wǎng)絡(luò)中,使用PDO交換過程數(shù)據(jù)。圖10顯示了冗余PDO發(fā)送的基本原理和相關(guān)時間參數(shù)。每個PDO從兩個CAN通道(包括發(fā)送CAN控制器、發(fā)送總線驅(qū)動器、CAN總線、

16、接收總線驅(qū)動器、接收CAN控制器)發(fā)送。因為兩個通道上的狀況是不同的,相關(guān)PDO的發(fā)送會在時間上也會存在差異。假設(shè)對一個設(shè)計良好的系統(tǒng),PDO的發(fā)送會限定在一段確定的時間內(nèi)。為保證做到這一點,在CANopen標(biāo)準(zhǔn)中使用了禁止時間的概念。禁止時間保證所有重要消息都會在一個確定的時間窗內(nèi)發(fā)送。這樣,當(dāng)一個PDO的發(fā)送延遲時間太長時,就能檢測到某通信通道的故障。4Tx-RequestPDOA(n】Tx-DelayPDOA(n+1),LineBTx-DelayPDOA(n)?LineA圖10冗余PDO發(fā)送模型Tx-DelayPDOA(n+1)rLineATx-DelayPDOA(n)?vlaxTx-D

17、elayTimeMaxTx-DeIayTimeCiA307規(guī)定的冗余CAN網(wǎng)絡(luò)中PDO的發(fā)送規(guī)則如下:PDO在兩條CAN總線上是同時被請求發(fā)送的;PDO的發(fā)送必須是在提出發(fā)送請求后的最大發(fā)送延遲時間內(nèi)進行;PDO的發(fā)送間隔應(yīng)大于其禁止時間(inhibittime);缺省CAN通道(CAN1)具有一個“通道錯誤計數(shù)器”(ChannelErrorCounter),用以記錄通道上發(fā)生的PDO發(fā)送錯誤狀況。通道錯誤計數(shù)器的值按照一定的規(guī)則增加或減小。當(dāng)其值超過失效計數(shù)器閾值時,CAN1不再發(fā)送心跳消息,并且由冗余通道(CAN2)發(fā)送“指示活動總線”消息,活動總線切換為CAN2。當(dāng)通道錯誤計數(shù)器的值降為

18、零時,活動通道重新切換為缺省通道CAN1。應(yīng)用層應(yīng)確保關(guān)鍵消息的發(fā)送。從兩個CAN通道(缺省通道和冗余通道)上都可接收PDO后,節(jié)點在接收到冗余PDO后可自行決定如何使用它們。4.CANaerospace:CAN在航電系統(tǒng)的應(yīng)用層協(xié)議簡介CANaerospace是針對航電系統(tǒng)的特殊需求而設(shè)計的一種CAN應(yīng)用層協(xié)議,它規(guī)定了機載應(yīng)用中使用CAN進行通信時的數(shù)據(jù)表示、節(jié)點地址聲明、消息ID分配和物理接口等機制和標(biāo)準(zhǔn)。CANaerospace最初由StockFlightSystems公司于1997年創(chuàng)建,NASA于2001年將其標(biāo)準(zhǔn)化為“AGATE數(shù)據(jù)總線”。冗余消息ID分配許多現(xiàn)代的集成航電設(shè)備和

19、電子飛行控制系統(tǒng)使用如圖11所示的架構(gòu)。在該架構(gòu)下,兩個相同類型的冗余單元通過相等數(shù)目的總線通道進行通信。如果設(shè)計合理,該系統(tǒng)會防止由于單個設(shè)備失效而引起系統(tǒng)功能的整體失效。使用CANaerospace的標(biāo)準(zhǔn)ID分配機制,每個總線參數(shù)都具有唯一的標(biāo)識符(如機身滾動速率的標(biāo)識符為0 x304)。這意味著,僅允許一個單元(如姿態(tài)/航向基準(zhǔn)系統(tǒng)-AHRS1)向總線上發(fā)送特定參數(shù)。為了增加一個新的或冗余的航電設(shè)備,設(shè)計者有兩種選擇方案。第一種方案是定義一條新的消息,并為其分配一個未用的CANID。對高優(yōu)先級功能(如陀螺儀的第二姿態(tài))來說,可以使用200-299范圍內(nèi)的用戶自定義高優(yōu)先級CANID?;蛘?/p>

20、,對冗余功能來說,可在300-1799標(biāo)準(zhǔn)操作數(shù)據(jù)(NOD)范圍內(nèi)第一個未使用的CANID處插入新的消息。使用NODCANID可以將新消息與具有相近優(yōu)先級的同類航電設(shè)備進行分組。設(shè)計者應(yīng)盡量使用與原始功能相同的消息格式/類型,以保證互用性。如果使用了29位標(biāo)識符,則可使用第二種方案實現(xiàn)冗余系統(tǒng)架構(gòu)。在該方案中,定義了一個以0 x10000為基數(shù)的“冗余級別偏移量”將這個偏移量加到每個CAN消息標(biāo)識符上就可以從多個單元以唯一的標(biāo)識符發(fā)送相同的參數(shù)了。如表1所示。表1冗余航電設(shè)備的冗余級別偏移量冗余通道冗余級別偏移量舉例:機身滾動速率ID10304(AHRS1)21000010304(AHRS2)

21、32000020304(AHRS3)43000030304(AHRS4)n10000*(n-1)(n-1)0304(AHRSn)4.3系統(tǒng)冗余Byte0:醞錯閔:ByteByte4Byte5Byte6Byte7MessageHeader圖12CANaerospace消息結(jié)構(gòu)CANaerospace使用了如圖12所示的消息結(jié)構(gòu),其數(shù)據(jù)場的前4個字節(jié)為報頭,包含了節(jié)點ID、數(shù)據(jù)類型、服務(wù)代碼和消息代碼等信息。報頭信息提高了對網(wǎng)絡(luò)進行動態(tài)重新配置的支持和靈活性。可以在不對軟件進行任何更改的條件下將控制單元加入到網(wǎng)絡(luò)中。利用報頭信息,可以把總線分析儀和模擬器加入到正在運行的網(wǎng)絡(luò)中并能立即獲取有關(guān)網(wǎng)絡(luò)結(jié)構(gòu)、單元和數(shù)據(jù)的所有信息。這使得維修工作變得既快速又節(jié)約成本。報頭包括4個字節(jié):節(jié)點ID(Byte0):些系統(tǒng)架構(gòu)使用備份單元,這些備份單元在主單元失效時起作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論