descriptor USB de un dispositivo de doble alimentación

2

Considere un dispositivo USB 2.0 que se pueda alimentar desde el bus, desde una fuente de alimentación externa, o desde ambos simultáneamente. La fuente de alimentación se puede cambiar en el tiempo de ejecución mientras el USB está funcionando. El consumo máximo de corriente es conocido y no excede los 500 mA limitados por USB 2.0.

¿Debe dicho dispositivo informarse al host como autoalimentado o alimentado por bus?

    
pregunta Pavel Kirienko

2 respuestas

5

Si es capaz de ser alimentado por bus, entonces lo informaría como tal. El resultado final de la negociación de poder es un máximo que no puede superar, pero en realidad no tiene que usarlo. (El poder máximo rara vez se aplica, pero de vez en cuando lo es).

Para hacer que tu dispositivo sea un poco más inteligente, y si no te importa un poco de trabajo extra, es posible que desees tener dos configuraciones, como mencionó Simon. La parte difícil sería determinar qué hacer si estás en modo de autoalimentación y pierdes la alimentación externa. No se le permite más de 2 mA del bus sin dejarlo y volver a enumerarlo (lo que puede no darle más poder), y acaba de perder su suministro para realizar su función prevista. ¿Y ahora qué?

    
respondido por el AaronD
3

Informaría dos configuraciones, una de ellas autoalimentada (2mA implícita) y la otra alimentada por bus (500mA). El dispositivo se negaría a ingresar a la configuración autoalimentada cuando la fuente de alimentación externa no esté conectada.

Esto significa que si hay menos de 500 mA disponibles, p. ej. Debido a que el dispositivo está conectado detrás de un concentrador alimentado por bus, el host eliminaría la configuración alimentada por bus e intentaría configurar la autoalimentada. Si el suministro externo está presente, esto tiene éxito; si falta, la configuración falla, como debería porque no hay suficiente energía.

Lo ideal sería que pusieras primero la configuración alimentada por el bus; esto se convierte en la configuración preferida. Si el dispositivo recibe alimentación del bus y la fuente externa está conectada, está bien, no es necesario cambiar la configuración, y la fuente externa también puede eliminarse más adelante sin problemas. Si la configuración autoalimentada está activa, es posible que el dispositivo no extraiga energía del bus, por lo que desconectar la fuente de alimentación requiere que apague el dispositivo y obligue a volver a enumerarlo desconectando la resistencia de detección.

    
respondido por el Simon Richter

Lea otras preguntas en las etiquetas