51
Microcontroladores Curso Engenharia da Computação Alex Vidigal Bastos www.decom.ufop.br/alex/ [email protected] 1

Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Embed Size (px)

Citation preview

Page 1: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

MicrocontroladoresCurso Engenharia da Computação

Alex Vidigal Bastoswww.decom.ufop.br/alex/[email protected]

1

Page 2: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Sumário

• Microprocessadores

– CPU

• Microcontrolador

• Firmaware

• Registrador

• Registradores de Função Especial (SFR)

• Portas (I/O)

• Interrupções

• Linguagem de Máquina

Page 3: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Microprocessadores

• São máquinas elétricas onde podemos armazenar instruçõeslógicas, aritméticas e de tomada de decisão;

• CPU (Central Processing Unit – Unidade Central deProcessamento)

Page 4: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

CPU (Central Processing Unit)

• Processsa as instruções contidas no programa e é dividida em:

– Unidade de Controle (UC);

– Unidades Lógicas e Aritméticas (ULA);

– Decodificador de Instrução;

– Registradores;

Page 5: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

CPU (Central Processing Unit)

Page 6: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Evolução para

microcontroladores

• Barateamento dos CI's e o surgimento de microprocessadores(CPUs) mais poderosos, começou-se a usar as CPUs maissimples para implementar tarefas dedicadas: controle deimpressora, reguladores de velocidade, acionadores de motoresde passos, etc

Page 7: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Basicamente

CPU Controle

RAM pilha e dados

Porta Serial comunicação

Timers temporização

ROM programa controle

Portas Paralela

I/O

AD / DA sinais analógicos

Page 8: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Por quê Microcontroladores?

• Estas aplicações tinham o custo dependente do preço da CPU edos periféricos;

• A idéia foi colocar todos os periféricos dentro do chip da CPU.

Page 9: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Por quê Microcontroladores?

• Por outro lado, uma CPU dedicada a um determinado controlenão precisa ser muito rápida nem tampouco ter um conjunto deinstruções extenso e poderosos;

• Não são necessárias instruções para trabalhar com pontoflutuante, com strings ou vetores e mecanismos deendereçamento;

Page 10: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Por quê Microcontroladores?

• Os microcontroladores são específicos para controle, não temgrande capacidade de processamento e por isso nunca haverácomputador pessoal cuja CPU seja um microcontrolador;

• Eles podem estar presentes nos PCs, apenas para controlarperiféricos;

Page 11: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Microprocessador x

Microcontrolador

Page 12: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Diagrama de Bloco

Page 13: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Microprocessador x

Microcontrolador

Microprocessor

• CPU, RAM, ROM, Timersficam separados;

• Expansivos;

• Versatilidade;

• Proposta Geral;

Microcontroladores

• CPU, RAM, ROM, Timres ficamem um mesmo chip;

• Para aplicações em que o custo,energia e espaço são críticos;

Page 14: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Microcontrolador

Page 15: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Microcontrolador

Diagrama geral de blocos de um microcontrolador

Page 16: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Critérios para a escolha de um

Microcontrolador

� Satisfazer as necessidades de computação da tarefa de formaeficiente e custo efetivo

� Velocidade, a quantidade de ROM e RAM, o número de portas I/O e timers, energia

� Facilidade de upgrade

� Custo por unidade

Page 17: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Critérios para a escolha de um

Microcontrolador

� Avaliar as ferramentas de desenvolvimento de software;

� Debugadores, Compiladores, Simuladores, Suporte técnico, etc;

Page 18: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Sistemas Processados

� Programa (Software): conjunto de instruções arranjadas deforma organizada que apresenta uma função específica;

� Firmaware: programa que está armazenado em memória nãovolátil (ROM);

� Hardware: partes eletrônicas de um microcomputador

� Microcontrolador: microcomputador integrado num único chip(microprocessador + periféricos)

Page 19: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Sistemas Processados

� Periféricos:

– Circuitos acessórios ao computador que realizam tarefasespecíficas;

– Exemplos:

• Timers

• CCP (Comparação, Captura e PWM);

• Conversores AD/DA

• Portas de Comunicação (USART, I2C, SPI, USB, CAN...)

Page 20: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura Von-Neuman

Von Neumann:

“Instruções e dados compartilham a mesma unidade física dememória”

Page 21: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura Von-Neuman

Page 22: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura Harvard

Harvard:

“Instruções e dados são armazenados em memóriasdiferentes”

– Vantagem: Instruções e dados podem ser

acessados simultaneamente, aumentando o

desempenho.

– O PIC segue esta arquitetura! Um barramento de

dados de 8 bits e outro para instrucões (12, 14 ou

16 bits)

Page 23: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura Harvard

Page 24: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura Harvard

Page 25: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

BarramentoPermite a transferência de sinais elétricos entre diferentes partes do

compuatdor.

Page 26: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Instruction Set

• Conjunto de instruções que um processador compreende;

• Cada processador possui seu próprio conjunto de instruções,inviabilizando, na maioria dos casos, a portabilidade;

Page 27: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Instruction Set

CISC – Complex Instruction Set Computing

- Computação onde o número de instruções é muito grande;

RISC – (Reduced Instruction Set Computing)

- Computação onde um número reduzido de instruções estãodisponíveis.

O PIC possui um número reduzido de

Instruction Set (RISC)

Page 28: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Instruction Set

Considerações sobre o RISC e CISC:

– Uma única instrução CISC pode equivaler a várias instruçõesRISC;

– Uma instrução CISC precisa realizar passos semelhantes aosrealizados pelas RISC;

– CISC minimiza o número de acessos a memória de programa;

– RISC simplifica a decodificação de instruções, deixando estaetapa mais rápida;

Page 29: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Instruction Set

Vantagens CISC:

� Apesar do conjunto de instruções ser muito grande, oferece umnúmero maior de instruções (“ferramentas”) ao programadorAssembly;

� Menor quantidade de instruções são necessárias paradesenvolver um programa (programas ocupam menos memória).

Page 30: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Instruction Set

Vantagens RISC:

� Etapa de decodificação tão simples que pode, em alguns casos, sereliminada;

� Com um número menor de instruções, os parâmetros destas podemser agregados no opcode (código de máquina de uma instrução),simplificando inclusive o FETCH.

� Simplificação dos circuitos eletrônicos.

Page 31: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Ciclo de vida de uma CPU

Page 32: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

PIC

São uma família de microcontroladores fabricados pela Microship

Technology que processam dados de 8bits, 16 bits e 32 bits.

Page 33: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

PIC

Page 34: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Firmware

• Conjunto de instruções operacionais programadas diretamenteno HARDWARE de um equipamento eletrônico;

• É armazenado permanentemente em um circuito integrado(chip);

Page 35: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores

• Responsável por armazenar todos os dados sobre os quais serãorealizados algum tipo de operação (ADD, MOVE, SHIFT, etc);

Page 36: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores

• No PIC18F4550 esses registradores são chamados de GPR(General Purpose Register – Registradores de Propósito Geral);

Page 37: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores de função especial

(SFR)• São registradores cujas funções são pré-determinadas pelo

fabricante.

Ex:

• temporizadores (timers);

• Conversores (A/D)

• Osciladores

Page 38: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores de função especial

(SFR)

No caso dos registradores de 8 bits, cada SFR funcionará como

8 chaves (liga/desliga) que comandam alguns pequenoscircuitos dentro do microcontrolador.

Page 39: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores de função especial

(SFR)No PIC18F4550 este circuito está associado a um SFR chamado

TRIS.

- Bit ajustado para lógica 1 – Entrada (Input)

- Bit ajustado para lógica 0 – Saída (Output)

Page 40: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores de função especial

(SFR)Exemplos:

STATUS – utilizado para armazenamento de flags matemáticos e deestado da CPU, além dos bits da seleção do banco de memóriaRAM;

INTCON – utilizado para controle de interrupções;

Page 41: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Registradores de função especial

(SFR)Exemplos:

OPTON_REG – utilizado para configurar o funcionamento de algunsperiféricos internos ao PIC;

PORT– utilizado para a leitura ou escrita nos pinos do PIC;

TRIS – utilizado para configurar os pinos das portas como entradaou saída(input/output);

Page 42: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Portas I/O (Entrada / Saída)

Os microcontroladores possuem um ou mais registradores de

funções especiais chamadas de PORT conectados aos seus pinos deI/O (pinos de entrada/saída);

*** Valor máximo de corrente por pino I/O(operandoisoladamente) e por conjunto de pinos ;

Page 43: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Portas I/O (Entrada / Saída)

Page 44: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Interrupções

Sem interrupções, o fluxo do programa é determinado pelo

programa principal;

Problema:

– Alguns periféricos precisam de tempo para executar suastarefas;

– Espera ocupada: Não faz nada até que uma variável ou um flagmude de valor – pooling!

Page 45: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Interrupções

Solução: Interrupção

– Sistema capaz de avisar quando uma determinada tarefaacabou.

– A tarefa então é executada, sem prejuízo para o fluxo doprograma principal.

Page 46: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Interrupções

Page 47: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Interrupções

Page 48: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura de um computador

genérico

Page 49: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Arquitetura de um Sistema

Embutido

Page 50: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Exercícios

50

• PIC18F4550

Page 51: Microcontroladores [Modo de Compatibilidade] · Microprocessadores • Sãomáquinaselétricasondepodemosarmazenarinstruções lógicas,aritméticasedetomadadedecisão; • CPU (Central

Perguntas