Você está na página 1de 11

PROGRAMAO DO TREINAMENTO:

Pgina 2

0. Objetivos deste treinamento


Quem est fazendo este mdulo avanado II porque j passou pelos mdulos anteriores.
Portanto no sero abordados aqui os tpicos j visto nos cursos anteriores.
Aqui o aluno j deve dominar suficientemente a linguagem C e o ambiente de trabalho IAR.
O estudo dos perifricos ser feito diretamente na fonte: manual da famlia 4 e datasheet do
dispositivo, o que pode ser obtido da internet nos endereos abaixo.
Manual da famlia:
http://focus.ti.com/lit/ug/slau056h/slau056h.pdf
Datasheet do MSP430FG4618:
http://focus.ti.com/lit/ds/symlink/msp430fg4618.pdf

Este material ser apenas um descritivo dos exerccios que devem ser feitos ao longo deste
treinamento.

Pgina 3

1. FLL+ Clock Module


Carregue o primeiro exerccio feito no curso de linguagem C, onde um LED fica piscando de
acordo com a velocidade de um loop infinito, como pode ser visto abaixo.
//******************************************************************************
//
MSP430xG46x Demo - Software Toggle P5.1
//
//
Description: Toggle P5.1 by xor'ing P5.1 inside of a software loop.
//
ACLK = 32.768kHz, MCLK = SMCLK = default DCO
//
//
MSP430xG461x
//
|-----------------|
//
/|\|
|
//
| |
|
//
--|RST
|
//
|
|
//
|
P5.1|-->LED
//
//
K. Quiring/M. Mitchell
//
Texas Instruments Inc.
//
October 2006
//
Built with IAR Embedded Workbench Version: 3.41A
//******************************************************************************
#include

<msp430xG46x.h>

void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD;
P5DIR |= 0x02;
while(1)
{
P5OUT ^= 0x02;
for(i=50000;i>0;i--);
}

// Stop WDT
// P5.1 output

// Delay

1.1.

Freqncia atual do clock

Analise a configurao do mdulo FLL+ no programa exemplo. Qual a freqncia atual do


clock?

1.2.
Aumentando e diminuindo a freqncia de clock durante a
execuo de um programa
Reescreva o programa anterior de modo que um toque no boto 1 faa com que a
freqncia do clock aumente gradativamente, chegando at ao valor mximo possvel para
este dispositivo. Um toque no boto 2 dever fazer com que a freqncia diminua
gradativamente, chegando at o valor mnimo possvel. Isto deve ser realizado em LPM.
O que se deve observar como sada que o LED aumentar e diminuir a freqncia das
piscadas proporcionalmente a variao de velocidade de processamento do MSP430.

Pgina 4

2. Flash Memory Controller


Durante o curso de linguagem C foi desenvolvido um RTC (Real Time Clock), onde um
relgio passa a funcionar a partir da interao com o usurio, que informa qual o horrio
inicial (dia, ms, ano, dia da semana, hora, minuto e segundo). Estes valores, depois de
inseridos, passam a ser mostrados no display da Experimenter Board.
Carregue este programa e verifique o seu funcionamento. Ele servir como base para o
nosso prximo exerccio.

2.1.

Criando um data looger com o MSP430

A partir do programa do RTC do curso anterior, crie um novo software que faa o seguinte:
Uma vez que o RTC foi inicializado de acordo com o programa anterior, ele
passa a operar normalmente, mostrando a hora inicial no display;
Quando o usurio pressionar o boto S1, o valor atual do RTC (dia, ms, ano,
dia da semana, hora, minuto e segundo) deve ser gravado na memria flash.
Isto deve ocorrer por tantas vezes quanto forem os pressionamentos deste
boto, ou at esgotar o espao de armazenamento da memria flash;
Quando o usurio pressionar o boto S2, a primeira posio de memria flash
mostrada no display. Pressionamentos seguidos deste boto fazem aparecer
no display, seqencialmente, todos os dados que foram armazenados, at o
fim do ltimo dado armazenado antes de pressionar S2 pela primeira vez.

3. Supply Voltage Supervisor SVS


3.1.

Medindo o nvel de tenso da bateria do MSP430

Escreva um programa, utilizando o perifrico SVS, que indique no display da Experimenter


Board qual o nvel de tenso atual da bateria. O programa deve acender o seguimento do
display que indica a carga da bateria proporcionalmente tenso de alimentao do chip, de
acordo com a tabela e a figura mostrada a seguir.
Deve ser feita uma verificao em tempo real da tenso de alimentao. Caso hajam
variaes de tenso, estas devem ser mostradas no diplay.

Pgina 5

4. ADC12
4.1.

Voltmetro medidor de tenso com o ADC12 do MSP430

Ser inserido na entrada do ADC do MSP430 um potencimetro. Isto far com que a tenso
de entrada neste pino varie de +Vcc (~ 3 V, com as pilhas carregadas) at GND (0 V).
Escreva um programa que faa a leitura deste valor de tenso e escreva no display, em
tempo real, qual o valor da tenso, no formato:

Pgina 6

4.2.
Termmetro medidor de temperatura com o ADC12 do
MSP430
O ADC12 pode ter como referncia de entrada uma juno de um transistor que indica qual
a temperatura do encapsulamento.
Escreva um programa que faa a leitura deste valor de temperatura e escreva no display,
em tempo real, qual o valor da temperatura, no formato:

4.3.
Mltiplas converses com o ADC12 Tenso e temperatura no
display da Experimenter board
Escreva um programa que mostre, ao mesmo tempo e em tempo real, a temperatura do
encapsulamento do MSP430 e o valor de tenso colocado na entrada no conversor ADC12,
mostrando as informaes no display da Experimenter Board no seguinte formato:

Pgina 7

5. DAC12
5.1.

Gerador de funes com o DAC12

Escreva um software que faa o seguinte:


Ao pressionar o boto S1 ser colocada na sada do DAC12 uma forma de onda, de
acordo com o mostrado abaixo. Estas formas de onda devero ter a amplitude
mxima permitida para este dispositivo. Cada pressionar de boto troca a forma de
onda da sada, de modo seqencial.
o 1: SENOIDAL 100 Hz
o 2: QUADRADA 1 Khz
o 3: TRIANGULAR 100 Hz
Ao pressionar o boto S2 a freqncia da forma de onda que estiver no terminal de
sada naquele instante dever ser aumenta ciclicamente, chegando a um limite e
retornando ao valor incial proposto, de acordo com o nmero de pressionamento do
boto. O nmero de toques no boto pode ser limitado a 5, para facilitar a elaborao
do cdigo fonte.
A forma de onda que estiver sendo colocada na sada deve ser indicada no display da
Experimenter Board, atravs de nomes que possibilitem reconhecer que determinada
forma de onda est em ao naquele momento.

6. DMA (Direct Memory Access) ControlerAC12


A Texas Instruments disponibiliza em seu site um software de exemplo que faz o uso do
DMA: o Voice Recorder, cuja cpia pode ser obtida nos links mostrados abaixo:
http://focus.ti.com/mcu/docs/mcusupporttechdocsc.tsp?sectionId=96&tabId=1502&abstractN
ame=slaa361
http://focus.ti.com/lit/an/slaa361/slaa361.pdf
http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=slaa361&fileType=zip
Neste exemplo feito um tratamento da voz utilizando todos os recursos estudados at este
momento do curso: converso AD, uso de DMA, armazenamento em memria Flash, e
converso DA. O funcionamento deste programa exemplo pode ser visto em blocos, na
figura a seguir.

Pgina 8

6.1.

Data looger utilizando o DMA

Ser inserido o potencimetro na entrada do conversor AD.


Ao pressionar o boto S1 ser gravado na memria Flash todas as variaes de sinal que
entrarem no conversor AD, atravs da variao do cursor do potencimetro. Isto deve
acontecer, obrigatoriamente, utilizando o recurso do DMA.
interessante mostrar ao usurio qual o valor de tenso que se est salvando na memria,
atravs do display. Um indicao de que o sinal est sendo armazenado tambm
desejvel (pode ser a utilizao do smbolo de TX ou RX no display).
Para efeitos didticos, podemos limitar a gravao de dados a um tamanho de 5 Kbytes na
memria flash.
Aps a gravao de dados, se o usurio pressionar o boto S2 ser feita a leitura de dados
gravados na memria Flash. O sinal ser entregue a sada do conversor DA e ao conectar
um osciloscpio a sada do dispositivo, a mesma forma de onda da entrada deve ser
observada na sada.
Pgina 9

Tambm interessante mostrar no display quais so os valores de tenso que foram


armazenados e indicar que a operao de sada est acontecendo (pode ser a utilizao do
smbolo de TX ou RX no display).

7. Watch Dog Timer


Recarregue o software do gerador de funes, desenvolvido durante o estudo do DAC12.
Acrescente neste software o uso do WDT, escolhendo quais so os pontos corretos de
inserir a limpeza deste hardware, e verifique o seu funcionamento.
Retire alguns destes pontos colocados estrategicamente durante o programa e verifique se
realmente o software resetado quando uma rotina excede o tempo previsto no WDT.
Modifique a configurao do WDT para outros valores de tempo e veja como isto afeta o
funcionamento do programa.

8. Comunicao Serial: Mquina USART


Para esta srie de exerccios sero necessrias duas placas Experiementer Board. Ento os
alunos devero trabalhar em dupla.
Ser conectado um potencimetro em cada placa, que deve estar ligado ao conversor
ADC12.
As variaes de sinal decorrente da atuao no cursor do potencimetro deve ser mostrado
no display da outra placa.
Assim, o sinal do potencimetro A, ligado na placa A, deve ser mostrado no display da placa
B. Por outro lado, o sinal do potencimetro B, ligado na placa B, deve ser mostrado no
display da placa A.
A troca de informaes deve ocorrer atravs da interface de comunicao serial pedida a
seguir. Sero conectados os sinais entre as placas atravs de fios fornecidos pelo professor.

8.1.

UART

Configurar a mquina USART para atuar como uma UART e fazer o programa acima rodar
na mxima velocidade possvel.

Pgina 10

8.2.

SPI

Configurar a mquina USART para atuar como uma SPI e fazer o programa acima rodar na
mxima velocidade possvel.

9. Comunicao Serial: Mquina USCI


Para esta srie de exerccios tambm sero necessrias duas placas Experiementer Board.
Ento os alunos devero trabalhar em dupla.
Ser conectado um potencimetro em cada placa, que deve estar ligado ao conversor
ADC12.
As variaes de sinal decorrente da atuao no cursor do potencimetro deve ser mostrado
no display da outra placa.
Assim, o sinal do potencimetro A, ligado na placa A, deve ser mostrado no display da placa
B. Por outro lado, o sinal do potencimetro B, ligado na placa B, deve ser mostrado no
display da placa A.
A troca de informaes deve ocorrer atravs da interface de comunicao serial pedida a
seguir. Sero conectados os sinais entre as placas atravs de fios fornecidos pelo professor.

9.1.

SPI

Configurar a mquina USCI para atuar como uma SPI e fazer o programa acima rodar na
mxima velocidade possvel.

9.2.

I2C

Configurar a mquina USCI para atuar como uma I2C e fazer o programa acima rodar na
mxima velocidade possvel.

Pgina 11

Você também pode gostar