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

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

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

CAN FD的波特率到底能跑多快?

AGk5_ZLG_zhiyua ? 來源:未知 ? 作者:王淳 ? 2018-09-17 10:01 ? 次閱讀

本文導(dǎo)讀

眾所周知CAN FD是CAN 2.0的升級協(xié)議,也是汽車電子行業(yè)未來發(fā)展的主要趨勢,那CAN FD到底能跑多快呢?

眾所周知,CAN FD是基于CAN 2.0的升級版協(xié)議,為了滿足汽車電子日益增長的高帶寬和高傳輸速率的要求,CAN FD主要升級了以下幾個(gè)方面:

1、更高的傳輸波特率

圖1 可變數(shù)據(jù)段波特率結(jié)構(gòu)

CAN FD速率包含兩個(gè)段的速率,其中仲裁段和ACK段沿用CAN2.0的規(guī)范,最高速率為1Mbit/s,中間的數(shù)據(jù)段是可以加速的,標(biāo)稱可以達(dá)到5Mbit/s,甚至更高。

2、更高效的數(shù)據(jù)段

對于汽車電子來說,對車輛動(dòng)力系統(tǒng)、底盤以及主被動(dòng)系統(tǒng)來說,加長的數(shù)據(jù)段避免了數(shù)據(jù)非必要的拆分,大大提升了CAN幀的傳輸效率。

圖2 CAN FD高效的數(shù)據(jù)段

3、更可靠的CRC校驗(yàn)和額外的控制位

在傳統(tǒng)的CAN 2.0中,由于填充規(guī)則會(huì)對CRC產(chǎn)生干擾,在CAN FD中升級了算法,將填充位加入多項(xiàng)式的運(yùn)算,主要作為格式檢查,考慮數(shù)據(jù)長度變化的區(qū)間很大,CRC也根據(jù)區(qū)間會(huì)生成兩種校驗(yàn)算法,當(dāng)幀長小于210位,使用CRC_17,當(dāng)幀長小于1023位,使用CRC_21位算法。

圖3 可靠的CRC校驗(yàn)

另外在CAN FD中利用了部分保留標(biāo)志位,新增三種控制位,包括EDL(是否是CAN FD幀)、BRS(是否可變速率)以及ESI(錯(cuò)誤狀態(tài)),豐富幀內(nèi)的有用信息。

圖4 新增控制位

接下來我們回到正題,升級后的CAN FD到底能跑多快呢?那就用一個(gè)問題開始,大家都知道CAN 2.0最高速率可以到1M,但是為什么汽車電子高速CAN只跑到500K呢?

對于CAN總線的傳輸速率來講,傳輸距離和傳輸速率是成反比的,一般來說傳輸距離(m)=(50000/波特率kbps)*0.8,如圖5所示。

圖5 傳輸距離和傳輸速率的關(guān)系

實(shí)際在總線傳輸?shù)倪^程中,只有在實(shí)際應(yīng)用環(huán)境下穩(wěn)定傳輸才是重中之重,所以1M波特率在汽車電子會(huì)很難,接下來就如何實(shí)現(xiàn)高速率的穩(wěn)定傳輸因素做以下淺析。

首先是CAN收發(fā)器,收發(fā)器的功能是將邏輯值轉(zhuǎn)換為電平值,但電平在傳輸?shù)倪^程中難免衰減,傳輸線纜本身的阻抗和容抗無法避免,尤其是首位終端電阻(基于手牽手拓?fù)洌饕袃蓚€(gè)功能:

  • 首尾120歐姆終端電阻,保證阻抗連續(xù)性(防止電信號反射);

  • 放電作用。

針對終端電阻放電作用,我們下面從兩個(gè)層面分析:

一、電平傳輸層面分析

圖6 CAN FD波形

我們先來看一個(gè)CAN FD分解波形,其中是由顯隱性電平構(gòu)成的,其中上升沿是由CAN收發(fā)器芯片本身驅(qū)動(dòng)的。當(dāng)顯性電平轉(zhuǎn)變?yōu)殡[形電平的時(shí)候,需要終端電阻放電,所以下降沿是我們的終端電阻放電的造成的。

圖7 負(fù)載電阻與差分幅值的關(guān)系

如果下降沿緩慢是什么原因?qū)е拢?/strong>

1、檢查收發(fā)器外圍電路是否存在容性較大的器件(不影響電路正常工作的情況下拆除),重新測試波形是否正常;

2、檢查線纜的參數(shù),每米容抗是否在正常范圍內(nèi),正常線纜電容在40-70pF/m,容抗太大,建議更換線纜;

3、增加終端電阻放電,建議采用專業(yè)設(shè)備測試網(wǎng)絡(luò)阻抗容抗做正確匹配。

圖8 CANscope總線阻抗容抗測試

二、總線網(wǎng)絡(luò)數(shù)據(jù)能否正確傳輸層面

阻抗太大,電壓幅值壓降太大,傳輸距離大大降低?,F(xiàn)象就是在手牽手的網(wǎng)絡(luò)拓?fù)渲校?dāng)然差分幅值最好不要低于1.3V,防止在強(qiáng)干擾的環(huán)境下,導(dǎo)致收發(fā)器無法識別或誤識別總線信號。

容抗也是影響下降沿的重要因素,如果下降沿太緩慢會(huì)導(dǎo)致位寬拉長,導(dǎo)致收發(fā)器錯(cuò)誤識別,導(dǎo)致0/1的翻轉(zhuǎn),CAN總線是錯(cuò)誤重發(fā)的機(jī)制,會(huì)一直重發(fā),直到這一幀被正確接收。

圖9 電容對下降沿的影響

同樣的我們回到阻抗和容抗的匹配是如何影響CAN FD的傳輸速率的呢,接下來我們用實(shí)測證明:

圖10 穩(wěn)定時(shí)間140ns

前面我也提到5M數(shù)據(jù)速率時(shí),位時(shí)間是200ns,實(shí)際傳輸過程中,一位時(shí)間包含了上升沿、下降沿以及數(shù)據(jù)穩(wěn)定時(shí)間,如圖10所示,數(shù)據(jù)穩(wěn)定時(shí)間按是140ns,那其中上升沿和下降沿占了60ns,理想情況下,上升沿和下降沿完全對稱,其中上升沿時(shí)間是30ns,按照邊沿極限值12%計(jì)算,實(shí)際算出來的位時(shí)間=30/(12/100)=250ns,那么相對應(yīng)的傳輸波特率就=1/250ns=4M波特率,所以實(shí)際5M波特率也就是在測試使用,如果按照7%的邊沿時(shí)間為安全值來計(jì)算,實(shí)際的位時(shí)間=30/(7/100)約等于42ns,相對應(yīng)的傳輸波特率=1/42ns約等于2.3M,所以想要實(shí)際在工況下穩(wěn)定可靠傳輸,數(shù)據(jù)端波特率在2M左右比較合理。

綜上所述,影響CAN FD到底能傳輸多快影響的因素非常多,也是我們大多數(shù)工程師在實(shí)際CAN總線開發(fā)的過程中會(huì)忽略的問題,如果需要CAN總線的相應(yīng)產(chǎn)品解決方案,歡迎添加微信號:zlgmcu-888,期待與您的探討和交流。


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

    關(guān)注

    17

    文章

    920

    瀏覽量

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

    關(guān)注

    57

    文章

    2663

    瀏覽量

    462432
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    197

    瀏覽量

    29357

原文標(biāo)題:CAN FD的波特率到底能跑多快?

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    can波特率計(jì)算

    can波特率其實(shí)并不難計(jì)算,這里給出了can波特率的簡單計(jì)算,并給出了實(shí)例STM32的CAN波特率
    發(fā)表于 12-14 17:02 ?1.2w次閱讀
    <b class='flag-5'>can</b><b class='flag-5'>波特率</b>計(jì)算

    CAN FD波特率到底能跑多快?

    眾所周知,CAN FD是基于CAN 2.0的升級版協(xié)議,為了滿足汽車電子日益增長的高帶寬和高傳輸速率的要求,CAN FD主要升級了以下幾個(gè)方
    的頭像 發(fā)表于 08-22 17:55 ?1.3w次閱讀

    什么是串口波特率?串口波特率的分類及應(yīng)用詳解

    什么是串口波特率串口波特率是指串口通信系統(tǒng)中傳輸數(shù)據(jù)的速率。在UART串口通信中,數(shù)據(jù)以位(bit)的形式傳輸,波特率是指每秒鐘傳輸?shù)奈粩?shù)。在串口通信中,波特率是非常重要的參數(shù),因?yàn)?/div>
    的頭像 發(fā)表于 08-08 10:09 ?5306次閱讀
    什么是串口<b class='flag-5'>波特率</b>?串口<b class='flag-5'>波特率</b>的分類及應(yīng)用詳解

    CAN FD波特率到底能跑多快看了就知道

    眾所周知,CAN FD是基于CAN 2.0的升級版協(xié)議,為了滿足汽車電子日益增長的高帶寬和高傳輸速率的要求,CAN FD主要升級了以下幾個(gè)方
    發(fā)表于 08-04 07:45

    CAN波特率的計(jì)算

    車輛使用的250K 的波特率,使用STM32制作的控制板中的CAN波特率的計(jì)算波特率=APB1Clock/(1+CAN_BS1+CAN_BS
    發(fā)表于 08-20 08:11

    S32K148如何更改CAN FD波特率

    我將 S32_SDK_S32K1xx_RTM_4.0.3 中的 flexcan_encrypted_s32k148用于 S32K148EVB,我需要以 1000 kbps 的波特率發(fā)送 CAN
    發(fā)表于 03-17 08:45

    CAN通信波特率設(shè)置

    CAN通信波特率設(shè)置 LM3S2000、LM3S5000、LM3S8000系列CPU內(nèi)部有1~3路CAN控制器,通過對CAN位定時(shí)寄存器CANBIT及
    發(fā)表于 04-06 18:00 ?24次下載

    CAN特殊波特率如何計(jì)算

    CAN總線采用的是異步串行通信,也就是沒有單獨(dú)的時(shí)鐘線來保證各個(gè)收發(fā)器之間時(shí)鐘的一致,每個(gè)收發(fā)器是按事先設(shè)置的波特率來對總線上的電平進(jìn)行分位。因此波特率設(shè)置準(zhǔn)確對CAN總線的穩(wěn)定通信來
    發(fā)表于 08-17 18:19 ?7011次閱讀
    <b class='flag-5'>CAN</b>特殊<b class='flag-5'>波特率</b>如何計(jì)算

    關(guān)于UART/CAN/PLL時(shí)鐘計(jì)算波特率的方法

    SWM系列關(guān)于UART/CAN/PLL等時(shí)鐘相關(guān)模塊,計(jì)算波特率的方法。
    的頭像 發(fā)表于 03-18 16:52 ?7340次閱讀

    CAN總線波特率的基礎(chǔ)知識

    信息在通信通道中傳輸?shù)乃俾时环Q為波特率。通俗地說,波特率是數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)乃俣?速率。這是以比特/秒表示的。因此,一秒鐘內(nèi)在通信網(wǎng)絡(luò)上傳輸?shù)谋忍財(cái)?shù)就是波特率。
    的頭像 發(fā)表于 04-25 08:37 ?3.2w次閱讀
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>波特率</b>的基礎(chǔ)知識

    MPC5744p的CAN通信波特率計(jì)算

    本篇筆記主要記錄MPC5744p的CAN通信波特率計(jì)算,以及需要注意的問題。
    的頭像 發(fā)表于 07-10 17:40 ?2487次閱讀

    MPC5744p的CAN通信波特率如何計(jì)算

    本篇筆記主要記錄MPC5744p的CAN通信波特率計(jì)算,以及需要注意的問題
    的頭像 發(fā)表于 01-20 14:58 ?1831次閱讀
    MPC5744p的<b class='flag-5'>CAN</b>通信<b class='flag-5'>波特率</b>如何計(jì)算

    什么是波特率?波特率是如何影響CAN總線長度的?

    信息在通信通道中傳輸?shù)乃俾时环Q為波特率。通俗地說,波特率是數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)乃俣?速率。這是以比特/秒表示的。因此,一秒鐘內(nèi)在通信網(wǎng)絡(luò)上傳輸?shù)谋忍財(cái)?shù)就是波特率。
    的頭像 發(fā)表于 08-14 15:23 ?5148次閱讀
    什么是<b class='flag-5'>波特率</b>?<b class='flag-5'>波特率</b>是如何影響<b class='flag-5'>CAN</b>總線長度的?

    CAN通信波特率不對會(huì)怎樣?

    CAN通信波特率不對會(huì)怎樣?? CAN通信是一種流行的通信協(xié)議,它廣泛應(yīng)用于許多現(xiàn)代車輛的系統(tǒng)中。CAN通信協(xié)議通過處理器之間的數(shù)據(jù)交換,實(shí)現(xiàn)車輛的控制。
    的頭像 發(fā)表于 10-11 17:19 ?2078次閱讀

    以太網(wǎng)CAN轉(zhuǎn)換器波特率的設(shè)置步驟是怎樣的?

    確定CAN總線的波特率:首先,需要確定所連接的CAN總線的波特率。CAN總線的波特率通常以位/秒
    的頭像 發(fā)表于 01-17 09:24 ?765次閱讀