Estoy diseñando un dispositivo con USB OTG que tiene algunos componentes que consumen mucha energía y que solo deberían ejecutarse desde una fuente externa, pero el dispositivo aún debería poder configurarse desde una PC a través de USB. Se me ha ocurrido el siguiente esquema:
Se omiten las líneas de datos USB y los condensadores para mayor claridad.
El firmware puede detectar el estado del pin de ID, deshabilitar el interruptor de carga para evitar la retroalimentación del host desde la línea de 5V.
Cuando se conecta un cable OTG, el pin de ID está conectado a tierra, la MCU lee la ID como cero y habilita el interruptor de carga que alimenta el dispositivo.
Cuando se conecta un cable de dispositivo, el pin de ID está flotando, la MCU lee el pin de ID como alto (pullup interno) y desactiva el interruptor de carga.
La MCU se alimenta desde la línea de 5 V o VUSB.
No necesito una limitación de corriente exacta en el modo host (el interruptor de carga tiene una limitación interna) ni ningún tipo de gestión de batería.
¿Es este esquema viable o me falta algo?