历史上的今天
返回首页

历史上的今天

今天是:2024年12月05日(星期四)

正在发生

2018年12月05日 | CAN测试和应用技术方案文章分享

2018-12-05

详解UART转CAN应用方案

 

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

 

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

 

C:\Users\hudi\Desktop\微信图片_20181204092347.jpg?imageView2/2/w/550

 

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

 

CSM100-L引脚排列

 

图1  引脚定义图

 

 

 

表1  引脚定义

引脚

名称

功能

1

VCC

输入电源正

2

GND

输入电源地

3

RST

复位脚

4

TXD

UART发送脚

5

RXD

UART接收脚

6

GND

输入电源地

7,8,9

No Pin

无引脚

10

CANG

隔离输出电源地

11

CANL

CANL脚

12

CANH

CANH脚

19,20,21,22,23

RES

保留引脚

24

CFG

配置引脚

配置

 

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

 

1. 上位机配置方式

 

准备的工具:

 

电脑一台;

 

串口线一根;

 

CSM-Eval 评估板一块;

 

CSM100-L模块一片(其他型号均可);

 

CSM300CFG软件;

 

电源适配器一个。

 

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

 

(1)              将电源适配器(9~12V)连接至评估板电源接口;

 

(2)              通过串口线(或USB转串口线)连接评估板与计算机COM口(或USB口);

 

配置步骤0.wmf

 

图2  步骤(1)~(2)示意图

 

(3)              短接UART跳线;

 

(4)              根据产品型号选择产品工作电压;

 

(5)              放置需要配置的模块;

 

(6)              配置开关(CFG)选择0(使能配置),模式选择(MODE)固定选择0,BOOT固定选择1;

 

(7)              按下电源开关;

 

(8)              按下复位键,复位产品,产品将进入UART配置模式;

 

配置步骤1.wmf

 

图3  步骤(3)~(8)示意图

 

(9)              打开计算机上位机配置软件CSM300CFG,产品选择CSM100;

 

(10)          选择与评估板连接的计算机COM串口号;

 

(11)          点击“连接设备”按钮;

 

(12)          连接成功后,设置需要配置的参数;

 

 

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

 

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

 

 

图 5  配置成功

 

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

 

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

 

配置步骤2.wmf

 

图6  步骤(14)~(15)

 

2. MCU配置方式

 

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

 

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

 

CSM100-L接口连接 MCU配置

 

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

 

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

 

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

 

表2  CFG脚电平定义

CFG脚电平

0

1

模块工作模式

配置模式

正常工作模式

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

 

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

 

复位时序.wmf

 

图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进行硬件连接。

 

通讯测试连接图.jpg?imageView2/2/w/550

 

图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敏感器件,请做好防静电措施;

 

产品供电电压切勿超过允许范围,以免损坏产品。[page]

 

 

 

 

 

CAN一致性测试系统之地偏移测试

 

伴随越来越多的高科技汽车电子产品的开发与应用,如何解决汽车电子系统的电磁兼容问题,提高汽车的可靠性和安全性,已经成为一个非常重要和迫切的问题。然而接地设计作为根治电磁兼容问题方法之一,地偏移测试显得就尤为重要了,因此本文对接地设计及地偏移测试进行了解读。

 

一、整车系统接地设计

 

1、   地线的意义

 

地线在汽车上不仅仅是一个接点,它是一个综合的系统的汽车电气系统,它的主要功能有:

 

提供给直流负载、交流负载和瞬变负载电流回路,连接蓄电池或发电机的负极端;

 

提供电压给传感器、通讯系统、单端数字输入等;

 

静电屏蔽,隔离外部RF辐射;

 

提供静电放电泄流,ESD保护;

 

汽车天线的地平面;

 

降低电平,减小腐蚀。

 

2、   地线可靠性

 

地线回路的可靠性主要由以下几个主要关键因素决定:

 

接地金属的连接面,包括接地板之间、接地线和接地板之间的连接情况;

 

涂覆层及润滑油对传导地线连接板及其紧固件的影响;

 

潜在的腐蚀;

 

潜在的机械退化。

 

3、   汽车上接地的符号以及接地回路见下

 

 

整车电气地:主要为 DC 回路中发电机和蓄电池,以及 AC 回路中所有产品 RF 地;

 

 

整车结构地:标识为汽车结构件(例如发动机、白车身等)接地标识;

 

 

产品电路接地:产品电路接地,包括模拟地、数字地都可以使用此符号;

 

4、   实车使用的接地结构图

 

 

图 1 实车的接地结构图

 

此为实车使用的接地结构图,其中所有的接地最终回到蓄电池和发电机的负极端。随着频率的增大,回路的阻抗也会增大,最终会导致电流流过不希望的回路,出现共模干扰,进而产生EMC效应,损坏产品。

 

那么大家会问为什么地偏移会产生共模干扰呢?提到共模干扰不得不说差模干扰,下面我们一起了解一下吧。

 

二、共模干扰与差模干扰

 

电器设备的通信线, 与其它设备或外围设备相互交换的通讯线路,至少有两根导线,这两根导线作为往返线路输送电力或信号,在这两根导线之外通常还有第三导体,这就是"地线"。电压和电流的变化通过导线传输时有两种形态, 一种是两根导线分别做为往返线路传输, 我们称之为"差模";另一种是两根导线做去路,地线做返回传输, 我们称之为"共模"。

 

 

图 2

 

如上图, 蓝色信号是在两根导线内部作往返传输的,我们称之为"差模";而黄信号是在信号与地线之间传输的,我们称之为"共模"。

 

任何两根电源线或通信线上所存在的干扰,均可用共模干扰和差模干扰来表示:共模干扰在导线与地(机壳)之间传输,属于非对称性干扰,它定义为任何载流导体与参考地之间的不希望有的电位差;差模干扰在两导线之间传输,属于对称性干扰,它定义为任何两个载流导体之间的不希望有的电位差。在一般情况下,共模干扰幅度大、频率高,还可以通过导线产生辐射,所造成的干扰较大。差模干扰幅度小、频率低、所造成的干扰较小。图3为共模干扰。

 

 

图 3

 

共模干扰的电流大小不一定相等,但是方向(相位)相同的。电气设备对外的干扰多以共模干扰为主,外来的干扰也多以共模干扰为主,共模干扰本身一般不会对设备产生危害,但是如果共模干扰转变为差模干扰,干扰就严重了,因为有用信号都是差模信号。如图4为差模干扰。

 

 

图 4

 

差模干扰的电流大小相等,方向(相位)相反。由于走线的分布电容、电感、信号走线阻抗不连续,以及信号回流路径流过了意料之外的通路等,差模电流会转换成共模电流。

 

发生了地偏移为了保证车网络能够正常通信,没有错误帧的出现,需要进行整车的地偏移测试。

 

三、     CANDT地偏移测试

四、      

1、   测试目的

 

本测试用例用于检查发生地偏移故障状态过程中 DUT 的 CAN 总线通信状态,并检查该故障修复后 DUT 是否能够恢复 CAN 总线通信。

 

2、   判断依据

 

在地偏移电压从 0V 变化至 2V(用户可设置该范围) 过程中,不允许DUT 出现CAN 总线通信故障(如:发送错误帧等)。

 

3、   测试原理及步骤

4、    

 

图 5

 

配置控制板至地偏移测试模式;

 

配置并开启 DUT 电源;

 

CANScope 正常模式连接;

 

通过调节电压源将DUT的接地电压,直至 DUT 停止 CAN 总线通信;

 

恢复 DUT 的接地电压为正常状态(0V 左右),使用 CANScope 记录 DUT 发送的CAN 总线数据;

 

分析能否正确接收报文并判定结果。

 

本测试用于检验组件的可靠运转情况,比如一个组件的电源由蓄电池和发动机双路提供,电源电压可能不一致,导致地偏移发生,为了检测CAN信号能否正常通信,可以使用ZLG致远电子的CANDT一致性测试系统。

 

CANDT一致性测试系统

 

CANDT一致性测试系统可自动化完成CAN节点物理层、链路层及应用层一致性测试,是当前CAN总线测试领域唯一能够进行完善的物理层自动化测试并导出报表的仪器设备,详情架构如下图

 

说明: 1

 

图6

 

根据测试标准,用CANDT对总线上各个节点的地偏移进行一致性测试,测试结果可生成报表,如图7所示。

 

 

图7

 

测试完成后,用户可导出自动化测试报告,对于未通过的测试项目可使用CAN总线分析仪对故障进行干扰排除并进行可靠性测试,以加强被测设备的鲁棒性,并且ZLG致远电子的CAN总线专家会协助用户,对未通过项目进行分析,给出整改建议;

 

根据测试报告,还可以跟踪测试条目的标准出处、测试步骤以及判断依据等;

 

主机厂可以依据此报告评估CAN节点质量,作为主机厂准入依据。

 

 


CAN
推荐阅读

史海拾趣

EBG RESISTORS LLC公司的发展小趣事

作为一家有社会责任感的企业,EBG RESISTORS LLC公司积极履行环保责任。他们采用环保材料和生产工艺,减少生产过程中的废弃物排放。同时,公司还积极参与公益活动,回馈社会。这种负责任的态度赢得了客户和社会的广泛赞誉。

Herley New York公司的发展小趣事

EBG RESISTORS LLC公司始终将品质管理放在首位。他们建立了严格的质量控制体系,确保每一款产品的性能和质量都符合客户要求。同时,公司还鼓励员工提出改进意见,不断优化生产流程和产品性能。这种持续改进的精神使得EBG RESISTORS LLC公司的产品在市场上始终保持着领先地位。

芯朋微电子(chipown)公司的发展小趣事

随着技术的不断进步和市场需求的增长,芯朋微电子逐步将产品线拓展至标准电源和工业驱动领域。2013年,公司推出工控功率芯片产品,这些芯片广泛应用于电机、基站、智能电表等行业领域,进一步扩大了公司的市场份额。

国盛科技(BOCHEN)公司的发展小趣事

国盛科技在发展过程中获得了多项认证与荣誉。例如,公司获得了知识产权管理体系认证证书,荣登《人民代表报》全国两会特刊,成为“中国质量万里行促进会”会员并获得“收录企业”荣誉称号等。这些认证与荣誉的获得,充分证明了国盛科技在电子行业的领先地位和企业实力的不断提升。

General Electric Solid State公司的发展小趣事

随着市场竞争的加剧,国盛科技意识到传统生产方式已难以满足市场需求。于是,公司开始积极探索自动化生产之路。经过不懈努力,国盛科技成功自主研发了电位器自动包装设备、自动测试设备等多种自动化设备,实现了产品流水化生产。这一突破不仅大大提高了生产效率,还使得电位器年产量突破一亿只,为国盛科技赢得了市场的广泛认可。

Array Microsystems Inc公司的发展小趣事

随着技术的不断成熟和产品的广泛应用,Array Microsystems Inc开始寻求市场拓展的机会。公司积极与各大电子设备制造商建立合作关系,将其阵列传感器技术应用于智能手机、平板电脑等消费电子产品中。通过与这些企业的战略合作,Array Microsystems Inc不仅扩大了市场份额,还提升了品牌知名度。同时,公司还积极开拓海外市场,将产品推向全球范围。

问答坊 | AI 解惑

万用表的使用方法

万用表万用表具有用途多,量程广,使用方便等优点,是电子测量中最常用的工具。它可以用来测量电阻,交直流电压和直流电压。有的万用表还可以测量晶体管的主要参数及电容器的电容量等。掌握万用表的使用方是电子技术的一项基本技能。   常见的多 ...…

查看全部问答>

protel99se教程

学习PROTEL99se必备…

查看全部问答>

基于AT89S52单片机的LED点阵显示屏控制系统的设计.PDF

基于AT89S52单片机的LED点阵显示屏控制系统的设计.PDF…

查看全部问答>

学习AD0809,所以做一个数字电压表!

想学习一下AD,打算仿真做一个数字电压表,测量0~5V输出0~255,通过数码管显示,AD用的0809,模拟输入采用一个1K滑动变阻器连接到IN0(不知道这种做法是否可行?)现在的问题是,改变滑动变阻器的值,数码管的值有变化,但是并不是有规律地增大或 ...…

查看全部问答>

钱库终端机的界面开发?

目前在广州地铁等安放的钱库终端,里面的界面是用什么来开发的呢?感觉操作挺好听美观的。 是网页?还是Application的胖客户端,还是flash?…

查看全部问答>

STM8关于LIN总线的请教

大家好!      小弟现在遇到一个奇怪的问题。      硬件测试环境:板子是STM8S208,板子上有两个LIN接口,一个做主机,一个做从机,用一条串口线将两个口连接起来通信。       ...…

查看全部问答>

如何使用 CCS 建一个 M3 的工程

如何使用 CCS 建一个 M3 的工程,一直在用 MDK,最近不得不熟悉 CCS ,不知道 CCS 要怎么建工程呢? 找到一个 PDF ,按照里边的步骤还是能编译,而且很慢,这样的工具怎么用呢? [ 本帖最后由 Study_Stellaris 于 2011-12-5 16:00 编辑 ]…

查看全部问答>

BeagleBone试用第一周 底板PCB--今天终于决定把板子拿去制了。到底如何不管他。

今天终于决定把板子拿去制了。到底如何不管他。 时间要紧。有错就改嘛。反正还是好同志。 希望大家支持,阿莫那里要求插孔都加大0.15MM 所以我的孔画的比较大。 有关硬件的资料: [ 本帖最后由 damiaa 于 2012-9-28 16:27 编辑 ...…

查看全部问答>

编译出错

Building configuration: project - Debug Updating build tree... Linking Error[e16]: Segment CSTACK (size: 0x32 align: 0x1) is too long for segment definition. At least 0x19 more bytes needed. The problem occurred while proces ...…

查看全部问答>

如何入手M3

各位大虾,小弟准备开始学习ARM,用TI的流明入手(9B96),板子已买好,求建议。(51和430的基础比较扎实)…

查看全部问答>