Concentrador alimentado por bus USB: ¿más de 100 mA por dispositivo?

8

Me gustaría hacer una pregunta bastante específica con respecto a la administración de energía USB.

En primer lugar, describiré el diseño de mi dispositivo. Es un controlador de línea de señal simétrica con un códec de audio incorporado para mi sistema de altavoces DIY. El dispositivo se divide internamente en dos bloques en su mayoría independientes: el controlador de línea con una MCU de control y el códec de audio (PCM2706 de TI). Ambos necesitan conectividad de datos USB (a través de un FT232R para el bloqueo del controlador) y todo el dispositivo debe ser alimentado por bus. Los dos bloques se unirán entre sí mediante un chip concentrador USB, lo que dará como resultado una única conexión USB de enlace ascendente a la PC. Espero que el consumo de la etapa del conductor sea entre 100 y 200 mA (definitivamente más de una unidad de carga).

Aquí viene el problema: de acuerdo con la especificación USB, un concentrador alimentado por bus puede proporcionar solo una unidad por puerto descendente mientras extrae un máximo de 5 unidades desde el ascendente. Me gustaría saber qué haría el concentrador si solicitara dos unidades a través del FT232 para la etapa de controlador. No se alcanzará el límite ascendente de 5 unidades (1 unidad para el concentrador, 1 unidad para el códec y dos para el controlador), por lo que la computadora debería poder suministrar esa corriente físicamente.

Para el chip concentrador, he estado revisando enlace . Hay una opción de modo de alimentación "en grupo", ¿sería esto una ayuda? ¿O simplemente el chip se negaría a otorgarle dos unidades al conductor? Y en este caso, ¿hay alguna solución sucia?

Soy consciente del requisito de que también se requieren dispositivos de alta potencia para extraer un máximo de 100 mA durante la enumeración; Esto no es un problema, ya que el FT232 puede encender el controlador justo después de la enumeración. El centro también activará las etapas de forma independiente.

Espero haber explicado mi problema lo suficientemente claro y gracias por su tiempo de antelación :)

ACTUALIZACIÓN:

Hice un poco más de investigación sobre el chip TUSB2036. La protección contra sobrecorriente se puede desactivar con el pin / OCPROT. Luego, el concentrador informa al controlador raíz que no puede detectar la sobrecorriente. Hay una advertencia en la hoja de datos de que la especificación USB 2.0 requiere protección OC. Esto no me importa, solo necesito 1.1 Full-Speed. El concentrador raíz de la PC debería entonces proporcionar IMO 500 mAmps a todo el dispositivo. Por lo tanto, podría configurar el FT232 del controlador para que solo requiera 100 mA y el concentrador nunca sabría si hubiera excedido el límite (respetando los 500 mA de la PC, por supuesto). ¿Alguien puede decir si esto podría funcionar?

    
pregunta Ladislav

3 respuestas

3

Mi entendimiento del diseño es que todo el dispositivo está en una sola PCB, está dentro de un solo gabinete y está conectado al host mediante un solo cable USB. Ha integrado un concentrador en la PCB para permitir que ambos dispositivos se comuniquen con la PC. La siguiente respuesta dependerá de estas suposiciones, si está formada por varios dispositivos separados conectados mediante cables desconectables, eso cambia las cosas.

En este caso, sugiero que simplemente configure el concentrador para enumerarlo como un dispositivo de alta potencia y comparta los 500 mA resultantes entre toda la placa. Curiosamente, el esquema de muestra del puerto múltiple de TI muestra que todos los dispositivos están conectados entre sí, incluso cuando utilizan su IC de administración de energía:

Lalíneadealimentaciónde5Ventrante(resaltadaenazul,yaqueesunadelasdosredesquenosinteresaenestecomplicadoesquema)estáconectadaaunICdeadministracióndeenergíaTPS2041(unadescripcióngenerosa,enrealidadessolounFETqueseapagacuandodetectaqueseestánpasando500mAdecorriente).Sinembargo,cadaunadelasentradasestácortocircuitada,ycadaunadelassalidastambiénestácortocircuitada,yluegosedistribuyeacadaunodelospuertosdescendentes(laredsemuestraenrojo).

Básicamente,estánhaciendoproteccióncontrasobrecorrienteparatodaslasseccionesposterioresenunsoloIC.Notienenformadedetectarsitienentresunidadesdebajapotencia(100mA),unasolaunidaddealtapotenciaodosunidadesdebajapotenciayunaunidadde300mA.Todasestasopcionessonaceptablesbasadasenestediseñodereferencia.Ustedescribió:

  

DeacuerdoconlaespecificaciónUSB,unconcentradoralimentadoporbuspuedeproporcionarsolounaunidadporpuertodescendentemientrasdibujaunmáximode5unidades...

pero,pararesponderdirectamenteasupregunta,estediseñodeTexasInstruments(miembrodelgrupoUSBeimplementadorprincipal)muestraquesolotienequegarantizarquelacorrientetotalseainferiora5unidades.

Pararesolversuproblema,elestadodelasreglas(tomadodelaexcelente USB en pocas palabras) documento):

  

Las funciones impulsadas por el bus de alta potencia consumirán toda su potencia del bus y no podrán consumir más de una unidad de carga hasta que se haya configurado, después de lo cual podrán drenar 5 cargas de unidad (500 mA Máx.) siempre que lo solicite. su descriptor.

Si puede garantizar que la etapa del controlador no comenzará a dibujarse actual hasta que el dispositivo se haya configurado (lo que podría ser tan simple como un retraso temporizado en el controlador del host), simplemente puede conectar todo. Debido a que todo su circuito está en una sola PCB y no tiene puertos descendentes accesibles al usuario, probablemente también puede dejar de lado el TPS2041 y simplemente diseñar el sistema para que no requiera más de 500 mA de corriente en cualquier estado.

Otro beneficio de la enumeración como dispositivo de alta potencia es la mejora de las especificaciones de voltaje de entrada. Cuando se ha enumerado como un dispositivo de bajo consumo, solo se requiere que el host produzca 4,40 V en el puerto ascendente (que será menor en su dispositivo debido a la resistencia del cable). Cuando haya enumerado como un dispositivo de alta potencia, la especificación garantiza que obtendrá 4,75 V, que es más probable que esté dentro del rango operativo de cualquier componente de 5 V que esté utilizando.

    
respondido por el Kevin Vermeer
4

He diseñado una placa alrededor de ese centro.

En mi aplicación, permitía el acceso a un FT232 y un FT245.

Si todo está en su PCB, le recomendaría que ignore por completo todos los sistemas de protección de sobrecorriente. Después de todo, si algo falla en tu PCB, todo funcionará, por lo que hacer que el dispositivo sea capaz de manejar un fallo parcial es una especie de punto discutible.

En mi situación, ajusté el TUSB para solicitar los 500 ma completos y deshabilité la protección de sobrecorriente, y simplemente ejecuté todo directamente desde el USB 5.0v. Logré esto forzando al concentrador a informar como autoalimentado al host ascendente.

He hecho un par de tableros, sin ningún problema real, por lo que parece una estrategia perfectamente viable. También se ha usado con varias computadoras diferentes, así que me sentiría bastante seguro de usarlo tal como está.

Por supuesto, si esto es para un dispositivo de producción, en lugar de un proyecto personal o un arnés de prueba (que es lo que es en mi caso), es un problema completamente diferente.

(Ver la nota en el esquema)

Por lo que vale, a menudo se puede abusar horriblemente de la mayoría de los puertos USB modernos sin demasiados problemas. Muchos de ellos pueden suministrar mucha más energía que los 500 mA para los que están calificados, sin demasiados problemas.
Además, la mayoría de ellos (todo lo que he probado, salvo algunas computadoras portátiles ) suministrarán la 500ma completa sin que el dispositivo tenga que enumerar.

Sin embargo, esto varía de una placa base a otra, según cómo esté diseñado el host USB. Su experiencia puede ser diferente.

    
respondido por el Connor Wolf
1

Puede estar un poco sucio: el TUSB2036 permite la selección de puertos en sentido descendente (p3 NPINT1-0 establecido en 10). Luego conecte su dispositivo a dos puertos (físicos) para que pueda dibujar 2 unidades en paralelo.

    
respondido por el suha

Lea otras preguntas en las etiquetas