不懂CAN協議?如何避免總線仲裁失敗?
發布時間:2023-02-22 來源:ZLG 責任編輯:wenwei
【導讀】CAN總zong線xian是shi可ke以yi掛gua載zai多duo個ge控kong製zhi單dan元yuan,每mei個ge單dan元yuan均jun可ke以yi發fa送song和he接jie收shou數shu據ju,為wei了le避bi免mian發fa生sheng衝chong突tu,協xie議yi規gui定ding隻zhi有you等deng信xin道dao空kong閑xian時shi刻ke優you先xian級ji高gao的de單dan元yuan才cai能neng占zhan有you總zong線xian並bing發fa送song數shu據ju,那na麼meCAN單元是如何判斷優先級的呢?
CAN仲裁的實現方式
1. CANID在CAN報文中的位置
每一個CAN報文的CANID有唯一標識的11bit/29bit構成,以標準CAN幀為例,11bitCANID在CAN幀中的位置如圖1所示。SOF之後是Identifier,各個節點要外發的CANID通過CANID仲裁,優先級高的報文被優先發送。同時,對應節點優先獲得CAN總線的使用權,而仲裁失敗的節點則停止數據的發送,轉而進行數據的接收,隻能等待下一個SOF時刻再去仲裁。
圖1 標準CAN數據幀格式
2. CAN總線仲裁機製的實現
那麼CANID的優先等級是如何判斷的呢?其實CAN總線ID仲裁方式相當於一個“線與”的結構,顯性(邏輯0)與隱形(邏輯1)相與變為顯性即0&1=0,硬件電路簡圖可參考圖2。標準CAN幀格式的總線仲裁方式如圖3所示。因為高位在前,低位在後,故CAN標識符組成的數值越小優先級越高。
圖2 線與電路簡圖
圖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所示。
圖4 CSM300電路連接圖
圖5 CAN總線波形圖
CSM係列如何避免CANID衝突
為滿足不同環境的應用,CSM300係列和CSM100係列均有透明轉換、透明帶標識轉換、自定義協議轉換三種轉換方式供用戶選配,如圖6所示。
圖6 轉換方式選配圖
透明轉換方式下用戶可通過MCU或上位機將模塊配置為不同的ID避免發生仲裁失敗的情況,toumingzhuanhuanfangshixia,mokuaiwuxuduishujujinxingewaichuli,zuidaxianduditigaoleshujuzhuanhuansudu,yetigaolehuanchongqudeliyonglv。buguocimoshixiameigemokuaideCANID在配置完成後不能更改除非用戶再次配置,此外該模式下可能將兩組時間間隔接近的UART幀識別為一組數據進行轉換,造成數據轉換錯誤。
透明帶標識轉換方式下,用戶可以在配置時固定CANID在串行幀的位置和長度如圖7所示,通過改變串行幀數據來控製所發數據的CAN幀ID,方便用戶在同一節點發送不同ID的CANshuju。danshicimoshixiaxuyaoquebaochuanxingzhendeshijianjiangezugouda,bimianmokuaibunengzhengqueshibiemeizuchuanxingzhendejieshuzaochengshujuzhuanhuancuowu。toumingdaibiaoshimoshixiachuanxingzhenzuixiaojiangejutiyaoqiukecankaoCSM100和CSM300的用戶手冊。
圖7 透明帶標識轉換配置圖
有效的自定義協議轉換串行幀包括了幀頭、幀尾、幀ID和幀長度等,用戶可通過改變串行幀數據來控製CAN幀ID,方便用戶在同一節點發送不同ID的CAN數據。同時用戶將在配置時固定幀頭和幀尾如圖8所示,此模式下用戶通過串行幀數據告知模塊串行幀的幀頭、幀尾和數據長度,故此轉換方式下可有效避免因串行幀間隔時間短造成的數據轉換錯誤的情況。
圖8 自定義轉換配置圖
來源:ZLG
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
- 模擬芯片設計師的噩夢:晶體管差1毫伏就廢了,溫度升1度特性全飄
- 3A大電流僅需3x1.6mm?意法半導體DCP3603重新定義電源設計
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




