精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

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

遇到的問題

問題的發現

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

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

CAN總線的一般沖突機制

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

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

STM32中的CAN沖突機制

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

hcan1.Init.AutoRetransmission = ENABLE;

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

圖片

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

    關注

    145

    文章

    1936

    瀏覽量

    130628
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2715

    瀏覽量

    463365
  • 通信
    +關注

    關注

    18

    文章

    5969

    瀏覽量

    135850
  • STM32
    +關注

    關注

    2266

    文章

    10871

    瀏覽量

    354789
收藏 人收藏

    評論

    相關推薦

    淺談CAN總線外圍電路設計

    CAN總線接口外圍電路設計一般按照上圖進行繪制。一般主機廠商使用的是CAN控制器,對應的需要使用收發器。
    的頭像 發表于 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
    發布于 :2023年05月26日 13:54:03

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

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

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

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

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

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

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

    CAN總線系統中擁有CAN控制器、個信息收發器、兩個數據傳輸終端及兩條數據傳輸總線,除了數
    發表于 11-27 11:01 ?32.7w次閱讀

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

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

    can總線仲裁機制詳解

    CAN總線種基于優先級的串行通信網絡,采用載波監聽多路轉換沖突避免協議,CAN總線中傳輸的數
    發表于 04-24 17:48 ?2.1w次閱讀
    <b class='flag-5'>can</b><b class='flag-5'>總線</b>仲裁<b class='flag-5'>機制</b>詳解

    淺談總線通訊數據沖突的問題的解決

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

    CAN總線一般的通訊系統總線相比,它的優勢是什么

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

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

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

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

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

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

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

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

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

    CAN總線控制器的工作原理

    CAN(Controller Area Network,控制器局域網)總線控制器的工作原理涉及多個方面,包括消息傳輸、沖突檢測與解決、總線仲裁等關鍵
    的頭像 發表于 09-30 11:33 ?592次閱讀