Curso Engenharia de Controle e Automação. Alex Vidigal ... computador pessoal
cuja CPU seja um microcontrolador; ... O PIC possui um número reduzido de.
Microcontroladores Curso Engenharia de Controle e Automação
Alex Vidigal Bastos www.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ções lógicas, aritméticas e de tomada de decisão; • CPU (Central Processing Unit – Unidade Central de Processamento)
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 mais simples para implementar tarefas dedicadas: controle de impressora, reguladores de velocidade, acionadores de motores de passos, etc
Basicamente
CPU Controle
ROM programa controle
RAM pilha e dados
Portas Paralela
Porta Serial comunicação
I/O
Timers temporização
AD / DA sinais analógicos
Por quê Microcontroladores? • Estas aplicações tinham o custo dependente do preço da CPU e dos 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 controle não precisa ser muito rápida nem tampouco ter um conjunto de instruções extenso e poderosos; • Não são necessárias instruções para trabalhar com ponto flutuante, com strings ou vetores e mecanismos de endereçamento;
Por quê Microcontroladores? • Os microcontroladores são específicos para controle, não tem grande capacidade de processamento e por isso nunca haverá computador pessoal cuja CPU seja um microcontrolador; • Eles podem estar presentes nos PCs, apenas para controlar periféricos;
Microprocessador x Microcontrolador
Diagrama de Bloco
Microprocessador x Microcontrolador Microprocessor
Microcontroladores
• CPU, RAM, ROM, Timers • CPU, RAM, ROM, Timres ficam em um mesmo chip; ficam separados; • Expansivos; • Versatilidade; • Proposta Geral;
• 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 forma eficiente 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 de forma organizada que apresenta uma função específica; Firmaware: programa que está armazenado em memória não volá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 específicas;
realizam
– Exemplos: • Timers • CCP (Comparação, Captura e PWM); • Conversores AD/DA • Portas de Comunicação (USART, I2C, SPI, USB, CAN...)
tarefas
Arquitetura Von-Neuman Von Neumann: “Instruções e dados compartilham a mesma unidade física de memória”
Arquitetura Von-Neuman
Arquitetura Harvard Harvard: “Instruções e dados são armazenados em memórias diferentes”
– 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
Barramento Permite 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ão disponí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ções RISC; – Uma instrução CISC precisa realizar passos semelhantes aos realizados pelas RISC; – CISC minimiza o número de acessos a memória de programa; – RISC simplifica a decodificação de instruções, deixando esta etapa mais rápida;
Instruction Set Vantagens CISC: Apesar do conjunto de instruções ser muito grande, oferece um número maior de instruções (“ferramentas”) ao programador Assembly;
Menor quantidade de instruções são necessárias para desenvolver um programa (programas ocupam menos memória).
Instruction Set Vantagens RISC: Etapa de decodificação tão simples que pode, em alguns casos, ser eliminada;
Com um número menor de instruções, os parâmetros destas podem ser 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 diretamente no 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ão realizados 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 pequenos circuitos 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 de estado da CPU, além dos bits da seleção do banco de memória RAM; INTCON – utilizado para controle de interrupções;
Registradores de função especial (SFR) Exemplos: OPTON_REG – utilizado para configurar o funcionamento de alguns periféricos internos ao PIC; PORT– utilizado para a leitura ou escrita nos pinos do PIC; TRIS – utilizado para configurar os pinos das portas como entrada ou 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 de I/O (pinos de entrada/saída); *** Valor máximo de corrente por isoladamente) e por conjunto de pinos ;
pino
I/O(operando
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 suas tarefas; – Espera ocupada: Não faz nada até que uma variável ou um flag mude de valor – pooling!
Interrupções Solução: Interrupção – Sistema capaz de avisar quando uma determinada tarefa acabou. – A tarefa então é executada, sem prejuízo para o fluxo do programa principal.
Interrupções
Interrupções
Arquitetura de um computador genérico
Arquitetura de um Sistema Embutido
Exercícios • PIC18F4550
50
Perguntas