USB 轮询作为虚拟串行 COM
USB polling as virtual serial COM
我正在努力解决这个问题,但一直找不到答案。一点背景(另外,我不知道这是否是完美的潜艇)。我即将完成电子工程专业的本科学习。 communication我们也没有研究太多,到现在也没有发现它的必要性。我目前正在以 400 Hz 的速率感应和数字化 150 Hz 带宽的信号。我将 1 s 的采样值存储在带有内置串行 USB 适配器的微处理器中,因此我可以将它直接连接到我的 PC,并且目前使用 Matlab,以 10 s 的循环将 uP 的内容转储到我的计算机.所以1s采样,倾倒; 1 s采样、倾倒……共10次。
据我所知,主机(我的电脑)中的 uP I/O UART+ 驱动程序和类似的东西允许将 USB 视为使用 rs 协议的串行端口。如果我用 C#、C++ 或类似的东西对其进行编码,该协议将允许使用中断。
但是从 USB 协议的角度来看,是主机通过以确定的速率轮询它来启动设备 IN 包。
所以,我的问题是。将 USB 端口用作串行虚拟端口时,此虚拟端口是否仅限于 USB 协议,还是以某种方式被覆盖(从轮询的角度来看)?我猜是前者。
我也很好奇,是所有主板都包含 USB 转串口接口,还是计算机通过软件处理?
我在写这篇文章的时候一直在阅读,我猜我所说的一些事情表明我对这些内容缺乏深刻的理解,所以请保持温和。我知道我需要阅读更多。
非常感谢。
我不是USB知识的专家,但我会根据我对VCP(虚拟COM端口)的实际使用来回答你的问题。
对于投票问题,是后者。一旦主机将设备识别为串行端口,该设备的工作方式几乎与内置串行端口(大多数现代计算机不存在)相同。唯一的区别似乎是一些参数设置,比如 VCP 的 LatencyTimer。
主机根据USB协议识别VCP,使用设备厂商驱动工作。如果我是正确的,它与计算机主板无关(通用 USB 支持除外)。
在我看来你不必太担心USB。虽然串口是一种过时的硬件,但它得到了各大软件工具包的良好支持。
我正在努力解决这个问题,但一直找不到答案。一点背景(另外,我不知道这是否是完美的潜艇)。我即将完成电子工程专业的本科学习。 communication我们也没有研究太多,到现在也没有发现它的必要性。我目前正在以 400 Hz 的速率感应和数字化 150 Hz 带宽的信号。我将 1 s 的采样值存储在带有内置串行 USB 适配器的微处理器中,因此我可以将它直接连接到我的 PC,并且目前使用 Matlab,以 10 s 的循环将 uP 的内容转储到我的计算机.所以1s采样,倾倒; 1 s采样、倾倒……共10次。
据我所知,主机(我的电脑)中的 uP I/O UART+ 驱动程序和类似的东西允许将 USB 视为使用 rs 协议的串行端口。如果我用 C#、C++ 或类似的东西对其进行编码,该协议将允许使用中断。
但是从 USB 协议的角度来看,是主机通过以确定的速率轮询它来启动设备 IN 包。
所以,我的问题是。将 USB 端口用作串行虚拟端口时,此虚拟端口是否仅限于 USB 协议,还是以某种方式被覆盖(从轮询的角度来看)?我猜是前者。
我也很好奇,是所有主板都包含 USB 转串口接口,还是计算机通过软件处理?
我在写这篇文章的时候一直在阅读,我猜我所说的一些事情表明我对这些内容缺乏深刻的理解,所以请保持温和。我知道我需要阅读更多。
非常感谢。
我不是USB知识的专家,但我会根据我对VCP(虚拟COM端口)的实际使用来回答你的问题。
对于投票问题,是后者。一旦主机将设备识别为串行端口,该设备的工作方式几乎与内置串行端口(大多数现代计算机不存在)相同。唯一的区别似乎是一些参数设置,比如 VCP 的 LatencyTimer。
主机根据USB协议识别VCP,使用设备厂商驱动工作。如果我是正确的,它与计算机主板无关(通用 USB 支持除外)。
在我看来你不必太担心USB。虽然串口是一种过时的硬件,但它得到了各大软件工具包的良好支持。