1 簡(jiǎn)介
CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡(jiǎn)稱,是一種能夠?qū)崿F(xiàn)分布式實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。
優(yōu)點(diǎn):
傳輸速度最高到1Mbps,通信距離最遠(yuǎn)到10km,無(wú)損位仲裁機(jī)制,多主結(jié)構(gòu)。近些年來(lái),CAN控制器價(jià)格越來(lái)越低。
? 低成本:ECUs通過(guò)單個(gè)CAN接口進(jìn)行通信,布線成本低。
? 高集成:CAN總線系統(tǒng)允許在所有ECUs上進(jìn)行集中錯(cuò)誤診斷和配置。
? 可靠性:該系統(tǒng)對(duì)子系統(tǒng)的故障和電磁干擾具有很強(qiáng)的魯棒性,是汽車(chē)控制系統(tǒng)的理想選擇。
? 高效率:可以通過(guò)id對(duì)消息進(jìn)行優(yōu)先級(jí)排序,以便最高優(yōu)先級(jí)的id不被中斷。
? 靈活性:每個(gè)ECU包含一個(gè)用于CAN總線收發(fā)芯片,隨意添加CAN總線節(jié)點(diǎn)。
2 CAN總線網(wǎng)絡(luò)

CAN總線網(wǎng)絡(luò)主要掛在CAN_H和CAN_L,各個(gè)節(jié)點(diǎn)通過(guò)這兩條線實(shí)現(xiàn)信號(hào)的串行差分傳輸,為了避免信號(hào)的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。為什么是120Ω,因?yàn)殡娎|的特性阻抗為120Ω,為了模擬無(wú)限遠(yuǎn)的傳輸線。
3 CAN收發(fā)器
CAN收發(fā)器的作用是負(fù)責(zé)邏輯電平和信號(hào)電平之間的轉(zhuǎn)換。

即從CAN控制芯片輸出邏輯電平到CAN收發(fā)器,然后經(jīng)過(guò)CAN收發(fā)器內(nèi)部轉(zhuǎn)換將邏輯電平轉(zhuǎn)換為差分信號(hào)輸出到CAN總線上,CAN總線上的節(jié)點(diǎn)都可以決定自己是否需要總線上的數(shù)據(jù)。具體的引腳定義如下:

4 CAN信號(hào)表示
CAN總線采用不歸零碼位填充技術(shù),也就是說(shuō)CAN總線上的信號(hào)有兩種不同的信號(hào)狀態(tài),分別是顯性的(Dominant)邏輯0和隱形的(recessive)邏輯1,信號(hào)每一次傳輸完后不需要返回到邏輯0(顯性)的電平。

顯性與隱性電平的解釋?zhuān)?/p>
CAN的數(shù)據(jù)總線有兩條,一條是黃色的CAN_High,一條是綠色的CAN_Low。當(dāng)沒(méi)有數(shù)據(jù)發(fā)送時(shí),兩條線的電平一樣都為2.5V,稱為靜電平,也就是隱性電平。當(dāng)有信號(hào)發(fā)送時(shí),CAN_High的電平升高1V,即3.5V,CAN_Low的電平降低1V,即1.5V。
按照定義的:
CAN_H-CAN_L < 0.5V 時(shí)候?yàn)殡[性的,邏輯信號(hào)表現(xiàn)為"邏輯1"- 高電平。
CAN_H-CAN_L > 0.9V 時(shí)候?yàn)轱@性的,邏輯信號(hào)表現(xiàn)為"邏輯0"- 低電平。
5 CAN信號(hào)傳輸
發(fā)送過(guò)程:CAN控制器將CPU傳來(lái)的信號(hào)轉(zhuǎn)換為邏輯電平(即邏輯0-顯性電平或者邏輯1-隱性電平)。CAN發(fā)射器接收邏輯電平之后,再將其轉(zhuǎn)換為差分電平輸出到CAN總線上。

接收過(guò)程:CAN接收器將CAN_H 和 CAN_L 線上傳來(lái)的差分電平轉(zhuǎn)換為邏輯電平輸出到CAN控制器,CAN控制器再把該邏輯電平轉(zhuǎn)化為相應(yīng)的信號(hào)發(fā)送到CPU上。

6 CAN數(shù)據(jù)傳輸
CAN總線傳輸?shù)氖荂AN幀,CAN的通信幀分成五種,分別為數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過(guò)載幀和幀間隔。
數(shù)據(jù)幀根據(jù)仲裁段長(zhǎng)度不同分為標(biāo)準(zhǔn)幀(2.0A)和擴(kuò)展幀(2.0B)。

幀起始
由一個(gè)顯性位(低電平)組成,發(fā)送節(jié)點(diǎn)發(fā)送幀起始,其他節(jié)點(diǎn)同步于幀起始;
幀結(jié)束
由7個(gè)隱形位(高電平)組成。

仲裁段
只要總線空閑,總線上任何節(jié)點(diǎn)都可以發(fā)送報(bào)文,如果有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)開(kāi)始傳送報(bào)文,那么就會(huì)存在總線訪問(wèn)沖突的可能。但是CAN使用了標(biāo)識(shí)符的逐位仲裁方法可以解決這個(gè)問(wèn)題。
CAN總線控制器在發(fā)送數(shù)據(jù)的同時(shí)監(jiān)控總線電平,如果電平不同,則停止發(fā)送并做其他處理。如果該位位于仲裁段,則退出總線競(jìng)爭(zhēng);如果位于其他段,則產(chǎn)生錯(cuò)誤事件。
假設(shè)節(jié)點(diǎn)A、B和C都發(fā)送相同格式相同類(lèi)型的幀,如標(biāo)準(zhǔn)格式數(shù)據(jù)幀,它們競(jìng)爭(zhēng)總線的過(guò)程是:

幀ID越小,優(yōu)先級(jí)越高。由于數(shù)據(jù)幀的RTR位為顯性電平,遠(yuǎn)程幀為隱性電平,所以幀格式和幀ID相同的情況下,數(shù)據(jù)幀優(yōu)先于遠(yuǎn)程幀;由于標(biāo)準(zhǔn)幀的IDE位為顯性電平,擴(kuò)展幀的IDE位為隱形電平,對(duì)于前11位ID相同的標(biāo)準(zhǔn)幀和擴(kuò)展幀,標(biāo)準(zhǔn)幀優(yōu)先級(jí)比擴(kuò)展幀高。

數(shù)據(jù)段
一個(gè)數(shù)據(jù)幀傳輸?shù)臄?shù)據(jù)量為0~8個(gè)字節(jié),這種短幀結(jié)構(gòu)使得CAN-bus實(shí)時(shí)性很高,非常適合汽車(chē)和工控應(yīng)用場(chǎng)合如圖27所示。

數(shù)據(jù)量小,發(fā)送和接收時(shí)間短,實(shí)時(shí)性高,被干擾的概率小,抗干擾能力強(qiáng)。
審核編輯 :李倩
-
CAN
+關(guān)注
關(guān)注
59文章
3067瀏覽量
472760 -
通信
+關(guān)注
關(guān)注
18文章
6389瀏覽量
140058 -
總線
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91667
原文標(biāo)題:CAN總線詳解
文章出處:【微信號(hào):?jiǎn)纹瑱C(jī)與嵌入式,微信公眾號(hào):?jiǎn)纹瑱C(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
開(kāi)源項(xiàng)目汽車(chē)CAN總線分析儀總體介紹
SN65HVD23x 3.3-V CAN總線收發(fā)器:設(shè)計(jì)與應(yīng)用詳解
虹科HK-CoreTest:專(zhuān)業(yè)的CAN/CAN FD總線測(cè)試軟件,高效易用
汽車(chē)級(jí)CAN FD收發(fā)器TCAN1044-Q1:性能、應(yīng)用與設(shè)計(jì)要點(diǎn)詳解
CAN總線遠(yuǎn)程調(diào)試工具介紹
CAN總線斷路、短路及反接故障的現(xiàn)象解析及影響評(píng)估
三格電子CAN總線通信原理及在消防領(lǐng)域中的應(yīng)用
120Ω的秘密:CAN總線終端電阻的重要性
廣成科技CANFD轉(zhuǎn)CAN總線GCAN-418的優(yōu)勢(shì)
CAN總線電容過(guò)大?三種解決方案來(lái)了
CAN收發(fā)器:總線信號(hào)的“翻譯官”
如何評(píng)估CAN總線信號(hào)質(zhì)量
CAN總線通訊原理-原來(lái)這么簡(jiǎn)單!#總線通訊 #總線傳輸 #汽車(chē)CAN總線? #電路知識(shí)
CAN總線模組選購(gòu)指南:2025年全球CAN產(chǎn)品品牌與CAN-bus方案盤(pán)點(diǎn)
CAN總線詳解
評(píng)論