This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TCAN4550-Q1:TCAN4550 CAN 消息监视器

Guru**** 2013480 points
Other Parts Discussed in Thread: TCAN4550-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1348539/tcan4550-q1-tcan4550-can-message-monitor

器件型号:TCAN4550-Q1

大家好、

客户提出以下有关 TCAN4550-Q1的问题  

当它们测试 CAN 消息的发送和接收时、使用接收 FIFO 时、由于 RX FIFO 容量太小、当总线负载较高时、RX FIFO 将被填充、导致丢失消息帧。
他们想问几个问题、
当读取 FIFO 接收缓冲区时、它是否会继续在总线上接收消息?
2.如果继续接收,接收到的消息将在 FIFO 中已有的消息之后排队,还是在 FIFO 中有可用空间时被存储?

谢谢!

斯嘉利特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Scarlett:

    1. 当读取 FIFO 接收缓冲区时、它是否会继续在总线上接收消息?

    当读取存储在 RX FIFO 缓冲区中的消息时、MCU 需要"确认"该缓冲区中的消息已被读取、以便让 TCAN4550-Q1知道该 RX FIFO 缓冲区元素现在可用于新消息。  这是通过向 RX FIFO 确认索引寄存器0x10A8或0x10B8写入缓冲元素索引值来完成的、具体取决于您使用的是 RX FIFO 0还是 RX FIFO 1。

    2. 如果您继续接收、接收到的消息将在已在 FIFO 中的消息之后排队、还是会在 FIFO 中有可用空间时存储?

    只要报文有未使用的缓冲元件可用来存储新报文、报文就会正常地存储在 RX FIFO 中。  如果 RX FIFO 变满、器件将执行两项操作之一、具体取决于您在 RX FIFO 配置寄存器0x10A0和0x10B0中配置 FIFO 操作模式位的方式。  

    如果该字段已设置为"0"(默认值)、RX FIFO 会阻止存储任何新消息。  这意味着您将保留接收到的最早邮件、但可能会错过到达的较新邮件。

    如果此字段已设置为"1"、则 RX FIFO 将覆盖存储的最早消息、您将始终保持收到的最新消息、但您将丢失最早的未读消息。

    建议使用滤波器来排除不必要消息的接收、以帮助降低 FIFO 填充率、并将该电平保持在可管理的水平、从而防止满 FIFO 和消息丢失。

    此致、

    乔纳森