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