透明帶標(biāo)識轉(zhuǎn)換是透明轉(zhuǎn)換的特殊用法,在串行幀中帶CAN報文的ID信息,可以根據(jù)需要發(fā)送不同ID的CAN報文。有利于用戶通過模塊更方便的組建自己的網(wǎng)絡(luò),使用自定的應(yīng)用協(xié)議。該方式把串行幀中的ID信息自動轉(zhuǎn)換成CAN總線的幀ID。只要在配置中告訴模塊該ID信息在串行幀的起始位置和長度,模塊在轉(zhuǎn)換時提取出這個幀ID填充在CAN報文的幀ID域里,作為該串行幀的轉(zhuǎn)發(fā)時的CAN報文的ID。在CAN報文轉(zhuǎn)換成串行幀的時候也把CAN報文的ID轉(zhuǎn)換在串行幀的相應(yīng)位置。
串行幀中所帶有的CAN報文的“幀ID”在串行幀中的起始地址和長度可由配置設(shè)定。起始地址的范圍是0~7,長度范圍分別是1~2(標(biāo)準(zhǔn)幀)或1~4(擴(kuò)展幀)。轉(zhuǎn)換時根據(jù)事先的配置將串行幀中的CAN報文“幀ID”對應(yīng)全部轉(zhuǎn)換到CAN報文的幀ID域中(如果所帶幀ID個數(shù)少于CAN報文的幀ID數(shù),那么在CAN報文中幀ID的高字節(jié)補(bǔ)0。),其它的數(shù)據(jù)依序轉(zhuǎn)換,如果一幀CAN報文未將串行幀數(shù)據(jù)轉(zhuǎn)換完,則仍然用相同的ID作為CAN報文的幀ID繼續(xù)轉(zhuǎn)換直到將串行幀轉(zhuǎn)換完成。
注意:如果將ID長度大于2,設(shè)備發(fā)送的幀類別會設(shè)置為擴(kuò)展幀。此時用戶配置的幀ID和幀類別無效,由串行幀里邊的數(shù)據(jù)決定。標(biāo)準(zhǔn)幀的幀ID范圍為:0x000-0x7FF,分別表示為幀ID1、幀ID0,其中幀ID1為高字節(jié),擴(kuò)展幀的幀ID范圍為:0x00000000-0x1FFFFFFF,分別表示為幀ID3、幀ID2、幀ID1、幀ID0,其中幀ID3為高字節(jié)。
串行幀轉(zhuǎn)換成CAN報文(透傳帶標(biāo)識)
該示例配置的CAN配置參數(shù)。
轉(zhuǎn)換模式:透明帶標(biāo)識轉(zhuǎn)換,起始地址2,長度3。
幀類型:擴(kuò)展幀,
幀ID:無需配置,
轉(zhuǎn)換方向:雙向。
上位機(jī)配置界面如下:
則轉(zhuǎn)換前后數(shù)據(jù)示意圖如下:
串口調(diào)試助手發(fā)送串行幀:01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10,則在CAN調(diào)試器上接收到轉(zhuǎn)換出來的CAN幀:幀ID為0x00030405,第一幀數(shù)據(jù)域?yàn)椋?/span>01 02 06 07 08 09 0A 0B,第二幀數(shù)據(jù)域?yàn)椋?/span>0C 0D 0E 0F 10,從這里可以看出,設(shè)備已經(jīng)將串行幀中第二位開始,后面三位03 04 05作為幀ID提取出來,剩下數(shù)據(jù)作為CAN幀數(shù)據(jù)域重新組包。
對于CAN報文轉(zhuǎn)發(fā),收到一幀就立即轉(zhuǎn)發(fā)一幀,每次轉(zhuǎn)發(fā)的時候也是根據(jù)事先配置的CAN幀ID在串行幀中的位置和長度把接收到的CAN報文中的ID作相應(yīng)的轉(zhuǎn)換。其它數(shù)據(jù)依序轉(zhuǎn)發(fā)。值得注意的是,無論是串行幀還是CAN報文在應(yīng)用的時候,其幀格式(標(biāo)準(zhǔn)幀還是擴(kuò)展幀)應(yīng)該符合事先配置的幀格式要求,否則可能致使通訊不成功。
CAN報文轉(zhuǎn)換成串行幀
該示例配置的CAN配置參數(shù)。
轉(zhuǎn)換模式:透明帶標(biāo)識轉(zhuǎn)換,起始地址2,長度3。
幀類型:擴(kuò)展幀;
幀類型:數(shù)據(jù)幀;
轉(zhuǎn)換方向:雙向。
CAN轉(zhuǎn)RS485設(shè)備上位機(jī)配置界面如下:
發(fā)送標(biāo)識符:0x00000123,則轉(zhuǎn)換前后數(shù)據(jù)如下。
CAN 報文轉(zhuǎn)串行幀示例(透明帶信息轉(zhuǎn)換)
從ECAN-U01(CAN調(diào)試器)發(fā)送數(shù)據(jù):幀ID:0x00000123,數(shù)據(jù)域:99 88 77 66 55 44 33 22,串口調(diào)試助手收到串行幀:99 88 00 01 23 77 66 55 44 33 22,從這里可以看出,CAN幀在轉(zhuǎn)換成串行幀時,按照我們的設(shè)定的規(guī)則來填充數(shù)據(jù),將CAN幀ID填進(jìn)數(shù)據(jù)域第二位開始的后三位。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務(wù)器、無線遙控開關(guān)、無線通信模塊、無線數(shù)傳電臺、lora模塊、WiFi無線模塊等產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3