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