El estado del enlace USB se desconecta al salir de Deepsleep

0

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:

     
  1. una amplitud de señal máxima de micro-cuadro mucho mayor que la esperada (casi el doble);
  2.   
  3. un desplazamiento de nivel cero no deseado antes del micro-marco.
  4.   

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?

    
pregunta user3267021

1 respuesta

1
  

debemos suponer que el extremo del dispositivo pierde su alta velocidad (HS) 45 ohmios   (a saber) conexión de terminación al final de la fase de reanudación.

De la descripción del "equipo de hardware", su dispositivo no pudo restaurar la terminación del HS después del final de REANUDAR, lo que da como resultado la desconexión del HS (la amplitud del micro-cuadro se duplica debido a la ausencia de terminación en el diseño de su dispositivo).

Tenga en cuenta que en la descripción falta una parte importante del protocolo RESUME: en RESUME (estado K) iniciado por el host, el dispositivo debe DEVOLVER el MISMO estado de línea (estado K) como una señal de reconocimiento . El host reconoce este estado de dos vías cuando el tiempo de espera de 20 ms del lado del host caduca, pero el bus permanece en estado K Luego, el host espera a que el dispositivo finalice el estado K y continúa con la reanudación del tráfico inactivo de HS (SOF).

Por lo tanto, esta es la responsabilidad del dispositivo para finalizar la condición de REANUDAR y afirmar la terminación del HS de manera oportuna (1.33us). Así que parece que falta todo el protocolo de respuesta de su dispositivo. Su dispositivo recibe el RESUMEN correctamente, pero no responde correctamente. Faltan algunos enganches (tal vez en la parte de administración de energía del software del dispositivo).

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas