控制 USB 需要哪些操作系统命令?



我是一名大学本科生,学习计算机工程,并尝试使用USB从使用USB连接到FPGA的Windows计算机向FPGA发送信号。我可以使用哪些命令从计算机输出/输入数据? 对于背景: 我正在一台Windows 10笔记本电脑上工作。我目前正在使用 python 来运行一个从用户那里获取数据的程序。数据实际上只是一组二进制位(最多大约 75 位(,我们的项目与编码有关,所以我们的 fpga 应该获取数据然后使用块码对其进行编码,然后将数据发回,然后数据被稍微损坏,发送回 FPGA,然后进行错误检查和解码并再次发送到计算机。我们拥有的FPGA是Cyclone 5(型号:5csema5f31c6(。 我最近开始学习操作系统类,由于操作系统控制程序如何使用硬件,我认为我的程序需要向操作系统发出某些命令,然后告诉 USB 做我们想做的事情。

答案取决于您用于与设备通信的特定驱动程序。 如果你的设备只是一个通用的 USB 设备,不适合现有类别(如键盘或打印机(,那么我建议使用名为 WinUSB 的驱动程序。

你需要编写(并签名(INF 文件或使用称为 OS 2.0 描述符的技术Microsoft告诉 Windows 你希望你的设备使用 WinUSB。

完成此操作后,可以使用名为 winusb 的Microsoft提供的 DLL.dll它可帮助你发送 WinUSB 驱动程序所需的命令。 您还需要首先使用SetupAPI来查找您的设备。 直接使用这两个Microsoft API 可能很困难,并且会使您的代码不可移植,因此您可以考虑使用 libusb 或 libusbp 等 USB 抽象库。

最新更新