MCU沒有CAN或CAN接口數(shù)量不夠怎么辦?目前市面上有串口轉(zhuǎn)CAN的相關模塊或設備,但大家知道串口轉(zhuǎn)CAN是如何實現(xiàn)的嗎?轉(zhuǎn)換后的幀格式是如何的?本文將為大家詳細介紹串口經(jīng)過轉(zhuǎn)換后的CAN幀格式與注意事項。
適用場景
串口轉(zhuǎn)CAN模塊在什么時候需要用到呢?一是老產(chǎn)品面臨升級,需要用到CAN總線通信,但硬件平臺中的MCU沒有集成CAN總線的控制器。二是選用的MCU已經(jīng)包含CAN總線接口,但數(shù)量上不能滿足項目需求。若出現(xiàn)類似以上兩種情況且MCU有閑置串口,則可以選用串口轉(zhuǎn)CAN模塊解決。
圖1 應用行業(yè)
使用方法
該類模塊可以很方便地嵌入到具有UART接口的設備中,在不需改變原有硬件結(jié)構(gòu)的前提下使設備獲得CAN-bus通訊接口,實現(xiàn)具有UART設備和CAN-bus網(wǎng)絡之間的數(shù)據(jù)通訊。工業(yè)級的轉(zhuǎn)換模塊內(nèi)部還包括實現(xiàn)帶隔離的CAN和UART轉(zhuǎn)換所必須的模擬和數(shù)字器件、光電耦合器、DC/DC變換器、CAN-bus接口等。

圖2 產(chǎn)品架構(gòu)
轉(zhuǎn)換說明
CSM100系列模塊提供3種協(xié)議轉(zhuǎn)換方式:透明轉(zhuǎn)換、透明帶標示轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換。下面以CSM100系列的模塊簡述模塊的透明轉(zhuǎn)換格式。
該模式下,CSM100接收到一側(cè)總線的數(shù)據(jù)就立即轉(zhuǎn)換發(fā)送至另一總線側(cè)。該模式下的模塊數(shù)據(jù)轉(zhuǎn)換效率最高,能承擔較大流量的數(shù)據(jù)傳輸。串行幀轉(zhuǎn)CAN幀時,模塊將來自串口的數(shù)據(jù)直接打包,并插入預先配置的CAN幀信息、幀ID一同作為一幀數(shù)據(jù)發(fā)送到總線上。同理,來自CAN總線上的數(shù)據(jù)將按順序拆分為字節(jié)流發(fā)送到串口上,字節(jié)流的前幾個字節(jié)為該CAN幀的信息。

圖3 轉(zhuǎn)換方式
說到這,大家肯定有個疑惑,CAN幀的信息及CAN幀ID是如何表示的呢?
幀信息主要用來區(qū)分標準幀、擴展幀,長度為1個字節(jié)。在“自定義協(xié)議轉(zhuǎn)換”中,標準幀固定為 0x00, 擴展幀固定為 0x80; 在“透明轉(zhuǎn)換”“透明帶標識轉(zhuǎn)換” 中, 標準幀為 0x0_,擴展幀為 0x8_,其中“_” 代表每個幀中的數(shù)據(jù)域長度, 范圍為 0~8。
標準幀的幀ID拆分為2個字節(jié)表示,擴展幀的幀ID拆分為4個字節(jié)表示。如果實際配置時給幀ID預留的只有一個字節(jié)且?guī)愋蜑閿U展幀,方向是CAN幀轉(zhuǎn)串行幀,那么將只能得到幀ID的高8位。如果實際配置時給幀ID預留的只有一個字節(jié)且?guī)愋蜑閿U展幀,方向是串行幀轉(zhuǎn)CAN幀,那么將幀ID的高8位正常填充,其他三字節(jié)全補零。

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

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

圖6 CAN幀到串行幀
總結(jié)
以上為串口轉(zhuǎn)CAN透明格式下的轉(zhuǎn)換方式,后續(xù)筆者將新增透明帶標示轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換以及moudbus轉(zhuǎn)換的內(nèi)容,歡迎持續(xù)關注。
-
CAN
+關注
關注
59文章
3065瀏覽量
472711 -
串口
+關注
關注
15文章
1618瀏覽量
82790
原文標題:串口數(shù)據(jù)轉(zhuǎn)換為CAN數(shù)據(jù)之后是怎樣的?
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
淺談CAN FD總線協(xié)議幀格式
串口經(jīng)過轉(zhuǎn)換后的CAN幀格式與注意事項介紹
串口經(jīng)過轉(zhuǎn)換后的CAN幀格式與注意事項
CAN總線過載幀及數(shù)據(jù)幀詳解
串口經(jīng)過轉(zhuǎn)換后的CAN幀格式與注意事項介紹
詳解CAN總線通信優(yōu)先級機制
CAN協(xié)議數(shù)據(jù)幀的介紹
串口數(shù)據(jù)轉(zhuǎn)CAN幀格式詳解
評論