ECAN-101是億佰特研發(fā)生產的小型CAN總線與RS485串口一對一數據轉換的CAN轉設備,具有體積小巧、方便安裝等特點。前文詳細的介紹了CAN轉RS485數據ECAN-101智能協議轉換設備AT指令集、CAN轉設備五大數據轉換模式說明、CAN轉RS485串口智能協議轉換器ECAN-101入門配置教程等詳解,本文小編會介紹該CAN轉設備自定義協議轉換模式下,CAN報文與串行幀之間的數據轉換傳輸。
CAN轉RS485協議轉換設備中自定義協議轉換模式,必須是完整的符合自定義協議規(guī)定的串行幀格式,要包含用戶所配置模式下的串行幀所有內容,除數據域外若其他字節(jié)內容若有誤此幀將不能成功發(fā)送。串行幀包含的內容:幀頭、幀長度、幀信息、幀ID、數據域、幀尾。
注意:此模式下用戶配置的幀ID和幀類別無效,將根據串行幀里邊的格式進行數據轉發(fā)。
串行幀格式必須符合規(guī)定的幀格式,由于CAN幀格式是基于報文的,串行幀格式是基于字節(jié)傳輸的。因此為了讓用戶方便使用CAN-bus,將串行幀格式向CAN幀格式靠攏,在串行幀中規(guī)定了一幀的起始及結束,即AT命令中的“幀頭”和“幀尾”,用戶可自行配置。幀長度指的是從幀信息開始到最后一個數據結束的長度,不包括串行幀尾。幀信息分為擴展幀和標準幀,標準幀固定表示為0x00,擴展幀固定表示為0x80,與透明轉換和透明帶標識轉換不同,自定義協議轉換中,無論每幀數據域包含的數據長度為多少,其幀信息內容都固定不變。當幀類型為標準幀(0x00)時,幀類型后兩個字節(jié)表示幀ID,其中高位在前;當幀信息為擴展幀(0x80)時,幀類型后4個字節(jié)表示幀ID,其中高位在前。
注意:自定義協議轉換中,無論每幀數據域包含的數據長度為多少,其幀信息內容都固定不變。固定為標準幀(0x00)或者擴展幀(0x80)。幀ID需要符合ID范圍,否則ID可能出錯。
CAN總線報文收到一幀即轉發(fā)一幀,模塊會將CAN報文數據域中的數據依次轉換,同時會向串行幀添加幀頭、幀長度、幀信息等數據,實際為串行幀轉CAN報文的逆向形式。
CAN報文轉換成串行幀
該示例配置的CAN配置參數。
轉換模式:自定義協議,幀頭AA,幀尾:FF;
轉換方向:雙向傳輸。
幀ID:無需配置,
幀類別:無需配置,
則CAN轉設備數據轉換前后數據如下:
因為已經設置了幀頭為AA,幀尾為FF,要發(fā)送數據域為11 22 33 44,幀ID為0x123的標準幀數據,串口調試助手這邊就按照協議發(fā)送:AA 07 00 01 23 11 22 33 44 FF,設備CAN端轉換成來的數據在下方CAN調試器(ECAN-U01)上顯示的就是數據域11 22 33 44,幀ID為0x123的標準幀。同理CAN幀轉串行幀同樣按照這個邏輯封裝。
相關文章推薦:
什么是控制器局域網CAN,can總線有哪些優(yōu)勢及特點?
【教程】Ebyte CAN分析軟件—ECAN Tools工具
CAN轉RS485數據ECAN-101智能協議轉換設備AT指令集
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯化、智能化、自動化的發(fā)展,提升資源利用率,更多CAN模組、CAN DTU協議轉換設備等產品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術專員!