CAN總線適用于車載電子的控制,是一種多主總線通信介質,材料由雙絞線、同軸電纜或光纖組成。而CAN協議采用通信數據塊進行編碼,取代傳統站地址編碼,使網絡內的節點數在理論上不受限制。由于CAN總線具有較強的糾錯能力、支持差分收發,因而適合高干擾環境,并具有較遠的傳輸距離。
對于汽車CAN2. 0B協議來說,制定了CAN物理層與數據鏈路層協議,在進行系統設計時,必須根據用戶的需要制定相應的CAN應用層協議。根據總線系統各節點及其所要實現的功能, 確定相互間共享的數據,然后了解各節點需接收和發送的信息,統一制定CAN網絡中需傳輸的信息,最后給制定好的CAN網絡傳輸消息分配標識符。CAN協議規定,標識符ID越小,優先權越高,因此,在確定ID時,先要分析該信息幀需求的緊急性。
將汽車車燈位置分布和行駛安全性要求作為各模塊劃分的依據,以控制模塊、左后模塊、右后模塊、左前模塊、右前模塊、內照明模塊為順序分配ID。
信息編碼是把相近或相關的信息組合成一個數據塊,使它們的數據可按同樣的頻率從控制節點發送到總線上。其它CAN節點可同時獲得這組信息,并對該信息進行相應的處理。車燈控制系統通過主控制器發送信息,各分節點先通過驗收/屏蔽濾波器接收自己需要的信息,屏蔽不需要的信息,再根據接收內容進行相應操作。
車載電子就是采用模塊化程序設計思想設計軟件,按照功能分成不同的程序模塊,各模塊間相對獨立以完成特定的功能,主要包括CAN節點初始化、報文接收、報文發送和數據處理模塊。同時,模塊與模塊之間可以相互調用,數據共享,以達到重復利用代碼和簡化代碼的目的。由于CAN總線具有較強的糾錯能力、支持差分收發,因而適合高干擾環境,并具有較遠的傳輸距離。其主程序流程圖見下圖。
CAN總線特性如下:
第一,CAN是一種有效支持分布式控制和實時控制的串行通信網絡。
第二,CAN協議遵循ISO/OSI參考模型,采用了其中的物理層、數據鏈路層和應用層。