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

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

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

CAN和CANFD協(xié)議簡介(上)

RA生態(tài)工作室 ? 2024-01-26 08:06 ? 次閱讀

1. 概述

CAN(Controller Area Network)和CANFD(Controller Area Network Flexible Data-rate)是一種常用于汽車和工業(yè)領(lǐng)域的通信協(xié)議。

CAN協(xié)議最初是由德國的博世公司Bosch)在20世紀(jì)80年代開發(fā)的,旨在解決汽車電子設(shè)備之間的通信需求。它是一種高效可靠的串行通信協(xié)議,可支持在短距離上的高速數(shù)據(jù)傳輸。CAN協(xié)議以事件觸發(fā)的方式進(jìn)行通信,允許多個(gè)設(shè)備同時(shí)參與通信,并通過優(yōu)先級(jí)機(jī)制確保數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性。Classic CAN,傳統(tǒng)CAN,有時(shí)也稱為經(jīng)典CAN或普通CAN。

CAN協(xié)議的特點(diǎn)包括

雙線制:CAN總線由CAN_H和CAN_L兩根傳輸線組成,用差分信號(hào)傳輸數(shù)據(jù),以提高抗干擾性能。

沖突檢測與沖突解決:多個(gè)設(shè)備同時(shí)發(fā)送數(shù)據(jù)時(shí),CAN協(xié)議能夠檢測到?jīng)_突并通過優(yōu)先級(jí)機(jī)制解決。

幀格式簡單:CAN消息由ID、數(shù)據(jù)、控制位和CRC校驗(yàn)組成,具有較小的開銷和較高的數(shù)據(jù)傳輸效率。

容錯(cuò)能力強(qiáng):CAN協(xié)議使用位級(jí)錯(cuò)誤檢測和錯(cuò)誤恢復(fù)機(jī)制,能夠?qū)崿F(xiàn)高可靠性的數(shù)據(jù)傳輸。

隨著汽車電子系統(tǒng)的發(fā)展和數(shù)據(jù)通信需求的增加,CANFD協(xié)議應(yīng)運(yùn)而生。CANFD在保持CAN協(xié)議基本特性的同時(shí),增加了一些新的特性,主要是在數(shù)據(jù)傳輸速率和數(shù)據(jù)長度上的增強(qiáng)。相對于傳統(tǒng)的CAN協(xié)議,CANFD支持更高的數(shù)據(jù)傳輸速率(最高可達(dá)到8Mbps)和更大的數(shù)據(jù)長度(最多可傳輸64字節(jié)的數(shù)據(jù))。這使得CANFD能夠滿足對數(shù)據(jù)帶寬要求更高的應(yīng)用場景,如高級(jí)駕駛輔助系統(tǒng)(ADAS)和自動(dòng)駕駛領(lǐng)域。

CAN FD協(xié)議是由Bosch以及行業(yè)專家預(yù)研開發(fā)的,并于2012年發(fā)布。通過標(biāo)準(zhǔn)化對其進(jìn)行了改進(jìn),現(xiàn)已納入ISO 11898-1:2015。原始的Bosch CAN FD版本(非ISO CAN FD)與ISO CAN FD是不兼容。CAN FD具有四個(gè)主要優(yōu)點(diǎn):

增加了數(shù)據(jù)的長度:CAN FD每個(gè)數(shù)據(jù)幀最多支持64個(gè)數(shù)據(jù)字節(jié),而傳統(tǒng)CAN最多支持8個(gè)數(shù)據(jù)字節(jié)。這減少了協(xié)議開銷,并提高了協(xié)議效率。

增加傳輸?shù)乃俣龋?/strong>CAN FD支持雙比特率;與傳統(tǒng)CAN一樣,標(biāo)稱(仲裁)比特率限制為1 Mbit/s,而數(shù)據(jù)比特率則取決于網(wǎng)絡(luò)拓?fù)?收發(fā)器。實(shí)際上,可以實(shí)現(xiàn)高達(dá)5 Mbit/s的數(shù)據(jù)比特率(實(shí)際應(yīng)用中可以達(dá)到8 Mbit/s,但沒有標(biāo)準(zhǔn))。

更好的可靠性:CAN FD使用改進(jìn)的循環(huán)冗余校驗(yàn)(CRC)和“受保護(hù)的填充位計(jì)數(shù)器”,從而降低了未被檢測到的錯(cuò)誤的風(fēng)險(xiǎn)。這在汽車和工業(yè)自動(dòng)化等安全攸關(guān)的應(yīng)用中至關(guān)重要。

平滑過渡:在一些特定的情況下CAN FD能用在僅使用傳統(tǒng)CAN的ECU上,這樣就可以逐步引入CAN FD節(jié)點(diǎn),從而為OEM簡化程序和降低成本。

wKgaomaCHjKADCJ9AAERlxC5ayE238.png

與傳統(tǒng)CAN相比,CAN FD可以將網(wǎng)絡(luò)帶寬提高3到8倍,效率可從50%提升到90%,從而為數(shù)據(jù)的增長提供了一種簡單的解決方案。

2. CAN協(xié)議

2.1 物理層

I2C、SPI等具有時(shí)鐘信號(hào)的同步通訊方式不同,CAN通訊并不是以時(shí)鐘信號(hào)來進(jìn)行同步的,它是一種異步通訊,只具有CAN_High和CAN_Low兩條信號(hào)線, 共同構(gòu)成一組差分信號(hào)線,以差分信號(hào)的形式進(jìn)行通訊。

CAN物理層的形式主要有兩種:閉環(huán)總線網(wǎng)絡(luò)和開環(huán)總線網(wǎng)絡(luò)。

2.1.1 閉環(huán)總線網(wǎng)絡(luò)

如下所示的圖中的CAN通訊網(wǎng)絡(luò)是一種遵循ISO11898標(biāo)準(zhǔn)的高速、 短距離“閉環(huán)網(wǎng)絡(luò)”,它的總線最大長度為40m,通信速度最高為1Mbps,總線的兩端各要求有一個(gè)“120歐”的電阻。

wKgZomaCHmKAeqhLAAP-CwP115s054.png

2.1.2 開環(huán)總線網(wǎng)絡(luò)

如下所示的圖中的是遵循ISO11519-2標(biāo)準(zhǔn)的低速、遠(yuǎn)距離“開環(huán)網(wǎng)絡(luò)”,它的最大傳輸距離為1km, 最高通訊速率為125kbps,兩根總線是獨(dú)立的、不形成閉環(huán),要求每根總線上各串聯(lián)有一個(gè)“2.2千歐”的電阻。

wKgaomaCHoeAPYx7AAR0-aWaEGE925.png

2.1.3 ISO11898(閉環(huán)總線網(wǎng)絡(luò))和11519-2 (開環(huán)總線網(wǎng)絡(luò))協(xié)議的不同點(diǎn)

ISO11898 和 ISO11519-2 標(biāo)準(zhǔn)對于數(shù)據(jù)鏈路層的定義相同,但物理層不同。

ISO11898是通信速度為125kbps-1Mbps的CAN高速通信標(biāo)準(zhǔn)。

ISO11519是通信速度為125kbps以下的CAN低速通信標(biāo)準(zhǔn)。

下圖描述了ISO11898和11519-2物理層的主要不同點(diǎn)。

wKgaomaCHp-AVcYuAAOxXo-LA1I466.png

用戶需根據(jù)系統(tǒng)需要設(shè)定通信速度及總線長度。

wKgZomaCHrGAHpkqAACs1n0uGuI197.png

2.1.4 CAN協(xié)議中的差分信號(hào)

差分信號(hào)又稱差模信號(hào),與傳統(tǒng)使用單根信號(hào)線電壓表示邏輯的方式有區(qū)別,使用差分信號(hào)傳輸時(shí),需要兩根信號(hào)線,這兩個(gè)信號(hào)線的振幅相等, 相位相反,通過兩根信號(hào)線的電壓差值來表示邏輯0和邏輯1。

CAN協(xié)議中對它使用的CAN_High及CAN_Low表示的差分信號(hào)做了規(guī)定, CAN協(xié)議標(biāo)準(zhǔn)表示的信號(hào)邏輯參見下表。

wKgZomaCHtaAGxgeAAF-DmCA2tk087.png

以高速CAN協(xié)議為例,當(dāng)表示邏輯1時(shí)(隱性電平),CAN_High和CAN_Low線上的電壓均為2.5v, 即它們的電壓差VH-VL=0V;而表示邏輯0時(shí)(顯性電平), CAN_High的電平為3.5V,CAN_Low線的電平為1.5V, 即它們的電壓差為VH-VL=2V。例如,當(dāng)CAN收發(fā)器從CAN_Tx線接收到來自CAN控制器的低電平信號(hào)時(shí)(邏輯0), 它會(huì)使CAN_High輸出3.5V,同時(shí)CAN_Low輸出1.5V,從而輸出顯性電平表示邏輯0。

wKgaomaCHuqAeygkAAVnP1BfO4g069.png

在CAN總線中,必須使它處于隱性電平(邏輯1)或顯性電平(邏輯0)中的其中一個(gè)狀態(tài)。假如有兩個(gè)CAN通訊節(jié)點(diǎn),在同一時(shí)間,一個(gè)輸出隱性電平, 另一個(gè)輸出顯性電平,類似I2C總線的“線與”特性將使它處于顯性電平狀態(tài),顯性電平的名字就是這樣來的,即可以認(rèn)為顯性具有優(yōu)先的意味。

由于CAN總線協(xié)議的物理層只有1對差分線,在一個(gè)時(shí)刻只能表示一個(gè)信號(hào),所以對通訊節(jié)點(diǎn)來說,CAN通訊是半雙工的,收發(fā)數(shù)據(jù)需要分時(shí)進(jìn)行。在CAN的通訊網(wǎng)絡(luò)中,因?yàn)楣灿每偩€,在整個(gè)網(wǎng)絡(luò)中同一時(shí)刻只能有一個(gè)通訊節(jié)點(diǎn)發(fā)送信號(hào),其余的節(jié)點(diǎn)在該時(shí)刻都只能接收。

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

    關(guān)注

    146

    文章

    16785

    瀏覽量

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

    關(guān)注

    57

    文章

    2686

    瀏覽量

    462906
  • CANFD
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    4897
收藏 人收藏

    評論

    相關(guān)推薦

    細(xì)說下與傳統(tǒng)CAN相比CANFD CRC段帶來的變化

    很多人了解過CANFD,可能知道CANFD CRC段與傳統(tǒng)CAN CRC差距是CRC多項(xiàng)式不同,但實(shí)際CANFD CRC段與傳統(tǒng)CAN的差異
    的頭像 發(fā)表于 07-15 11:56 ?2179次閱讀

    RA MCU CANFD的應(yīng)用實(shí)例(

    本篇文章將以RA6E2為例,介紹如何使用瑞薩電子FSP CAN-FD lite的堆棧來設(shè)計(jì)和實(shí)現(xiàn)基于CAN的簡易系統(tǒng)。最后,使用兩套FPB-RA6E2和CAN收發(fā)器模塊通過CAN實(shí)現(xiàn)相
    的頭像 發(fā)表于 10-25 15:53 ?1061次閱讀
    RA MCU <b class='flag-5'>CANFD</b>的應(yīng)用實(shí)例(<b class='flag-5'>上</b>)

    CANFD節(jié)點(diǎn)如何與經(jīng)典CAN總線正常通信呢?

    CANFD的來源是什么?CANFD有哪幾個(gè)顯著特點(diǎn)?CANFD節(jié)點(diǎn)如何與經(jīng)典CAN總線正常通信呢?
    發(fā)表于 06-16 09:31

    CAN協(xié)議特點(diǎn)簡介

    CAN協(xié)議CAN協(xié)議 簡介CAN協(xié)議 特點(diǎn)(1)多主
    發(fā)表于 08-19 06:02

    請問OK1061-S使用的CAN收發(fā)器TJA1040是否支持CANFD?

    OK1061-S使用的CAN收發(fā)器TJA1040是否支持CANFD,我查這個(gè)型號(hào)是不支持CANFD的,但手冊里還是用這個(gè)測CANFD通訊了
    發(fā)表于 01-12 06:59

    CAN總線協(xié)議簡介

    CAN總線協(xié)議1. CAN簡介CAN(controller area network)控制器局域網(wǎng)是用于解決汽車眾多控制部件之間的數(shù)據(jù)交換而
    發(fā)表于 03-01 06:29

    CANFD協(xié)議中的概念

    CANFD協(xié)議中,有個(gè)重要的概念TDC(Transmitter Delay Compensation)即發(fā)送延遲補(bǔ)償。為什么會(huì)存在發(fā)送延遲,又為什么CANFD要對發(fā)送延遲做補(bǔ)償? 為什么存在發(fā)送
    的頭像 發(fā)表于 07-08 14:30 ?3064次閱讀

    【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)CAN/CANFD協(xié)議

    實(shí)施IIoT,協(xié)議轉(zhuǎn)換在某些場合下必不可少。本文介紹如何通過EsDA開發(fā)套件,快速完成一個(gè)Modbus轉(zhuǎn)CAN協(xié)議轉(zhuǎn)換器。 ?? 簡介 工業(yè)物聯(lián)網(wǎng)感知層的數(shù)據(jù)來源非常多樣,通常來自各
    的頭像 發(fā)表于 03-29 12:45 ?727次閱讀

    【EsDA協(xié)議轉(zhuǎn)換】Modbus轉(zhuǎn)CAN/CANFD協(xié)議

    實(shí)施IIoT,協(xié)議轉(zhuǎn)換在某些場合下必不可少。本文介紹如何通過EsDA開發(fā)套件,快速完成一個(gè)Modbus轉(zhuǎn)CAN協(xié)議轉(zhuǎn)換器。簡介工業(yè)物聯(lián)網(wǎng)感知層的數(shù)據(jù)來源非常多樣,通常來自各種多源異構(gòu)
    的頭像 發(fā)表于 04-09 14:32 ?647次閱讀
    【EsDA<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換】Modbus轉(zhuǎn)<b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b><b class='flag-5'>協(xié)議</b>

    技術(shù)分享丨CAN/CANFD一致性測試

    在汽車領(lǐng)域CAN/CANFD網(wǎng)絡(luò)通信中,各節(jié)點(diǎn)(控制器)的質(zhì)量不一致可能會(huì)引發(fā)錯(cuò)誤、網(wǎng)絡(luò)故障或網(wǎng)絡(luò)癱瘓等問題,所以,為保證CAN/CANFD網(wǎng)絡(luò)的正常安全運(yùn)行,必須要執(zhí)行
    的頭像 發(fā)表于 04-24 09:28 ?3446次閱讀
    技術(shù)分享丨<b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b>一致性測試

    CANCANFD協(xié)議簡介

    的串行通信協(xié)議,可支持在短距離的高速數(shù)據(jù)傳輸。CAN協(xié)議以事件觸發(fā)的方式進(jìn)行通信,允許多個(gè)設(shè)備同時(shí)參與通信,并通過優(yōu)先級(jí)機(jī)制確保數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性
    的頭像 發(fā)表于 07-31 12:10 ?3061次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>簡介</b>(<b class='flag-5'>上</b>)

    CANCANFD協(xié)議簡介(下)

    前篇內(nèi)容請點(diǎn)擊查看: RA MCU CANCANFD IP介紹 CANCANFD協(xié)議簡介
    的頭像 發(fā)表于 08-02 12:15 ?2851次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>簡介</b>(下)

    CANCANFD的區(qū)別 CANCANFD如何轉(zhuǎn)換

    CANCANFD的區(qū)別 CANCANFD如何轉(zhuǎn)換? CAN(Controller Area Network)是一種廣泛應(yīng)用于汽車和工業(yè)控
    的頭像 發(fā)表于 11-22 16:37 ?5185次閱讀

    cancanfd的區(qū)別

    cancanfd的區(qū)別? CAN(Controller Area Network)和CAN-FD(CAN with Flexible Da
    的頭像 發(fā)表于 12-07 15:37 ?3904次閱讀

    CANCANFD協(xié)議簡介(下)

    CANCANFD協(xié)議簡介(下)
    的頭像 發(fā)表于 02-19 12:08 ?552次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>簡介</b>(下)