【问题标题】:What OS commands are needed to control USB?控制 USB 需要哪些操作系统命令?
【发布时间】:2020-01-31 16:19:45
【问题描述】:

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

【问题讨论】:

    标签: io operating-system windows-10 usb fpga


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多