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.

[参考译文] MSP430FR5969:使用反向通道 UART 时、是否必须拉动 TX 或 Rx 线路?

Guru**** 2489685 points
Other Parts Discussed in Thread: THVD1449, MSP430FR5969, THVD1406

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1551674/msp430fr5969-when-using-back-channel-uart-do-i-have-to-pull-uo-the-tx-or-rx-line

器件型号:MSP430FR5969
主题中讨论的其他器件:THVD1449THVD1406

工具/软件:

我当时使用反向通道 (USCI_A0) UART p2.0 和 p2.1、以通过 RS485 执行串行通信。 但存在一些数据完整性问题。 所以我想知道 TX 线上的上拉电阻器是否起作用? 输出电压具有理想的低电平。 或者是否可以在程序中将其设置为高?

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

    UCA0 是反向通道(仅限)、通过 Launchpad 上桥接器 (J13) 接头上的 RXD/TXD 跳线连接到主机。 我假设您已移除这些跳线以连接 RS485 电路。

    我预计您会希望在 MCU RXD 引脚上连接上拉电阻器、因此它在断开连接时不易受噪声影响。 由于 TXD 引脚始终由 MCU 驱动、因此我认为您不需要它。 我在某种程度上随机挑选了一个 RS485 收发器芯片 (THVD1449) 及其数据表(SLLSF79B、第 9.2.2 节)、建议在 R 和/RE 上都连接 10k 上拉电阻。 (它还建议在 DE 上设置下拉电阻。)

    我的观察(通过读取论坛)是、最常见的 RS485 数据完整性错误是忘记等到最后一个 Tx 字节被时钟输出后再切换为 DE (UCA0STATW:UCBUSY=0)。

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

    我直接使用的是 MSP430FR5969 IC、 当我观察到 Tx 引脚时、它为低电平。 没有被驱动为高电平。  

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

    如果 UART 处于运行状态 (UCSWRST=0)、我预计 TXD(驱动)会变为高电平。 您如何测量?

    数据表 (SLAS704G) 表 6-52 指出、要在 P2.0/.1 上使用 UCA0、则需要 PSEL=10 (P2SEL1.x=1、P2SEL0.x=0)。  

    USCI 无法直接驱动 RS485。 您能描述一下 RS485 电路吗?

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

    当没有通信发生时、我使用万用表进行了检查。 看到 Tx 为低电平、Rx 为高电平。

    这也是我要做的

    1. USB 转 RS485

    2. RS485 到 TTL

    我使用的收发器是自动方向控制 THVD1406

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

    不要忘记 RS485 终端。

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

    我保留了端接电阻器、但在某些情况下、MCU 会逐个停止响应。 假设我有 3 个 MCU。 然后,当我连续轮询他们一个接一个停止响应在随机时间和所有一起停止。 “你以为你赢了吗?

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

    我不知道为什么。 但我担心的是自动方向控制。 它有一个非常短的超时时间。

    对于除最高比特率之外的所有比特率、发送器将在一位的中间关闭。 现在、该特定器件的接收器阈值可以满足要求、因为端接电阻器会使线路恢复为零伏。 希望其他 RS485 收发器是相似的。

    我还假设您有接地连接来控制共模电压。

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

    我再次通过了硬件、发现了一些遗漏的东西。 我使用的 USB 到 RS485 由 Waveshare 制造,它附带硬件自动控制。 所以我想这种方向控制可能与收发器的方向控制冲突在某些时候?  

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

    仅当两个尝试同时传输时才可用。 根据您使用的协议、这可能是、也可能不是。

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

    Waveshare 设备似乎基于我用于 RS485 的 FT232、没有问题。 (它提供了一个非常适合 RS485 发送器控制的信号。) 另一方面、提到的 RS485 芯片是一个问题。 其接收器阈值与您的自动方向控制不兼容。 在禁用发送器的情况下、线路电压将下降到该–200mV 至+200mV 的不确定区域。 不好

    这将需要失效防护终止。

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

    我不仅使用 IC、还使用 USB 转 RS485 转换器本身。

    我尝试了所有已知的可能的调试、进行了如下 操作:打开串行端口->清除输入输出缓冲区->执行一些操作->关闭无限循环中每个调用的串行端口。 执行此操作时、一段时间内没有遇到任何问题。

    仅打开端口时->执行一些操作->再次关闭端口某些设备没有响应、因为在某些呼叫中、如果我们跳过该呼叫、当遇到错误时、下一个呼叫将成功。 随着时间的推移、只有一个设备完全停止响应。