Límite actual de PC USB

0

Quiero construir un dispositivo USB que pueda dibujar 1A.

Algunas de las PC de mi oficina pueden suministrar 1A, otras solo 800mA. La especificación USB 2.0 dice que un dispositivo solo puede dibujar hasta 500 mA.

No puedo crear una infraestructura de software / hardware para verificar si el dispositivo es una PC y, de ser así, limitar la corriente a 500mA.

¿Qué pasaría si intento dibujar 1A sin comprobar si el host es capaz de suministrar esta corriente? ¿Se corre el riesgo de arruinar el host?

    
pregunta jasp

4 respuestas

4

El estándar USB 2.0 que permitía 100/500 mA se extendió finalmente con Especificación de carga de batería que permite que el dispositivo dibuje hasta 1.5A después para ver que el otro lado (el paquete de enchufes) está cortocircuitando D + y D-.

Algunas PC pueden obtener más de 500 mA, pero no es seguro para ellas. Y algunos solo permitirán 100 mA antes de la enumeración.

    
respondido por el venny
3

Eche un vistazo a la especificación de carga USB .

Hay muchas formas en que los fabricantes de hoy implementan la negociación de las corrientes USB. La forma estándar de USB es, como se mencionó, solicitar el intercambio actual por mensaje con el controlador host USB.

Sin embargo, muchos dispositivos no se molestan con el complejo protocolo USB y simplemente extraen toda la corriente que requieren, hasta que la tensión de alimentación desciende. Dicho esto, supongo que es bastante seguro ignorar las especificaciones de USB sin arruinar (demasiadas) las PC. Por lo general, el voltaje de salida solo bajará cuando se extraiga demasiada corriente hasta que se equilibre. Por supuesto, esto puede afectar a otros dispositivos conectados al mismo controlador / hub / ..., que será testigo de una caída de voltaje imprevista.

Sin embargo, uno tendrá que considerar los peores escenarios; como cuando el usuario utiliza un concentrador USB barato, conectando, digamos, cuatro de sus dispositivos al mismo tiempo. Algo como esto no es improbable que destruya el hub, su fuente de alimentación o ambos, y por lo tanto, se corre el riesgo de incendio u otros daños. Ten eso en cuenta.

Recientemente, descubrí que uno de mis dispositivos Android tiene un mecanismo de detección interesante para su cargador de alta potencia: Cuando está inactivo, el cargador emitirá algo así como 5.05V, al igual que cualquier otro puerto USB, pero una vez que el dispositivo está conectado, el cargador elevará el voltaje a aproximadamente 5.2V, que todavía está dentro del voltaje del USB especificaciones, y que le permiten al dispositivo saber que puede generar la corriente de "carga rápida" más alta (~ 1.2A).

Cuando se conecta a un puerto USB normal, el voltaje será de ~ 5V o menos y, por lo tanto, el dispositivo continuará consumiendo "solo" 440 mA.

Tal vez puedas implementar una técnica similar.

    
respondido por el JimmyB
1

La especificación USB2.0 permite a un cliente dibujar 500 mA solo a pedido. Eso significa que su dispositivo tiene que enumerarse correctamente con el bus, solicitar esa solicitud al host y esperar obtener permiso. Sin embargo, en la vida real, la mayoría de los puertos de host permiten que el cliente extraiga 500 mA sin una solicitud de este tipo (así es como y por qué funcionan todos esos cables de alimentación en Y para carcasas HDD externas.

Pero ese no sería un diseño confiable de su parte para depender de un comportamiento tan fuera de especificaciones. Una línea eléctrica en el host puede estar protegida por un fusible o polifusible que se dispara cuando su dispositivo excede los límites actuales o el puerto puede incluso destruirse.

    
respondido por el Ghanima
1

Creo que puede correr el riesgo de dañar un host USB.

Hace unos cuatro años, dirigí un taller de Arduino para adultos. Dos personas (en momentos diferentes) 'destruyeron' una salida USB en dos computadoras portátiles Sony Vaio diferentes. Los enchufes USB fueron enchufados en el Arduino. Después del accidente, probamos los sockets con un mouse USB y, IIRC, teclado USB para ver si se habían recuperado.

Permitimos que los Vaio permanecieran apagados, en un caso más de 30 minutos, pero la toma USB dañada permaneció "muerta", incluso para un mouse USB común.

Nunca identificamos lo que hicieron, aunque ambos dijeron que pueden haber conectado accidentalmente los cables a los componentes de la PCB de Arduino, y no solo a los pines de cabecera.

No se pusieron en contacto después del taller para decir que las tomas estaban funcionando o estaban muertas. Eran adultos responsables, en contacto con el organizador del taller. Así que confié en que nos hubieran dicho si las tomas se hubieran recuperado, pero ¿quién sabe? Siempre he asumido que los enchufes USB quedaron muertos.

Si el cortocircuito fue a través del polyfuse, entonces eso podría indicar que el host USB no pudo limitar la corriente. Desafortunadamente, IIRC, puse los Arduino a un lado y trabajé en el diagnóstico del problema con las computadoras portátiles. Los Arduino no se usaron hasta que pasó el tiempo suficiente para que su polifusor se haya reiniciado. O el polyfuse puede haber sido anulado, y no pude decirlo.

Esta no es una muestra muy grande y no da ninguna indicación del límite actual.

    
respondido por el gbulmer

Lea otras preguntas en las etiquetas