91伊人国产-91伊人久久-91伊人影院-91影视永久福利免费观看-免费毛片儿-免费女人18毛片a级毛片视频

歡迎進入儀商網!

如何構建專屬自己的CAN-bus應用層協議

隨著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應用層協議。構建一個現場總線網絡,需要解決的關鍵技術問題有:

?總線傳輸信息的速度、容量、優先等級、節點容量等;

?高電磁干擾環境下的可靠數據傳輸;

?最大傳輸距離時延時大小的確定;

?網絡的容錯技術;

?網絡的監控和故障診斷功能。

要解決以上問題,需要充分考慮現場總線網絡所采用的總線類型,因為以上問題和總線的性能特點是密切相關的,那么我們就來看一下CAN-bus總線的上述特性:

?CAN-bus網絡傳輸速度最高可達1Mbps,并采用無損仲裁,通過報文標識符指示報文優先級;

?CAN-bus采用差分信號傳輸,并采用可靠的數據校驗和錯誤檢測機制;

?CAN-bus采用幀傳輸,每個報文允許傳輸最多8個字節,幀結構有嚴格規定,能夠確定最大傳輸延時;

?CAN-bus具有可靠的錯誤機制和檢測機制,發送的信息遭到破壞后可以重新發送;節點在錯誤嚴重的情況下,具有自動退出總線的功能;

?可以通過制定嚴禁的CAN-bus應用層協議解決網絡監控和診斷。

CAN報文的分配

CAN報文的分配包含報文標識符的分配和報文數據的分配,報文格式的定義,實質是將CAN報文的分配規則進行詳細的描述。

報文ID的定義:

CAN2.0A幀:11ID

CAN2.0B:29ID

報文數據的定義:每幀報文最多包含8字節數據

CAN網絡數據通信的實現

CAN網絡中,通過報文的標識符進行信息的區分,因此通過報文的各種標識符分配來達到建立信息鏈接的目的。


2 命令/響應模式通信

CAN應用層協議:面向節點和面向報文的協議

數據通信協議基本上可以劃分為“面向節點的協議”和“面向報文的協議”兩種類型,如下圖:


3:面向節點和面向報文的數據通信

制定一個CAN應用層協議

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


4

聲明: 聲明:凡本網注明"來源:儀商網"的所有作品,版權均屬于儀商網,未經本網授權不得轉載、摘編使用。
經本網授權使用,并注明"來源:儀商網"。違反上述聲明者,本網將追究其相關法律責任。
本網轉載并注明自其它來源的作品,歸原版權所有人所有。目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。如有作品的內容、版權以及其它問題的,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
本網轉載自其它媒體或授權刊載,如有作品內容、版權以及其它問題的,請聯系我們。相關合作、投稿、轉載授權等事宜,請聯系本網。
QQ:2268148259、3050252122。