¿Puede una tableta Android servir como host USB y cargarse simultáneamente a través de un solo puerto?

Varias tabletas Android se alimentan a través del puerto Micro B USB, pero también brindan compatibilidad con USB Host a través del mismo puerto (p. ej., Motorola Xoom 2, Acer A510/700). Necesito poder usar la compatibilidad con USB Host mientras se carga, con la máxima potencia que acepta el dispositivo (o al menos la potencia suficiente para evitar que la tableta se agote con un uso moderado).

He instalado un sistema con cables divisores y un concentrador alimentado. Esto funciona en algunos dispositivos (HP TouchPad, Archos) pero no en otros (Google/Asus Nexus 7, Coby Kyros). Y cuando funciona, se carga lentamente (probablemente a 500ma de USB 2).

¿Cómo se puede resolver este problema? ¿Hay alguna solución en el mercado que solucione mi problema? Veo que hay algunos chips USB de Silego (su línea de ID de cargador de batería) que pueden resolver el problema, pero no conozco ningún cable, concentrador, etc. que lo use.

Obviamente, esto depende de los detalles del esquema de carga y USB de la tableta en particular. No puede haber una respuesta uniforme.
Irónicamente, en algunos de los dispositivos donde el modo de host USB no es oficialmente compatible (especialmente los teléfonos) pero ha sido habilitado por cambios en el kernel instalados por el propietario, a menudo ha ocurrido (al menos inicialmente) que la bomba de carga para sacar 5v del USB el puerto no existía o no estaba habilitado. En esos casos, probablemente podría hacer al menos una carga de límite de corriente USB, y casi tuvo que hacerlo, ya que tuvo que proporcionar una fuente externa de alimentación de bus USB para el uso del periférico.
Dado que se espera que un host USB 2.0 proporcione energía (ya sea 500 ma o 100 ma, dependiendo de la solicitud del periférico durante la enumeración), entonces no parece posible suministrar energía en la dirección inversa mientras actúa como un host, a menos que algunos no -El circuito estándar estaba disponible, con lo que dudo que puedas contar en todos los dispositivos Android.
Aparentemente puedes crear el circuito no estándar usando cables bastante estándar, además, en el lado práctico, este tipo incluso dice que funcionó para él, todavía pensando si sería inteligente intentarlo, o si el aiwintermute sabe de lo que habla. .. verifique: community.spiceworks.com/topic/… : "Primero necesita comprar este cable:..."

Respuestas (8)

¡Aparentemente es posible cargar el dispositivo host! --> http://en.wikipedia.org/wiki/USB_On-The-Go

En "OTG Micro Plugs" dice que un cable USB OTG con una resistencia de 36,5 kΩ entre el pin 4 (supongo que es el pin 4) y el pin 5 le permite conectar un dispositivo B (esclavo) y (!) un cargador al teléfono inteligente/tableta.

El teléfono y el dispositivo B pueden ser alimentados por una fuente de alimentación externa.

Especificaciones de alimentación USB: http://www.usb.org/developers/docs/devclass_docs/batt_charging_1_1.zip (enlace actualizado)

Simplemente revisé los documentos porque no confiaba en los datos implícitos de Wikipedia sobre cuál de las tres resistencias debería usar. Aquí puede encontrar el oficial Battery Charging v1.2 Spec and Adopters Agreement: usb.org/developers/docs/devclass_docs En este caso, desea 124 kΩ, porque desea que el dispositivo OTG (= tableta) sea el dispositivo A (= host).
Este arreglo se llama oficialmente "cargador de accesorios". El uso de este modo requiere un comparador especial para detectar la resistencia especial en el pin de identificación, que podría no ser compatible con todos los dispositivos portátiles. Y la función debe tener el soporte de firmware adecuado para cambiar el rol de poder mientras se mantiene la funcionalidad del host.

Sí, esto se puede hacer, ¡definitivamente!

De hecho, logramos que esto funcionara al combinar la especificación de carga universal USB con la especificación USB OTG. Esto requiere un cable personalizado para lograrlo, pero funciona. Tomamos la idea de esta publicación y la transformamos en una solución de un solo cable, mientras que la publicación tiene una fuente de alimentación y cables de datos separados.

Diagramas de cableado:

Publicar esquema

¡Esto es increíble! ¿Hay un diagrama de alimentación OTG w actualizado para el conector USB tipo C más nuevo?

La especificación del cargador de batería USB no permite esto, ya que los pines de datos se utilizan para indicar la presencia del cargador, por lo que no estarían disponibles para los datos.

¿Hay alguna solución en el mercado que solucione mi problema?

La especificación USB Power Delivery parece ser work in progress, por lo que no hay ningún producto en el mercado, ni siquiera anunciado, todavía.

Los cargadores de alta velocidad no utilizan necesariamente los pines USB estándar.
@ChrisStratton, las quejas de USB deberían :) pero es más complicado que eso, estoy de acuerdo.
@Kortuk: tienden a ser compatibles con versiones anteriores de USB, pero lo amplían de manera personalizada. A menudo, el cargador es un cable único con contactos adicionales, pero un cable mini/micro USB funcionará bien para los datos y, en muchos casos, se cargará a tarifas compatibles con USB.
@ChrisStratton Eso me da algo de esperanza: ¿tal vez alguien está proporcionando una solución patentada para dispositivos ASUS, Acer, Motorola, etc.?
@JohnBeatty: probablemente no para una variedad tan amplia. Sin embargo, tal vez en uno o dos casos específicos. Ese es el problema cada vez que quieres hacer algo no estándar: pierdes la portabilidad.
Algunas tabletas necesitan +12 V para cargarse, y algunas necesitan más de 2,5 vatios para funcionar. Por lo tanto, no habrá una solución general a menos que los dispositivos comiencen a implementar la especificación de suministro de energía.
Gracias a todos. Las soluciones no estándar para algunas de las tabletas más populares son aceptables (además, consideraría invertir en el diseño y la fabricación de estas soluciones).
@Chris ese es un comentario bastante amplio. Muy pocos de los dispositivos Android que he visto tienen un conector especial. La mayoría siguen siendo el enchufe estándar, pero pueden cargarse con un par de amperios si se usan con el cargador adecuado.

En general, no debe cargar un dispositivo cuando lo usa como host USB. Eso no significa que no puedas.

Por lo general, el circuito USB PHY y el pin de identificación están entrelazados en el software con el circuito de carga. Un problema es que si habilita el cargador antes de conectar el cable USB, el circuito de carga cargará el Vbus y nunca obtendrá una condición de Vbus válida.

Por lo general, puede engañar al circuito de carga para que haga lo que quiera enviando comandos al conductor. Por ejemplo, en mi Nook Touch, puedo cargar a 500 mA haciendo lo siguiente:

echo 500000 > /sys/devices/platform/bq24073/force_current

Normalmente, Android 3.1..4.1 está equipado con un puerto USB y puede conectarse al host, no al revés. El host proporciona una potencia de carga de 500 mA de acuerdo con el Protocolo abierto de accesorios de Android. ADK Accesorio es posiblemente la mejor manera de tener conectividad + alimentación externa + subdispositivo Accesorio controlado por Android. ( ¿cuándo veremos esos proyectos de bricolaje del osciloscopio ADK? )

Pero, está preguntando si Android es el host y recibe energía de carga al mismo tiempo, en lugar de proporcionarlo como debería hacerlo el host USB. No se especifica en los documentos de Android. Entonces la respuesta es "No" (a partir de junio de 2012). A menos que intercambies roles y sigas a ADK. Incluso si sigue ADK 1.0 y 2.0 (Kit de desarrollo de accesorios), no todos los dispositivos al 100% podrán ejecutar su software, porque ADK existe solo desde Android 3.1.

¿Está seguro de que el conector "micro-USB" es en realidad un host? ¿Cuántos conectores USB hay en total en el dispositivo? Si hay menos de 2, solo puede ser un periférico USB, no un host.

Dado que Android 3.1, que funciona como un host USB, ha sido una opción de API estándar que los fabricantes podrían implementar. En la mayoría de los casos, esto se hace usando el mismo conector que se usa en el modo de dispositivo USB, aunque algunas de las tabletas más parecidas a computadoras portátiles tienen un conector USB "A" separado.

En realidad, esto es posible y también es un estándar USB oficial. Pero, para que esto funcione, debe tener un host USB (teléfono móvil, etc.) con un conector USB micro-AB, como, por ejemplo, el Sony Xperia S, que tengo. Consulte la descripción en "Microenchufes OTG" en el artículo "USB On-The-Go" en Wikipedia.

Desafortunadamente, hasta ahora no he podido encontrar un adaptador que haga el truco, pero debería ser posible que un fabricante haga uno para usted. Hay varios fabricantes que aceptan pedidos de cables personalizados.

Actualmente estoy usando un adaptador Delock USB micro-A macho a USB2.0 A-macho para conectarme al almacenamiento en mi Xperia S, y parece funcionar bien. Sin embargo, esto no permitirá cargar mi Xperia S al mismo tiempo, por lo que agotará mi batería si se usa con el tiempo.

¿Alguien sabe de un adaptador que haga esto posible en un conector micro-AB?

Los pinouts en a, b y ab son los mismos. No veo ninguna razón por la que esto tenga algo que ver con el comportamiento de carga, o por qué un cable personalizado ayudará. El estándar OTG incluye el conector, pero va mucho más allá

Una de mis aplicaciones de seguimiento de satélites de Android utiliza una placa IO de terceros (llamada placa IOIO, consulte https://github.com/ytai/ioio/wiki ) que acepta un voltaje de entrada que se transmite al cable USB del teléfono. y lo carga. Como se menciona en publicaciones anteriores, este es el protocolo USB On-The-Go (OTG). Utilizo la placa IOIO para procesar aún más los datos que se escriben desde mi aplicación mientras se carga el teléfono.

Hay un dispositivo que vi hoy en Kickstarter que te permite usar el mismo puerto micro USB para cargar desde un adaptador y conectar dispositivos al mismo tiempo. Esto será genial para tabletas con un solo puerto USB. La compañía planea enviar unidades entre abril y mayo de este año. Para los interesados ​​aquí está el enlace:

+ puerto: alimentación + USB al mismo tiempo

+port no funciona en dispositivos Android. Fue diseñado para Dell Venue 8 Pro. Observo que algunas personas tienen diferentes resistencias en esos cables Y. Por ejemplo hay unos de 100K y otros de 60 K impares, así como los de 37 K más o menos que son los estándar. No podría dejar de preguntarse si alguien conectó una resistencia variable a un cable Y, ¿eso ayudaría a ubicar el punto óptimo para permitir la carga y el otg simultáneamente?
También encontré este producto +port en Kickstarter, ¡pero no puedo encontrarlo en ningún lugar en línea para comprarlo y probarlo en mi dispositivo...! Bah.