查看: 1563|回复: 2

[求助] S32K144 can总线负载率100%时,高优先级报文会被丢失ack

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
12
最后登录
2024-11-11
发表于 2024-11-7 17:56:49 | 显示全部楼层 |阅读模式
协议栈使用CANBededded协议栈,
1 使用CANOE发送505报文,唤醒设备。
2 CANOE发送高优先级报文,CANID 为1, 并使总线负载率达到100%。
3 此时会周期看到,总线上面有not acknowledge error的错误帧,CAN ID为1。
4 用示波器抓波形可以看到,收发器RX已经检测到波形,但是TX没有发出ACK信号(2A1报文是设备周期发送的报文,优先级低,无法发送成功)。


我知道答案 目前已有2人回答
D2qCbz7suozpvUxy(11-06-11-38-05).png
回复

使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 1849 天

    连续签到: 4 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112633
    最后登录
    2025-7-22
    发表于 2024-11-7 22:12:49 | 显示全部楼层
    不是太熟悉这个,但是提供一点猜测。
    ACK由接收节点发出,就是接收节点在收到了正确的报文以后,会在ACK SLOT阶段发送一个显性位,这个时候接收节点发出来的显性位和下一帧报文夹在一起了?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    12
    最后登录
    2024-11-11
     楼主| 发表于 2024-11-11 14:58:15 | 显示全部楼层
    stm1024 发表于 2024-11-7 22:12
    不是太熟悉这个,但是提供一点猜测。
    ACK由接收节点发出,就是接收节点在收到了正确的报文以后,会在ACK SL ...

    不是的, CAN总线发送报文,会先仲裁,仲裁失败不会发送报文。
    所以 下一帧报文, 不确定是那个节点能发出来。
    而且, ACK是在当前帧的过程中, 其他ECU检测到ACK SLOT时, 只在该位输出有效电平, 和下一帧报文是没有关系的。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-27 18:34 , Processed in 0.090589 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表