您的位置:首頁 > 資訊 > 行業(yè)動(dòng)態(tài) > 正文

科普:了解 CAN 總線的綜合指南

2024-02-04 13:39 性質(zhì):原創(chuàng) 作者:Mulan 來源:AGV
免責(zé)聲明:中叉網(wǎng)(qcxy.net.cn)尊重合法版權(quán),反對(duì)侵權(quán)盜版。(凡是我網(wǎng)所轉(zhuǎn)載之文章,文中所有文字內(nèi)容和圖片視頻之知識(shí)產(chǎn)權(quán)均系原作者和機(jī)構(gòu)所有。文章內(nèi)容觀點(diǎn),與本網(wǎng)無關(guān)。如有需要?jiǎng)h除,敬請(qǐng)來電商榷?。?/div>
CAN 總線誕生于上世紀(jì) 80 年代,有助于在車輛內(nèi)進(jìn)行可靠的電子通信。本文將深入探討 CAN 總線的基本原理、架構(gòu)、協(xié)議、應(yīng)用和局限性。簡(jiǎn)介控制器局域網(wǎng)(CAN)總線由博世于 20 世紀(jì) 80 年...

CAN 總線誕生于上世紀(jì) 80 年代,有助于在車輛內(nèi)進(jìn)行可靠的電子通信。本文將深入探討 CAN 總線的基本原理、架構(gòu)、協(xié)議、應(yīng)用和局限性。

簡(jiǎn)介

控制器局域網(wǎng)(CAN)總線由博世于 20 世紀(jì) 80 年代開發(fā),是工業(yè)和汽車應(yīng)用中常用的通信協(xié)議。它的開發(fā)旨在改善電子控制單元(ECU)之間的數(shù)據(jù)交換,從而提高汽車系統(tǒng)的效率。1993 年,CAN 被納入國際標(biāo)準(zhǔn)通信系統(tǒng) ISO 11898,應(yīng)用于工業(yè)和汽車領(lǐng)域。

它是一種基于報(bào)文的協(xié)議,最初設(shè)計(jì)用于汽車內(nèi)的多路復(fù)用電氣布線,以節(jié)省銅纜,但也用于許多其他場(chǎng)合。對(duì)于業(yè)余愛好者來說,CAN 總線可能看起來令人困惑或復(fù)雜,但其核心原理卻是簡(jiǎn)單明了的。

從汽車音響到防抱死制動(dòng)系統(tǒng),CAN 總線是一種允許汽車系統(tǒng)和設(shè)備相互通信的通信方法。CAN 總線是在對(duì)等 ECU 和其他設(shè)備之間交換指令的媒介。

CAN 總線的基本原理

控制器局域網(wǎng)(CAN)總線的運(yùn)行原理是分散式聯(lián)網(wǎng),即網(wǎng)絡(luò)上的所有節(jié)點(diǎn)(或設(shè)備)在傳輸數(shù)據(jù)的能力上都是平等的。這有別于由中央主設(shè)備控制通信的傳統(tǒng)網(wǎng)絡(luò)模式。

CAN 總線數(shù)據(jù)傳輸

在 CAN 網(wǎng)絡(luò)中,任何節(jié)點(diǎn)都可以在總線空閑時(shí)傳輸數(shù)據(jù)。數(shù)據(jù)以幀的形式發(fā)送,其中包含傳輸?shù)男畔⒁约坝糜阱e(cuò)誤檢查和識(shí)別的附加數(shù)據(jù)。

CAN 總線按照 "廣播 "原則運(yùn)行 ,即所有節(jié)點(diǎn)都能接收到所有傳輸信息。然后,每個(gè)節(jié)點(diǎn)根據(jù) CAN 幀中的標(biāo)識(shí)符決定是忽略數(shù)據(jù)還是接受數(shù)據(jù)。該標(biāo)識(shí)符不是源地址或目的地址,而是表示報(bào)文內(nèi)容的標(biāo)簽。這意味著同一報(bào)文可由多個(gè)節(jié)點(diǎn)接收和處理,這在汽車應(yīng)用中尤其有用,因?yàn)樵谄噾?yīng)用中,多個(gè)系統(tǒng)可能需要相同的數(shù)據(jù)。這也意味著,特定節(jié)點(diǎn)無法根據(jù)地址向特定節(jié)點(diǎn)發(fā)送信息。

CAN 總線系統(tǒng)中的數(shù)據(jù)傳輸基于差分雙線接口(取代了復(fù)雜的線束和連接器),從而增強(qiáng)了在汽車電氣噪聲環(huán)境中的抗噪能力。CAN-High (CANH) 和 CAN-Low (CANL) 兩根線傳輸互補(bǔ)信號(hào)。當(dāng)節(jié)點(diǎn)傳輸顯性(0)信號(hào)時(shí),CAN-High 的電壓電平高于 CAN-Low。反之,當(dāng)傳輸隱性(1)信號(hào)時(shí),CAN-High 和 CAN-Low 處于同一電壓電平。

數(shù)據(jù)以幀為單位傳輸,幀由多個(gè)字段組成。其中最重要的是標(biāo)識(shí)符字段和數(shù)據(jù)字段。標(biāo)識(shí)符字段包含報(bào)文的標(biāo)識(shí)符,接收節(jié)點(diǎn)用它來決定是否接受報(bào)文。數(shù)據(jù)字段包含實(shí)際傳輸?shù)臄?shù)據(jù),在標(biāo)準(zhǔn) CAN 中最多為 8 字節(jié),在 CAN FD(靈活數(shù)據(jù)速率)中最多為 64 字節(jié)。

數(shù)據(jù)幀中各個(gè)字段的意義如下:

CAN 總線中的數(shù)據(jù)傳輸受帶沖突檢測(cè)的載波偵聽多路訪問 (CSMA/CD)原理的控制。這意味著每個(gè)節(jié)點(diǎn)都會(huì)監(jiān)視總線(載波偵聽)并在總線空閑時(shí)進(jìn)行傳輸(多路訪問)。如果兩個(gè)節(jié)點(diǎn)同時(shí)傳輸(沖突),則標(biāo)識(shí)符值較低的節(jié)點(diǎn)繼續(xù)傳輸,而另一個(gè)節(jié)點(diǎn)停止傳輸。這是因?yàn)轱@性位會(huì)覆蓋總線上的隱性位,并且較低的標(biāo)識(shí)符(較低的數(shù)值)在 CAN 幀的開頭具有更多的顯性位。這種機(jī)制確保首先傳輸最高優(yōu)先級(jí)的消息(具有較低標(biāo)識(shí)符的消息)。

錯(cuò)誤檢測(cè)和處理

CAN 總線系統(tǒng)的主要特點(diǎn)之一是其高效的錯(cuò)誤檢測(cè)和處理能力。該系統(tǒng)包含五種錯(cuò)誤檢測(cè)方法,每種方法都旨在確保數(shù)據(jù)傳輸?shù)耐暾?,具體討論如下:

比特監(jiān)控:CAN 網(wǎng)絡(luò)系統(tǒng)中的每個(gè)傳輸節(jié)點(diǎn)在傳輸過程中都會(huì)監(jiān)控總線的狀態(tài)。如果總線狀態(tài)與預(yù)期狀態(tài)不符,節(jié)點(diǎn)就會(huì)知道發(fā)生了錯(cuò)誤。

幀校驗(yàn)序列(FCS):該字段包含一個(gè)循環(huán)冗余校驗(yàn)(CRC)值,該值根據(jù)幀中的數(shù)據(jù)計(jì)算得出。每個(gè)接收節(jié)點(diǎn)計(jì)算自己的 CRC 值,并與接收到的 FCS 進(jìn)行比較。如果兩個(gè)值不匹配,節(jié)點(diǎn)就會(huì)知道發(fā)生了錯(cuò)誤。

確認(rèn)檢查:每個(gè)幀都包含一個(gè) ACK 時(shí)隙,所有其他節(jié)點(diǎn)都要在這個(gè)時(shí)隙中發(fā)送一個(gè)顯性比特,以確認(rèn)收到該幀。如果發(fā)送節(jié)點(diǎn)在 ACK 時(shí)隙中沒有檢測(cè)到主位,它就知道發(fā)生了錯(cuò)誤。

幀格式檢查:每個(gè)幀都有特定的格式,包括預(yù)期顯性位和隱性位的特定位置。如果節(jié)點(diǎn)檢測(cè)到違反此格式的情況,就知道發(fā)生了錯(cuò)誤。

錯(cuò)誤幀:當(dāng)節(jié)點(diǎn)使用上述任何一種方法檢測(cè)到錯(cuò)誤時(shí),它會(huì)傳輸一個(gè)特殊的錯(cuò)誤幀,提醒所有其他節(jié)點(diǎn)注意該錯(cuò)誤。這會(huì)導(dǎo)致所有節(jié)點(diǎn)丟棄當(dāng)前幀,等待重新傳輸正確的幀。

檢測(cè)到錯(cuò)誤時(shí),檢測(cè)到錯(cuò)誤的節(jié)點(diǎn)會(huì)自動(dòng)重新傳輸幀。這種情況一直持續(xù)到無錯(cuò)傳輸幀為止。如果節(jié)點(diǎn)檢測(cè)到太多錯(cuò)誤,它就會(huì)進(jìn)入錯(cuò)誤被動(dòng)狀態(tài),此時(shí)它只監(jiān)聽總線而不傳輸。如果錯(cuò)誤繼續(xù)發(fā)生,節(jié)點(diǎn)將進(jìn)入總線關(guān)閉狀態(tài),與總線斷開連接。這種機(jī)制可確保故障節(jié)點(diǎn)不會(huì)中斷總線上的通信。

上一頁123

網(wǎng)友評(píng)論
文明上網(wǎng),理性發(fā)言,拒絕廣告

相關(guān)資訊

關(guān)注官方微信

手機(jī)掃碼看新聞