各位工程师是否遇到需要使用到 CAN 通信但缺少 CAN 接口的情况?最简便的方案是采用 UART 转 CAN 通讯。ZLG 致远电子针对此应用 CSM100 系列模块解决方案,这款模块将极大的简化了开发流程,实现的方式是怎样的?本文为你详解。
一个嵌入式或者 X86 的工业控制板上,一般都会提供 CAN、UART、以太网、USB、SPI、I2C 等通讯接口,但是由于处理器的限制以及满足通用性需求,很多厂家只能均衡的去分配这些接口,比如致远电子旗下的部分工控核心板的接口就如下图所示:
可以看到通用型核心板一般提供的 CAN-bus 为 2 路,2 路 CAN-bus 可以有效的保证通用需求,但是在一些特殊的情况,应用中需求变成了 4 路甚至 5 路 CAN 的需求。这种情况下传统的板子的 CAN 接口资源就不够用了该怎么办呢?
致远电子推出的一款 UART 转 CAN 隔离模块——CSM100 系列协议转换模块,其体积小巧,应用简单,品质可靠。该系列模块采用标准 24 引脚 DIP 封装,适用于大部分工业板级应用。在一些需要使用到 CAN 通信但缺少 CAN 接口的应用下,使用 CSM100 可以以最小的硬件更改,利用通用 UART 接口快速地实现 CAN 总线通信,节省软硬件开发成本,缩短开发周期。本文将对 CSM100 系列模块做一个简单的介绍,让你以最少时间玩转 CSM100 系列 UART 转 CAN 模块。
产品引脚定义
这里以 CSM100-L 为例,产品引脚定义如下图 1、表 1,系列其他型号定义基本一致。
图 1 引脚定义图
表 1 引脚定义
配置
在测试使用之前,CSM100 系列产品需要先进行配置,以满足实际的应用需求。可配置的参数有转换方式、UART 速率、CAN 速率等。配置方式有两种:上位机配置方式、MCU 配置方式。
1. 上位机配置方式
准备的工具:
电脑一台;
串口线一根;
CSM-Eval 评估板一块;
CSM100-L 模块一片(其他型号均可);
CSM300CFG 软件;
电源适配器一个。
准备好以上所需工具后,即可对产品进行配置,具体步骤如下:
(1)将电源适配器(9~12V)连接至评估板电源接口;
(2)通过串口线(或 USB 转串口线)连接评估板与计算机 COM 口(或 USB 口);
图 2 步骤(1)~(2)示意图
(3)短接 UART 跳线;
(4)根据产品型号选择产品工作电压;
(5)放置需要配置的模块;
(6)配置开关(CFG)选择 0(使能配置),模式选择(MODE)固定选择 0,BOOT 固定选择 1;
(7)按下电源开关;
(8)按下复位键,复位产品,产品将进入 UART 配置模式;
图 3 步骤(3)~(8)示意图
(9)打开计算机上位机配置软件 CSM300CFG,产品选择 CSM100;
(10)选择与评估板连接的计算机 COM 串口号;
(11)点击“连接设备”按钮;
(12)连接成功后,设置需要配置的参数;
图 4 步骤(9)~(12)示意图
(13)参数设置完成,点击“写配置”按钮,软件提示“写配置成功!”;
图 5 配置成功
(14)断开设备,配置开关(CFG)选择 1(正常工作模式);
(15)按下复位键,复位产品,产品将进入正常工作模式。
图 6 步骤(14)~(15)
2. MCU 配置方式
在实际产品中,可能需要不时更改 CSM100 的配置,此时,设计阶段即考虑增加通过 MCU 配置的功能,会使后续配置更改更加便捷。
实现 MCU 配置,硬件上需要符合图 7 所示连接。
图 7 可实现 MCU 配置的典型连接
使用 MCU 配置时模块 UART 接口波特率固定为 9600bps。
CFG 脚为输入引脚,其输入电平定义如表 2 所示。
表 2 CFG 脚电平定义
设置好 CFG 脚电平后,给 RST 脚一个低电平脉冲信号让模块复位即可进入相应模式。
对 CSM100 进行写入配置时,CSM 相应引脚时序应满足图 8 要求。
图 8 配置时序
写配置命令可以通过 CSM300CFG 软件获取。通过软件界面选择好需要的配置参数后,软件下方会显示出相应的命令帧数据,勾选代码模式即可获取相应的配置命令帧代码。发送配置命令后,模块会返回响应帧,如为 0xF7 0xF8 0x01 0x13 0x1D 则表示配置写入成功。
写入配置成功后,CFG 引脚置 1,RST 复位,模块即可进入正常工作模式。
测试
CSM100 配置完成后,即可对其进行简单的通信测试。通讯测试可准备以下工具:
电脑一台;
USBCAN 一台;
CSM-Eval 评估板一块;
CSM100 模块一块;
CANTest、SSCOM 软件;
串口线及 USB 线等。
假设模块型号为 CSM100T,参数配置为:自定义协议转换、双向、帧头 40、帧尾 1A、串口波特率 9600bps、CAN 波特率 125kbps、滤波器不使能,其他默认。如图 9 进行硬件连接。
图 9 通讯测试连接图
打开 CANTest 测试软件,选择 USBCAN2 设备,CAN 波特率 125kbps,数据发送选择参数:标准帧、帧 ID 00 00、数据 00 01 02 03 04 05 06 07、单次发送 10 帧,如图 10。
图 10 USBCAN 设备软件界面
打开 SSCOM 串口通讯软件,选择对应串口,设置波特率 9600、数据位 8、停止位 1。打开串口后由 USBCAN 软件发送数据,则串口界面收到数据如图 11 所示。若要通过串口向 USBCAN 设备发送数据,同样可在字符串输入框内输入要发送的数据,前提是必须满足格式要求,否则模块将不能转换。
图 11 串口接收数据
通过以上测试方式进行详细测试后,如满足设计需求则可应用于实际产品中去。
注意事项
模块在“配置模式”和“正常工作”切换后应使模块复位,否则模块还处于原来的工作状态;
配置时,UART 的波特率为 9600bps,无法更改;
CSM100、CSM100-L、CSM100V33 仅支持透明转换及透明带标识转换;
CSM100T、CSM100TL 仅支持自定义转换;
产品不支持热插拔;
未使用引脚请悬空处理;
产品为 ESD 敏感器件,请做好防静电措施;
产品供电电压切勿超过允许范围,以免损坏产品。
全部评论