0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解UART转CAN应用方案

西西 作者:致远电子 2018-12-05 16:55 次阅读

各位工程师是否遇到需要使用到CAN通信但缺少CAN接口的情况?最简便的方案是采用UART转CAN通讯。ZLG致远电子针对此应用CSM100系列模块解决方案,这款模块将极大的简化了开发流程,实现的方式是怎样的?本文为你详解。

一个嵌入式或者X86的工业控制板上,一般都会提供CAN、UART、以太网USB、SPI、I2C等通讯接口,但是由于处理器的限制以及满足通用性需求,很多厂家只能均衡的去分配这些接口,比如致远电子旗下的部分工控核心板的接口就如下图所示:

详解UART转CAN应用方案

可以看到通用型核心板一般提供的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,系列其他型号定义基本一致。

详解UART转CAN应用方案

图1 引脚定义图

表1 引脚定义

详解UART转CAN应用方案

配置

在测试使用之前,CSM100系列产品需要先进行配置,以满足实际的应用需求。可配置的参数有转换方式、UART速率、CAN速率等。配置方式有两种:上位机配置方式、MCU配置方式。

1. 上位机配置方式

准备的工具:

  1. 电脑一台;
  2. 串口线一根;
  3. CSM-Eval 评估板一块;
  4. CSM100-L模块一片(其他型号均可);
  5. CSM300CFG软件;
  6. 电源适配器一个。

准备好以上所需工具后,即可对产品进行配置,具体步骤如下:

(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) 连接成功后,设置需要配置的参数;

详解UART转CAN应用方案


图 4 步骤(9)~(12)示意图

(13) 参数设置完成,点击“写配置”按钮,软件提示“写配置成功!”;

图 5 配置成功

(14) 断开设备,配置开关(CFG)选择1(正常工作模式);

(15) 按下复位键,复位产品,产品将进入正常工作模式。

图6 步骤(14)~(15)

2. MCU配置方式

在实际产品中,可能需要不时更改CSM100的配置,此时,设计阶段即考虑增加通过MCU配置的功能,会使后续配置更改更加便捷。

实现MCU配置,硬件上需要符合图7所示连接。

详解UART转CAN应用方案

图7 可实现MCU配置的典型连接

使用MCU配置时模块UART接口波特率固定为9600bps。

CFG脚为输入引脚,其输入电平定义如表2所示。

表2 CFG脚电平定义

详解UART转CAN应用方案

设置好CFG脚电平后,给RST脚一个低电平脉冲信号让模块复位即可进入相应模式。

对CSM100进行写入配置时,CSM相应引脚时序应满足图8要求。

详解UART转CAN应用方案

图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敏感器件,请做好防静电措施;
  • 产品供电电压切勿超过允许范围,以免损坏产品。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459227
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99955
收藏 人收藏

    评论

    相关推荐

    STM32F103C8 UART1, I2C1, CAN冲突问题怎么解决?

    ST芯片型号: STM32F103C8T6 PB7,PB6用于UART1 PB8,PB9用于做CAN. 问题:I2C1_REMAP关闭,影响PB7,PB6的UART1功能,导致UART
    发表于 04-08 08:10

    canprofinet网关实现汽车生产的革新

    需求。为了解决这一问题,某汽车生产商决定进行现场自动化升级。升级过程中选择了结合canprofinet网关进行项目的升级改造。这是因为canprofinet网关可以实现
    发表于 12-25 10:29

    CAN波特率计算公式详解

    CAN波特率计算公式详解
    发表于 10-20 07:57

    还在为CAN接口不够而发愁?全国产器件高性价比CAN接口扩展芯片CSM330A满足你

    在产品开发过程中,相信大家遇到过硬件平台CAN资源紧张、对CAN隔离方案经验不足等情况。为解决此类问题,全国产化、高隔离、高数据流量、超小体积的UART/SPI转
    的头像 发表于 10-16 18:19 571次阅读
    还在为<b class='flag-5'>CAN</b>接口不够而发愁?全国产器件高性价比<b class='flag-5'>CAN</b>接口扩展芯片CSM330A满足你

    CAN静电保护方案

    CAN接口静电保护方案
    发表于 10-09 06:56

    UART通信原理详解

    UART(Universal Asynchronous Receiver Transmitter)通用异步收发器,是一种通用串行、异步通信总线,该总线有两条数据线和一条地线,支持全双工异步通信。常用于单片机与单片机或外围辅助设备之间的通信。
    发表于 09-21 17:28 661次阅读
    <b class='flag-5'>UART</b>通信原理<b class='flag-5'>详解</b>

    使用CAN总线需要扩展CAN总线接口吗

    及应用。CSM330A的优势如图1所示,通过SPI或UART扩展隔离CAN接口的常规方案,一般要用到CAN控制器芯片、隔离DC-DC电源、数字隔离芯片、
    的头像 发表于 09-04 16:41 720次阅读
    使用<b class='flag-5'>CAN</b>总线需要扩展<b class='flag-5'>CAN</b>总线接口吗

    can通信与uart通信的区别 CAN相比UART难吗

    CAN总线属于异步通信,因此就有通信波特率,而这个波特率发生器就位于CAN控制器内部。我们不需要了解它是如何产生的,但需要了解它的含义。这章节针对初学者讲述以下两点内容。
    发表于 08-25 12:33 1645次阅读
    <b class='flag-5'>can</b>通信与<b class='flag-5'>uart</b>通信的区别 <b class='flag-5'>CAN</b>相比<b class='flag-5'>UART</b>难吗

    CAN转PN讯协议详解

    你是否曾经遇到过这样的问题:如何将各种 CAN 设备连接到 PROFINet 网络中?远创智控YC-PN-CAN通讯网关或许能为你解决这个难题! 远创智控YC-PN-CAN网关是一款自主研发
    的头像 发表于 08-01 20:06 1039次阅读
    <b class='flag-5'>CAN</b>转PN讯协议<b class='flag-5'>详解</b>

    UART通信原理详解

    通用异步收发传输器,通常称作UART,是一种异步收发传输器。是异步通信协议。特性:两根线,全双工,异步通信,速度较慢。
    发表于 06-28 15:26 1336次阅读
    <b class='flag-5'>UART</b>通信原理<b class='flag-5'>详解</b>

    一文详解CAN总线应用及原理

    CAN总线标准只规定了物理层和数据链路层,需要用户自定义应用层。不同的CAN标准仅物理层不同。
    发表于 06-25 15:51 3062次阅读
    一文<b class='flag-5'>详解</b><b class='flag-5'>CAN</b>总线应用及原理

    CANUART难不难?

    最近看到有网友在技术群讨论关于『CANUART难不难的话题』,有的网友说CAN很简单,也有的网友说CAN很难。
    发表于 05-20 14:38 454次阅读
    <b class='flag-5'>CAN</b>比<b class='flag-5'>UART</b>难不难?

    请问wifican如何使用TCP client模式呢?

    请问wifican如何使用TCP client模式呢?
    发表于 05-17 15:57

    CAN2CAN添加了几个GPIO、UART和Intrctrl模块报错怎么解决?

    我们正在使用 NXP CAN2CAN 项目。最初它工作正常,但一旦我们添加了几个 GPIO、UART 和 Intrctrl 模块,就会发生此错误
    发表于 05-17 06:57