将两个串行端口连接到一个串行端口

时间:2016-10-26 09:20:24

标签: serial-port serial-communication

我想将两个串口连接成一个串口。假设有三个系统A,B和C.

enter image description here

A,B和C使用星形连接等串行通信(RS232端口)相互连接。 所以,情况就是这样。 当系统C将数据发送到系统A和系统B时,它将发送到两个系统。但是当系统A或系统B发送数据时,系统C不会收到它。

所以我想知道如何与串口设备通信到其他串口设备(多设备)。

4 个答案:

答案 0 :(得分:1)

这根本行不通。您必须将两条TX线路连接到一条RX线路,但RS-232(与以太网不同)不是共享介质协议,无法检测TX冲突(当两台设备同时尝试通话时)。

您需要在中间实施一个设备,将其收到的内容转发给其他设备。即使这样,它也必须知道其他设备正在说话的协议,以防止中断的消息(例如只停止换行符)。

答案 1 :(得分:0)

您可以将它们连接成环:Atx-> Brx,Btx-> Crx,Crtx-> Arx,然后每个设备都必须转发不是它的消息。这不需要任何狡猾的diody /抵抗hokum pokum。

这种方法的一大好处是它不会对节点施加任何不同时通信的限制: - )

答案 2 :(得分:0)

在此配置中它无法工作,因为串行通信(RS232)可以提供两个设备之间的通信而不是更多!

      TX| -> |RX
device1 |  - | device2
      RX| <- |TX

要解决此问题,您必须使用其他协议作为RS485或其他协议。

答案 3 :(得分:-2)

是的,这绝对有效,至少在某些限制下/在明确的电压条件下。

  • 保持C:TX的接线 - &gt;答:RX和B:RX

  • 对于另一个方向,通过使用&#34;半双工&#34;将A + B TX数据组合成C:RX引脚的一个信号。具有二极管和电阻的布线方案,例如Lammert Bies' circuit for Half duplex RS232 spy / monitor / sniffer cable或此Spy Cable circuit中所示。如果A和B在RS232电压规格中很好,两种变体都可以正常工作。

  • 限制:A和B不能同时发送数据,即&#34;半双工&#34;只要。如果A和B同时发送,您将收到未定义/垃圾数据。

不过,还有其他Stackoverflow posts that confirm this works。检查那里收到两个upvotes的第二个答案。