新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳解基于CAN總線的汽車儀表系統設計—CAN報文傳輸機制

        詳解基于CAN總線的汽車儀表系統設計—CAN報文傳輸機制

        作者: 時間:2016-12-16 來源:網絡 收藏

        2.遠程幀
        需要獲得數據的節點可以借助于發送一個遠程幀來請求對應的節點發送數據給它。遠程幀同樣存在標準的和擴展的兩種格式。在兩種格式下,均由6個不同的位場組成:幀起始、仲裁場、控制場、CRC場、應答場和幀結束。同數據幀相比較,不同的是:遠程幀的RTR位是“1”(這須由用戶用程序填充)。遠程幀不存在數據場。DLC的數據值是獨立的,它可以是0一8中的任何數值。遠程幀的組成如下圖2一11所示:



        3、出錯幀
        出錯幀由兩個不同場組成,第一個場由來自個站的錯誤標志疊加得到,后隨的第二個是出錯界定符。出錯幀的組成如下圖2一12所示:



        4、超載幀
        超載幀包括兩個位場;超載標志和超載界定符,其組成如下圖2一13所示



        5、幀間空間

        數據幀和遠程幀同前面的幀相同,不管是何種幀(數據幀、遠程幀、出錯
        幀和超載幀)均被稱為幀間空間的位場分開。幀間空間包括間歇場和總線空閑
        場,對于“錯誤認可”節點還有暫停發送場。對于非”錯誤認可“的接收器,
        其幀空間如下圖2一14所示:



        對于“錯誤認可”節點,其幀空間如下圖2-15所示:



        2.2.7CAN數據錯誤監測


        CAN協議可使用五種檢查錯誤的方法,其中前三種為基于報文內容檢查。


        1.循環冗余檢查(CRC):在一幀報文中加入冗余檢查位可保證報文正確。接收站通過cRc可判斷報文是否有錯【25]。其工作原理如下:



        (5).根據R(x)和R‘(x)是否相等來判斷傳輸是否出錯,如果計算余數多項式和接收余項多項式相等,則數據傳輸無差錯,如果不等,則表明出現了錯誤,由發送方重新發送數據,知道數據傳送正確為止。

        2.幀檢查:這種方法通過位場檢查幀的格式和大小來確定報文的正確性,用于檢查格式上的錯誤。
        3.應答錯誤:被接收到的幀由接收站通過明確的應答來確認。如果發送站未收到應答,那么表明接收站發現幀中有錯誤,也就以錯誤類型和界定是說,ACK場己損壞或網絡中的報文無站接收。
        4.總線檢測:CAN中的一個節點可監測自己發出的信號。因此,發送報文的站可以觀測總線電平并探測發送位和接收位的差異。
        5.位填充:如果在一幀報文中有太多相同電平的位,就有可能失去同步。為保證同步,在五個連續相等位后,發送站自動插入一個與之互補的補碼位;接收時,這個填充位被自動去掉。例如,五個連續的低電平位后,CAN自動插入一個高電平位。CAN過這種編碼規則檢查錯誤,如果在一幀報文中有6個相同位,CAN就知道發生了錯誤。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 阿拉善左旗| 寿阳县| 峨眉山市| 丁青县| 淮安市| 监利县| 万盛区| 家居| 印江| 广南县| 青川县| 建瓯市| 离岛区| 色达县| 临安市| 大姚县| 汉寿县| 新闻| 易门县| 法库县| 息烽县| 秀山| 拜泉县| 莱西市| 永州市| 紫阳县| 叶城县| 辽宁省| 忻州市| 德兴市| 沂水县| 黎川县| 济阳县| 鄄城县| 新余市| 靖宇县| 奇台县| 岳池县| 临沂市| 包头市| 崇左市|