国产一卡2卡三卡4卡麻豆_了解最新日韩草逼视频_h片在线播放一区_国产激情影视在线_好了av四色综合无码久久_欧美黑白双插OOR720P_日本精品中文字幕在线_秋霞午夜手机影院_亚洲国产一区二区3da毛片_欧美杂交深喉video中文字幕

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

13816159058

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

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


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


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

單機(jī)采集時CAN卡初始化設(shè)置:


雙機(jī)采集時輔采集機(jī)CAN卡初始化設(shè)置:


主采集機(jī)發(fā)送的主輔采集機(jī)通訊信號(數(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ù)字段可任意值,這里默認(rèn)為0。

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


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

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

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

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗(yàn)證碼

收藏該商鋪

X
該信息已收藏!
標(biāo)簽:
保存成功

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

常用:

提示

X
您的留言已提交成功!我們將在第一時間回復(fù)您~
撥打電話
在線留言
主站蜘蛛池模板: 兴安县| 册亨县| 鄂托克前旗| 定州市| 涟源市| 沙湾县| 六安市| 岳阳县| 新民市| 利辛县| 金山区| 开江县| 岑溪市| 尼勒克县| 麻江县| 庐江县| 修水县| 龙川县| 云龙县| 南漳县| 南木林县| 昌乐县| 旺苍县| 吴江市| 隆回县| 揭西县| 措勤县| 封开县| 绿春县| 茶陵县| 榕江县| 买车| 澳门| 伊春市| 曲靖市| 台北市| 丰原市| 绵竹市| 依安县| 前郭尔| 丰城市|