Sistemas Microcontrolados



Documentos relacionados
ARQUITETURA DE COMPUTADORES

Introdução à Engenharia de Computação

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Circuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Capítulo 12. Projeto 5 Controle de Motores de Passo Circuito e Funcionamento

Introdução à Engenharia de Computação

Estrutura de um Computador

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Arquitetura de processadores: RISC e CISC

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

2. A influência do tamanho da palavra

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

IDENTIFICAÇÃO MANUTENÇÃO

1. CAPÍTULO COMPUTADORES

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Introdução a Ciência da Computação Unidade V Hardware - Arquitetura de um Sistema de Computação - Processador. Processador. Introdução.

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Aula 26: Arquiteturas RISC vs. CISC

Figura 1 - Memória 1. OBJETIVO. Conhecer os principais tipos de memórias entendendo suas funcionalidades e características.

DOUGLAS DAL POZZO DIEGO VITTI

Introdução à Arquitetura de Computadores

Acetatos de apoio às aulas teóricas

PIC16F628a. Pinagem do PIC16F628a:

Paralelismo a Nível de Instrução

Capítulo 3 Processadores de Propósito Geral: Software

ARQUITETURA DE COMPUTADORES

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

SSC510 Arquitetura de Computadores. 2ª aula

Aula 14: Instruções e Seus Tipos

Microprocessadores. Prof. Leonardo Barreto Campos 1


PROCESSADOR. Montagem e Manutenção de Microcomputadores (MMM).

Informática Básica. Arquitetura de Computadores. Marcelo Diniz

Sistemas Embarcados: uma Visão Geral. byprof Edson Pedro Ferlin

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Memória RAM. A memória RAM evolui constantemente. Qual a diferença entre elas? No clock (velocidade de comunicação com o processador)

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Informática I. Aula 5. Aula 5-13/05/2006 1

1. SINTAXE DA LINGUAGEM ASSEMBLY

Organização de Computadores 1

Figura 01 Visão Geral da Placa

Sistemas Operacionais Aula 2

Organização de Computadores Como a informação é processada?

11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Sistemas Operacionais

Computador Cleópatra

AULA: Introdução à informática Computador Digital

Computador Digital Circuitos de um computador (Hardware)

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

BARRAMENTO DO SISTEMA

ARQUITETURA DE COMPUTADORES

Introdução à Arquitetura de Computadores

HIERARQUIA DE MEMÓRIAS

1. Introdução - contextos de aplicações

CENTRAL PRCESSING UNIT

Hardware Fundamental

Projeto 1 - Bootloader

Arquitetura de Computadores. Tipos de Instruções

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

ARQUITETURA DE COMPUTADORES

R S Q Tabela 17 - Tabela verdade NOR

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

Descrição do Produto. Altus S. A. 1

7. Técnicas de Programação

Introdução a Informática. Prof.: Roberto Franciscatto

Aula 2. - Elaboração de algoritmos/fluxogramas. - Gravação do programa no microcontrolador

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Operativos I

Memória ROM. Organização Funcional de um. Computador. ROM (Read-Only Memory) Memória Somente Leitura.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Memória cache. Prof. Francisco Adelton

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Microcontroladores e Microprocessadores

Máquinas Multiníveis

Organização e Arquitetura de Computadores I

Entradas/Saídas. Programação por espera activa Programação por interrupções

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Introdução à Organização de Computadores. Aula 8

PROCESSADORES. Introdução 25/04/2012. Professor Marlon Marcon

AULA1 Introdução a Microprocessadores gerais

SINOPSE. Leandro Gomes Matos Diretor da RNC

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Unidade Central de Processamento

Arquitetura de Computadores II

Transcrição:

Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora

Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve a Eletrônica, diminuindo o tamanho, facilitando a manutenção e gerenciando tarefas internas de aparelhos eletroeletrônicos. Um microcontrolador pode efetuar várias funções que necessitariam de um grande número de outros componentes. Assim, aprender a programar microcontroladores significa aprender a resumir circuitos em um único componente. Para suprir exigências de projetos, existe uma ampla gama de microcontroladores da série PIC disponíveis no mercado, diferenciando-se pelo número de linhas de entradas/saídas (I/O Input/Output) e pelos recursos de periféricos do dispositivo. Por meio da abordagem dos aspectos teóricos e práticos de microcontroladores, é possível desenvolver projetos e implementações de sistemas microcontrolados de pequeno e médio portes. Além disso, possibilita ao desenvolvedor usar criatividade e imaginação para desenvolver novos projetos de hardware e software. 1.1 Breve Histórico Para uma melhor eficiência no processamento de dados, na década de 70 começaram a ser utilizados microprocessadores em computadores. O microprocessador Intel foi um dos precursores, e, a partir daí, houve uma preocupação em melhorar cada vez mais o sistema de processamento de dados por meio desses componentes. Com base na arquitetura de um 14

Capítulo 1 Introdução 15 microprocessador e seus periféricos, foi criado um componente que (fisicamente integrados em uma única unidade) comportava todo um sistema entre equivalente a um microprocessador e seus periféricos. Assim surgiu o microcontrolador. Com o passar dos anos e com os avanços da tecnologia, os microcontroladores tornaram-se uma das melhores relações custo/benefício em se tratando de soluções que demandam processamento, baixo custo de hardware e pequena necessidade de espaço físico. Existem no mercado muitos tipos de microcontroladores, sendo o 8051 o mais popular. A ATMEL possui uma enorme família de componentes com as mesmas características do 8051, alguns até com as mesmas pinagens dos registradores; outros com pinagens diferentes, mas com o mesmo conjunto de instruções, com clock de 4 MHz até aproximadamente 10 MHz. A DALLAS Semiconductors tem um microcontrolador de alta performance, de até 90MHz, compatível com 8051. Por fim, vem a Microchip Technology Inc. com os microcontroladores da série PIC que se tornaram muito populares, graças a um bom plano de marketing, baseado na disseminação de uma ferramenta de auxílio à construção de programas o MPLAB IDE. Os microcontroladores da série PIC possuem ainda uma linguagem Assembly menos complexa em relação àquelas disponibilizadas por outros fabricantes. 1.2 Introdução aos Microcontroladores da Série PIC Os microcontroladores são pastilhas inteligentes, que têm um processador, pinos de entradas/saídas e memória. Por meio da programação dos microcontroladores pode-se controlar suas saídas, tendo como referência as entradas ou um programa interno. O que diferencia os diversos tipos de microcontroladores são: a quantidade de memória interna para armazenar dados e as instruções de programas (memória de programa e memória de dados), a velocidade de processamento, a quantidade de pinos de I/O, a forma de alimentação, os tipos e as quantidades de periféricos, a arquitetura e o conjunto de instruções disponibilizado nos circuitos internos.

16 Sistemas Microcontrolados Tipicamente, um microcontrolador caracteriza-se por incorporar no mesmo encapsulamento um microprocessador (com a finalidade de interpretar as instruções de programa e processar dados), memória de programa (com a finalidade de armazenar de maneira permanente as instruções do programa), memória de dados (com a finalidade de memorizar os valores associados com as variáveis definidas no programa), uma série de pinos de entrada/saída (com a finalidade de realizar a comunicação do microcontrolador com o meio externo) e vários periféricos (tais como temporizadores, controladores de interrupção, temporizadores cão de guarda (WatchDog Timers WDTs), comunicação serial, geradores de modulação por largura de pulso ou de PWM (Pulse Width Modulation), conversores analógico/digital etc.), fazendo com que o hardware final fique extremamente complexo. Isto é uma das características fundamentais que o diferencia dos microprocessadores, pois estes não possuem todos esses recursos em uma única pastilha. A Microchip é uma empresa precursora no uso de tecnologia RISC (Reduced Instruction Set Computer) em microcontroladores. Diferente da arquitetura Von Neumann (CISC Complex Instruction Set Computer), a estrutura RISC é baseada em barramentos independentes para dados e para programa com tamanhos diferenciados. Por exemplo, no PIC16C55X o barramento de dados é de 8 bits, enquanto o de programa é de 14 bits, o que significa que uma instrução está empacotada em uma única palavra de programa (no caso do PIC16C55X de 14 bits) e, além de conter o opcode (instrução), contém também os operandos (dados para execução da instrução). A Microchip oferece famílias de microcontroladores de 8 bits no barramento de dados que podem ser adaptados a uma gama de projetos. Dentre elas pode-se destacar: PIC12CXXX: linha compacta; PIC16C5X/PIC16C55X: linha-base; PIC16CXX: linha intermediária; PIC17CXX/PIC18CXX: topo de linha. Todas as famílias oferecem diversas opções de memória de programa: OTP (One Time Programable) e EPROM (Erasable and Programmable Read Only Memory utilizada para desenvolvimento). Além disso, apresentam

Capítulo 1 Introdução 17 opções de baixa tensão e inúmeros tipos de circuito osciladores, assim como várias opções de encapsulamento. Alguns componentes estão disponíveis em memória somente de leitura (ROM mascaradas) e memória apenas de leitura programável e eletricamente apagável (EPROM/FLASH reprogramáveis). Deve-se ressaltar que os microcontroladores da série PIC estão disponíveis em uma ampla gama de modelos para melhor se adaptarem às exigências de projetos específicos, diferenciando-se pelo número de linhas de I/O e pelo conteúdo do dispositivo. 1.3 Arquitetura dos Microcontroladores da Série PIC O alto desempenho da família de microcontroladores PIC pode ser atribuído às seguintes características de arquitetura RISC: mapa de registradores versátil; todas as instruções com palavras simples; palavra de instrução longa; arquitetura de instruções em pipeline ; instruções de apenas um ciclo de máquina; conjunto de instruções reduzido; conjunto de instruções ortogonal (simétrico). A arquitetura Von-Neumman tradicional utiliza o mesmo barramento, tanto para fazer a busca de instruções na memória de programa quanto para acessar (escrever ou ler) a memória de dados (Figura 1.1). UCP 8 Memória de Programa e de Dados Figura 1.1 Arquitetura Von-Neumman. A arquitetura de um microcontrolador da série PIC utiliza dois barramentos de endereços distintos para acessar instruções e dados (Figura 1.2).

18 Sistemas Microcontrolados Memória de Dados UCP 8 12 14 16 Memória de Programa Figura 1.2 Arquitetura dos microcontroladores da série PIC. 1.4 Formato das Instruções nos Microcontroladores da Série PIC A entrada de clock (pino OSC1/CLKIN) é internamente dividida por quatro para gerar quatro clocks em quadratura sem sobreposição, nomeados Q1, Q2, Q3 e Q4. Internamente, o contador de programa (PC Program Counter) é incrementado em Q1 e a instrução apontada pelo endereço associado ao contador de programa é buscada da memória de programa e armazenada no registrador de instruções em Q4. Ela é então decodificada e executada no ciclo seguinte de Q1 até Q4 (Figura 1.3). CLK 1 ciclo de máquina = 4 períodos de clock Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Ciclo de máquina Figura 1.3 Ciclo de instruções dos microcontroladores da série PIC. Um ciclo de instruções consiste de quatro ciclos Q (Q1, Q2, Q3, Q4). A busca e a execução da instrução são feitas em linha, de tal forma que a busca leva um ciclo de instrução e a execução, outro. Contudo, devido à característica de pipeline, cada instrução é executada efetivamente em um ciclo, pois simultaneamente ocorrem a execução de uma instrução e a busca da próxima instrução (Figura 1.4). Se uma instrução alterar o valor associado com o contador de programa, então dois ciclos serão necessários para completar a instrução. A arquitetura em pipeline sobrepõe busca (fetch) e execução (execute), tornando possível a execução de instruções em um único ciclo de máquina.

Capítulo 1 Introdução 19 Qualquer instrução de desvio (tais como GOTO, CALL, ou que altere o valor associado com o contador de programa) necessita de dois ciclos de máquina. A arquitetura com barramentos separados para instruções e dados permite a adoção de larguras diferentes. Com isso, o barramento de instruções é otimizado para uma palavra de comprimento único. O número de bits do barramento de instruções depende de quantas instruções são implementadas e do número de registradores disponíveis em cada família de microcontroladores PIC. 1. MOVLW 55H 2. MOVWF PORTB 3. CALL SUB_1 4. BSF PORTA, BIT3 Busca 1 Execute 1 Busca 2 Execute 2 Busca 3 Execute 3 Busca 4 Fluxo Busca SUB_1 Execute SUB_1 Figura 1.4 Pipeline nos microcontroladores da série PIC. Em resumo, todas as instruções são de um único ciclo, exceto aquelas de desvios no programa. Essas necessitam de dois ciclos, visto que a instrução de busca é fluida do pipeline, enquanto novas instruções estão sendo buscadas e executadas. 1.5 Mapa de Registradores Todas as instruções aritméticas e booleanas são feitas por meio do registrador de trabalho W (Figura 1.5). O destino da operação pode ser o próprio registrador W ou um dos registradores disponíveis nos microcontroladores da série PIC, dependendo unicamente da instrução executada. ULA W INDF TMR0 PCL STATUS FSR PORTA Outros SFRs Registradores de uso geral (RAM) Figura 1.5 Mapa de registradores nos microcontroladores da série PIC.

20 Sistemas Microcontrolados 1.6 Interrupções Um programa que está sendo executado pode fazer uso direto ou indireto de funções e sub-rotinas disponibilizadas no hardware ou no sistema operacional do sistema como um todo. Este uso é feito com a execução de uma instrução específica que interrompe, momentaneamente, a execução normal do programa, passando a executar a rotina que foi especificada pela instrução que realizou a interrupção. Após o término dessa rotina, a execução do programa é retomada, passando a ser executada a primeira instrução após aquela que procedeu à interrupção. É possível realizar a comunicação de dados entre o programa e a rotina de interrupção por meio de registradores específicos. Nos microcontroladores da série PIC, existem modelos que não possuem interrupções (por exemplo, PIC 12C50X, PIC 16C54, PIC 16C55 e outros de gerações mais antigas), porém, nos modelos mais novos, existe um grande número de interrupções com finalidades diferentes. Por exemplo, no caso do PIC 16F84, tipicamente, há a ocorrência de quatro tipos de interrupções básicas: aquela de TIMER 0 (TMR0), a externa, a por mudança de estado e a interrupção de final de escrita na EEPROM.