<td id="wa4yw"><option id="wa4yw"></option></td>
  • <td id="wa4yw"><kbd id="wa4yw"></kbd></td><noscript id="wa4yw"><source id="wa4yw"></source></noscript>
    <bdo id="wa4yw"><kbd id="wa4yw"></kbd></bdo><input id="wa4yw"></input>
    <table id="wa4yw"><kbd id="wa4yw"></kbd></table>
  • <td id="wa4yw"><option id="wa4yw"></option></td>
    <option id="wa4yw"></option>
  • <table id="wa4yw"></table>
  • 發布時間:2020-10-05 22:42 原文鏈接: 串口數據轉換為CAN數據之后是怎樣的?(一)


    MCU沒有CAN或CAN接口數量不夠怎么辦?目前市面上有串口轉CAN的相關模塊或設備,但大家知道串口轉CAN是如何實現的嗎?轉換后的幀格式是如何的?本文將為大家詳細介紹串口經過轉換后的CAN幀格式與注意事項。

    適用場景

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

    圖1 應用行業

    使用方法

    該類模塊可以很方便地嵌入到具有UART接口的設備中,在不需改變原有硬件結構的前提下使設備獲得CAN-bus通訊接口,實現具有UART設備和CAN-bus網絡之間的數據通訊。工業級的轉換模塊內部還包括實現帶隔離的CAN和UART轉換所必須的模擬和數字器件、光電耦合器、DC/DC變換器、CAN-bus接口等。

    圖2 產品架構

    轉換說明

    CSM100系列模塊提供3種協議轉換方式:透明轉換、透明帶標示轉換、自定義協議轉換。下面以CSM100系列的模塊簡述模塊的透明轉換格式。

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

    圖3 轉換方式

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

    幀信息主要用來區分標準幀、擴展幀,長度為1個字節。在“自定義協議轉換”中,標準幀固定為 0x00, 擴展幀固定為 0x80; 在“透明轉換”“透明帶標識轉換” 中, 標準幀為 0x0_,擴展幀為 0x8_,其中“_” 代表每個幀中的數據域長度, 范圍為 0~8。

    標準幀的幀ID拆分為2個字節表示,擴展幀的幀ID拆分為4個字節表示。如果實際配置時給幀ID預留的只有一個字節且幀類型為擴展幀,方向是CAN幀轉串行幀,那么將只能得到幀ID的高8位。如果實際配置時給幀ID預留的只有一個字節且幀類型為擴展幀,方向是串行幀轉CAN幀,那么將幀ID的高8位正常填充,其他三字節全補零。

    圖4 幀ID轉換說明


    <td id="wa4yw"><option id="wa4yw"></option></td>
  • <td id="wa4yw"><kbd id="wa4yw"></kbd></td><noscript id="wa4yw"><source id="wa4yw"></source></noscript>
    <bdo id="wa4yw"><kbd id="wa4yw"></kbd></bdo><input id="wa4yw"></input>
    <table id="wa4yw"><kbd id="wa4yw"></kbd></table>
  • <td id="wa4yw"><option id="wa4yw"></option></td>
    <option id="wa4yw"></option>
  • <table id="wa4yw"></table>
  • XVideos