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

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

3天內不再提示

CAN FD與傳統(tǒng)CAN的區(qū)別是什么

智能汽車電子與軟件 ? 來源:智能網聯(lián)汽車網 ? 2024-10-22 10:47 ? 次閱讀

來源 |智能網聯(lián)汽車網

隨著汽車電子工業(yè)自動化的蓬勃發(fā)展,CAN總線上的設備數(shù)量、數(shù)據(jù)量都大大增加,給CAN總線帶來了極大的挑戰(zhàn)。為滿足更高的帶寬及數(shù)據(jù)吞吐量,CAN FD(CAN with Flexible Data-Rate)誕生了。那究竟CAN FD與傳統(tǒng)CAN的區(qū)別是什么?在數(shù)據(jù)傳輸和實時性能方面又有什么不同?

一般從使用傳統(tǒng)CAN轉換到CAN FD會有以下3個原因:

01CAN FD提高位速率的同時提供更短的CAN幀

延遲時間更短.

更好的實時性能

更高的帶寬

02CAN FD可以在CAN幀中容納從8到64字節(jié)更多的數(shù)據(jù)

相對更少的系統(tǒng)開銷 = 更好的數(shù)據(jù)吞吐量

發(fā)送較大數(shù)據(jù)對象時,軟件更簡單高效

03CAN FD具有更高性能的CRC算法

降低未檢測到錯誤的風險

由于CAN FD是在CAN總線的數(shù)據(jù)量負荷逐漸達到極限后的產物,本文旨在對比CAN FD與傳統(tǒng)CAN的同時詳細介紹CAN FD。

01.CAN FD與傳統(tǒng)CAN的數(shù)據(jù)幀格式

圖 1 傳統(tǒng) CAN 幀(上圖)和 CAN FD 幀(下圖)比較。兩種幀都是單字節(jié)數(shù)據(jù),而且在此例中, CAN FD 幀沒有提高位速率??梢钥闯?,兩種幀從幀起始(SOF)位到整個 11 個仲裁位都相同。仲裁之后,傳統(tǒng) CAN(標記為 A)中是遠程傳輸請求位(RTR 位),CAN FD 幀中是遠程請求替換位(RRS 位)。對于數(shù)據(jù)幀,該位在這兩種幀格式中始終為顯性(0)。通常定義為邏輯 0 和 0 伏信號的顯性位由底部較粗的黑線表示(標記為 B)。

wKgZomcXEmuAHGyvAABInkg2Lks051.jpg

圖 1 傳統(tǒng) CAN 和 CAN FD 幀之比較

遠程傳輸請求位(RTR 位)之后的位是顯性標識符擴展位(IDE 位),表示該幀是使用 11 位仲裁的基本幀格式。注意,本文將不涉及使用 29 位仲裁的 EF 擴展幀格式(EFEFF) 。

IDE 位之后是 r0 位(保留位),其在傳統(tǒng) CAN 幀格式中始終為顯性。在 CAN FD 幀格式中,該位為隱性(見 C),指示該幀不是傳統(tǒng) CAN 幀,而是保留格式的 CAN 幀,現(xiàn)在稱其為 CAN FD(CAN Flexible Data-rate)。換句話說,該位指示 CAN 幀是傳統(tǒng) CAN 幀還是 CAN FD 幀。自 ISO11898-1 標準發(fā)布以來,該位被稱為 FDF 位(靈活數(shù)據(jù)格式位),代替在 ISO11898-1 標準先前版本中被稱為 r0 位的名稱。在任何先前文檔或數(shù)據(jù)表中見到對 r0 位的引用,它與 2015 年發(fā)布的 ISO11898-1 版中的 FDF 位是相同的。

02. CANFD的附加位

FDF 位/r0 位(從現(xiàn)在開始我們將其稱為 FDF 位)之后是 FD 格式的保留位(res)和傳統(tǒng) CAN 格式的數(shù)據(jù)長度碼位(DLC)。換句話說,按照以前的 ISO11898-1 標準所有產生的傳統(tǒng) CAN 控制器都將錯誤地解讀 CAN FD 幀,從而導致傳統(tǒng) CAN 控制器的錯誤幀。在循環(huán)冗余檢查(CRC)定界符(圖 1 中標記為 D)之后,傳統(tǒng) CAN 和 CAN Fd 在其位模式方面是一致的。換句話說,在下一幀開始之前,傳統(tǒng)格式和 FD 格式使用相同的結束模式。

所有 CAN FD 控制器都可以處理傳統(tǒng) CAN 幀和 CAN FD 幀的混合。這意味著在現(xiàn)有系統(tǒng)中開始使用 CAN FD 控制器以及僅使用傳統(tǒng) CAN 格式的傳統(tǒng) CAN 控制器是可行的。當所有老的傳統(tǒng) CAN 控制器都被 CAN FD 控制器替換時,可以將傳統(tǒng) CAN 幀與 CAN FD 幀混合使用,或者僅使用兩種類型之一。

在 CAN FD 幀中的 FDF 位之后是保留位。將此位設置為隱性指示未來協(xié)議,與 FDF 位指示從傳統(tǒng) CAN 轉換到 CAN FD 格式的方式相同。未來協(xié)議尚未定義。值得注意的是,傳統(tǒng) CAN 格式的 r0/FDF 位用于指示 CAN FD 格式之前耗費了 25 年時間。

在保留位之后是 BRS 位(位速率轉換)。這個額外的位允許 CAN FD 幀以兩種不同的格式發(fā)送。如果 BRS 位為顯性被發(fā)送,則所有位將以與圖 1 所示的仲裁中所使用的相同的位速率發(fā)送。如果BRS 位為隱性,則在此位后幀格式將使用較高的位速率,直到并包括 CRC 定界符。

BRS 位之后是 ESI 位(錯誤狀態(tài)指示器),通常顯性發(fā)送為主。如果 CAN FD 幀發(fā)送節(jié)點變?yōu)殄e誤-被動,則該位將被隱性發(fā)送,指示發(fā)送方節(jié)點存在重要的通信問題。目前尚不清楚該位如何在更廣泛的應用中使用,但是它已經被汽車制造商根據(jù)所需進行了采納。

在這 3 個新位(保留位,BRS 位和 ESI 位)之后是 4 個 DLC 位,指示 CAN 幀中的數(shù)據(jù)字節(jié)數(shù)。表 1 顯示了這 4 個位如何用于指示 CAN 幀中的數(shù)據(jù)字節(jié)數(shù)。傳統(tǒng) CAN 幀最多可容納 8 個字節(jié)的數(shù)據(jù)。從表中可以看出,超出 8 個字節(jié)可以發(fā)送 DLC 碼,但只有 8 字節(jié)的數(shù)據(jù)將被放置在發(fā)送的 CAN 幀中。仔細觀察表格你會發(fā)現(xiàn) 9 到 15 的 DLC 在 CAN FD 格式中有所差異。9 到 63 的任何數(shù)量的字節(jié)需 6 位 DLC,并且到 64 字節(jié)將需 7 位 DLC。折中方案是保持 4 位 DLC,并限制 CAN FD 幀(12, 16, 20, 24, 38, 48 和 64)中的字節(jié)長度數(shù)。

03.CANFD顯著提高數(shù)據(jù)傳輸速率

DLC 位后的數(shù)據(jù)(圖 1 顯示一個數(shù)據(jù)字節(jié)的 CAN 幀)。該數(shù)據(jù)前和后的位是固定長度的任意數(shù)量數(shù)據(jù)字節(jié)。本例中要傳輸一個字節(jié)的數(shù)據(jù),傳統(tǒng)格式需 55 位,CAN FD 格式需 70 位。在最差的情況下,也可以在幀中包含多個填充位。如果幀在同一級別的行中超過 5 位,則協(xié)議將在幀中添加一個額外的位,具有反相極性,以確保可以使用級別更改來重新同步采樣點。

這個添加和除去額外的位用于重新同步的過程稱為填充,并且這些位在 CAN 協(xié)議中被標記為填充位。通過在每個 CAN 幀中打包更多的數(shù)據(jù)來提高數(shù)據(jù)傳輸效率,這可以從表 1 的最后兩列看出。效率方程式假定在開銷中最差情況下的填充位數(shù)。由于其較低的開銷,傳統(tǒng) CAN 與 CAN FD 相比效率略高。通過將 CAN FD 幀中的字節(jié)數(shù)從 8 字節(jié)增加到 64 字節(jié),可以將效率從 50%增加到88%。

wKgaomcXEmyAC-wyAAEOkPL89W8538.jpg

在表中,還包括以不同幀格式使用的 CRC 碼。傳統(tǒng) CAN 格式對于所有幀類型使用 15 位 CRC 編碼,因為所有幀具有相似的長度。CAN FD 幀更復雜一些,因為 64 字節(jié)幀比 8 字節(jié)幀要長 8 倍。為了解決這個問題,在 CAN FD 幀中使用兩種不同的 CRC 長度:如果幀保持 16 字節(jié)或更少,則使用 17 位的 CRC-17;且如果 CAN 幀保持 20 字節(jié)或更多,則使用具有 21 位的 CRC-21。

它是具有 2 個額外位的 CRC 加上填充計數(shù)器中的 4 位和固定填充位,這就使得 CAN FD 幀比傳統(tǒng) CAN幀更長。有人會說這個比較不完全公平,因為傳統(tǒng)CAN 幀在CRC段可以有多達3個填充位,在控制段還可以有 3 個位。

CAN FD 幀的 CRC 段中的額外位為數(shù)據(jù)內容提供了更好的保護,系統(tǒng)高安全性是從傳統(tǒng) CAN 轉到CAN FD 的充分理由。

CAN 幀中有超過 8 個字節(jié)的數(shù)據(jù),由于提高了效率,數(shù)據(jù)吞吐量將會增加,這是從傳統(tǒng) CAN 轉到CAN FD 的另一個原因。

04.如何平衡數(shù)據(jù)傳輸效率與實時性能

重要的是要記住,盡管使用更長的 CAN 幀的效率確實有所提高,但 CAN 幀和每秒幀數(shù)更少,這增加了通信中的延遲時間并降低了實時性能。為了減少此問題并增加數(shù)據(jù)吞吐量,可以將 CAN FD 幀中的位速率提高到傳統(tǒng) CAN 以上的可能性。

迄今為止對 CAN FD 的描述是在整個 CAN 幀中具有相同的位速率。如上所述,隱性 BRS 位將要求在幀的數(shù)據(jù)部分中切換到較高的位速率。

在圖 2 中,添加了第 3 個 CAN 幀。該第 3 幀是具有與中間 CAN FD 幀相同內容的 CAN FD 幀,但是在本例中,該幀以中間的 CAN FD 幀的數(shù)據(jù)速率的兩倍發(fā)送幀。

wKgaomcXEmyAGA-dAABh_RWk5Qc806.jpg

圖 2 CAN FD 幀不含/含有提高 2 倍數(shù)據(jù)速率

因為它具有相同的內容,所以你將獲得相同的 DLC 和數(shù)據(jù),但是當 CAN FD 以更高的位速率發(fā)送時,BRS 位將被隱性發(fā)送(見 E)。BRS 位包含在 CRC 計算中,即使 CAN-ID,DLC 和數(shù)據(jù)相同,也會產生兩個不同的 CRC 內容。

從圖 2 可以看出,以較高位速率發(fā)送的第一個位是 ESI 位,后面是 DLC,數(shù)據(jù)字節(jié)和 CRC 位。以較高位速率發(fā)送的最后一位是 CRC 定界符。由此可以理解,較高的位速率不僅適用于 CAN Fd 幀的數(shù)據(jù)段,而且也適用于周圍的位。

圖 3 與圖 2 相同,除了先前描述的幀下面的一個新幀。這個新幀與所有其他幀具有相同的內容,但位速率是仲裁位速率的八倍。與具有不變位速率或雙位速率的 CAN FD 幀相比,變化相對較大。

可以看出,不僅數(shù)據(jù)的單字節(jié)獲得較高的位速率,而且?guī)?DLC 和 CRC 部分也一樣,其總共有大約 40 位。

圖 4 顯示 3 個 CAN 幀,頂部為 8 個字節(jié)的傳統(tǒng) CAN 幀。中間是一個具有 64 字節(jié)的 CAN FD 幀,底部的 CAN 幀是相同的 CAN FD 幀內容,但是位速率增加(速度快八倍)。

wKgaomcXEmyAf5YuAABt1cS47F0824.jpg

圖 3 在圖 2 的基礎上多了位速率增加 8 倍的 CAN FD 幀

從圖 4 可以看出,更多的數(shù)據(jù)將使 CAN 幀傳送時間更長,這將阻止其它高優(yōu)先級 CAN 幀開始發(fā)送。為了保持實時性能,需要增加位速率以減少 CAN 幀的長度,并且減少 CAN 幀占用通信線路的時間以及防止其它高優(yōu)先級幀訪問通信。

wKgZomcXEmyAbomcAAAv3rDZ5B4870.jpg

圖 4 頂部是 8 字節(jié)傳統(tǒng) CAN幀;

中間是位速率相同的 64 字節(jié) CAN FD幀;

底部是位速率增加了 8 倍的 64 字節(jié) CAN FD幀

總之,具有高位速率的 CAN FD 將增加實時性能,因為較高的位速率使得 CAN 幀在傳送時間上更短,從而減少通信中的延遲。通過在每個幀中傳送更多數(shù)據(jù),可以增加數(shù)據(jù)吞吐量,但是如果不結合使用較高的位速率,這將降低實時性能。在許多情況下,編程中會使用 64 字節(jié)長的 CAN 幀,這通常在系統(tǒng)暫停且沒有實時控制運行時完成。即使沒有實時需求,使用更高的位速率來提高數(shù)據(jù)吞吐量仍然有利,并縮短下載時間。

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

    關注

    145

    文章

    1911

    瀏覽量

    130558
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2694

    瀏覽量

    463122
  • CAN FD
    +關注

    關注

    0

    文章

    76

    瀏覽量

    12877
  • 數(shù)據(jù)幀

    關注

    0

    文章

    43

    瀏覽量

    6726

原文標題:CAN FD與傳統(tǒng)CAN的差異

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何實現(xiàn)CANCAN FD的升級?

    自動駕駛技術迅速發(fā)展,車輛中的CAN總線已經無法滿足數(shù)據(jù)吞吐量和傳輸速度的要求,CAN總線的加速升級版——CAN FD技術正在逐漸替代現(xiàn)有網絡。為了進一步了解
    的頭像 發(fā)表于 09-20 09:31 ?8986次閱讀

    CAN/CAN FD/CAN XL三大總線協(xié)議解讀,是逐步替代關系嗎?

    電子發(fā)燒友網報道(文/吳子鵬)在軟件定義汽車逐漸成為主流的當下,數(shù)據(jù)傳輸?shù)乃俣群托食蔀榇蛟熘悄芷嚨钠款i,在這種大背景下,傳統(tǒng)CAN總線應對一些需求已經相當吃力,因此CAN FD
    的頭像 發(fā)表于 08-12 01:12 ?4108次閱讀

    CAN接口和can_fd區(qū)別是什么

    1.CAN接口和can_fd區(qū)別
    發(fā)表于 12-10 08:17

    FlexCAN與普通的CAN區(qū)別嗎?CAN FDCAN有什么區(qū)別

    FlexCAN與普通的CAN區(qū)別嗎,CAN FDCAN有什么區(qū)別
    發(fā)表于 11-08 08:30

    CANCAN FD快速升級的實現(xiàn)方案

    自動駕駛技術迅速發(fā)展,車輛中的CAN總線已經無法滿足數(shù)據(jù)吞吐量和傳輸速度的要求,CAN總線的加速升級版——CAN FD技術正在逐漸替代現(xiàn)有網絡,為了進一步了解
    的頭像 發(fā)表于 09-19 16:56 ?1.3w次閱讀

    CAN FD的七個技術問題資料總結

    CAN FD的七個技術問題資料總結包括了:1.CAN FD的數(shù)據(jù)幀格式變化?2.CAN FD
    發(fā)表于 09-27 08:00 ?29次下載
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的七個技術問題資料總結

    如何從傳統(tǒng)CAN升級到 CAN FD資料下載

    電子發(fā)燒友網為你提供如何從傳統(tǒng)CAN升級到 CAN FD資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可
    發(fā)表于 04-22 08:54 ?26次下載
    如何從<b class='flag-5'>傳統(tǒng)</b>的<b class='flag-5'>CAN</b>升級到 <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>資料下載

    can總線一幀多少字節(jié)多少位_MCU擴展CAN/CAN FD接口方案MCP2518FD+ATA6563

    “本文介紹MCU通過SPI串口擴展CAN/CAN FD接口擴展方案,該方案基于MCP2518FD+ATA6563,可快速部署應用于實際項目?!?.C
    發(fā)表于 10-29 11:21 ?18次下載
    <b class='flag-5'>can</b>總線一幀多少字節(jié)多少位_MCU擴展<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>接口方案MCP2518<b class='flag-5'>FD</b>+ATA6563

    CANCAN FD如何解決彼此的通訊

    因為受制于產品的穩(wěn)定性考驗,改造成本等問題,沒法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成為ISO CAN
    發(fā)表于 10-18 14:20 ?3126次閱讀

    CANCAN FD區(qū)別是什么?

    控制器局域網總線(CAN,Controller Area Network)是一種用于實時應用的串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號,是世界上應用最廣泛的現(xiàn)場總線之一。 CAN協(xié)議用于汽車中
    的頭像 發(fā)表于 05-22 10:17 ?3.1w次閱讀
    <b class='flag-5'>CAN</b>與<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的<b class='flag-5'>區(qū)別是</b>什么?

    CAN FD是什么意思 優(yōu)點有哪些

    隨著總線技術在汽車電子領域越來越廣泛和深入的應用,特別是自動駕駛技術的迅速發(fā)展,汽車電子對總線寬度和數(shù)據(jù)傳輸速率的要求也越來也高,傳統(tǒng)CAN(1MBit/s,8Bytes?Payload)已難以滿足
    的頭像 發(fā)表于 07-18 10:40 ?2688次閱讀

    經典CAN網絡加入CAN FD節(jié)點需要注意什么?

    目前,整車的網絡拓撲中,CAN FD的使用已經非常普遍。當然,帶來的問題也非常的多。CAN FD在設計之初,就考慮了向后兼容Classic CAN
    的頭像 發(fā)表于 08-22 09:11 ?1578次閱讀
    經典<b class='flag-5'>CAN</b>網絡加入<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>節(jié)點需要注意什么?

    CAN FD的降噪措施

    CAN FD的降噪措施
    的頭像 發(fā)表于 12-07 10:48 ?579次閱讀
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的降噪措施

    can和canfd的區(qū)別

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

    如何使用DSLogic分析CAN/CAN-FD 信號?

    一文檔介紹本文將一步步介紹如何使用DSLogic邏輯分析儀采集并分析CAN/CAN-FD信號,因為CAN信號的測量和CAN-FD的大致一樣,所以下文以
    的頭像 發(fā)表于 01-08 14:54 ?1110次閱讀
    如何使用DSLogic分析<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN-FD</b> 信號?