MINICURSO: Introdução à plataforma MSP430

Transcrição

MINICURSO: Introdução à plataforma MSP430
MINICURSO
Introdução à
Plataforma
MSP430
PET Mecatrônica/BSI
Henrique Pereira Rodrigues
Conceito de Microcontrolador:
• Um microcontrolador é um computador em um chip. Contém
um processador, memória e periféricos de entrada e saída.
• É programado para funções específicas, diferente dos
microprocessadores utilizados nos PC’s.
• Geralmente embutido em um produto industrializados
controlando ações e funções do mesmo.
O MSP430
• Os MSP430 são microcontroladores RISC de 16 bits voltados
para aplicações de baixo consumo de energia.
• Fabricado pela Texas Instruments.
• Famílias de microcontroladores MSP430:
 1xx - voltados para aplicações gerais;
 2xx - uma evolução da família 1xx;
 3xx - família mais antiga e baseada em dispositivos One Time
Programmable;
 4xx - voltados para instrumentação portátil e dotados de
controlador de LCD interno.
O MSP430
• A CPU dos MSP430 possui um conjunto de apenas 51
instruções (27 físicas e 24 emuladas) e um total de
16 registradores de 16 bits
• Estão também disponíveis diversos periféricos tais
como: timers, USARTs, ADCs, comparador
analógico, amplificador operacional, DACs , controlador
de LCD, etc
• Linguagem de programação: C/C++, Assembly
• Ferramenta Open-source
Site: http://www.ti.com/product/msp430g2231
Processamento
Entrada
Saída
• Entrada
• Interpretação de Variáveis no ambiente
• Sinal elétrico
• Controle/acionamento de elementos
eletrônicos
• Saída
MSP430 G2xx
• Características:
• 2kB de memória flash
• 128B de memória RAM
• 32,768kHz de Clock
• Componentes da placa:
•
•
•
•
•
•
•
14 pinos de entrada/saída digital
Uma conexão USB
Um cristal oscilador de 32 MHz
Pino para alimentação
Um botão S2 ligado ao pino P1.3
Um botão reset
2 LEDs em série com os pinos P1.0 e P1.6
MSP430 G2xx
• Watchdog Timer (WDT): também presente em todos os
modelos, resseta o processador se não for periodicamente
desarmado (usado para colocar o processador em uma
situação conhecida no caso de alguma falha de programação)
• Existem 4 fontes possíveis para sinal de clock:
• VLOCLK: clock interno de 12KHz de baixíssimo consumo
• LFXT1CLK: clock lento gerado por um cristal ou ressonador
externo, tipicamente um cristal padrão de relógio de 32.768MHz
• XT2CLK: clock rápido gerado por um cristal ou ressonador
externo.
• DCOCLK: clock interno gerado por um digital controlled oscillator
(DCO) de até 16MHz com alguns valores pré-calibrados na fábrica
para baixo erro.
Características MSP430 G2231
Microcontrolador
MSP430 G2231 ou G2211
Tensão operacional
1.8-3.6 V
Consumo de potência Ultralow:
Modo ativa
220μA em 1MHz, 2.2 V
Modo espera
0.5 μA
Modo off
0.1 μA
Wake-Up
Menos de 1 μs
Frequência de clock
16 – 32 MHz
Diagrama de blocos
Diferencial do MSP430
• Economia de energia
Diferencial do MSP430
MSP430
Concorrente A
• Periféricos inteligentes
• Preço
Tabela Hexadecimal - Binario
Decimal
Binario
Hexadecimal
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
Declaração dos Pinos
Pinos
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
Binário
0
0
0
1
0
0
1
0
Hex
1
2
Declaração de portas
• A declaração das porta como saída/entrada utiliza algarismos
hexadecimais. Ex: 0x41 = 01000001
• O comando P1DIR declara os pinos como saída ou entrada.
Quando escrevemos P1DIR = 0x41 as portas P1.0 e P1.6 serão
declaradas como saída e as outras portas são declaradas como
entrada.
• O comando P1OUT coloca os pinos em nível alto ou baixo
(0 ou 1)
Watchdog timer
• Watchdog é o timer inteligente usado para deixar a placa em
stand by e com isso economizar energia.
• O estado do watchdog sempre deve ser declarado no código.
Ex: WDTCTL = WDTPW + WDTHOLD (para o watchdog)
Exemplo 1: Piscando LEDs
Exemplo 2: Acionamento de
um motor CC
Exemplo 2: Acionamento de
um motor CC
• Motor CC :
•
•
•
•
Tensão – 3.0 V
RPR – 9400
Corrente – 0.15 A
2 pólos
• Aplicações:
•
•
•
•
Esteiras industriais
Locomoção de robôs
Elevadores e rampas
Pensas, etc
Exemplo 3: Sensor de
temperatura