CAN-bus家族中有三大成員,分別是高速CAN、容錯CAN、單線CAN。其中容錯CAN又叫低速CAN,它與最常用的高速CAN有什么異同呢?這里將與大家分享下對容錯CAN的認(rèn)識。
一、容錯CAN的起源
1986年Bosch在SAE(汽車工程人員協(xié)會)大會上提出CAN總線概念,CAN總線率先在汽車電子行業(yè)孕育。隨后的1987年Intel推出第一片CAN控制器芯片82526,由此點亮CAN總線發(fā)展的星星之火。六年之后CAN國際標(biāo)準(zhǔn)ISO11898/ISO11519發(fā)布,CAN總線在通信領(lǐng)域的燎原之勢由此展開。
圖1 CAN總線應(yīng)用行業(yè)
ISO11898是高速CAN的標(biāo)準(zhǔn),ISO11519是低速CAN的標(biāo)準(zhǔn)。起初,高速CAN數(shù)據(jù)鏈路層和物理層都在標(biāo)準(zhǔn)ISO11898中規(guī)定,后來被拆分為ISO11898-1(僅涉及數(shù)據(jù)鏈路層)和ISO11898-2(僅涉及物理層)。其中標(biāo)準(zhǔn)ISO 11519-2-1994已經(jīng)在2006年被ISO 11898-3-2006代替了,也就是說符合標(biāo)準(zhǔn)ISO 11898-3的產(chǎn)品也是支持符合ISO 11519-2標(biāo)準(zhǔn)的產(chǎn)品。
圖2 CAN標(biāo)準(zhǔn)發(fā)展歷程
二、容錯CAN與高速CAN的異同
與高速CAN一樣,容錯CAN也是使用使用差分雙絞線傳輸,包含CAN_H、CAN_L、GND三根線,在嚴(yán)格的工業(yè)應(yīng)用場合同樣要求使用專用的屏蔽雙絞線并加必要的防護(hù)電路。如圖3,以O(shè)SI 7層通信模型為例,其實CAN總線標(biāo)準(zhǔn)規(guī)范了部分物理層、傳輸層及全部數(shù)據(jù)鏈路層規(guī)則,而應(yīng)用層、表示層、會話層、網(wǎng)絡(luò)層未做任何規(guī)范。高速CAN與容錯CAN在數(shù)據(jù)鏈路層內(nèi)容是相同的,因此它們在位傳輸時序、位仲裁、錯誤、校驗、幀結(jié)構(gòu)等是沒有區(qū)別的。
圖3 容錯CAN與高速CAN標(biāo)準(zhǔn)化部分
不同點在物理層的定義,圖4是ISO11898與ISO11519-2電信號數(shù)據(jù)對比。從圖中可以看到,高速CAN最大通信速率為1Mbps,容錯CAN最大通信速率為125Kbps,且在理論連接節(jié)點數(shù)方面高速CAN要大于容錯CAN。兩者在物理層最大的差別在于CAN_H、CAN_L顯隱性時的電平值。因此容錯CAN與標(biāo)準(zhǔn)的高速CAN設(shè)備之間不能直接通信,必須要加入CANBridge1054轉(zhuǎn)接板。
圖4 容錯CAN與高速CAN電信號數(shù)據(jù)對比
三、容錯CAN的優(yōu)缺點
雖然容錯CAN通信速率低、承載節(jié)點數(shù)少,但容錯CAN有它無可替代的優(yōu)勢。根據(jù)圖4中的電平信號數(shù)據(jù),我們繪制出兩者正常工作時的信號波形。從圖 5可以看出CAN_H、CAN_L的電平在顯隱性變化時變化高達(dá)2.25V,而高速CAN電平變化僅為1V,這也就意味著容錯CAN比高速CAN有更高的抗干擾性。
圖5 容錯CAN與高速CAN信號波形對比
除此之外,容錯CAN能在CAN_H或CAN_L出現(xiàn)短路、斷路時保證通信正常。容錯CAN收發(fā)器會自動識別總線狀態(tài),根據(jù)總線狀態(tài)調(diào)整接收器的接收模式,這也算是“容錯CAN”名稱的由來。圖6是容錯CAN收發(fā)器在不同情況下收發(fā)狀態(tài)的調(diào)整情況。
圖6 容錯CAN多模式工作狀態(tài)
注1:75μA下拉電流源功能 注2: 75μA上拉電流源功能
四、容錯CAN應(yīng)用電路
圖7為經(jīng)典的CTM1054T容錯CAN收發(fā)模塊為例,它采用灌封工藝并具有極低的電磁輻射和高抗電磁干擾特性。完全符合ISO 11898-3標(biāo)準(zhǔn),單網(wǎng)絡(luò)最大節(jié)點數(shù)達(dá)到32個。
圖7 容錯CAN收發(fā)模塊CTM1054T
容錯CAN節(jié)點電路設(shè)計與常見的高速CAN節(jié)點設(shè)計不同,需要注意的是終端電阻的接法。一般場合下,模塊接上電源,端口和 CAN 控制器及 CAN 網(wǎng)絡(luò)總線連接, RTH、 RTL 分別連接終端電阻至 CANH、CANL,如圖8。
圖8 經(jīng)典容錯CAN節(jié)點電路設(shè)計
單個CAN-bus典型網(wǎng)絡(luò)如圖9,單總線網(wǎng)絡(luò)最長通訊距離 1km。如果需要接入更多節(jié)點或更長通訊距離時,可通過 CAN 中繼器等設(shè)備擴(kuò)展。
容錯 CAN 收發(fā)器在總的終端電阻為 100Ω 時, 有最優(yōu)的系統(tǒng)性能。容錯CAN總線終端電阻配置時先確定整個網(wǎng)絡(luò)的節(jié)點數(shù),每個收發(fā)器都提供總 100Ω 終端的一部分,并不要求每個收發(fā)器都有相同的終端電阻,但總的終端應(yīng)該是 100Ω。比如總線中有5個容錯CAN節(jié)點,接到網(wǎng)絡(luò)上的10個電阻阻值均應(yīng)為500Ω;若總線中有10個容錯CAN節(jié)點,接到網(wǎng)絡(luò)上的20個電阻阻值均應(yīng)為1000Ω。由于容錯CAN終端電阻配置的這種特殊性,只要節(jié)點數(shù)確定,可根據(jù)需求隨意使用星形、樹形等總線拓?fù)洹?/p>
圖9 容錯CAN總線網(wǎng)絡(luò)拓?fù)?/p>
容錯CAN在非常適合應(yīng)用在低速、高可靠性的工業(yè)場合,當(dāng)節(jié)點數(shù)固定時,它能適應(yīng)多種復(fù)雜總線拓?fù)洹?/p>