MCU如何扩展CAN/CAN FD接口?

demi的头像
demi 发布于:周一, 09/30/2019 - 11:25 ,关键词:

在嵌入式产品开发过程中,可能会面临CAN路数不够的问题。如何选择合适的转换模块解决这个问题呢?本文为您讲解几款模块的选型方法。

应用场景

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转换器产品

如何选型

串口扩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设备

应用电路

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


图8 应用电路


图9 CANFDSM-100管脚定义

来源: ZLG立功科技一致远电子

围观 426