6SL3060-4AF30-0AA0連接電纜
1. CAN總線是啥
總線是啥?
總線分類的方式有很多,如被分為外部和內(nèi)部總線、系統(tǒng)總線和非系統(tǒng)總線等等,不管是啥看英文叫作“BUS",即“公交車",也就是說(shuō)總線就行公交一樣。你只要在公交的運(yùn)行線路上,就可以上車,上車點(diǎn)就是公交站點(diǎn),同樣的總線接好了,加入一個(gè)節(jié)點(diǎn)(設(shè)備),節(jié)點(diǎn)接可以把數(shù)據(jù)放到總線上,傳到其他節(jié)點(diǎn)。
CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡(jiǎn)稱,是由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國(guó)BOSCH公司開(kāi)發(fā)的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO 11898),是國(guó)際上應(yīng)用泛的現(xiàn)場(chǎng)總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計(jì)算機(jī)控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標(biāo)準(zhǔn)總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機(jī)械車輛設(shè)計(jì)的J1939協(xié)議。
中文名:CAN總線
外文名 :Controller Area Network
開(kāi)發(fā)公司 :德國(guó)BOSCH公司
特 點(diǎn): 國(guó)際上應(yīng)用泛的現(xiàn)場(chǎng)總線之一
地 區(qū) :北美和西歐
應(yīng)用范圍:汽車計(jì)算機(jī)控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)
CAN總線是廣播類型的總線。這意味著所有節(jié)點(diǎn)都可以偵聽(tīng)到所有傳輸?shù)膱?bào)文。無(wú)法將報(bào)文單獨(dú)發(fā)送給節(jié)點(diǎn);所有節(jié)點(diǎn)都將始終捕獲所有報(bào)文。但是CAN硬件能夠提供本地過(guò)濾功能,讓每個(gè)節(jié)點(diǎn)對(duì)報(bào)文有選擇性地做出響應(yīng)。
上世紀(jì)八十年代以來(lái),汽車ECU越來(lái)越多,如ABS,電控門窗,電子燃油噴射裝置。如果仍然采用常規(guī)的點(diǎn)對(duì)點(diǎn)布線方式,即電線一段與開(kāi)關(guān)相接,另一端與用電設(shè)備相通,將會(huì)導(dǎo)致車上電線數(shù)目的急劇增加,從而帶來(lái)線束的冗余及維修成本的提高。這就對(duì)汽車的線束分布及信息通訊提出了更高的要求??偩€技術(shù)可以實(shí)現(xiàn)信息的實(shí)時(shí)共享,解決了傳統(tǒng)布線方式中線束多,布線難,成本高等問(wèn)題,CAN(Controller Area Network)總線技術(shù)應(yīng)運(yùn)而生。
2. CAN總線簡(jiǎn)介
CAN總線是由德國(guó)研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的BOSCH公司開(kāi)發(fā)的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO11519),是國(guó)際上應(yīng)用泛的現(xiàn)場(chǎng)總線之一。CAN總線是一種多主控(Multi-Master)的總線系統(tǒng)。傳統(tǒng)總線系統(tǒng)如USB或以太網(wǎng)等是在總線控制器的協(xié)調(diào)下,實(shí)現(xiàn)從A節(jié)點(diǎn)到B節(jié)點(diǎn)大量數(shù)據(jù)的傳輸。CAN網(wǎng)絡(luò)的消息是廣播式的,即在同一時(shí)刻網(wǎng)絡(luò)上所有節(jié)點(diǎn)偵測(cè)的數(shù)據(jù)是一致的,它是一種基于消息廣播模式的串行通信總線。
CAN總線的很多優(yōu)點(diǎn),使得它得到了廣泛的應(yīng)用,如傳輸速度最高到1Mbps, 通信距離最遠(yuǎn)到10km,無(wú)損位仲裁機(jī)制,多主結(jié)構(gòu)。
2.1 CAN總線標(biāo)準(zhǔn)
CAN總線標(biāo)準(zhǔn)之規(guī)定了物理層和數(shù)據(jù)鏈路層,至于應(yīng)用層需要用戶自定義。不同的CAN標(biāo)準(zhǔn)僅物理層不同。物理層和數(shù)據(jù)鏈路層:ISO11898;應(yīng)用層:不同的應(yīng)用領(lǐng)域使用不同的應(yīng)用層標(biāo)準(zhǔn)。
2.2 CAN物理層
CAN拓?fù)渚W(wǎng)絡(luò)
連接在CAN總線上的設(shè)備叫做節(jié)點(diǎn)設(shè)備(CAN Node),CAN網(wǎng)絡(luò)的拓?fù)湟话銥榫€型。線束最的是雙絞線,線上傳輸為對(duì)稱的差分電平信號(hào)。下圖為CAN總線網(wǎng)絡(luò)示意圖,節(jié)點(diǎn)主要包括Host、控制器和收發(fā)器。Host常集成有CAN控制器,CAN控制器負(fù)責(zé)處理協(xié)議相關(guān)功能,以減輕Host的負(fù)擔(dān)。CAN收發(fā)器將控制器連接到傳輸媒介。通??刂破骱涂偩€收發(fā)器通過(guò)光耦或磁耦隔離,這樣即使總線上過(guò)壓損壞收發(fā)器,控制器和Host設(shè)備也可以得到保護(hù)。
6SL3060-4AF30-0AA0連接電纜
在發(fā)送數(shù)據(jù)時(shí),CAN控制器把要發(fā)送的二進(jìn)制編碼通過(guò)CAN_Tx線發(fā)送到CAN收發(fā)器,然后由收發(fā)器把這個(gè)普通的邏輯電平信號(hào)轉(zhuǎn)化成差分信號(hào),通過(guò)差分線CAN_High和CAN_Low輸出到CAN總線網(wǎng)絡(luò)。接收數(shù)據(jù)過(guò)程,相反。采用差分信號(hào),可以取得更好的電磁兼容效果。因此,CAN總線物理傳輸媒介只需要兩根線。
高速CAN總線最高信號(hào)傳輸速率為1Mbps,支持最長(zhǎng)距離40m。ISO11898-2要求在高速CAN總線兩段安裝端接電阻RL(端接電阻一般為120?,因?yàn)殡娎|的特性阻抗為120 ?,為了模擬無(wú)限遠(yuǎn)的傳輸線。)以消除反射。低速CAN最高速度只有125Kbps,所以ISO11898-3沒(méi)有端接要求。
因?yàn)閭鬏斁嚯x越大,信號(hào)時(shí)延也越大,為了保證消息的正確采樣,總線上的信號(hào)速率相應(yīng)也要下降。下圖是推薦的信號(hào)速率與距離的關(guān)系。
2.3 CAN收發(fā)器
CAN總線分高速CAN和低速CAN,收發(fā)器也分為高速CAN收發(fā)器(1Mbps)和低速CAN收發(fā)器(125Kbps)。低速CAN也叫Fault
Tolerance CAN,指的是即使總線上一根線失效,總線依然可以通信。如同串口中的MAX3232用作電平轉(zhuǎn)換,CAN收發(fā)器的作用則是把邏輯信號(hào)轉(zhuǎn)換為差分信號(hào)。
2.4 差分信號(hào)
CAN總線采用差分信號(hào)傳輸,通常情況下只需要兩根信號(hào)線就可以進(jìn)行正常的通信。在差分信號(hào)中,邏輯0和邏輯1是用兩根差分信號(hào)線的電壓差來(lái)表示。當(dāng)處于邏輯1,CAN_High和CAN_Low的電壓差小于0.5V時(shí),稱為隱性電平(Recessive);當(dāng)處于邏輯0,CAN_High和CAN_Low的電壓差大于0.9V,稱為顯性電平(Dominant)。
高速CAN
低速容錯(cuò)CAN (Fault Tolerance CAN)
差分信號(hào)其實(shí)使用CAN_HIGH減去CAN_LOW的到的,在邏輯信號(hào)中,5V代表1, 0V代表0,而在差分信號(hào)中:
0V---------邏輯1------隱形電平
2.0V-------邏輯0-----顯性電平
顯性電平比隱形電平優(yōu)先級(jí)要高。
CAN總線遵從“線與"機(jī)制:“顯性"位可以覆 蓋“隱性"位;只有所有節(jié)點(diǎn)都發(fā) 送“隱性"位, 總線才處于“隱性" 狀態(tài)。這種“線與"機(jī)制使CAN總線呈現(xiàn)顯性優(yōu)先的特性。
![](https://img61.chem17.com/cc947453cd6ce8aaa95073a155d719330c01ce11ae3e9ebbb9b8d267a7dc0f49fe612496faba77c8.png)
2.5 CAN總線連接器
一般嵌入式中,處理器MCU的CAN接口出來(lái)的是CAN TXD和CAN RXD,一手一發(fā),但是實(shí)際接到CAN網(wǎng)絡(luò)中還需要收發(fā)器,收發(fā)器輸出的就是差分信號(hào)了CANH和CANL,如下圖所示。
![](https://img61.chem17.com/cc947453cd6ce8aaa95073a155d7193367b35e651fe76360e212a24905f8b98849868557922d3d5b.png)