CAN不能接收的故障排查

CAN分析仪可以发送,但不能接收的故障排查

滤波器设置

传统CAN模式分为掩码模式和列表模式。列表模式只接收符合指定ID的帧,保存指定ID使用2个32位寄存器,分为16位模式和32位模式。16位模式可以存4个ID。32位模式可以存2个ID。掩码模式就是接收指定符合要求的ID哪几位为1,0不关心。如果全为0,则全接受。

CAN-FD模式增加范围接收和拒绝

采样因子设置

关于采样点的计算,
( 1 + T S E G 1 ) / ( 1 + T S E G 1 + T S E G 2 ) (1+TSEG1)/(1+TSEG1+TSEG2) (1+TSEG1)/(1+TSEG1+TSEG2)
采样因子设定要靠近7/8这个值(0.85~0.9),如

时钟频率Sync_segSJWTSEG1TSEG2采样点波特率
16111320.8751M
20111630.851M

同步跳转宽度

波特率在不同CAN收发器内会有误差,所以需要一个类似同步时钟的规则,一般设置宽度为3~4.值越大容忍度越高。

大数据传输下几个特殊的配置使能

  hfdcan1.Init.AutoRetransmission = ENABLE;		//自动重发
  hfdcan1.Init.TransmitPause = DISABLE;
  hfdcan1.Init.ProtocolException = ENABLE;		//故障检测

我在stm32上调试连续发送1024个字节数据时,发现有漏帧情况出现。通过使能自动重发得以解决。
其余还有硬件电路板是否清洁干净也引起接收不良。

gitee代码下载(CAN_FD)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值