如何構建專屬自己的CAN-bus應用層協議
發布時間:2017-05-09 責任編輯:susan
【導讀】隨著CAN-bus相關芯片價格的下降,內置CAN控製器MCU的增多,CAN-bus當前已經進入了眾多早期由於成本問題無法使用的領域,成為極具生命力的現場總線,今天我們就來探討如何構建專屬自己的CAN-bus應用層協議。
在CAN-bus網絡上,CAN報文以廣播的形式發送,CAN報文不包含地址信息,是否處理接收到的CAN報文由接收點的軟件確定。CAN-bus隻提供可靠的報文傳輸服務,CAN報文的使用由應用者定義, 所以CAN網絡中的節點要相互通信就必須製定一個統一的規則。CAN應用層協議就是這樣一個規則。
這個規則,定義了CAN報文中幀ID及幀數據的使用方式,如將幀ID定義為需要處理該幀數據的CAN節點地址等。根據應用場合的不同,國際上出現了多種CAN應用層協議,常見的CAN-bus應用層協議如下:

圖1
接下來,我們看一下如何構建CAN-bus應用層協議
l構建一個現場總線網絡,需要解決的關鍵技術問題有:
l總線傳輸信息的速度、容量、優先等級、節點容量等;
l高電磁幹擾環境下的可靠數據傳輸;
l最大傳輸距離時延時大小的確定;
l網絡的容錯技術;
l網絡的監控和故障診斷功能。
要解決以上問題,需要充分考慮現場總線網絡所采用的總線類型,因為以上問題和總線的性能特點是密切相關的,那麼我們就看一下CAN-bus總線的上述特性:
lCAN-bus網絡傳輸速度最高可達1Mbps,並采用無損仲裁,通過報文標識符指示報文優先級;
lCAN-bus采用差分信號傳輸,並采用可靠的數據校驗和錯誤檢測機製;
lCAN-bus采用幀傳輸,每個報文允許傳輸最多8個字節,幀結構有嚴格規定,能夠確定最大傳輸延時;
lCAN-bus具有可靠的錯誤機製和檢測機製,發送的信息遭到破壞後可以重新發送;節點在錯誤嚴重的情況下,具有自動退出總線的功能;
l可以通過製定嚴禁的CAN-bus應用層協議解決網絡監控和診斷。
CAN報文的分配
包含報文標識符的分配和報文數據的分配,報文格式的定義,實質是將CAN報文的分配規則進行詳細的描述。
報文ID的定義:
CAN2.0A幀:11位ID
CAN2.0B幀,29位ID
報文數據的定義:每幀報文最多包含8字節數據
CAN網絡數據通信的實現
在CAN網絡中,通過報文的標識符進行信息的區分,因此通過報文的各種標識符分配來達到建立信息鏈接的目的。

圖2.命令/響應模式通信
CAN應用層協議:麵向節點和麵向報文的協議
數據通信協議基本上可以劃分為“麵向節點的協議”和“麵向報文的協議”兩種類型,如下圖:

圖3.麵向節點和麵向報文的數據通信
製定一個CAN應用層協議
為了給讀者演示CAN應用層協議的開發和使用方法,下麵定義一個簡單的CAN應用協議棧,該協議棧中隻用到CAN標準幀中的數據幀,幀ID中的11個位的分配和使用方法如下表所列,協議中另外還定義了功能參數長度變量FunDataLen的功能參數數組FunData,該數組在需要時可以為某些特定功能函數提供足夠的控製參數。

圖4
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
按鈕開關
白色家電
保護器件
保險絲管
北鬥定位
北高智
貝能科技
背板連接器
背光器件
編碼器型號
便攜產品
便攜醫療
變容二極管
變壓器
檳城電子
並網
撥動開關
玻璃釉電容
剝線機
薄膜電容
薄膜電阻
薄膜開關
捕魚器
步進電機
測力傳感器
測試測量
測試設備
拆解
場效應管
超霸科技



