quarta-feira, 28 de agosto de 2013

Microcontroladores de baixo consumo – Texas Instruments Wolverine MSP430FR58XX e MSP430FR59XX

Introdução - MSP430 - de volta a 1992...

   Os MSP430s da Texas Instruments são microcontroladores bem velhinhos, que datam de 1992. Sempre se destacaram por sua arquitetura de baixo consumo RISC 16-bits, programação in-circuit e operaram sempre em frequências na ordem de MHz. Mas foi a partir de 1999 que tudo mudou - foram lançadas versões com flash interna.

   Encontrei um documento que mostra como deveríamos utilizar o Compilador C com MSP430 no IAR em 1996, vejam vocês. Acessem o link. Uma pesquisa arqueológica me levou até este outro documento, que prova o uso de um micro MSP430 em filtros digitais em 1994.

Um dos primeiros micros dessa linha Texas foi o MSP430C323.

Texas Instruments MSP430 Wolverine

   Esta família é nomeada de MSP430F58xx e MSP430F59xx.

   Possuem até 64 KB de FRAM, 2 KB de SRAM, UART I2C, SPI, ADCs e rodam até a 24 MHz de Clock.

   O primeiro vídeo da Texas foi esse abaixo:

   
   Essa linha de microcontroladores têm alguns segredinhos que permitem que eles sejam tão econômicos. Esse é o principal objetivo desse artigo - não quero entrar no mérito de explicar o dispositivo... Vamos começar pelo principal responsável pela economia de energia, a tecnologia de sua memória FRAM, que substitui SRAM, DRAM, NAND ou NOR Flash e EEPROM.


FRAM, F-RAM ou FeRam, como preferirem (Ferroelectric Random Acess Memory)

   A FRAM é uma memória não volátil ( não perde seus dados quando a alimentação é desligada, como a SRAM ). Apesar de seu nome, não tem ferro em sua composição. É contruída, na verdade, de materiais ferro-elétricos, que não são afetados por campos magnéticos, apenas por campos elétricos. 

   A velocidade de escrita da FRAM é bem rápida se comparada com uma flash tradicional ( umas 100 vezes mais rapidez de escrita ) e, quando escrevemos em uma posição dessa memória, a escrita e a leitura são feitas ao mesmo tempo. Essa é uma diferença bem interessante, não é mesmo?
As Flashs internas de microcontroladores de mercado precisam de uma tensão alta para poder gravar um valor em sua memória. Essa tensão alta é gerada pelo próprio chip, em um LDO, e nem nos lembramos dela normalmente. Essa elevação de tensão também é responsável pelo alto consumo ( este consumo, especificamente, é 250 vezes mais econômico que o microcontrolador MSP430 anterior ) . A FRAM utiliza tensão de 1,5V. para gravar seus dados, ou seja, é bem mais econômica neste ponto.

   Escritas parciais são menos frequentes com as FRAMs, uma vez que a quantidade de energia necessária para gravar um byte nessa memória é menor que em uma NAND flash de um micro de mercado.

   Além disso, trilhões ciclos de escritas são garantidos ( sim, não precisamos mais nos preocupar com isso ). Pense em uma NVRAM – Uma RAM não volátil – praticamente uma!

   Uma característica curiosa, no entanto, é que é necessário uma escrita depois de uma leitura da FRAM (memory restore). Isso já é feito por hardware.

   A FRAM não é exclusividade da Texas. Rohm e Fujitsu também tem essa tecnologia em alguns CIs, mas não em microcontroladores. A Texas já trabalha nisso desde 2001, em parceiria com a empresa RAMTRON.

   Uma vez que a FRAM não perde seus dados quando a alimentação é desligada e, nesses micros, podemos utilizar a FRAM como uma RAM não volátil, em aplicações em que é necessário ligar, realizar um processamento e desligar, o tempo de guardar todas as informações da SRAM somado com o tempo de resgatar todas as informações para a SRAM, como em um micro standard, não existe. Não existe porque não são necessárias essas operações. A informação, quando é modificada, já está salva.

   A SRAM é mantida nesses chips para ser fácil a migração de projetos já existentes.

 Tecnologia UUL (Ultra-low-leakage) - 130 nm.

   O que a Texas fez? Ela reprojetou suas libs de "design tool kit" ( baixo nível mesmo - como os componentes são organizados para serem fabricados os periféricos ) pra otimizar e minimizar ao máximo a corrente de fuga. Ela não estava se preocupando em aumentar a performance, apenas em diminuir o consumo. E conseguiu um ganho de mais de 10 vezes em economia de consumo neste microcontrolador. Com essa nova forma de contruir micros, ela conseguiu projetar ADCs de 12-bits, por exemplo, que consomem apenas 75 micro Amperes e o periférico RTC que consome apenas 100 nano Amperes.

Power Gating Controller

   Uma nova tecnologia de power gating controller é utilizada para que os circuitos internos do microcontrolador não sejam totalmente desligados. Isso permite que o tempo de ligamento de determinado bloco não seja perdido.



LDO Interno inteligente

   Foi trabalhado tambem o LDO interno do microcontrolador, que a Texas permitiu uma operação mais inteligente, uma vez que o LDO regula automaticamente o quanto ele tem que entregar de energia ao sistema, dependendo da demanda atual do processador. Isso minimiza a potência consumida pelo sistema.


Gerenciamento de Energia e Modos de Operação

   Como alguns micros de mercado, o Wolverine também opera a 1,8V.

   Alguns modos de economia de energia são previstos nesse microcontrolador:
  • Active - Esse modo é o mais veloz, onde todos os periféricos, clocks, core, SRAM, tudo está ligado e o microcontrolador está em operação normal. O consumo deste modo é 100 micro Amperes por MHz. Esse valor é muito baixo, se comparado com um MSP430 de outra família.

  • LPM1, LPM2, LPM3, LPM4 - Veja no quadro abaixo as características desses modos.  Apenas em modo ativo o core está ativo. Os periféricos que estavam trabalhando com uma determinada frequência, quando um desses modos de economia é ativado, ficam desabilitados até que o clock volte a ficar ativo. Todos os estados de I/Os  RAM e registradores se mantem no mesmo valor de antes de entrar nesses estados. Existem diferentes formas de voltar do modo de economia de energia, dependendo do modo.

  • LPM3.5 e LPM4.5 - nesses dois modos de economia de energia, o regulador de tensão do módulo de economia de energia interno ao micro é simplesmente desligado. Todos os registradores e informações que estão na RAM são perdidos. Mas, apesar dos dados dos registradores de I/Os terem também sido perdidos, o valor dos pinos são "travados" - e são individualmente programados. No modo 3.5 é possível de retornar do estado de modo de economia de energia através de um evento de RTC - programado para acordar o micro por um alarme. Para ambos os modos, 3.5 e 4.5, é possível se recuperar por uma interrupção de pino externo ( qualquer pino do microcontrolador previamente programado para tal função ). O SVS (Supervisor de Alimentação) pode ser utilizado em qualquer modo, previamente programado para que, se aplicada uma tensão abaixo de um mínimo necessário para sua operação, o BROWN OUT RESET entre em ação. 





   Bom, a conclusão é que esse micro traz uma inovação muito interessante, a FRAM, que muda os paradigma de como pensamos o firmware de nossos sistemas embarcados. O baixíssimo consumo, principalmente no modo 4.5, faz que, se programado de forma que sempre que não tiver realizando atividades, o micro vá para esse modo de economia, o sistema possa ter um consumo ainda menor. Equipamentos que consomem menos possibilitam a criação de novos sistemas inteligentes que começam a fazer parte de nossa vida aos poucos.


Referências:



Agradecimentos:
  • Celso Providelo, dono da empresa Gwyddion, onde aprendi fazendo. Especialmente hardware e firmware para MSP430 em MSPGCC.
  • Raul Brum de Matos, engenheiro da Texas Instruments desde 2011 - Raul me deu uma placa de desenvolvimento Texas, que permitiu que criasse alguns posts que serão publicados aqui no futuro. Além disso tirou algumas dúvidas e me corrigiu em alguns pontos.
  • William Lyra, quem primeiro comentou desses tais Wolverines.
  • Alessandro Ferreira da Cunha - diretor da TechTraining desde 2008.

Nenhum comentário:

Postar um comentário