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.
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。
感谢您的支持。