USB:了解恢复和挂起状态

USB:了解恢复和挂起状态,usb,Usb,我不理解USB协议(USB 2.0)中的“恢复”和“暂停”模式 USB 2.0规范规定: 如果在中规定的时间内未观察到总线活动,则所有设备必须挂起 第七章。连接的设备必须准备好在其通电的任何时候挂起,无论它们是否 已分配非默认地址或已配置。总线活动可能会由于主机进入 它自己的挂起模式 第7章规定的时间长度为3帧。我不明白“没有公交车活动”是什么意思:它是否意味着根本没有数据包?这是否意味着没有数据包发送到此设备(因此,如果设备检测到SOF数据包,则不应进入暂停模式?) 此外,当集线器端口关闭时,

我不理解USB协议(USB 2.0)中的“恢复”和“暂停”模式

USB 2.0规范规定:

如果在中规定的时间内未观察到总线活动,则所有设备必须挂起 第七章。连接的设备必须准备好在其通电的任何时候挂起,无论它们是否 已分配非默认地址或已配置。总线活动可能会由于主机进入 它自己的挂起模式

第7章规定的时间长度为3帧。我不明白“没有公交车活动”是什么意思:它是否意味着根本没有数据包?这是否意味着没有数据包发送到此设备(因此,如果设备检测到SOF数据包,则不应进入暂停模式?)

此外,当集线器端口关闭时,USB设备也应进入暂停状态 它连接到已禁用的。这称为选择性挂起

如何禁用集线器端口?是集线器端口本身决定这样做(在哪种情况下?)还是主机向集线器发送命令以执行此操作(此命令是什么?)? 假设从设备的角度来看,挂起和选择性挂起是相同的,因为在这两种情况下,设备只看到没有总线活动,这是否正确

当存在总线活动时,USB设备退出挂起模式。USB设备还可以请求主机 通过使用电信号指示远程唤醒,退出暂停模式或选择性暂停

我不明白这部分。为什么USB设备会请求主机退出挂起模式或选择性挂起,因为这始终是启动事务的主机


感谢您的帮助。

总线活动指设备看到的任何数据包

我不知道选择性挂起的所有细节,但我相信操作系统可以在没有任何东西试图使用USB设备时判断,然后告诉USB端口挂起设备以节省电源


至于为什么USB设备会请求主机退出挂起模式:您是否注意到,您可以通过按键盘上的键或单击鼠标上的按钮将计算机从睡眠中唤醒?

如果我理解正确:鼠标在一定时间内不会发送任何更改的数据=>计算机决定执行挂起操作选择性挂起并关闭端口=>由于端口已关闭,鼠标看不到任何总线活动并挂起自身。对于鼠标,选择性挂起和挂起之间没有区别:两者都是因为没有总线活动而发生的?或者有一个鼠标必须处理的选择性挂起命令吗?但是如果鼠标决定唤醒,它怎么做呢,因为它不会看到总线活动?是的,USB设备不能告诉有多少设备被挂起。没有挂起命令。您可以在USB2.0规范中搜索有关“远程唤醒”和“恢复信令”的详细信息:这就是鼠标发出信号表示要结束挂起模式的方式。也许第7.1.7.7节是一个很好的起点。