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:TX FIFO

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/824094/tcan4550-q1-tx-fifo

器件型号:TCAN4550-Q1

你(们)好

请帮您回答以下问题吗?

过程为:10 TX FIFO、周期为10ms、查询 FIFO TX 状态(TXFQS)、发送空闲 FIFO 中的包(复制5个包、由 TXBAR 发送)、等待下一个10ms。  

查询 FIFO 状态并设置 断点后、我们发现空闲 FIFO 大于10、 但如果查询 FIFO、然后设置断点、再发送并设置断点、等待更长时间、然后再次查询 FIFO、空闲 FIFO 为10。  

我想在查询和设置中断点后应该有10个空闲 FIFO、因为10ms 足以发送5个数据包、但我需要等待更长时间以确保有10个空闲 FIFO。  

这是正常的吗? 发送数据包后、FIFO 是否会刷新为空?  

谢谢。   

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

    韦恩、

    需要注意的一点是、在使用 TXBAR 发送 FIFO 消息之前、TXFQS 寄存器中的 FIFO 空闲电平不会更新。 因此、如果您向其写入消息、然后设置断点、然后读取空闲级别、则在传输这些消息之前、它仍将读取为空。 话虽如此、我不知道在配置10个 FIFO 时为什么会看到10个以上的空闲 FIFO。

    您能给出 TXBC 寄存器(0x10C0)的值吗? 存储器配置可能会停止、听起来好像正在配置10个以上的 TX FIFO、然后在发送一些消息后、空闲级别将更新为10个空闲 FIFO。 发送数据包后、FIFO 应刷新为空、但仍可以覆盖这些数据包。

    此致、

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

    您好、Wayne、

    您是否有要共享的更新?  您是否有机会查看 Eric 的上述评论?

    此致、
    最大

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

    感谢 Max 和 Eric。

    我已经告诉客户如何做、他们现在正在暑假、所以目前没有反馈、我认为我们已经解决了这个问题。  

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

    Max、Eric、

    客户返回工作、告诉我问题尚未解决。  

    让我再次澄清这个问题、  

    如果他们使用以下命令:1. 读取 FIFO 状态、2. 复制和发送、发送请求、3. 等待下一个10ms (无其他操作、只需等待)、4. 读取 FIFO 状态、FIFO 中始终有10个空 FIFO、这是正常的。  

    如果他们使用以下命令:  1.读取 FIFO 状态,2. 复制和发送、发送请求、3. 等待接下来的10ms (在此10ms 内、它们发送5个帧、但在8ms 内完成)、4。 读取 FIFO 状态、有时有10个空 FIFO、但有时不到10个空 FIFO。 这是异常的。 这是我的问题。  

    TXBC 为:TFQM=0、TFQS[5:0]=10、NDTB[5:0]=0、TBSA[15:0]会自动计算。  

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

    韦恩、

    感谢您的澄清和跟进。  

    为了确保我了解:

    在这两种情况下、TXFIFO 的状态都是从 TXFQS 读取的、然后消息被放置在 TXFIFO 中并执行发送请求、等待10ms、然后再次读取 TXFQS 寄存器。 唯一的区别是在第二种情况下、等待期间传输5个帧。 我想我有点困惑、如果为这些消息写入 TXBAR、为什么在第一种情况下不设置帧。

    这可能是消息发送正确的情况、因此在复制和发送请求后 TXFIFO 将完全清空。 如果 TXFIFO 中的空闲单元少于10个、那么某些报文将无法正确发送、并且仍然占用 FIFO 中的空间。

    CCCR 寄存器是否有任何读取方式(0x1018)? TXBPR 寄存器(0x10CC)和中断寄存器(0x1050)位于 TXFIFO 未显示正确数字的情况之后?

    此致、

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

    Eric、

    此问题现已解决。 它们的10ms 计时器在10ms 内不固定、因此有时少于10ms、则不会发送所有封装、因此空 FIFO 有时小于10。

    感谢您的支持。