2384094_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2384094_zh-CN

2384094_zh-CN

关于 S32K312 FlexCAN 勘误表中增强型 RX FIFO 和消息缓冲区使用的澄清

你好, CANerrata1.pngCANerrata1.pngCANerrata0.pngCANerrata0.png

我目前正在使用 S32K312 上的 FlexCAN 模块,并打算使用增强型 RX FIFO (ERF) 进行接收。在查阅 S32K312_0P09C 勘误表时,我发现了以下与增强型 RX FIFO 操作相关的勘误:

  • ERR052403 – 当消息缓冲区 (MB) 被锁定超过一个 CAN 帧时间时,增强型 RX FIFO 中 CAN 帧丢失。
  • ERR052438 – 使用增强型 RX FIFO 时,CAN 帧可能会丢失。
  • ERR052558 – 读取增强型 RX FIFO 时,消息缓冲区溢出状态可能会被清除。

这些勘误中提到的解决方法建议避免使用某些消息缓冲区,特别是 MB0–MB7 和 MB0、2、10、12、20、22、30、32、40、50 和 60。

我想澄清以下几点:


  1. 增强型接收FIFO和消息缓冲区的内存组织
    • 启用增强型 RX FIFO 时,它内部是否使用与消息缓冲区 0-63 相同的内存空间?
    • 如果不是,增强型 RX FIFO 和消息缓冲区是否完全独立,允许 ERF 专门用于接收,而消息缓冲区独立用于发送和/或接收?
  2. 启用 ERF 时使用消息缓冲区
    • 如果启用增强型 RX FIFO,并且完全避免使用勘误表中列出的消息缓冲区,而仅使用剩余的消息缓冲区进行传输,是否存在其他限制或已知问题?
    • 针对上述勘误,是否完全支持“ERF 用于接收 + 不受影响的 MB 用于发送”的配置,并且是否被认为是安全的?
  3. ERF 和消息缓冲区的并发使用
    • 如果 ERF 用于接收,并且仅配置了不受影响的消息缓冲区用于接收和/或发送,上述勘误是否仍会导致丢帧或其他意外行为?
  4. 使用勘误表中列出的消息缓冲区
    • 启用 ERF 时,受影响的消息缓冲区(MB0、2、10、12、20、22、30、32、40、50 和 60)是否可以安全地用于接收?
    • 如果它们不应用于接收,那么它们是否可以用于发射而不会产生任何问题?
    • 更一般地说,NXP 是否建议完全避免使用这些消息缓冲区,还是根据它们配置为 RX 消息缓冲区还是 TX 消息缓冲区而存在特定的限制?


我希望能够了解 ERF 和消息缓冲区之间的内部内存映射关系,以及可靠运行的推荐配置。

谢谢





Re: Clarification on Enhanced RX FIFO and Message Buffer Usage with S32K312 FlexCAN Errata

您好,

请查看我对所提问题的反馈……

1.
a) 不,ERF 和 MBs 不共享同一内存
b) 是的,ERF 可用于接收消息和 MB 以进行 TX 和/或 RX 操作。这种用法肯定没什么错误。

2.
a) 此组合(接收端使用 ERF,发送端使用不受影响的 MB)不存在问题。
b) 是的,这种配置(接收使用 ERF + 发送使用不受影响的 MB)是完全受支持的,并且根据勘误表被认为是安全的。

3. 对于组合模式(ERF 用于接收,且仅配置了不受影响的 MB 用于接收和/或发送),未观察到丢帧和其他异常行为。

4.
a) 不,当使用 ERF 时,应避免在受影响的 MB 上使用接收功能。
b) 受影响的 MB 也不应用于 TX。
c) 是的,建议在启用 ERF 时完全避免使用这些受影响的 MB。

BR,彼得

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎06-23-2026 02:33 AM
更新者: