Upload
eduardo-goncalves
View
248
Download
2
Embed Size (px)
DESCRIPTION
Introdução ao microcontrolador MSP430
Citation preview
MICROPROCESSADORES E
MICROCONTROLADORES
MICROCONTROLADORES
Microprocessador + memria + relgio + ...
MICROCONTROLADORES
Microprocessador + memria + relgio + ...
Computer on a chip
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"?
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"?
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"?
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"?
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"?
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"? Electronic control units:
Mdulos de controle
automotivo
!
Airbag
Portas, janelas, assentos e
luzes
Motor
Transmisso
Freios
MICROCONTROLADORESQuantos produtos na sua casa
possuem "computer chips"? Electronic control units:
Mdulos de controle
automotivo
!
Airbag
Portas, janelas, assentos e
luzes
Motor
Transmisso
Freios
Sistemas embarcados
"Invisveis"
MICROCONTROLADORESExemplo: escova eltrica que pausa a cada 30s, para que o usurio passe a escovar outra rea
MICROCONTROLADORESExemplo: escova eltrica que pausa a cada 30s, para que o usurio passe a escovar outra rea
MICROCONTROLADORESExemplo: escova eltrica que pausa a cada 30s, para que o usurio passe a escovar outra rea
Contador digital
MICROCONTROLADORESExemplo: escova eltrica que pausa a cada 30s, para que o usurio passe a escovar outra rea
MICROCONTROLADORESExemplo: "dado" digital
MICROCONTROLADORESComo desenvolver sistemas embarcados?
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Computadores completos - hardware e software facilmente disponveis
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Computadores completos - hardware e software facilmente disponveis
MICROCONTROLADORESComo desenvolver sistemas embarcados?
ASICs - application-specific integrated circuits
CIs feitos sob medida para a aplicao
MICROCONTROLADORESComo desenvolver sistemas embarcados?
FPGAs - portas lgicas e flip-flops conectados por linguagem de hardware
(VHDL etc.)
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Microcontroladores
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Microcontroladores
No utiliza sistema operacional, somente um software especfico para a aplicao
!Ou ento utiliza-se um RTOS
(real-time operating system),
geralmente menor que um kilobyte
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Microcontroladores
O programa do usurio carrega o RTOS, diferente de sistemas operacionais de computadores, onde o programa
chamado atravs do SO
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Microcontroladores
Processador digital (unidade lgico-aritmtica, registradores,
decodificador de instruesetc.)
Memria RAM (random-access),
para dados
Barramentos de dados e de endereos
Memria ROM (read-only), para o
programa
Entradas e sadas digitais
Relgio, para sincronismo do sistema
MICROCONTROLADORESComo desenvolver sistemas embarcados?
Microcontroladores
Memria no-voltil para dados permanentes, como nmeros de
srie e endereos de rede Interfaces de
comunicao: SPI, I2C, RS-232, USB,
CAN, ethernet etc.
Temporizadores, para contar tempo em si, a durao de transies,
gerar sinais peridicos etc.
Entradas e sadas analgicas
Watchdog timer, para reiniciar o
sistema em caso de falha
Relgio em "tempo real" (hora, dia, ms, ano)
MICROCONTROLADORES
MICROCONTROLADORES"Pilhas de bacos"
MICROCONTROLADORES
Rodovias de vrias faixas
O barramento de endereos pode ter mais bits do que o de dados
MICROCONTROLADORESProcessadores so
caracterizados pelo tamanho dos dados que ele pode processar (8 bits etc.)
MEMRIARAM (random-access memory): voltil,
perde o contedo quando acaba a energia
MEMRIA
Esttica - mantm os dados mesmo quando o clock foi parado. Precisa
de 6 transistores
RAM (random-access memory): voltil, perde o contedo quando acaba a energia
MEMRIA
Dinmica - precisa ser atualizada regularmente. Precisa de 1 transistor,
ocupando menos espao
RAM (random-access memory): voltil, perde o contedo quando acaba a energia
MEMRIAROM (read-only memory): no-voltil, mantm o contedo quando acaba a energia. A escrita bem mais lenta do que para a memria RAM
MEMRIAROM (read-only memory): no-voltil, mantm o contedo quando acaba a energia. A escrita bem mais lenta do que para a memria RAM
Masked ROM - dados so escritos durante a manufatura do CI, utilizando
uma mscara fotolitogrfica.
MEMRIAROM (read-only memory): no-voltil, mantm o contedo quando acaba a energia. A escrita bem mais lenta do que para a memria RAM
EPROM (electrically programmable ROM) - programvel eletricamente, apagada com luz
ultravioleta por cerca de 10 minutos
MEMRIAROM (read-only memory): no-voltil, mantm o contedo quando acaba a energia. A escrita bem mais lenta do que para a memria RAM
OTP (one-time programmable memory) - EPROM sem a "janela" para luz ultravioleta
MEMRIAROM (read-only memory): no-voltil, mantm o contedo quando acaba a energia. A escrita bem mais lenta do que para a memria RAM
Flash - permite a leitura e escrita eletricamente, assim como a EEPROM. A memria flash s pode ser apagada em blocos, e a EEPROM, byte a byte.
MEMRIAOs MSP430 com a letra F no seu part number
vm com memria flash.
Microcontroladores usam memria flash do tipo NOR, que permite acesso aleatrio. Flash NAND s pode ser acessada em blocos.
ARQUITETURAS PARA MEMRIA
ARQUITETURAS PARA MEMRIA
PICs, Intel 8051, ARM9
Permite leitura simultnea de dados e do programa
Permite barramentos de dados e programa separadamente otimizados
Guarda dados constantes (look-up tables etc.) na memria de
programa, o que requer instrues especficas
ARQUITETURAS PARA MEMRIA
MSP430, Freescale HCS08, ARM7
Tambm conhecida como arquitetura Princeton
Mais simples que a arquitetura Harvard
Menos eficiente
SOFTWARE
SOFTWARE
Microcontroladores no possuem sistema operacional
CPU passa boa parte do tempo interagindo com perifricos
SOFTWARELinguagens de programao disponveis:
Linguagem de mquina: opcodes (0001110101010111010011010101 - obsoleto!)
SOFTWARELinguagens de programao disponveis:
Assembly: opcodes traduzidos para o ingls
Depende do processador
Algumas operaes no existem em C (rotao bit-a-bit, por exemplo)
SOFTWARELinguagens de programao disponveis:
C: hoje em dia, a compilao para Assembly bastante eficiente
Permite o uso de funes, estruturas, converso de tipos de variveis etc.
SOFTWARELinguagens de programao disponveis:
C++: C orientado a objetos
Microcontroladores geralmente trabalham com uma verso simplificada, que mesmo assim pode
gerar cdigo ineficiente (Embedded C++)
SOFTWARELinguagens de programao disponveis:
BASIC: disponvel para alguns processadores
MSP430
Processador de 16 bits
Arquitetura von Neumann
Aplicaes de baixo consumo de energia
Barramento de dados e de memria de 16 bits
Registradores de 16 bits
MSP430
Registradores podem ser usados para variveis locais, parmetros para sub-rotinas, endereos
etc.
Processador do MSP430 permite aritmtica diretamente com valores da memria
CPU pequena e eficiente, muitos registradores
MSP430
Vrios modos de baixo consumo (liga/desliga perifricos, retorno rpido/devagar ao modo de
consumo completo)
Facilmente colocado em modo de baixo consumo, atravs de bits no registrador de estado
(status register)
MSP430
Vrias opes de clocks: cristal de 32 KHz, DCO (digitally controlled oscillator), cristal externo etc.
Vrios perifricos, sendo que alguns podem funcionar sem a CPU
Alguns MSP430 possuem hardware analgico para aplicaes especficas
MSP430
A letra aps o nome MSP430 indica o tipo de memria: F para flash, C para ROM
A segunda letra indica MSPs para aplicaes especficas: E para eletricidade, W para gua e G para sinais que requerem um estgio de ganho
MSP430MSP430x1xx: amplo conjunto
MSP430F2xx: CPU pode trabalhar em 16MHz (o dobro dos anteriores), no necessita de cristal
para o clock de baixa frequncia, oferece resistores de pull-up e pull-down, oferece vrias
entradas analgicas
MSP430x3xx: obsoleto