这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » STC32G12K128测试程序的扩展帧实测波形

共2条 1/1 1 跳转至

STC32G12K128测试程序的扩展帧实测波形

专家
2024-02-16 13:08:10   被打赏 40 分(兑奖)     打赏

使用之前STC32G12K128的测试程序,固定周期以扩展帧模式发送数据。

其中发送方的ID为:0x01303132=00000001 00110000 00110001 00110010

发送的数据为:Can1-123= 01000011 01100001 01101110 00110001 00101101 00110001 00110010 00110011

实测波形如下

图片1.png对应的数据(从0开始的部分):

00000110011001100001100010011001000010000100001101100001011011100011000100101101001100010011001000110011011001101000100101111111110000000

扩展帧数据结构

图片2.png

数据对比:

图片3.png可以看到ID的B0~B24都能对上,实际波型数据中的前几位,没搞明白是什么情况,尤其是前11位ID中多出了一个1,数据位后面多出了8位。可能参照的标准不对。后面有时间再查证。根据STC32G12K128中的资料,CAN2.0B的扩展帧数据格式:

图片4.png也对不上号。





关键词: 菜鸟学单片机          STC32G12K128     CAN通    

专家
2024-02-16 14:39:26     打赏
2楼

根据CAN收发的协议:

(1) 发送单元的工作 在发送数据帧和遥控帧时,SOF~CRC 段间的数据,相同电平如果持续 5 位,在下一个位(第 6 个位)则 要插入 1 位与前 5 位反型的电平。

 (2) 接收单元的工作 在接收数据帧和遥控帧时,SOF~CRC 段间的数据,相同电平如果持续 5 位,需要删除下一个位(第 6 个 位)再接收。如果这个第 6 个位的电平与前 5 位相同,将被视为错误并发送错误帧。

所以ID前11位中多出来的那个1 ,大概是因为前面出现了连续5个0的原因。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]