0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

AGk5_ZLG_zhiyua ? 來源:工程師曾玲 ? 2019-02-02 16:30 ? 次閱讀

MCU沒有CAN或CAN接口數(shù)量不夠怎么辦?目前市面上有串口轉(zhuǎn)CAN的相關(guān)模塊或設(shè)備,但大家知道串口轉(zhuǎn)CAN是如何實(shí)現(xiàn)的嗎?轉(zhuǎn)換后的幀格式是如何的?本文將為大家詳細(xì)介紹串口經(jīng)過轉(zhuǎn)換后的CAN幀格式與注意事項(xiàng)。

適用場景

串口轉(zhuǎn)CAN模塊在什么時(shí)候需要用到呢?一是老產(chǎn)品面臨升級,需要用到CAN總線通信,但硬件平臺中的MCU沒有集成CAN總線的控制器。二是選用的MCU已經(jīng)包含CAN總線接口,但數(shù)量上不能滿足項(xiàng)目需求。若出現(xiàn)類似以上兩種情況且MCU有閑置串口,則可以選用串口轉(zhuǎn)CAN模塊解決。

圖1 應(yīng)用行業(yè)

使用方法

該類模塊可以很方便地嵌入到具有UART接口的設(shè)備中,在不需改變原有硬件結(jié)構(gòu)的前提下使設(shè)備獲得CAN-bus通訊接口,實(shí)現(xiàn)具有UART設(shè)備和CAN-bus網(wǎng)絡(luò)之間的數(shù)據(jù)通訊。工業(yè)級的轉(zhuǎn)換模塊內(nèi)部還包括實(shí)現(xiàn)帶隔離的CAN和UART轉(zhuǎn)換所必須的模擬和數(shù)字器件、光電耦合器、DC/DC變換器、CAN-bus接口等。

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

圖2 產(chǎn)品架構(gòu)

轉(zhuǎn)換說明

CSM100系列模塊提供3種協(xié)議轉(zhuǎn)換方式:透明轉(zhuǎn)換、透明帶標(biāo)示轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換。下面以CSM100系列的模塊簡述模塊的透明轉(zhuǎn)換格式。

該模式下,CSM100接收到一側(cè)總線的數(shù)據(jù)就立即轉(zhuǎn)換發(fā)送至另一總線側(cè)。該模式下的模塊數(shù)據(jù)轉(zhuǎn)換效率最高,能承擔(dān)較大流量的數(shù)據(jù)傳輸。串行幀轉(zhuǎn)CAN幀時(shí),模塊將來自串口的數(shù)據(jù)直接打包,并插入預(yù)先配置的CAN幀信息、幀ID一同作為一幀數(shù)據(jù)發(fā)送到總線上。同理,來自CAN總線上的數(shù)據(jù)將按順序拆分為字節(jié)流發(fā)送到串口上,字節(jié)流的前幾個(gè)字節(jié)為該CAN幀的信息。

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

圖3 轉(zhuǎn)換方式

說到這,大家肯定有個(gè)疑惑,CAN幀的信息及CAN幀ID是如何表示的呢?

幀信息主要用來區(qū)分標(biāo)準(zhǔn)幀、擴(kuò)展幀,長度為1個(gè)字節(jié)。在“自定義協(xié)議轉(zhuǎn)換”中,標(biāo)準(zhǔn)幀固定為 0x00, 擴(kuò)展幀固定為 0x80; 在“透明轉(zhuǎn)換”“透明帶標(biāo)識轉(zhuǎn)換” 中, 標(biāo)準(zhǔn)幀為 0x0_,擴(kuò)展幀為 0x8_,其中“_” 代表每個(gè)幀中的數(shù)據(jù)域長度, 范圍為 0~8。

標(biāo)準(zhǔn)幀的幀ID拆分為2個(gè)字節(jié)表示,擴(kuò)展幀的幀ID拆分為4個(gè)字節(jié)表示。如果實(shí)際配置時(shí)給幀ID預(yù)留的只有一個(gè)字節(jié)且?guī)愋蜑閿U(kuò)展幀,方向是CAN幀轉(zhuǎn)串行幀,那么將只能得到幀ID的高8位。如果實(shí)際配置時(shí)給幀ID預(yù)留的只有一個(gè)字節(jié)且?guī)愋蜑閿U(kuò)展幀,方向是串行幀轉(zhuǎn)CAN幀,那么將幀ID的高8位正常填充,其他三字節(jié)全補(bǔ)零。

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

圖4 幀ID轉(zhuǎn)換說明

假設(shè)配置的轉(zhuǎn)換成的CAN報(bào)文幀信息為“標(biāo)準(zhǔn)幀”,配置的幀ID1,ID0分別為“0x01,0x23”,串行幀的數(shù)據(jù)為01,02,03,04,05,06,07,08共8個(gè)字節(jié),那么轉(zhuǎn)換格式如圖5。CAN報(bào)文的幀ID為0x0123(用戶配置),幀信息:標(biāo)準(zhǔn)幀(用戶配置),串行幀中的數(shù)據(jù)部分將不作任何修改地轉(zhuǎn)換到CAN報(bào)文中。

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

圖5 串行幀到CAN幀

假設(shè)CAN報(bào)文中幀ID1為0x01,幀ID0為 0x23,數(shù)據(jù)為0x12,0x34,0x56,0x78,0xab,0xcd,0xef,0xff,則CAN報(bào)文和轉(zhuǎn)換后的串行幀如圖6。CAN報(bào)文的幀信息(0x08)轉(zhuǎn)換到串行幀中的第1個(gè)字節(jié)(0x08),CAN報(bào)文中的ID:0x0123依次轉(zhuǎn)換到串行幀中的第2個(gè)字節(jié)(0x01)及第3個(gè)字節(jié)(0x23)。CAN報(bào)文的數(shù)據(jù)域?qū)⒉蛔魅魏涡薷牡剞D(zhuǎn)換到串行幀中的數(shù)據(jù)部分。

串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解

圖6 CAN幀到串行幀

總結(jié)

以上為串口轉(zhuǎn)CAN透明格式下的轉(zhuǎn)換方式,后續(xù)筆者將新增透明帶標(biāo)示轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換以及moudbus轉(zhuǎn)換的內(nèi)容,歡迎持續(xù)關(guān)注。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2694

    瀏覽量

    463142
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1540

    瀏覽量

    76059

原文標(biāo)題:串口數(shù)據(jù)轉(zhuǎn)換為CAN數(shù)據(jù)之后是怎樣的?

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    淺談CAN FD總線協(xié)議格式

    假期更新了一文搞懂CAN總線協(xié)議格式,CAN FD總線協(xié)議怎能錯(cuò)過?本篇博文將講解CAN FD總線協(xié)議
    發(fā)表于 10-14 12:49 ?3352次閱讀
    淺談<b class='flag-5'>CAN</b> FD總線協(xié)議<b class='flag-5'>幀</b><b class='flag-5'>格式</b>

    串口經(jīng)過轉(zhuǎn)換后的CAN格式與注意事項(xiàng)介紹

    MCU沒有CANCAN接口數(shù)量不夠怎么辦?目前市面上有串口轉(zhuǎn)CAN的相關(guān)模塊或設(shè)備,但大家知道串口
    發(fā)表于 07-12 08:04

    串口經(jīng)過轉(zhuǎn)換后的CAN格式與注意事項(xiàng)

    MCU沒有CANCAN接口數(shù)量不夠怎么辦?目前市面上有串口轉(zhuǎn)CAN的相關(guān)模塊或設(shè)備,但大家知道串口
    發(fā)表于 01-26 07:40

    CAN總線過載數(shù)據(jù)詳解

    CAN:Controller Area Network,控制器局域網(wǎng)是一種能有效支持分布式控制和實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。本文首先介紹了CAN總線系統(tǒng)結(jié)構(gòu)及數(shù)據(jù)傳輸,其次詳細(xì)的闡述了CAN
    的頭像 發(fā)表于 05-07 10:59 ?2.1w次閱讀
    <b class='flag-5'>CAN</b>總線過載<b class='flag-5'>幀</b>及<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>幀</b><b class='flag-5'>詳解</b>

    串口數(shù)據(jù)與固定ID的CAN數(shù)據(jù)轉(zhuǎn)換

    GCAN-201串口轉(zhuǎn)CAN設(shè)備可以將串口數(shù)據(jù)CAN總線數(shù)
    的頭像 發(fā)表于 02-05 10:36 ?4385次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>數(shù)據(jù)</b>與固定ID的<b class='flag-5'>CAN</b><b class='flag-5'>數(shù)據(jù)</b>轉(zhuǎn)換

    串口經(jīng)過轉(zhuǎn)換后的CAN格式與注意事項(xiàng)介紹

    串口轉(zhuǎn)CAN模塊在什么時(shí)候需要用到呢?一是老產(chǎn)品面臨升級,需要用到CAN總線通信,但硬件平臺中的MCU沒有集成CAN總線的控制器。二是選用的
    發(fā)表于 03-28 14:10 ?1145次閱讀

    淺談CAN錯(cuò)誤格式

    數(shù)據(jù)和遙控有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種格式。標(biāo)準(zhǔn)格式
    發(fā)表于 09-29 12:31 ?981次閱讀

    詳解CAN總線通信優(yōu)先級機(jī)制

    詳解CAN總線:CAN總線報(bào)文格式數(shù)據(jù)文章中,講解到仲裁段。仲裁段用于寫明需要發(fā)送到目的
    發(fā)表于 10-25 14:00 ?2395次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>CAN</b>總線通信優(yōu)先級機(jī)制

    CAN協(xié)議數(shù)據(jù)的介紹

    通過 CAN 總線傳輸數(shù)據(jù)是需要按照一定協(xié)議進(jìn)行的,CAN 協(xié)議提供了 5種格式來傳輸數(shù)據(jù)
    的頭像 發(fā)表于 07-25 10:36 ?1w次閱讀
    <b class='flag-5'>CAN</b>協(xié)議<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>幀</b>的介紹

    使用CAN轉(zhuǎn)串口網(wǎng)關(guān)什么時(shí)候選格式轉(zhuǎn)化?

    在使用CAN轉(zhuǎn)串口網(wǎng)關(guān)時(shí),選擇格式轉(zhuǎn)化還是透明轉(zhuǎn)化取決于你的需求和應(yīng)用場景。
    的頭像 發(fā)表于 10-30 11:13 ?412次閱讀

    can數(shù)據(jù)的標(biāo)準(zhǔn)格式

    消息的標(biāo)識和傳輸數(shù)據(jù)CAN數(shù)據(jù)的標(biāo)準(zhǔn)格式如下: 起始位(Start of Frame, SOF):一個(gè)低電平信號,表示
    的頭像 發(fā)表于 12-01 16:41 ?4196次閱讀

    CAN通信中格式的作用

    汽車系統(tǒng),特別是在控制器區(qū)域網(wǎng)絡(luò)(CAN)通信中,不同的格式在促進(jìn)可靠和高效的數(shù)據(jù)傳輸方面發(fā)揮著獨(dú)特的作用。
    的頭像 發(fā)表于 01-09 11:07 ?548次閱讀

    串口通訊時(shí)的數(shù)據(jù)格式和通訊協(xié)議有什么區(qū)別?

    串口通訊時(shí)的數(shù)據(jù)格式和通訊協(xié)議是兩個(gè)不同的概念,它們在串口通訊中起著不同的作用,但都是為了實(shí)現(xiàn)可靠的、有效的
    的頭像 發(fā)表于 01-30 09:21 ?1797次閱讀

    請問用CAN存儲器存儲的CAN總線數(shù)據(jù)格式有哪些呢?

    請問用CAN存儲器存儲的CAN總線數(shù)據(jù)格式有哪些呢? CAN總線是一種常用于汽車、工業(yè)控制和其
    的頭像 發(fā)表于 01-31 13:46 ?1161次閱讀

    can數(shù)據(jù)有哪幾個(gè)域組成

    CAN總線上傳輸數(shù)據(jù)格式。一個(gè)典型的CAN數(shù)據(jù)由多個(gè)域組成,包括
    的頭像 發(fā)表于 07-24 15:14 ?704次閱讀