canopen 报文格式_通过示波器来学习CANopen通信报文格式

本文介绍了CANopen通信中的报文格式,包括标准帧和扩展帧的区别,详细解析了帧的各个组成部分,如RTR、IDE、DLC等。通过双通道示波器记录的CANH-CANL电压波形,展示了波特率、填充位的处理以及逻辑电平的转换。还提及了CANopen主站和从站的数据交互,以及如何使用逻辑分析仪进行报文数据解析。
摘要由CSDN通过智能技术生成

典型的2种帧格式

标准帧:具有11位标识符

扩展帧:具有21位标识符

两种帧格式的区别通过控制场“control frame”中的识别符扩展位IDE来实现

每部分的含义

数据帧和远程帧都可以使用标准帧格式或者扩展帧格式

RTR:远程发送请求位,数据帧为显性,远程帧为隐性。

SRR:代替远程请求位(在扩展格式中在RTR位置,所以得此名),该位为隐性位。在这个地方占个位以保持标准帧和扩展帧IDE对齐,便可以判断标 准帧优先于扩展帧。

IDE:标识符扩展位,标准帧为显性,扩展帧为隐性。

R0、R1:保留位。

DLC:数据长度位。

CRC:校验位。

CRC分隔符:隐性位

ACK:应答位和应答界定位。在应答域中,发送器发出两个隐性位。接收器接收到报文后,在应答位期间,用显性位填充应答位作为回应,应答界定 则为保持隐性。

帧结束:由7个隐性位组成。

电压波形

双通道示波器记录的CANH-CANL线之间的电压。

CANopen从站中波特率设置为50Kbit/s,那么最小的脉冲宽度为20us,也就是传输1bit的时间为20us。其中,示波器的采样时间为2us。

CANopen主站发送数据

CANopen主站中发送的数据为如下

相关硬件

CANopen从站为Kollmorgen RGM,CANopen主站为USBCAN的工具,未采用商用控制器。示波器为泰科的双通道,通道1和通道2分别连接CANH和CANL,因为RGM没有CAN GND印出来,所以参考地连接到48VDC供电的负端(不知道是否有问题)。

电压波形转换为逻辑值

把读到的总线电压转换为二进制电平,下面波形中可以明显的看到SOF和EOF,前面一组为主站发送的数据,后半部分为从站返回的数据。

删除填充位

在can的协议中当连续出现5个高电平时就需要插入一个低电平,所以在解析的过程中需要将这些插入的数据删除。第500-1000个数据中,就可以明显看到低电平作为填充位。

逻辑电平

CANH和CANL的电压差值中,高电平为显性,逻辑上表示为0,低电平为隐性,逻辑上表示为1。所以,把示波器中的电压转换为CAN逻辑电平时,注意取反。我们在看CAN总线资料的时候,总会看到一个线与的概念,显性电平的逻辑为0,隐性电平的逻辑为1,所以在仲裁的时候ID越小的帧优先级越高。显性电平为什么逻辑为0呢,其实,这都是CAN收发器芯片完成的工作,在收到显性电平的时候,芯片会在Rx脚输出低电平,即0,这样就实现了CAN差分电平与TTL电平的转换。

如果有逻辑分析仪,就可以方便从采集到的波形中解析成实际的报文数据格式。如ZEROPLUS,可以作为CAN2.0逻辑分析仪。

。。。。。。略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值