• Nenhum resultado encontrado

PROGRAMAÇÃO DO TREINAMENTO:

N/A
N/A
Protected

Academic year: 2021

Share "PROGRAMAÇÃO DO TREINAMENTO:"

Copied!
10
0
0

Texto

(1)
(2)
(3)

0. Objetivos deste treinamento

Quem está fazendo este módulo avançado II é porque já passou pelos módulos anteriores.

Portanto não serão abordados aqui os tópicos já visto nos cursos anteriores.

Aqui o aluno já deve dominar suficientemente a linguagem C e o ambiente de trabalho IAR. O estudo dos periféricos será feito diretamente na fonte: manual da família 4 e datasheet do dispositivo, o que pode ser obtido da internet nos endereços abaixo.

Manual da família:

http://focus.ti.com/lit/ug/slau056h/slau056h.pdf

Datasheet do MSP430FG4618:

(4)

1. FLL+ Clock Module

Carregue o primeiro exercício 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; // Stop WDT P5DIR |= 0x02; // P5.1 output while(1) { P5OUT ^= 0x02; for(i=50000;i>0;i--); // Delay } }

1.1.

Freqüência atual do clock

Analise a configuração do módulo FLL+ no programa exemplo. Qual é a freqüência atual do clock?

1.2.

Aumentando e diminuindo a freqüência de clock durante a

execução de um programa

Reescreva o programa anterior de modo que um toque no botão 1 faça com que a freqüência do clock aumente gradativamente, chegando até ao valor máximo possível para este dispositivo. Um toque no botão 2 deverá fazer com que a freqüência diminua

gradativamente, chegando até o valor mínimo possível. Isto deve ser realizado em LPM.

(5)

2. Flash Memory Controller

Durante o curso de linguagem C foi desenvolvido um RTC (Real Time Clock), onde um relógio passa a funcionar a partir da interação com o usuário, que informa qual é o horário inicial (dia, mês, 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 próximo exercício.

2.1.

Criando um data looger com o MSP430

A partir do programa do RTC do curso anterior, crie um novo software que faça 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 usuário pressionar o botão S1, o valor atual do RTC (dia, mês, ano, dia da semana, hora, minuto e segundo) deve ser gravado na memória flash. Isto deve ocorrer por tantas vezes quanto forem os pressionamentos deste botão, ou até esgotar o espaço de armazenamento da memória flash;

• Quando o usuário pressionar o botão S2, a primeira posição de memória flash é mostrada no display. Pressionamentos seguidos deste botão fazem aparecer no display, seqüencialmente, 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 nível de tensão da bateria do MSP430

Escreva um programa, utilizando o periférico SVS, que indique no display da Experimenter Board qual é o nível de tensão atual da bateria. O programa deve acender o seguimento do display que indica a carga da bateria proporcionalmente à tensão de alimentação do chip, de acordo com a tabela e a figura mostrada a seguir.

(6)

4. ADC12

4.1. Voltímetro

Æ medidor de tensão com o ADC12 do MSP430

Será inserido na entrada do ADC do MSP430 um potenciômetro. Isto fará com que a tensão de entrada neste pino varie de +Vcc (~ 3 V, com as pilhas carregadas) até GND (0 V).

Escreva um programa que faça a leitura deste valor de tensão e escreva no display, em tempo real, qual é o valor da tensão, no formato:

(7)

4.2. Termômetro

Æ medidor de temperatura com o ADC12 do

MSP430

O ADC12 pode ter como referência de entrada uma junção de um transistor que indica qual é a temperatura do encapsulamento.

Escreva um programa que faça a leitura deste valor de temperatura e escreva no display, em tempo real, qual é o valor da temperatura, no formato:

4.3.

Múltiplas conversões com o ADC12 Æ Tensão 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 tensão colocado na entrada no conversor ADC12, mostrando as informações no display da Experimenter Board no seguinte formato:

(8)

5. DAC12

5.1.

Gerador de funções com o DAC12

Escreva um software que faça o seguinte:

• Ao pressionar o botão S1 será colocada na saída do DAC12 uma forma de onda, de acordo com o mostrado abaixo. Estas formas de onda deverão ter a amplitude máxima permitida para este dispositivo. Cada pressionar de botão troca a forma de onda da saída, de modo seqüencial.

o 1ª: SENOIDAL Æ 100 Hz o 2ª: QUADRADA Æ 1 Khz o 3ª: TRIANGULAR Æ 100 Hz

• Ao pressionar o botão S2 a freqüência da forma de onda que estiver no terminal de saída naquele instante deverá ser aumenta ciclicamente, chegando a um limite e retornando ao valor incial proposto, de acordo com o número de pressionamento do botão. O número de toques no botão pode ser limitado a 5, para facilitar a elaboração do código fonte.

• A forma de onda que estiver sendo colocada na saída deve ser indicada no display da Experimenter Board, através de nomes que possibilitem reconhecer que determinada forma de onda está em ação 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 cópia 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: conversão AD, uso de DMA, armazenamento em memória Flash, e conversão DA. O funcionamento deste programa exemplo pode ser visto em blocos, na figura a seguir.

(9)

6.1.

Data looger utilizando o DMA

Será inserido o potenciômetro na entrada do conversor AD.

Ao pressionar o botão S1 será gravado na memória Flash todas as variações de sinal que entrarem no conversor AD, através da variação do cursor do potenciômetro. Isto deve acontecer, obrigatoriamente, utilizando o recurso do DMA.

É interessante mostrar ao usuário qual o valor de tensão que se está salvando na memória, através do display. Um indicação de que o sinal está sendo armazenado também é desejável (pode ser a utilização do símbolo de TX ou RX no display).

Para efeitos didáticos, podemos limitar a gravação de dados a um tamanho de 5 Kbytes na memória flash.

(10)

Também é interessante mostrar no display quais são os valores de tensão que foram armazenados e indicar que a operação de saída está acontecendo (pode ser a utilização do símbolo de TX ou RX no display).

7. Watch Dog Timer

Recarregue o software do gerador de funções, desenvolvido durante o estudo do DAC12. Acrescente neste software o uso do WDT, escolhendo quais são 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 configuração do WDT para outros valores de tempo e veja como isto afeta o funcionamento do programa.

8. Comunicação Serial: Máquina USART

Para esta série de exercícios serão necessárias duas placas Experiementer Board. Então os alunos deverão trabalhar em dupla.

Será conectado um potenciômetro em cada placa, que deve estar ligado ao conversor ADC12.

As variações de sinal decorrente da atuação no cursor do potenciômetro deve ser mostrado no display da outra placa.

Assim, o sinal do potenciômetro A, ligado na placa A, deve ser mostrado no display da placa B. Por outro lado, o sinal do potenciômetro B, ligado na placa B, deve ser mostrado no display da placa A.

A troca de informações deve ocorrer através da interface de comunicação serial pedida a seguir. Serão conectados os sinais entre as placas através de fios fornecidos pelo professor.

8.1. UART

Referências

Documentos relacionados

Apesar do glicerol ter, também, efeito tóxico sobre a célula, ele tem sido o crioprotetor mais utilizado em protocolos de congelação do sêmen suíno (TONIOLLI

Os principais resultados obtidos pelo modelo numérico foram que a implementação da metodologia baseada no risco (Cenário C) resultou numa descida média por disjuntor, de 38% no

Por fim, na terceira parte, o artigo se propõe a apresentar uma perspectiva para o ensino de agroecologia, com aporte no marco teórico e epistemológico da abordagem

continua patente a ausência de uma estratégia de desenvolvimento sustentável, o que poderá ser consequência ser tão insignificante que tal preocupação ainda não se

O tema proposto neste estudo “O exercício da advocacia e o crime de lavagem de dinheiro: responsabilização dos advogados pelo recebimento de honorários advocatícios maculados

Pensar a formação continuada como uma das possibilidades de desenvolvimento profissional e pessoal é refletir também sobre a diversidade encontrada diante

Como visto no capítulo III, a opção pelo regime jurídico tributário especial SIMPLES Nacional pode representar uma redução da carga tributária em alguns setores, como o setor

aulas a serem ministradas, possibilitando a construção do senso crítico do aluno diante do estudo, buscando sempre uma relação com a temática proposta e o cotidiano