Sei sulla pagina 1di 42

Prof.

Pedro Pedrosa
h"p://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4227622E1    
pedrosarf@ifce.edu.br
Ø  Por que estudar Microcontroladores?
•  Microcontroladores (MCU ou µC) estão praticamente
em todo lugar: automóveis, aviões, brinquedos, TVs, etc.
•  System on a chip (SOC): dispositivos programáveis
na sua maioria auto-contidos (sistemas embarcados ou
embutidos)
ü  Incluem CPU, memória (de dados e de programa), entrada/
saída, temporizadores, relógio interno.
•  Dispositivos de controle de baixo preço e alta eficiência.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Por que estudar Microcontroladores?
•  Sistemas computacionais que controlam os mais diferentes
equipamentos.
•  Exemplos: controle de estacionamentos, sistemas de automação,
sistemas de segurança.
•  Possuem outras funções diferenciadas e normalmente não
encontradas em microprocessadores “top de
linha” (temporizadores, conversores A/D e D/A, etc.)
•  Hardware e software integrados em um único chip

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Microcontrolador x Microprocessador
• Microprocessador
-Circuito integrado com milhões de
transistores usados em conjunto para
armazenamento e manipulação de dados

•  Microcontrolador
-Microprocessador de propósito
especial, geralmente contém no chip
diversos periféricos.
-Como o nome sugere, são usadas para
controle digital.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Microprocessador x Microcontrolador

Principal diferença:

•   MPU  necessita  de  periféricos  externos  para  


funcionar,  ex.  memória  RAM,  temporizadores.  
 
•  MCU  integra  todos  os  recursos  em  um  único  chip.  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Único Chip

CPU  

ROM   Interrupções   Portas  Seriais   Temporizadores  

Portas   Conversores    
RAM   Temporizadores  
Paralelas   A/D  e  D/A  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


A maioria dos MCUs apresenta as seguintes características:
− Programação de memória não-volátil (EEPROM, Flash)
− Interrupções
− E/S analógica e digital
− E/S serial
− Interface para memória externa/barramento
− Programação no sistema (ISP - In System Programming)  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Mercado para Microcontroladores e Sistemas Embarcados
•  Apenas 4% são usados em PCs.
•  Carros médios: em torno de 15 microcontroladores.
•  Mercedes classe-S: 64 microcontroladores.
 

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Microcontroladores – principais aplicações
•  Sistemas de automação e segurança residencial
 

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Tipos de Microcontrolador
•  Diferentes fabricantes têm diferentes dispositivos
com diferentes características.
•  Pode-se dividi-los em três tipos:
− Embarcados: contêm todos os recursos necessários
− Com suporte externo: por exemplo, memória adicional
− Processador digital de sinais (DSP): calculadoras potentes, são
ineficientes em execuções condicionais.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Elementos  básicos  de  um  Microcontrolador:  
•   Processador  
ü   Unidade  de  Controle  
ü   Conjunto  de  Instruções  
ü   Registradores  
•   Memória  
•   Barramentos  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Processador
Ações a serem executadas pelo processador:
•  Busca da instrução: lê instrução da memória;
•  Interpretação da instrução: decodificação para determinar
ação requerida (sinais de controle que serão ativados);
•  Busca de dados: leitura de dados da memória ou dispositivo
de I/O;
•  Processamento de dados: pode ser necessário efetuar
operações aritméticas;
•  Escrita de dados: pode ser necessário escrever na memória ou
dispositivo de I/O

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Registradores
•  São de dois tipos básicos:
ü  Registradores visíveis ao usuário – permitem que
o programador minimize referências à memória.

ü  Registradores de controle e de estado – usados


pela unidade de controle.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Registradores visíveis ao usuário
ü  Reg. de propósito geral: usado pelo programador para fins
diversos. Ex.: operando, informação de operação, operações
sobre a pilha, endereçamento.
ü  Reg. de dados: apenas para operandos.
ü  Reg. de endereço: propósito geral e endereço.
ü  Reg. de condição (flags): usados para interrupção ou
resultado de operação.
ü  Reg. de configuração: usados para configurar o funcionamento
do MCU.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Registradores de Configuração
•  Registrador das portas Input/Output (I/O)
ü  Direção do fluxo (TRISA, TRISB, ...)
ü  Valor da porta (PORTA, PORTB, ...)
•  Registrador de configuração do funcionamento do
Microcontrolador. Exemplo:
ü  T1CON: configura o funcionamento do timer 1.
ü  RCON e INTCON configuram o funcionamento de
interrupções.
ü  Entre outros.
pedrosarf@ifce.edu.br Prof. Pedro Pedrosa
Ø  Registradores de controle e de estado:
•  Variam de acordo com projeto
•  Tipos básicos
ü  Contador de programa (PC)
ü  Registrador de Instrução (IR)
ü Registrador de Endereçamento à memória (MAR)
ü Registrador de armazenamento temporário de
dados (MBR)

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Registradores de controle e de estado:
•  Contador de programa (PC)
ü  Responsável pelo controle de execução das instruções, o
PC aponta sempre para a próxima instrução a ser executada.
ü  É incrementado após a execução de cada instrução.
ü  Quando ocorre uma interrupção, salto ou alguma parada na
execução do programa, é o PC que indica qual instrução será
executada, e qual ponto do programa a execução está.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Registradores de controle e de estado:
•  Registrador de Instrução (IR)
ü  Este registro contém o valor da próxima instrução
a ser executada.
ü  Muito utilizada na arquitetura Pipeline, pois este
registro armazena a próxima instrução.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Projeto da Unidade de Controle
•  Duas tarefas básicas:
ü Sequenciamento: dirige o processador para que execute
uma série de microoperações na sequência apropriada.
ü Execução: faz com que cada microoperação seja executada.

•  Ela opera através da ativação de sinais de controle

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Projeto da Unidade de Controle
-Sinais de controle:
•  Entrada:
ü  Relógio (Clock)
ü  Registrador de Instrução (IR)
ü  Flags
•  Sinais do barramento de controle Saída:
ü  Sinais Internos
ü  Sinais para barramento de controle

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Projeto da Unidade de Controle
-  Conjunto de Instruções
De forma geral, uma instrução deve ser composta por:
•  Código da operação – especifica a operação a ser efetuada;
•  Referência a operando fonte e/ou destino – a operação pode
envolver um ou mais operandos.

Os operandos podem estar localizados nas seguintes áreas:


•  Memória
•  Registrador do processador
•  Dispositivo de I/O
pedrosarf@ifce.edu.br Prof. Pedro Pedrosa
Ø  Projeto da Unidade de Controle
-  Representação de instruções
•  Cada instrução é dada por uma sequência de bits. Ex.:
4  bits   6  bits   6  bits  
Código  de  Operação   Referência  a  operando   Referência  a  operando  
16  bits  

•  Para facilitar programação, criou-se representação


simbólica (mnemônicos) – Linguagem Assembly
ü   ADD     Adição ü   MPY   Mul\plicação  

ü   SUB   Subtração   ü   DIV   Divisão  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Projeto da Unidade de Controle
-  Representação de instruções
•  As instruções podem ter 1, 2 ou 3 operandos:

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Projeto da Unidade de Controle
-  Conjunto de instruções
•  O processador deve ter um conjunto de instruções que
possibilite o usuário realizar suas tarefas.
•  Tipos de instruções:
ü  Movimentação de dados: instruções de entrada e saída
ü  Processamento de dados: instruções para mover dados
entre memória e registrador;
ü  Controle: instruções de teste e desvio

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Arquitetura - CISC x RISC
•  CISC (Complex Instructions Set Computers)
ü   Conjunto  de  intruções  complexas  
ü  Compiladores  mais  complexos
•  RISC (Reduced Instructions Set Computers)
ü  Conjunto  menor  de  instruções  
ü  Grande  número  de  registradores  de  propósito  geral.  
ü  Instruções mais complexas são construídas a partir das mais
simples
ü  Utiliza Arquitetura Harward e Pipeline

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Tipos de Barramento
•  Barramento: coleção de condutores paralelos, que permite
comunicação entre dispositivos eletrônicos.
•  Os diferentes subsistemas de um MCU são conectados
através de barramentos.
•  Principais barramentos de um MCU:
− Barramento de dados: transferência de dados entre subsistemas. Indica tipo
do MCU: 4-bits, 8-bits, 16-bits, etc.
− Barramento de endereço: designa a fonte ou o destino dos dados
transferidos. Sua largura determina a capacidade de memória.
− Barramento de controle: controle o acesso dos outros dois barramentos.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Tipos de Memória
•  RAM (Random Access Memory) •  PROM (Programable Read Only
Memory)
ü  Memória de acesso aleatório
ü  Memória somente de leitura
ü  O processador pode ler e escrever
ü  Gravadas 1 vez por gravador
ü  Perde os dados sem alimentação
PROM
•  ROM (Read Only Memory)
ü  O processador apenas lê esta
ü  Memória somente de leitura memória,
ü  Gravada uma única vez na fábrica
ü  O processador só lê os dados

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø Tipos de Memória
• EEPROM (Electrical Erasable
•  EPROM (Erasable Programable
Programable Read Only Memory)
Read Only Memory)
ü  Memória apagável por luz
ü  Memória apagável por luz
ultra-violeta e por tensão
ultra-violeta
elétrica (15 a 30V)
ü  Pode ser gravada n vezes
ü  Pode ser gravada n vezes por
por gravador EPROM, em que
gravador EEPROM, em que n
n é definido pelo fabricante é definido pelo fabricante
ü  O processador apenas lê ü  O processador apenas lê esta
esta memória memória
Obs 1:Alguns MCU conseguem escrever nesta memória ao longo da execução
do programa, são chamados de memória EEPROM flash
Obs 2: As memórias PROM, EPROM e EEPROM não apagam seu conteúdo
quando retira-se a alimentação.
pedrosarf@ifce.edu.br Prof. Pedro Pedrosa
Ø  Memória de um Microcontrolador
− Memória de programa: geralmente
EEPROM, podendo ser Flash.
− Memória de variáveis: geralmente RAM.
− Memória de dados: geralmente EEPROM e/
ou Flash.
− Memória de Registradores: geralmente
EEPROM e/ou Flash.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funções de Entrada e Saída
•  Todos os MCUs possuem pinos de E/S para acesso a
dispositivos externos.
•  As funcionalidades dos pinos de E/S definem o tipo de
periférico que pode ser acessado, assim como que MCU é
melhor para cada aplicação.
•  Há diferenças de funcionalidades mesmo entre
dispositivos de um mesmo fabricante.
•  Algumas das funcionalidades
− Comunicação serial e paralela
− Conversão A/D
− Acionamentos de dispositivos
− Expansão de memória
pedrosarf@ifce.edu.br Prof. Pedro Pedrosa
Ø  Arquitetura Princeton
(von Neumann)
•  Programa, Pilha e
variáveis na mesma
memória

Ø  Arquitetura Harward


•  Programa, Pilha e
variáveis em unidades
separadas

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Barramentos diferentes
para memória de
programa e de dados.

Barramentos único para


memória de programa e
de dados.

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Pipeline
• Abordagem simples: instruções
com dois estágios. Enquanto o
sistema executa uma instrução,
outra pode ser buscada na
memória.
•  Muito usada nos processadores
atuais, agilizando a execução de
operações.
• Problema: tempo de execução é,
em geral, maior que tempo de
busca (estágio de busca tem que
esperar algum tempo.
 

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Pipeline

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Pipeline
Exemplo:
• Cada comando é executado 1.  MOVLW 55h
em um ciclo de máquina, 2.  MOVWF PORTB
exceto os comandos de salto 3.  CALL Inicio
que demoram dois ciclos
4.  BSF PORTA, BIT3
1  ciclo   1  ciclo   1  ciclo   1  ciclo   2  ciclos  
 

Busca  1   Executa  1   Se  insere  um  ciclo  vazio  em  


PC  =  0   Busca  2   Executa  2   instruções  de  salto  
PC  =  1   Busca  3   Executa  3  
A  instrução  de  PC+1  é     PC  =  2   Busca  4  
armazenada  no  registro  de  instruções,   PC  =  3   Busca  Inicio   Executa  Inicio  
enquanto  a  CPU  u\liza  MAR  e  MBR  para   PC  =  4  
executar  a  instrução  PC      
pedrosarf@ifce.edu.br Prof. Pedro Pedrosa
Ø  Funcionamento do Microcontrolador

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funcionamento do Microcontrolador

• Realiza  todos  os  cálculos  que  envolvam  


registros  e  ou  lógica  para  tomada  de  
decisões.    
• Ligada  e  controlada  pela  CPU  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funcionamento do Microcontrolador

•   Responsável  por  todo  o  processamento  


de  dados  do  Microcontrolador  
•   Interpreta  os  comandos  
•   Faz  a  leitura  de  dados  
•   A\va  as  portas  de  I/O’s  ou  periféricos  
•   Possui  conjunto  de  instruções  próprio  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funcionamento do Microcontrolador

Ø   Permitem  maior  flexibilidade  ao  


MCU.  
Ø   Principais:  
• USART’s  –  portas  para  comunicação  
serial  RS232/RS485  muito  u\lizadas;  
•   A/D  –  portas  para  conversão  
Analógico/Digital;  
•   Portas  I2C,  SPI,  ETC  –  portas  para  
comunicação.  Interligar  periféricos  
externos;  
•   Interrupções  –  permitem  processar  
eventos  importantes;  
•   Osciladores  –  Geram  os  ciclos  de  
processamento  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funcionamento do Microcontrolador

Ø   Dividida  em:  


•   Memória  de  Programa;  
•   Memória  de  dados;    
•   Registradores  de  configuração  
•   Registradores  Internos    
•   Contador  de  programa,  registro  de  
endereço  e  de  dados,  etc.  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Funcionamento do Microcontrolador

• As  linhas  de  I/O  são  responsáveis  pela  


“entrada”  e  “saída”  do  mesmo  
• Podem  coletar  dados,  e  atuar  em  
processos  através  das  mesmas.  

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa


Ø  Próximo assunto:
•  Microcontroladores PIC

pedrosarf@ifce.edu.br Prof. Pedro Pedrosa