<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>
    你的位置:首頁 > 互連技術(shù) > 正文

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

    發(fā)布時間:2023-02-22 來源:ZLG 責(zé)任編輯:wenwei

    【導(dǎo)讀】CAN總線是可以掛載多個控制單元,每個單元均可以發(fā)送和接收數(shù)據(jù),為了避免發(fā)生沖突,協(xié)議規(guī)定只有等信道空閑時刻優(yōu)先級高的單元才能占有總線并發(fā)送數(shù)據(jù),那么CAN單元是如何判斷優(yōu)先級的呢?


    CAN仲裁的實現(xiàn)方式


    1. CANID在CAN報文中的位置


    每一個CAN報文的CANID有唯一標(biāo)識的11bit/29bit構(gòu)成,以標(biāo)準(zhǔn)CAN幀為例,11bitCANID在CAN幀中的位置如圖1所示。SOF之后是Identifier,各個節(jié)點要外發(fā)的CANID通過CANID仲裁,優(yōu)先級高的報文被優(yōu)先發(fā)送。同時,對應(yīng)節(jié)點優(yōu)先獲得CAN總線的使用權(quán),而仲裁失敗的節(jié)點則停止數(shù)據(jù)的發(fā)送,轉(zhuǎn)而進行數(shù)據(jù)的接收,只能等待下一個SOF時刻再去仲裁。


    1675243312447641.png

    圖1 標(biāo)準(zhǔn)CAN數(shù)據(jù)幀格式


    2. CAN總線仲裁機制的實現(xiàn)


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


    7.png

    圖2 線與電路簡圖


    1675243291720998.png

    圖3 總線仲裁方式圖


    CANID沖突發(fā)生的條件及現(xiàn)象


    1. CANID沖突的條件


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


    2. CANID沖突的現(xiàn)象


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


    9.png

    圖4 CSM300電路連接圖


    1675243270872988.png

    圖5 CAN總線波形圖


    CSM系列如何避免CANID沖突


    為滿足不同環(huán)境的應(yīng)用,CSM300系列和CSM100系列均有透明轉(zhuǎn)換、透明帶標(biāo)識轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換三種轉(zhuǎn)換方式供用戶選配,如圖6所示。


    11.png

    圖6 轉(zhuǎn)換方式選配圖


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


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


    12.png

    圖7 透明帶標(biāo)識轉(zhuǎn)換配置圖


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


    13.png

    圖8 自定義轉(zhuǎn)換配置圖


    來源:ZLG



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


    推薦閱讀:


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

    第三代半導(dǎo)體功率器件在汽車上的應(yīng)用

    應(yīng)用為導(dǎo)向的混合式步進電機技術(shù)大大提升了電機的動態(tài)扭矩

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

    如何抑制藍牙音頻設(shè)備的噪聲和提升其音質(zhì)?

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

    關(guān)閉

    ?

    關(guān)閉

    亚洲级αV无码毛片久久精品| 国产成年无码AV片在线韩国| 最新中文字幕在线观看| 中文字幕日韩精品无码内射| 办公室丝袜激情无码播放| 亚洲中文字幕无码一久久区| 成人无码AV一区二区| 人妻无码久久精品| 国产成人无码区免费网站| 性无码专区一色吊丝中文字幕| 大地资源中文第三页| 国产又爽又黄无码无遮挡在线观看| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 在线观看无码AV网站永久免费| 精品深夜AV无码一区二区老年| 国产无码一区二区在线| 国产成年无码AV片在线韩国| 中文字幕无码免费久久| 人妻无码久久一区二区三区免费| 日本中文字幕电影| 97免费人妻无码视频| 久久亚洲AV成人无码| 中文无码伦av中文字幕| 欧美中文字幕在线| 中国无码人妻丰满熟妇啪啪软件| 久久精品无码一区二区三区 | 亚洲欧美日韩中文字幕在线不卡| 无码精品A∨在线观看中文| 中文www新版资源在线| 内射无码午夜多人| 日韩人妻精品无码一区二区三区 | 无码AV大香线蕉| 久久无码人妻一区二区三区 | 久久久久亚洲精品中文字幕| 人妻中文无码久热丝袜| 国产av永久无码天堂影院| 亚洲国产无套无码av电影| 特级做A爰片毛片免费看无码| 亚洲国产精彩中文乱码AV| 亚洲 另类 无码 在线| 99久久无码一区人妻a黑|