《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 如何構建專屬自己的CAN-bus應用層協(xié)議

如何構建專屬自己的CAN-bus應用層協(xié)議

2017-05-04
來源:ZLG致遠電子

  隨著CAN-bus相關芯片價格的下降,內(nèi)置CAN控制器MCU的增多,,CAN-bus當前已經(jīng)進入了眾多早期由于成本問題無法使用的領域,成為極具生命力的現(xiàn)場總線,,今天我們就來探討如何構建專屬自己的CAN-bus應用層協(xié)議

  在CAN-bus網(wǎng)絡上,,CAN報文以廣播的形式發(fā)送,,CAN報文不包含地址信息,是否處理接收到的CAN報文由接收點的軟件確定,。CAN-bus只提供可靠的報文傳輸服務,,CAN報文的使用由應用者定義, 所以CAN網(wǎng)絡中的節(jié)點要相互通信就必須制定一個統(tǒng)一的規(guī)則,。CAN應用層協(xié)議就是這樣一個規(guī)則,。

  這個規(guī)則,定義了CAN報文中幀ID及幀數(shù)據(jù)的使用方式,如將幀ID定義為需要處理該幀數(shù)據(jù)的CAN節(jié)點地址等,。根據(jù)應用場合的不同,,國際上出現(xiàn)了多種CAN應用層協(xié)議,常見的CAN-bus應用層協(xié)議如下:

1.png

  圖1

  接下來,,我們看一下如何構建CAN-bus應用層協(xié)議

  構建一個現(xiàn)場總線網(wǎng)絡,,需要解決的關鍵技術問題有:

  總線傳輸信息的速度、容量,、優(yōu)先等級,、節(jié)點容量等;

  高電磁干擾環(huán)境下的可靠數(shù)據(jù)傳輸,;

  最大傳輸距離時延時大小的確定,;

  網(wǎng)絡的容錯技術,;

  網(wǎng)絡的監(jiān)控和故障診斷功能,。

  要解決以上問題,需要充分考慮現(xiàn)場總線網(wǎng)絡所采用的總線類型,,因為以上問題和總線的性能特點是密切相關的,,那么我們就看一下CAN-bus總線的上述特性:

  CAN-bus網(wǎng)絡傳輸速度最高可達1Mbps,并采用無損仲裁,通過報文標識符指示報文優(yōu)先級,;

  CAN-bus采用差分信號傳輸,,并采用可靠的數(shù)據(jù)校驗和錯誤檢測機制;

  CAN-bus采用幀傳輸,,每個報文允許傳輸最多8個字節(jié),,幀結構有嚴格規(guī)定,能夠確定最大傳輸延時,;

  CAN-bus具有可靠的錯誤機制和檢測機制,,發(fā)送的信息遭到破壞后可以重新發(fā)送;節(jié)點在錯誤嚴重的情況下,,具有自動退出總線的功能,;

  可以通過制定嚴禁的CAN-bus應用層協(xié)議解決網(wǎng)絡監(jiān)控和診斷。

  CAN報文的分配

  包含報文標識符的分配和報文數(shù)據(jù)的分配,,報文格式的定義,,實質(zhì)是將CAN報文的分配規(guī)則進行詳細的描述。

  報文ID的定義:

  CAN2.0A幀:11位ID

  CAN2.0B幀,,29位ID

  報文數(shù)據(jù)的定義:每幀報文最多包含8字節(jié)數(shù)據(jù)

  CAN網(wǎng)絡數(shù)據(jù)通信的實現(xiàn)

  在CAN網(wǎng)絡中,,通過報文的標識符進行信息的區(qū)分,因此通過報文的各種標識符分配來達到建立信息鏈接的目的,。

2.png

  圖2 命令/響應模式通信

  CAN應用層協(xié)議:面向節(jié)點和面向報文的協(xié)議

  數(shù)據(jù)通信協(xié)議基本上可以劃分為“面向節(jié)點的協(xié)議”和“面向報文的協(xié)議”兩種類型,,如下圖:

3.png

  圖3:面向節(jié)點和面向報文的數(shù)據(jù)通信

  制定一個CAN應用層協(xié)議

  為了給讀者演示CAN應用層協(xié)議的開發(fā)和使用方法,下面定義一個簡單的CAN應用協(xié)議棧,該協(xié)議棧中只用到CAN標準幀中的數(shù)據(jù)幀,,幀ID中的11個位的分配和使用方法如下表所列,,協(xié)議中另外還定義了功能參數(shù)長度變量FunDataLen的功能參數(shù)數(shù)組FunData,該數(shù)組在需要時可以為某些特定功能函數(shù)提供足夠的控制參數(shù)。

4.png

  圖4


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。