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.

[参考译文] TL16C754C:从 FIFO 读取数据时数据丢失

Guru**** 2451870 points
Other Parts Discussed in Thread: TL16C754C, TL16C554A

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/831969/tl16c754c-data-loss-when-reading-data-from-fifo

器件型号:TL16C754C
主题中讨论的其他器件: TL16C554A

大家好、

  在这里了解您很高兴。 我的客户正在评估 TL16C754C。 他们遇到以下问题、

  • TX 数据可由 PC 接收;
  • 当 PC 向该设备发送数据(如"11 22 33 44 55 66 77...")、并且每次读取一个字节时都会检查 LSR 寄存器的雕像时、只能得到"11 61 33 F5 55..."
  • 如果 使用 TL16C554A、则不会出现问题;

请帮助调查此问题并找出根本原因。 谢谢。  

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

    您好、Lin、

    您可能会看到与此器件勘误表相关的组帧错误:

    上述文档中也介绍了解决方法^^

    -Bobby

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

    您好、Bobby、

      感谢您在这里的帮助。 根据我们的测试、我们认为这不是位勘误问题。 如果我们在读取 FIFO 数据期间未读取寄存器值、我们可以获取所有数据。 主要问题是如何确保我们已读取 FIFO 中的所有数据? 我们使用的主要方法是读取 LSR 寄存器以检查雕像。  

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

    您好、Lin、

    只是为了确认、您的意思是、当他们在发送一个字节后读取 LSR、然后读取该字节时、这是不正确的、但如果他们在发送所有数据之前忽略 LSR (请勿读取)、他们会得到正确的值?

    此外、它们发送的最大值(和最小值)是多少?

    谢谢、

    -Bobby

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

    您好、Bobby、

      你是对的。  无论发送多少数据、结果都是相同的。 但是、如果使用 TL16C554A、则不会发生问题。  因此、我们可能需要您的帮助才能找到根本原因。谢谢。  

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

    您好、Lin、

    抱歉、我似乎忽略了这条线。 您是否仍然对此有疑问?

    要回答另一个问题、您可以通过同时检查器件的 RXRDY 引脚来检查是否读取 RX FIFO 中的所有字节。

    是否可以在代码中添加一些延迟来读取字节、并在这两者之间添加更多的中断? (可能需要等待几毫秒才能将 IOR 拉低?)

    谢谢、

    -Bobby