CAN總線通信原理分析
總線仲裁,是指當(dāng)總線上有多個(gè)節(jié)點(diǎn)在同時(shí)發(fā)送數(shù)據(jù)時(shí)總線協(xié)議的處理方法。CAN總線采用的是無(wú)破壞性的仲裁機(jī)制,即若總線上的多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù),具有高優(yōu)先級(jí)數(shù)據(jù)包的節(jié)點(diǎn)仲裁勝出,可以繼續(xù)發(fā)送數(shù)據(jù),而其它仲裁失敗的節(jié)點(diǎn)將退出發(fā)送狀態(tài)而轉(zhuǎn)為接收節(jié)點(diǎn),與其他總線仲裁機(jī)制(例如局域網(wǎng)的CSMA/CD)相比,其不僅不會(huì)破壞已發(fā)送的數(shù)據(jù),并且不會(huì)造成發(fā)送數(shù)據(jù)的延遲,是CAN總線與其他總線相比的優(yōu)點(diǎn)之一,其主要是通過(guò)CAN總線所具備的如下兩個(gè)特點(diǎn)實(shí)現(xiàn):1)CAN總線的線與特性,即當(dāng)總線上多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送顯性和隱形電平時(shí),總線電平表現(xiàn)為顯性電平。2)CAN控制器即使在發(fā)送數(shù)據(jù)的同時(shí)也在監(jiān)控總線電平狀態(tài),即當(dāng)在仲裁時(shí),當(dāng)控制器發(fā)送隱性電平但檢測(cè)到總線為顯性電平時(shí),節(jié)點(diǎn)仲裁失敗,轉(zhuǎn)為接收節(jié)點(diǎn)。
5 CAN總線魯棒性分析
CAN總線的魯棒性是通過(guò)其對(duì)節(jié)點(diǎn)和總線數(shù)據(jù)包安全性的實(shí)時(shí)檢測(cè)與監(jiān)控來(lái)實(shí)現(xiàn)的,另外,CAN總線通過(guò)采用的差分信號(hào)對(duì)外界干擾信號(hào)有較強(qiáng)的抑制作用。具體論述如下。
5.1 實(shí)時(shí)監(jiān)控總線波形
CAN控制器不僅在上電后會(huì)一直監(jiān)測(cè)總線上其它節(jié)點(diǎn)發(fā)送的的數(shù)據(jù)包,并且在自己發(fā)送數(shù)據(jù)包得過(guò)程中也在實(shí)時(shí)監(jiān)測(cè)自己發(fā)送的數(shù)據(jù),一旦檢測(cè)到位錯(cuò)誤、填充錯(cuò)誤、CRC錯(cuò)誤、格式錯(cuò)誤或者應(yīng)答錯(cuò)誤,該節(jié)點(diǎn)就會(huì)根據(jù)其所處的錯(cuò)誤狀態(tài)(錯(cuò)誤激活狀態(tài)或者錯(cuò)誤認(rèn)可狀態(tài))發(fā)送相應(yīng)的錯(cuò)誤標(biāo)志,實(shí)際上筆者認(rèn)為只有錯(cuò)誤激活站點(diǎn)發(fā)送激活錯(cuò)誤標(biāo)識(shí)(即6個(gè)連續(xù)的顯性位后接8個(gè)隱性位的錯(cuò)誤標(biāo)識(shí)界定符)會(huì)對(duì)總線及總線上的節(jié)點(diǎn)產(chǎn)生影響,而處于錯(cuò)誤認(rèn)可狀態(tài)的節(jié)點(diǎn)發(fā)送的錯(cuò)誤認(rèn)可標(biāo)識(shí)實(shí)際對(duì)總線沒(méi)有任何影響(發(fā)送的6個(gè)隱性電平與總線空閑狀態(tài)是一致的)。
5.2 實(shí)時(shí)監(jiān)控節(jié)點(diǎn)狀態(tài)判定節(jié)點(diǎn)權(quán)限
節(jié)點(diǎn)會(huì)根據(jù)總線上數(shù)據(jù)包的情況實(shí)時(shí)改變自身的狀態(tài)(錯(cuò)誤激活、錯(cuò)誤認(rèn)可或者總線關(guān)閉狀態(tài)),處于錯(cuò)誤激活的節(jié)點(diǎn)正常參與總線通信,錯(cuò)誤認(rèn)可的單元參與總線通信,但是在其啟動(dòng)下一個(gè)發(fā)送之前需要發(fā)送8個(gè)額外的隱性位。對(duì)于總線上發(fā)送的數(shù)據(jù)包,如表1所示,15位的CRC序列實(shí)現(xiàn)了對(duì)起始位、仲裁域、控制域以及數(shù)據(jù)域(如果有的話)的監(jiān)控,接收站點(diǎn)在接收到數(shù)據(jù)后會(huì)根據(jù)與發(fā)送節(jié)點(diǎn)相同的算法生成該數(shù)據(jù)包的CRC序列,并與接收到的CRC序列做比較,如果不同則說(shuō)明有錯(cuò),接收節(jié)點(diǎn)不會(huì)對(duì)該數(shù)據(jù)包做出應(yīng)答,發(fā)送節(jié)點(diǎn)就會(huì)檢測(cè)到應(yīng)答錯(cuò)誤并重新發(fā)送該數(shù)據(jù)包??傊珻AN總線通過(guò)數(shù)據(jù)鏈路層以及物理層就已經(jīng)實(shí)現(xiàn)了較高的總線的數(shù)據(jù)安全性和總線的穩(wěn)定性。
6 結(jié)論
文中以ISO11898協(xié)議規(guī)范為基礎(chǔ),從通信的角度詳細(xì)分析了CAN總線的節(jié)點(diǎn)同步機(jī)制、節(jié)點(diǎn)地址機(jī)制、總線仲裁機(jī)制(即總線沖突解決機(jī)制)及總線魯棒性的實(shí)現(xiàn)原理和基礎(chǔ),同時(shí)簡(jiǎn)要介紹了CAN總線的應(yīng)用特性以及將其應(yīng)用于實(shí)際系統(tǒng)中時(shí)總線的系統(tǒng)分層結(jié)構(gòu),對(duì)深入理解CAN總線協(xié)議和將CAN總線應(yīng)用到具體工程項(xiàng)目中,以及研究或開(kāi)發(fā)特定要求的總線系統(tǒng)具有指導(dǎo)意義。
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
路由器相關(guān)文章:路由器工作原理
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
路由器相關(guān)文章:路由器工作原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
評(píng)論