Depois do sucesso da série de DSP que publicamos em diversos artigos de nossa autoria, percebemos a necessidade de dar continuidade ao assunto não só para atender aos leitores que desejam ir um pouco além como também para mostrar alternativas interessantes de projeto que envolvem também o uso de microcontroladores. Assim, contatando a Texas Instruments, de comum acordo estabelecemos que a partir desta edição falaremos do uso do microprocessador MSP430, uma solução econômica para o processamento digital de sinais, analisando suas aplicações, seu funcionamento e dando circuitos práticos. (2001)

A solução dada pelos DSPs para o trabalho com sinais analógicos, processando-os de forma digital, dá ao projetista elementos sem limites para o desenvolvimento de seus projetos, chegando ao ponto em que microcontroladores comuns não chegam.

No entanto, entre o microcontrolador comum e o DSP existe uma lacuna importante que deve ser analisada e que oferece soluções importantes para quem não deseja usar um DSP especificamente (que por razões de curso/benefício quer por dominar as suas técnicas de projeto) mas por outro lado não pode usar um microcontrolador comum por não ter as características necessárias ao processamento digital de sinais, ou ainda por não dominar as técnicas envolvidas.

Em função disso, a nossa idéia com esta série de artigos é apresentar ao leitor uma solução intermediária, um componentes que justamente preenche esta lacuna.

A Texas possui na sua linha de produtos a família de microcontroladores de ultra-baixa potência MSP430 que justamente atende aos requisitos de ser ao mesmo tempo um microcontrolador e fazer o processamento digital de sinais com eficiência pois possui um conversor ADC já integrado.

Com os microcontroladores desta família é possível desenvolver muitas aplicações que de outra forma seriam mais facilmente obtidas com o uso de DSPs, mas que ao mesmo tempo não são tão complexas a ponto de exigir esta solução.

A grande vantagem é então possibilitar ao desenvolvedor a possibilidade de usar microcontroladores (com que a maioria está mnais familiarizada) mas ao mesmo tempo trabalhando com o processamento digital de sinais.

 

MSP430

Os microcontroladores da família MSP430 da Texas Instruments reune caracteristicas que o tornam ideal para aplicações que envolvam o processamento digital de sinais.

Além de uma capacidade de processamento de velocidade de acordo com as necessidades deste tipo de circuito quando aplicado na industria, controle, automação e mecatrônica, ele já inclui um conversor analógico-digital de 12 ou 14 bits e recursos para interfaceamento fácil com circuitos externos de controle.

Nesta família os dispositivos possuem diferentes conjuntos de funções que permitem dirigir seu uso para várias aplicações.

Dentre elas destacamos:

Medidas de grandezas físicas em geral como corrente, consumo, temperatura, pressão, nível.

Instrumentos portáteis de medida

Equipamentos médicos

Equipamentos esportivos

Aplicações domésticas

Sistemas de segurança

 

A família de microcontroladores MSP430 é formado pelos dispositivos dados na seguinte tabela:

 


 

 

 

Analisemos as principais caracteristicas dos microcontroladores desta família para que a partir da próxima edição possamos inici9ar nossa série de circuitos práticos que os utilizem:

 

a) Arquitetura

Uma das razões da grande popularidade do MSP430 é a ortogonalidade de sua arquitetura.

Este termo, em ciências da computação significa eu uma instrução de operando único pode usar qualquer modo enderessável e que qualquer operando duplo pode usar qualquer combinação de modos de endereçamento de fonte e destino.

Na figura 1 temos uma representação gráfica desta arquitetura.

 


 

 

 

O oposto da arquitetura ortogonal é a não-ortogonal mostrada na figura 2. Nela, qualquer instrução pode usar somente uma parte dos modos de endereçamento existentes.

 


 

 

 

A arquitetura do MSP430 inclui sete possibilidades de endereçamento para seus operandos.

Quatro delas são implementadas na CPU, duas resultam do uso do Contador de Programa {PC) como registro e mais uma que pode ser atribuida ao se indexar um registro que sempre contenha zeros (Status Register).

Na figura 3 temos uma representação da poderosa CPU de 16 bits do MSP430 em que se destaca a arquitetura RISC (Reduced Instruction Set Computer).

 


 

 

O conjunto de instruções do MSP430 possui em apenas 27 instruções no seu cerne e para facilitar uma programação mais intuitiva, mais 24 instruções emuladas de modo a simplificar o processo de de geração de código.

Esta combinação de instruções RISC e de instruções emuladas minimiza o espaço de código ao mesmo tempo que simplifica a programação.

Todas estas instruções podem ser trabalhadas com os 7 modos de enedreçamento do MSP430.

Não existem instruções especiais ou modos modos necessários ao trabalho com a RAM, periféricos, a CPU, registradores ou qualuer outra parte do MSP430. Esta caractyerísticas aumenta enormemente a eficiência do set de instruções e forma a base do projeto ortogonal do MSP430.

A CPU contém 16 registradores no cerne da CPU. Quatro registradores são destinados a funções dedicadas do Contador de Programa (PC), Registro de Status (SR), Ponteiro de Pilha (SP) e Gerador Constante (CG).

Os 12 registros restantes de 16 bits tem o uso totalmente definido pelo usuário. Eles são registros de uso geral na CPU eu permitem o uso tanto como ponteiros variávbeis como para outros dados a serem diretamente acessados pela CPU sem necessidade de busca na memória.

 

b) Clock

Os módulos de clock do MSP430 são totalmente programáveis possibilitando aos projetistas uma grande quantidade de opções.

O Digital Controller Oscillator (DCO) pode ser programado para proporcionar ao sistema frequências de 1 a 8 MHz. Tipicamente, o MSP430 precisa apenas de um cristal externo de 32 kHz de modo a gerar para o suistema um padrão de alta frequência preciso.

Uma das vantagens do uso do cristal de 32 kHz é o baixo custo e a possibilidade de se fazer a divisão de tempo em tempo real com um simples contador além de não haver a preocupação com um layout de placa para altas frequências.

O MSP430 inclui um PLL interno que regula automaticamente a fequência do sistema para um valor múltiplo da frequência do cristal.

Uma característica importante do DCO é que ele tem a partida num tempo máximo de 6 us uando uma intessupção ou reset ocorre.

Isso permite que o processador fique num estado de espera de baixo consumo por um tempo mais longop economizando energia.

Outro recurso é um circuito a prova de falha (failsafe) que permite ao processador entrar em operação usando o DCO mesmo quando o cristal falha. Isso significa que se o cristal falhar, ou mesmo estiver ausente o processador ainda assim poderá iniciar o processamento do código.

Esta caracrerística permite que o MSP430 seja usado em projetos que não precisam de cristal.

 

Outras características:

Faixa de tensões de alimentação: 1,8 a 3,6 V

Baixa Corrente de operação: 1,6 uA a 4 MHz com 2,2 V e 200 uA a 1 MHz com 2,2 V

Programação serial onboard.

 

Consumo:

As versões de menor quantidade de pinos do MSP430 como as famílias MSP430x11 e MSP430x11x1 combinam o baixo consumo, memória Flash, RISC de 16 bits com baixo custo.

Estes dispositivos consomem apenas 250 uA no modo ativo e 0.8 uA no modo standby e 0,1 uA no modo off (Retenção RAM).

Com memória flash de 1 k e ROM de 4 k os preços destes microcontroladores começam em apenas 0,99 dólares por unidades (A texas apregoa que este dispositivo é o que tem a melhor relação custo/benefício do mercado).

Conforme mostra a seguinte tabela o MSP430 pode funcionar em cinco modos diferentes para economizar energia:

Modo ativo – 400 uA

Modo de Baixa Potência (LPM1) – 50 uA

( LPM2) – 6 uA

Modo Standby (LPM3) – 1,3 uA

Retenção RAM/Modo Off (LPM4) – 0,1 uA

 

Na figura 4 temos um diagrama de blocos para os microcontroladores da família MSP430x11(1).

 


 

 

 

O cerne RISC pode operar em frequências de até 8 MHz o que possibilita a execução a maior parte das 27 instruções em ciclos de 125 ns.

Dentre os dispositivos integrados nos microcontroladores da família 11x e 11x1 temos o Timer_A de 16 bits com três registradiores de captura e comparação, 14 I/O individuais para sinais, o sistema flexível de Clock, Comparador Analógico A (Analog Comparator_A) com referências (no 11x1 somente). Watchdog/Timer e interface JTAG.

O clock básico permite tempo de standby de até 128 segundos. Os tamanhos da memória de dados e programa varuam entre 1 e 4 k.

 

c) ADC de 12+2 bits

Um dos pontos de destaque dos micrcontroladores MSP430 e que possibilita uma ampla gama de aplicações no processamento digital de sinais é o seu conversor analógico-digital de 14 bits.

Na figura 5 temos o diagrama de blocos deste ADC através dos quais é possível perceber seus recursos.

 


 

 

 

O funcionamento completo deste ADC pode ser encontrado no portal da Texas ou ainda na documentação disponíovel em artigo “Application Basics for the MSP430 14-Bit ADC” em que se detelham todas as suas etapas com elementos que permitem o cálculo dos elementos externos como por exemplo a fonte de corrente para os sensores, circuitos para sensores de quatro fios, como expandir a fonte de alimentação, considerações sobre zumbido e ruído para cabos de sensores longos, aterramento.

 

Ferramenta de Desenvolvimento:

A ferramenta de desenvolvimento MSP430 é a FET430X110. É claro que, o leitor habilidoso e que possua recursos para isso, pode montar esta ferramenta cujo diagrama é mostrado na figura 6.

 


 

 

 

O kit MSP FET430X110 é formado por documentação básica, um CD ROM com o software de emulação e uma placa de emulação com um soquete ZIF para instalação de dispositivos MSP430F1121 com memória Flash e um cabo para conexão ao PC.

Os leitores interesados em mais informações sobre esta ferramenta o os próprios microcontroladores desta série podem obter vastissima documentação no endereço http://www.ti.com/sc/msp430.

O software de desenvolvimento é compatíve com o Windows 95, 98 e NT4.0.

No entanto, os leitores interessados em conhecer melhor esta ferramenta de desenvolvimento não precisam adquirir o Kit de Emulação ou mesmo esperar os próximos artigos desta série.pois o software de desenvolvimento e simulador pode ser baixado do portal da Texas na Internet no endereço http://www.ti.com/sc/msp430reg.

Com ele instalado no computador você pode fazer algumas simulações interessantes já se familiarizando com o potencial dos microcontroladores da família MSP430 e até mesmo desenvolver um relógio em tempo real com a criação de um mostrador líquido “que funciona!” e que ficará disponível na tela de seu computador para lhe in formar de modo preciso as horas.

Outro projeto que pode ser já desenvolvido no simulador desta ferramenta é um LED Piscante que será justamente o LED da placa de desenvolvimento para quem já a possui.

 

a) LED Piscante

Damos a seguir o procedimento para se obter em Assembler e C um LED piscante no FET e depois em linguagem C. A listagem para esta simulação pode ser baixada do site da Texas ou da Saber.

 

Em Assembler:

1. Inicie o Workbench (START>PROGRAMS>IAR SYSTEMS>IAR EMBEDDED WORKBENCH FOR MSP430 KICKSTART->IAR EMBEDDED WORKBENCH)

2. Use FILE>OPEN para abrir o arquivo de projeto em 430>FET_examples->Assembler->Fet_1->FET_1.prj

3. Use PROJECT->BUILD ALL para montar e lincar o código fonte. Você pode ver o código fonte clicando duas vezes Common Sources e então clicando duas vezes no arquivo Fet_1.s43 na janela Fet_1.prj

4. Assegure que C-SPY esteja configurado corretamente (PROJECT->OPTIONS, C-SPY);

1. SETUP, DRIVER, Flash Emulation Tool (parallel)

2. SETUP, CHIP DESCRIPTION $TOOLKIT_DIR$\cw430\msp430_1101.ddf

3. PARALLEL PORT, PARALLEL PORT, LPT1 ou LPT2 ou LPT3

5. Use PROJECT->DEBUGGER para iniciar C-SPY. C-SPY vai apagar o dispositivo FLASH e então carregar o arquivo para o dispositivo FLASH o arquivo objeto da aplicação

6. No C-SPY use EXECUTE->GO para iniciar a aplicação

7. No C-SPY, use o FILE EXIT para sair de C-SPY

8. No Workbench use FILE EXIT para sair do Workbench

Parabens! Você desenvolveu e testou sua primeira aplicação usando o MSP430F1121!

 

Exemplo em Linguagem C:

1. Inicie o Workbench (START->PROGRAMS->IAR SYSTEMS->IAR EBEDDED WORKBENCH FOR MSP430 KICKSTART->IAR EMBEDDED WORKBENCH)

2. Use FILE>OPEN para abrir o arquivo de projeto em 430->FET_examples->C-Fet_1->Fet_1.prj

3. Use PROJECT->BUILD ALL para compilar e lincar o código fonte. Você poderá ver o código fonte clicando duas vezes em Common Surces e então clicando duas vezes no arquiivo Fet_1.c na janela Fet_1.prj

4. Assegure que o C-SPY esteja corretamente configurado (PROJECT->OPTIONS, C-SPY)

1. SETUP, DRIVER, Flash Emulation Tool (parallel)

2. SETUP, CHIP DESCRIPTION, $TOOLKIT_DIR$\cw430\msp430_1101.ddf

3. PARALLEL PORT, PARALLEL PORT, LPT1 ou LPT2 ou LPT3

5. Use PROJECT->DEBUGGER para iniciar o C-SPY. O C-SPY vai apagar o dispositivo FLASH e então carregar o arquivo objeto da aplicação.

6. No C-SPY use EXECUTE->GO para iniciar a aplicação

7. No C-SPY use FILE-EXIT para sair do C-SPY

8. No Workbench use FILE-EXIT para sair do Workbench.

Você conseguiu agora desenvolver e testar uma aplicação do MSP430F1121 em liguagem C.

 

b) Relógio em Tempo Real

Quando se instala o simulador ele cria na tela do computador um mostrador de cristal líquido.

Este mostrador pode ser usado não só para se visualizar os projetos em desenvolvimento como também para criar algumas “montagens virtuais” interessantes como por exemplo um relógio em tempo real ou ainda um mostrador que exiba mensagens na própria tela do computador.