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