嵌入式UART转CAN应用案例详解
扫描二维码
随时随地手机看文章
在如今CAN总线应用越来越广泛的今天,很多人都开始学习使用这一技术,但是由于CAN总线协议的复杂度,不少IT新人只能浅尝辄止。本文将介绍如何致远电子的嵌入式UART转CAN模块来解决这一问题。
一、CSM100产品简介
CSM100系列UART转CAN模块是集成微处理器、CAN-bus 控制器、CAN-bus收发器、DC-DC转换、高速光电隔离于一体的嵌入式UART 转CAN 模块,用户可以不深入了解CAN-bus的相关知识,利用此芯片操作CAN-bus就如同操作UART 一样方便。
模块具有2种转换方式包括透明转换方式和透明带标示转换方式。其中透明转换方式会预先设定数据帧ID,串口只需要发送报文数据段信息,其余信息模块会自动填充完整。透明带标识转换方式通过既定的协议格式可以将CAN总线报文的类型、ID转发到串口数据的相应字段。这两种方式在不同应用场景下灵活组合可以实现多种功能。
图 1 CSM100实物、结构图
二、应用方案
CSM100这个小模块不仅仅是做串口与CAN数据的转换,在很多应用场景中起着必不可少的作用。下面就来介绍一下。
1、 为缺少CAN控制器的单片机提供CAN接口
虽然如今已经不再是51单片机横行的时代,但是仍然不是所有的MCU都具备CAN控制器,如果在某个项目中需要扩展CAN通讯而恰好我们的主控平台没有CAN外设,那么选择CSM100就是一个绝佳的选择。只要主控上还有多余的URAT资源就可以利用它轻松的扩展。扩展方式如图2所示。
图 2 为缺少CAN控制器的单片机提供CAN接口
2、 为点对点设备提供组网条件
我们都知道CAN总线是一种多主总线,可以实现多节点组网通讯,自带优先级仲裁机制,可有效防止数据冲突。基于这一优点,可以利用CSM100模块为点对点通讯设备提供组网的条件。例如,某些串口接口的传感器,如果我们需要把多个传感器的数据读到MCU而MCU的串口数量不足怎么办呢?
如图3所示,与传感器对接的CSM100模块设定为透明转换模式,并通过设定不同的地址ID加以区分。这样全部传感器的数据就可以共同在一条线路上传输了,不用为数据冲突或者找不到数据发送源而担心。与主控对接的CSM100模块设定为透明带标识转换模式。这样主控接收到的串口数据流中就包含了不同传感器的地址ID信息了。
图 3 为点对点设备提供组网条件
3、 简易隔离中继设备
在很多CAN-bus总线的应用现场,我们可能会碰到这些问题,例如远距离通讯质量不稳定,或者对接两个速率不同的网络,亦或是想把网络中的某些干扰较强的节点做隔离。这时我们可以使用两个CSM100模块实现一个简易的CAN总线中继功能。
如图4所示,将两个CSM100的UART口交叉对接,设定工作模式为透明带标识符传输,分别设置各自对接CAN网络的通讯波特率参数。这样CAN总线的报文数据会先转换成串口再转换为CAN数据,信号得到了放大和隔离。
图 4 简易隔离中继设备