Ligando um IC a partir de uma linha GPIO


10

Eu tenho um aplicativo de baixa potência que será alimentado por uma célula tipo moeda Li. Consegui uma corrente de sono satisfatória com o MCU escolhido.

A aplicação ADC IC, no entanto, é uma questão diferente: 900µA enquanto inativo - demais para uma aplicação de célula tipo moeda.

Por isso, pensei em por que não isolar a energia do ADC quando ele não está em uso. Duas idéias vieram à mente: um FET do lado superior no Vdd do ADC ou apenas conectar o pino Vdd (ou Vss) do ADC a um dos pinos do GPU do MCU (assumindo que a corrente esteja dentro das especificações de fonte / coletor do MCU).

Supus que haveria muitos artigos, notas de aplicativos etc. discutindo essa idéia, mas ainda não encontrei nada on-line. Antes de começar a experimentar, alguém pode me indicar artigos relevantes / notas de aplicativos on-line? Ou é apenas uma má ideia? e se sim, por que?

(Sim, sei que a maioria das MCUs possui ADCs integrados. Por motivos fora do escopo da consulta, eu realmente preciso usar esse ADC IC externo.)

Obrigado!


Qual é o modelo do seu ADC?
Nick Alexeev

Respostas:


8

Ligar um dispositivo através de um pino GPIO geralmente é uma má ideia. No regime de energia muito baixa, talvez você possa se safar, mas eu não o recomendaria, a menos que você tenha restrições muito severas.

Você já observou que verificou que o requisito do ADC é menor do que a capacidade da unidade do pino. Isso é tipicamente o que muitas pessoas não se incomodam em verificar. Se o consumo estiver dentro dos limites exigidos, você poderá ficar bem nessa conta. No entanto, verifique se todos os requisitos de corrente transitória do ADC também estão contidos no recurso de unidade GPIO. Você exigiria, no mínimo, uma dissociação razoavelmente pesada no suprimento da ADC. Lembre-se do fato de que a saída GPIO não é uma linha de suprimento de baixa impedância e será mais lenta para responder aos requisitos de corrente transitória.

Em segundo lugar, como você está usando um ADC e, nesse caso, um ADC que não está embutido em um uC (o que você deveria fazer para um consumo de energia muito baixo), presumo que você tenha alguns requisitos que não são ' t satisfeito pelo ADC interno. O GPIO, não sendo uma linha de suprimento e, mais importante, sendo um GPIO de um microcontrolador, será definitivamente contaminado pelo menos pela freqüência de clock do uC, seus harmônicos e possivelmente sub-harmônicos. Como você também estará conduzindo uma corrente substancial através dela, não ficaria surpreso se outros efeitos fossem trazidos também. Você pode até ver pequenos componentes do seu SPI / I2C / o que você tem no suprimento, dependendo de qual GPIO você usa e quão pesado é o desacoplamento. Se a resolução ADC e o desempenho do ruído forem importantes,

O lado mais alto é uma aposta muito melhor e mais segura. Você também pode considerar o uso de qualquer número de ICs relacionados à energia que possuam controle de ativação, como LDOs e similares. Um LDO próximo ao suprimento da ADC também pode ajudar a melhorar o desempenho. Observe, no entanto, que isso significa que o seu ADC terá que funcionar com uma voltagem ligeiramente mais baixa. Isso também acontecerá com uma simples chave de transistor e, com um baixo FET Rdson, o efeito será, reconhecidamente, muito menor, mas existirá.

Uma coisa que você deve observar é que conectar as linhas digitais de um IC sem energia aos GPIOs de um uC alimentado não é uma boa idéia. Você acabará ligando o ADC por meio de IOs digitais e causará um comportamento estranho e potencialmente perigoso. Especificamente, eu ficaria surpreso se o seu ADC não respondeu mesmo quando desligado. Isso é capaz de causar degradação a longo prazo e aproveita a vantagem da economia de energia em primeiro lugar. Para que o desligamento seja bom, você deve usar um buffer de conversão de nível para cada linha digital entre os dois com a capacidade de desativar (tristar) as saídas. Isso pode ser feito usando um pino EN, talvez, ou usando um buffer com outros mecanismos para desativar (o SN74LVC1T45 tristates se o suprimento de um lado for puxado para o chão, por exemplo). A utilidade do esquema depende do consumo do buffer no estado DESLIGADO, do consumo no estado LIGADO e do ciclo de trabalho (a fração de tempo que você deseja ativá-lo) e do consumo ADC (900uA) que você pode economizar fazendo isso. Se você for muito cuidadoso, poderá evitar a necessidade dos buffers alterando as entradas e saídas de uC que estão conectadas ao ADC antes de desligá-lo e produzindo o mesmo efeito.


Ótima resposta. Outra coisa a mencionar é que o ADC provavelmente desejará um capacitor de desacoplamento em seu pino de energia. A corrente de irrupção do capacitor provavelmente perturbará a linha GPIO.
Rocketmagnet

5

Sim, você pode fazer isso, apenas verifique se todas as restrições foram atendidas. Eu fiz isso algumas vezes. Usar uma saída de microcontrolador para alimentar um pequeno circuito em vez de alternar sua energia pode ser uma maneira útil de economizar espaço. Eu usei isso em um projeto, por exemplo, para ativar um front end analógico de receptor de ultrassom somente quando necessário.

Além do problema óbvio de corrente limitada disponível no pino de saída, é necessário observar o ruído do micro entrando no circuito comutado e lidar com as correntes transitórias desenhadas pelo circuito. A adição de uma tampa no pino de saída digital ajuda nos dois problemas, mas você também deve considerar a capacidade que o micro pode controlar enquanto liga ou desliga a linha.

Isso não é algo que você deve fazer de ânimo leve, e você precisa pensar cuidadosamente sobre os problemas, mas depois de fazer sua lição de casa e ainda fazer sentido, vá em frente.


5

Sim, você pode fazer isso. E muitos têm. Por exemplo, o Adafruit mostra isso sendo feito para um RTC ds1307 em um adruino, alimentado por dois gpio (como vcc e gnd) . Isso também é feito para os LCDs da Nokia, que precisam apenas de 1 mA para a tela (os leds da luz de fundo são uma história diferente, mas ainda podem ser feitos pelo gpio).

Uma fonte de energia é uma fonte de energia. Contanto que seu consumo atual seja baixo (ou você pode tolerar queda de tensão devido ao consumo atual nos pinos da porta do mcu), você pode fazê-lo.

Agora, depende de quão limpa é a saída do gpio. Alguns CIs são menos propensos a reclamar de uma linha ligeiramente suja do que outros. Um ADC pode ser um daqueles que não são a melhor opção. Uma fonte suja pode afetar a resolução ou a confiabilidade do ADC. Isso pode tornar o ADC externo pior do que o interno. Como outros já mencionaram, um limite pode ajudar.

É improvável fritar o ADC, então a melhor aposta? Conecte-o e execute-o através de alguns testes de calibração. Se funcionar, vá com ele. Caso contrário, use um transistor npn ou um fet semelhante para cortar a energia. Só uma coisa. certifique-se de trocar os pinos de dados em entradas quando o IC estiver desligado e aguarde até ligar o pino de energia antes de colocá-los no modo em que precisam.

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.