Existe uma maneira barata e confiável de identificar uma porta de carregamento USB?
Pretendo carregar um dispositivo pela porta USB. A Especificação de carregamento da bateria USB 1.1 permite que a corrente seja de 1.5A quando conectada a uma porta de carregamento dedicada (DCP) e 500mA quando conectada a uma porta de carregamento a jusante (CDP). Um DCP é tipicamente uma verruga e um CDP é tipicamente um computador. Tanto quanto eu entendo, um DCP é identificado por linhas D + e D em curto, um CDP identificado por D + e D- sendo puxado para o solo através de resistores de 15k.
Parece que a identificação dessas portas requer um pouco de hardware extra. Eu provavelmente poderia influenciar a linha D + e conectar D- a uma entrada ADC para procurar um DCP. E algum arranjo semelhante para verificar um CDP. Suponho que também precisaria desconectar o viés e o ADC quando terminar para não interferir na comunicação USB. As almofadas USB no meu mcu não são tolerantes a 5V e são almofadas USB dedicadas (estou usando um LPC1343).
Identificar os carregadores não-padrão da Apple e da Sony seria um bônus adicional, mas não crítico.
Alguém vê uma maneira mais simples ou melhor de fazer isso?
A partir desta folha de dados