Download - UControl 01 Intro MSP430
-
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