狠狠色丁香久久综合婷婷亚洲成人福利在线-欧美日韩在线观看免费-国产99久久久久久免费看-国产欧美在线一区二区三区-欧美精品一区二区三区免费观看-国内精品99亚洲免费高清

            上海神開石油儀器有限公司
            中級會員 | 第21年

            13816159058

            CAN總線雙機熱備份功能的實現(xiàn)

            時間:2009/6/3閱讀:2231
            分享:
            一、CAN總線簡介
            1、概述
            CAN(Controller Area Network)zui初是由德國Bosch公司在80年代初期,為了解決汽車中眾多的控制與測量設備之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信總線,屬于現(xiàn)場總線的范疇,1993年成為標準(ISO11898:道路車輛的高速控制器局域網(wǎng)數(shù)字交換系統(tǒng)標準)。CAN總線是一種有效支持分布式控制系統(tǒng)或?qū)崟r控制的串行通信網(wǎng)絡,是一個多主總線,總線上的各節(jié)點都有權隨時向其他節(jié)點發(fā)送信息,總線沖突時通過總線仲裁方式?jīng)Q定占用總線的節(jié)點。CAN的通信介質(zhì)可以是雙絞線,同軸電纜或光纖。它可以通過簡單的協(xié)議,實現(xiàn)在電磁干擾環(huán)境下遠距離實時數(shù)據(jù)的可靠傳輸。
            2、主要特點
            CAN總線的主要特點概括如下:
            1、  CAN總線上任一個節(jié)點均可在任一時刻主動向網(wǎng)絡上的其他節(jié)點發(fā)送數(shù)據(jù),而不分主從,通信靈活;
            2、  CAN總線采用非破壞性的總線仲裁,當多節(jié)點同時向總線發(fā)送報文(message)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送(仲裁丟失),而優(yōu)先級高的節(jié)點可以不受影響地繼續(xù)發(fā)送數(shù)據(jù);
            3、  CAN總線具有點對點,一點對多點,以及全局廣播傳送數(shù)據(jù)的功能;
            4、  CAN總線通信距離zui遠可達10km,通信zui高速可達1Mbit/s;
            5、  CAN將業(yè)務數(shù)據(jù)打包成報文發(fā)送,每一個報文的有效字節(jié)數(shù)為8個。這種小報文方式有傳輸時間短,實時性高,減少因受干擾而重發(fā)報文的機率等優(yōu)點;
            6、  CAN采用位校驗、填充位校驗、循環(huán)冗余碼校驗(CRC)和數(shù)據(jù)幀格式校驗,數(shù)據(jù)出錯概率在10-15以下;
            7、  CAN節(jié)點出錯次數(shù)大于一定數(shù)量時,可自動退出總線操作,使錯誤節(jié)點對總線的干擾降到zui低;
            3、傳輸距離與傳輸速率的對應關系
            CAN系統(tǒng)內(nèi)任意兩個節(jié)點間的傳輸距離與該距離下zui大位速率的對應關系見下表:


            CAN總線的諸多優(yōu)勢,促使其在各個領域得到日益廣泛的應用,成為*的zui有前途的現(xiàn)場總線之一。
            二、CAN工作機制
            1、CAN的報文(message)類型
            CAN系統(tǒng)中,節(jié)點以報文方式發(fā)送和接收數(shù)據(jù)。CAN的報文有4種類型,即數(shù)據(jù)幀、遠程幀、出錯幀、過載幀,每種幀均有其相應的幀格式。其中與應用層關系zui密切的是數(shù)據(jù)幀和遠程幀。
            2、CAN節(jié)點的狀態(tài)
            CAN總線上的每個節(jié)點總處于“錯誤主動(Error Active)”,“錯誤被動(Error Passive)”和“總線脫離(Bus Off)”三種狀態(tài)之一。
              處于錯誤主動狀態(tài)的節(jié)點,當發(fā)現(xiàn)總線上有錯誤傳輸時,將向總線上發(fā)“主動出錯幀”;處于錯誤被動狀態(tài)的節(jié)點,當發(fā)現(xiàn)總線上有錯誤傳輸時,將向總線上發(fā)“被動出錯幀”。當節(jié)點進入總線脫離狀態(tài)時,將*退出總線操作。
            3、CAN節(jié)點的總線仲裁與監(jiān)聽機制
            CAN控制器發(fā)送數(shù)據(jù)時,按字節(jié)的高位到低位的順序進行串行發(fā)送,在發(fā)送的同時進行接收,同時將收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)逐位進行比較。在總線仲裁階段,若發(fā)送的位是“1”,而接收到的是“0”,則該節(jié)點停止發(fā)送,退出總線,這就是仲裁丟失,因而,標識符二進制數(shù)值低的報文具有更高的優(yōu)先權。仲裁丟失的節(jié)點等到總線空閑時,再重新進行報文發(fā)送。在總線仲裁階段之后,發(fā)送節(jié)點仍將發(fā)送數(shù)據(jù)與接收數(shù)據(jù)逐位進行比較,這叫做“位校驗”。若接收數(shù)據(jù)與發(fā)送數(shù)據(jù)不一致,則出現(xiàn)“位出錯”,節(jié)點發(fā)出錯幀。
            除發(fā)送節(jié)點和總線脫離節(jié)點外,其他節(jié)點均為接收節(jié)點。接收節(jié)點不停地接收總線上的傳輸報文,由此不停地監(jiān)測總線傳輸?shù)腻e誤狀態(tài)。
            4、CAN節(jié)點的報文接收篩選機制
            CAN控制器監(jiān)聽接收總線上的所有報文,只有通過CAN控制器的報文篩選器篩選的報文才能進入CAN的報文接收緩沖區(qū),為該節(jié)點所接收并傳送給應用程序。
            報文接收篩選器由接收碼寄存器和接收屏蔽寄存器組成。接收碼寄存器規(guī)定了擬接收報文中參與篩選比較的各位(主要是標識符)必須匹配的值,而接收屏蔽寄存器卻將接收碼寄存器中的某些位屏蔽為“無關位”,對應“無關位”的報文的位不參加篩選比較。
            三、普通的單采集機方式
              目前,在石油鉆錄井行業(yè)應用CAN總線進行數(shù)據(jù)采集的各類儀器中大多采用單采集機方式進行工作,即只有一臺計算機負責CAN總線的數(shù)據(jù)采集工作,其它計算機負責數(shù)據(jù)的處理及存儲工作。有時為了防止數(shù)據(jù)丟失,可能采用雙數(shù)據(jù)庫服務器存儲,達到備份數(shù)據(jù)的目的,但都要求采集機必須正常工作,一旦采集機中的CAN卡出現(xiàn)故障或采集機系統(tǒng)崩潰均會導致整個系統(tǒng)癱瘓。
            四、雙機熱備份功能的提出
              為了防止和避免單采集機工作方式帶來的不利影響,保證在一臺采集機崩潰的情況下仍能使整個系統(tǒng)正常工作,本文提出了基于CAN總線的雙機熱備份功能的實現(xiàn)方法,即采用雙采集機的工作方式,兩臺采集機都通過CAN總線三通連接到CAN總線上,共用同一組傳感器和節(jié)點,同時采集。
            五、雙機熱備份功能的實現(xiàn)
              根據(jù)CAN總線本身的特點,為了避免沖突,實現(xiàn)真正的雙機采集,我們把兩臺采集機分成了主采集機和輔采集機,在主輔采集機同時接收CAN節(jié)點定時發(fā)送過來的數(shù)據(jù)幀的情況下,只有主采集機能夠向總線上發(fā)送各種命令(包括進行搜索和設置CAN節(jié)點的命令),而輔采集機只能處于偵聽狀態(tài)。當主采集機死機或CAN卡工作不正常的時候,輔采集機就會自動切換成主采集機,擔當起對CAN節(jié)點的各項管理工作。當原主采集機恢復正常工作時,當前的主采集機就又會自動切換回輔采集機狀態(tài),關閉各項設置功能,這就要求主輔采集機通過CAN總線進行必要的通訊。
            1、硬件框圖


            2、主輔采集機通訊
              為了實現(xiàn)主輔采集機的正確通訊和及時準確切換,要求雙方通過CAN總線傳輸信號。我們采用了只主采集機發(fā)送通訊信號,輔采集機只接收通訊信號的方式,在主輔采集機都進行數(shù)據(jù)采集的同時,只要輔采集機能不間斷地接收到主采集機發(fā)來的通訊信號,就認為主采集機還存在并運行正常,一旦一段時間(10~30秒)收不到通訊信號,就認為主采集機已經(jīng)出現(xiàn)問題,將直接切換成主采集機(在軟件界面上有“主”、“輔”采集機標識)。
              受CAN適配卡總線驅(qū)動能力的限制,在CAN總線上一般允許掛接64個節(jié)點,占用0~63號邏輯地址,為了使主輔采集機之間的通訊信號(即一個數(shù)據(jù)幀)不與任何節(jié)點(0~63號)沖突,我們采用邏輯地址之上的更高一位進行接收屏蔽,具體設置方法如下:

            單機采集時CAN卡初始化設置:


            雙機采集時輔采集機CAN卡初始化設置:


            主采集機發(fā)送的主輔采集機通訊信號(數(shù)據(jù)幀)格式:
            byte_len=SIX
            id1=0x60  //01100 + 0
            id2=0x00
            data[0]=0x00
            data[1]=0x00
            data[2]=0x00
            data[3]=0x00
            data[4]=0x00
            data[5]=0x00

            該數(shù)據(jù)幀中的數(shù)據(jù)字段可任意值,這里默認為0。

            需要注意的是,在輔采集機進行數(shù)據(jù)采集接收的過程中應將該通訊信號與“0”號地址節(jié)點(一般為絞車計數(shù))區(qū)分開來,如果將該通訊信號也接收進數(shù)據(jù)緩沖區(qū),會使“0”號節(jié)點對應的傳感器數(shù)據(jù)為0。為了使該通訊信號有zui高的優(yōu)先權,將它的邏輯地址設成了“0”號,但它與“0”號節(jié)點是有區(qū)別的,區(qū)別在于6位邏輯地址的前一位上。因此在接收到該信號后應進行特殊處理。
            3、軟件流程圖


            六、基于CAN總線的雙機熱備份功能的優(yōu)點和特點
            1、  實現(xiàn)了CAN卡與CAN卡之間的雙向通訊;
            2、  與通過網(wǎng)絡等其它介質(zhì)通訊相比,通過CAN總線直接通訊更快捷和準確,避免了因其它通訊介質(zhì)或通訊設備故障而產(chǎn)生的誤報現(xiàn)象;
            3、  其中的一臺采集機出現(xiàn)故障并不影響整個系統(tǒng)的正常運行;
            4、  主輔采集機的正確通訊保證了CAN節(jié)點在同一時刻只有一個命令中心,防止了多方指揮的混亂狀態(tài);
            5、  更加合理地利用節(jié)點和傳感器,兩個甚至更多個采集系統(tǒng)只需一套傳感器總成,減輕了鉆井現(xiàn)場的安裝和維護任務,并降低了成本;
            6、  及時準確地保存了現(xiàn)場的兩套數(shù)據(jù),避免了因數(shù)據(jù)丟失造成的損失。

            七、基于CAN總線的雙機熱備份功能的先進性和可擴展性
            1、  據(jù)了解目前還沒有其它任何一家鉆錄井儀器制造廠商真正實現(xiàn)基于CAN總線的雙機熱備份功能;
            2、  實現(xiàn)了直接利用CAN總線進行兩塊CAN卡之間的雙向通訊;
            3、  可擴展該功能,利用CAN總線實現(xiàn)分別裝有CAN卡的兩臺計算機之間的數(shù)據(jù)交換和消息傳遞。

            八、參考資料
            1、SBS SysExpanModule/CSM 技術手冊V3.4
             
             

            會員登錄

            ×

            請輸入賬號

            請輸入密碼

            =

            請輸驗證碼

            收藏該商鋪

            X
            該信息已收藏!
            標簽:
            保存成功

            (空格分隔,最多3個,單個標簽最多10個字符)

            常用:

            提示

            X
            您的留言已提交成功!我們將在第一時間回復您~
            撥打電話
            在線留言