• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    CAN總線在高可用容錯系統(tǒng)中的應(yīng)用

    2014-12-31 00:00:00孫鍇,郭瀟
    計算機光盤軟件與應(yīng)用 2014年12期

    摘 要:本文設(shè)計了一種通信系統(tǒng),該系統(tǒng)是建立在高可用容錯系統(tǒng)下的子系統(tǒng)。通信系統(tǒng)進行了冗余設(shè)計,容錯系統(tǒng)中單元之間的數(shù)據(jù)通信,是通過通信總線來實現(xiàn)的。該系統(tǒng)采用的是可靠性較高的CAN總線及接口控制器來實現(xiàn)的,這種總線具有,成本低、傳輸距離較長、數(shù)據(jù)傳輸速率高等多種高可靠高實時性,所應(yīng)具備的特點。

    關(guān)鍵詞:CAN;容錯;高可靠性

    中圖分類號:TP302.8

    本文所描述的容錯通訊系統(tǒng),應(yīng)用在航空航天領(lǐng)域的高可用容錯計算機系統(tǒng)中。容錯通訊系統(tǒng)負責(zé)容錯系統(tǒng)中單元之間的數(shù)據(jù)通信功能,該系統(tǒng)是由冗余的CAN總線(Controller Area Network,控制器局域網(wǎng))作為核心,與控制器、收發(fā)器共同實現(xiàn)的。希望本論文能夠得到同行在此類設(shè)計中參考。

    1 高可用容錯系統(tǒng)的組成

    整個系統(tǒng)在硬件上采用飛行器普遍適用的三模冗余設(shè)計,系統(tǒng)采用上位機--下位機模式,上位機為普通的PC機,負責(zé)下位機程序的下載、程序的調(diào)試、程序的監(jiān)控、控制軟件的開發(fā);上位機與下位機通過CAN總線相連接,CAN總線負責(zé)兩方數(shù)據(jù)的傳輸;下位機則執(zhí)行各種應(yīng)用任務(wù),并向上位機反饋信息。整個開發(fā)系統(tǒng)的結(jié)構(gòu)[1]如圖1所示。

    圖1 開發(fā)系統(tǒng)的結(jié)構(gòu)圖

    2 冗余通信系統(tǒng)的設(shè)計

    該通信系統(tǒng)由冗余的兩條CAN總線構(gòu)成,總線1與總線2??偩€2作為總線1的備份,當總線1出現(xiàn)故障時,總線2替換總線1,其次序的控制由軟件完成,從而實現(xiàn)通訊線路的容錯。CAN總線包括CAN總線控制器以及CAN總線收發(fā)器模塊。

    2.1 CAN總線特點及結(jié)構(gòu)

    CAN總線在國際現(xiàn)場總線控制領(lǐng)域中有著極廣泛應(yīng)用的總線。與CAN總線特點對比的對象,是具有代表性、并經(jīng)常在總線控制中使用的RS-485總線,它似于RS-232總線,只定義了物理層并定義了電平的標準?;贑AN總線的控制系統(tǒng)相對于構(gòu)建在R線之上的基于RS-485的控制系統(tǒng)有諸多優(yōu)勢,如表1[2]所示:

    表1 總線比對項目

    比對參數(shù)CAN-busRS-485

    單節(jié)點成本稍高極低

    系統(tǒng)成本較低高

    總線利用率高低

    數(shù)據(jù)傳輸率高低

    網(wǎng)路特性多主網(wǎng)路單主網(wǎng)路

    通信失效率極低高

    通信范圍10km(5kbps)<1.5km

    網(wǎng)路協(xié)議標準CAN-bus協(xié)議標準Modbus協(xié)議

    節(jié)點故障的影響無影響整個網(wǎng)路死鎖

    網(wǎng)路調(diào)試極易困難

    容錯機制可靠的錯誤檢測及處理機制無

    維護成本低高

    CAN總線包括控制器、CAN控制器以及CAN的收發(fā)器模塊。

    在整個通信系統(tǒng)中,模塊的控制器由單機系統(tǒng)中的處理器來負責(zé)。CAN控制器主要的功能是,在網(wǎng)絡(luò)的結(jié)構(gòu)體系中,負責(zé)對物理層及數(shù)據(jù)鏈路層的進行設(shè)置,它的物理實體就是一塊可編程芯片,其功能的實現(xiàn)是通過對之上的邏輯電路進行組合來完成的。實際上,CAN控制器就是將CAN總線與微處理器結(jié)構(gòu)線路連接在一起的端口,數(shù)據(jù)正常的接收與發(fā)送是通過其上運行的程序使得CPU能夠?qū)λ绾喂ぷ鬟M行設(shè)置完成的。CAN收發(fā)器是能否正常運行關(guān)系到通信系統(tǒng)的可靠性、安全性以及電磁兼容性能否保證的關(guān)鍵。通信系統(tǒng)的結(jié)構(gòu)[3]如圖2所示。

    圖2 CAN結(jié)構(gòu)及使用器件

    2.1.1 CAN控制器

    本次系統(tǒng)的設(shè)計使用的是Philips公司生產(chǎn)的SJA1000芯片,它是對CAN獨立控制的。其中包括了兩種操作模式BasicCAN(0-31,32個寄存器可用)與PeliCAN(0-127,128個寄存器可用)。PeliCAN模式則是SJA1000生產(chǎn)后才有的,這種模式主要是對CAN2.0B(3.4.2中給出)技術(shù)規(guī)范的適用。SJA1000具有的特點概括如下:(1)引腳的電氣參數(shù)對PCA82C200完全適用;(2)對CAN2.0A與CAN2.0B同時適用;(3)11位與29位的標識碼都是被接受的,通訊速率為1Mbps;(4)具有FIFO模式的64字節(jié)的可擴展接收緩沖器;(5)PeliCAN工作模式中具有擴展選擇,具體有:無第二的單次發(fā)送、對熱插拔的支持、最后一次錯誤代碼寄存器、可供讀寫的錯誤寄存器、可以設(shè)定的錯誤提示限額寄存器、中斷一個總線錯誤、對仲裁丟失中斷有明確的位進行顯示、當子請求接收時對本身報文的接收。這些特性都容錯設(shè)計中適用的。

    2.1.2 CAN收發(fā)器

    本次通信系統(tǒng)所使用的收發(fā)器芯片是PCA82C250,它具有如下特點:(1)適用于ISO11898標準;(2)有1Mbps的傳輸速率;(3)具有過熱保護功能;(4)具有在電源、總線以及地間短路的保護功能;(5)在電流低時,進入待機狀態(tài);(6)沒有上電的節(jié)點對總線不產(chǎn)生干擾。

    所使用的收發(fā)器是集成了PCA82C250芯片的zlg生產(chǎn)的USBCAN智能CAN接口卡,目的是可將CAN總線通過USB總線連接到PC機,從而使PC機可以對通訊系統(tǒng)以及整個系統(tǒng)進行調(diào)試控制。它的特點是支持2路獨立CAN通道,這是對冗余總線的支持;CAN2.0B規(guī)范,我們將接口設(shè)計成29位;波特率可設(shè)置在5kpbs-1Mbps內(nèi),方便調(diào)試和通信。

    2.2 CAN總線的報文傳輸與幀在系統(tǒng)中配置

    幀的兩種標識符的長度將幀分為兩種不同的形式,第一種是標準幀,其中包括11位的標識符;第二種為擴展幀,它包括29位標識符。針對三機備份容錯系統(tǒng)中需要對節(jié)點的身份以及對報文所表示的含義(數(shù)據(jù)或狀態(tài))進行具體的識別,因此第二種幀的形式,即擴展幀更適于對幀的配置。

    在對報文的傳輸過程中,幀被分為四種,數(shù)據(jù)幀、錯誤幀、過載幀以及遠程幀。數(shù)據(jù)幀來負責(zé)將數(shù)據(jù)由發(fā)送器送達到接收器;錯誤幀是當總線中出現(xiàn)錯誤并被總線中的任一單元發(fā)現(xiàn),則這一單元就會發(fā)送錯誤幀;過載幀所提供的是一個額外的延遲,目標是遠程幀或是接近數(shù)據(jù)幀;遠程幀是由總線單元所發(fā)出的,用來對這擁有一標識符數(shù)據(jù)幀傳遞的詢問。

    針對本次系統(tǒng)中方便系統(tǒng)對具體功能的實現(xiàn),以及增強通信的可操作性,對數(shù)據(jù)幀進行了配置與定義[4]如表2所示。

    表2 系統(tǒng)中幀的定義

    幀信息頭FF=1RTR=0XXDLC

    擴展幀數(shù)據(jù)幀不影響幀數(shù)據(jù)部分長度(≤8)

    幀標識符ID28ID27ID26ID25ID24ID23ID22ID21

    報文類型

    ID20ID19ID18ID17ID16ID15ID14ID13

    DestMAC ID(目標節(jié)點編碼)

    ID12ID11ID10ID9ID8ID7ID6ID5

    SrcMAC ID(源節(jié)點編碼)

    ID4ID3ID2ID1ID0XXX

    00SegPolo(分段標志)不影響

    幀數(shù)據(jù)部分Byte 0

    Byte 1

    Byte 2

    Byte 3

    Byte 4

    Byte 5

    Byte 6

    Byte 7

    首先是對幀信息頭的定義,這一部分的定義如表二中的前兩行所表示的,共包含8 bit,其中FF為1時代表幀的形式為擴展幀;RTR是遠程訪問請求,值為0說明不設(shè)置;有兩位空置;DLC代表一幀中傳輸數(shù)據(jù)大小,在此處設(shè)為8,即默大小為8字節(jié)。

    其次是對幀標識符的定義,這一部分的定義如表二中3~8行所表示,此部分共包含29 bit,除了因格式需要所這置空的后三位外其他位均有定義。

    第一部分的ID21-ID28共8位,用作對報文的類型進行編碼,所編碼的內(nèi)容涉及了數(shù)據(jù)的類型以及數(shù)據(jù)的優(yōu)先級,其中數(shù)據(jù)的類型包括編碼為0000 0000-0111 1111的狀態(tài)信息幀,以及編碼為1000 0000-1111 1111的數(shù)據(jù)信息幀,其中優(yōu)先級的高低與數(shù)值的大小成反比,即數(shù)值越大優(yōu)先級越低。

    數(shù)據(jù)信息幀則直接關(guān)系到表二中所示的幀數(shù)據(jù)部分,幀中負載的是非狀態(tài)信息的數(shù)據(jù)。

    狀態(tài)信息幀所包含的內(nèi)容是傳輸過程能否正確完成的重要信息,也是我們對節(jié)點進行檢測的關(guān)鍵信息。包含的內(nèi)容為傳輸相應(yīng)報文、檢測主節(jié)點的報文、顯示節(jié)點檢測報文。

    第二部分是表二中所示的5-10行,幀中分別利用了8位(ID5-ID12、ID13~ID20)來定義源節(jié)點編碼(SrcMAC ID)與目標節(jié)點編碼(DestMAC ID),分別用于表示此幀的發(fā)送節(jié)點與接收節(jié)點的地址。最后的ID0~ID2的3位用于對是否分段(SegPolo)進行設(shè)置,這與數(shù)據(jù)的大小相關(guān),由于一幀所傳數(shù)據(jù)設(shè)定在8字節(jié),當大于8字節(jié)就需要分段傳輸,SegPolo的值為000、001、010分別表示單幀傳輸、多幀中間傳輸以及多幀最后幀傳輸。

    2.3 冗余CAN總線的實現(xiàn)

    圖3 冗余CAN總線實現(xiàn)流程

    通信系統(tǒng)采用的是可靠性較高的進行了冗余設(shè)計的CAN總線,其結(jié)構(gòu)圖如圖三所示,在系統(tǒng)中共有兩條CAN總線CAN0和CAN1,CAN1是對CAN0的備份,當CAN0出現(xiàn)故障時CAN1對CAN0進行替換,并且按照圖三中的流程實現(xiàn)冗余的CAN總線,與系統(tǒng)中兩條CAN總線相配的是,在單機故障恢復(fù)系統(tǒng)中集成在板卡中的兩個SJA1000 CAN控制器,另一端連接有兩路CAN接口的具有PCA82C250芯片,USBCAN收發(fā)器相連,收發(fā)器通過USB總線與PC機相連接,這樣就完成了整個基于CAN總線的高可用通信系統(tǒng)的設(shè)計。

    3 結(jié)束語

    對實現(xiàn)三機備份容錯系統(tǒng)的數(shù)據(jù)傳遞、通信及控制的線路—CAN總線的特點與結(jié)構(gòu)既選擇的必要性進行分析,對總線進行了冗余設(shè)計,給出了完整的總線實現(xiàn)方案。該文對容錯的總線設(shè)計具有一定的參考意義。進一步工作是優(yōu)化并完善原型系統(tǒng)的通信能力。

    參考文獻:

    [1]陸陽,王強,諸葛戰(zhàn)斌.計算機系統(tǒng)容錯技術(shù)研究[J].計算機工程,2010(36):230-235.

    [2]史文路.雙機熱備份系統(tǒng)的研究與設(shè)計[D].南京工業(yè)大學(xué),2006:13-22.

    [3]孫栓,趙敏,戴維.微小衛(wèi)星星載計算機存儲容錯計算研究[J].計算機技術(shù)與發(fā)展,2008(08):148.

    [4]王霆,長寧寧,王艷利.分布式高可靠性星載計算機系統(tǒng)研究與實現(xiàn)[J].科技信息,2008(10):57-58.

    作者簡介:孫鍇(1985-),男,陜西西安人,碩士,助理工程師,研究方向:嵌入式系統(tǒng);郭瀟(1985-),女,陜西西安人,本科,工程師,研究方向:嵌入式系統(tǒng)。

    作者單位:中航工業(yè)西安航空計算技術(shù)研究所十室,西安 710119;華陸工程科技有限責(zé)任公司,西安 710065

    双流县| 武清区| 云梦县| 英吉沙县| 吉木萨尔县| 睢宁县| 淮安市| 五峰| 精河县| 沧源| 大方县| 新乡市| 商河县| 桑植县| 辉县市| 苏尼特右旗| 安阳市| 嘉黎县| 宜川县| 香格里拉县| 榕江县| 紫阳县| 开鲁县| 尼勒克县| 桐柏县| 射阳县| 沁源县| 略阳县| 吉林省| 沙坪坝区| 南汇区| 华池县| 平度市| 六盘水市| 绥江县| 白城市| 金沙县| 府谷县| 囊谦县| 泰兴市| 武穴市|