Cómo sacar más de 100mA de un puerto USB

Escuché que el límite actual para un puerto USB es de 100 mA. Sin embargo, también escuché que algunos dispositivos pueden obtener hasta 1.8A desde un puerto. ¿Cómo se supera el límite de 100 mA?

Agregué una publicación larga tratando de explicar lo que sucede en cada grupo. Si necesita 1.8A, la respuesta corta es que una computadora no lo hará.
@Kortuk: una computadora no debería hacerlo. Sin embargo, algunos probablemente puedan hacerlo.
@reemrevnivek, esto se discutió a continuación, todas las computadoras que he usado no entregarán 1.8A. He usado un par que incluso cerraría el puerto si hubiera una carga demasiado capacitiva y violara la corriente de entrada.
@Kortuk, técnicamente hablando, " Los sistemas que obtienen energía operativa externa, ya sea CA o CC, deben suministrar al menos cinco unidades de carga a cada puerto ". - Sección 7.2.1, Especificaciones USB 2.0. Tenga en cuenta, "al menos" 100mA x 5 = 500mA. No hay límite superior.
Poner esto en los comentarios porque no es una garantía, pero he diseñado algunos dispositivos "tontos" que se conectan a los puertos de alimentación USB, y rara vez he visto puertos que no suministren 500 mA a un dispositivo no enumerado. Según el estándar, esto no debería suceder, pero las implementaciones y los estándares del mundo real a menudo no son los mismos.

Respuestas (10)

Creo que puedo intentar aclarar esto.

USB-100mA

El USB de forma predeterminada entregará 100 mA de corriente (es una potencia de 500 mW porque sabemos que es 5v, ¿verdad?) a un dispositivo. Esto es lo máximo que puede obtener de un concentrador USB que no tiene su propia fuente de alimentación, ya que nunca ofrecen más de 4 puertos y se quedan con unos codiciosos 100 mA.

Algunas computadoras que son de construcción económica usarán un concentrador alimentado por bus ( todas sus conexiones USB comparten la misma fuente de 500 mA y la electrónica que actúa como un concentrador también usa esa fuente ) internamente para aumentar la cantidad de puertos USB y ahorrar una pequeña cantidad de dinero. Esto puede ser frustrante, pero siempre se le puede garantizar 100 mA.

USB-500mA

Cuando un dispositivo está conectado, pasa por la enumeración. Este no es un proceso trivial y se puede ver en detalle en el sitio de Jan Axelson . Como puede ver, este es un proceso largo, pero un chip de una compañía como FTDI se encargará de la parte difícil por usted. Discuten la enumeración en una de sus notas de aplicación .

Cerca del final de la enumeración, configura los parámetros del dispositivo. Muy concretamente los descriptores de configuración. Si miras en este sitio web, te mostrarán todas las diferentes piezas que se pueden configurar . Muestra que puede obtener hasta 500 mA de potencia solicitada. Esto es lo que puede esperar de una computadora. Puede obtener chips FTDI para manejar esto por usted, lo cual es bueno, ya que solo tiene que tratar el chip como una línea serial.

USB-1.8A

Aquí es donde las cosas se ponen interesantes. Puede comprar un cargador que tenga salida a USB en la tienda. Este es un puerto de carga USB. su computadora no los proporciona, y su dispositivo debe ser capaz de reconocerlo.

En primer lugar, para obtener la mejor información sobre USB, a veces hay que esforzarse y dirigirse a las personas que redactan las especificaciones. Encontré gran información sobre las especificaciones de carga USB aquí . El enlace en la página que es útil es el enlace para la carga de la batería . Este enlace parece estar vinculado al número de revisión, por lo que he vinculado ambos en caso de que la revisión esté actualizada, las personas aún pueden acceder a la información.

Ahora, que significa esto. si abres el PDF batt_charging y saltas al capítulo tres, van a los puertos de carga. Específicamente 3.2.1 explica cómo se hace esto. Ahora lo mantienen muy técnico, pero el punto clave es simple. Un puerto de carga USB coloca una resistencia de terminación entre D+ y D-. Me gustaría copiar el capítulo que lo explica, pero es un PDF protegido y no puedo copiarlo sin volver a escribirlo.

Resumiendo

Puede extraer 100 mA de un puerto de computadora. Puede extraer 500 mA después de la enumeración y establecer la configuración correcta. Las computadoras varían su aplicación, como muchos otros han dicho, pero la mayoría con las que he tenido experiencia intentarán detenerlo. Si viola esto, también puede dañar una computadora con un diseño deficiente (Davr da en el clavo allí, esta es una mala práctica). Puede sacar hasta 1.8A de un puerto de carga, pero este es un caso raro en el que el puerto le dice algo. Tienes que verificar esto y cuando se verifique, puedes hacerlo. Esto es lo mismo que comprar un adaptador de pared, pero puedes usar un cable USB y un puerto USB.

¿Por qué usar la especificación de carga? Entonces, cuando mi teléfono muere, mi cargador lo carga rápidamente, pero si no tengo mi cargador, puedo sacar energía de una computadora, mientras uso el mismo puerto de hardware para comunicar archivos e información con mi computadora.

Por favor, avíseme si hay algo que pueda agregar.

La "resistencia de terminación" de un cargador tonto es realmente solo un cortocircuito.
@andreKR, esto no siempre es cierto, pero sí, a menudo la gente lo corta.
El documento al que se vinculó especifica una resistencia de "máximo 200 ohmios", que es básicamente una descripción de un cortocircuito.
@AndreKR, creo que tiene que ser una resistencia medible si quieres que un iPhone la use, así es como los iPhone originalmente tenían sus propios cargadores separados.
Para los productos de Apple, las cosas son un poco más complicadas: ladyada.net/make/mintyboost/icharge.html
@andreKR, sí, Apple te hace la vida más fácil...
Kortek, cuestiono su declaración "USB por defecto entregará 100mA" Si el concentrador USB está diseñado para 500mA por concentrador, no tiene un límite predeterminado por puerto, entregará todo según sea necesario y esté disponible. Entonces, cada puerto puede consumir el máximo, pero todos los puertos compartidos por ese concentrador no deben exceder el mismo máximo. límite definido en la captura de pantalla anterior. Por lo tanto , no hay un límite predeterminado de 100 mA a menos que, por diseño de hardware, ese concentrador tenga un diseño heredado de 10 años cuando todos los periféricos consumieron < 100 mA.
@TonyStewart, tengo entendido que, según las especificaciones, hasta que se complete la enumeración, solo se le puede garantizar 100 mA. El hecho de que sea común que un dispositivo permita 500 mA no significa que desee diseñar mis dispositivos para que confíen de inmediato en que 500 mA estén disponibles, sino que los diseñaría para esperar a que se complete la enumeración. Sin embargo, estoy abierto a aprender que puedo hacer lo contrario. Muchos de mis enlaces que he dado enumeran eso como un requisito del estándar.
Aunque en teoría uno no debería extraer más de 100 mA a menos que haya enumerado, esta limitación rara vez se aplica en la práctica. Solo he visto una computadora portátil que hizo esto. El 99% de los dispositivos que he visto proporcionan al menos 500 mA y probablemente más, no se necesita enumeración.
@GustavoLitovsky Esto se ha discutido en detalle, esto probablemente varía según el fabricante de la computadora, pero he visto varios que hacen cumplir esa regla y ¿realmente quiere explicarle a un cliente que su producto no funciona debido a su computadora?
@Kortuk: Hay que tener en cuenta que añadir chips que enumeran es un gran gasto en algunos casos, por lo que para muchos no tuvo sentido durante mucho tiempo.
@GustavoLitovsky Sí, me doy cuenta del costo asociado, simplemente valió la pena explicar lo que exige la especificación. Puede editar en una sección que explique lo que debe hacer el lado de la computadora y por qué se puede omitir, me parece divertido, pero por ahora creo que esto explica lo que debe hacer su dispositivo para obtener energía bastante a fondo.
Algunas computadoras que son de construcción económica usarán un concentrador alimentado por bus internamente , ¿hay un error tipográfico o simplemente no puedo entender? ¿No debería ser "USB" en lugar de "bus"?
@clabacchio aclaré. Me refiero a bus alimentado. literalmente tienen un concentrador USB sin alimentación en su interior para brindarle sus puertos, esto significa que ninguno de sus puertos USB puede entregar más de 100 mA, ya que en realidad todos son puertos en un concentrador USB sin alimentación.
@AndreKR el enlace de carga de sus productos Apple está roto. Aquí hay uno que funciona: learn.adafruit.com/minty-boost/icharging
Esta respuesta contiene información engañosa y es mejor que se corrija (debido al alto tráfico). Cualquier puerto HOST USB normal debe ser capaz de suministrar 500 mA de corriente. Consulte la Sección 7.2.1 de las especificaciones de USB 2.0 o la Sección 11.4.1 de las especificaciones de USB 3.1. Por lo tanto, cualquier dispositivo que no sea USB puede usar 500 mA (o 900 mA en USB 3.0) sin dudarlo mucho. El límite no enumerado de 100 mA debe ser respetado por los DISPOSITIVOS USB , por lo que el límite no es aplicable fuera del marco USB. Las raras excepciones del límite de 500 mA son pequeños hosts USB alimentados por batería , que pueden limitarse a 100 mA por puerto.
relacionado- superuser.com/questions/690074/…
"Muestra que puede obtener hasta 500 mA de potencia solicitada. Esto es lo que puede esperar de una computadora". ¿Y si la computadora (hipotéticamente) se niega?

Puede negociar por 500 mA con uno de los chips USB FTDI, aquí hay una publicación en el foro que habla de eso. Si usa algún otro chip, aún necesita algo que pueda hablar el protocolo USB y decirle a la PC que quiere 500 mA. Por favor, no viole las especificaciones USB, su dispositivo puede funcionar bien para algunas personas, pero luego no funcionará para otras, y corre el riesgo de causar daños a las PC mal diseñadas.

El límite de corriente teórico en un puerto USB alimentado por bus (el tipo de su computadora) es de 100 mA, negociable hasta 500 mA. En la práctica, probablemente no obtendrá tanto de los puertos de su computadora. Sin embargo, si usa un concentrador USB autoalimentado , debería poder obtener 500 mA de cada puerto en el HUB. Entonces, si su HUB tiene 4 puertos, puede obtener 4 * 500mA = 2A.

Cuidado: asegúrese de que su HUB venga con un adaptador de corriente decente. Algunos concentradores vienen con un adaptador de 1A, porque los fabricantes creen que es un escenario poco realista para los usuarios obtener 500 mA de CADA puerto.

Consulte este artículo de wiki: http://en.wikipedia.org/wiki/USB_hub#Power

Pequeña corrección: el límite es de 500 mA para USB 2.0 (la unidad de carga es de 100 mA y el máximo es de 5 unidades de carga). En USB 3.0, la unidad de carga es de 150 mA y el máximo es de 6 unidades de carga, por lo que son 900 mA. Las computadoras generalmente no admiten 1.8 A. Puede obtener esa cantidad colocando una resistencia entre los cables de datos (para señalar que el dispositivo solo usa energía y no transmite datos) y usa un cargador de teléfono celular USB o una fuente de energía tonta de dispositivo similar.
¿Los concentradores autoalimentados requieren que negocie a niveles de corriente más altos? Tendré que ir a casa y desarmar el mío para ver cuál es el circuito...
@Kevin: sí, debe negociar los 500 mA incluso cuando usa un concentrador autoalimentado. ¿De qué otra manera sabría el dispositivo final cuánto se le permite extraer del puerto? No puede saber hasta que se complete el proceso de enumeración si el enchufe al que está conectado puede suministrar la corriente solicitada.
@Ian: sí, entiendo que la especificación funcionaría de esa manera, pero mi investigación (que ahora tiene 1 año) de dos concentradores autoalimentados que tengo indica que el circuito de la fuente de alimentación (o más bien, el interruptor en el conector de barril) hace que la energía esté disponible para el dispositivo independientemente de si el dispositivo negocia o no. Me parece una desviación rentable y razonable de las especificaciones.

I que se diferencia del proveedor de la placa base en lo buena que es la fuente de alimentación para el USB. Algunos fabricantes baratos de marca B pueden vincular los +5 V de la fuente de alimentación al puerto USB. Algunos mejores pueden incluir el paquete completo para protección contra sobrecorriente, etc.

Tengo un concentrador USB Sweex de 4 puertos (el-barato, me costó como 10 euros) así que no tengo que estar debajo del escritorio todo el tiempo para una conexión USB. Este puerto sweex claramente no tiene ninguna protección. He fumado un MOSFET en cortocircuito con él una vez, cuya corriente nominal era de 3A.

De todos modos, mi punto que quiero señalar es que no importa cuál sea su proyecto, probablemente no querrá obtener más de 500 mA de corriente extraída de un puerto USB. Como único, tal vez... si quieres arriesgarte a explotarlo en tu propio nombre. Ciertamente no para nadie más.

Me gustaría pensar que la potencia proporcionada por USB es principalmente para permitir la comunicación con el dispositivo real. Puede incluir un circuito de aislamiento para brindar una mejor protección a los hosts USB. Ciertamente no tomaría USB como una fuente de alimentación universal de 5 V, porque los adaptadores pueden hacerlo mucho mejor (y, a largo plazo, probablemente más barato).

Agregando al excelente consejo de Kortuk:

  1. Realmente debería usar un concentrador alimentado o un "cargador USB" para la depuración, ya que no desea freír su computadora por un cortocircuito accidental.

  2. Todas las computadoras con las que tuve placer no se molestan en limitar el consumo de corriente por debajo de 500 mA. (con o sin enumeración)

jpc Estoy de acuerdo, pero su edad se está mostrando.... El USB solo estaba disponible cuando Win98 no estaba disponible, y todos estaban autoalimentados, solo necesitaban energía del concentrador para hacer negociaciones con los controladores.
Supongo que tiene razón: mi interés por el USB comenzó cuando Igor Češko lanzó su implementación AVR USB basada en software en 2003. En ese momento, el USB 2.0 ya estaba disponible.

Hasta donde yo sé, nadie se molesta en incluir la limitación de corriente en el host USB, por lo que los dispositivos están realmente en el sistema de honor para no consumir más de lo permitido. He visto muchos dispositivos que reclaman un poder pero en realidad consumen mucho más, y nunca los he visto apagarse ni nada. En una computadora de escritorio, al menos, supongo que los puertos tienen una capacidad de más de 500 mA.

Entonces, si está fabricando un producto que otros utilizarán, lea las especificaciones USB y aprenda a negociar con la computadora para consumir hasta 500 mA. Si solo está haciendo una sola vez y sabe por alguna razón que el puerto es capaz de 1.8A, simplemente dibújelo.

En realidad, muchos fabricantes de productos electrónicos aún no se adhieren estrictamente a la especificación USB 2.0 al no implementar estos límites actuales en los puertos USB que brindan. Algunos (léase: la mayoría) puertos USB permiten 100 mA independientemente de la enumeración y la actividad continua; algunos puertos incluso ofrecen 500 mA independientemente de la negociación de potencia requerida. - Máxima

Mi teléfono Samsung solicita un MaxPower de 2 mA, pero luego consume ~250 mA sin importar a qué esté enchufado.

De hecho, he encontrado lo contrario. Casi todas las computadoras que he usado desactivarán el puerto USB si se consume demasiada energía. No lo hacen necesariamente en función de la cantidad que haya solicitado, pero tienen una corriente máxima que, una vez alcanzada, notificará al sistema operativo y cerrará el puerto. Windows incluso mostrará un mensaje emergente notificando al usuario que esto ha sucedido. En mi experiencia, se necesita reiniciar la computadora para que el puerto se vuelva a habilitar.
@Kellenjb: también he visto este comportamiento, pero generalmente solo en computadoras portátiles donde el consumo de energía es una preocupación. Además, aunque la computadora monitorea el consumo de energía, a menudo no apaga el puerto, solo usa el canal de control USB para indicarle al dispositivo que se apague. A menudo tienen polifusibles en línea para evitar un gran consumo de energía, pero suelen ser de 1 A o más. Por lo tanto, todavía se puede extraer una cantidad significativa de corriente del puerto, aunque Windows podría quejarse de ello.
También he visto el mensaje en Windows, pero solo de un pico actual, no de un sorteo continuo. La especificación USB tiene restricciones en ambos.
He visto esto de ambos. picos de corriente y sobrecorriente. La detección de picos de corriente parece variar bastante según la computadora, pero el exceso de corriente ha hecho que la mayoría de las computadoras que he usado la apaguen.
Mi comportamiento puede deberse a que estaba usando computadoras de marca.
Tenemos algunas computadoras de escritorio Dell de 6 años usadas en un laboratorio de estudiantes. Hemos tenido estudiantes todo el tiempo que consumen demasiada corriente y tienen el puerto USB apagado hasta que ocurre un reinicio.
En mi computadora portátil, un dispositivo USB muerto (en cortocircuito) hizo que todos los dispositivos en el bus se apagaran, pero la eliminación del dispositivo que funciona mal parece solucionar el problema. Linux dmesg mencionó el apagado por sobrecorriente.
En mi Macbook pro, puedo extraer 500 mA sin siquiera preguntar, sin efectos nocivos. Lo mismo ocurre con los concentradores alimentados que provienen de las computadoras de escritorio Dell en mi escuela (y mi concentrador alimentado para mi computadora portátil). Ninguna computadora emite un mensaje de advertencia de ningún tipo.
¿Qué hardware estabas usando cuando hiciste eso?

La respuesta más votada contiene información engañosa y es mejor que se corrija (debido al alto tráfico).

Cualquier puerto HOST USB normal debe ser capaz de suministrar 500 mA de corriente. Consulte la Sección 7.2.1 de las especificaciones de USB 2.0 o la Sección 11.4.1 de las especificaciones de USB 3.1.

Las especificaciones de USB 2.0 dicen, página 171:

"Los sistemas que obtienen energía operativa externa, ya sea CA o CC, deben suministrar al menos cinco unidades de carga a cada puerto. Dichos puertos se denominan puertos de alta potencia".

Tenga en cuenta el idioma, "al menos". Por lo tanto, cualquier dispositivo que no sea USB puede usar 500 mA (o 900 mA en USB 3.0) sin dudarlo mucho.

El límite no enumerado de 100 mA debe ser respetado por los DISPOSITIVOS USB , por lo que el límite no es aplicable fuera del marco USB. Las raras excepciones del límite de 500 mA son pequeños hosts USB alimentados por batería, que pueden limitarse a 100 mA por puerto.

Un puerto con alimentación externa debe suministrar 500 mA (piense en una PC o un concentrador con una verruga en la pared). La cita de la página 171 trata sobre estos puertos alimentados externamente. Un puerto alimentado por bus tiene que suministrar solo 100 mA. La aplicación de esta regla varía de un diseño a otro, como ya se mencionó en las respuestas.
@NickAlexeev, esto es cierto, en el marco USB2 no existía el concepto de equilibrio de energía. Entonces, los 100 mA por puerto de un concentrador alimentado por bus son verdaderos. El límite de 100 mA es muy inconveniente desde el punto de vista del usuario. Es por eso que los concentradores alimentados por bus no existen en el mercado. Para ser útiles, estos concentradores proporcionan información falsa de que son "autoalimentados". Entonces, todas estas discusiones sobre el límite de 100 mA son intrascendentes.

No puede extraer 1.8A directamente del USB de la PC. Sin embargo, si necesita alta corriente y está conectado a la PC al mismo tiempo, considere invertir en un concentrador que tenga su propio suministro de la red eléctrica.

ingrese la descripción de la imagen aquí

Sí tu puedes. Las especificaciones USB no imponen un límite superior sobre cuánto puede suministrar un puerto. Consulte la Sección 7.2.1 de las Especificaciones USB. Depende del diseñador del sistema USB HOST decidir. Sin embargo, un dispositivo USB no tiene derecho a tomar más de 500/900 mA; este dispositivo no será compatible, técnicamente ilegal.

El controlador del dispositivo puede negociar la corriente anterior de 100 mA hasta 500 mA. Sin embargo, es posible que algunos dispositivos no se configuren correctamente en el momento del arranque si su BIOS tiene una opción titulada: "Habilitar almacenamiento heredado" en la configuración de USB. Si esta configuración está desactivada, es posible que tenga que volver a enchufar el dispositivo después de iniciarlo, en caso de que no funcione correctamente. Solo con esta configuración activada, si está presente, el BIOS proporcionará una corriente superior a un valor mínimo, creo que 100 mA.

Un método de fuerza bruta puede ser obtener un cable USB de dos machos a uno hembra para obtener energía adicional. PRECAUCIÓN: puede tener problemas de seguridad eléctrica o de consumo de energía.

Sr. 404notFound, Lamento decir que no puede aumentar el límite en un dispositivo USB. Está limitado por el diseño.

Algunos concentradores anteriores estaban limitados a 100 mA, ahora todos los concentradores son de 500 mA y con puertos USB3 están disponibles 900 mA.

La buena noticia es que puede averiguar para qué están clasificados sus puertos. Si tiene más de 5 años, algunos pueden ser de 100 mA, pero más nuevos que eso, lo dudo.

Si ejecuta Windows... vaya a > Administrador de dispositivos > hardware > Hub USB (elija cualquiera) > propiedad (ratón rt) > energía ingrese la descripción de la imagen aquí

¡¡Espero que esto ayude!! lo siento por la imagen borrosa... esta es una Mac... puedes ver 500mA por puerto y el dispositivo conectado = 0mA Tiene un medidor de corriente incorporado, lo que no hace es facilitarte la identificación de qué concentrador físico y el puerto al que se refiere. Descubrí que mover un mouse a cada puerto es la forma más fácil de identificar, pero mis colegas expertos pueden conocer una forma más rápida.

Por cierto, todos los concentradores USB están protegidos por polifusibles reiniciables automáticos contra cortocircuitos. Pero he visto al menos una placa base con tapas electrolíticas quemadas cerca de los puertos USB debido a picos de corriente, detectados con la tapa abultada tradicional de palomitas de maíz.

Imagen borrosa porque es una Mac???
Sí, capturé una imagen de alta resolución de forma remota en una torre Win7 y cambié el tamaño a una Mac Air de baja resolución y la ampliación resultó borrosa. Si necesitaba más resolución, podría haber igualado la resolución de píxeles en esta Mac al desactivar la escala automática, pero eso fue retrospectiva no era imprescindible. Además, dejaba algunos pensamientos sobre por qué/cómo estaba usando una Mac para informar sobre las funciones de monitoreo actuales de Windows. Todo el proceso tomó 1 minuto. Además, con las aplicaciones de terceros de Windows, puedo ver fácilmente los tamaños de imagen en dpi y xy y editarlos. En OSX, necesita un programa costoso para hacerlo o usar una vista previa primitiva.
Si solo cambiar el tamaño lo hace tan borroso, ¡realmente necesita un software de procesamiento de imágenes decente! :-/
Oye, ¿has visto la especificación USB? Sus imágenes son tan borrosas como las mías. Consulte la Figura 19-3 para ver un ejemplo en Device Mgr. Estoy de acuerdo, es por eso que dije un programa caro ... (por favor, no Gimp) ... Es por eso que ahora amo Irfanview, propiedad de Corel. cualquier cosa instantánea, incluidos los complementos de Adobe.
La mayoría de los concentradores USB baratos con los que traté no tienen ninguna protección contra sobrecorriente (ni polifusibles ni transistores en serie).