點擊上方藍字談思實驗室
獲取更多汽車網絡安全資訊

01
CAN的誕生與發展:汽車神經系統的進化
在之前的文章已經簡單介紹過汽車工業的發展和汽車通信,今天就簡單介紹一下汽車通信中的非常重要的一個角色——CAN總線。在1980年代汽車電子化革命初期,工程師們面臨著一個棘手的難題:隨著車輛電子控制單元(ECU)數量激增,傳統點對點布線系統已不堪重負。機械式線束不僅導致整車重量增加30%,更因信號干擾引發系統誤操作。這種背景下,德國博世公司于1983年秘密啟動的"汽車神經系統"研究項目 ,最終催生了改變汽車工業的控制器局域網(Controller Area Network,CAN)協議。
That’s why Controller Area Network was invented:


1991年9月,Philips半導體公司制定并發布CAN技術規范:CAN2.0 A/B。
1993年11月,ISO組織正式頒布CAN國際標準ISO-11898(高速應用,數據傳輸 速率<1Mbit/s)和ISO-11519(低速應用,數據傳輸速率<125kbit/s)。

作為一種技術先進、可靠性高、功能完善、成本較低的網絡通信控制方式,CAN總線廣泛應用于汽車工業、航空工業、工業控制、安防監控、工程機械、醫療器械、樓宇自動化 等諸多領域。想要了解更多關于CAN總線的發展史,可以在CSDN搜索關鍵詞:CAN總線發展史。
02
CAN總線工作原理
1.物理層與信號傳輸
從物理層面來講,CAN總線是兩根線,螺旋纏繞,即雙絞線,如圖所示:

我們在生活中較為常見的是網線,由4組這樣的雙絞線組成:

那么這雙絞線是如何輸出信號的呢,CAN總線通過雙絞線傳輸差分信號,其中一根線標記為CAN高(CAN_High,CAN_H),另一根線則標記為CAN低(CAN_Low,CAN_L)。一般當總線為顯性低電平,也就是邏輯0時,CAN_H為3.5V,CAN_L為1.5V,此時電位差就為2V;當總線為隱性高電平(邏輯1)時,CAN_H和CAN_L此時的電壓均為2.5V,電位差為0V,如圖所示:

使用雙絞線傳輸信號的優點:
抗干擾能力強——這種結構能有效抑制共模干擾(如電磁干擾、射頻干擾等),兩根導線上的信號相位相反,外界干擾會同時作用于雙線,接收端通過差值運算消除共模噪聲,可以簡單理解為當受到干擾時,兩根線同時受到干擾,它們之間的電壓差保持一致,就能保證最終傳輸準確的信號。
傳輸穩定——即使傳輸距離長達1km,仍能保持50kbps的傳輸速率,最大傳輸距離可達10km。
2.CAN總線的兩種結構
閉環結構:采用雙絞線(CAN_H與CAN_L)形成閉合回路,兩端各并聯一個120Ω終端電阻,速率范圍在125kbps-1Mbps,符合ISO 11898標準,在汽車網絡中大多采用閉環結構,以滿足高實時性信號傳輸的需求。

開環結構:雙絞線獨立不閉合,每條線串聯2.2kΩ電阻,無需終端電阻,速率最高為125kbps,通常使用40kbps,在40kbps速率下最遠可傳輸距離為1km,符合ISO 11519-2標準,適用于長距離且對傳輸速率要求不高的場景。

3.多主競爭式架構
多主競爭式架構是CAN總線的核心特性之一,允許所有節點平等參與總線控制,無需主從區分。任何節點在總線空閑時均可主動發起通信,并通過非破壞性仲裁機制解決沖突。這種設計打破了傳統總線(如RS-485)的主從模式限制,實現了真正的分布式控制。
那么問題來了,非破壞性仲裁機制到底是如何解決多個節點同時工作時的信號沖突呢?
標識符優先級
CAN總線不設定節點地址,只通過11位或29位標識符(ID)定義數據優先級,ID值越小優先級越高。例如,汽車ABS系統的緊急控制信號ID通常小于車身燈光控制的ID。
逐位仲裁過程
當多個節點同時發送數據時,總線通過逐位比較ID進行仲裁。顯性電平(邏輯0)覆蓋隱性電平(邏輯1),優先級高的節點繼續傳輸,低優先級節點自動轉為只聽狀態,等待下一個空閑時間再次傳輸,整個過程僅需134μs即可完成,且無數據丟失。
舉個例子進行說明:
假設節點1的ID為01010111111,=703,=0x2bf
節點2的ID為01010100111,=679,=0x2a7
節點3的ID為01010100100,=676,=0x2a4
那么在這三個節點中,總線會依據仲裁規則,ID值小的先傳輸,所以會優先傳輸節點3的數據,然后傳輸節點2的數據,最后傳輸節點1的數據。節點1從第6位開始,邏輯為1表現為隱性,進而轉為只聽狀態,節點2從第9位開始值為1表現為隱性,也轉為只聽狀態,剩下節點3競爭成功,優先傳輸數據。

4.CAN報文幀結構
標準數據幀(擴展 ):
SOF(Start of Frame):1bit,幀起始,幀開始發送的一個標識
ID(Identify):11bit,標識符,區分功能,同時決定優先級(擴展幀此處為29bit)
RTR(Remote Transmission Request):1bit,遠程請求位,區分數據幀和遙控幀
IDE(Identifier Extension):1bit,擴展標志位,區分標準格式和擴展格式
SRR(Substitute Remote Request):替代RTR,協議升級時留下的無意義位
r0/r1(Reserve):1bit,保留位,為后續協議升級留下空間
DLC(Data Length Code):4bit,數據長度,指示數據段有幾個字節
Data:0 ~ 64bit,數據段的1 ~ 8個字節有效數據
CRC(Cyclic Redundancy Check ):15bit,循環冗余校驗,校驗數據是否正確
CRC界定符:1bit,為應答位前后發送方和接收方釋放總線留下時間
ACK(Acknowledgement):1bit,應答位,判斷數據有沒有被接收方接收
ACK界定符:1bit,為應答位前后發送方和接收方釋放總線留下時間
EOF(End of Frame):7bit,幀結束,表示數據位已經傳輸完畢

僅展示標準幀
03
CAN數據的收發
1.接收整車或單個ECU的CAN報文
在汽車電子系統中,各ECU(電子控制單元)通過CAN總線進行實時數據交互。要捕獲這些通信數據,可通過車輛標配的OBD-II診斷接口(符合SAE J1962標準的16針接口)實施物理層接入。常規操作流程如下:
硬件準備
配備帶CAN協議解析功能的上位機軟件(如CANalyzer、VehicleSpy、ZCANPRO)
配置USB-CAN適配器(如PCAN、Kvaser、USBCAN-II系列設備)
制作OBD轉接線纜(確保雙絞線特性,線序對應ISO 15765-4標準)
拓撲識別
無網關架構車輛:OBD接口6(CAN-H)、14(CAN-L)針腳直連車身/動力CAN網絡
帶網關車型:需通過診斷會話激活(UDS 0x10 03服務)實現跨網段報文轉發
物理層連接
使用萬用表測量針腳阻抗(典型值60Ω)驗證總線終端電阻狀態
連接時保持線纜屏蔽層接地,防止電磁干擾導致信號失真
數據采集
設置符合ISO11898-2規范的波特率(250kbps/500kbps)
啟用時間戳標記功能記錄報文傳輸時序
通過滾動模式實時顯示DBC解析后的信號物理值
2.主流CAN數據存儲格式對比

來源:
CSDN博主「幾度°」
https://blog.csdn.net/beersdoit/article/details/146387188
end

談思汽車媒體門戶

精品活動推薦




AutoSec系列沙龍

專業社群
部分入群專家來自:
新勢力車企:
特斯拉、理想、極氪、小米、零跑汽車、阿維塔汽車、智己汽車、小鵬、嵐圖汽車、蔚來汽車、吉祥汽車、賽力斯......
外資傳統主流車企代表:
大眾中國、大眾酷翼、奧迪汽車、寶馬、福特、戴姆勒-奔馳、通用、保時捷、沃爾沃、現代汽車、日產汽車、捷豹路虎、斯堪尼亞......
內資傳統主流車企:
吉利汽車、上汽乘用車、長城汽車、上汽大眾、長安汽車、北京汽車、東風汽車、廣汽、比亞迪、一汽集團、一汽解放、東風商用、上汽商用......
全球領先一級供應商:
博世、大陸集團、聯合汽車電子、安波福、采埃孚、科世達、舍弗勒、霍尼韋爾、大疆、日立、哈曼、華為、百度、聯想、聯發科、普瑞均勝、德賽西威、蜂巢轉向、均聯智行、武漢光庭、星紀魅族、中車集團、濰柴集團、地平線、紫光同芯、字節跳動、......
二級供應商(500+以上):
中科數測、ETAS、BlackDuck、NXP、上海軟件中心、Deloitte、奇安信、為辰信安、云馳未來、信長城、澤鹿安全、紐創信安、復旦微電子、天融信、奇虎360、中汽中心、中國汽研、上海汽檢、加特蘭微電子、浙江大學......
人員占比

公司類型占比

文章
關于涉嫌仿冒AutoSec會議品牌的律師聲明
一文帶你了解智能汽車車載網絡通信安全架構
網絡安全:TARA方法、工具與案例
汽車數據安全合規重點分析
淺析汽車芯片信息安全之安全啟動
域集中式架構的汽車車載通信安全方案探究
系統安全架構之車輛網絡安全架構
車聯網中的隱私保護問題
智能網聯汽車網絡安全技術研究
AUTOSAR 信息安全框架和關鍵技術分析
AUTOSAR 信息安全機制有哪些?
信息安全的底層機制
汽車網絡安全
Autosar硬件安全模塊HSM的使用
首發!小米雷軍兩會上就汽車數據安全問題建言:關于構建完善汽車數據安全管理體系的建議