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

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > can總線分層結(jié)構(gòu)及報文傳輸

          can總線分層結(jié)構(gòu)及報文傳輸

          作者: 時間:2018-07-24 來源:網(wǎng)絡(luò) 收藏

          CAN是器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)了的,并最終成為國際標(biāo)準(zhǔn)(ISO11898)。是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。在建立之初,CAN總線就定位于汽車內(nèi)部的現(xiàn)場總線,具有傳輸速度快、可靠性高、靈活性強等優(yōu)點。上世紀(jì)90年代CAN總線開始在汽車電子行業(yè)內(nèi)逐步推廣,目前已成為汽車電子行業(yè)首選的協(xié)議,并且在醫(yī)療設(shè)備、工業(yè)生產(chǎn)、樓宇設(shè)施、交通運輸?shù)阮I(lǐng)域中取得了廣泛的應(yīng)用。

          本文引用地址:http://www.ex-cimer.com/article/201807/383582.htm

          CAN的分層結(jié)構(gòu)

          CAN的數(shù)據(jù)鏈路層是其核心內(nèi)容,其中邏輯鏈路(Logical Link control,LLC)完成過濾、過載通知和管理恢復(fù)等功能,媒體訪問(Medium Access Control,MAC)子層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。

          邏輯鏈路控制子層(LLC)的功能:為數(shù)據(jù)傳送和遠程數(shù)據(jù)請求提供服務(wù),確認由LLC子層接收的報文實際上已被接收,為恢復(fù)管理和通知超載提供信息。在定義目標(biāo)處理時,存在許多靈活性。

          介質(zhì)訪問控制子層(MAC)的功能:主要是傳送規(guī)則,即控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯誤檢測、出錯標(biāo)定和故障界定。MAC子層也要確定當(dāng)開始一次新的傳送時,總線是否開放或者是否馬上開始接收。位定時特性也是MAC子層的一部分。

          幀類型

          在CAN2.0B的版本協(xié)議中有兩種不同的幀格式,不同之處為標(biāo)識符域的長度不同,含有11位標(biāo)識符的幀稱之為標(biāo)準(zhǔn)幀,而含有29位標(biāo)識符的幀稱為擴展幀。如CAN1.2版本協(xié)議所描述,兩個版本的標(biāo)準(zhǔn)數(shù)據(jù)幀格式和遠程幀格式分別是等效的,而擴展格式是CAN2.0B協(xié)議新增加的特性。為使控制器設(shè)計相對簡單,并不要求執(zhí)行完全的擴展格式,對于新型控制器而言,必須不加任何限制的支持標(biāo)準(zhǔn)格式。但無論是哪種幀格式,在報文傳輸時都有以下四種不同類型的幀。

          在報文傳輸時,不同的幀具有不同的傳輸結(jié)構(gòu),下面將分別介紹四種傳輸幀的結(jié)構(gòu),只有嚴格按照該結(jié)構(gòu)進行幀的傳輸,才能被節(jié)點正確接收和發(fā)送。

          (1)數(shù)據(jù)幀

          由七種不同的位域(Bit Field)組成:幀起始(Start of )、仲裁域(Arbitraon Field)、控制域(Control Field)、數(shù)據(jù)域(DataField)、CRC域(CRC Field)、應(yīng)答域(ACK Field)和幀結(jié)尾(End of )。數(shù)據(jù)域的長度可以為0~8個字節(jié)。

          1)幀起始(SOF):幀起始(SOF)標(biāo)志著數(shù)據(jù)幀和遠程幀的起始,僅由一個“顯性”位組成。在CAN的同步規(guī)則中,當(dāng)總線空閑時(處于隱性狀態(tài)),才允許站點開始發(fā)送(信號)。所有的站點必須同步于首先開始發(fā)送報文的站點的幀起始前沿(該方式稱為“硬同步”)。

          2)仲裁域:仲裁域由標(biāo)識符和RTR位組成,標(biāo)準(zhǔn)幀格式與擴展幀格式的仲裁域格式不同。標(biāo)準(zhǔn)格式里,仲裁域由1l位標(biāo)識符和RTR位組成。標(biāo)識符位有ID28~IDl8。擴展幀格式里,仲裁域包括29位標(biāo)識符、SRR位、IDE(Idenfier Extension,標(biāo)志符擴展)位、RTR位。其標(biāo)識符有ID28~IDO。為了區(qū)別標(biāo)準(zhǔn)幀格式和擴展幀格式,CANl.0~1.2版本協(xié)議的保留位r1現(xiàn)表示為IDE位。IDE位為顯性,表示數(shù)據(jù)幀為標(biāo)準(zhǔn)格式;IDE位為隱性,表示數(shù)據(jù)幀為擴展幀格式。在擴展幀中,替代遠程請求(Substute Remote Request,SRR)位為隱性。仲裁域傳輸順序為從最高位到最低位,其中最高7位不能全為零。RTR的全稱為“遠程發(fā)送請求(Remote TransmissionRequest)”。RTR位在數(shù)據(jù)幀里必須為“顯性”,而在遠程幀里必須為“隱性”。它是區(qū)別數(shù)據(jù)幀和遠程幀的標(biāo)志。

          3)控制域:控制域由6位組成,包括2個保留位(r0、r1同于CAN總線協(xié)議擴展)及4位數(shù)據(jù)長度碼,允許的數(shù)據(jù)長度值為0~8字節(jié)。

          4)數(shù)據(jù)域:發(fā)送緩沖區(qū)中的數(shù)據(jù)按照長度代碼指示長度發(fā)送。對于接收的數(shù)據(jù),同樣如此。它可為0~8字節(jié),每個字節(jié)包含8位,首先發(fā)送的是MSB(最高位)。

          5)CRC校驗碼域:它由CRC域(15位)及CRC邊界符(一個隱性位)組成。CRC計算中,被除的多項式包括幀的起始域、仲裁域、控制域、數(shù)據(jù)域及15位為0的解除填充的位流給定。此多項式被下列多項式X15+X14+X10+X8+X7+X4+X3+1除(系數(shù)按模2計算),相除的余數(shù)即為發(fā)至總線的CRC序列。發(fā)送時,CRC序列的最高有效位被首先發(fā)送/接收。之所以選用這種幀校驗方式,是由于這種CRC校驗碼對于少于127位的幀是最佳的。

          6)應(yīng)答域:應(yīng)答域由發(fā)送方發(fā)出的兩個(應(yīng)答間隙及應(yīng)答界定)隱性位組成,所有接收到正確的CRC序列的節(jié)點將在發(fā)送節(jié)點的應(yīng)答間隙上將發(fā)送的這一隱性位改寫為顯性位。因此,發(fā)送節(jié)點將一直監(jiān)視總線信號已確認網(wǎng)絡(luò)中至少一個節(jié)點正確地接收到所發(fā)信息。應(yīng)答界定符是應(yīng)答域中第二個隱性位,由此可見,應(yīng)答間隙兩邊有兩個隱性位:CRC域和應(yīng)答界定位。

          7)幀結(jié)束域:每一個數(shù)據(jù)幀或遠程幀均由一串七個隱性位的幀結(jié)束域結(jié)尾。這樣,接收節(jié)點可以正確檢測到一個幀的傳輸結(jié)束。

          (2)錯誤幀

          錯誤幀由兩個不同的域組成:第一個域是來自控制器的錯誤標(biāo)志;第二個域為錯誤分界符。

          1)錯誤標(biāo)志:有兩種形式的錯誤標(biāo)志。

          ①激活(Acve)錯誤標(biāo)志。它由6個連續(xù)顯性位組成。

          ②認可(Passive)錯誤標(biāo)志。它由6個連續(xù)隱性位組成。

          它可由其他CAN總線協(xié)議控制器的顯性位改寫。

          2)錯誤界定:錯誤界定符由8個隱性位組成。傳送了錯誤標(biāo)志以后,每一站就發(fā)送一個隱性位,并一直監(jiān)視總線直到檢測出1個隱性位為止,然后就開始發(fā)送其余7個隱性位。

          (3)遠程幀

          遠程幀也有標(biāo)準(zhǔn)格式和擴展格式,而且都由6個不同的位域組成:幀起始、仲裁域、控制域、CRC域、應(yīng)答域、幀結(jié)尾。與數(shù)據(jù)幀相比,遠程幀的RTR位為隱性,沒有數(shù)據(jù)域,數(shù)據(jù)長度編碼域可以是0~8個字節(jié)的任何值,這個值是遠程幀請求發(fā)送的數(shù)據(jù)幀的數(shù)據(jù)域長度。當(dāng)具有相同仲裁域的數(shù)據(jù)幀和遠程幀同時發(fā)送時,由于數(shù)據(jù)幀的RTR位為顯性,所以數(shù)據(jù)幀獲得優(yōu)先。發(fā)送遠程幀的節(jié)點可以直接接收數(shù)據(jù)。

          (4)過載幀

          過載幀由兩個區(qū)域組成:過載標(biāo)識域及過載界定符域。下述三種狀態(tài)將導(dǎo)致過載幀發(fā)送:

          1)接收方在接收一幀之前需要過多的時間處理當(dāng)前的數(shù)據(jù)(接收尚未準(zhǔn)備好);

          2)在幀空隙域檢測到顯性位信號;

          3)如果CAN節(jié)點在錯誤界定符或過載界定符的第8位采樣到一個顯性位節(jié)點會發(fā)送一個過載幀。



          關(guān)鍵詞: 控制 通信

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();