Detectar un dispositivo USB conectado sin tener que suministrar alimentación de 5 voltios todo el tiempo

1

Estoy diseñando un dispositivo con el procesador PIC32MX795 que actuará como un host USB. Como se trata de un dispositivo que funciona con batería, preferiría no suministrar 5 voltios todo el tiempo en el puerto USB (el dispositivo funcionará con una batería de litio Poly de 3.7 voltios y utilizará un convertidor de refuerzo de CC a CC para generar los 5 voltios). ).

Me gustaría mantener el dispositivo apagado tanto como sea posible cuando no haya nada conectado al conector USB. ¿Hay alguna forma de despertarse cuando alguien conecta un dispositivo USB al conector?

Incluso si tengo que despertarme una vez cada segundo durante unos pocos milisegundos, eso podría ser aceptable, pero preferiría no tener que encender los 5 voltios cada vez.

EDITAR: Después de conectar un dispositivo y obtener datos de él, luego, después de algún retraso, me gustaría apagarlo para que ya no se vuelva actual. Esto obligará al usuario a desconectar el dispositivo y volver a conectarlo para leer los datos nuevamente, lo cual está bien.

    
pregunta tcrosley

1 respuesta

3

No puede contar con lo que hará un dispositivo cuando no reciba alimentación USB válida. Por ejemplo, puede que ni siquiera encienda sus resistencias de subida / bajada para indicar la velocidad hasta que piense que está enchufada en un USB, que podría detectar al observar la tensión de alimentación del bus.

Si puede tolerar un poco de retraso cuando un dispositivo está enchufado, despiértese periódicamente y encienda la alimentación USB durante un rato. Un problema es que los dispositivos pueden tardar un poco en aparecer una vez que se aplica la alimentación. Algunos de mis programadores PIC, por ejemplo, tienen esperas deliberadas de unos 100 ms después de que se ejecutan antes de encender el USB. Esto es para asegurarse de que todo esté realmente estable antes de hablar con el anfitrión. No hay garantía de cuánto tiempo debe esperar a que un dispositivo quiera hablar con el host después de ser alimentado por el USB. Un medio segundo es probablemente lo suficientemente bueno para la mayoría de los casos, pero no puedes saberlo con seguridad.

Una estrategia más confiable sería hacer un convertidor que tome muy poca energía cuando no se extraiga corriente de su salida de 5V. Eso no debería ser demasiado difícil. Si se realiza correctamente, el drenaje en una salida de 5 V sin nada conectado puede ser de unos pocos microamperios o menos.

El USB está optimizado para dispositivos livianos a costa de una mayor carga para el host. No hay almuerzo gratis.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas