世纪电源网社区logo
社区
Datasheet
标题
返回顶部
原创

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

[复制链接]
查看: 1092 |回复: 9
1
LOTO2018
  • 积分:1828
  • |
  • 主题:68
  • |
  • 帖子:82
积分:1828
LV6
高级工程师
  • 2020-6-3 16:50:33
最近在做运动控制卡的项目,调试样机的过程中,需要验证CAN总线通讯功能的正确性。以前只限于理论上认识CAN总线,使用的CANbus的通讯卡也是有上位机例程,基本上简单地配置上位机软件就可以正常工作了。这次调试需要深入测试CAN接口的通讯过程,正好把之前的对CAN的认识再复习深化一下。




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




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



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



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



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




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

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




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





根据波形进行数据解码需要注意的有两点:
1:在CAN协议中将CAN_H和CAN_L的差值为高电平时定义为显性,逻辑上表示为0,为低电平时定义为隐性,逻辑上表示为1。
2:在CAN的协议中当连续出现5个显性时就需要插入一个隐性。

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




所以,波形数据解读为:



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

00000000000011000001001100010100000001010101011110011010001111100000111101111


这个数据帧发出的数据为:
1010101111001101
0xAB, 0xCD
解析结果与上位机收发的结果互相验证正确,所以此次运动控制板的CAN接口功能调试成功完成。




收藏收藏1
tmcent
  • 积分:26693
  • |
  • 主题:242
  • |
  • 帖子:1152
积分:26693
LV10
总工程师
  • 2020-6-3 18:03:35
  • 倒数9
 
学习了,还没注意过这个
zxs2000
  • 积分:1466
  • |
  • 主题:7
  • |
  • 帖子:180
积分:1466
LV6
高级工程师
  • 2020-6-3 22:05:25
  • 倒数8
 
学习了,非常详细
top041376
  • 积分:6700
  • |
  • 主题:21
  • |
  • 帖子:101
积分:6700
LV8
副总工程师
  • 2020-6-4 10:34:43
  • 倒数7
 
这个示波器能解析CAN数据包么
LOTO2018
  • 积分:1828
  • |
  • 主题:68
  • |
  • 帖子:82
积分:1828
LV6
高级工程师
  • 2020-6-8 17:38:07
  • 倒数5
 
可以 ,每个型号都带





LOTO2018
  • 积分:1828
  • |
  • 主题:68
  • |
  • 帖子:82
积分:1828
LV6
高级工程师
最新回复
  • 2022-3-17 15:53:24
  • 倒数1
 
可以哦
Aaron_2020
  • 积分:183
  • |
  • 主题:0
  • |
  • 帖子:1
积分:183
LV2
本网技师
  • 2020-6-4 10:58:58
  • 倒数6
 
学习了 谢谢楼主
lynn_ricky
  • 积分:1347
  • |
  • 主题:0
  • |
  • 帖子:174
积分:1347
LV6
高级工程师
  • 2021-11-24 18:25:33
  • 倒数4
 
学习了。。。。。。
sparrowe
  • 积分:320
  • |
  • 主题:4
  • |
  • 帖子:41
积分:320
LV4
初级工程师
  • 2021-11-25 13:58:00
  • 倒数3
 
大喊一声, 感谢博主  
play__king
  • 积分:297
  • |
  • 主题:0
  • |
  • 帖子:34
积分:297
LV3
助理工程师
  • 2021-11-30 13:22:55
  • 倒数2
 
楼主真的用心  果断收藏
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号