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.

[参考译文] TM4C123GH6PM:UART 硬件流控制引脚作为 RS485驱动器使能引脚

Guru**** 2473260 points
Other Parts Discussed in Thread: NA555

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/682203/tm4c123gh6pm-uart-hardware-flow-control-pin-as-rs485-driver-enable-pin

器件型号:TM4C123GH6PM
主题中讨论的其他器件: NA555

尊敬的所有人:

我正在尝试使用 SP3485 IC (数据表)将 TM4C123GH6PM 控制器中的现有 UART 连接替换为 RS485

通过将 RE 和 DE 引脚连接在一起、是否有任何方法可以使用硬件流控制来在传输时自动设置方向、如下所示?

根据我的理解,发送端在发送之前检查其 CTS 引脚的状态, 而接收端使用 RTS 来表示“Go”或“STOP”。 将 RTS 从 OFF 变为 ON 表示 Rx 缓冲区中的数据量低于 RBL、而将其从 ON 变为 OFF 表示长度高于 RBH。 因此、不可能使用 RTS 或 CTS 进行自动方向选择。

如果我错了、请纠正我的问题。

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

    此处的某些 MCU 采用(接近)"支持调制解调器"的 UART。   (包含多个"过去"的调制解调器流控信号)
    这种添加的 UART 功能通常只出现在驻留在 MCU 上的多个 UART 实例中的一个(可能是两个)上。

    如果您的 MCU 不是"幸运"的、则怀疑 "可能会有一个或多个 UART 的现有中断"被按下以实现您的目标。   我怀疑 A: "不完全匹配-但"可维修匹配"。

    向论坛搜索框(本页顶部)的关键字"RS485"和/或"UART 流控制"提供结果列表以及他人为实现您的目标所做的尝试...

    虽然您的目标是公平高效的(许多)"在 RS485下成功运行"、首先是"倾听"、然后才是"听"(由简单的 GPIO 提供-您"知道何时"-您将要传输)-然后立即返回到"接收模式"。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正确、RTS 和 CTS 不是用来控制本地收发器、而是 RS232信号、用于在正确缓冲后控制流量并发送到通信链路的另一端。 最好只使用软件控制下的 I/O 引脚来改变流速。

    如果您绝对需要自动方向控制、以下是使用 NA555执行此操作的应用手册。
    www.ti.com/.../tidubw6.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    相信事实证明、"添加供应商 Bob 的建议"("只使用 I/O 引脚")("确定")要求"首先倾听-确保 RS485总线安静"、然后(如果安静)"启动传输!"  

    RS485线路驱动器之间的总线争用"应避免"和" 在传输前监听"提供 了一个重要的"安全因子"。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    当您建议"发射前先听"时-这是一种特定于固件的解决方案、还是有任何方法可以通过电气方式检测流量?
    换言之、我如何确保 RS485安静?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="ethanil"]它是固件特定的解决方案,还是有任何方法可以通过电气手段检测流量?

    这是一个公平和深思熟虑的问题。   (但同样公平的是您的"绿色环保印章审批"。)

    通过将 RS485驱动器的输出路由到(另一个) GPIO (即与 UART_RX "并行")可能会"更快速地检测到流量-这可能会生成中断-因此无需用户干预。   (如果存在该 "中断"、则 RS485总线将显示为"忙!"  这(可能)是"自动"的。)

    如果总线使用量很小、则可以"保存" GPIO -那么"单独监听"就足够了。

    甚至可以使用" 总线占线中断" 来"自动切换"您的 RS485驱动器、尽管这是以额外的 GPIO 为代价的!   (两枚绿色邮票已申请!)