假设我有一个自定义的 USB3 设备。是否可以发送“原始”数据,例如:
0x01 0x02 0x03
通过连接到该设备的 USB3 端口?
我必须使用什么协议?我已阅读了有关串行的内容,显然最快的速度是 115200bps 或 14kbytes/sec,这真的很慢。
假设 USB 设备“足够快”以“跟上”我的电脑:
- 我可以发送多少数据?
- 我多快能够将其发送?
- 有哪些限制?(例如 USB3 速度)
答案1
从字面意思来看,这个问题的答案是:
要与“自定义 USB3 设备”通信,系统必须具有自定义驱动程序。自定义驱动程序将与 USB3 主机控制器通信,而控制器将以适当的 USB 格式和协议排列所有数据。
是的,只要计算机应用程序准备好数据,并向驱动程序发出传输请求,就可以发送任何数据。例如,对于大容量存储 USB 设备,可以在文件中创建“原始”(递增模式或其他任何内容)二进制数据,然后将文件拖放到 USB 驱动器中。
串行 UART 协议与任何 USB 都无关。
数据量取决于设备类型。如果这是视频流设备,数据量是无限的,你可以永远播放电影流。如果设备是存储类型,数据量显然受限于设备容量。
如果设备的速度足够快以适应 USB3 协议,那么快速的计算机每秒可以单向传输约 450-480 MBytes 的数据。
USB3 Gen1 的限制是总线速度,即 500 Mbytes/s 减去链路管理和协议开销。