Solução para adaptação aos limites de consumo de corrente USB?

22

Resumo: Estou configurando um circuito de carregamento de íons de lítio alimentado por USB e, é claro, gostaria de extrair a corrente de carga máxima possível situacionalmente - mas também quero garantir que não viole a especificação USB no consumo atual. Embora tenha sido capaz de satisfazer uma / duas das condições USB individualmente, estou tendo um pouco de dificuldade para pensar em uma maneira inteligente de satisfazer todas elas. Aqui está o que está acontecendo ...

Quatro regras de especificação de USB (três referentes aos máximos de consumo de corrente e uma relativa à limitação de corrente de irrupção) pertinentes à minha situação particular são as seguintes: (Nota: estou mostrando diferentes estágios de tempo neste diagrama :)

Regras

A boa notícia é ...

Por acaso, estou usando um IC USB-UART FTDI, o FT232R ( folha de dados ), que cuida da enumeração e também possui saídas que indicam status de enumeração e status de suspensão, o que seria útil para definir quando desenhar qual nível de corrente.

Também é útil que eu esteja usando um IC de carregador de íon de lítio, o MCP73871 ( datasheet ), que possui um pino ChargeEnable, bem como um pino Prog2 e um pino Prog1, que permitem definir os limites de corrente de carga.

As funções desses pinos úteis para os dois ICs acima estão resumidas na minha (áspera) tentativa de layout abaixo. Ainda não está completo, conforme indicado pelos pontos de interrogação em determinadas conexões:

Meu layout

Meu layout

Especificações do sorteio atual

Finalmente, aqui estão as especificações de consumo de corrente situacionais para os dois CIs. Obviamente, esses consumos de corrente também precisam ser contados nos limites de consumo de corrente de 0,5 / 100/500 mA na fonte USB: Sorteio atual

PERGUNTA: Parece haver uma solução para ajustar meu layout, de modo a satisfazer todas as quatro regras / condições de uma só vez, mas não estou vendo; Alguma ideia?

Como você pode ver no meu layout, configurei um circuito desconectado (combinação RC no MOSFET) para o problema de partida suave; e eu tenho o resistor de configuração de limite no pino PROG1, que talvez possa ser usado como parte de um divisor para resolver parcialmente o problema de 500mA vs 100mA vs 0,5mA (baseado em parte na estratégia da FTDI nesta nota de aplicativo ). Mas isso é o máximo que consegui alcançar.

mordida
fonte

Respostas:

11

"O dispositivo MCP73871 adere especificamente aos limites atuais estabelecidos, regidos pela especificação USB." -MCP73871

Você não precisa limitar nada atualmente. Sua solução MOSFET seria útil apenas para a irrupção de limite de corrente devido a uma carga capacitiva, mas seu pino VDD não é capacitivo nem o circuito limitaria quando já estiver ligado. Tudo o que você precisa fazer é descobrir como usar #PWREN e #SLEEP para alternar em diferentes valores de resistores. O MCP73871 faz o resto.

  1. Basta conectar #SLEEP ao #CE para cuidar da "espera".
  2. Adicione um inversor entre #PWREN e # PROG2, mas verifique se a entrada flutuante padroniza a saída do inversor para LOW.
  3. Coloque um menu suspenso de 2.2k em # PROG1

Nota: verifique se você possui R1, pois #PWREN está com alta potência e você precisa limitar a corrente no NPN.

insira a descrição da imagem aqui

Incendiário analógico
fonte
Isso parece correto; Agora estou prestes a olhar para este método, no caso de haver qualquer caso, não satisfaz, e vai comentar assim que verificá-lo
boardbite
deixe-me saber se você precisa de ajuda com valores de resistência
Analog Arsonist
1

Talvez um controlador de redefinição seja útil aqui; conecte sua saída à rede RC para inicialização. Então pegue SLEEP, inverta-o e com o sinal de reset e alimente-o com CE. Para PWREN, crie um divisor de tensão em cerca de 1,5V. Coloque-o em um comparador inversor contra 1V e alimente-o com PROG2.

Ignacio Vazquez-Abrams
fonte
Você pode desenhar um esquema, seria muito mais fácil seguir uma explicação em texto e, em seguida, usar o texto para explicar o esquema.
Kortuk