?CAN總線(Controller Area Network)設(shè)計?涉及多個關(guān)鍵方面,包括硬件設(shè)計、軟件實現(xiàn)、通信協(xié)議以及實際應(yīng)用中的挑戰(zhàn)和解決方案。
CAN總線的基本概念和設(shè)計要素
CAN總線是一種多主機的串行通信協(xié)議,由德國BOSCH公司開發(fā),主要用于現(xiàn)代汽車中的電子控制單元(ECU)之間的數(shù)據(jù)交換。CAN總線具有以下主要特點:
?多主站操作?:任何節(jié)點都可以在任何時刻發(fā)送消息,不分主次。
?非破壞性仲裁?:當(dāng)多個節(jié)點同時發(fā)送消息時,優(yōu)先級高的節(jié)點可以繼續(xù)傳輸,低優(yōu)先級的節(jié)點會退出發(fā)送。
?靈活的通信介質(zhì)?:可以使用雙絞線、同軸電纜或光導(dǎo)纖維。
?高通信速率?:最高可達1Mbps,但實際應(yīng)用中通常在500kbps左右。
?強抗干擾能力?:采用差分信號傳輸,具有很高的電磁兼容性。
?錯誤處理?:支持CRC校驗,能夠檢測和糾正錯誤?1。
CAN總線的硬件設(shè)計
CAN硬件電路主要包括物理層和數(shù)據(jù)鏈路層。物理層負責(zé)信號的傳輸與接收,是確保CAN總線性能的關(guān)鍵。物理層特性包括電平標準和終端電阻的作用。CAN總線使用差分信號進行數(shù)據(jù)傳輸,電平標準有高速CAN和低速容錯CAN。高速CAN適用于高實時性和高速率的應(yīng)用,如汽車發(fā)動機控制系統(tǒng);低速容錯CAN則適用于低速率但需要高可靠性的應(yīng)用,如車身控制系統(tǒng)?2。
CAN總線的軟件實現(xiàn)和調(diào)試
基于FPGA的CAN總線控制器設(shè)計包括協(xié)議解析、通信控制器程序的基本框架和具體實現(xiàn)。程序通過仿真與測試進行驗證。CAN總線通過報文濾波實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳送數(shù)據(jù),無需專門的調(diào)度。數(shù)據(jù)采用短幀結(jié)構(gòu),傳輸時間短,受干擾概率低,具有極好的檢錯效果?13。
實際應(yīng)用中的挑戰(zhàn)和解決方案
在實際應(yīng)用中,CAN總線設(shè)計面臨的主要挑戰(zhàn)包括電磁干擾、總線沖突和錯誤處理。為了解決這些問題,可以采用以下策略:
?電磁屏蔽?:使用屏蔽雙絞線或光纖來減少電磁干擾。
?終端電阻匹配?:在總線兩端添加終端電阻,減少反射和信號衰減。
?錯誤檢測與糾正?:采用CRC校驗和錯誤處理機制,確保數(shù)據(jù)傳輸?shù)目煽啃?12。
一、定位干擾原因
當(dāng)總線有干擾時,有經(jīng)驗的工程師能夠迅速定位,但是對于新手來說卻很麻煩。造成總線干擾的原因有很多,比如通過電磁輻射耦合到通訊電纜中、屏蔽線接地沒處理好、隔離了通訊沒有隔離電源等。通過下圖我們可以推導(dǎo)出,現(xiàn)場的干擾不是通過電磁輻射進來,整車的網(wǎng)絡(luò)也沒有干擾,基本可以斷定干擾就是電機驅(qū)動器的CAN通訊沒隔離好。
圖1 定位干擾原因
二、消除延時誤差的方法
為了減小延時,增加通訊距離和降低通訊錯誤率,我們可以采取以下措施:
采用磁隔離的CTM1051方案設(shè)計接口收發(fā)電路;
用較粗的導(dǎo)線代替細導(dǎo)線,標準為1.5線纜(延遲為5ns/m);
使用鍍金或鍍銀的線纜;
增加網(wǎng)橋中繼設(shè)備CANBridge延長通訊距離;
采用光纖傳輸,如致遠電子的CANHUB-AF1S1,同等波特率可延長1倍通訊距離。
三、信號地(CAN-GND)
1、信號地概念
信號地也稱為隔離地,為使電子設(shè)備工作時有一個統(tǒng)一的參考電位,避免有害電磁場的干擾,使設(shè)備穩(wěn)定可靠的工作,設(shè)備中的信號電路統(tǒng)一參考地,即CAN-GND。
2、信號地處理
許多實際應(yīng)用中,設(shè)計者常直接將每個節(jié)點的參考地接于本地的大地,作為信號的返回地,看似正??煽康淖龇ǎ瑓s存在極大的隱患!
信號地(CAN-GND)正確的接法主要分為兩種:
單屏蔽層線纜:如果線纜是單屏蔽層,信號地理想接法是使用專門的信號線將所有節(jié)點信號地連接,起到參考地的作用。但如果缺少信號地線,亦可將所有節(jié)點信號地都連接到屏蔽層,但這樣屏蔽效果亦差強人意。
圖2 帶有屏蔽層雙絞線
圖3 含信號地線雙絞線連接方式
圖4 信號地與屏蔽層連接方式
雙屏蔽層線纜:當(dāng)使用雙層屏蔽電纜時,需要將所有節(jié)點信號地連接到內(nèi)屏蔽層,若使用非屏蔽線進行數(shù)據(jù)傳輸時,請保持信號地管腳懸空處理。
圖5 雙屏蔽層信號地處理方式
所有節(jié)點信號地接到屏蔽層或者雙屏蔽層的內(nèi)層后,屏蔽層處理方式注意為單點接地,不可多點接地,否則會在信號地線上形成地環(huán)流。
另外,單點接地時為了加大供電地和信號地之間的隔離電阻,阻止共地阻抗電路耦合產(chǎn)生的電磁干擾,注意采用隔離浮地設(shè)計,通過阻容方式將屏蔽層與外殼隔離。
圖6 未進行單點接地處理的報文受到電磁干擾





