[资料分享] MCU串口转CAN的思路和方法介绍

Jacktang   2019-10-16 20:40 楼主

       在嵌入式产品开发过程中,可能会面临CAN路数不够的问题。如何选择合适的转换模块解决这个问题呢?以下将为您讲解几款模块的选型方法。
  1.    应用场景
  CAN总线是优秀的现场总线之一,已由当初的汽车电子扩散到各行各业。从工业自动化到新能源,从轨道交通再到航空航天,CAN总线技术在中国不断的应用和沉淀。
 

  图 1 CAN总线数据帧结构
  当应用CAN总线时,我们可能会面临以下问题:主控制器没有支持 CAN 控制器或者 CAN 路数不够。具体问题表现:早期产品通信使用的是 RS485 或 RS232 通信,现阶段需要将产品升级到能支持到 CAN 通信;受制于成本限制,主控 MCU 必须选择低端处理器,本身不带 CAN 控制器;开发的产品中需要的 CAN 路数远远大于 2 路,能支持两路以上 CAN 的 MCU 型号有限或成本过高。
 

  图 2  LPC 系列间 CAN 路数对比
  

  图 3  多路 CAN 应用场景
  当 MCU 内部没有支持 CAN 控制器或者所需的 CAN 路数不能满足要求时,可以选择使用其他通信接口拓展 CAN 接口出来。常见的转换方法有串口转 CAN、以太网转 CAN、WIFI 转 CAN 以及光纤转 CAN,本文主要为大家介绍串口转 CAN 的思路和方法。
 

  图 4  CAN 转换器产品
  2.    如何选型
  串口扩 CAN 的模块大体分为两种形式,一种是单纯的协议控制器芯片实现,如 MCP2515 和 MCP2517;另一种是通过高性能的 MCU 实现。相比于单纯的协议控制器芯片,MCU 方案的协议转换模块拥有以下优势:配置简便,配合上位机或串口指令集,几个简单的串口数据发送即可完成配置;缓存较大,在高速或数据吞吐量大时杜绝丢帧现象发生;性能优异,将复杂的协议转换及帧缓存完全集成于用户 MCU 之外,可减少用户 MCU 负担。
  ZLG 立功科技·致远电子推出的串口转 CAN 模块主要有 CANFDSM、CSM300 两个系列,选型工作如何入手,我们从他们之间的区别入手。CANFDSM 是最新一代的串口转 CANFD 模块,在能匹配当前热门的 CANFD 基础上,还能完全兼容传统的 CAN2.0 协议。因此,如果您的产品选定的是 CANFD 协议,则只能使用新一代的 CANFDSM 模块。
 

  图 5  链路层协议区别
  如果产品中使用的是 CAN2.0A 或者 CAN2.0B 协议,我们继续对比选择。CANFDSM 不带 CAN 或者 CANFD 收发器,用户需自行增加隔离或者不隔离的收发器模块。而 CSM300 内部集成有 CAN 隔离收发器、CAN 控制器,因此可以直接连接 MCU 与 CAN 总线。
 

  图 6  CSM300 与 CANFDSM 内部器件情况
  以上讨论的情况是针对板载需求的应用,对于需要直接应用在设备中的场合又该如何选择呢?CANCOM 或者 CANFDCOM 绝对是您的首选。CANFDCOM 接口卡的 1~2 通道 CAN FD 接口均自带 2500VDC 电气隔离,静电等级为接触放电±8KV,浪涌±1KV,可有效避免因为不同节点地电位不同导致的回流损坏,特别适合于电动汽车与列车的测试。
 

  图 7  串口转 CAN 设备
  3.    应用电路
  以 CANFDSM-100 为例 ,该类模块通用应用方式如下下。协议转换模块直接与 MCU 通过 UART 的 TX、RX 交叉连接通信,PIN3、PIN4 通过 CAN 隔离收发器 CTM3FD 连接到外部 CAN 总线上。需要注意的是,模块在使用前需要进行参数配置,使用 PIN7 使模块进入配置状态后再配合 MCU 的 AT 指令即可完整参数配置。此外,配合上位机软件亦可快速完成参数配置。
   

     图 8  应用电路 MCU串口转CAN的思路和方法介绍
  图 9  CANFDSM-100 管脚定义


  4.    协议转换格式
  串口转 CAN 模块提供透明转换、透明带标识、自定义协议等转换形
式。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复