<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > CAN總線使用總結

          CAN總線使用總結

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

          控制域:由6個位組成,包括2個保留位(IDE,ro)用于CAN協(xié)議擴展,4位數(shù)據(jù)長度碼,允許數(shù)據(jù)的

          長度值為0~8。

          數(shù)據(jù)域:發(fā)送緩沖區(qū)按照長度碼指示的數(shù)據(jù)長度進行發(fā)送,接收的數(shù)據(jù)同樣如此,第一個字節(jié)的最高有

          效位第一個被發(fā)送/接收。

          循環(huán)冗余校驗域(CRC):由CRC序列位(15位)和一個CRC邊界符(1個弱位)組成。CRC的范圍

          包括起始域、仲裁域、控制域、數(shù)據(jù)域、CRC序列。之所以選用這種幀校驗方式,因為:這種CRC碼對于

          少于127位的幀最佳。

          應答域:應答域由發(fā)送方發(fā)送的兩位弱位組成(應答空隙和應答分界位),當接收器正確地接收到有

          效的報文時,接收器就會在應答間隙期間(發(fā)送ACK信號)向發(fā)送器發(fā)送一顯性位以示應答。因此發(fā)送節(jié)

          點一直監(jiān)測總線信號以確認網絡中至少有一個節(jié)點正確接收到發(fā)信息。應答分界位是應答域中的第二個弱

          位,有此可見,應答空隙兩邊有兩個弱位:CRC分界位和應答分界位。

          幀結束域:每一個數(shù)據(jù)幀或遠程幀一串7位的弱位幀結束域結束。

          2.遠程幀:請求數(shù)據(jù)

          遠程幀由6個域組成:起始域、仲裁域、控制域、CRC域、應答域、幀結束域。

          遠程幀與數(shù)據(jù)幀不同之處在于:RTR位為高,無數(shù)據(jù)域。

          3.錯誤指示幀:用于指示傳送過程中的錯誤信息

          錯誤指示幀由兩個不同的域組成:第一個域反映來自控制器的錯誤標志,第二個域為錯誤分界符。

          錯誤標志:有兩種,一個由6個強位組成的主動錯誤標志;另一個由6個弱位組成的被動錯誤標志,

          它是被其他CAN控制器強位改寫。 處于主動錯誤狀態(tài)的CAN節(jié)點檢測到錯誤發(fā)出主動錯誤標志,該錯誤標

          志不滿足位填充規(guī)則,或者是破壞應答域或結束域固定格式,所有其他節(jié)點都檢測到錯誤狀態(tài),并發(fā)出該錯

          誤標志。因此,這些從總線上監(jiān)測到的強位串是不同節(jié)點發(fā)出錯誤標志的結果,這一標志最短為6個,最長

          為12個。被動錯誤標志(不太理解。。。后續(xù))

          錯誤分界:它由8個弱位組成,與過載分界有相同的格式,當錯誤標志發(fā)生后,每一個CAN節(jié)點監(jiān)測

          總線,直到檢測到一個強位出現(xiàn),這表明所有CAN節(jié)點已經完成錯誤標志的發(fā)送,并開始發(fā)送8個弱位的分

          界符,之后網絡上的主動錯誤節(jié)點便可同時開始其他的發(fā)送。如果數(shù)據(jù)幀或遠程幀在發(fā)送過程中發(fā)現(xiàn)錯誤

          后,當前的信息作廢,并啟動重新發(fā)送。如果CAN節(jié)點發(fā)現(xiàn)錯誤指示幀錯誤,則重發(fā),當連續(xù)多次出現(xiàn)此錯

          誤時,則相應的節(jié)點變?yōu)楸粍渝e誤節(jié)點。為正確結束錯誤標志,被動態(tài)節(jié)點需要至少3個位周期。

          4.過載幀:用于后續(xù)幀的延時

          過載幀由兩個域組成:過載標志和過載分界。

          以下情況可以導致過載幀發(fā)送:

          (1).接收未準備好即接收方需要過多的時間處理當前的數(shù)據(jù);

          (2).在幀間空隙的第一位或第二位發(fā)現(xiàn)顯性位信號;

          過載幀發(fā)送條件:

          (1).在幀間空隙域的第一個位周期;

          (2).在幀間空隙域中檢測到強位信號一個位周期后,方可啟動過載幀發(fā)送。

          過載標志:由6個顯性位組成,與錯誤標志格式相同,當超載標志發(fā)生后,每個節(jié)點監(jiān)測總線狀態(tài),當發(fā)

          現(xiàn)線上有弱位后,此時所有節(jié)點已完成超載標志的發(fā)送,并開始發(fā)8個弱位串;

          過載分界符:由8個隱性位組成,與錯誤分界符格式相同;

          英飛凌(infineon)單片機XC800之CAN總線

          CAN內部硬件結構,如下圖所示

          一,CAN處理機制

          發(fā)送:根據(jù)報文緩存中的報文對象,由位流處理器產生的通過can總線發(fā)送的數(shù)據(jù)幀和過程幀,即從報

          文緩存中取出的報文對象,位流處理器給它加上起始域,結束域和CRC校驗數(shù)據(jù),組成一個完整的數(shù)據(jù)幀

          和遠程幀,此時位流控制器還在對總線進行監(jiān)測,當發(fā)現(xiàn)總線空閑時,就啟動數(shù)據(jù)的傳送,傳送過程中監(jiān)測

          總線的信息,當發(fā)現(xiàn)與傳送的信息不相符時,就會產生一個“最近錯誤”中斷請求。



          關鍵詞: CAN總線使用總

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();