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 MSP430

medidor de temperatura com o ADC12 do

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 display da Experimenter board

Tenso e temperatura no

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