<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 互連技術 > 正文

    不懂CAN協議?如何避免總線仲裁失敗?

    發布時間:2023-02-22 來源:ZLG 責任編輯:wenwei

    【導讀】CAN總線是可以掛載多個控制單元,每個單元均可以發送和接收數據,為了避免發生沖突,協議規定只有等信道空閑時刻優先級高的單元才能占有總線并發送數據,那么CAN單元是如何判斷優先級的呢?


    CAN仲裁的實現方式


    1. CANID在CAN報文中的位置


    每一個CAN報文的CANID有唯一標識的11bit/29bit構成,以標準CAN幀為例,11bitCANID在CAN幀中的位置如圖1所示。SOF之后是Identifier,各個節點要外發的CANID通過CANID仲裁,優先級高的報文被優先發送。同時,對應節點優先獲得CAN總線的使用權,而仲裁失敗的節點則停止數據的發送,轉而進行數據的接收,只能等待下一個SOF時刻再去仲裁。


    1675243312447641.png

    圖1 標準CAN數據幀格式


    2. CAN總線仲裁機制的實現


    那么CANID的優先等級是如何判斷的呢?其實CAN總線ID仲裁方式相當于一個“線與”的結構,顯性(邏輯0)與隱形(邏輯1)相與變為顯性即0&1=0,硬件電路簡圖可參考圖2。標準CAN幀格式的總線仲裁方式如圖3所示。因為高位在前,低位在后,故CAN標識符組成的數值越小優先級越高。


    7.png

    圖2 線與電路簡圖


    1675243291720998.png

    圖3 總線仲裁方式圖


    CANID沖突發生的條件及現象


    1. CANID沖突的條件


    本文以我司協議轉換模塊CSM300為例進行介紹,CSM300是集成微處理器、CAN-bus控制器、CAN-bus收發器、DC-DC轉換、高速數字隔離于一體的嵌入式CAN與UART/SPI雙向轉換模塊。如果我們將兩個ID均為00 00 00 00的CSM300模塊組成一個CAN總線網絡系統,當這兩個ID相同的模塊同時往CAN總線端發送數據時將會造成仲裁失敗。


    2. CANID沖突的現象


    以CSM300為例進行說明,電路硬件簡易連接圖如圖4所示,用兩個上位機通過兩路串口同時給兩個相同配置的模塊發送一組數據,此時兩模塊會同時將RXD腳接收到的數據轉換至CAN總線端。因為兩個CAN節點的ID一樣,CAN總線仲裁失敗,兩發送節點收不到反饋信號,將一直發送最后一幀數據,此時CAN總線端的波形如圖5所示。


    9.png

    圖4 CSM300電路連接圖


    1675243270872988.png

    圖5 CAN總線波形圖


    CSM系列如何避免CANID沖突


    為滿足不同環境的應用,CSM300系列和CSM100系列均有透明轉換、透明帶標識轉換、自定義協議轉換三種轉換方式供用戶選配,如圖6所示。


    11.png

    圖6 轉換方式選配圖


    透明轉換方式下用戶可通過MCU或上位機將模塊配置為不同的ID避免發生仲裁失敗的情況,透明轉換方式下,模塊無需對數據進行額外處理,最大限度地提高了數據轉換速度,也提高了緩沖區的利用率。不過此模式下每個模塊的CANID在配置完成后不能更改除非用戶再次配置,此外該模式下可能將兩組時間間隔接近的UART幀識別為一組數據進行轉換,造成數據轉換錯誤。


    透明帶標識轉換方式下,用戶可以在配置時固定CANID在串行幀的位置和長度如圖7所示,通過改變串行幀數據來控制所發數據的CAN幀ID,方便用戶在同一節點發送不同ID的CAN數據。但是此模式下需要確保串行幀的時間間隔足夠大,避免模塊不能正確識別每組串行幀的結束造成數據轉換錯誤。透明帶標識模式下串行幀最小間隔具體要求可參考CSM100和CSM300的用戶手冊。


    12.png

    圖7 透明帶標識轉換配置圖


    有效的自定義協議轉換串行幀包括了幀頭、幀尾、幀ID和幀長度等,用戶可通過改變串行幀數據來控制CAN幀ID,方便用戶在同一節點發送不同ID的CAN數據。同時用戶將在配置時固定幀頭和幀尾如圖8所示,此模式下用戶通過串行幀數據告知模塊串行幀的幀頭、幀尾和數據長度,故此轉換方式下可有效避免因串行幀間隔時間短造成的數據轉換錯誤的情況。


    13.png

    圖8 自定義轉換配置圖


    來源:ZLG



    免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


    推薦閱讀:


    自主機器人的分布式傳感器

    第三代半導體功率器件在汽車上的應用

    應用為導向的混合式步進電機技術大大提升了電機的動態扭矩

    種草氮化鎵充電器,幾個方面要注意

    如何抑制藍牙音頻設備的噪聲和提升其音質?

    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    久久水蜜桃亚洲av无码精品麻豆| 超清无码无卡中文字幕| 色综合天天综合中文网| 无码国产午夜福利片在线观看| 久久水蜜桃亚洲av无码精品麻豆| 最近2018中文字幕在线高清下载| 少妇极品熟妇人妻无码| 无码人妻丰满熟妇精品区| 亚洲国产人成中文幕一级二级 | 狠狠综合久久综合中文88| 久久综合一区二区无码| 无码人妻少妇色欲AV一区二区 | 亚洲ⅴ国产v天堂a无码二区| 日韩欧美中文亚洲高清在线| 亚洲午夜无码片在线观看影院猛| 日韩AV片无码一区二区不卡电影| 日韩av无码中文无码电影| 精品人妻中文av一区二区三区| 精品久久久久久无码中文野结衣| 久久Av无码精品人妻系列| 亚洲AV日韩AV永久无码绿巨人| 日韩精品无码人成视频手机| 亚洲AV无码一区二区三区牛牛| 免费人妻无码不卡中文字幕系| 中文成人无码精品久久久不卡| 国产亚洲?V无码?V男人的天堂 | 中文字幕无码不卡在线| 精品久久久久久无码中文野结衣| 日本一区二区三区精品中文字幕| 色欲狠狠躁天天躁无码中文字幕| 中文字幕精品无码一区二区三区| 中文字幕精品亚洲无线码二区| 中文字幕乱码无码人妻系列蜜桃| 中文字幕7777| 亚洲一区无码中文字幕| 久久精品天天中文字幕人妻 | 制服中文字幕一区二区| 中文无码不卡的岛国片| 亚洲国产精品成人精品无码区 | 无码AV中文字幕久久专区| 精品无码久久久久久午夜|