CAN-FD和以太網共筑未來十年的汽車數據總線 — 快速、可靠(上)
在汽車行業,汽車電子控制單元 (ECU) 經歷了爆炸式
增長。這些 ECU 在遵循行業標準的基礎上還采用了一些專 用協議,逐漸從獨立單元發展成了網絡中的智能節點。其結 果是,汽車網絡成本被拉低,同時其可靠性和性能得到了提 高。在過去的十年里,我們看到,數據總線逐漸發展成了車 載網絡的標準。在接下來的十年里,我們相信,現有汽車 網絡協議必將經歷一系列的擴展,標準網絡連接必將進入 汽車。本文對兩種新的汽車網絡連接協議進行了分析,即 CAN-FD。圖1 標準 CAN 消息
圖2 位時間縮短的 CAN-FD
圖3 位時間縮短且負載增加的 CAN-FD
1 為何選擇新型數據總線?
一系列新型汽車功能的發展,例如,先進的駕駛輔助 系統、泊車輔助系統、車道偏離警示系統、盲區探測以及信 息娛樂系統等,觸發了對新數據總線的需求。這些新型總線 必須能夠達到更快的速度,帶寬必須能夠擴展,能夠實現無 縫升級,而且還要有助于降低功耗、重量、芯線數和部署成 本。
2 CAN-FD(具有可變數據速率的 CAN)
CAN-FD 改善了汽車行業中主導總線系統(即 CAN 協 議)的帶寬利用率(參見圖 1、 2、 3)。帶寬利用率的提 高是通過以下方法實現的:
2.1 雙位速率: CAN-FD 幀支持雙位時間功能
a. 正常位時間
? 這個位時間與現有 CAN 協議相同。這包括多個器件 可在其中(在仲裁開始和應答結束時)同時進行傳輸的總線 字段。
? 這些總線字段如下:
- 幀起始 (SOF) 位、仲裁場( 12 位)和 2 個控制位
- 應答位、應答分界符位、幀結束 (EOF) 位( 7 位)和 幀間隔( 3 位)
b. 縮短的位時間
? 為了實現更高的數據速率, CAN-FD 允許某些特定總 線字段的位時間短于當前的 CAN 位時間。
? 對這些總線字段的時序要求比較寬松,因為只是為了 保證器件僅一個接一個地進行傳輸。不需要逐位仲裁。
圖4 通用 CAN 幀格式
圖5 CAN 2.0 標準幀
圖6 CAN 2.0 擴展幀
圖7 CAN-FD 標準幀
? 這 些 總 線 字 段 包 括 : 2 個 控 制 位 、 負 載 長 度 ( 4
位)、負載數據以及 CRC( 17 或 21 位)。
2.2 負載增加
a. 消息長度為 64 字節,與以前的 8 字節相比,提高了
CAN協議的效率。
b. 為了充分利用 CAN-FD 的這一改進,您還需要更新系 統軟件。
3 CAN 幀格式
CAN-FD 是在當前 CAN 協議的基礎上演變而來的,支 持現有的所有 CAN 幀格式。有關通用 CAN 幀格式,請參見 圖 4。
3.1 CAN 2.0 標準幀
下面描述的兩個位元標識了標準幀( 11 位標識符):
? 第 13 位 - 標識符擴展 (IDE) 位元 – 顯性 (0)? 第 14 位 - 保留位元 (R0) - 顯
性 (0)
另一個重要的位是第 12 位,
即遠程傳輸請求 (RTR) 位元。
? 顯性 (0) - 數據幀
? 隱性 (1) - 遠程幀
CAN 2.0 擴展幀
C A N 2 . 0 協 議 還 支 持 擴 展 幀(圖 6)。
下面描述的兩個位元標識了擴 展幀( 29 位標識符):
? 第 13 位 - IDE 磁場 - 隱性 (1)
? 第 12 位 - SRR 磁場 - 隱性 (1)
R T R 位 元 的 新 位 置 是 第 3 2
位。擴 展 幀 包 括 兩 個 保 留 位 元 (R0 和R1)。
3.2 CAN-FD 標準幀格式
在 CAN-FD 協議中,您將注意 到,數據負載更大(圖 7)。
下 面 描 述 的 兩 個 位 元 標 識 了
CAN-FD 幀:
? 第 13 位 - 標識符擴展 (IDE)
位元 – 顯性 (0)
? 第 14 位 - 標準幀中的 R0 位元現在是擴展數據長度
(EDL) 位元 - 隱性 (1)
這 意 味 著 C A N - F D 規 范 應 該 適 用 于 數 據 長 度 代 碼
(DLC) 和 CRC 序列。
第 16 位是一個新位元,即位速率選擇開關 (BRS)
請注意,不存在 RTR 位元。
3.3 CAN-FD 中的新功能
? 擴展數據長度 (EDL) 位元:區分 CAN-FD 幀與標準
CAN 幀
? 顯性 - 標準 CAN 幀格式
? 隱性 - CAN-FD 幀格式
? 位速率選擇開關 (BRS) 位元:在 BRS 采樣點立即開始
CAN-FD 速率
? 顯性 - 不切換到新位速率
? 隱性 - 切換到新位速率
圖9 IEEE AVB 標準堆棧
? 錯誤狀態指示 (ESI) 位元
? 顯性 - 錯誤有源發射器
? 隱性 - 錯誤無源發射器
? 保留了兩個位元以用于進一步的協議修訂 - R0(第 15
位)和 R1(第 12 位),但位元的位置與早期版本不同
? 修改了 CRC,以便為更長幀維持與標準 CAN幀相同 的漢明距離
4 CAN_FD 使用案例
4.1 快速軟件下載
CAN-FD 可以加速針對汽車 ECU 的最后編程工作。通 用汽車指出,使用 CAN-FD 后, ECU 編程時間將縮短至當 前編程時間的三分之一,甚至是五分之一。同樣地,汽車修 理間內的診斷或軟件升級時間也縮短了。
4.2 錯誤狀態
傳輸節點出錯可能會導致消息突然中斷,從而對那些 安全至上的系統造成影響。每個 CAN-FD 消息的錯誤狀態信 息 (ESI)位元中都包含傳輸節點的狀況。采用這種方式,接 收器就能夠監控傳輸節點,并在實際問題發生之前采取故障 預防措施。
4.3 增加的數據載荷
CAN-FD 使得消息長度擴展到了 64 字節,從而避免了長消息被拆分。其結果是,在 CAN 堆棧中形成了一個非常 簡化的傳輸層。您不必實現復雜的流控制機制來容納多個消 息。
4.4 ECU 之間的通信更快
隨著汽車功能的日益豐富,汽車 ECU 之間交換的數據 量也呈直線上升。 CAN-FD 憑借更高的帶寬,可以輕松處理 更大量的數據,而且能夠達到與 FlexRay 媲美的速度。
4.5 總線負載降低
由于通信速度更快, ECU 可以通過 CAN-FD 幀以比使 用標準CAN 幀時更快的速度發送和接收數據。其直接效果 就是總線負載會降低。示例:一個儀表板負責為駕駛員呈 現汽車的大量參數。它將需要驅動 3 到 7 個計量器,控制
20 到 30 個信號裝置,響鈴并顯示信號警報來指示狀態或系 統故障。該節點需要通過來自多個ECU 的大量 CAN 消息來 接收和傳輸信息。在這樣一個系統上,CAN 負載可以占到
75% - 80%。 CAN-FD 通過減少 CAN 總線負載緩解了這一問 題。
4.6 傳輸線路的長度
在卡車或鉸接巴士網絡中,總線的長度可能會達到 9
至 20 米。整個網絡的速度將會受到仲裁場的限制。
J1939-14 標準定義的最大位速率是 500kbps。然而, CAN-FD可以達到更高的速度。仲裁場可以仍維持的速度,但數據載荷能夠以高得多的速率進行交換。這極大 地提高了網絡的吞吐量。(未完待續)
評論