Zynq-7000 SoC、USB - 在端口进入暂停状态之前,暂停位被置位

描述

当软件指示 USB 控制器(主机、器件或 OTG)进入暂停状态时,控制器逻辑就会立即设置暂停状态位。如果控制器忙于 USB 事物处理任务,则在实际进入暂停状态前,它会进行等待。

尽管控制器行为违反了 EHCI 规范,也不会造成功能问题,因为延迟时间通常少于 10 毫秒,即应用程序实行强制恢复之前的等待时间。 这也不会影响 USB 合规性测试。

(1楼)解决方案

judyzhong 在 星期四, 05/31/2018 - 15:01 发表。

影响:

很小。行为不符合 EHCI 规范,但适应于应用要求。

解决方法:

无.

受影响的配置:

使用 USB 控制器和暂停状态的系统

EHCI 规范在 SUSP 位描述中的声明如下:“在暂停状态,端口对于恢复检测比较敏感。注意,位状态直到端口暂停后才发生变化;如果当前在 USB 上有事务处理任务正在执行,那么端口暂停可能有所延迟。”

在 USB 控制器中,当应用对 SUSP 位进行设置而且此时端口没有被暂停,SUSP 位 (port_suspend_r) 会立即变化。

注意:这一原则适用于 USB Suspend (L2),而非 LPM L1 Suspend。 在 LPM Suspend 的实现方面不存在问题。

具体影响: 很小。尽管 USB 控制器的行为违反了 EHCI 规范的规定,也不会造成任何功能问题。按照 EHCI 规范的要求,应用在端口宣布被暂停后必须至少等待 10 毫秒,才能使用 Force Port Resume 位进行端口恢复。