0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN總線詳解

單片機(jī)與嵌入式 ? 來源:單片機(jī)與嵌入式 ? 2023-01-30 09:24 ? 次閱讀

1 簡介

CAN控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是一種能夠?qū)崿F(xiàn)分布式實(shí)時控制的串行通信網(wǎng)絡(luò)。

優(yōu)點(diǎn):

傳輸速度最高到1Mbps,通信距離最遠(yuǎn)到10km,無損位仲裁機(jī)制,多主結(jié)構(gòu)。近些年來,CAN控制器價格越來越低。

? 低成本:ECUs通過單個CAN接口進(jìn)行通信,布線成本低。

? 高集成:CAN總線系統(tǒng)允許在所有ECUs上進(jìn)行集中錯誤診斷和配置。

? 可靠性:該系統(tǒng)對子系統(tǒng)的故障和電磁干擾具有很強(qiáng)的魯棒性,是汽車控制系統(tǒng)的理想選擇。

? 高效率:可以通過id對消息進(jìn)行優(yōu)先級排序,以便最高優(yōu)先級的id不被中斷。

? 靈活性:每個ECU包含一個用于CAN總線收發(fā)芯片,隨意添加CAN總線節(jié)點(diǎn)。

2 CAN總線網(wǎng)絡(luò)

53becfdc-a02a-11ed-bfe3-dac502259ad0.png

CAN總線網(wǎng)絡(luò)主要掛在CAN_H和CAN_L,各個節(jié)點(diǎn)通過這兩條線實(shí)現(xiàn)信號的串行差分傳輸,為了避免信號的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。為什么是120Ω,因為電纜的特性阻抗為120Ω,為了模擬無限遠(yuǎn)的傳輸線。

3 CAN收發(fā)器

CAN收發(fā)器的作用是負(fù)責(zé)邏輯電平和信號電平之間的轉(zhuǎn)換。

53caf88e-a02a-11ed-bfe3-dac502259ad0.png

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

53d6f440-a02a-11ed-bfe3-dac502259ad0.png

4 CAN信號表示

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

53dfcc96-a02a-11ed-bfe3-dac502259ad0.png

顯性與隱性電平的解釋:

CAN的數(shù)據(jù)總線有兩條,一條是黃色的CAN_High,一條是綠色的CAN_Low。當(dāng)沒有數(shù)據(jù)發(fā)送時,兩條線的電平一樣都為2.5V,稱為靜電平,也就是隱性電平。當(dāng)有信號發(fā)送時,CAN_High的電平升高1V,即3.5V,CAN_Low的電平降低1V,即1.5V。

按照定義的:

CAN_H-CAN_L < 0.5V 時候為隱性的,邏輯信號表現(xiàn)為"邏輯1"- 高電平。

CAN_H-CAN_L > 0.9V 時候為顯性的,邏輯信號表現(xiàn)為"邏輯0"- 低電平。

5 CAN信號傳輸

發(fā)送過程:CAN控制器將CPU傳來的信號轉(zhuǎn)換為邏輯電平(即邏輯0-顯性電平或者邏輯1-隱性電平)。CAN發(fā)射器接收邏輯電平之后,再將其轉(zhuǎn)換為差分電平輸出到CAN總線上。

53ff1f88-a02a-11ed-bfe3-dac502259ad0.png

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

541131fa-a02a-11ed-bfe3-dac502259ad0.png

6 CAN數(shù)據(jù)傳輸

CAN總線傳輸?shù)氖荂AN幀,CAN的通信幀分成五種,分別為數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀、過載幀和幀間隔。

數(shù)據(jù)幀根據(jù)仲裁段長度不同分為標(biāo)準(zhǔn)幀(2.0A)和擴(kuò)展幀(2.0B)。

542c516a-a02a-11ed-bfe3-dac502259ad0.png

幀起始

由一個顯性位(低電平)組成,發(fā)送節(jié)點(diǎn)發(fā)送幀起始,其他節(jié)點(diǎn)同步于幀起始;

幀結(jié)束

由7個隱形位(高電平)組成。

543538b6-a02a-11ed-bfe3-dac502259ad0.png

仲裁段

只要總線空閑,總線上任何節(jié)點(diǎn)都可以發(fā)送報文,如果有兩個或兩個以上的節(jié)點(diǎn)開始傳送報文,那么就會存在總線訪問沖突的可能。但是CAN使用了標(biāo)識符的逐位仲裁方法可以解決這個問題。

CAN總線控制器在發(fā)送數(shù)據(jù)的同時監(jiān)控總線電平,如果電平不同,則停止發(fā)送并做其他處理。如果該位位于仲裁段,則退出總線競爭;如果位于其他段,則產(chǎn)生錯誤事件。

假設(shè)節(jié)點(diǎn)A、B和C都發(fā)送相同格式相同類型的幀,如標(biāo)準(zhǔn)格式數(shù)據(jù)幀,它們競爭總線的過程是:

5443442e-a02a-11ed-bfe3-dac502259ad0.png

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

546a411e-a02a-11ed-bfe3-dac502259ad0.png

數(shù)據(jù)段

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

5471e5e0-a02a-11ed-bfe3-dac502259ad0.png

數(shù)據(jù)量小,發(fā)送和接收時間短,實(shí)時性高,被干擾的概率小,抗干擾能力強(qiáng)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2663

    瀏覽量

    462430
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5878

    瀏覽量

    135306
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87697

原文標(biāo)題:CAN總線詳解

文章出處:【微信號:單片機(jī)與嵌入式,微信公眾號:單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CAN總線控制器是什么意思

    CAN總線控制器(Controller Area Network Bus Controller)是CAN總線通信系統(tǒng)中的核心部件,它扮演著接收、處理并轉(zhuǎn)發(fā)
    的頭像 發(fā)表于 09-03 14:16 ?204次閱讀

    can總線隔離模塊的作用

    CAN總線隔離模塊是一種用于保護(hù)CAN總線通信系統(tǒng)的電子設(shè)備,它通過在CAN總線
    的頭像 發(fā)表于 06-16 10:32 ?799次閱讀

    can總線中斷狀態(tài)什么意思呢?

    CAN總線(Controller Area Network)是一種廣泛使用的現(xiàn)場總線通信協(xié)議,主要用于汽車、工業(yè)控制等領(lǐng)域。在CAN總線通信
    的頭像 發(fā)表于 06-16 10:21 ?938次閱讀

    CAN總線的特點(diǎn)、原理及應(yīng)用

    CAN總線(Controller Area Network)是一種用于汽車和工業(yè)自動化領(lǐng)域的局域網(wǎng)技術(shù),具有實(shí)時性、可靠性、靈活性和成本效益等優(yōu)點(diǎn)。本文將詳細(xì)介紹CAN總線的特點(diǎn)、原理
    的頭像 發(fā)表于 06-16 10:19 ?1445次閱讀

    什么是CAN總線通信?CAN總線工作原理

    這意味著變送器通過CAN收發(fā)器改變總線電平,并將其信息傳輸?shù)?b class='flag-5'>CAN總線。接收器通過監(jiān)測總線電平將總線
    發(fā)表于 02-19 14:53 ?4512次閱讀
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>工作原理

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2122次閱讀

    CAN總線共模電感選型

    CAN總線共模電感是應(yīng)用于CAN總線通信中的一種電子元件,用于解決CAN總線通信中的共模干擾問題
    的頭像 發(fā)表于 01-05 13:42 ?3120次閱讀

    CAN總線的特點(diǎn)和FPGA實(shí)現(xiàn)

    我們根據(jù)can總線具有的一些特性可知:CAN總線肯定具有分層結(jié)構(gòu),而且參考OSI模型(OSI參考模型介紹)是肯定的,我們可以看一下相關(guān)的文檔可知:C
    的頭像 發(fā)表于 01-05 09:40 ?758次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特點(diǎn)和FPGA實(shí)現(xiàn)

    CAN總線的發(fā)展歷程 CAN XL總線的典型應(yīng)用

    CAN總線通訊協(xié)議由德國博世于上世紀(jì)80年代發(fā)明,第一個使用CAN總線通訊協(xié)議的量產(chǎn)車型是1991年的奔馳S級轎車,至今CAN
    的頭像 發(fā)表于 12-21 14:03 ?2318次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的發(fā)展歷程 <b class='flag-5'>CAN</b> XL<b class='flag-5'>總線</b>的典型應(yīng)用

    can總線傳輸距離

    can總線傳輸距離? CAN總線是一種串行通信協(xié)議,常用于汽車行業(yè)中的數(shù)據(jù)通信。它被廣泛應(yīng)用于車載電子系統(tǒng),如發(fā)動機(jī)控制單元、制動系統(tǒng)、儀表盤和空調(diào)控制系統(tǒng)等。
    的頭像 發(fā)表于 12-07 18:09 ?3111次閱讀

    詳解純電動汽車的CAN總線系統(tǒng)

    CAN總線英文全稱為Controller Area Network,即控制器局域網(wǎng),是目前汽車上使用最廣泛的總線之一。純電動汽車一般裝有7個CAN
    的頭像 發(fā)表于 11-13 10:05 ?9441次閱讀
    <b class='flag-5'>詳解</b>純電動汽車的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>系統(tǒng)

    CAN總線和電平邏輯介紹

    CAN總線 CAN是控制器局域網(wǎng)絡(luò)的簡稱,是一種能夠?qū)崿F(xiàn)分布式實(shí)時控制的串行通信網(wǎng)絡(luò)。CAN總線的功能復(fù)雜且智能。
    的頭像 發(fā)表于 11-09 18:11 ?1421次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和電平邏輯介紹

    CAN總線訪問與仲裁機(jī)制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年10月20日 15:33:02

    一條口訣總結(jié),汽車CAN總線使用權(quán)獲取規(guī)則#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年10月20日 12:15:34

    CAN總線負(fù)載率多少合理

    CAN總線應(yīng)用中,合理的CAN總線負(fù)載率是非常重要的,因為在負(fù)載率過高的情況下,系統(tǒng)性能可能會下降,增加錯誤率并導(dǎo)致總線沖突。理想的情況下
    的頭像 發(fā)表于 10-12 17:58 ?1569次閱讀