欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

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

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

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

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

關(guān)閉

?

關(guān)閉

主站蜘蛛池模板: 黑龙江省| 巴彦淖尔市| 罗山县| 广汉市| 迁西县| 平和县| 澳门| 施甸县| 哈尔滨市| 萨嘎县| 永州市| 汽车| 昆山市| 元氏县| 互助| 定日县| 灵台县| 镇安县| 金塔县| 华坪县| 双流县| 新安县| 商都县| 佛冈县| 商城县| 无锡市| 托克托县| 双峰县| 金平| 聊城市| 江安县| 朔州市| 县级市| 宜阳县| 丰宁| 甘谷县| 敦化市| 阳新县| 石门县| 贵南县| 曲麻莱县|