Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[Linux] CAN通信经常收到错误帧

44

积分

0

威望

0

贡献

技术小白

积分
44

CAN通信经常收到错误帧

发表于 2022-6-6 15:07:39      浏览:9406 | 回复:19        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
本帖最后由 翁金平 于 2022-7-11 17:13 编辑

与电机控制器通信经常出现错误帧,打印如下:
[ERROR] [1654498195.150578337]: Received error frame: 20000088#0000020000000052
[ERROR] [1654498195.151746160]: Received error frame: 20000088#000002000000005b
[ERROR] [1654498195.152665568]: Received error frame: 20000088#0000020000000064
[ERROR] [1654498195.153192021]: Received error frame: 20000088#000002000000006d
[ERROR] [1654498195.153864890]: Received error frame: 20000088#0000020000000076

CAN详细信息如下:
3: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/can  promiscuity 0
    can state ERROR-WARNING (berr-counter tx 0 rx 0) restart-ms 0
          bitrate 500000 sample-point 0.850
          tq 100 prop-seg 8 phase-seg1 8 phase-seg2 3 sjw 1
          rockchip_can: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..128 brp-inc 2
          clock 100000000numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

收到错误帧后can state 由ERROR-ACTIVE变为ERROR-WARNIN,通信波特率500k。
用研华工控机CAN设备控制都是正常的没有错误帧。


log.txt

2.85 KB, 下载次数: 3, 下载积分: 灯泡 -1 , 经验 -1

candump-2022-07-11_090825.rar

3.67 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

2122

积分

20

威望

24

贡献

中级创客

Rank: 4

积分
2122
发表于 2022-6-6 15:50:41        只看该作者  沙发
去年的固件can时钟频率不足,换今年的固件试一下
回复

使用道具 举报

44

积分

0

威望

0

贡献

技术小白

积分
44
发表于 2022-6-6 15:58:54        只看该作者  板凳
Liuth 发表于 2022-6-6 15:50
去年的固件can时钟频率不足,换今年的固件试一下

请问今天的固件时钟频率是多少
回复

使用道具 举报

44

积分

0

威望

0

贡献

技术小白

积分
44
发表于 2022-6-6 18:01:20        只看该作者  地板
Liuth 发表于 2022-6-6 15:50
去年的固件can时钟频率不足,换今年的固件试一下

换了新固件,时钟显示200m
3: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/can  promiscuity 0
    can state ERROR-WARNING (berr-counter tx 0 rx 0) restart-ms 0
          bitrate 500000 sample-point 0.875
          tq 250 prop-seg 3 phase-seg1 3 phase-seg2 1 sjw 1
          rockchip_can: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..128 brp-inc 2
          clock 200000000numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
但还是不断打印这个错误
[ERROR] [1654509526.782943988]: Received error frame: 20000088#000000000000002d
[ERROR] [1654509526.783218161]: Received error frame: 20000088#0000000000000036
[ERROR] [1654509526.783452958]: Received error frame: 20000088#000000000000003f
[ERROR] [1654509526.783655088]: Received error frame: 20000088#0000000000000040
[ERROR] [1654509526.783852259]: Received error frame: 20000088#0000000000000051
[ERROR] [1654509526.784058764]: Received error frame: 20000088#0000000000000052
回复

使用道具 举报

997

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
997
发表于 2022-6-7 09:56:23        只看该作者  5#
请问出现错误帧的接收频率是多少?
回复

使用道具 举报

44

积分

0

威望

0

贡献

技术小白

积分
44
发表于 2022-6-7 09:59:18        只看该作者  6#
dengkx 发表于 2022-6-7 09:56
请问出现错误帧的接收频率是多少?

错误帧20000088对应的应该是
#define         CAN_ERR_BUSERROR   0x00000080U /* bus error (may flood!) */
#define         CAN_ERR_PROT   0x00000008U /* protocol violations / data[2..3] */
重启CAN后会正常几秒,后面频率越来越高 最后全部都是错误帧,收不到其他数据。
回复

使用道具 举报

997

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
997
发表于 2022-6-7 10:35:22        只看该作者  7#
翁金平 发表于 2022-6-7 09:59
错误帧20000088对应的应该是
#define         CAN_ERR_BUSERROR   0x00000080U /* bus error (may flood!) */
...

你接收到错误帧时,can的发送频率是多少?1K?还是2K?
回复

使用道具 举报

44

积分

0

威望

0

贡献

技术小白

积分
44
发表于 2022-6-7 15:00:44        只看该作者  8#
dengkx 发表于 2022-6-7 10:35
你接收到错误帧时,can的发送频率是多少?1K?还是2K?

没明白什么意思,总线上大概每秒20条报文,总线占用率很低
回复

使用道具 举报

997

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
997
发表于 2022-6-7 16:00:38        只看该作者  9#
本帖最后由 dengkx 于 2022-6-8 17:21 编辑

用这
回复

使用道具 举报

997

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
997
发表于 2022-6-7 16:05:31        只看该作者  10#
等等,传错了
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表