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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 詳解基于CAN總線的汽車儀表系統(tǒng)設計―CAN總線原理

          詳解基于CAN總線的汽車儀表系統(tǒng)設計―CAN總線原理

          作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

          13、應答:接收節(jié)點對正確接收的報文給出應答,對不一致報文進行標記。

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

          14、位流編碼:一幀報文中,起始域、仲裁域、控制域、數(shù)據(jù)域和CRC域的二進制位流通過位填充方式編碼。當連續(xù)出現(xiàn)5個相同極性位時,自動插入一個補碼;報文中其他域不使用位流編碼,錯誤幀和過載幀也不使用。

          2.2.3 的技術特點

          隨著通信技術的發(fā)展,己廣泛應用于各行各業(yè)的工業(yè)現(xiàn)場,根據(jù)不同的需要或以主從方式,或多主方式工作,鑒于其極高的可靠性和獨特的設計以及高速率,傳輸距離較長的特點,特別適合工業(yè)現(xiàn)場監(jiān)控設備的互聯(lián)。的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點是可使網(wǎng)絡內的節(jié)點個數(shù)在理論上不受限制,數(shù)據(jù)塊的標識碼可由H位(以N技術規(guī)范2.以)或29位(CAN技術規(guī)范2.0B)二進制數(shù)組成,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分布式控制系統(tǒng)中非常有用。概括起來,它具有如下特點

          1、CAN的通信介質可為雙絞線、同軸電纜或光纖,選擇靈活。

          2、CAN的直接通信距離最遠可達IOkm(速率SKbp、以下),通信速率最高可達IMbpS(此時通信距離最長為40m)。

          3、CAN為多主從工作方式,網(wǎng)絡上任意一節(jié)點均可在任意時刻主動地向網(wǎng)絡上其他接點發(fā)送信息,而不分主從,通信方式靈活,且無需站地址等節(jié)點信息,利用這一特性可方便地構成多機備份系統(tǒng)。

          4、網(wǎng)絡上的節(jié)點信息可分成不同的優(yōu)先級,可以滿足不同的實時要求,高優(yōu)先級的數(shù)據(jù)最多可在 134ps內得到傳輸。

          5、CAN采用非破壞性總線仲裁技術,當多個節(jié)點同時向總線發(fā)送信息時,優(yōu)先級較低的節(jié)點會主動退出發(fā)送,而高優(yōu)先級的節(jié)點可以不受影響地繼續(xù)傳送數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時間,尤其是在網(wǎng)絡負載很重的情況下也不會出現(xiàn)網(wǎng)絡癱瘓情況(而以太網(wǎng)則可能)。

          6、CAN只需通過報文濾波即可實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳播接收數(shù)據(jù),無需專門的“調度”

          7、CAN上的節(jié)點數(shù)主要取決于總線驅動電路,目前可達110個,報文標識符可達2030種 (CAN2.OA),而擴展標準(CAN2.OB)的報文標識符幾乎不受限制。

          8、CAN采用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果。

          9、以N的每幀信息都有CRC校驗及其他校驗措施,保證了數(shù)據(jù)出錯率極低。

          10、以上的節(jié)點在錯誤嚴重的情況下,具有自動關閉總線的功能,退出網(wǎng)絡通訊,保證總線上其它節(jié)點的操作不受影響。

          11、CAN還具有借助接收濾波的多地址幀傳送、遠程數(shù)據(jù)請求、配置靈活性、全系統(tǒng)數(shù)據(jù)相容性、錯誤檢測和出錯信令的功能。

          12、CAN在發(fā)送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發(fā)送,而且可以進行暫時錯誤和永久性故障節(jié)點的判別以及故障節(jié)點的自動脫離。CAN的信號傳輸采用短幀結構,數(shù)據(jù)段長度最多為8個字節(jié),每一幀的有效字節(jié)數(shù)為8個,可滿足通常工業(yè)領域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,傳輸?shù)臅r間短,從而保證了通信的實時性。受干擾的概率低,每幀信息均有CRC校驗和其他檢錯措施,通信誤碼率極低。采用CRC檢驗并可提供相應的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。以N節(jié)點在錯誤嚴重的情況下,具有自動關閉總線的功能,這時故障節(jié)點與總線脫離,使其他節(jié)點的通信不受影響。CAN的這些卓越特性以及極高的可靠性和獨特的設計,特別適合工業(yè)過程監(jiān)控設備的互聯(lián),并己被公認為最有前途的現(xiàn)場總線之一。

          2.2.4 CAN的分層結構

          CAN遵從051模型,按照051基準模型,CAN結構劃分為兩層:數(shù)據(jù)鏈路層和物理層,其中數(shù)據(jù)鏈路層包括邏輯鏈路層LLC和媒體訪問控制層MAC。如圖2一2所示1]。

          CAN總線的分層結構

          2.2.4CAN總線的分層結構

          CAN遵從051模型,按照051基準模型,CAN結構劃分為兩層:數(shù)據(jù)鏈路層和物理層,其中數(shù)據(jù)鏈路層包括邏輯鏈路層LLC和媒體訪問控制層MAC。如圖2一2所示123]。

          CAN節(jié)點構成結構圖

          LLC子層的主要功能是:為數(shù)據(jù)傳送和遠程數(shù)據(jù)請求提供服務,確認由LLC子層接收的報文己被接收,并為恢復管理和通知超載提供信息。MAC子層的功能主要是傳送規(guī)則,亦即控制幀的結構、執(zhí)行仲裁、錯誤檢測、出錯標定和故障界定。物理層的功能是有關全部電氣特性在不同節(jié)點間的實際傳送。CAN技術規(guī)范 2.OB定義了數(shù)據(jù)鏈路中的MAC子層和LLC子層的一部分,并描述與 CAN有關的外層。物理層定義了信號怎樣進行發(fā)送,因而,涉及位定時、位編碼元和同步的描述。在這部分技術規(guī)范中,未定義物理層中的驅動器/接收器特性,以便允許根據(jù)具體應用,對發(fā)送媒體和信號電平進行優(yōu)化。MAC子層是的核心,它描述由LLC子層接收到的報文和對LLC子層發(fā)送的認可報文。 MAC子層可響應報文幀、仲裁、應答、錯誤檢測標定。MAC子層由稱為故障界定的一個管理實時監(jiān)控,它具有識別永久故障或短暫擾動的自檢機制。LLC子層的主要功能是報文濾波、超載通知和恢復管理。、從物理結構上看,一個CAN節(jié)點的構成如圖2一3所示。在CAN網(wǎng)絡中,物理層從結構上可分為三層:分別是物理信號層(P璐, PhysicalSignaling),物理介質附件層(pMA, physiealMediaAitachment)和介質接口層(MDI,MediaD叩endentInteiface)。其中PLS層連同數(shù)據(jù)鏈路層功能由CAN控制器完成,PMA層功能由CAN收發(fā)器完成,MDI層定義了電纜和連接器的特性。目前也有支持 CAN的微控制器內部集成了CAN控制器和收發(fā)器電路。PMA和MDI兩層有很多不同的國際或國家或行業(yè)標準,也可自行定義,比較流行的是 15011898定義的高速CAN發(fā)送/接收器標準。


          上一頁 1 2 下一頁

          評論


          相關推薦

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