打印
[应用相关]

UART或RS232总线上是不是只能有一个发送端,但是可以有多个接受端

[复制链接]
1177|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梧桐uuu|  楼主 | 2025-3-2 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想做一主多从拓扑设计,一个主机带多个从机,主机的TX接多个从机的RX,RX并联,主机的RX接多个从机的TX,RX并联。
应答式通信,总线上每一个时刻只有一个从机发送数据。
实际情况是主机发送数据,每一个从机都能收到。但是任一从机发出的数据,主机收不到。

是不是多个TX不能并联?

使用特权

评论回复
沙发
LcwSwust| | 2025-3-2 21:05 | 只看该作者
从机TXD是推挽输出,假如两个TXD并联时,假如一个输出高、一个输出低,那最终输出到底是高还是低?
建议TXD串二极管后再并。

使用特权

评论回复
板凳
dukedz| | 2025-3-3 08:48 | 只看该作者
本帖最后由 dukedz 于 2025-3-3 09:00 编辑

本质上不能,实际上可以
本质上,每个 TX 都是输出,直接接一起信号会短路
实际上,每个 TX 脚可以在不发送的时候切换成 GPIO input 模式,这样就不会冲突和短路
实践上要注意:每个 TX 输出串个小电阻,预防软件没有及时切换 input 模式,降低意外短路的冲击
还有一种接法是每个 TX 脚配置成开漏输出,然后 TX 线上加上拉电阻,这种方式速率上限会稍微低一些
其实可以用一根线既做 RX 又做 TX,和上面说的一样,TX 推挽输出 + 不发送的时候切换到 RX 模式,或者 TX 一直开漏输出 + RX 一直使能。

RS232 没必要用于多机总线通讯了,建议用 RS485,支持硬件自动仲裁的对等通讯,上层软件也可以把 RS485 当作全双工使用代替 RS232,最多支持几百个节点,性能也最好,高达 50Mbps: https://bbs.21ic.com/icview-3350404-1-1.html

使用特权

评论回复
地板
公羊子丹| | 2025-3-4 07:41 | 只看该作者
是的,多个 TX 直接并联在一起会有问题,通常需要额外的电路,比如三态缓冲器或者使用 RS485 总线更合适。

使用特权

评论回复
5
周半梅| | 2025-3-4 07:43 | 只看该作者
你的拓扑结构在 RX 方向是没问题的,但 TX 方向多个从机会相互干扰,导致主机收不到数据。

使用特权

评论回复
6
帛灿灿| | 2025-3-4 07:45 | 只看该作者
解决方案之一是让每个从机的 TX 端加一个二极管(比如肖特基二极管),但这样会影响波形质量,可能需要加上上拉电阻。

使用特权

评论回复
7
童雨竹| | 2025-3-4 07:47 | 只看该作者
你可以考虑用 集电极开路(Open-Drain/Open-Collector) 方式,每个从机 TX 端加上上拉电阻,并确保只有一个从机在同一时间发送。

使用特权

评论回复
8
万图| | 2025-3-4 07:49 | 只看该作者
RS232 规范本身是点对点的,不支持总线型通信,建议使用 RS485,这样就可以支持多个设备互相通信。

使用特权

评论回复
9
Wordsworth| | 2025-3-4 07:51 | 只看该作者
如果一定要用 UART,可以考虑 使用多路复用器(MUX)或者三态驱动器(如 74HC125),这样确保只有一个从机的 TX 端在某一时刻连接到主机。

使用特权

评论回复
10
Bblythe| | 2025-3-4 07:53 | 只看该作者
你可以尝试在每个从机的 TX 端接一个小电阻(比如 1KΩ~10KΩ),这样虽然会影响信号质量,但可能能降低 TX 直接短路的问题。

使用特权

评论回复
11
Pulitzer| | 2025-3-4 07:58 | 只看该作者
如果你用的是 STM32,可以利用 半双工模式(USART 的单线模式),这样 TX 和 RX 复用同一根线,并且 STM32 硬件支持控制 TX 方向。

使用特权

评论回复
12
Uriah| | 2025-3-4 08:00 | 只看该作者
你试过让从机降低波特率并短时间发送数据吗?如果 TX 并联,但发送时序稍有重叠,也可能导致数据冲突。

使用特权

评论回复
13
Clyde011| | 2025-3-4 08:02 | 只看该作者
你要不要考虑用 软件控制 TX 使能引脚(比如用 GPIO 控制从机 TX),这样主机发命令后,只让被选中的从机 TX 使能,避免冲突?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

15

帖子

0

粉丝