CAN控制器局域網(wǎng)總線協(xié)議詳解:拓?fù)鋱D/錯(cuò)誤狀態(tài)種類
一提到總線,就很容易讓我們聯(lián)想到錯(cuò)綜復(fù)雜的計(jì)算機(jī)電線,可是這些總線總能起著十分重要的作用,今天我們就來認(rèn)識(shí)下CAN總線協(xié)議。
CAN控制器局域網(wǎng)總線是一種實(shí)施應(yīng)用的串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號(hào),是世界上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。最常用的領(lǐng)域是汽車。CAN協(xié)議用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配線線束。
【特點(diǎn)】
1.CAN是目前位置唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線
2.CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,而且部分主從
3.在報(bào)文標(biāo)識(shí)符上,CAN上的節(jié)點(diǎn)分成不同的優(yōu)先級(jí),可滿足不同的實(shí)時(shí)要求
4.CAN采用非破壞總線仲裁技術(shù)
5.CAN節(jié)點(diǎn)只需通過對(duì)報(bào)文的標(biāo)識(shí)符濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播幾種方式接收數(shù)據(jù)
6.CAN上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動(dòng)電路
7.報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間段,受干擾概率低,數(shù)據(jù)出錯(cuò)率極低
8.CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,具有極好的檢錯(cuò)效果
9.CAN的通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活
10.CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,已使總線上其他節(jié)點(diǎn)的操作不受影響
11.CAN總線具有較高的性能價(jià)格比
【總線拓?fù)鋱D】
CAN控制器根據(jù)兩根線上的電位差來判斷總線電平??偩€電平分為顯性電平和隱性電平,二者必居其一。發(fā)送方通過使總線電平發(fā)生變化,將消息發(fā)送給接收方,如圖。
【錯(cuò)誤狀態(tài)種類】
1.主動(dòng)錯(cuò)誤狀態(tài)
主動(dòng)錯(cuò)誤狀態(tài)是可以正常參加總線通信的狀態(tài)。
處于主動(dòng)錯(cuò)誤狀態(tài)的單元檢測(cè)出錯(cuò)誤時(shí),輸出主動(dòng)錯(cuò)誤標(biāo)識(shí)。
2.被動(dòng)錯(cuò)誤狀態(tài)
被動(dòng)錯(cuò)誤狀態(tài)是易引起錯(cuò)誤的狀態(tài)。
處于被動(dòng)錯(cuò)誤狀態(tài)的單元雖能參加總線通信,但為不妨礙其他單元通信,接收時(shí)不能積極地發(fā)送錯(cuò)誤通知。
處于被動(dòng)錯(cuò)誤狀態(tài)的單元即使檢測(cè)出錯(cuò)誤,而其他處于主動(dòng)錯(cuò)誤狀態(tài)的單元如果沒有發(fā)現(xiàn)錯(cuò)誤,整個(gè)總線也被認(rèn)為是沒有錯(cuò)誤的。
3.總線關(guān)閉態(tài)
總線關(guān)閉態(tài)是不能參加總線上通信的狀態(tài)。
信息的接收和發(fā)送均被禁止。
這些狀態(tài)依靠發(fā)送錯(cuò)誤計(jì)數(shù)和接受錯(cuò)誤計(jì)數(shù)來管理,根據(jù)計(jì)數(shù)值決定進(jìn)入何種狀態(tài)。錯(cuò)誤狀態(tài)和計(jì)數(shù)值的關(guān)系如圖。
【錯(cuò)誤計(jì)數(shù)值】
發(fā)送錯(cuò)誤計(jì)數(shù)值和接受錯(cuò)誤計(jì)數(shù)值根據(jù)一定的條件發(fā)生變化,錯(cuò)誤計(jì)數(shù)值的變動(dòng)條件如圖所示。
一次數(shù)據(jù)的接收和發(fā)送可能同時(shí)滿足多個(gè)條件。
錯(cuò)誤計(jì)數(shù)器在錯(cuò)誤標(biāo)志的第一位出現(xiàn)的時(shí)間點(diǎn)上開始計(jì)數(shù)。
【CAN總線分層結(jié)構(gòu)】
數(shù)據(jù)鏈路層分為MAC子層和LLC子層。MAC子層是CAN協(xié)議的核心部分。數(shù)據(jù)鏈路層的功能是將物理層收到的信號(hào)組織陳有意義的消息,并提供傳送錯(cuò)誤控制等傳輸控制的流程。具體地說,就是消息的幀化、仲裁、應(yīng)答、錯(cuò)誤的檢測(cè)或報(bào)告。數(shù)據(jù)鏈路層的功能通常在CAN控制器的硬件中執(zhí)行。
物理層定義了信號(hào)實(shí)際的發(fā)送方式、位時(shí)序、位的編碼方式及同步的步驟。但具體地說,信號(hào)電平、通信速度、采樣點(diǎn)、驅(qū)動(dòng)器和總線的電氣特征、連接器的形態(tài)等均未定義。這些必須由用戶根據(jù)系統(tǒng)需求自行確定。
傳輸層定義的是CAN總線的高層協(xié)議,具體由軟件實(shí)現(xiàn)。
【CAN協(xié)議及標(biāo)準(zhǔn)規(guī)格】
1.ISO標(biāo)準(zhǔn)化的CAN協(xié)議
CAN協(xié)議經(jīng)ISO標(biāo)準(zhǔn)化后有ISO11898標(biāo)準(zhǔn)和ISO11519-2標(biāo)準(zhǔn)兩種。
ISO11898:是通信速度為125kbps-1Mbps的CAN高速通信標(biāo)準(zhǔn)。目前ISO11898追加新規(guī)約后,成為ISO11898-其標(biāo)準(zhǔn)。
ISO11519:ISO11519是通信速度為125Kbps以下的CAN低速通信標(biāo)準(zhǔn)。ISO11519-2是ISO11519-1追加新規(guī)約后的版本。
如圖:CAN協(xié)議和ISO11898及ISO11519-2標(biāo)準(zhǔn)的范圍
【ISO11898和ISO11519-2的不同】
1.物理層的不同
如上圖所示,ISO11898和ISO11519-2在CAN協(xié)議中物理層的標(biāo)準(zhǔn)有所不同,CAN寫一頁(yè)的物理層如下圖所示,定義為三個(gè)子層,ISO11898和ISO11519-2在物理層中的PMA層和MDI層有所不同。
在物理層(PMA層、MDI層),ISO11898和ISO11519-2的主要不同點(diǎn)如圖:
【CAN總線的通信模式】
1.總線訪問:CAN是共享媒體總線,它對(duì)媒體的訪問機(jī)制類似于以太網(wǎng)的媒體訪問機(jī)制,采用載波監(jiān)聽多路訪問的方式。CAN控制器智能在總線空閑時(shí)發(fā)送,并采用硬同步,所有CAN控制器同步位于幀起始的前沿。為避免異步時(shí)鐘因累積誤差而產(chǎn)生錯(cuò)位,CAN總線中用硬同步滿足一定條件的跳變進(jìn)行重同步。
2.仲裁:當(dāng)總線空閑時(shí)呈隱性電平,此時(shí)任何一個(gè)節(jié)點(diǎn)都可以向總線發(fā)送一個(gè)顯性電平作為一個(gè)幀的開始。如果有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)同時(shí)發(fā)送,就會(huì)產(chǎn)生總線沖突。CAN總線解決總線沖突的方法比以太網(wǎng)的CSMA/CD方法有很大的改進(jìn)。以太網(wǎng)是碰撞檢測(cè)方式,即一旦檢測(cè)到兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送信息幀時(shí),所有發(fā)送節(jié)點(diǎn)都退出發(fā)送,待隨機(jī)時(shí)間后再發(fā)送。而CAN是按位對(duì)標(biāo)識(shí)符進(jìn)行仲裁的。
3.編碼/解碼:幀起始域、總裁域、控制域,數(shù)據(jù)域和CRC序列均使用位填充技術(shù)進(jìn)行編碼。在CAN總線中,每連續(xù)5個(gè)同狀態(tài)的電平插入一位與它相補(bǔ)的電平,還原時(shí)每5個(gè)相同狀態(tài)的電平后的相補(bǔ)電平被刪除,從而保證了數(shù)據(jù)的透明。
4.出錯(cuò)標(biāo)注:當(dāng)檢測(cè)到位錯(cuò)誤、填充錯(cuò)誤、形式錯(cuò)誤或應(yīng)答錯(cuò)誤時(shí),檢測(cè)出錯(cuò)條件的CAN控制器將發(fā)送一個(gè)出錯(cuò)標(biāo)志。
5.超載標(biāo)注:一些CAN控制器會(huì)發(fā)送一個(gè)或多個(gè)超載幀以延遲下一個(gè)數(shù)據(jù)幀或遠(yuǎn)程幀的發(fā)送。
提交
智能未來,硬核登場(chǎng)!堡盟“王牌”產(chǎn)品即將亮相2025工博會(huì)
中國(guó)聯(lián)通全面承接國(guó)家人工智能應(yīng)用中試基地(醫(yī)療領(lǐng)域)
研華 MIC-743邊緣AI新品首發(fā)
中國(guó)聯(lián)通云犀AI創(chuàng)新巡展潮涌杭州 語(yǔ)音大模型驅(qū)動(dòng)產(chǎn)業(yè)智能新浪潮
施耐德電氣六赴服貿(mào)會(huì),新質(zhì)服務(wù)體系再升級(jí),賦能產(chǎn)業(yè)向“新”行







投訴建議