microcontroladores [modo de compatibilidade] · microcontrolador satisfazer as necessidades de...
TRANSCRIPT
MicrocontroladoresCurso Engenharia de Controle e Automação
Alex Vidigal Bastoswww.decom.ufop.br/alex/[email protected]
1
Sumário
• Microprocessadores
– CPU
• Microcontrolador
• Firmaware
• Registrador
• Registradores de Função Especial (SFR)
• Portas (I/O)
• Interrupções
• Linguagem de Máquina
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)
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;
CPU (Central Processing Unit)
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
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
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.
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;
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;
Microprocessador x
Microcontrolador
Diagrama de Bloco
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;
Microcontrolador
Microcontrolador
Diagrama geral de blocos de um microcontrolador
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
Critérios para a escolha de um
Microcontrolador
� Avaliar as ferramentas de desenvolvimento de software;
� Debugadores, Compiladores, Simuladores, Suporte técnico, etc;
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)
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...)
Arquitetura Von-Neuman
Von Neumann:
“Instruções e dados compartilham a mesma unidade física dememória”
Arquitetura Von-Neuman
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)
Arquitetura Harvard
Arquitetura Harvard
BarramentoPermite a transferência de sinais elétricos entre diferentes partes do
compuatdor.
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;
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)
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;
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).
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.
Ciclo de vida de uma CPU
PIC
São uma família de microcontroladores fabricados pela Microship
Technology que processam dados de 8bits, 16 bits e 32 bits.
PIC
Firmware
• Conjunto de instruções operacionais programadas diretamenteno HARDWARE de um equipamento eletrônico;
• É armazenado permanentemente em um circuito integrado(chip);
Registradores
• Responsável por armazenar todos os dados sobre os quais serãorealizados algum tipo de operação (ADD, MOVE, SHIFT, etc);
Registradores
• No PIC18F4550 esses registradores são chamados de GPR(General Purpose Register – Registradores de Propósito Geral);
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
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.
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)
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;
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);
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 ;
Portas I/O (Entrada / Saída)
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!
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.
Interrupções
Interrupções
Arquitetura de um computador
genérico
Arquitetura de um Sistema
Embutido
Exercícios
50
• PIC18F4550
Perguntas