SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
TECH TRAINING – ENGENHARIA E TREINAMENTOS
       Prof. Alessandro Ferreira da Cunha
          msn: afcunha01@gmail.com
        skype: alessandroferreiradacunha
 CURSO AVAÇADO II – PERIFÉRICOS DO MSP430
         PROGRAMAÇÃO DO TREINAMENTO:
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

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:
http://focus.ti.com/lit/ds/symlink/msp430fg4618.pdf




Este material será apenas um descritivo dos exercícios que devem ser feitos ao longo deste
treinamento.




                                                                                   Página 2
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

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.


O que se deve observar como saída é que o LED aumentará e diminuirá a freqüência das
piscadas proporcionalmente a variação de velocidade de processamento do MSP430.



                                                                                   Página 3
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

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.


Deve ser feita uma verificação em tempo real da tensão de alimentação. Caso hajam
variações de tensão, estas devem ser mostradas no diplay.




                                                                                   Página 4
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha




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:




                                                                                   Página 5
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

   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:




                                                                                   Página 6
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

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.




                                                                                     Página 7
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha




   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.


Após a gravação de dados, se o usuário pressionar o botão S2 será feita a leitura de dados
gravados na memória Flash. O sinal será entregue a saída do conversor DA e ao conectar
um osciloscópio a saída do dispositivo, a mesma forma de onda da entrada deve ser
observada na saída.


                                                                                   Página 8
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha


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

Configurar a máquina USART para atuar como uma UART e fazer o programa acima rodar
na máxima velocidade possível.



                                                                                    Página 9
Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha

   8.2.      SPI

Configurar a máquina USART para atuar como uma SPI e fazer o programa acima rodar na
máxima velocidade possível.

9. Comunicação Serial: Máquina USCI

Para esta série de exercícios também 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.

   9.1.      SPI

Configurar a máquina USCI para atuar como uma SPI e fazer o programa acima rodar na
máxima velocidade possível.

   9.2.      I2C

Configurar a máquina USCI para atuar como uma I2C e fazer o programa acima rodar na
máxima velocidade possível.




                                                                                  Página 10

Contenu connexe

Tendances

Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Thiago Oliveira
 
Pic apostila
Pic apostilaPic apostila
Pic apostilamoschen
 
Estudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4AEstudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4AAna Carneirinho
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladoresAlyson Cavalcante
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosMarcelo Barros de Almeida
 
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Ana Carneirinho
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduinotamarasalvatori
 
Apresentação pic
Apresentação picApresentação pic
Apresentação picSaddam Lande
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Gustavo Yoshio Maruyama
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Fernando Passold
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8elliando dias
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores picCesar Prim
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentiumEMSNEWS
 

Tendances (20)

Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051Aula 1 - Assembly - 8051
Aula 1 - Assembly - 8051
 
Pic apostila
Pic apostilaPic apostila
Pic apostila
 
Estudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4AEstudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4A
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
Guia AC mod 5
Guia AC mod 5Guia AC mod 5
Guia AC mod 5
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passos
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Pic18xx
Pic18xxPic18xx
Pic18xx
 
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)
 
Ufes erus minicurso arduino
Ufes erus minicurso arduinoUfes erus minicurso arduino
Ufes erus minicurso arduino
 
Apresentação pic
Apresentação picApresentação pic
Apresentação pic
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8Desenvolvimento com o ATmega8
Desenvolvimento com o ATmega8
 
Programando microcontroladores pic março
Programando microcontroladores pic marçoProgramando microcontroladores pic março
Programando microcontroladores pic março
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
 
2 gravação
2 gravação2 gravação
2 gravação
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
 

Similaire à 001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430

Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
Apostila branqs exercicios plc módulo 1
Apostila branqs exercicios plc módulo 1Apostila branqs exercicios plc módulo 1
Apostila branqs exercicios plc módulo 1MARCELO DOS OLIVEIRA
 
Informativo tenico comunicacao t116 s com 3 inversores as1
Informativo tenico   comunicacao t116 s com 3 inversores as1Informativo tenico   comunicacao t116 s com 3 inversores as1
Informativo tenico comunicacao t116 s com 3 inversores as1confidencial
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPFabio Souza
 
201728 22259 manual_picgenios
201728 22259 manual_picgenios201728 22259 manual_picgenios
201728 22259 manual_picgeniosBárbara Gama
 
Arduino para físicos
Arduino para físicosArduino para físicos
Arduino para físicosRenato Castro
 
Capitulo 2 - Composicao CNC
Capitulo 2 - Composicao CNCCapitulo 2 - Composicao CNC
Capitulo 2 - Composicao CNCSergio Barrios
 
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCPaulo Duarte
 
P spice guia_passo_a_passo
P spice guia_passo_a_passoP spice guia_passo_a_passo
P spice guia_passo_a_passobetoshaper
 

Similaire à 001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430 (20)

Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Relatório final
Relatório finalRelatório final
Relatório final
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Apostila branqs exercicios plc módulo 1
Apostila branqs exercicios plc módulo 1Apostila branqs exercicios plc módulo 1
Apostila branqs exercicios plc módulo 1
 
Informativo tenico comunicacao t116 s com 3 inversores as1
Informativo tenico   comunicacao t116 s com 3 inversores as1Informativo tenico   comunicacao t116 s com 3 inversores as1
Informativo tenico comunicacao t116 s com 3 inversores as1
 
Cpic
CpicCpic
Cpic
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Clic 02-manual
Clic 02-manualClic 02-manual
Clic 02-manual
 
Rs logix 5000
Rs logix 5000Rs logix 5000
Rs logix 5000
 
Relógio Eletrônico de Ponto Henry Prisma Super Fácil R02 - Operacional
Relógio Eletrônico de Ponto Henry Prisma Super Fácil  R02 - OperacionalRelógio Eletrônico de Ponto Henry Prisma Super Fácil  R02 - Operacional
Relógio Eletrônico de Ponto Henry Prisma Super Fácil R02 - Operacional
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXP
 
201728 22259 manual_picgenios
201728 22259 manual_picgenios201728 22259 manual_picgenios
201728 22259 manual_picgenios
 
Arduino para físicos
Arduino para físicosArduino para físicos
Arduino para físicos
 
Relógio Eletrônico de Ponto Henry Prisma Super Fácil R03 - Operacional
Relógio Eletrônico de Ponto Henry Prisma Super Fácil  R03 - OperacionalRelógio Eletrônico de Ponto Henry Prisma Super Fácil  R03 - Operacional
Relógio Eletrônico de Ponto Henry Prisma Super Fácil R03 - Operacional
 
Capitulo 2 - Composicao CNC
Capitulo 2 - Composicao CNCCapitulo 2 - Composicao CNC
Capitulo 2 - Composicao CNC
 
Manual getstarted
Manual getstartedManual getstarted
Manual getstarted
 
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
 
P spice guia_passo_a_passo
P spice guia_passo_a_passoP spice guia_passo_a_passo
P spice guia_passo_a_passo
 
Rede profibus
Rede profibusRede profibus
Rede profibus
 
Nap050
Nap050Nap050
Nap050
 

Plus de Texas Instruments

04 Mcu Day Stellaris 8 12b Editado
04   Mcu Day   Stellaris 8 12b   Editado04   Mcu Day   Stellaris 8 12b   Editado
04 Mcu Day Stellaris 8 12b EditadoTexas Instruments
 
03 Mcu Day 2009 (C2000) 8 13 Editado
03   Mcu Day 2009 (C2000) 8 13   Editado03   Mcu Day 2009 (C2000) 8 13   Editado
03 Mcu Day 2009 (C2000) 8 13 EditadoTexas Instruments
 
01 Mcu Day 2009 (Aec Intro) 8 6 Editado
01   Mcu Day 2009 (Aec Intro) 8 6   Editado01   Mcu Day 2009 (Aec Intro) 8 6   Editado
01 Mcu Day 2009 (Aec Intro) 8 6 EditadoTexas Instruments
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
 
055 A 094 Material Auxiliar Para Curso AvançAdo I Msp430
055 A 094   Material Auxiliar Para Curso AvançAdo I Msp430055 A 094   Material Auxiliar Para Curso AvançAdo I Msp430
055 A 094 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
 
Electronica Medical Media Briefings Wo Notes Final
Electronica Medical Media Briefings Wo Notes FinalElectronica Medical Media Briefings Wo Notes Final
Electronica Medical Media Briefings Wo Notes FinalTexas Instruments
 

Plus de Texas Instruments (7)

04 Mcu Day Stellaris 8 12b Editado
04   Mcu Day   Stellaris 8 12b   Editado04   Mcu Day   Stellaris 8 12b   Editado
04 Mcu Day Stellaris 8 12b Editado
 
03 Mcu Day 2009 (C2000) 8 13 Editado
03   Mcu Day 2009 (C2000) 8 13   Editado03   Mcu Day 2009 (C2000) 8 13   Editado
03 Mcu Day 2009 (C2000) 8 13 Editado
 
01 Mcu Day 2009 (Aec Intro) 8 6 Editado
01   Mcu Day 2009 (Aec Intro) 8 6   Editado01   Mcu Day 2009 (Aec Intro) 8 6   Editado
01 Mcu Day 2009 (Aec Intro) 8 6 Editado
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
055 A 094 Material Auxiliar Para Curso AvançAdo I Msp430
055 A 094   Material Auxiliar Para Curso AvançAdo I Msp430055 A 094   Material Auxiliar Para Curso AvançAdo I Msp430
055 A 094 Material Auxiliar Para Curso AvançAdo I Msp430
 
Primeiro Projeto Ew430 Ti
Primeiro Projeto Ew430   TiPrimeiro Projeto Ew430   Ti
Primeiro Projeto Ew430 Ti
 
Electronica Medical Media Briefings Wo Notes Final
Electronica Medical Media Briefings Wo Notes FinalElectronica Medical Media Briefings Wo Notes Final
Electronica Medical Media Briefings Wo Notes Final
 

Dernier

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 

Dernier (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430

  • 1. TECH TRAINING – ENGENHARIA E TREINAMENTOS Prof. Alessandro Ferreira da Cunha msn: afcunha01@gmail.com skype: alessandroferreiradacunha CURSO AVAÇADO II – PERIFÉRICOS DO MSP430 PROGRAMAÇÃO DO TREINAMENTO:
  • 2. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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: http://focus.ti.com/lit/ds/symlink/msp430fg4618.pdf Este material será apenas um descritivo dos exercícios que devem ser feitos ao longo deste treinamento. Página 2
  • 3. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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. O que se deve observar como saída é que o LED aumentará e diminuirá a freqüência das piscadas proporcionalmente a variação de velocidade de processamento do MSP430. Página 3
  • 4. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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. Deve ser feita uma verificação em tempo real da tensão de alimentação. Caso hajam variações de tensão, estas devem ser mostradas no diplay. Página 4
  • 5. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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: Página 5
  • 6. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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: Página 6
  • 7. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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. Página 7
  • 8. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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. Após a gravação de dados, se o usuário pressionar o botão S2 será feita a leitura de dados gravados na memória Flash. O sinal será entregue a saída do conversor DA e ao conectar um osciloscópio a saída do dispositivo, a mesma forma de onda da entrada deve ser observada na saída. Página 8
  • 9. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 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 Configurar a máquina USART para atuar como uma UART e fazer o programa acima rodar na máxima velocidade possível. Página 9
  • 10. Material auxiliar para curso Avançado II de MSP430 – Periféricos – Prof. A. F. Cunha 8.2. SPI Configurar a máquina USART para atuar como uma SPI e fazer o programa acima rodar na máxima velocidade possível. 9. Comunicação Serial: Máquina USCI Para esta série de exercícios também 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. 9.1. SPI Configurar a máquina USCI para atuar como uma SPI e fazer o programa acima rodar na máxima velocidade possível. 9.2. I2C Configurar a máquina USCI para atuar como uma I2C e fazer o programa acima rodar na máxima velocidade possível. Página 10