新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > CANL對地短路了為什么還能通訊?

        CANL對地短路了為什么還能通訊?

        作者:ZLG致遠電子 時間:2017-11-25 來源:電子產品世界 收藏

          一致性測試中,有一項測試叫“L對地短路測試”,但是我們測試的時候發現被測設備有時候在對地短路時也能正常通訊,這是什么回事呢?

        本文引用地址:http://www.104case.com/article/201711/372031.htm

           

         

          我們都知道總線采用差分傳輸,這樣可以極大的避免信號的反射和干擾,從而抑制共模干擾,也是CAN容錯性能好的原因之一,CAN的波特率最大可以到1Mbps。根據波特率的大小我們把CAN總線分為單線CAN、低速CAN、高速CAN。

           

          表 1 CAN 總線類型

          CAN 的通訊質量也跟其傳輸距離有關,如圖1,做CAN的工程師都知道CAN總線上任意兩個節點的最大傳輸距離與其波特率有關,CAN 的波特率越大,傳輸距離就越短,因為傳輸線纜本身可以看成一個阻容結構的器件,線纜越長,寄生電容跟電阻就越大。

           

          圖 1 CAN波特率跟傳輸距離的關系

          既然線纜都會有寄生電容,那寄生電容對CAN總線的影響是怎么樣的呢?我們用CANScope模擬給總線上加不同的電容,通過眼圖來看看會發生什么,如圖2,可以看到隨著電容的增大,顯性位跟隱性位的下降沿變得越來越緩。

           

          圖 2 線纜不同電容對波形的影響

          當總線上對地短路后,那么CAN傳輸就只有CANH這條線維持了,這種情況下CAN總線就類似于單線CAN,差分傳輸的優勢就蕩然無存,那么我們就看看在高速CAN下,短路會出現什么情況。

          我們選擇波特率500kbps的通信速率,用ZLG的CANScope發送CAN報文,CAN卡接收報文。

          先調整Stressz的設置,模擬總線長度為10m,終端電阻為120歐姆,Stressz的設置如圖3所示:

           

          圖 3 模擬線纜長度為10m

          打開CANScope報文接收,可以正常接收報文,將CANL線短接到GND后,從示波器上看CANL電壓為0V,但是報文正常接收,如圖4:從示波器上差分電壓還能夠進行清晰的辨識。

           

          圖 4 CANL短路通訊正常

          但是實際應用現場,CAN總線的傳輸距離比較長,當我們模擬總線長度為120m時,我們再看看通訊質量,先把Stressz設置為線纜長度為120m。如圖5:

           

          圖 5 模擬120m線纜長度

          打開CANScope報文接收,如圖6所示,未短路時可以正常接收報文,將CANL線短接到GND后,從示波器上看CANL電壓為0V,報文出現大量的錯誤。

           

          圖 6 CANL短路出現錯誤

          為什么在線纜長度變長后CANL對地短路后會出現錯誤呢? 問題就在于線纜長度變長后帶來的寄生電容變大使總線電平的下降沿變得很緩,本來就脆弱的差分傳輸信號,在CANL掛掉后,CANH單線傳輸無法承擔傳輸的重任,所以就出現了報文錯誤。如圖7:我們對總線做邊沿統計,可以看到下降沿最大達到638ns。根據GMW3122的標準,高速CAN 的邊沿區間為30~350ns。

          所以在高速CAN的CANL對地短路后,由于差分傳輸優勢沒有了,在大的下降沿影響下,導致接收節點無法正常接收報文。而CANL沒有短路時,CAN總線依然可以利用差分傳輸的優勢,讓節點正常收到正確的報文。

           

          圖 7 邊沿統計

         

         

         

         

         

         

         



        關鍵詞: CANL CAN

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 保靖县| 封开县| 清丰县| 财经| 新和县| 平乐县| 宁武县| 遂溪县| 秦安县| 成安县| 乌拉特前旗| 辽阳县| 南陵县| 南阳市| 诏安县| 阳新县| 河源市| 襄樊市| 通河县| 北安市| 石嘴山市| 祥云县| 新津县| 崇州市| 林甸县| 墨竹工卡县| 昭苏县| 桓台县| 花莲县| 金乡县| 邯郸县| 鹤壁市| 丁青县| 嘉荫县| 微山县| 渝北区| 曲水县| 洛南县| 临漳县| 巴林右旗| 杭州市|