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

    关注

    111

    文章

    5661

    浏览量

    181784
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2470

    浏览量

    459254
收藏 人收藏

    评论

    相关推荐

    Mini CAN Unit小型CAN总线通讯单元

    技术,CAN总线能够实现稳定通信,适应长距离传输和嘈杂环境的要求。MiniCANUnitMiniCANUnit是一款小型CAN总线通讯单元,
    的头像 发表于 02-19 12:47 112次阅读
    Mini <b class='flag-5'>CAN</b> Unit小型<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通讯</b>单元

    高速CAN总线和低速CAN总线的特性

    高速CAN总线和低速CAN总线的特性 高速CAN总线和低速C
    的头像 发表于 01-31 14:09 824次阅读

    请问用CAN存储器存储的CAN总线数据帧格式有哪些呢?

    请问用CAN存储器存储的CAN总线数据帧格式有哪些呢? CAN总线是一种常用于汽车、工业控制和其
    的头像 发表于 01-31 13:46 427次阅读

    CAN总线需要屏蔽线传输通讯吗?如果用的话用哪种?

    CAN总线在传输通讯时需要使用屏蔽线,以提高信号的抗干扰能力和可靠性。
    的头像 发表于 01-30 10:06 737次阅读

    CAN总线的发展历程 CAN XL总线的典型应用

    CAN总线通讯协议由德国博世于上世纪80年代发明,第一个使用CAN总线通讯协议的量产车型是199
    的头像 发表于 12-21 14:03 1006次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的发展历程 <b class='flag-5'>CAN</b> XL<b class='flag-5'>总线</b>的典型应用

    基于CAN总线的自动化仪表的通讯模块的设计方法

    电子发烧友网站提供《基于CAN总线的自动化仪表的通讯模块的设计方法.pdf》资料免费下载
    发表于 10-18 09:26 0次下载
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的自动化仪表的<b class='flag-5'>通讯</b>模块的设计方法

    CAN数据帧--帧结构,你都了解吗?#汽车CAN总线 

    CAN总线数据
    北汇信息POLELINK
    发布于 :2023年10月11日 18:05:00

    基于CAN总线的温度测控系统介绍

    ,而且能够将分布在不同地点的温度测控模块通过cAN现场总线连接起来,接入PC机进行集中监控和管理。本系统采用CAN现场总线进行通讯,由于一条
    发表于 09-19 06:45

    can总线为什么要用双绞线?can总线不用双绞线可以吗?

    can总线为什么要用双绞线?can总线不用双绞线可以吗? CAN总线是一种
    的头像 发表于 09-14 16:48 4034次阅读

    can总线是单线还是双线 can总线通讯最少需要几根线

    CAN总线通常由两根线组成:CAN-High(CAN-H)和CAN-Low(CAN-L),也称为
    发表于 09-12 14:59 4913次阅读

    CAN总线通讯中终端电阻的作用

    终端电阻在CAN总线通信中起着重要的作用,它可以稳定信号传输,提高抗干扰能力。使用CAN总线时,我们应该正确地连接终端电阻,并选择合适的阻值,以确保通信的稳定和可靠。在RS-485/
    的头像 发表于 08-08 15:32 2719次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通讯</b>中终端电阻的作用

    CAN 总线错误检测机制#can总线

    CAN 总线
    北汇信息POLELINK
    发布于 :2023年05月26日 13:54:03

    虹科干货 | CANCAN FD总线常见故障诊断及解决

    CAN总线凭借着可靠、实时、经济和灵活的优势,在汽车、工业等领域得到广泛应用,并逐渐普及到电池储能、医疗器械、智能大楼等应用场景中。随着CAN总线在越来越多领域得到应用,
    的头像 发表于 05-19 09:55 4326次阅读
    虹科<b class='flag-5'>干货</b> | <b class='flag-5'>CAN</b>与<b class='flag-5'>CAN</b> FD<b class='flag-5'>总线</b>常见故障诊断及解决

    高速CAN通讯总线接收到无效串行数据是何原因?怎么解决呢?

    高速CAN通讯总线接收到无效串行数据是何原因?怎么解决呢?
    发表于 05-09 10:39

    关于CAN总线通讯的电磁兼容EMC设计

    CAN的目的是用多点、串行数字通讯技术取代常规的直接导线信号连接,可以节省大量车载设备的电缆布线。由于CAN总线芯片可靠性高、协议精练、价格低、货源广泛,因而在工业测控领域也获得广泛应
    的头像 发表于 05-04 15:03 1397次阅读
    关于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通讯</b>的电磁兼容EMC设计