是否可以通过 USB 端口高速发送“原始”数据?

是否可以通过 USB 端口高速发送“原始”数据?

假设我有一个自定义的 USB3 设备。是否可以发送“原始”数据,例如:

0x01 0x02 0x03

通过连接到该设备的 USB3 端口?

我必须使用什么协议?我已阅读了有关串行的内容,显然最快的速度是 115200bps 或 14kbytes/sec,这真的很慢。

假设 USB 设备“足够快”以“跟上”我的电脑:

  • 我可以发送多少数据?
  • 我多快能够将其发送?
  • 有哪些限制?(例如 USB3 速度)

答案1

从字面意思来看,这个问题的答案是:

  1. 要与“自定义 USB3 设备”通信,系统必须具有自定义驱动程序。自定义驱动程序将与 USB3 主机控制器通信,而控制器将以适当的 USB 格式和协议排列所有数据。

  2. 是的,只要计算机应用程序准备好数据,并向驱动程序发出传输请求,就可以发送任何数据。例如,对于大容量存储 USB 设备,可以在文件中创建“原始”(递增模式或其他任何内容)二进制数据,然后将文件拖放到 USB 驱动器中。

  3. 串行 UART 协议与任何 USB 都无关。

  4. 数据量取决于设备类型。如果这是视频流设备,数据量是无限的,你可以永远播放电影流。如果设备是存储类型,数据量显然受限于设备容量。

  5. 如果设备的速度足够快以适应 USB3 协议,那么快速的计算机每秒可以单向传输约 450-480 MBytes 的数据。

  6. USB3 Gen1 的限制是总线速度,即 500 Mbytes/s 减去链路管理和协议开销。

相关内容