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.

[参考译文] UCD3138:UART 中的 RX 错误标志

Guru**** 2564100 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/905659/ucd3138-rx-error-flag-in-uart

器件型号:UCD3138

尊敬的 UCD 专家:

请参阅以下 TRM 的屏幕截图、其中显示 RXERR 标志位于 UARTRXST 中、但遗憾的是、在 UARTRRXST 寄存器位图中找不到该位。 这是 TRM 中的拼写错误吗?

但是、我认为 UARTINTST 寄存器中有可用于显示错误标志的相关位。  是否可以将这些寄存器用于错误检测?  

如果使用以下处理 UART 通信错误的代码,是否有风险? 如果有更好的方法、请帮助我了解。 谢谢。。。

UNION UARTINTST_REG uartINTST = UART0Regs.UARTINTST;

if (uartINTST.bit.RX_ERR)

   /*重置 UART 模块*/
   Uart0Regs.UARTCTRL3.bit.SW_RESET = 1;
   Uart0Regs.UARTCTRL3.bit.SW_RESET = 0;

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

    您好、Jack、看起来《技术参考手册》不正确。  我想它尝试引用 UARTINTST 中的 RX_ERR 位。  您还将在那里找到一组 UART 接收错误。  我们的一般方法不是查看这些错误、而是为每个消息提供校验和并使用它进行验证。  UART 规范是在发送简单文本时设计的、除了奇偶校验或过载和欠载之外、没有其他方法可以检测错误。  您可以尝试使用它们、但我们在应用中尚未这样做。  校验和似乎足够、而且更简单。

    除非您知道没有正在处理的消息、否则我不建议重置 UART。  您不能确定消息不会在任何时候出现、除非您有特殊的系统情况、例如、消息仅针对您的消息发送给您。  如果执行重置、则会损坏传入的任何消息。  复位后、它将在总线上等待至少11位的空闲状态、然后重新开始接收数据。  如果 UART 与停止位和起始位不同步、那么该长度的延迟也将用于重新同步。  如果您使用2个停止位、则很可能无法同步。  当然、如果您在重置时正在传输、您也会损坏您正在传输的任何内容、并且由于它将立即重新启动、您可能会使消息的接收器不同步。   

    不同步实际上是损坏消息传播错误的唯一方式、至少是在字节级别。  如果您正在执行自动波特、则复位会很有用、但它具有与我前面提到的相同的缺点。   

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

    尊敬的 Ian:

    感谢您的支持。

    您能不能帮助我知道如果设置了错误标志、UART 会发生什么情况? 我从 C2000系列器件(如 F2803x)中知道、如果错误标志被设定、那么 UART 将不再能够接收新消息、并且需要复位 UART 模块。 我不确定我们的 UART 是否具有相同的行为。

    如果不建议复位 UART、那么处理错误的正确方法是什么? 或者、我们可以忽略错误标志位、不需要对错误执行任何操作、是吗?

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

    但是、我从未进行过专门测试 、也从未听说过它会锁定。  我想我和其他人已经用足够的波特率漂移来测试它、从而导致帧错误。  您应该能够在开环板上执行同样的操作-只需将一个串行端口的输出连接到另一个串行端口的输入、并在波特率上做出足够的差异以导致错误。  我知道、当我们测试自动波特率时、我们还测试了数据接收错误所需的时间。  这应该会导致组帧错误、并且它不会导致锁定、至少我们注意到了这一点。   

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

    感谢您提供此信息。