11

处理与在 Windows 设备管理器中显示为 COM 端口的 USB 设备进行通信的 USB 类的名称是什么?对于 linux(至少对于 Fedora 17 和 Ubuntu 12.04),这些端口显示为 ACM(抽象控制模型,/dev/ttyACM#)。

我知道从历史上看,串行通信主要是通过现在已弃用的 RS-232 串行端口完成的。我相信今天的标准是使用 HID 通过 USB 进行通信。

谷歌搜索 ACM 显示它是 CDC(通信设备类)的一部分,CDC(通信设备类)是与 HID 相对的 USB 通信类(即 USB 设备可能使用 HID 或 CDC)。这篇维基百科文章揭示了 CDC/ACM 是一种通过 USB 模拟 RS-232 通信的方法。

有了这些信息,这种形式的串行通信不应该被称为“CDC”或“CDC/ACM”吗?

4

2 回答 2

4

据此 USB 连接的“虚拟 COM 端口”确实使用 USB CDC 类。

于 2012-12-11T18:31:45.373 回答
2

处理与在 Windows 设备管理器中显示为 COM 端口的 USB 设备通信的协议名称?

在大多数情况下,使用专有协议,例如在 FTDI/PL2303/SiLabs Serial2USB 芯片中。它们使用 Windows 特定的界面显示为 COM 端口,但这与 ACM 无关。

如果您有选择 - 例如在您自己的 USB 微控制器上 - 我建议放弃 COM 端口并使用 WINUSB 或 LibUSB 直接与您的设备通信,即使您每个只有一个 Bulk-In 和 Bulk-Out 端点。

于 2012-12-09T17:42:39.797 回答