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

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

3天内不再提示

Loto实践干货(3) 测量CAN总线通讯数据

西安乐拓精益 2022-05-31 00:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近在做运动控制卡的项目,调试样机的过程中,需要验证CAN总线通讯功能的正确性。以前只限于理论上认识CAN总线,使用的CANbus的通讯卡也是有上位机例程,基本上简单地配置上位机软件就可以正常工作了。这次调试需要深入测试CAN接口的通讯过程,正好把之前的对CAN的认识再复习深化一下。

poYBAGKQM0SAX5o0AAB0m2jai_w681.png

之所以采用CAN总线,是因为它只需要两根双绞线就可以连接多个通讯节点,并且可以传输相对远的距离,在工业现场抗干扰能力也很强。下图是我按照CAN总线的要求做的一条双绞线,黄色和绿色分别是CAN_High线和CAN_Low线。要求绞距20mm,不绞合的距离不超过50mm。

poYBAGKQM0SASS5PAAN1DlI0R4s976.png

规定的双绞线传输距离与CAN总线的传输速率的关系如下表。我们的传输距离很短,所以可以采用很高的传输速率。即便是采用最高的传输速率,以OSC802示波器的25M带宽,也是足够调试用的。

位速率 bit/s总线长度 m
11M30
2800K50
3500K100
4250K250
5125K500
662.5K1000
720K2500
810K5000

下图是我设计驱动控制板的CAN通讯接口部分的原理图,使用SN65HVD230收发器

poYBAGKQM0SAMitIAADJd7MgEGY639.png

打样后的运动控制板是这样的:

使用LOTO的USB示波器OSC802对CAN通讯的信号进行捕捉,抓取数据进行解析判断。

pYYBAGKQM0qAEMsFAEcYXYH7dG4056.png

使用USB示波器OSC802的单次触发功能,很轻松对CAN总线上的电平信号进行了捕捉。不过我们现在还看不懂它,需要对CAN的电平逻辑和传输协议有所了解。

没有收发信号时,两条导线上的电平相同(大约2.5V)。这种电平状态为隐形状态,也称之为隐性电平,即为逻辑1。有信号时,CAN_H导线的电平升高至少1V;而对应的CAN_L导线电平降低同样值,这种电平状态为显形状态,也称之为显性电平,即为逻辑0。5V和3.3V的CAN收发器的逻辑电平会稍有不同。

pYYBAGKQM0SAQjbGAAFyrwx3YyQ575.png

我们通过程序发出一串CAN数据后,用OSC802捕捉到的波形如下:

pYYBAGKQM0SAK75xAACTPhkJbBA662.pngpoYBAGKQM0WAdmEMAAVvtuJOkLY321.png

根据波形进行数据解码需要注意的有两点:

1:在CAN协议中将CAN_H和CAN_L的差值为高电平时定义为显性,逻辑上表示为0,为低电平时定义为隐性,逻辑上表示为1。

2:在CAN的协议中当连续出现5个显性时就需要插入一个隐性。

CAN的标准帧和扩展帧协议格式:

poYBAGKQM0aAKwCSABszpGLDGbg926.png

所以,波形数据解读为:

pYYBAGKQM0WARyDPAAGfcXpEays447.png

图中被红色斜线划掉的为CAN协议有意在5个连续显性后面加的单个隐性位,所以去掉。所以,通过USB 示波器 OSC802抓取到的数据为:

00000000000011000001001100010100000001010101011110011010001111100000111101111

IDSRRIDDLCCRC
000000000000110000010011000101000000010000111110000011

这个数据帧发出的数据为:

1010101111001101

0xAB, 0xCD

解析结果与上位机收发的结果互相验证正确,所以此次运动控制板的CAN接口功能调试成功完成。

poYBAGKQM0WAWnK5AAEJjzbQo64005.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    7125

    浏览量

    196828
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3097

    浏览量

    473481
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用泰克示波器 CAN 总线解码器加快 CAN 总线的故障排除速度

    标准规定了几种不同的数据速率,1 Mb/s 为 CAN 的最快速率。最新版本的 CAN FD(灵活数据速率)已经将传输速度提升至 10 Mb/s,同时还提高了
    的头像 发表于 04-17 17:35 621次阅读
    利用泰克示波器 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>解码器加快 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>的故障排除速度

    基于FPGA的轻量级CAN总线控制器实现方案

    ) 的标准帧和29bit-ID(长ID) 的扩展帧,另外,还有远程帧这种数据请求机制。关于CAN总线的更多知识可以参考这个科普文章。
    的头像 发表于 04-03 10:10 2018次阅读
    基于FPGA的轻量级<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器实现方案

    远创智控网关赋能工业互联:基恩士 PLC 与 CAN IO 卡跨协议通讯实践

    面临三大核心技术瓶颈: (一)协议兼容性障碍 基恩士 PLC 采用 EtherNet/IP 协议进行数据传输,而现场 IO 卡均基于 CAN 总线协议设计。两种协议在数据帧结构、传输机
    的头像 发表于 12-29 16:50 1051次阅读
    远创智控网关赋能工业互联:基恩士 PLC 与 <b class='flag-5'>CAN</b> IO 卡跨协议<b class='flag-5'>通讯实践</b>

    CAN XL 技术解析:从协议演进到自动驾驶数据采集应用实践

    在汽车电子与工业自动化领域,CAN 总线技术始终是数据传输的核心支柱。随着自动驾驶、车联网等技术的快速发展,传统 CANCAN CC)与
    的头像 发表于 12-22 17:39 863次阅读
    <b class='flag-5'>CAN</b> XL 技术解析:从协议演进到自动驾驶<b class='flag-5'>数据</b>采集应用<b class='flag-5'>实践</b>

    圆满收官 | 虹科CAN总线专题全系列直播精华回顾已上线!

    虹科CAN总线系列直播圆满收官!HongKeWebinars作为汽车电子通信领域的核心协议,CAN总线技术正随着智能驾驶、车联网等趋势加速迭代。为帮助工程师深入掌握
    的头像 发表于 11-24 17:55 2986次阅读
    圆满收官 | 虹科<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>专题全系列直播精华回顾已上线!

    AT32F系列 CAN通讯模式使用

    对应的开发板),使用GPIO为PB8和PB92) CAN驱动芯片及电路简图 TJA1050驱动IC主要用于数据转换,其分别与MCU及CAN总线分析仪连接。MCU端
    发表于 10-20 16:29

    CAN总线远程调试工具介绍

    一种工程机械领域调试上的创新产品,可用于Codesys 源程序的无线下载联机、远程调试、故障诊断、CAN 总线数据在线监控、透传收发、数据采集、数据
    发表于 10-17 16:14 0次下载

    直播回顾 | 硬核干货放送,虹科CAN总线应用层直播助您告别低效联调,破解车载网络开发核心难题

    周二下午3点准时开播,虹科资深技术工程师团队倾囊相授,助您掌握CAN总线从基础到高阶的全链路技术与核心技能。更多硬核课程与技术干货敬请持续关注虹科公众号。在汽车电子系统开
    的头像 发表于 09-17 17:39 965次阅读
    直播回顾 | 硬核<b class='flag-5'>干货</b>放送,虹科<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>应用层直播助您告别低效联调,破解车载网络开发核心难题

    双轨速成:掌握CAN总线应用的实战秘籍

    想要快速掌握CAN总线应用?本文提供双轨学习路径:理论与实践结合,从基础协议到项目实战,即可快速上手操作,助你高效突破技术门槛! CAN (Controller Area Networ
    的头像 发表于 08-15 14:57 869次阅读
    双轨速成:掌握<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>应用的实战秘籍

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为一种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在通信中的关键作用。CAN
    的头像 发表于 08-08 11:35 1470次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    CAN收发器:总线信号的“翻译官”

    CAN总线通信中,CAN收发器(Transceiver)扮演着至关重要的角色——它就像一位“翻译官”,负责将微控制器(MCU)的数字信号转换为总线上的差分信号,同时把
    的头像 发表于 06-27 11:34 2589次阅读
    <b class='flag-5'>CAN</b>收发器:<b class='flag-5'>总线</b>信号的“翻译官”

    如何评估CAN总线信号质量

    网络中,数据通过双绞线上的差分信号传输。信号质量直接影响节点正确解读数据的能力。信号质量差可能表现为: 位错误 :由于噪声或信号失真导致的位误判。 帧错误 :CAN帧结构错误,导致接收节点拒绝。
    发表于 06-07 08:46

    LOTO RC低通滤波模块

    用户在使用 LOTO 示波器测量低频小信号时,若示波器自带的软件滤波功能无法有效滤除噪声,外接 RC 低通滤波模块(如图所示)可对噪声起到良好的抑制作用。以靠近信号输入端的跳线帽接口为起始位置,按
    发表于 05-09 14:30

    如何用LOTO示波器测量变压器带宽?

    呈现出较为宽泛的有效带宽表现,而在高频下LOTO 注入变压器具有较好的稳定性。需特别说明的是,本次测试仅进行了单次测试,受限于数据,测试结论尚无法完全代表同类产品的普遍性能特征。
    发表于 05-08 17:33