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