新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN總線的技術(shù)規(guī)范與控制器類型

CAN總線的技術(shù)規(guī)范與控制器類型

作者: 時間:2013-02-22 來源:網(wǎng)絡(luò) 收藏


CAN協(xié)議介紹

CAN協(xié)議是參考ISO/OSI的7層協(xié)議模式而做定義的,但因它主要是用來傳送簡短且簡單的信號,而且是一封閉性的系統(tǒng),并不需要負責(zé)系統(tǒng)的安全、產(chǎn)生用戶接口的數(shù)據(jù),以及監(jiān)控網(wǎng)絡(luò)的登入等動作,因此只涉及了實體層和數(shù)據(jù)鏈接層的定義。

1、實體層規(guī)范特性

實體層負責(zé)的是網(wǎng)絡(luò)中節(jié)點與節(jié)點之間的連結(jié),以及在銅線、同軸纜線、光纖,甚至是無線信號的實際電性脈沖傳送。傳送器的實體層會把從數(shù)據(jù)鏈接層來的數(shù)據(jù)轉(zhuǎn)換為電子信息,再傳送出去;在接收端,實體層將這些電子信息傳換為數(shù)據(jù)格式,再傳送到數(shù)據(jù)鏈接層。

在一個網(wǎng)絡(luò)系統(tǒng)中,要確保各個節(jié)點之間能夠順利地溝通,先決條件是每個節(jié)點的實體層特性必須是相同的,而CAN實體層的作用就在于規(guī)范位表示法、位時序及同步性,通常還包括腳位連接器和接線的型式。CAN由兩條序列總線(CAN_H和CAN_L)實時傳輸數(shù)據(jù),傳輸速率可高達1Mb/s。理論上,每個最多可連結(jié)2032個節(jié)點,但受限于收發(fā)器的功能,實際運用上最多大約可連結(jié)100個節(jié)點,而在一般的運用上則大約是連結(jié)3~10個節(jié)點。CAN實體層示意圖如圖2所示。

newmaker.com
圖2 CAN實體層架構(gòu)示意圖

2、數(shù)據(jù)鏈接層規(guī)范特性:總線仲裁

CAN數(shù)據(jù)鏈接層可以說是CAN功能的核心,其目的在于建立數(shù)據(jù)信框封包,在信框內(nèi)包含數(shù)據(jù)和控制數(shù)據(jù)。數(shù)據(jù)鏈接層的主要功能之一,就是當系統(tǒng)中出現(xiàn)兩個信號同時想使用網(wǎng)絡(luò)中的相同資源時,如何防止沖突的發(fā)生。這就是所謂MAC(Medium Access Control)功能。在CAN協(xié)議中,MAC功能會讓具有最高優(yōu)先權(quán)的數(shù)據(jù)信框優(yōu)先使用總線的網(wǎng)絡(luò)資源,此機制對于網(wǎng)絡(luò)效能的影響很大。

在網(wǎng)絡(luò)的接取控制上有兩大方向,即先決式和隨機式。在先決式的接取控制中,總線的使用權(quán)必須在節(jié)點接取總線前就預(yù)先定義好了,以確保不會發(fā)生任何沖突。此類網(wǎng)絡(luò)需要一個中央管控裝置來進行網(wǎng)絡(luò)管理,但一旦此裝置失常,整個網(wǎng)絡(luò)就無法運作;也有非中心化的架構(gòu),但相對會復(fù)雜許多。

在隨機式接取控制中,當總線閑置時,每個節(jié)點都能夠要求使用網(wǎng)絡(luò)資源。最常見的隨機式接取控制方式是載波偵測多重存取(Carrier Sense Multiple Access,CSMA),CSMA又分成限制或防止信號碰撞的CSMA/CA方式和允許碰撞再進行處置的CSMA/CD方式。由于CSMA/CD較浪費頻寬資源及會產(chǎn)生較長的延遲性,因此CAN采用的是CSMA/CA的方式,此作法又稱為非破壞性的按位仲裁機制。

CAN協(xié)議讓優(yōu)先權(quán)較高的信號先接取使用總線資源,在每個信號信框的一開始處就存在仲裁域,仲裁域中有一個識別碼,識別碼的數(shù)值越小,表示其優(yōu)先權(quán)限越高。此作法能有效地利用總線資源,其具有最高優(yōu)先權(quán)的信號,最大的延遲時間大約只有150ms。

在CAN的2.0A標準中,一開始定義識別碼的長度為11位,后來因市場的需求又提出了延伸性的2.0B版本。2.0B的格式通常被稱為延伸性CAN,它允許29位的識別碼,而且有主動及被動式兩種:2.0B主動,也就是能收、發(fā)延伸信框的節(jié)點;以及2.0B被動,它會放棄掉接收到的延伸信框。2.0B的29位識別碼能夠提供51200萬個獨特的信號及優(yōu)先等級,足以滿足來自越來越多節(jié)點的大量存取要求。

三、數(shù)據(jù)鏈接層規(guī)范特性:信框格式

所謂的信框即包含由傳送器送出的完整信號的數(shù)據(jù)封包。在CAN協(xié)議中具有4種信框,即數(shù)據(jù)信框、遠程信框、誤碼信框及額外負載信框。以下主要介紹數(shù)據(jù)信框的組成。

數(shù)據(jù)信框包含了識別碼和各種控制信息,以及最多8字節(jié)的數(shù)據(jù)。其基本組成包括:信框開始、仲裁域(又包括識別碼和RTR)、控制域(又包括IDE、r0和數(shù)據(jù)長度碼)、數(shù)據(jù)域、循環(huán)冗余碼檢驗域、確認域,以及信框終點等,如圖3所示。

newmaker.com
圖3 延伸型CAN的數(shù)據(jù)信框組成架構(gòu)

其中控制信息是用來識別信框,決定對總線的使用,以及進行誤碼偵測??刂菩畔⒌牧硪豁椫饕δ?,就在于能夠分辨出某一信號是否已損毀了。當數(shù)據(jù)在任何網(wǎng)絡(luò)中傳送時,隨機性的誤碼是很常見的,所以數(shù)據(jù)鏈接層的重要任務(wù)之一,就是要限制這類錯誤的發(fā)生。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉