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

          新聞中心

          CAN總線簡述

          作者: 時間:2016-12-12 來源:網(wǎng)絡(luò) 收藏
          一、CAN通信概述
          CAN ( Controller Area Network ) 即控制器局域網(wǎng)絡(luò)。由于其高性能、高可靠性、及獨特的設(shè)計,CAN越來越受到人們的重視。國外已有許多大公司的產(chǎn)品采用了這一技術(shù)。
          CAN最初是由德國的BOSCH公司為汽車監(jiān)測、控制系統(tǒng)而設(shè)計的?,F(xiàn)代汽車越來越多地采用電子裝置控制,如發(fā)動機(jī)的定時、注油控制,加速、剎車控制(ASC)及復(fù)雜的抗鎖定剎車系統(tǒng)(ABS)等。由于這些控制需檢測及交換大量數(shù)據(jù),采用硬接信號線的方式不但煩瑣、昂貴,而且難以解決問題,采用CAN總線上述問題便得到很好地解決。
          二、CAN總線特點
          CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。其物理傳輸層詳細(xì)和高效的定義,使得 CAN總線具有其它總線無法達(dá)到的優(yōu)勢,注定其在工業(yè)現(xiàn)場總線中占有不可動搖的地位,CAN總線通信主要具有如下所示的優(yōu)勢和特點。
          1.CAN總線上任意節(jié)點均可在任意時刻主動的向其它節(jié)點發(fā)起通信,節(jié)點沒有主從之分,但在同一時刻優(yōu)先級高的節(jié)點能獲得總線的使用權(quán),在高優(yōu)先級的節(jié)點釋放總線后,任意節(jié)點都可使用總線;
          2.CAN總線傳輸波特率為5Kbps~1Mbps ,在 5Kbps 的通信波特率下最遠(yuǎn)傳輸距離可以達(dá)到10Km,即使在1Mbps 的波特率下也能傳輸 40m 的距離。在1Mbps 波特率下節(jié)點發(fā)送一幀數(shù)據(jù)最多需要134μ s;
          3.CAN總線采用載波監(jiān)聽多路訪問、逐位仲裁的非破壞性總線仲裁技術(shù)。在節(jié)點需要發(fā)送信息時,節(jié)點先監(jiān)聽總線是否空閑,只有節(jié)點監(jiān)聽到總線空閑時才能夠發(fā)送數(shù)據(jù),即載波監(jiān)聽多路訪問方式。在總線出現(xiàn)兩個以上的節(jié)點同時發(fā)送數(shù)據(jù)時,CAN協(xié)議規(guī)定,按位進(jìn)行仲裁,按照顯性位優(yōu)先級大于隱性位優(yōu)先級的規(guī)則進(jìn)行仲裁,最后高優(yōu)先級的節(jié)點數(shù)據(jù)毫無破壞的被發(fā)送,其它節(jié)點停止發(fā)送數(shù)據(jù)(即逐位仲裁無破壞的傳輸技術(shù))。這樣能大大的提高總線的使用效率及實時性;
          4.CAN總線所掛接的節(jié)點數(shù)量主要取決于CAN總線收發(fā)器或驅(qū)動器,目前的驅(qū)動器一般都可以使同一網(wǎng)絡(luò)容量達(dá)到110 個節(jié)點。CAN報文分為兩個標(biāo)準(zhǔn)即CAN2.0A標(biāo)準(zhǔn)幀和CAN2.0B擴(kuò)展幀,兩個標(biāo)準(zhǔn)最大的區(qū)別在于CAN2.0A只有11 位標(biāo)識符,CAN2.0B具有 29 位標(biāo)識符;
          5.CAN總線定義使用了硬件報文濾波,可實現(xiàn)點對點及點對多點的通信方式,不需要軟件來控制。數(shù)據(jù)采用短幀發(fā)送方式,每幀數(shù)據(jù)不超過8 字節(jié),抗干擾能力強(qiáng),每幀接收的數(shù)據(jù)都進(jìn)行CRC校驗,使得數(shù)據(jù)出錯機(jī)率極大限度的降低。CAN節(jié)點
          6.CAN總線通信介質(zhì)可采用雙絞線、同軸電纜或光纖,選擇極為靈活。可大大節(jié)約組網(wǎng)成本。
          三、CAN協(xié)議規(guī)范(CAN規(guī)范2.0)
          CAN為串行通訊協(xié)議,能有效地支持具有很高安全等級的分布實時控制。技術(shù)規(guī)范的目的是為了在任何兩個CAN儀器之間建立兼容性。可是,兼容性有不同的方面,比如電氣特性和數(shù)據(jù)轉(zhuǎn)換的解釋。為了達(dá)到設(shè)計透明度以及實現(xiàn)靈活性,根據(jù)ISO/OSI參考模型,CAN 2.0規(guī)范細(xì)分為以下不同的層次:數(shù)據(jù)鏈路層(數(shù)據(jù)鏈路層的LLC 子層和MAC子層)和物理層。
          MAC子層的作用主要是傳送規(guī)則,也就是控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯誤檢測、出錯標(biāo)定、故障界定。總線上什么時候開始發(fā)送新報文及什么時候開始接收報文,均在MAC子層里確定。位定時的一些普通功能也可以看作是 MAC子層的一部分。理所當(dāng)然,MAC子層的修改是受到限制的。
          物理層的作用是在不同節(jié)點之間根據(jù)所有的電氣屬性進(jìn)行位的實際傳輸。同一網(wǎng)絡(luò)的物理層對于所有
          的節(jié)點當(dāng)然是相同的。盡管如此,在選擇物理層方面還是很自由的。
          四、CAN的錯誤定義及處理
          1.錯誤類型
          位錯誤
          站單元在發(fā)送位的同時也對總線進(jìn)行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相符合,則在此位時間里檢測到一個位錯誤。但是在仲裁場的填充位流期間或 ACK間隙發(fā)送一“隱性”位的情況是例外的—— 此時,當(dāng)監(jiān)視到一“顯性”位時,不會發(fā)出位錯誤。當(dāng)發(fā)送器發(fā)送一個被動錯誤標(biāo)志但檢測到“顯性”位時,也不視為位錯誤。
          填充錯誤
          如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了第 6 個連續(xù)相同的位電平時,將檢測到一個填充錯誤。
          CRC 錯誤
          CRC序列包括發(fā)送器的CRC計算結(jié)果。接收器計算CRC的方法與發(fā)送器相同。如果計算結(jié)果與接收到CRC序列的結(jié)果不相符,則檢測到一個CRC錯誤。
          形式錯誤
          當(dāng)一個固定形式的位場含有1 個或多個非法位,則檢測到一個形式錯誤。
          應(yīng)答錯誤
          只要在ACK間隙(ACK SLOT)期間所監(jiān)視的位不為“顯性”,則發(fā)送器會檢測到一個應(yīng)答錯誤。
          2.錯誤等級劃分
          主動錯誤 Error Counter < 127
          錯誤警告 Error Counter = = Error
          被動錯誤 Error Counter > 127
          總線關(guān)閉 Error Counter = = 255
          “錯誤主動”的單元可以正常地參與總線通訊并在錯誤被檢測到時發(fā)出主動錯誤標(biāo)志。
          “錯誤被動”的單元不允許發(fā)送主動錯誤標(biāo)志。“錯誤被動”的單元參與總線通訊而且在錯誤被檢測到時只發(fā)出被動錯誤標(biāo)志。而且,發(fā)送以后,“錯誤被動”單元將在預(yù)設(shè)下一個發(fā)送之前處于等待狀態(tài)。
          “總線關(guān)閉”的單元不允許在總線上有任何的影響(比如,關(guān)閉輸出驅(qū)動器)。



          關(guān)鍵詞: CAN總線簡

          評論


          技術(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); })();