基于CAN Bus MCU的電梯控制器和監(jiān)測應用設計

2013-08-07 09:42 來源:互聯(lián)網(wǎng) 作者:洛小辰

CAN Bus(Controller Area Network),控制器區(qū)域網(wǎng),起源于80年代,由國際標準化組織(ISO)所發(fā)布,因為利用雙線差動(two-wired differential),使其即使在電器條件惡劣環(huán)境下,也可正常運作的一種傳輸總線。又因雙線溝通的特性,大幅縮減了其應用線路的使用量,也降低傳統(tǒng)線路復雜易造成錯誤的發(fā)生機會。

基于以上特性,CAN Bus一大應用層面即被導入于汽車工業(yè),因傳統(tǒng)的汽車使用線路復雜,使得早期汽車內(nèi)部線路易于發(fā)生故障時且較難以排除。因此雙線差動訊號式CAN Bus的電器特性即被快速導入并廣泛運用在各交通工具領(lǐng)域(航空、輪船與汽車)或是工業(yè)控制。

強健的協(xié)議與其編碼格式

CAN Bus基本的協(xié)議可分為CAN2.0A與CAN2.0B兩個版本,A版與B版的主要差別在于識別子(ID)長度分別為11位與29位。如圖1所示為一個CAN 2.0協(xié)議傳輸?shù)臄?shù)據(jù)封包(Data Frame)。

1


圖1. CAN協(xié)議編碼格式圖

圖1為一個CAN數(shù)據(jù)封包的格式,可分為起始域、仲裁域、控制域、數(shù)據(jù)域、CRC域、應答域和結(jié)束域。每個封包(Frame)最長可達128位,以下分別說明各域的意義,其它詳細資料可參考BOSCH公司的相關(guān)CAN Bus技術(shù)文件。

●起始域(SOF, Start of Frame):該值必為0,表示封包的開始。

●仲裁域(Arbitration Field):用于確定封包的優(yōu)先級,由11位或29位識別子(ID)加上一位的RTR(Remote Transfer Request),當RTR為0時,表示傳出資料;RTR為1則表示為接收資料。

●控制域(Control Field):包含兩個保留位(一般為0)和表示數(shù)據(jù)域內(nèi)的數(shù)據(jù)長度DLC0~DLC3共有4位。

●數(shù)據(jù)域(Data Field):0~8個Byte的被傳送數(shù)據(jù)

●CRC域(CRC Field):從SOF到Data Field的CRC驗證碼,用于檢測傳輸上的錯誤,共有15位的長度。

●應答域(ACK Field):確認對方接收是否正常,若接收成功則會回傳1。

●結(jié)束域(EOF, End of Frame):表示封包的結(jié)束,為7位連續(xù)的1。

CAN Bus的特征與優(yōu)點

●CAN Bus可透過簡單的信息濾波設定實現(xiàn)點對點、一對多個點或全網(wǎng)絡廣播等資料的傳輸方式。

●沒有特定的主從端,且可以以多個主端方式工作,因此Bus上各節(jié)點均可在任一時刻主動發(fā)送信息至其它節(jié)點。

●藉由封包內(nèi)仲裁域內(nèi)的識別子來判定優(yōu)先權(quán),而非藉由地址,因CAN Bus為非破壞性的總線仲裁之技術(shù),當優(yōu)先層級不同的事件發(fā)生,層級低的節(jié)點會主動放棄總線訪問的權(quán)利,而高優(yōu)先層級的可繼續(xù)傳輸而不受影響。

●因具有優(yōu)先層級之特性,大幅節(jié)省了當總線發(fā)生沖突時的仲裁時間,提升系統(tǒng)的實時性,而不會出現(xiàn)網(wǎng)絡癱瘓的機會。

●具有良好的擴充性,因CAN Bus協(xié)議是定義信息,非以站臺方式定義,因此可不需為軟件硬件做修改即可增加站臺。

●傳輸?shù)木嚯x與傳輸速度成反比,當傳輸距離達10km時傳輸速率約為5Kbps,若需較高的傳輸速率1Mbps,此時的傳輸距離為40m。

●在CAN Bus上的每個封包具有強大的CRC檢驗與防錯機制,大幅降低了資料的出錯率。

●CAN Bus的通訊介質(zhì)可為光纖、同軸電纜與常見的雙絞線,相較其它通訊方式較為彈性。

CAN Bus的架構(gòu)與輸出準位

CAN Bus為利用一種雙線的差動訊號傳輸規(guī)格,典型的CAN節(jié)點皆會由一個機械控制單元(Micro Controller Unit, MCU)來做控制,如圖2所示,MCU中CAN Controller透過CAN_TX與CAN_RX傳送/接收訊號至CAN Transceiver轉(zhuǎn)換成差動訊號CAN_H與CAN_L。而終端電阻120歐姆能有效的吸收CAN網(wǎng)絡上的反射波,有效地增強信號。

2


圖2. CAN Bus架構(gòu)圖

圖3為CAN Bus輸出準位圖,當CAN_H與CAN_L均為2.5V時,數(shù)據(jù)值為邏輯1(隱性);而CAN_H = 3.5V與CAN_L = 1.5V時,數(shù)據(jù)值為邏輯0(Dominant)。

3


圖3. CAN Bus輸出準位圖

1 2 > 
CAN 工控

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門