虚拟 Com 端口下的底层硬件

Posted

技术标签:

【中文标题】虚拟 Com 端口下的底层硬件【英文标题】:Underlying hardware beneath virtual Com port 【发布时间】:2016-03-27 03:35:10 【问题描述】:

我有一个设备通过 USB 电缆连接到我的 PC 的 USB 端口,在设备管理器中显示 ->“XYZ corp 虚拟 COM 端口 (COM A)”

这与串行 Com 端口相同吗?设备端和主机端的底层硬件是什么 - 分别是 Uart 或 USB 或两者兼而有之?

【问题讨论】:

"这和串行通信端口一样吗?" -- 对于应用程序,是的。主机端是一个 USB 主机控制器。该适配器是 USB 设备控制器,功能等同于 UART 和 RS232 线路驱动器。 【参考方案1】:

听起来您的 USB 设备使用的驱动程序在您的计算机内部提供了串行端口接口。这意味着其他软件可以使用 Windows 提供的串行端口 API 连接到它并将其用作串行端口。该软件不需要知道您的 USB 设备的详细信息;它只需要知道在 Windows 中使用串行端口。 Windows 附带了一个经常用于执行此操作的驱动程序,该驱动程序名为 usbser.sys。您的设备可能正在使用 usbser.sys 或者它可能正在使用其他驱动程序。

串行数据通过计算机的 USB 端口和 USB 电缆传输。如果您查看 USB 电缆上的信号,您将不会看到典型的串行信号:您会看到常规的 USB 数据包恰好携带串行端口所需的数据。

然后,该电缆末端的 USB 设备可能将该数据转换为串行信号并像普通串行端口一样工作,或者该数据可能直接在设备内部使用。如果没有相关产品的链接,很难告诉您更多信息。

【讨论】:

没错。我在设备管理器中查看,发现我的设备使用的是usbser.sys。驱动程序。我知道 PC 在通常的 USB 接口上发送数据,而在设备端我将其作为 UART 数据包接收。我在设备和 PC 的 USB 之间发现了一些其他控制器。你的解释很有意义我。你知道usbser.sys与哪些组件(sw或h/w)交互,它的上方和下方是什么。是这样的吗:应用程序--->串行端口APIS--->usbser.sys。 -->USB主机控制器驱动-->usb硬件???

以上是关于虚拟 Com 端口下的底层硬件的主要内容,如果未能解决你的问题,请参考以下文章

3.Docker与LXC虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件

虚拟化技术知识总结

虚拟化

原生数字化时代,底层软硬件协同推动企业转变发展思维

kvm和VMware有何区别?

4.1.Android的硬件加速官方文档