CANL對(duì)地短路了為什么還能通訊?
CAN一致性測(cè)試中,有一項(xiàng)測(cè)試叫“CANL對(duì)地短路測(cè)試”,但是我們測(cè)試的時(shí)候發(fā)現(xiàn)被測(cè)設(shè)備有時(shí)候在對(duì)地短路時(shí)也能正常通訊,這是什么回事呢?
我們都知道CAN總線采用差分傳輸,這樣可以極大的避免信號(hào)的反射和干擾,從而抑制共模干擾,也是CAN容錯(cuò)性能好的原因之一,CAN的波特率最大可以到1Mbps。根據(jù)波特率的大小我們把CAN總線分為單線CAN、低速CAN、高速CAN。
表 1 CAN 總線類(lèi)型
CAN 的通訊質(zhì)量也跟其傳輸距離有關(guān),如圖1,做CAN的工程師都知道CAN總線上任意兩個(gè)節(jié)點(diǎn)的最大傳輸距離與其波特率有關(guān),CAN 的波特率越大,傳輸距離就越短,因?yàn)閭鬏斁€纜本身可以看成一個(gè)阻容結(jié)構(gòu)的器件,線纜越長(zhǎng),寄生電容跟電阻就越大。
圖 1 CAN波特率跟傳輸距離的關(guān)系
既然線纜都會(huì)有寄生電容,那寄生電容對(duì)CAN總線的影響是怎么樣的呢?我們用CANScope模擬給總線上加不同的電容,通過(guò)眼圖來(lái)看看會(huì)發(fā)生什么,如圖2,可以看到隨著電容的增大,顯性位跟隱性位的下降沿變得越來(lái)越緩。
圖 2 線纜不同電容對(duì)波形的影響
當(dāng)總線上CANL對(duì)地短路后,那么CAN傳輸就只有CANH這條線維持了,這種情況下CAN總線就類(lèi)似于單線CAN,差分傳輸?shù)膬?yōu)勢(shì)就蕩然無(wú)存,那么我們就看看在高速CAN下,CANL短路會(huì)出現(xiàn)什么情況。
我們選擇波特率500kbps的通信速率,用ZLG的CANScope發(fā)送CAN報(bào)文,CAN卡接收?qǐng)?bào)文。
先調(diào)整Stressz的設(shè)置,模擬總線長(zhǎng)度為10m,終端電阻為120歐姆,Stressz的設(shè)置如圖3所示:
圖 3 模擬線纜長(zhǎng)度為10m
打開(kāi)CANScope報(bào)文接收,可以正常接收?qǐng)?bào)文,將CANL線短接到GND后,從示波器上看CANL電壓為0V,但是報(bào)文正常接收,如圖4:從示波器上差分電壓還能夠進(jìn)行清晰的辨識(shí)。
圖 4 CANL短路通訊正常
但是實(shí)際應(yīng)用現(xiàn)場(chǎng),CAN總線的傳輸距離比較長(zhǎng),當(dāng)我們模擬總線長(zhǎng)度為120m時(shí),我們?cè)倏纯赐ㄓ嵸|(zhì)量,先把Stressz設(shè)置為線纜長(zhǎng)度為120m。如圖5:
圖 5 模擬120m線纜長(zhǎng)度
打開(kāi)CANScope報(bào)文接收,如圖6所示,未短路時(shí)可以正常接收?qǐng)?bào)文,將CANL線短接到GND后,從示波器上看CANL電壓為0V,報(bào)文出現(xiàn)大量的錯(cuò)誤。
圖 6 CANL短路出現(xiàn)錯(cuò)誤
為什么在線纜長(zhǎng)度變長(zhǎng)后CANL對(duì)地短路后會(huì)出現(xiàn)錯(cuò)誤呢? 問(wèn)題就在于線纜長(zhǎng)度變長(zhǎng)后帶來(lái)的寄生電容變大使總線電平的下降沿變得很緩,本來(lái)就脆弱的差分傳輸信號(hào),在CANL掛掉后,CANH單線傳輸無(wú)法承擔(dān)傳輸?shù)闹厝?,所以就出現(xiàn)了報(bào)文錯(cuò)誤。如圖7:我們對(duì)總線做邊沿統(tǒng)計(jì),可以看到下降沿最大達(dá)到638ns。根據(jù)GMW3122的標(biāo)準(zhǔn),高速CAN 的邊沿區(qū)間為30~350ns。
所以在高速CAN的CANL對(duì)地短路后,由于差分傳輸優(yōu)勢(shì)沒(méi)有了,在大的下降沿影響下,導(dǎo)致接收節(jié)點(diǎn)無(wú)法正常接收?qǐng)?bào)文。而CANL沒(méi)有短路時(shí),CAN總線依然可以利用差分傳輸?shù)膬?yōu)勢(shì),讓節(jié)點(diǎn)正常收到正確的報(bào)文。
圖 7 邊沿統(tǒng)計(jì)