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

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

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

什么是CAN總線?

汽車電子技術(shù) ? 來源:立邁勝 ? 作者:LMSBB8 ? 2023-02-09 11:01 ? 次閱讀

CAN簡介



CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。


最初,CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。


poYBAGPkYaCAXPInAARHRUF1of4765.png

比如:發(fā)動(dòng)機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置。



CAN總線特性

1.CAN總線具有高抗干擾性、自診斷和數(shù)據(jù)偵錯(cuò)功能,這些特性使得CAN總線在各種工業(yè)場合廣泛使用,包括樓宇自動(dòng)化、醫(yī)療和制造業(yè)。

2.CAN總線由德國BOSCH公司開發(fā),最高速率可達(dá)到1Mbps。CAN的容錯(cuò)能力特別強(qiáng),CAN控制器內(nèi)建了強(qiáng)大的檢錯(cuò)和處理機(jī)制。


3.另外,不同于傳統(tǒng)的網(wǎng)絡(luò)(比如USB或者以太網(wǎng)),CAN節(jié)點(diǎn)與節(jié)點(diǎn)之間不會(huì)傳輸大數(shù)據(jù)塊,一幀CAN消息最多傳輸8字節(jié)用戶數(shù)據(jù),采用短數(shù)據(jù)包也可以使得系統(tǒng)獲得更好的穩(wěn)定性。


4.CAN總線具有總線仲裁機(jī)制,可以組建多主系統(tǒng)。



CAN通訊協(xié)議ISO-11898

ISO11898體系結(jié)構(gòu)定義七層,OSI模型中的最低兩層作為數(shù)據(jù)鏈路層和物理層。


pYYBAGPkYa2AVNhCAAQMp9OIJt0064.png

實(shí)際通訊是在連接設(shè)備的物理介質(zhì)中進(jìn)行,物理介質(zhì)的特性由模型中的物理層定義。


pYYBAGPkYbeAGn_pAACUgCjbDME496.png

注:

LLC用于接收濾波、超載通告、回復(fù)管理

MAC用于數(shù)據(jù)封裝/拆封、幀編碼、媒體訪問管理、錯(cuò)誤檢測與標(biāo)定、應(yīng)答、串轉(zhuǎn)發(fā)/并轉(zhuǎn)串

PLS用于位編碼/解碼、位定時(shí)、同步

PMA為收發(fā)器特性

應(yīng)用程序?qū)咏⒘松蠈討?yīng)用特定協(xié)議,如CANopenTM協(xié)議的通訊鏈路。


這個(gè)協(xié)議由全世界的用戶和廠商組織、CiA維護(hù),詳情可訪問CiA網(wǎng)站:can-cia.de。


許多協(xié)議是專用的,比如工業(yè)自動(dòng)化、柴油發(fā)動(dòng)機(jī)或航空。


標(biāo)準(zhǔn)CAN和擴(kuò)展CAN


標(biāo)準(zhǔn)CAN

標(biāo)準(zhǔn)CAN只有11位標(biāo)識(shí)符,每幀的數(shù)據(jù)長度為51+(0~64)=(51~117)位。


pYYBAGPkYcOAe75iAAEdXwCyDBs759.png

標(biāo)準(zhǔn)CAN---11位標(biāo)識(shí)符

·

SOF

- 幀起始。顯性(邏輯0)表示報(bào)文的開始,并用于同步總線上的節(jié)點(diǎn)。

·標(biāo)識(shí)符- 標(biāo)準(zhǔn)CAN具有11位標(biāo)識(shí)符,用來確定報(bào)文的優(yōu)先級(jí)。

此域的數(shù)值越小,優(yōu)先級(jí)越高。

·

RTR

- 遠(yuǎn)程發(fā)送請(qǐng)求位。

當(dāng)需要從另一個(gè)節(jié)點(diǎn)請(qǐng)求信息時(shí),此位為顯性(邏輯0)。

所有節(jié)點(diǎn)都能接收這個(gè)請(qǐng)求,但是幀標(biāo)識(shí)符確定被指定的節(jié)點(diǎn)。

響應(yīng)數(shù)據(jù)幀同樣被所有節(jié)點(diǎn)接收,可以被有興趣的節(jié)點(diǎn)使用。

·

IDE

- 標(biāo)識(shí)符擴(kuò)展位,為顯性時(shí)表示這是一個(gè)標(biāo)準(zhǔn)CAN格式,為隱形表示這是擴(kuò)展CAN格式。

·

r0

- 保留位(可能將來標(biāo)準(zhǔn)修訂會(huì)使用)。

·

DLC

- 4位數(shù)據(jù)長度代碼表示傳輸數(shù)據(jù)的字節(jié)數(shù)目,一幀CAN最多傳輸8字節(jié)用戶數(shù)據(jù)。

·

數(shù)據(jù)0~8

– 最多可以傳輸8字節(jié)用戶數(shù)據(jù)。

·

CRC

- 16位(包括1位定界符)CRC校驗(yàn)碼,用來校驗(yàn)用戶數(shù)據(jù)區(qū)之前的(包含數(shù)據(jù)區(qū))傳輸數(shù)據(jù)段。

· ACK - 2位,包含應(yīng)答位和應(yīng)答界定符。


發(fā)送節(jié)點(diǎn)的報(bào)文幀中,ACK兩位是隱性位,當(dāng)接收器正確地接收到有效的報(bào)文,接收器會(huì)在應(yīng)答位期間向發(fā)送節(jié)點(diǎn)發(fā)送一個(gè)顯性位,表示應(yīng)答。

如果接收器發(fā)現(xiàn)這幀數(shù)據(jù)有錯(cuò)誤,則不向發(fā)送節(jié)點(diǎn)發(fā)送ACK應(yīng)答,發(fā)送節(jié)點(diǎn)會(huì)稍后重傳這幀數(shù)據(jù)。

· EOF – 7位幀結(jié)束標(biāo)志位,全部為隱性位。

如果這7位出現(xiàn)顯性位,則會(huì)引起填充錯(cuò)誤。

·

IFS

– 7位幀間隔標(biāo)志位,CAN控制器將接收到的幀正確的放入消息緩沖區(qū)是需要一定時(shí)間的,幀間隔可以提供這個(gè)時(shí)間。



擴(kuò)展CAN

擴(kuò)展CAN具有29位標(biāo)識(shí)符,每幀數(shù)據(jù)長度為71+(0~64)=(71~135)位。

注:不計(jì)位填充(位填充將在后面的文章描述)。

poYBAGPkYc6AVhzaAAAfq97tPow564.png

擴(kuò)展CAN---29位標(biāo)識(shí)符

擴(kuò)展CAN消息相對(duì)于標(biāo)準(zhǔn)CAN消息增加的內(nèi)容如下:

· SRR – 代替遠(yuǎn)程請(qǐng)求位,為隱性。所以當(dāng)標(biāo)準(zhǔn)幀與擴(kuò)展幀發(fā)送相互沖突并且擴(kuò)展幀的基本標(biāo)識(shí)符與標(biāo)準(zhǔn)幀的標(biāo)識(shí)符相同時(shí),標(biāo)準(zhǔn)幀優(yōu)先級(jí)高于擴(kuò)展幀。

· IDE – 為隱性位表示標(biāo)志位擴(kuò)展幀,18位擴(kuò)展標(biāo)識(shí)符緊跟著IDE位。

·r1– 保留


CAN消息


仲裁

pYYBAGPkYd2AKmfbAACDJbb99MI720.png

反轉(zhuǎn)的CAN總線邏輯


典型CAN的基本原理如上圖所示,從圖中可以看出,總線邏輯狀態(tài)與驅(qū)動(dòng)器輸入和接收器輸出邏輯是相反的。


正常情況下,邏輯高電平為1,邏輯低電平為0,但是CAN總線卻是邏輯高電平為0,稱為顯性,邏輯低電平為1,稱為隱性。


所以很多收發(fā)器的驅(qū)動(dòng)器輸入端都會(huì)內(nèi)置上拉電阻,在沒有任何輸入時(shí),CAN總線就會(huì)表現(xiàn)為隱性(邏輯低電平)。

總線空閑時(shí),最先開始發(fā)送報(bào)文的節(jié)點(diǎn)獲得發(fā)送權(quán)。


如果多個(gè)節(jié)點(diǎn)同時(shí)訪問總線,CAN使用非破壞式、逐位仲裁的方式?jīng)Q定哪個(gè)節(jié)點(diǎn)使用總線:各發(fā)送節(jié)點(diǎn)從仲裁域(標(biāo)識(shí)符和RTR域)的第1位開始進(jìn)行仲裁,連續(xù)輸出顯性電平(0)最多的節(jié)點(diǎn)可以繼續(xù)發(fā)送。


因此標(biāo)識(shí)符數(shù)值越低的CAN報(bào)文,優(yōu)先級(jí)越高。標(biāo)識(shí)符數(shù)值為0的CAN報(bào)文,具有最高優(yōu)先級(jí),因?yàn)樗敵龅娘@性電平最多。


消息類型

CAN有四種不同的報(bào)文類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤指示幀超載幀

1、數(shù)據(jù)幀

CAN協(xié)議有兩種數(shù)據(jù)幀類型:標(biāo)準(zhǔn)CAN和擴(kuò)展CAN(見上文)。


一個(gè)數(shù)據(jù)幀中包括7個(gè)主要的域:

幀起始域——標(biāo)志數(shù)據(jù)幀的開始,由一個(gè)顯性位組成。

仲裁域——內(nèi)容由標(biāo)示符和遠(yuǎn)程傳輸請(qǐng)求位(RTR)組成,RTR用以表明此信息幀是數(shù)據(jù)幀還是不包含任何數(shù)據(jù)的遠(yuǎn)地請(qǐng)求幀。


當(dāng)標(biāo)準(zhǔn)CAN和擴(kuò)展CAN的數(shù)據(jù)幀必須在同一條總線上傳輸時(shí),首先判斷其優(yōu)先權(quán),如果ID相同,則非擴(kuò)展數(shù)據(jù)幀的優(yōu)先權(quán)高于擴(kuò)展數(shù)據(jù)幀。

控制域——r0、r1是保留位,作為擴(kuò)展位,DLC表示一幀中數(shù)據(jù)字節(jié)的數(shù)目。

數(shù)據(jù)域——包含0~8字節(jié)的數(shù)據(jù)。

校驗(yàn)域——檢驗(yàn)位錯(cuò)用的循環(huán)冗余校驗(yàn)域,共15位。

應(yīng)答域——包括應(yīng)答位和應(yīng)答分隔符。正確接收到有效報(bào)文的接收站在應(yīng)答期間將總線值為顯性電平。


幀結(jié)束——由七位隱性電平組成。


2、遠(yuǎn)程幀

遠(yuǎn)程幀接受數(shù)據(jù)的節(jié)點(diǎn)可通過發(fā)遠(yuǎn)程幀請(qǐng)求源節(jié)點(diǎn)發(fā)送數(shù)據(jù)。


它由6個(gè)域組成:幀起始、仲裁域、控制域、校驗(yàn)域、應(yīng)答域、幀結(jié)束

3、錯(cuò)誤指示幀

錯(cuò)誤指示幀由錯(cuò)誤標(biāo)志錯(cuò)誤分界兩個(gè)域組成。


接收節(jié)點(diǎn)發(fā)現(xiàn)總線上的報(bào)文有誤時(shí),將自動(dòng)發(fā)出“活動(dòng)錯(cuò)誤標(biāo)志”其他節(jié)點(diǎn)檢測到活動(dòng)錯(cuò)誤標(biāo)志后發(fā)送“錯(cuò)誤認(rèn)可標(biāo)志”。

4、超載幀

超載幀由超載標(biāo)志超載分隔符組成。

超載幀只能在一個(gè)幀結(jié)束后開始。當(dāng)接收方接收下一幀之前,需要過多的時(shí)間處理當(dāng)前的數(shù)據(jù),或在幀間空隙域檢測到顯性電平時(shí),則導(dǎo)致發(fā)送超載幀。

幀間空隙位于數(shù)據(jù)幀和遠(yuǎn)地幀與前面的信息幀之間,由幀間空隙和總線空閑狀態(tài)組成。幀間空隙是必要的,在此期間, CAN不進(jìn)行新的幀發(fā)送,為的是CAN控制器在下次信息傳遞前有時(shí)間進(jìn)行內(nèi)部處理操作。當(dāng)總線空閑時(shí)CAN控制器方可發(fā)送數(shù)據(jù)。

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

    關(guān)注

    48

    文章

    7454

    瀏覽量

    150853
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2694

    瀏覽量

    463149
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    876

    瀏覽量

    54360
  • 控制網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    9497
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    在ISO 11898-2和ISO 11898-3中分別規(guī)定了兩種CAN總線結(jié)構(gòu)(在BOSCH CAN2.0規(guī)范中,并沒有關(guān)于總線拓?fù)浣Y(jié)構(gòu)的說明):高速
    發(fā)表于 04-07 09:30 ?2709次閱讀
    高速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特性

    CAN 總線錯(cuò)誤檢測機(jī)制#can總線

    CAN 總線
    北匯信息POLELINK
    發(fā)布于 :2023年05月26日 13:54:03

    CAN總線的位定時(shí)與同步機(jī)制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年07月17日 10:57:12

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

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

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

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

    什么是CAN時(shí)鐘?#CAN #汽車CAN總線? #CANoe

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年10月29日 12:23:36

    CAN總線是什么 CAN總線的作用

    現(xiàn)場總線VS工業(yè)以太網(wǎng)現(xiàn)場總線CAN總線(Control Area Network)一、CAN總線
    發(fā)表于 08-06 07:44

    CAN總線應(yīng)用—汽車領(lǐng)域

    文中分析了CAN總線的發(fā)展和汽車CAN總線技術(shù)的特征,對(duì)CAN總線在汽車領(lǐng)域的應(yīng)用進(jìn)行了深入的探
    發(fā)表于 12-14 14:58 ?86次下載

    CAN總線概述及應(yīng)用_CAN總線的應(yīng)用案例(汽車CAN總線應(yīng)用)

    CAN已經(jīng)形成國際標(biāo)準(zhǔn),并已被公認(rèn)為幾種最有前途的現(xiàn)場總線之一。CAN 總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。由于其良好的性能及獨(dú)特的設(shè)計(jì),
    發(fā)表于 05-07 10:36 ?3.5w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>概述及應(yīng)用_<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的應(yīng)用案例(汽車<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>應(yīng)用)

    CAN總線教程之CAN總線快速入門資料免費(fèi)下載

    本文檔額度主要內(nèi)容詳細(xì)介紹的是CAN總線教程之CAN總線快速入門資料免費(fèi)下載主要內(nèi)容包括了:CAN總線
    發(fā)表于 12-07 17:20 ?213次下載

    高速CAN總線和低速CAN總線區(qū)別分析

    高速CAN總線上為顯性電平(邏輯0)時(shí),CAN_H為3.5V、CAN_L為1.5V,此時(shí)電壓差是2V,顯性狀態(tài)的CAN
    發(fā)表于 09-13 16:57 ?4531次閱讀

    認(rèn)識(shí)CAN總線錯(cuò)誤 CAN總線錯(cuò)誤分析與解決

    認(rèn)識(shí)CAN 總線錯(cuò)誤的第一步就是了解認(rèn)識(shí)CAN 總線協(xié)議和它的具體功能,這樣才能更容易地理解CAN 總線
    發(fā)表于 08-14 15:18 ?5732次閱讀
    認(rèn)識(shí)<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯(cuò)誤 <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯(cuò)誤分析與解決

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

    can總線負(fù)載率多少合理? CAN總線是一種控制器區(qū)域網(wǎng)絡(luò),它是用于在不同設(shè)備之間進(jìn)行通信的技術(shù)。CAN
    的頭像 發(fā)表于 09-07 15:05 ?3766次閱讀

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎?

    can總線為什么要用雙絞線?can總線不用雙絞線可以嗎? CAN總線是一種數(shù)據(jù)通信協(xié)議,廣泛用于
    的頭像 發(fā)表于 09-14 16:48 ?5177次閱讀

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

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