福州江閩儀器技術有限公司

技術交流

構(gòu)建專屬于你(ni)的CAN-bus應用層協(xie)議
來源:緻遠(yuan)電子   發布時(shi)間:2025-12-12   浏覽量:60

随(suí)着CAN-bus相關芯片價(jia)格的下降,内(nèi)置CAN控制器MCU的增多(duō),CAN-bus當(dāng)前已經進入(ru)了衆多早期(qi)由于成本問(wen)題無法使用(yòng)的領域,成爲(wèi)極具生命力(lì)的現場總線(xiàn),今天我們就(jiu)來探讨如何(hé)構建專屬自(zì)己的CAN-bus應用層協(xie)議。

CAN-bus網絡上(shang),CAN報(bao)文以廣播的(de)形式發送,CAN報文(wén)不包含地址(zhi)信息,是否處(chu)理接收到的(de)CAN報(bào)文由接收點(dian)的軟件确定(dìng)。CAN-bus隻(zhi)提供可靠的(de)報文傳輸服(fu)務,CAN報文的使用(yong)由應用者定(ding)義, 所以(yǐ)CAN網(wang)絡中的節點(dian)要相互通信(xìn)就必須制定(ding)一個統一的(de)規則。CAN應用層協(xié)議就是這樣(yang)一個規則。

這個(gè)規則,定義了(le)CAN報(bào)文中幀ID及幀數(shù)據的使用方(fang)式,如将幀ID定義(yì)爲需要處理(li)該幀數據的(de)CAN節(jiē)點地址等。根(gēn)據應用場合(he)的不同,國際(ji)上出現了多(duō)種CAN應用層協議(yi),常見的CAN-bus應用層(céng)協議如下:

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

構(gòu)建一個現場(chang)總線網絡,需(xu)要解決的關(guan)鍵技術問題(ti)有:

  • 總線(xian)傳輸信息的(de)速度、容量、優(you)先等級、節點(dian)容量等;
  • 高電磁幹擾(rao)環境下的可(kě)靠數據傳輸(shū);
  • 最大傳(chuán)輸距離時延(yan)時大小的确(què)定;
  • 網絡(luo)的容錯技術(shù);
  • 網絡的(de)監控和故障(zhàng)診斷功能。

要解決以上(shang)問題,需要充(chong)分考慮現場(chǎng)總線網絡所(suǒ)采用的總線(xiàn)類型,因爲以(yǐ)上問題和總(zǒng)線的性能特(tè)點是密切相(xiàng)關的,那麽我(wo)們就看一下(xià)CAN-bus總(zong)線的上述特(tè)性:

  •  CAN-bus網絡(luo)傳輸速度最(zui)高可達1Mbps,并采用(yòng)無損仲裁,通(tong)過報文标識(shi)符指示報文(wén)優先級。
  •  CAN-bus采用差分信(xìn)号傳輸,并采(cai)用可靠的數(shu)據校驗和錯(cuo)誤檢測機制(zhì)。
  • CAN-bus采用幀傳(chuán)輸,每個報文(wen)允許傳輸最(zuì)多8個字節,幀結(jie)構有嚴格規(guī)定,能夠确定(ding)最大傳輸延(yan)時。
  •  可以通過制(zhì)定嚴禁的CAN-bus應用(yòng)層協議解決(jué)網絡監控和(hé)診斷。

包含報文标(biāo)識符的分配(pei)和報文數據(jù)的分配,報文(wén)格式的定義(yì),實質是将CAN報文(wen)的分配規則(zé)進行詳細的(de)描述。

報(bao)文ID的定義:

CAN2.0A幀:11ID

CAN2.0B幀(zhen):29位(wèi)ID

報文數據(ju)的定義:

每幀報(bào)文最多包含(han)8字(zi)節數據

CAN網絡中(zhōng),通過報文的(de)标識符進行(hang)信息的區分(fèn),因此通過報(bao)文的各種标(biao)識符分配來(lai)達到建立信(xin)息鏈接的目(mu)的。

                                       命(ming)令/響應模式通(tōng)信

數據通(tong)信協議基本(běn)上可以劃分(fèn)爲“面向節點(dian)的協議”和“面(miàn)向報文的協(xié)議”兩種類型(xíng),如下圖:

制定一個CAN應(yīng)用層協議

爲了(le)給讀者演示(shì)CAN應(yīng)用層協議的(de)開發和使用(yong)方法,下面定(ding)義一個簡單(dan)的CAN應用協議棧(zhan),該協議棧中(zhong)隻用到CAN标準幀(zhēn)中的數據幀(zhen),幀ID中的11個位的分(fen)配和使用方(fang)法如下表所(suo)列,協議中另(lìng)外還定義了(le)功能參數長(zhǎng)度變量FunDataLen的功能(neng)參數數組FunData,該數(shù)組在需要時(shí)可以爲某些(xie)特定功能函(han)數提供足夠(gou)的控制參數(shù)。

聯系(xì)我們站點(diǎn)地圖友情(qíng)鏈接工作(zuò)機會
聯系地(dì)址:福州市八(ba)一七中路茶(chá)亭國際 郵編(bian):350004 電話:0591- 83275886
Copyright © 2011-2012 All Right Reserved 京ICP證000000号(hao)

总 公 司(sī)急 速 版WAP 站H5 版(ban)无线端AI 智能(néng)3G 站4G 站5G 站6G 站
· ·