将多个 COM 端口连接为一个

Posted

技术标签:

【中文标题】将多个 COM 端口连接为一个【英文标题】:Connect several COM ports into one 【发布时间】:2016-02-19 00:36:04 【问题描述】:

我将有几个带有 atmel 微控制器的设备,我将使用 COM 连接到 PC。有什么方法可以将多个设备连接到一个 COM 中? (假设 COM 可以处理我需要传输的大量数据,并且我可以选择使用 COM 发送数据的方式)

【问题讨论】:

【参考方案1】:

当然,通过串行将 ATmegas 链接在一起,并使用单个 USB 串行设备。将您需要发送的所有数据组合起来,然后从单个串行端口发送出去。在每个 ATmega 中,您可以将所有数据中继到下一个,或者使用更智能的方案,只转发用于其他 ATmega 的数据。

【讨论】:

您是否建议将单片机串联起来,最后一个将数据依次通过所有其他单片机发送到PC? (那么,每个微控制器都应该支持接收数据并将其传输到下一个链?)【参考方案2】:

标准的 RS232 COM 端口不允许将多个设备连接到一个端口。因为多个设备的并联可能会改变电信号特性,例如电压电平。您可以按照 uint128_t 的建议构建 ATmegas 链或将物理接口类型更改为 RS485。

【讨论】:

我知道 RS232 电缆的简单“物理”连接是行不通的,我只需要一种方法来解决我的问题)Tnx 指向 RS485,我会检查一下【参考方案3】:

RX 引脚:您可以将更多 RX 引脚连接在一起。

TX 引脚:如果您确保任何时候只有一个处于活动状态,您可以将多个 TX 引脚连接在一起。其他引脚必须配置为输入或高阻抗。这可以通过合适的协议来完成。

连接在一起的引脚的寄生电容相加 - 这最终会限制传输速度。

【讨论】:

以上是关于将多个 COM 端口连接为一个的主要内容,如果未能解决你的问题,请参考以下文章

TCP server 为什么一个端口可以建立多个连接?

Python 2.7:支持一个端口上的多个连接的流式 HTTP 服务器

serversocket 类如何在同一个端口上服务多个客户端连接?

AD09怎样将多个原理图更新到一个PCB文件中

一个端口上的多个连接

如何自动检测串行 COM 端口 c# 的连接