入門知識分享之CAN總線
三、CAN總線的原理介紹
當CAN總線上的一個節(jié)點(站)發(fā)送數(shù)據(jù)時,它以報文形式廣播給網(wǎng)絡中所有節(jié)點。對每個節(jié)點來說,無論數(shù)據(jù)是否是發(fā)給自己的,都對其進行接收。每組報文開頭的11位字符為標識符,定義了報文的優(yōu)先級,這種報文格式稱為面向內(nèi)容的編址方案。在同一系統(tǒng)中標識符是唯一的,不可能有兩個站發(fā)送具有相同標識符的報文。當幾個站同時競爭總線讀取時,這種配置十分重要。當一個站要向其它站發(fā)送數(shù)據(jù)時,該站的CPU將要發(fā)送的數(shù)據(jù)和自己的標識符傳送給本站的CAN芯片,并處于準備狀態(tài);當它收到總線分配時, 轉(zhuǎn)為發(fā)送報文狀態(tài)。CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報文格式發(fā)出,這時網(wǎng)上的其它站處于接收狀態(tài)。每個處于接收狀態(tài)的站對接收到的報文進行檢測,判斷這些報文是否是發(fā)給自己的,以確定是否接收它。
由于CAN總線是一種面向內(nèi)容的編址方案,因此很容易建立高水準的控制系統(tǒng)并靈活地進行配置。我們可以很容易地在CAN總線中加進一些新站而無需在硬件或軟件上進行修改。當所提供的新站是純數(shù)據(jù)接收設備時,數(shù)據(jù)傳輸協(xié)議不要求獨立的部分有物理目的地址。
四、CAN總線的特點
CAN具有十分優(yōu)越的特點,使人們樂于選擇。這些優(yōu)越的特點包括:
?。?)它是一種多主總線,即每個節(jié)點機均可成為主機,且節(jié)點機之間也可進行通信。
(2)網(wǎng)絡各節(jié)點之間的數(shù)據(jù)通信實時性強。CAN總線構成的網(wǎng)絡各節(jié)點之間的數(shù)據(jù)通信實時性強,并且容易構成冗余結構,提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。
?。?)通信介質(zhì)可以是雙絞線、同軸電纜或光導纖維,通信速率可達1Mb/s.
(4)CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層作用,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余校驗、優(yōu)先級判別等項工作。
?。?)CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,雨代之以對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點是可使網(wǎng)絡內(nèi)的節(jié)點個數(shù)在理論上不受限制,數(shù)據(jù)塊的標識碼可由11位或29位二進制數(shù)組成,因此可以定義211或229個不同的數(shù)據(jù)塊,這種數(shù)據(jù)塊編碼方式,還可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分步式控制中非常重要。
?。?)數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,從而倮證了通信的實時性。
?。?)CAN協(xié)議采用CRC檢驗并可提供相應的錯誤處理作用,保證了數(shù)據(jù)通信的可靠性。CAN總線所具有的卓越性能、極高的可靠性和獨特設計,特別適合工業(yè)設各測控單元互連。因此備受工業(yè)界的重視,并已公認為最有前途的現(xiàn)場總線之一。
五、CAN與其它通信方案的比較
CAN總線與其它通信網(wǎng)的不同之處在于:
一是報文傳送中不包含目標地址,它是以全網(wǎng)廣播為基礎。各接收站根據(jù)報文中反映數(shù)據(jù)性質(zhì)的標識符過濾報文,該收的收下,不該收的丟棄。其好處是可在線上網(wǎng)下網(wǎng)、即插即用和多站接收;
二是特別強化了對數(shù)據(jù)安全性的關注,滿足控制系統(tǒng)及其它較高數(shù)據(jù)要求的系統(tǒng)需求。
在實踐中,有兩種重要的總線分配方法:按時間表分配和按需要分配。在第一種方法中,不管每個節(jié)點是否申請總線,都對每個節(jié)點按最大期間分配。由此,總線可被分配給每個站并且是唯一的站,而不論其是立即進行總線存取或在一特定時間進行總線存取。這將保證在總線存取時有明確的總線分配。在第二種方法中,總線按傳送數(shù)據(jù)的基本要求分配給一個站,總線系統(tǒng)按站希望的傳送分配。因此,當多個站同時請求總線存取時,總線將終止所有站的請求,這時將不會有任何一個站獲得總線分配。為了分配總線,多于一個總線存取是必要的。
CAN實現(xiàn)總線分配的方法,可保證當不同的站申請總線存取時,明確地進行總線分配。這種位仲裁的方法可以解決當兩個站同時發(fā)送數(shù)據(jù)時產(chǎn)生的碰撞問題。不同于Ethernet網(wǎng)絡的消息仲裁,CAN的非破壞性解決總線存取沖突的方法,確保在不傳送有用消息時總線不被占用。甚至當總線在重負載情況下,以消息內(nèi)容為優(yōu)先的總線存取也被證明是一種有效的系統(tǒng)。雖然總線的傳輸能力不足,所有未解決的傳輸請求都按重要性順序來處理。在CSMA/CD這樣的網(wǎng)絡中,如Ethernet,系統(tǒng)往往由于過載而崩潰,而這種情況在CAN中不會發(fā)生。
總而言之,現(xiàn)場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的技術支持。
評論