Um tablet Android pode servir como host USB e ser carregado simultaneamente por uma única porta?


51

Vários tablets Android são alimentados pela porta USB Micro B, mas também oferecem suporte ao host USB pela mesma porta (por exemplo, Motorola Xoom 2, Acer A510 / 700). Preciso poder usar o suporte ao host USB durante o carregamento, na potência máxima que o dispositivo aceita (ou pelo menos energia suficiente para impedir que o tablet seja drenado sob uso modesto).

Eu montei um sistema com cabos divisores e um hub alimentado. Isso funciona em alguns dispositivos (HP TouchPad, Archos), mas não em outros (Google / Asus Nexus 7, Coby Kyros). E quando funciona, diminui a carga (provavelmente nos 500ma do USB 2).

Como esse problema pode ser resolvido? Existem soluções no mercado que resolverão meu problema? Vejo que existem alguns chips USB da Silego (sua linha de identificação do carregador de bateria) que podem resolver o problema, mas não conheço cabos, hubs etc. que o utilizem.


11
Obviamente, isso depende dos detalhes do esquema de carregamento e USB do tablet específico. Não pode haver uma resposta uniforme.
Chris Stratton

11
Ironicamente, em alguns dos dispositivos em que o modo host USB não é oficialmente suportado (principalmente telefones), mas foi ativado por alterações no kernel instaladas pelo proprietário, geralmente é o caso (pelo menos inicialmente) de a bomba de carga acionar 5v do USB a porta era inexistente ou não estava sendo ativada. Nesses casos, você provavelmente poderia fazer pelo menos uma carga de limite de corrente USB - e você quase precisou, pois precisava fornecer uma fonte externa de energia de barramento USB para o uso do periférico.
Chris Stratton

Como se espera que um host USB 2.0 forneça energia (500 ma ou 100 ma, dependendo da solicitação do periférico durante a enumeração), fornecer energia na direção reversa enquanto atuando como host não pareceria possível, a menos que alguns não Um circuito padrão estava disponível, o que duvido que você possa contar em todos os dispositivos Android.
usar o seguinte comando

Aparentemente, você pode criar circuitos não padronizados usando cabos bastante padronizados. Além disso, do lado prático, esse cara até diz que funcionou para ele, ainda pensando se seria sensato tentar ou se o interlocutor sabe do que fala. .. verifique: community.spiceworks.com/topic/… : "Primeiro você precisa comprar este cabo: ..."
ntg

Respostas:


22

Aparentemente, é possível carregar o dispositivo host! -> http://en.wikipedia.org/wiki/USB_On-The-Go

Em "OTG Micro Plugs", diz que um cabo USB OTG com um resistor de 36,5 kΩ entre o pino 4 (suponho que seja o pino 4) e o pino 5 permite conectar um dispositivo B (escravo) e (!) Um carregador ao Smartphone / Tablet.

O telefone e o dispositivo B podem ser fornecidos pela fonte de energia externa.

Especificações de alimentação USB: http://www.usb.org/developers/docs/devclass_docs/batt_charging_1_1.zip (link atualizado)


2
Apenas examinei os documentos porque não confiava nos dados implícitos da Wikipedia sobre qual das três resistências eu deveria usar. Aqui você encontra o funcionário Battery Charging v1.2 Spec and Adopters Agreement: usb.org/developers/docs/devclass_docs Nesse caso, você deseja 124kΩ, porque deseja que o dispositivo OTG (= tablet) seja o dispositivo A (= host).
precisa saber é

Esse arranjo é oficialmente chamado de "carregador acessório". O uso desse modo requer um comparador especial para detectar o resistor especial no pino de identificação, o que pode não ser suportado em todos os dispositivos portáteis. E a função deve ter suporte de firmware adequado para ativar a função de energia, mantendo a funcionalidade do host.
Ale..chenski 04/04

17

Sim, isso pode ser feito - definitivamente!

Na verdade, conseguimos que isso funcionasse combinando a especificação USB Universal Charging com a especificação USB OTG. Isso requer um cabo personalizado para ser executado, mas funciona. Pegamos a idéia nesta publicação e a alteramos em uma solução de cabo único, enquanto a publicação possui uma fonte de energia e cabos de dados separados.

Diagramas de fiação:

Publicar esquema


Isso é incrível! Existe um diagrama OTG w Power atualizado para o conector USB tipo C mais recente?
George Profenza

6

A especificação do carregador de bateria USB não permite isso, pois os pinos de dados são usados ​​para indicar a presença do carregador - para que eles não fiquem disponíveis para dados.

Existem soluções no mercado que resolverão meu problema?

A especificação USB Power Delivery parece ser, work in progressportanto ainda não há produtos no mercado - ou mesmo anunciados -.


Carregadores de alta taxa não usam necessariamente os pinos USB padrão.
Chris Stratton

@ ChrisStratton, os queixosos de USB deveriam :) mas é mais confuso do que isso, eu concordo.
Kortuk

2
@ Kortuk - eles tendem a ser compatíveis com o USB, mas estendem-no de maneiras personalizadas. Geralmente, o carregador é um cabo exclusivo com contatos extras, mas um cabo mini / micro USB funciona bem para dados e, em muitos casos, é cobrado a taxas compatíveis com USB.
Chris Stratton

@ ChrisStratton Isso me dá alguma esperança - talvez alguém esteja fornecendo uma solução proprietária para dispositivos ASUS, Acer, Motorola, etc.?
John Beatty

@ JohnBeatty - provavelmente não para essa variedade. Talvez em um ou dois casos específicos. Esse é o problema sempre que você deseja fazer algo fora do padrão - você perde a portabilidade.
Chris Stratton

5

Geralmente, você não deve carregar um dispositivo ao usá-lo como host USB. Isso não significa que você não pode.

Normalmente, o circuito USB PHY e o pino de identificação estão bloqueados no software com o circuito de carregamento. Um problema é que, se você ativar o carregador antes de conectar o cabo USB, o circuito de carregamento carregará o Vbus e você nunca obterá uma condição Vbus válida.

Geralmente, você pode enganar o circuito de carregamento para fazer o que quiser, enviando comandos para o motorista. Por exemplo, no meu Nook Touch, posso carregar a 500 mA fazendo:

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

2

Normalmente, o Android 3.1..4.1 está equipado com porta USB e pode se conectar ao host, e não o contrário. O host fornece energia de carregamento de 500mA de acordo com o Android Open Accessory Protocol. O acessório ADK é possivelmente a melhor maneira de ter conectividade + energia externa + sub-dispositivo acessório controlado pelo Android. ( quando veremos os projetos DIY do osciloscópio da ADK? )

Mas você está perguntando sobre o Android ser o host e receber energia de carregamento ao mesmo tempo, em vez de fornecê-lo como o host USB deveria. Não está especificado nos documentos do Android. Portanto, a resposta é "Não" (em junho de 2012). A menos que você troque de papéis e siga o ADK. Mesmo se você seguir o ADK 1.0 e 2.0 (Kit de desenvolvimento de acessórios), nem todos os 100% dos dispositivos poderão executar o seu software, porque o ADK existe apenas desde o Android 3.1.

Tem certeza de que o conector "micro-USB" é realmente um host? Quantos conectores USB estão no total do dispositivo? Se for menor que 2, ele poderá ser apenas um periférico USB, não um host.


Desde o Android 3.1 operando como host USB, foi uma opção de API padrão que os fabricantes poderiam implementar. Na maioria dos casos, isso é feito usando o mesmo conector usado no modo de dispositivo USB, embora alguns dos tablets mais portáteis tenham um conector USB "A" separado.
Chris Stratton

2

Um dos meus aplicativos de rastreamento por satélite Android usa uma placa IO de terceiros (chamada IOIO Board, consulte https://github.com/ytai/ioio/wiki ) que aceita uma voltagem de entrada que é passada para o cabo USB no telefone e cobra. Como as postagens anteriores mencionam, este é o protocolo USB On-The-Go (OTG). Eu uso a placa IOIO para processar ainda mais os dados gravados no meu aplicativo enquanto o telefone está sendo carregado.


1

Na verdade, isso é possível e também é um padrão USB oficial. Mas, para que isso funcione, você precisa de um host USB (telefone celular etc.) com um conector micro-AB USB, como, por exemplo, o Sony Xperia S, que eu tenho. Veja a descrição em "OTG Micro Plugs" no artigo "USB On-The-Go" na Wikipedia.

Infelizmente, até agora não consegui encontrar um adaptador que funcione, mas deve ser possível que um fabricante faça um para você. Existem vários fabricantes que aceitam pedidos de cabos personalizados.

No momento, estou usando um adaptador Delock USB micro-A macho para USB2.0 A-macho para conectar ao armazenamento no meu Xperia S, e isso parece funcionar bem. Isso, no entanto, não tornará possível carregar o meu Xperia S ao mesmo tempo, portanto, a bateria será descarregada se usada com o tempo.

Alguém sabe de um adaptador que tornará isso possível em um conector micro-AB?


11
As pinagens no a, be ab são as mesmas. Não vejo nenhuma razão para isso ter relação com o comportamento de carregamento ou por que um cabo personalizado ajudará. O padrão OTG inclui o conector, mas vai muito além disso
Scott Seidman

1

Há um dispositivo que eu vi hoje no Kickstarter que permite usar a mesma porta micro USB para carregar de um adaptador e conectar dispositivos ao mesmo tempo. Isso será ótimo para tablets com portas USB únicas. A empresa planeja transportar unidades entre abril e maio deste ano. Para os interessados ​​aqui está o link:

+ porta: Alimentação + USB ao mesmo tempo


3
+ porta não funciona em dispositivos Android. Foi projetado para o Dell Venue 8 Pro. Observo que algumas pessoas têm resistores diferentes nesses cabos Y. Por exemplo, existem alguns com 100K e outros com 60 K ímpares, bem como aqueles com 37 ou mais K, que são padrão. Não poderia deixar de pensar se alguém conectou um resistor variável a um cabo Y, se isso ajudaria a localizar o ponto ideal para ativar o carregamento e otg simultaneamente?

Eu também encontrei este produto de porta no Kickstarter - mas não consigo encontrá-lo em nenhum lugar on-line para comprar e experimentar no meu dispositivo ...! Bah.
Brett Rigby
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.