什么是 CAN 總線接口?
CAN 總線接口是一種在汽車及工業(yè)領(lǐng)域廣泛應(yīng)用的串行通信接口。
CAN 總線由 CAN_H 和 CAN_L 雙絞線組成,通過差分電壓傳輸信號(hào),抗干擾能力強(qiáng),能保證數(shù)據(jù)傳輸?shù)目煽啃?。它的兩端必須?120 歐終端電阻。
各通信節(jié)點(diǎn)并在總線上,采用時(shí)分多路傳輸,保證了節(jié)點(diǎn)間的互通性。CAN 是 Controller Area Network 的縮寫,是 ISO 國際標(biāo)準(zhǔn)化的串行通信協(xié)議。
在汽車車載產(chǎn)業(yè)中,因?qū)囕d安全性、舒適性等有諸多要求,各種電子控制系統(tǒng)被開發(fā),CAN 總線能適應(yīng)減少線束數(shù)量和高速數(shù)據(jù)通信的需求。
CAN 總線的特點(diǎn)包括串行、同步、半雙工、CRC 等,一般幀 ID 越小,優(yōu)先級(jí)越高,解析時(shí)要注意大小端字節(jié)轉(zhuǎn)換。CAN 總線還有錯(cuò)誤標(biāo)識(shí)域,分主動(dòng)錯(cuò)誤標(biāo)識(shí)和被動(dòng)錯(cuò)誤標(biāo)識(shí)。主動(dòng)節(jié)點(diǎn)檢測到錯(cuò)誤時(shí),發(fā)起連續(xù) 6 個(gè)顯性電平;被動(dòng)節(jié)點(diǎn)識(shí)別到錯(cuò)誤后,啟動(dòng)發(fā)送 6 個(gè)隱性電平。當(dāng)某個(gè)接收節(jié)點(diǎn)沒做好接收下一幀數(shù)據(jù)的準(zhǔn)備時(shí),會(huì)發(fā)送過載幀通知發(fā)送節(jié)點(diǎn)。過載幀和錯(cuò)誤幀格式相同,但出現(xiàn)時(shí)機(jī)不同。
CAN 總線優(yōu)點(diǎn)眾多,傳輸速度最高可達(dá) 1Mbps,通信距離最遠(yuǎn)到 10km,有無損位仲裁機(jī)制,是多主結(jié)構(gòu)。其成本低,ECUs 通過單個(gè) CAN 接口通信,布線成本低;集成度高,允許集中錯(cuò)誤診斷和配置;可靠性強(qiáng),對(duì)故障和電磁干擾有很強(qiáng)的魯棒性;效率高,能通過 id 對(duì)消息優(yōu)先級(jí)排序;靈活性好,每個(gè) ECU 包含一個(gè)用于 CAN 總線收發(fā)芯片,可隨意添加節(jié)點(diǎn)。
CAN 總線協(xié)議是德國博世公司研發(fā)的串行通訊協(xié)議總線,可用雙絞線傳輸信號(hào),世界應(yīng)用廣泛,特別是在汽車中用于各種元件通信,能取代昂貴笨重的配電線束,且在惡劣環(huán)境下工作性能良好。