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

    文章

    6159

    浏览量

    184244
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2690

    浏览量

    463075
收藏 人收藏

    评论

    相关推荐

    CAN总线基础知识汇总#CAN #CANoe #汽车总线

    CAN总线
    北汇信息POLELINK
    发布于 :2024年11月04日 13:35:54

    什么是CAN时钟?#CAN #汽车CAN总线  #CANoe

    CAN总线
    北汇信息POLELINK
    发布于 :2024年10月29日 12:23:36

    CAN总线知识】深度解析CAN-FD与CAN协议的差别

    总线运用较多的汽车领域,总线通讯数据量越来越大,例如电动汽车上,汽车内部出现更多的辅助系统和人机交互系统,这就使得传统的CAN
    的头像 发表于 10-23 08:06 265次阅读
    【<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>知识】深度解析<b class='flag-5'>CAN</b>-FD与<b class='flag-5'>CAN</b>协议的差别

    CAN/CAN FD/CAN XL三大总线协议解读,是逐步替代关系吗?

    电子发烧友网报道(文/吴子鹏)在软件定义汽车逐渐成为主流的当下,数据传输的速度和效率成为打造智能汽车的瓶颈,在这种大背景下,传统CAN总线应对一些需求已经相当吃力,因此CAN FD和
    的头像 发表于 08-12 01:12 4077次阅读

    CAN总线数据帧结构

    CAN总线是一种基于时间分割的通信协议,它允许多个设备共享一个通信介质(如双绞线或光纤)。CAN总线数据传输速率可以达到1 Mbps,适
    的头像 发表于 07-24 15:06 641次阅读

    CAN总线数据偶尔出错原因

    总线数据偶尔会出现错误,影响系统的正常运行。 一、CAN总线概述 1.1 CAN总线定义
    的头像 发表于 06-16 10:54 989次阅读

    如何使用示波器检测CAN总线上的信号

    CAN总线(Controller Area Network)是一种用于汽车和工业领域的通信协议,广泛应用于各种电子控制单元(ECU)之间的数据交换。示波器是一种电子测量仪器,用于观察和
    的头像 发表于 06-16 10:03 1807次阅读

    can高和can低之间的电阻怎么测量

    ,广泛应用于汽车、工业自动化等领域。在CAN总线中,通信是通过两条线(CANH和CANL)进行的,分别代表高电平和低电平。电阻的测量对于确保信号的完整性和稳定性至关重要。 2. 理解CAN
    的头像 发表于 06-16 09:43 2485次阅读

    什么是CAN总线通信?CAN总线工作原理

    这意味着变送器通过CAN收发器改变总线电平,并将其信息传输到CAN总线。接收器通过监测总线电平将总线
    发表于 02-19 14:53 5628次阅读
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>工作原理

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

    技术,CAN总线能够实现稳定通信,适应长距离传输和嘈杂环境的要求。MiniCANUnitMiniCANUnit是一款小型CAN总线通讯单元,
    的头像 发表于 02-19 12:47 419次阅读
    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 2450次阅读

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

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

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

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

    CAN总线地址和总线访问,数据保护

    越来越多的ECU之间的数据的相互交换,早期的网络结构已经不能满足现有的需要, CAN总线应运而生。
    发表于 12-04 17:05 307次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>地址和<b class='flag-5'>总线</b>访问,<b class='flag-5'>数据</b>保护