国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CAN總線分析

2013-08-09 07:41張樹貴
電子工業(yè)專用設(shè)備 2013年5期
關(guān)鍵詞:報文仲裁總線

張樹貴

(中國電子科技集團(tuán)公司第三十三研究所,山西太原 030006)

CAN是Controller Area Network的縮寫,即“控制器局域網(wǎng)”,是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)出來,系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,為了解決這些問題,產(chǎn)生了CAN總線協(xié)議。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。

1 CAN總線的基本原理

CAN通訊協(xié)議主要描述設(shè)備之間的信息傳遞方式。CAN層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設(shè)備上相同的那一層通訊。實(shí)際的通訊發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。

CAN總線標(biāo)準(zhǔn)包括物理層和數(shù)據(jù)鏈路層,其中鏈路層定義了不同的數(shù)據(jù)類型,總線訪問的仲裁規(guī)則及故障檢測與故障處理的方式。當(dāng)CAN總線上的一個節(jié)點(diǎn)(站)發(fā)送數(shù)據(jù)時,它以報文形式廣播給網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。

每組報文開頭的11位字符為表示符(CAN2.0A),定義了報文的優(yōu)先級,這種報文格式稱為面向內(nèi)容的編制方案。每一個節(jié)點(diǎn)要向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)時,該節(jié)點(diǎn)的CPU將要發(fā)送的數(shù)據(jù)和自己的標(biāo)識符傳送給本節(jié)點(diǎn)的CAN芯片,并處于準(zhǔn)備狀態(tài);當(dāng)它收到總線分配時,轉(zhuǎn)為發(fā)送報文狀態(tài)。CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報文格式發(fā)出,此時,網(wǎng)上的其它節(jié)點(diǎn)處于接收狀態(tài)。每個處于接收狀態(tài)的節(jié)點(diǎn)對接收到的報文進(jìn)行檢測,判斷這些報文是否是發(fā)給自己的,以確定接收否。

由于CAN總線是一種面向內(nèi)容的編址方案,因此很容易建立高水準(zhǔn)的控制系統(tǒng)并進(jìn)行靈活的配置??梢院苋菀椎卦贑AN總線中加進(jìn)一些新的節(jié)點(diǎn)而無需再硬件或軟件上進(jìn)行修改。

2 CAN總線的特點(diǎn)

CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等項(xiàng)工作。具有以下特點(diǎn):

(1)實(shí)時性強(qiáng)、傳輸距離較遠(yuǎn)、抗電磁干擾能力強(qiáng)、成本低等;

(2)數(shù)據(jù)傳輸距離遠(yuǎn)(可達(dá)10 kM);

(3)高速的數(shù)據(jù)傳輸速率(高達(dá)1 Mbps);

(4)采用雙線串行通信方式,檢錯能力強(qiáng),可在高噪聲干擾環(huán)境中工作;

(5)具有優(yōu)先權(quán)和仲裁功能,多個控制模塊通過CAN控制器掛到CAN-bus上,形成多主機(jī)局部網(wǎng)絡(luò);

(6)可根據(jù)報文的ID決定接收或屏蔽該報文;

(7)可靠的錯誤處理和檢錯機(jī)制;

(8)發(fā)送的信息遭到破壞后,可自動重發(fā);

(9)節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動退出總線的功能;

(10)脫離總線的節(jié)點(diǎn)不影響總線的正常工作;

(11)報文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息、優(yōu)先級信息;

(12)可以點(diǎn)對點(diǎn)、一對多點(diǎn)(成組)及全局廣播幾種傳送方式接收數(shù)據(jù)。

3 CAN總線的拓?fù)浣Y(jié)構(gòu)

CAN總線的拓?fù)浣Y(jié)構(gòu)如圖1所示,CAN hub是用于多分支擴(kuò)展用的,可以省去。CAN總線和分支的末端都需要垮接一個120歐姆的電阻來終結(jié),防止信號反射。

圖1 CAN總線拓?fù)浣Y(jié)構(gòu)

4 CAN總線的數(shù)據(jù)幀結(jié)構(gòu)

在總線中傳送的報文,每幀由7部分組成,幀起始(start of frame)、仲裁場(arbitration frame)、控制場(control frame)、數(shù)據(jù)場(date frame)、CRC 場(crc frame)、應(yīng)答場(ack frame)、幀結(jié)尾(end of frame)。CAN協(xié)議支持兩種報文格式,其中唯一的不同是標(biāo)識符(ID)長度不同,標(biāo)準(zhǔn)格式為11位,擴(kuò)展格式為29位。見圖2所示。

圖2 報文的幀格式

在標(biāo)準(zhǔn)格式中,報文的起始位稱為幀起始(SOF),然后是由11位標(biāo)識符和遠(yuǎn)程發(fā)送請求位(RTR)組成的仲裁場。RTR位標(biāo)明是數(shù)據(jù)幀還是請求幀,在請求幀中沒有數(shù)據(jù)字節(jié)??刂茍霭?biāo)識符擴(kuò)展位 (IDE),指出是標(biāo)準(zhǔn)格式還是擴(kuò)展格式。它還包括一個保留位(ro),為將來擴(kuò)展使用。它的最后4個字節(jié)用來指明數(shù)據(jù)場中數(shù)據(jù)的長度(DLC)。數(shù)據(jù)場范圍為0~8個字節(jié),其后有一個檢測數(shù)據(jù)錯誤的循環(huán)冗余檢查 (CRC)。應(yīng)答場(ACK)包括應(yīng)答位和應(yīng)答分隔符。發(fā)送站發(fā)送的這兩位均為隱性電平(邏輯1),這時正確接收報文的接收站發(fā)送主控電平(邏輯0)覆蓋它。用這種方法,發(fā)送站可以保證網(wǎng)絡(luò)中至少有一個站能正確接收到報文。報文的尾部由幀結(jié)束標(biāo)出。在相鄰的兩條報文間有一很短的間隔位,如果這時沒有站進(jìn)行總線存取,總線將處于空閑狀態(tài)。

CAN總線上每個設(shè)備都有一個11位的ID信息,各設(shè)備的優(yōu)先級是根據(jù)其ID來確定的,ID的序號越小,其優(yōu)先級越高。下圖為CAN總線上傳輸?shù)臉?biāo)準(zhǔn)數(shù)據(jù)幀格式和擴(kuò)展數(shù)據(jù)幀格式,標(biāo)準(zhǔn)幀11位,擴(kuò)展幀29位。見圖3、圖4所示。

圖3 標(biāo)準(zhǔn)數(shù)據(jù)幀格式

5 CAN總線的位仲裁

圖4 擴(kuò)展數(shù)據(jù)幀格式

要對數(shù)據(jù)進(jìn)行實(shí)時處理,就必須將數(shù)據(jù)快速傳送,這就要求數(shù)據(jù)的物理傳輸通路有較高的速度。在幾個站同時需要發(fā)送數(shù)據(jù)時,要求快速地進(jìn)行總線分配。實(shí)時處理通過網(wǎng)絡(luò)交換的緊急數(shù)據(jù)有較大的不同。CAN總線采用CSMA/CD(Carrier Sense Multiple Access with collision Detect,載波監(jiān)測多路訪問/沖突檢測)技術(shù)。“載波監(jiān)測”的意思是指在總線上的每個節(jié)點(diǎn)在發(fā)送信息報文前都必須監(jiān)測到總線上有一段時間的空閑狀態(tài)?!岸嗦吩L問”的意思是一旦此空閑狀態(tài)被監(jiān)測到,那么每個節(jié)點(diǎn)都有均等的機(jī)會來發(fā)送報文?!皼_突檢測”是指在兩個節(jié)點(diǎn)同時發(fā)送信息時,節(jié)點(diǎn)本身首先會檢測到出現(xiàn)沖突,然后采取相應(yīng)的措施來解決這一沖突情況。此時優(yōu)先級高的報文先發(fā)送,低優(yōu)先級的報文發(fā)送會暫停。這就是CAN總線的仲裁,仲裁過程是不會對報文產(chǎn)生破壞的。CAN總線的仲裁過程如圖5所示。

6 CAN總線的錯誤處理

CAN控制器內(nèi)置出錯計(jì)數(shù)器,根據(jù)出錯是全局的還是本地的,計(jì)數(shù)器以此決定加1還是加8。通過查詢出錯計(jì)數(shù)器值,就可以知道通信網(wǎng)絡(luò)質(zhì)量。不同于其它總線,CAN協(xié)議不能使用應(yīng)答信息。它卻可以將發(fā)生的任何錯誤用信號發(fā)出。CAN總線有5種錯誤類型:位錯誤、填充錯誤、CRC錯誤、形式錯誤、應(yīng)答錯誤。

圖5 CAN總線仲裁過程

7 CAN總線數(shù)據(jù)表示

CAN總線用隱性和顯性表示0和1。當(dāng)在總線上出現(xiàn)同時發(fā)送顯性位和隱性位時,總線上數(shù)值將出現(xiàn)顯性??偩€上的信號使用差分電壓傳送,兩條信號線被稱為VCAN_H和VCAN_L。如圖6所示。

圖6 CAN總線的邏輯電平

8 結(jié)束語

CAN總線的數(shù)據(jù)通信有突出的可靠性、實(shí)時性和靈活性。由于具有良好的性能和獨(dú)特的設(shè)計(jì),CAN總線越來越受到人們的重視。由最早的應(yīng)用于汽車領(lǐng)域,現(xiàn)在已應(yīng)用于各種領(lǐng)域。它已經(jīng)成為一種重要的現(xiàn)場總線之一。

[1] 杜尚豐,曹曉鐘,徐建.CAN總線測控技術(shù)及其應(yīng)用[M].北京:電子工業(yè)出版社,2007.

[2] 饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)(第二版)[M].北京:北京航空航天大學(xué)出版社,2007.

[3] 陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.

[4] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.

猜你喜歡
報文仲裁總線
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
CTCS-2級報文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
淺析反駁類報文要點(diǎn)
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
一種多通道共享讀寫SDRAM的仲裁方法
一種基于CAN總線的誤碼測試方法
ICSID仲裁中的有效解釋原則:溯源、適用及其略比
ATS與列車通信報文分析
CAN總線并發(fā)通信時下位機(jī)應(yīng)用軟件設(shè)計(jì)
望都县| 宣威市| 永顺县| 东方市| 大方县| 阜宁县| 遵义县| 东兰县| 金湖县| 秦安县| 拜泉县| 庆元县| 沅陵县| 青阳县| 宜都市| 汝城县| 正定县| 上高县| 南丹县| 扶沟县| 汶上县| 黄石市| 武义县| 南陵县| 丰台区| 自贡市| 浙江省| 康马县| 兴山县| 阿荣旗| 始兴县| 石柱| 天台县| 扶风县| 凌源市| 钟祥市| 高唐县| 汶上县| 乌拉特前旗| 三亚市| 桂阳县|