?CAN總線(Controller Area Network)設計?涉及多個關鍵方面,包括硬件設計、軟件實現(xiàn)、通信協(xié)議以及實際應用中的挑戰(zhàn)和解決方案。
CAN總線的基本概念和設計要素
CAN總線是一種多主機的串行通信協(xié)議,由德國BOSCH公司開發(fā),主要用于現(xiàn)代汽車中的電子控制單元(ECU)之間的數據交換。CAN總線具有以下主要特點:
?多主站操作?:任何節(jié)點都可以在任何時刻發(fā)送消息,不分主次。
?非破壞性仲裁?:當多個節(jié)點同時發(fā)送消息時,優(yōu)先級高的節(jié)點可以繼續(xù)傳輸,低優(yōu)先級的節(jié)點會退出發(fā)送。
?靈活的通信介質?:可以使用雙絞線、同軸電纜或光導纖維。
?高通信速率?:最高可達1Mbps,但實際應用中通常在500kbps左右。
?強抗干擾能力?:采用差分信號傳輸,具有很高的電磁兼容性。
?錯誤處理?:支持CRC校驗,能夠檢測和糾正錯誤?1。
CAN總線的硬件設計
CAN硬件電路主要包括物理層和數據鏈路層。物理層負責信號的傳輸與接收,是確保CAN總線性能的關鍵。物理層特性包括電平標準和終端電阻的作用。CAN總線使用差分信號進行數據傳輸,電平標準有高速CAN和低速容錯CAN。高速CAN適用于高實時性和高速率的應用,如汽車發(fā)動機控制系統(tǒng);低速容錯CAN則適用于低速率但需要高可靠性的應用,如車身控制系統(tǒng)?2。
CAN總線的軟件實現(xiàn)和調試
基于FPGA的CAN總線控制器設計包括協(xié)議解析、通信控制器程序的基本框架和具體實現(xiàn)。程序通過仿真與測試進行驗證。CAN總線通過報文濾波實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳送數據,無需專門的調度。數據采用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果?13。
實際應用中的挑戰(zhàn)和解決方案
在實際應用中,CAN總線設計面臨的主要挑戰(zhàn)包括電磁干擾、總線沖突和錯誤處理。為了解決這些問題,可以采用以下策略:
?電磁屏蔽?:使用屏蔽雙絞線或光纖來減少電磁干擾。
?終端電阻匹配?:在總線兩端添加終端電阻,減少反射和信號衰減。
?錯誤檢測與糾正?:采用CRC校驗和錯誤處理機制,確保數據傳輸的可靠性?12。
一、定位干擾原因
當總線有干擾時,有經驗的工程師能夠迅速定位,但是對于新手來說卻很麻煩。造成總線干擾的原因有很多,比如通過電磁輻射耦合到通訊電纜中、屏蔽線接地沒處理好、隔離了通訊沒有隔離電源等。通過下圖我們可以推導出,現(xiàn)場的干擾不是通過電磁輻射進來,整車的網絡也沒有干擾,基本可以斷定干擾就是電機驅動器的CAN通訊沒隔離好。

圖1 定位干擾原因
二、消除延時誤差的方法
為了減小延時,增加通訊距離和降低通訊錯誤率,我們可以采取以下措施:
采用磁隔離的CTM1051方案設計接口收發(fā)電路;
用較粗的導線代替細導線,標準為1.5線纜(延遲為5ns/m);
使用鍍金或鍍銀的線纜;
增加網橋中繼設備CANBridge延長通訊距離;
采用光纖傳輸,如致遠電子的CANHUB-AF1S1,同等波特率可延長1倍通訊距離。
三、信號地(CAN-GND)
1、信號地概念
信號地也稱為隔離地,為使電子設備工作時有一個統(tǒng)一的參考電位,避免有害電磁場的干擾,使設備穩(wěn)定可靠的工作,設備中的信號電路統(tǒng)一參考地,即CAN-GND。
2、信號地處理
許多實際應用中,設計者常直接將每個節(jié)點的參考地接于本地的大地,作為信號的返回地,看似正??煽康淖龇ǎ瑓s存在極大的隱患!
信號地(CAN-GND)正確的接法主要分為兩種:
單屏蔽層線纜:如果線纜是單屏蔽層,信號地理想接法是使用專門的信號線將所有節(jié)點信號地連接,起到參考地的作用。但如果缺少信號地線,亦可將所有節(jié)點信號地都連接到屏蔽層,但這樣屏蔽效果亦差強人意。

圖2 帶有屏蔽層雙絞線

圖3 含信號地線雙絞線連接方式

圖4 信號地與屏蔽層連接方式
雙屏蔽層線纜:當使用雙層屏蔽電纜時,需要將所有節(jié)點信號地連接到內屏蔽層,若使用非屏蔽線進行數據傳輸時,請保持信號地管腳懸空處理。

圖5 雙屏蔽層信號地處理方式
所有節(jié)點信號地接到屏蔽層或者雙屏蔽層的內層后,屏蔽層處理方式注意為單點接地,不可多點接地,否則會在信號地線上形成地環(huán)流。
另外,單點接地時為了加大供電地和信號地之間的隔離電阻,阻止共地阻抗電路耦合產生的電磁干擾,注意采用隔離浮地設計,通過阻容方式將屏蔽層與外殼隔離。

圖6 未進行單點接地處理的報文受到電磁干擾