quarta-feira, 28 de agosto de 2013

Microcontroladores de baixo consumo - Comparativo entre Texas Instruments Wolverine e NXP LPC800

   Este pequeno artigo tem por objetivo fazer a comparação de consumo dos microcontroladores de baixo consumo NXP LPC800 e Texas Instruments MSP430F58xx e 59xx ( Wolverine ).

Em modo ativo, a 1 MHz, o MSP430 Wolverine consome 100 micro Amperes, aproximadamente. O NXP LPC800, 450 micro Amperes.

   O microcontrolador Texas Instruments Wolverine consome 20 nano Amperes em 1,8V. no modo mais econômico de energia, o modo 4.5 de consumo de energia.

Potência = 1.8 * 0.000000020 =  36 nW.

   Para acordar desse estado, ele leva 1 milissegundo. Existe apenas uma forma de acordar deste sono profundo - através de uma interrupção de pino de I/Os - e todos os I/Os são sensíveis - e isso é ótimo!

   No NXP LPC800, o microcontrolador mais econômico com core ARM CORTEX M0+ da NXP:

Potência = 1.8 * 0.000000200 =  360 nW.

   No LPC800, o micro não volta desse estado. Ele "reseta a frio" em 0,004 milissegundos, mas é possível verificar se ele voltou de um reset ou de um cold boot. Dez vezes mais potência é dissipada por esse micro comparado com a potência dissipada pelo Wolverine!

   Esse micro tem uma vantagem, no entanto. Possui um timer de 32 bits que o permite dormir e acordar de um sono profundo de acordo com uma temporização pré-programada (pode funcionar em 10 kHz com cristal interno e permite até 119 horas de "sono") com um baixo consumo de energia. Esse cristal é bem sensível a temperatura - então é recomendável que se utilize prazos curtos de tempo pra ambientes com mudança de temperatura. No Wolverine, o modo 3.5 também permite programar um evento de RTC para o micro voltar a ativa, mas o consumo já é mais alto, se comparado com o LPC800 (500 nA. para o TI vs. 200 nA. do NXP)

   É importante salientar também que no LPC800, os estados dos pinos não são conservados no modo de consumo mais baixo. Já no MSP430 Wolverine, todos os pinos permanecem inalterados, desde o momento que ele entra em estado de baixíssimo consumo, até o momento que retorna deste estado.

   No NXP LPC800, apenas um pino permite que o microcontrolador retorne do estado mais econômico de energia através de uma interrupção de I/O externa - tem que haver um pulso em zero por no mínimo 50 ns. em um determinado pino para que isso ocorra. No Wolverine, isso já funciona de forma diferente - todos os pinos permitem que o micro volte de seu "sono profundo - modo 4.5" - todos os I/Os são interrompíveis.

Estudo de caso:

Sistema 1:

Imaginemos um sistema eletrônico de telemetria que possua um sensor de temperatura que se comunica via SPI com um microcontrolador Texas Instruments Wolverine e que, após a leitura, envia os dados via UART para um sistema de medidas.

No projeto, o microcontrolador consegue controlar a alimentação do sensor de temperatura. 

Considere os seguintes tempos:

Frequência de leitura do sensor e comunicação com a central: sempre que a central solicitar via uart.
Tempo para retornar do modo 4.5: 1 ms.
Tempo para se comunicar com o sensor: 2 ms.
Tempo para se comunicar com a central de telemetria: 3 ms.

Tensão e Consumos:
Todos os dispositivos estão alimentados a 1.8V. O controle de alimentação é feito pelo microcontrolador.
Microcontrolador: Modo Ativo a 1 MHz =>100 uA.
Microcontrolador: Modo 4.5=> 20 nA.
sensor de temperatura: 1 mA.

Sempre que é solicitado, o sistema eletrônico acorda por uma interrupção de pino - RX da UART (1), o micro, operando a 1 MHz, alimenta o sensor e faz a leitura (2), desliga o sensor e se comunica com a base (3). Depois dessas tarefas, volta para o modo 4.5.

(1) 1 ms. =>   100 uA. 
(2) 2 ms. =>   100 uA. + 20 uA ( estimado da UART e SPI ligadas ) + 1mA. = 1,12 mA.
(3) 3 ms. =>   100 uA.
Indefinidamente, até a próxima comunicação: 20 nA.

Sistema 2: Apenas o microcontrolador é trocado pelo NXP800.

Tempo para retornar do modo deep power-down: 4 us

Tensão e Consumos:
Todos os dispositivos estão alimentados a 1.8V. O controle de alimentação é feito pelo microcontrolador.
Microcontrolador: Modo Ativo a 1 MHz =>450 uA.
Microcontrolador: Modo deep power-down=> 200 nA.

(1) 0,004 ms =>    450 uA.
(2) 2 ms.       =>   450 uA. + 20 uA ( estimado da UART e SPI ligadas ) + 1mA. = 1,47 mA.
(3) 3 ms.       =>   450 uA.
Indefinidamente, até a próxima comunicação: 200 nA.

Conclusão:

   Ambos são fantásticos em termos de consumo, não é mesmo?! A nova linha de Texas Instruments MSP430 Wolverine, no entanto, batem o NXP LPC800, principalmente se considerarmos que os sistemas de baixo consumo passam a maior parte do tempo em modo de economia extremo. Nesse estudo de caso, o micro é acordado por uma interrupção de I/O e podemos utilizar as duas formas de baixo consumo de ambos os microcontroladores. 

   Estamos mais perto de um mundo sem baterias? Acredito que sim.

Nenhum comentário:

Postar um comentário