随(sui)着CAN-busCANMCU的增多(duo),CAN-bus當(dāng)前已經進入(rù)了衆多早期(qi)由于成本問(wen)題無法使用(yong)的領域,成爲(wei)極具生命力(li)的現場總線(xian),今天我們就(jiù)來探讨如何(he)構建專屬自(zi)己的CAN-bus應用層協(xie)議。
在CAN-busCANCAN報文(wen)不包含地址(zhǐ)信息,是否處(chù)理接收到的(de)CAN報(bao)文由接收點(dian)的軟件确定(ding)。CAN-bus隻(zhī)提供可靠的(de)報文傳輸服(fú)務,CAN報文的使用(yòng)由應用者定(dìng)義, 所以(yǐ)CAN網(wang)絡中的節點(dian)要相互通信(xìn)就必須制定(ding)一個統一的(de)規則。CAN應用層協(xie)議就是這樣(yàng)一個規則。
這個(ge)規則,定義了(le)CAN報(bao)文中幀ID及幀數(shù)據的使用方(fāng)式,如将幀ID定義(yì)爲需要處理(li)該幀數據的(de)CAN節(jie)點地址等。根(gen)據應用場合(he)的不同,國際(ji)上出現了多(duō)種CAN應用層協議(yi),常見的CAN-bus應用層(céng)協議如下:

接下來,我們(men)看一下如何(he)構建CAN-bus應用層(ceng)協議
構(gòu)建一個現場(chang)總線網絡,需(xu)要解決的關(guan)鍵技術問題(ti)有:
-
總線(xiàn)傳輸信息的(de)速度、容量、優(you)先等級、節點(dian)容量等;
-
高電磁幹擾(rao)環境下的可(ke)靠數據傳輸(shū);
-
網絡(luò)的容錯技術(shù);
-
要解決以上(shàng)問題,需要充(chōng)分考慮現場(chǎng)總線網絡所(suo)采用的總線(xian)類型,因爲以(yǐ)上問題和總(zong)線的性能特(tè)點是密切相(xiàng)關的,那麽我(wo)們就看一下(xia)CAN-bus總(zǒng)線的上述特(te)性:
-
CAN-bus網絡(luò)傳輸速度最(zui)高可達1Mbps,
-
CAN-bus采用差分信(xin)号傳輸,并采(cai)用可靠的數(shu)據校驗和錯(cuo)誤檢測機制(zhì)。
CAN報文的分(fèn)配
包含報文标(biāo)識符的分配(pei)和報文數據(ju)的分配,報文(wen)格式的定義(yì),實質是将CAN報文(wén)的分配規則(zé)進行詳細的(de)描述。
報(bào)文ID的定義:
CAN2.0A幀:位ID
報文數據(jù)的定義:
8字(zi)節數據
CAN網絡數(shù)據通信的實(shí)現
在CAN網絡中(zhong),通過報文的(de)标識符進行(hang)信息的區分(fèn),因此通過報(bào)文的各種标(biao)識符分配來(lai)達到建立信(xìn)息鏈接的目(mu)的。

CAN應用(yòng)層協議:面向(xiang)節點和面向(xiang)報文的協議(yì)
數據通(tōng)信協議基本(ben)上可以劃分(fen)爲“面向節點(diǎn)的協議”和“面(mian)向報文的協(xié)議”兩種類型(xíng),如下圖:

面(miàn)向節點和面(miàn)向報文的數(shu)據通信
制定一個CAN

今天(tian)的交流先到(dao)這裏,如想了(le)解更多,可關(guan)注緻遠電子(zi)官網微信,或(huò)參考緻遠電(diàn)子國際現場總(zong)線教學科研(yan)平台,幫您了(le)解更多CAN-bus應用層(céng)協議構建知(zhī)識。


