新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 沒聽過這個,都不好意思說自己做過CAN總線開發!

        沒聽過這個,都不好意思說自己做過CAN總線開發!

        作者: 時間:2016-12-13 來源:網絡 收藏
        CAN總線網絡中,若其中一個節點出現硬件或者軟件上的錯誤,很可能導致總線電平持續保持在顯性狀態,總線上所有節點均不能正常通信。在節點設計時,應該如何通過硬件手段避免這一問題發生?


        總線值

        CAN總線上的數據采用不歸零編碼方式,可具有兩種互補的邏輯值之一:“顯性”或“隱性”。“顯性”位和“隱性”位同時傳送時,總線的結果值為“顯性”。比如,在執行總線的“線與”時,邏輯 0 代表“顯性”,邏輯1 代表“隱性”。

        CAN總線節點的基本組成如圖1所示,當MCU的TXD引腳輸出0時,總線電平為顯性,若輸出1,總線電平則為隱性。

        本文引用地址:http://www.104case.com/article/201612/329324.htm


        圖1 CAN節點基本組成示意圖


        TXD 顯性超時

        由于CAN總線顯性電平的“支配地位”,在CAN總線組網時,若有其中一個CAN節點出現硬件或者軟件上的錯誤,使控制器TXD引腳持續處于低電平,則會使總線電平持續保持在顯性狀態,總線上所有節點均不能正常通信,導致總線癱瘓。若總線節點數量眾多,確定問題節點將是一項艱巨的任務。

        帶TXD顯性超時保護功能的CAN收發器可以有效防止出錯的CAN控制器通過發送持續的顯性TXD信號將總線箝位在顯性電平。


        圖2 TXD顯性超時功能


        如圖2所示,帶TXD顯性超時保護的CAN收發器,在TXD引腳顯性時間超過允許最大的時間tDOM后,發送器將被禁能,收發器輸出表現為隱性狀態,總線將不受該節點影響,從而保證總線的正常通信。收發器下一個顯性輸出只有在釋放了TXD后才可以產生。

        隔離CAN收發器

        表1列出了常用的隔離CAN收發器。從列表可以看出,CTM1051K(A)T具有TXD顯性超時保護功能,可以避免總線持續進入顯性狀態,保護總線正常通信。但由于tDOM的存在,收發器的最低工作位速率被限制。

        表1 常用隔離CAN收發器


        圖3 CAN隔離收發器


        根據 CAN 協議(ISO 11898),除了錯誤幀和過載幀(允許6個相等顯性位),CAN幀報文中在5個連續相等位后,發送器自動插入一個與之互補的補碼位;接收時,這個填充位被自動丟掉。例如,5個連續的高電平位后,CAN自動插入一個低電平位。因此,TXD只允許最多11個連續的顯性位,最壞的情況是一個錯誤幀緊接在5個連續的顯性位后,即tDOM的最小值要求收發器的最小位速率必須大于36.7kbit/s:



        關鍵詞: CAN總線開

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 万源市| 闵行区| 嘉善县| 绿春县| 永德县| 昌平区| 赤水市| 石河子市| 西乡县| 谷城县| 肃南| 隆化县| 鹤岗市| 宿迁市| 庐江县| 茶陵县| 都昌县| 邢台县| 文安县| 黔东| 福海县| 祁东县| 柘城县| 莲花县| 阿克| 普格县| 根河市| 藁城市| 长宁县| 肇东市| 攀枝花市| 霍邱县| 赫章县| 通化市| 张家界市| 军事| 满洲里市| 玉山县| 新丰县| 余庆县| 筠连县|