您好!
我的应用程序有一个端口始终连接到另一个板载器件、因此该端口的可移除位将被清除。
除非连接的 USB 端口处于挂起状态、否则无法将该设备置于休眠状态。 该器件确实具有 VBUS 检测输入、但我不想移除该信号上的5V 电压以将器件置于睡眠状态、因为此时端口将进入分离状态、并在重新应用5V 电压时导致重新枚举。
问: 是否可以通过操作使用的位使该端口挂起和恢复? 我甚至需要这么做,或者如果没有向端口发送下游数据,端口是否会自动进入挂起状态?
谢谢。
-Ken
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我的应用程序有一个端口始终连接到另一个板载器件、因此该端口的可移除位将被清除。
除非连接的 USB 端口处于挂起状态、否则无法将该设备置于休眠状态。 该器件确实具有 VBUS 检测输入、但我不想移除该信号上的5V 电压以将器件置于睡眠状态、因为此时端口将进入分离状态、并在重新应用5V 电压时导致重新枚举。
问: 是否可以通过操作使用的位使该端口挂起和恢复? 我甚至需要这么做,或者如果没有向端口发送下游数据,端口是否会自动进入挂起状态?
谢谢。
-Ken
您好 Ken、
设置集线器中已使用或可移动的位只会更改集线器在其器件描述符中报告其配置的方式。 因此、如果只设置了3个已使用的位、则它将报告为3端口集线器、而不是4端口。 它并不会真正改变集线器的操作。 USB 集线器本质上是受 USB 主机命令控制的从设备、它们不能独立挂起端口。 根据 USB 规范、USB 主机可以发送命令来独立暂停/恢复单个端口、但 大多数通用主机/集线器驱动程序不支持此功能、并暂停和恢复整个总线。
此致、
JMMN
您好 Ken、
您无法强制在器件上启用 DP 上拉以进入挂起模式。 HS 器件将仅降至 FS 模式、并在总线上无活动3ms (无 SOFS 或来自主机的其他流量)后启用其 DP 上拉电阻器以进入挂起模式。 如果您尝试在线路上交换1.5K 上拉电阻、HS 器件仍将启用其 HS 端接(45欧姆)、您只需创建偏移/损坏、这可能会导致主机的总线复位。 USB 是主机控制的总线、因此没有强制从集线器或设备挂起的干净方法。
此致、
JMMN