Red de conocimiento informático - Problemas con los teléfonos móviles - El teclado stm32usb evita que la computadora se active al arrancar

El teclado stm32usb evita que la computadora se active al arrancar

1.Señal de reinicio USB

Después de que el dispositivo USB entre en estado de suspensión, la señal de reinicio lo despertará. La señal de reinicio puede ser iniciada por el host USB o activada por el propio dispositivo USB, pero solo el host USB puede finalizar la señal de reinicio.

(1) El host puede activar el dispositivo invirtiendo la polaridad de la línea de datos durante 20 milisegundos, finalizando con una señal EOP de baja velocidad después de suspender el dispositivo.

(2) Si el dispositivo admite la activación remota, el dispositivo puede iniciar una solicitud de activación remota al host, siempre que el dispositivo entre en estado inactivo durante al menos 5 ms, el dispositivo conducirá el bus al estado K, como se muestra en la figura siguiente, el estado K debe mantenerse dentro de 1 ms-15 ms, esta señal será absorbida por el host dentro de 1 ms y el host continuará enviando la señal de activación hasta 20 ms. y terminar con la señal EOP de baja velocidad.

2. Activación remota por USB

Cuando el controlador del host se bloquea, todos los dispositivos no pueden enviar datos al host, entonces, ¿cómo sabe el host la solicitud de activación del dispositivo? La respuesta es a través de señales eléctricas. Como se muestra a continuación (usb_20.pdf Página-333), el dispositivo necesita generar una señal eléctrica de estado K de 1 ms a 15 ms (aquí, se toma 10 ms como ejemplo), y el concentrador capturará la señal en 1 ms (en este momento momento en que el dispositivo realmente puede dejar de conducir el estado K), el concentrador realizará la misma operación que el dispositivo y pasará esta señal al controlador principal. El controlador principal se hará cargo de la operación de activación y el host continuará manejando el estado K. señal de activación hasta 20 ms y finalice con una señal EOP de baja velocidad Complete la operación de activación del dispositivo. Si se trata de un dispositivo de mouse, el sistema inactivo a veces se restaurará. De hecho, aquí podemos ver que debido a que el dispositivo envía una señal de interrupción de IO al sistema host, el sistema host puede implementar una serie de operaciones posteriores mediante la detección.

3. Estado J y estado K

Diferencia LS (baja velocidad) 0 del estado J

Diferencia FS (velocidad máxima) 1

K estado LS (baja velocidad) diferencia 1

FS (velocidad máxima) diferencia 0

4.Mecanismo de activación remota del dispositivo USB STM32

Primero, utilizamos El mouse USB STM32 diseñado por el autor se utiliza como ejemplo para el análisis. Tome el mouse USB STM32 como ejemplo para el análisis.

1. Los periféricos USB deben admitir la función de activación remota.

Los periféricos USB deben admitir la función de activación remota. Por supuesto, los periféricos USB STM32F103 cumplen con las especificaciones técnicas de USB2. 0 dispositivos de velocidad completa, por lo que admite la función de activación remota.

2. Configuración del descriptor del dispositivo USB para activación remota

El atributo del dispositivo Bit5 del descriptor de configuración del dispositivo USB debe ser 1 (activación remota).

El código fuente del descriptor de configuración del dispositivo de mouse STM32F103 es el siguiente. El séptimo byte contando desde 0 es 0xE0 (1110000b), lo que indica que el dispositivo es autoalimentado y tiene una función de activación remota. .

3. Análisis del código de activación remota del dispositivo USB STM32

La función implementada es que después de que el STM32 presiona un botón, el dispositivo USB STM32 envía un control remoto

señal de despertador.