CAN FD 不是新協定,它是傳統 CAN 的「加大加速版」——但正因為長得太像,混著用的時候特別容易踩雷。升級前先把差異與相容性搞清楚,比事後在整合台上抓錯誤訊框便宜得多。
差在哪:三個實質升級
1. 資料段可以換檔加速。 傳統 CAN 整個訊框用同一個位元速率;CAN FD 在仲裁段維持相容速率,進入資料段後透過 BRS 位元切換到更高速率——仲裁的公平性保留,酬載的傳輸時間縮短。
2. 酬載從 8 位元組擴到 64 位元組。 傳統 CAN 一個訊框最多 8 位元組;CAN FD 最高 64 位元組(超過 8 之後按 12、16、20、24、32、48、64 跳階)。對日益肥大的診斷與標定資料,這差距是質變。
3. CRC 更強。 更長的訊框需要更強的錯誤偵測,CAN FD 依訊框長度採用更長的 CRC 多項式,並調整了填充位元的計算方式。
另外兩個小差異常被忽略:CAN FD 沒有遠端訊框(Remote Frame);多了 ESI 位元回報發送端的錯誤狀態。
不變的是什麼
- 仲裁機制與 ID 空間(11/29 位元)照舊
- 匯流排拓樸、雙絞線、終端方式照舊——收發器層級大多相容,關鍵在控制器
- 錯誤訊框、錯誤計數器機制照舊(詳見錯誤訊框那篇)
最大的坑:混合網路
傳統 CAN 控制器看不懂 FD 訊框——它會把 FD 訊框當成格式錯誤,直接送出錯誤旗標。 一顆舊節點就能讓整段網路的 FD 通訊癱瘓:FD 訊框發出 → 舊節點報錯 → 發送端重傳 → 再報錯,錯誤訊框洗版。
三條出路:
- 整段升級:同一網段上所有節點都換成 FD 控制器(韌體與驅動也要)
- 分段隔離:用閘道器把 FD 網段與傳統網段分開,跨段訊息由閘道轉換
- FD 容忍:部分新款控制器提供「FD 容忍」模式,看到 FD 訊框保持沉默不報錯——適合過渡期,但它自己仍收不到 FD 資料
升級前的檢查清單
- 盤點網段上每一顆節點的控制器是否支援 FD(含開發板、感測器、既有量產件)
- Bootloader 與刷寫流程是否支援 FD(產線與售後都要問)
- DBC/ARXML 資料庫更新:訊框型別、BRS 旗標、酬載長度
- 位元時序要設兩組(仲裁段+資料段),兩組的取樣點都要驗——資料段速率越高,對時序與訊號品質越敏感
- 測試工具與介面卡是否支援 FD(含干擾注入設備)
- 混合期間的網路管理策略:誰先升、誰殿後、閘道規則
最後一哩是實測:資料段換檔的瞬間正是訊號品質最脆弱的時刻,示波器與協定分析要在同一個時間軸上對照,才能判斷偶發錯誤是時序、反射還是干擾。
下一步
混合網路的相容性問題,最好在上整合台之前就攔下來。歐特莫夫(Vector Informatik 合作夥伴)提供 CAN/CAN FD 的一致性測試、干擾注入與位元時序驗證。
- 📄 解決方案:車載網路通訊協定解析:掌握 CAN Bus 相容性測試關鍵
- 📬 預約一次現況盤點