这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » CAN通信经常收到错误帧怎么办

共8条 1/1 1 跳转至

CAN通信经常收到错误帧怎么办

工程师
2023-09-15 09:18:56     打赏

1.jpg

问题描述及复现步骤:

与电机控制器通信经常出现错误帧,打印如下:

[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设备控制都是正常的没有错误帧。





关键词: CAN    

助工
2023-09-15 09:19:52     打赏
2楼

去年的固件can时钟频率不足,换今年的固件试一下



工程师
2023-09-15 09:20:15     打赏
3楼

换了新固件,时钟显示200m

pYYBAGNiKMyAYhP7AAIe2JdgRDg491.jpg


助工
2023-09-15 09:20:32     打赏
4楼

请问出现错误帧的接收频率是多少?


工程师
2023-09-15 09:20:48     打赏
5楼

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


助工
2023-09-15 09:20:59     打赏
6楼

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


工程师
2023-09-15 09:21:12     打赏
7楼

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


助工
2023-09-15 09:21:23     打赏
8楼

500K用can输入时钟改成150M,用ip -details link show can0看一下有没有500K,如果没有:


共8条 1/1 1 跳转至

回复

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