那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談CAN總線的一般沖突機制

CHANBAEK ? 來源:物聯(lián)網知識 ? 作者:跋扈洋 ? 2023-11-21 14:47 ? 次閱讀

遇到的問題

問題的發(fā)現(xiàn)

最近在開發(fā)Canopen項目中,進行一主多從設備通信時,主站發(fā)送同步幀,兩個從站往往只有幀ID優(yōu)先級高的設備可以讓主站接收到數(shù)據,而另一個從設備的數(shù)據往往接收不到。但當我關閉其中一個can從設備,另一個就可以和主站設備通信正常。經過排查發(fā)現(xiàn),是由于Can的沖突解決機制的問題。

在CAN多機通信中,兩個設備同時發(fā)送數(shù)據,幀ID優(yōu)先級高的CAN設備會“搶占”總線,而另外的設備需要選擇沖突解決策略。

CAN總線的一般沖突機制

  • 非破壞性搶占機制(Non-Destructive Arbitration): CAN 使用一種非破壞性的仲裁機制,這意味著當兩個節(jié)點同時發(fā)送消息時,通過識別消息標識符中的位的值來確定哪個消息具有更高的優(yōu)先級。具體來說,CAN總線上的每個節(jié)點都會根據其消息標識符的比特值來判斷是否能夠“搶占”總線。
  • 標識符比較: 在CAN總線上,每個節(jié)點在發(fā)送消息之前會監(jiān)測總線上的信號電平。如果一個節(jié)點正在發(fā)送1,而另一個節(jié)點正在發(fā)送0,那么正在發(fā)送1的節(jié)點會發(fā)現(xiàn)沖突,并會停止發(fā)送消息。這種標識符比較機制有助于節(jié)點在發(fā)送消息時檢測沖突并進行沖突解決。
  • 仲裁場(Arbitration Field): CAN消息包含一個仲裁場,它包含消息標識符。在這個字段中,CAN節(jié)點通過比較消息標識符中的位來決定哪個節(jié)點具有更高的優(yōu)先級。較低優(yōu)先級的節(jié)點將會自動停止發(fā)送,并等待較高優(yōu)先級的節(jié)點完成其消息的發(fā)送。
  • 回退機制: 如果多個節(jié)點嘗試同時發(fā)送消息,沖突解決后,較低優(yōu)先級的節(jié)點會等待一段隨機時間后重新嘗試發(fā)送消息。這種回退機制有助于減少沖突的再次發(fā)生,提高總線的效率。

總的來說,CAN總線的沖突機制通過使用非破壞性的仲裁和標識符比較,以及回退機制,確保了多個節(jié)點之間的有序通信,使得總線上的消息能夠按照優(yōu)先級順序進行傳輸。這種設計使得CAN總線非常適用于要求實時性和可靠性的應用,例如汽車控制系統(tǒng)。

STM32中的CAN沖突機制

我們在進行CAN的多機通信時,往往希望不會丟幀。遇到CAN總線沖突時,受阻的CAN從設備進行自動回傳是我們需要的。而打開沖突回傳只需要在CAN初始時對AutoRetransmission 進行使能。

hcan1.Init.AutoRetransmission = ENABLE;

AutoRetransmission 是用于配置CAN控制器的自動重傳(Automatic Retransmission)功能。在CAN通信中,當節(jié)點發(fā)送消息但未收到確認時,可以選擇是否自動進行重傳。當 AutoRetransmission 被啟用(ENABLE)時,如果CAN控制器未收到確認,則會自動重傳先前的消息。這有助于提高消息的可靠性,特別是在有可能發(fā)生干擾或沖突的環(huán)境中。當 AutoRetransmission 被禁用(DISABLE)時,如果發(fā)送的消息未收到確認,控制器將不會自動進行重傳。在這種情況下,需要由軟件來處理重傳邏輯,開發(fā)者可以通過程序來控制何時以及如何進行重傳。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1955

    瀏覽量

    131096
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2769

    瀏覽量

    464387
  • 通信
    +關注

    關注

    18

    文章

    6071

    瀏覽量

    136426
  • STM32
    +關注

    關注

    2272

    文章

    10924

    瀏覽量

    357583
收藏 人收藏

    評論

    相關推薦

    淺談CAN總線外圍電路設計

    CAN總線接口外圍電路設計一般按照上圖進行繪制。一般主機廠商使用的是CAN控制器,對應的需要使用收發(fā)器。
    的頭像 發(fā)表于 07-25 09:04 ?1.4w次閱讀
    <b class='flag-5'>淺談</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>外圍電路設計

    CAN 總線錯誤檢測機制#can總線

    CAN 總線
    北匯信息POLELINK
    發(fā)布于 :2023年05月26日 13:54:03

    CAN總線的位定時與同步機制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年07月17日 10:57:12

    CAN總線訪問與仲裁機制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年10月20日 15:33:02

    CAN總線學習①-總線仲裁機制 精選資料分享

    Controller Area Network簡稱CAN總線個在汽車電子上用得非常廣泛的種協(xié)議,CAN
    發(fā)表于 08-20 06:08

    can總線故障一般原因及問題解決方法

    CAN總線系統(tǒng)中擁有CAN控制器、個信息收發(fā)器、兩個數(shù)據傳輸終端及兩條數(shù)據傳輸總線,除了數(shù)
    發(fā)表于 11-27 11:01 ?32.9w次閱讀

    淺談局部網絡管理 基于CAN總線的局部網絡管理機制設計

    CAN總線局部網絡管理機制及實現(xiàn) 近年來, 汽車 的節(jié)能問題備受關注,消減不必要的能源損耗是種非常有效的方法。
    發(fā)表于 04-12 17:32 ?7090次閱讀
    <b class='flag-5'>淺談</b>局部網絡管理 基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的局部網絡管理<b class='flag-5'>機制</b>設計

    can總線仲裁機制詳解

    CAN總線種基于優(yōu)先級的串行通信網絡,采用載波監(jiān)聽多路轉換沖突避免協(xié)議,CAN總線中傳輸?shù)臄?shù)
    發(fā)表于 04-24 17:48 ?2.2w次閱讀
    <b class='flag-5'>can</b><b class='flag-5'>總線</b>仲裁<b class='flag-5'>機制</b>詳解

    淺談總線通訊數(shù)據沖突的問題的解決

    現(xiàn)場總線作為工業(yè)自動化系統(tǒng)中最后段通訊的橋梁,越來越多的傳感器和執(zhí)行機構都集成了CAN總線之類的通訊接口,但其固化的幾個通訊數(shù)據格式,面對當前眾多復雜的大系統(tǒng),時常會給設計者帶來底層
    發(fā)表于 11-13 11:18 ?3529次閱讀

    CAN總線一般的通訊系統(tǒng)總線相比,它的優(yōu)勢是什么

    應用及與眾不同的設計方案。 CAN總線一般的通訊系統(tǒng)總線對比,它的數(shù)據通訊具備突顯的可信性、實用性和協(xié)調能力,是種合理適用分布式系統(tǒng)操縱
    發(fā)表于 11-18 17:17 ?2733次閱讀

    CAN總線終端電阻為什么是120Ω

    CAN總線終端電阻,一般來說都是120歐姆,實際上在設計的時候,也是兩個60歐姆的電阻串起來,而總線一般有兩個120Ω的節(jié)點,基本上稍微知
    發(fā)表于 01-15 10:59 ?3464次閱讀

    淺談CAN總線終端電阻的作用

    CAN總線終端電阻,一般來說都是120歐姆,實際上在設計的時候,也是兩個60歐姆的電阻串起來,而總線一般有兩個120Ω的節(jié)點,基本上稍微知
    的頭像 發(fā)表于 06-20 09:54 ?2138次閱讀
    <b class='flag-5'>淺談</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>終端電阻的作用

    淺談CAN總線入侵檢測的精度

    淺談CAN總線入侵檢測的精度
    發(fā)表于 07-12 10:39 ?423次閱讀
    <b class='flag-5'>淺談</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>入侵檢測的精度

    can總線波特率一般采用多少?

    can總線波特率一般采用多少 Can總線是指Controller Area Network,是
    的頭像 發(fā)表于 09-07 15:05 ?4540次閱讀

    CAN總線控制器的工作原理

    CAN(Controller Area Network,控制器局域網)總線控制器的工作原理涉及多個方面,包括消息傳輸、沖突檢測與解決、總線仲裁等關鍵
    的頭像 發(fā)表于 09-30 11:33 ?1152次閱讀
    百家乐庄闲的冷热| 仕达屋娱乐城| 百家乐官网最大的赌局| 威尼斯人娱乐城排名| 蓝盾百家乐官网赌场| 太阳城百家乐手机投注| 英山县| 百家乐透明发牌靴| 百家乐官网游戏机说明书| 免费百家乐分析工具| 百家乐官网纯技巧打| 大发888娱乐网| 淘金百家乐官网的玩法技巧和规则 | 肯博百家乐现金网| 大发888网址怎么找| 百家乐官网14克粘土筹码| 新葡京官网| 百家乐买闲打法| 百家乐官网赌博平台| 大发888古怪猴子| 百家乐真人投注网站| 百家乐官网三号的赢法| 百家乐游戏筹码| 发中发百家乐官网的玩法技巧和规则| 一路发娱乐| 百家乐计算法| 百家乐官网家乐娱乐城| 百家乐游戏模拟| 大杀器百家乐官网学院| 一二博网| 百家乐科学打法| 江山百家乐的玩法技巧和规则| 百家乐官网园云顶娱乐主页| 太阳神百家乐的玩法技巧和规则| 百家乐官网21点桌| 大发888老虎机苹果版| 百家乐和抽水官网| 百家乐官网的桌子| 大发888官网游| 百家乐的玩法和技巧| 赌百家乐官网波音备用网|