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

          新聞中心

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

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

          作者: 時(shí)間: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)場總線,具有傳輸速度快、可靠性高、靈活性強(qiáng)等優(yōu)點(diǎn)。上世紀(jì)90年代CAN總線開始在汽車電子行業(yè)內(nèi)逐步推廣,目前已成為汽車電子行業(yè)首選的協(xié)議,并且在醫(yī)療設(shè)備、工業(yè)生產(chǎn)、樓宇設(shè)施、交通運(yùn)輸?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ù)打包/解包、幀編碼、媒體訪問管理、錯(cuò)誤檢測、錯(cuò)誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。

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

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

          幀類型

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

          在報(bào)文傳輸時(shí),不同的幀具有不同的傳輸結(jié)構(gòu),下面將分別介紹四種傳輸幀的結(jié)構(gòu),只有嚴(yán)格按照該結(jié)構(gòu)進(jìn)行幀的傳輸,才能被節(jié)點(diǎn)正確接收和發(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個(gè)字節(jié)。

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

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

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

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

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

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

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

          (2)錯(cuò)誤幀

          錯(cuò)誤幀由兩個(gè)不同的域組成:第一個(gè)域是來自控制器的錯(cuò)誤標(biāo)志;第二個(gè)域?yàn)殄e(cuò)誤分界符。

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

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

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

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

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

          (3)遠(yuǎn)程幀

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

          (4)過載幀

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

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

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

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



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

          評(píng)論


          相關(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); })();