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.

[参考译文] TM4C123BE6PM:UARTCTL.RXE 位操作和 RX 数据损坏

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/841019/tm4c123be6pm-uartctl-rxe-bit-operation-and-a-corruption-of-rx-data

器件型号:TM4C123BE6PM

您好!

我的客户使用 UART 6进行 RS485通信。

UART 端口 RX 数据有问题。 RS485总线上没有人发送数据时、端口接收到意外的字节。

为了解决意外的字节、他们添加了一个代码来打开/关闭 UARTCTL.RXE 位。

因此、它们会产生副作用。 接收到的值已开始损坏。

 

他们想要调查 RXE 位操作导致接收数据损坏的原因、并向我提出以下问题。

请给出建议。

 

[第1季度]

我的客户担心设置/清除 UARTCTL.RXE 位会导致 U6RX 引脚阻抗或电压发生变化。

您同意吗? 如果您同意,您能否请您注意阻抗和电压的变化程度?

 

[第2季度]

您能不能建议从设置 UARTCTL.RXE 位开始准备接收数据需要多长时间?

 

[第3季度]

您能不能建议从清除 UARTCTL.RXE 位到忽略新字节需要多长时间?

 

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

    原谅-请注意、我是一个"外部人员"、但在 RS485网络中遇到了(有点)类似的问题。

    虽然该供应商的 MCU 的"不专业"、但这些问题可能会"帮助供应商做出响应和诊断:

    • 您注意到收到"意外字节"-您(真的)是指"字节?"   在我们的案例中、RS485收发器(偶尔)出现毛刺脉冲、但(仅)产生单个"非法字节"。   如果您确实注意到(多个)字节-这是一个更严重的情况-并且应该"更容易"进行诊断。
    • RS485总线(MCU 端)是否正确端接?   (这是周期性干扰的已知原因)
    • 是否引入了其他电源或 RS485总线"阻抗"(可能)-这可能会导致/促成此类干扰?
    • 一如既往-这种情况是否在(多个)电路板上发生?   单板异常是诊断的"祸根"。
    • 虽然不常见、但请检查"所有 RS485总线参与者"的波特率是否均已达到平衡、并且每个都符合最低规格要求
    • 许多此类 RS485收发器"保留"旁路电容器和足够的电源布线、同时"保持 RS485的差分信号"平衡"
    • 差分"总线信号对"应避免相邻的并联导体运行、尤其是噪声和/或电源-进入"近/近"触点。

    遵循这些指南已使我们的"多个供应商- MCU-RS485收发器实现方案"能够长期成功-不会发生意外。   

    我是否可以注意到、我与客户的'UARTCTL.RXE Bit'(管理人员)"不同意"-因为这是一个"症状"-而不是"原因"-所述问题...   (正如您所注意到的-有自己-引入了新的(可能更复杂)问题!)

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

    Nambu-San、您好!

    [引用 user="Hideaki Nambu"]

    我的客户担心设置/清除 UARTCTL.RXE 位会导致 U6RX 引脚阻抗或电压发生变化。

    您同意吗? 如果您同意,您能否请您注意阻抗和电压的变化程度?

    [/报价]

    我不同意这一点、这只是一个寄存器、用于启用数据是否存储在器件中。 它完全应该影响硬件、因为它根本不会关闭引脚。

    这基本上由以下语句证明:"如果 UART 在接收过程中被禁用、它会在停止前完成当前字符。"

    如果禁用 RXE 会影响引脚阻抗或电压、则无法完成数据接收。

    [引用 USER="Hideaki Nambu"]您能否告知您从设置 UARTCTL.RXE 位到准备接收数据所需的时间?

    遗憾的是、我没有找到任何有关这方面的规格。 在典型应用中、该位始终在 UART 中启用、看起来不像为切换该位而设置的规范。 我想它只需几个时钟周期即可生效、但起始位至少需要在寄存器写入完成后到达。 如果他们处于非常严格的打开时间、甚至可能成为问题的情况下、我不确定这是解决该问题的正确方法。

    CB1关于如何调试根本原因(接收到的意外字节)的想法应该被审查、因为如果它们可以解决根本原因、那么就不需要这个变通办法、这样意外字节就不再出现了。

    [引用 USER="Hideaki Nambu"]您能否告知您从清除 UARTCTL.RXE 位到忽略新字节所需的时间?[/quot]

    如 DS 中所述、如果正在接收当前字节、则它将在停止接收数据之前结束接收。 如果没有接收到字节、一旦设置、它将停止接收数据。 客户应记住、起始位将位于数据之前、因此即使获得起始位也会导致接收到该字节。

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

    现在、两个人同意客户对'UARTCTL.RXE 位'的'管理'似乎有误。

    如果“多个,非法字节”(真的)到达... 这是一个更大的问题。   幸运的是、这种干扰的预期"增加持续时间"(通常)会增加诊断成功的可能性...

    ***只会产生一个问题-我 的小组阅读海报, “接收意外字节 ”为“连续字节!”   (一个紧接着另一个)   

    海报应该是指(相反)"随机字节-最常出现的是"一次一个字节"-这是一种不同的动物-此类干扰的"可变性和简洁性"(通常)将"提高诊断难度的程度"。

    海报对他" 接收意外字节"这一短语的"意图"(即含义)的澄清 将"加快、简化和增强"诊断工作...

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

    CB1和 Ralph、

    非常感谢您的回复。 很好。

    我正在与客户谈论 RS485指南和 UARTCTL.RXE 位的使用。

     

    很抱歉,我的词语令人困惑。