<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

西西 ? 來源:未知 ? 作者:致遠電子 ? 2018-08-22 17:55 ? 次閱讀

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

一、更高的傳輸波特率

圖 1 可變數據段波特率結構

CANFD速率包含兩個段的速率,一個是仲裁段和ACK段,沿用CAN2.0的規范,最高速率為1Mbit/s,中間的數據段是可以加速的,標稱可以達到5Mbit/s,甚至更高。

二、更高效的數據段

對于汽車電子來說,對車輛動力系統、地盤以及主被動系統來說,加長的數據段避免了數據非必要的拆分,大大提升了CAN幀的傳輸效率。

圖 2 CAN FD高效的數據段

三、更可靠的CRC校驗和額外的控制位

在傳統的CAN 2.0中,由于填充規則會對CRC產生干擾,在CAN FD中升級了算法,將填充位加入多項式的運算,主要作為格式檢查,考慮數據長度變化的區間很大,CRC也根據區間會生成兩種校驗算法,當幀長小于210位,使用CRC_17,當幀長小于1023位,使用CRC_21位算法。

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

圖 3 可靠的CRC校驗

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

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

圖 4 新增控制位

接下來我們回到正題,升級后的CAN FD到底能跑多快呢?直接講參數很膚淺的,我們要分析。。.。。.那我們就用一個問題開始,大家都知道CAN 2.0最高速率可以到1M,但是為什么汽車電子高速CAN只跑到500K呢?

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

圖5 傳輸距離和傳輸速率的關系。

收發器和傳輸距離到底關系何在?剛才提到,收發器輸出是電平值,電平在傳輸的過程中難免衰減,線纜本身的阻抗和容抗無法避免,其次首尾終端電阻也是必要的,主要有兩個功能:

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

放電作用;

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

電平傳輸層面分析

圖 6 CAN FD波形

我們先來看一個CANFD分解波形,其中是由顯隱性電平構成的,其中上升沿是由CAN收發器芯片本身驅動的。當顯性電平轉變為隱形電平的時候,需要終端電阻放電,所以下降沿是我們的終端電阻放電的造成的。

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

圖 7 負載電阻與差分幅值的關系

如果下降沿緩慢是什么原因導致?

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

檢查線纜的參數,每米容抗是否在正常范圍內,正常線纜電容在40-70pF/m,容抗太大,建議更換線纜;

增加終端電阻放電,建議采用專業設備測試網絡阻抗容抗做正確匹配。

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

圖8 CANscope總線阻抗容抗測試

四、總線網絡數據能否正確傳輸層面

阻抗太大,電壓幅值壓降太大,傳輸距離大大降低?,F象就是在手牽手的網絡拓撲中,當然差分輔幅值最好不要低于1.3V,防止在強干擾的環境下,導致收發器無法識別或誤識別總線信號。

容抗也是影響下降沿的重要因素,如果下降沿太緩慢會導致位寬拉長,導致收發器錯誤識別,導致0/1的翻轉,CAN總線是錯誤重發的機制,會一直重發,直到這一幀被正確接收。

圖 9 電容對下降沿的影響

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

圖 10 穩定時間140ns

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

綜上所述,影響CAN FD到底能傳輸多快影響的因素非常多,也是我們大多數工程師在實際CAN總線開發的過程中會忽略的問題,如果需要CAN總線的相應的產品解決方案,隨時致電我們,期待與您的探討和交流。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1817

    瀏覽量

    129798
  • CAN
    CAN
    +關注

    關注

    56

    文章

    2485

    瀏覽量

    460046
  • 波特率
    +關注

    關注

    2

    文章

    282

    瀏覽量

    33818
收藏 人收藏

    評論

    相關推薦

    can波特率計算

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

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

    眾所周知CAN FDCAN 2.0的升級協議,也是汽車電子行業未來發展的主要趨勢,那CAN FD到底
    的頭像 發表于 09-17 10:01 ?1.6w次閱讀

    使用cubemx設置CAN波特率與實際測得的波特率不一致的原因?

    使用cubemx設置CAN波特率與實際測得的波特率不一致。
    發表于 03-26 07:06

    #硬聲創作季 #CAN #PLC 總線設計的波特率應該如何選擇?

    CAN波特率波特率發生器
    學習電子知識
    發布于 :2022年11月02日 20:00:29

    CAN怎么設置CAN波特率

    1. 波特率計算原理說明:本文檔主要解決基于SJA1000T 獨立CAN控制器的接口卡編程時波特率設置問題.1.1SJA1000T CAN控制器的
    發表于 11-23 14:37

    實現CAN的高速超遠程傳輸--CAN波特率轉換器BTL-CAN

    CAN總線可以在5Kbps波特率時傳輸最遠10Km、在10Kbps波特率時傳輸最遠5Km、在100Kbps波特率時傳輸最遠500m,增加波特率
    發表于 03-24 14:28

    請問STM32的CAN波特率怎么計算?

    請教STM32的CAN波特率如何計算?按照手冊上是Tbs1 = Tqx(TS1[3:0] + 1)Tbs1 = Tqx(TS1[2:0] + 1) Tq= (BRP[9:0] + 1)xTpclk
    發表于 05-17 02:44

    非標準CAN波特率的計算

    影響CAN總線穩定的因素有很多,其中波特率是一項非常重要的指標,很多工程師在選擇波特率時非常頭疼。今天我們就來說說該如何快速解決特殊波特率計算的問題。
    發表于 07-29 08:00

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

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

    STM32的CAN波特率計算公式

    %波特率計算公式:波特率 = 頻率/(CAN_BS1+CAN_BS2+1)/CAN_Prescaler采樣點計算方式:smp = (1+CAN
    發表于 08-20 07:51

    CAN波特率的計算

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

    STM32的CAN波特率計算 精選資料分享

    波特率=APB1Clock/(1+CAN_BS1+CAN_BS2)/CAN_Prescaler(PS:CAN_SJW表示重新同步跳躍寬度,不參與波特
    發表于 08-23 06:10

    S32K148如何更改CAN FD波特率?

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

    CAN通信波特率設置

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

    CAN通信波特率不對會怎樣?

    CAN通信波特率不對會怎樣?? CAN通信是一種流行的通信協議,它廣泛應用于許多現代車輛的系統中。CAN通信協議通過處理器之間的數據交換,實現車輛的控制。
    的頭像 發表于 10-11 17:19 ?1431次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>