大香伊蕉在人线国产av老女人-午夜欧美理论2019理论-国模无码视频一区二区三区-18成人片黄网站www

你的位置:首頁 > RF/微波 > 正文

如何構(gòu)建專屬自己的CAN-bus應(yīng)用層協(xié)議

發(fā)布時間:2017-05-09 責(zé)任編輯:susan

【導(dǎo)讀】隨著CAN-bus相關(guān)芯片價格的下降,內(nèi)置CAN控制器MCU的增多,CAN-bus當(dāng)前已經(jīng)進(jìn)入了眾多早期由于成本問題無法使用的領(lǐng)域,成為極具生命力的現(xiàn)場總線,今天我們就來探討如何構(gòu)建專屬自己的CAN-bus應(yīng)用層協(xié)議。
 
在CAN-bus網(wǎng)絡(luò)上,CAN報文以廣播的形式發(fā)送,CAN報文不包含地址信息,是否處理接收到的CAN報文由接收點(diǎn)的軟件確定。CAN-bus只提供可靠的報文傳輸服務(wù),CAN報文的使用由應(yīng)用者定義, 所以CAN網(wǎng)絡(luò)中的節(jié)點(diǎn)要相互通信就必須制定一個統(tǒng)一的規(guī)則。CAN應(yīng)用層協(xié)議就是這樣一個規(guī)則。
 
這個規(guī)則,定義了CAN報文中幀ID及幀數(shù)據(jù)的使用方式,如將幀ID定義為需要處理該幀數(shù)據(jù)的CAN節(jié)點(diǎn)地址等。根據(jù)應(yīng)用場合的不同,國際上出現(xiàn)了多種CAN應(yīng)用層協(xié)議,常見的CAN-bus應(yīng)用層協(xié)議如下:
 
圖1
 
接下來,我們看一下如何構(gòu)建CAN-bus應(yīng)用層協(xié)議
 
l構(gòu)建一個現(xiàn)場總線網(wǎng)絡(luò),需要解決的關(guān)鍵技術(shù)問題有:
 
l總線傳輸信息的速度、容量、優(yōu)先等級、節(jié)點(diǎn)容量等;
 
l高電磁干擾環(huán)境下的可靠數(shù)據(jù)傳輸;
 
l最大傳輸距離時延時大小的確定;
 
l網(wǎng)絡(luò)的容錯技術(shù);
 
l網(wǎng)絡(luò)的監(jiān)控和故障診斷功能。
 
要解決以上問題,需要充分考慮現(xiàn)場總線網(wǎng)絡(luò)所采用的總線類型,因?yàn)橐陨蠁栴}和總線的性能特點(diǎn)是密切相關(guān)的,那么我們就看一下CAN-bus總線的上述特性:
 
lCAN-bus網(wǎng)絡(luò)傳輸速度最高可達(dá)1Mbps,并采用無損仲裁,通過報文標(biāo)識符指示報文優(yōu)先級;
 
lCAN-bus采用差分信號傳輸,并采用可靠的數(shù)據(jù)校驗(yàn)和錯誤檢測機(jī)制;
 
lCAN-bus采用幀傳輸,每個報文允許傳輸最多8個字節(jié),幀結(jié)構(gòu)有嚴(yán)格規(guī)定,能夠確定最大傳輸延時;
 
lCAN-bus具有可靠的錯誤機(jī)制和檢測機(jī)制,發(fā)送的信息遭到破壞后可以重新發(fā)送;節(jié)點(diǎn)在錯誤嚴(yán)重的情況下,具有自動退出總線的功能;
 
l可以通過制定嚴(yán)禁的CAN-bus應(yīng)用層協(xié)議解決網(wǎng)絡(luò)監(jiān)控和診斷。
 
CAN報文的分配
 
包含報文標(biāo)識符的分配和報文數(shù)據(jù)的分配,報文格式的定義,實(shí)質(zhì)是將CAN報文的分配規(guī)則進(jìn)行詳細(xì)的描述。
 
報文ID的定義:
 
CAN2.0A幀:11位ID
 
CAN2.0B幀,29位ID
 
報文數(shù)據(jù)的定義:每幀報文最多包含8字節(jié)數(shù)據(jù)
 
CAN網(wǎng)絡(luò)數(shù)據(jù)通信的實(shí)現(xiàn)
 
在CAN網(wǎng)絡(luò)中,通過報文的標(biāo)識符進(jìn)行信息的區(qū)分,因此通過報文的各種標(biāo)識符分配來達(dá)到建立信息鏈接的目的。
 
圖2.命令/響應(yīng)模式通信
 
CAN應(yīng)用層協(xié)議:面向節(jié)點(diǎn)和面向報文的協(xié)議
 
數(shù)據(jù)通信協(xié)議基本上可以劃分為“面向節(jié)點(diǎn)的協(xié)議”和“面向報文的協(xié)議”兩種類型,如下圖:
 
圖3.面向節(jié)點(diǎn)和面向報文的數(shù)據(jù)通信
 
制定一個CAN應(yīng)用層協(xié)議
 
為了給讀者演示CAN應(yīng)用層協(xié)議的開發(fā)和使用方法,下面定義一個簡單的CAN應(yīng)用協(xié)議棧,該協(xié)議棧中只用到CAN標(biāo)準(zhǔn)幀中的數(shù)據(jù)幀,幀ID中的11個位的分配和使用方法如下表所列,協(xié)議中另外還定義了功能參數(shù)長度變量FunDataLen的功能參數(shù)數(shù)組FunData,該數(shù)組在需要時可以為某些特定功能函數(shù)提供足夠的控制參數(shù)。
 
圖4
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚(yáng)聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達(dá) 整流變壓器 整流二極管 整流濾波 直流電機(jī) 智能抄表
?

關(guān)閉

?

關(guān)閉