Estoy desarrollando la función de hibernación USB en la plataforma que usa el controlador USB Synopsis DWC3. Cuando solo USB se reanuda desde el estado de suspensión, no hay problema.
Pero me enfrento a un problema mientras mi dispositivo se reanuda desde el modo de suspensión profunda. Al reanudar el estado del enlace, aparece como 4 (Desconectado), lo que conduce a una nueva enumeración de USB.
Desde el equipo de hardware hay una consulta con respecto a este problema que no puedo entender. Por favor vea abajo,
En el sueño profundo observamos:
- una amplitud de señal máxima de micro-cuadro mucho mayor que la esperada (casi el doble);
- un desplazamiento de nivel cero no deseado antes del micro-marco.
Estos comportamientos erróneos coinciden con la hipótesis de una terminación 0 de terminación simple faltante (SE0) en uno de los extremos orientados hacia la corriente. Dado que el host es el maestro Suspender / Reanudar que funciona correctamente con cualquier otro dispositivo USB 2.0, debemos suponer que el extremo del dispositivo pierde su conexión de terminación de Alta Velocidad (HS) de 45 ohmios (a saber) al final de la fase de Reanudar.
Por dispositivo de especificación debe conectar la terminación HS dentro de 1.33 us desde el final de Reanudar (USB D - flanco descendente), por lo que normalmente el hardware USB 2.0 PHY está listo para reaccionar de antemano desde que comenzó el estado de Reanudar. Observamos que el dispositivo detecta el inicio del estado de reanudación correctamente, al aumentar el consumo de energía en unos pocos milisegundos, lo que indica una reacción inmediata para salir del estado de suspensión profunda. La reanudación no durará menos de 20 ms, lo que es suficiente para preparar USB 2.0 PHY para estar lista para responder a la Detección de finalización de la reanudación y la terminación SE0 relevante requerida por el enlace de comunicación del HS.
Si el dispositivo SE0 falla, la amplitud de la señal aumentada y monitoreada por el host que se produce en la primera micro-trama provoca que el host ingrese en un estado de Desconexión de alta velocidad, seguido del restablecimiento de USB, negociación de FS a HS, re-enumeración, etc.
¿Alguien podría explicar cuál es la consulta anterior?