Prévia do material em texto
Microprocessadores e microcontroladores Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Conceituar os microcontroladores e os microprocessadores. � Listar as diferenças entre microcontroladores e microprocessadores. � Enumerar os principais fabricantes de microcontroladores de 4, 8, 16 e 32 bits. Introdução Neste capítulo, você vai estudar os microprocessadores e os microcon- troladores. Em função de as duas palavras serem muito parecidas, é comum que haja equívocos relacionados aos conceitos. Assim, vamos apresentar neste texto os conceitos, as características e alguns exemplos de utilização de microprocessadores e microcontroladores. Conceito de microprocessadores e microcontroladores Tanto os microcontroladores quanto os microprocessadores são componentes importantes, quando se trata de eletrônica digital. É bastante comum que haja confusões em relação a esses dois elementos, o que inicialmente pode ser explicado pelo fato de terem nomes parecidos, mas a realidade é que os dois possuem características diferentes. Microprocessadores Os microprocessadores também são conhecidos como cérebros dos computado- res, ou seja, são peças fundamentais para o seu funcionamento. Equipamentos como celulares, smartphones e tablets também necessitam de processadores para funcionar. O processador é responsável por carregar e realizar as ope- rações aritméticas e lógicas, que são necessárias para que os programas de computador funcionem. Hoje os processadores permitem a compatibilidade de software, isto é, os softwares não precisam ser desenvolvidos para um modelo específico de processador. Antigamente, porém, cada computador funcionava em uma plataforma diferente, e isso não permitia a compatibilidade entre os diferentes fabricantes de processadores. É bastante comum chamar os microprocessadores de processadores. Tec- nicamente, os processadores são um circuito integrado que realiza tarefas de cálculo e tomada de decisão de um computador. Os computadores e equipa- mentos eletrônicos utilizam o processador para executar as suas funções, ou seja, são esses componentes que os tornam inteligentes. Responsável pela execução das instruções num sistema, o microproces- sador — escolhido entre os disponíveis no mercado — determina, em certa medida, a capacidade de processamento do computador e o conjunto primário de instruções que ele compreende. O sistema operacional é desenvolvido sobre esse conjunto. Internamente, o microprocessador (Figura 1) é subdividido em unidades de trabalho, que operam em frequências elevadas. Uma das mais importantes chama-se ULA (unidade lógica e aritmética), que é responsável pelos cálculos aritméticos e lógicos. Para o funcionamento do microprocessador, são ne- cessários circuitos auxiliares, que permitem a interação com os utilizadores; esses circuitos garantem a comunicação com a memória e os dispositivos de entrada e saída. Figura 1. Microprocessador. Fonte: www.intel.com. Microprocessadores e microcontroladores2 O que diferencia um microprocessador de outro é a quantidade de instru- ções, o tamanho da palavra interpretada, o barramento de dados e a velocidade de operação. As instruções são códigos que informam o que o processador deverá fazer com os dados. Alguns microprocessadores possuem apenas as instruções mais utilizadas (como microprocessador RISC), já outros (como MMX, 3Dnow e SSE) possuem instruções específicas para controle de recursos multimídia. Atualmente não existe mais essa diferença entre processadores com mais instruções; então, resolveu-se misturar características das duas arquiteturas, a fim de conseguir o melhor desempenho. O tamanho da palavra indica a quantidade de bits interpretados pelo microprocessador a cada ciclo; quanto maior o tamanho da palavra, maior será o desempenho do computador. Esses dados trafegam pelo barramento de dados, entre periféricos, memórias e microprocessadores, levando instruções e dados. Quanto maior o barramento de dados, maior será a desempenho do computador. Em relação à velocidade de processamento, pode-se considerá-la como sendo a rapidez com que as instruções são executadas pelo microprocessador. A velocidade é medida em hertz (megahertz ou gigahertz), que é a unidade de medida de frequência, e é possível trabalhar em duas velocidades: interna e externa. A velocidade interna é a velocidade de instruções dentro do compu- tador, enquanto a externa é a velocidade de comunicação entre o computador e os dispositivos. Microcontroladores Um microcontrolador é um tipo de circuito integrado que tem a possibili- dade de ser programado para realizar tarefas específicas. No mercado, são encontrados diversos fabricantes de microcontroladores, cada um com suas especificidades e características. A escolha do microcontrolador depende bastante da aplicação; portanto, é importante conhecer as características de cada componente. Os microcontroladores possuem periféricos que permitem a realização de várias tarefas, sem depender de muitos outros componentes conectados a eles. Um microcontrolador pode ser considerado uma espécie de computador, constituído de CPU, memória de armazenamento de programa, memória para armazenamento de variáveis, alguns periféricos de comunicação, conversores, entre outros. Os microprocessadores são programados por meio de linguagens de programação, como a linguagem C. 3Microprocessadores e microcontroladores Muitas placas de desenvolvimento (por exemplo, o Arduino) possuem um microprocessador como principal componente. Essas placas são muito comuns entre estudantes, devido à vasta documentação existente e por ser uma plataforma de desenvolvimento de projetos de automação bastante didática. Em nosso cotidiano, muitos equipamentos possuem um microcontrolador interno, como eletroeletrônicos e eletrodomésticos. O timer de um aparelho micro-ondas, o controle remoto de um televisor ou um ar-condicionado, um relógio digital, o controlador de voo de um drone, uma impressora 3D e muitos outros dispositivos podem ser construídos por meio do uso de microcontroladores. Um microcontrolador é constituído dos seguintes componentes internos: � CPU (unidade central de processamento): realiza as operações lógicas e matemáticas programadas. � Frequência de clock: tempo base das operações realizadas pela CPU e dos demais periféricos do microcontrolador. � Memória flash: memória não volátil, que é responsável por armazenar o programa a ser executado. � Memória RAM: memória volátil, que armazena as variáveis do pro- grama temporariamente. � Memória EEPROM: semelhante à memória flash, mas com uma menor velocidade de escrita. � Entradas: pinos configurados como entradas digitais detectam a tensão presente externamente neles, dados alguns valores limiares. Quando essa tensão estiver abaixo de determinado valor, especificado na folha de dados do microcontrolador de interesse, o nível lógico lido é 0. Por outro lado, se estiver dentro de uma faixa próxima do valor de alimentação, também dependente do microcontrolador em questão, o nível lógico lido é 1. � Saídas: pinos configurados como saídas digitais podem ser comandados por meio do software e ter seu valor de tensão alterado. Nível lógico 0 representa valor de tensão nulo, enquanto nível lógico 1 representa valor de tensão de alimentação do circuito. A saída digital dos microcontro- ladores é a principal interface desses componentes com o mundo real, bastando conectar um LED e fazê-lo piscar, ou um pequeno alto-falante para emitir um sinal sonoro. Microprocessadores e microcontroladores4 Diferenças entre microprocessadores e microcontroladores Um microcontrolador difere de um microprocessador em vários aspectos, mas o primeiro e mais importante se refere à funcionalidade. O funcionamento de um microprocessador depende de outros elementos, como memória, chipsets e componentes para receber e enviar dados. Já o microcontroladoré projetado para ter essas funcionalidades em um único chip. No caso do microprocessador, não são necessários os componentes externos para as suas aplicações, pois os periféricos já estão contidos nele mesmo. Isso faz com que se poupe tempo na elaboração de novos projetos. Tanto os microprocessadores quanto os microcontroladores realizam al- gumas operações, que são buscar as instruções da memória e executá-las (operações aritméticas ou lógicas); os resultados dessas execuções são usados para servir a dispositivos de saída. As instruções eletrônicas, representadas por um grupo de bits, são obtidas a partir de sua área de armazenamento, que é chamada de memória. Num cenário prático, suponha que você precisa acender a luz de um quarto a partir de um controle remoto. O custo de um microprocessador é elevado, e são necessários todos os outros componentes de um computador, como memória para rodar o sistema operacional e saídas USB/paralela para utilizar a saída; além disso, ainda seria preciso realizar a programação via alguma linguagem, para acender ou apagar uma luz com um relé. Outro cenário seria utilizar um chip microcontrolador, que teria tudo embutido, e usar uma porta digital para acionar o mesmo relé, sem sistema operacional, grandes quantidades de memória e outros recursos. A autossuficiência dos microcontroladores os torna a escolha ideal para pequenos dispositivos eletrônicos, como cafeteiras e brinquedos eletrônicos. Geralmente, os microcontroladores são pré-programados quando eles estão incluídos — ou incorporados — nos dispositivos eletrônicos. Em comparação com os microprocessadores, a maioria dos microcontroladores funciona na faixa de frequência dos megahertz, o que significa um milhão de ciclos de processamento por segundo. 5Microprocessadores e microcontroladores Famílias de microcontroladores Em se tratando de microcontroladores, pode-se dizer que existem três exem- plos típicos de famílias com características distintas. No Quadro 1, podemos verificar algumas características de cada uma delas. Fonte: Vieira Neto, Introdução... e Caetano (2002, 2003, [200-?]). Família Fabricante Processadores Frequência Memória MCS-51 Intel 8 bits de 10 a 100 MHz 64 K-ROM + 64 K-RAM PIC Microchip 8, 16 e 32 bits 40 MHz 64 K ATmega ATmel 8 bits 20 MHz 256 KB Quadro 1. Características dos microcontroladores. Os microcontroladores 8051, fabricados pela Intel, são considerados os microcontroladores clássicos, pois já estão no mercado há mais de 30 anos e continuam bastante populares. Foram lançados em 1980, como uma evolução do 8048, com uma CPU muito mais rápida (12 MHz), 60.000 transistores, 4 KB ROM, 128 Bytes RAM, 32 linhas de E/S, porta serial, cinco fontes de interrupção e dois temporizadores de 16 bits. O licenciamento de fabricação do 8051 foi permitido por parte da Intel, e hoje existem mais de 50 fabrican- tes da linha MCS-51, entre eles a própria Intel, AMD, ATmel, Dallas, OKI, Matra, Philips, Siemens, SMC e SSI, produzindo mais de 1.100 variantes do projeto original. O Quadro 2 apresenta os membros mais comuns da família 8051, juntamente com algumas características. O modelo mais simples é o 8031, que não possui memória de programa interna, mas tem outras características interessantes em relação a essa família. A compreensão das características de funcionamento de um dos membros da família 8051 garante o entendimento dos demais chips dessa família, inclusive os mais recentes, que já utilizam memória flash rom, como o 8052 e 8752. Microprocessadores e microcontroladores6 Fonte: Arquitetura... ([200-?]). Chip Memória de prog. interna Tipo RAM 8031 0 KB -- 128 8051 4 KB ROM 128 8751 8 KB EPROM 128 8032 0 KB -- 256 8052 8 KB ROM 256 8752 8 KB EPROM 256 Quadro 2. Membros mais comuns dos microcontroladores 8051. A família de microcontroladores PIC surgiu a partir de um projeto de um controlador de periféricos (Peripheral Interface Controller), e é hoje constituída de processadores de 8, 16 e 32 bits. O PIC-16F628A é um microcontrolador de 8 bits produzido pela Microchip Technology Inc., e é considerado como um membro intermediário da família. Suas principais características são descritas a seguir: � arquitetura Harvard-RISC modificada; � encapsulamento de 18 pinos; � clock interno de 4 MHz ou externo de 0 a 20 MHz; � programação serial in-circuit (não é necessário retirar o chip de seu circuito para programá-lo); � memória de 2048 palavras de 14 bits, tipo flash, para programa; � 224 bytes de memória SRAM para dados; � 35 instruções, com modos de endereçamento direto, indireto e relativo; � ULA de 8 bits; � 16 pinos de E/S com controle individual de direção; � dois temporizadores de 8 bits e um de 16 bits; � porta serial síncrona/assíncrona. O sistema Arduino é um projeto de uma plataforma de desenvolvimento baseado em um microcontrolador ATmel AVR ATmega, de hardware e software livre (ou seja, tanto o hardware quanto o software são abertos, com toda a documentação disponível aos usuários), podendo ser utilizado para qualquer 7Microprocessadores e microcontroladores finalidade, sem a necessidade de qualquer tipo especial de licença. A placa básica de hardware conta com uma série de facilidades de conectividade com diversos tipos de dispositivos, como sensores, servomotores, unidades para comunicação serial, USB, Wi-Fi, Bluetooth, Ethernet, displays LCD e muitos mais. Como ferramenta de desenvolvimento de software, conta com um ambiente integrado multiplataforma (Linux, Windows e MacOS), baseado na linguagem C/C++, com uma extensa biblioteca de funções disponível, o que permite o desenvolvimento muito rápido de projetos, sem a necessidade de conhecer os detalhes dos dispositivos com os quais se quer interagir, ou os detalhes do próprio processador. Para isso, o sistema Arduino conta também com uma série de placas acessórias, denominadas shields, que se conectam diretamente com a placa principal, oferecendo diversas funcionalidades. Também é possível trabalhar em “baixo nível”, utilizando a linguagem Assembly do processador. A Figura 2 apresenta a placa considerada hoje como um Arduino padrão: o Arduino Uno. Figura 2. Arduino Uno. Fonte: Eletrodex (2018). O microcontrolador básico utilizado no projeto Arduino é o ATmega 328, mas também estão disponíveis versões com outros membros da família AVR. As principais características do ATmega 328 são as seguintes: Microprocessadores e microcontroladores8 � arquitetura RISC de 8 bits; � 131 instruções, a maioria de 16 bits; � 32 KB de memória flash de programa; � 512 bytes de EEPROM; � seis canais de conversão analógica/digital de 10 bits de precisão; � uma interface serial síncrona/assíncrona; � programação modo ISP (In System Programming). ARQUITETURA de computadores. [200-?]. Disponível em: <https://iesb.blackboard. com/bbcswebdav/institution/Ead/_disciplinas/EADG177/nova/aula16.html>. Acesso em: 5 abr. 2018. CAETANO. CLP: o controlador lógico programável. [200-?]. Disponível em: <https:// sites.google.com/site/ronaldoecaetano/clp>. Acesso em: 5 abr. 2018. ELETRODEX. Arduíno UNO R3. 2018. Disponível em: <http://www.eletrodex.com.br/ arduino-uno-r3-cabo-usb.html>. Acesso em: 04 abr. 2018. INTRODUÇÃO aos microcontroladores. 2003. Disponível em: <http://gec.di.uminho. pt/lecom/li2/material/picbook-pt.pdf>. Acesso em: 5 abr. 2018. VIEIRA NETO, H. Microcontroladores MCS51. 2002. Disponível em: <http://dainf.ct.utfpr. edu.br/~hvieir/download/mcs51.pdf>. Acesso em: 5 abr. 2018. Leituras recomendadas AURELIANO, A. Microcontroladores. 2017. Disponível em: <https://fiozera.com.br/ microcontroladores-914a59cbf7de>. Acesso em: 04 abr. 2018. ELETRÔNICA PROGRESSIVA. Microcontroladores: o que são, para que servem e onde são usados. 2014. Disponível em: <http://www.eletronicaprogressiva.net/2014/08/ Microcontroladores-O-que-sao-Para-que-servem-Onde-sao-usados.html>. Acesso em: 04 abr. 2018. MICROPROCESSADORES: conceitos básicosde computação. [200-?]. Disponível em: <http://iris.sel.eesc.usp.br/sel433a/Micros.pdf>. Acesso em: 04 abr. 2018. MICROPROCESSADORES vs Microcontroladores. [200-?]. Disponível em: <http://adm. online.unip.br/img_ead_dp/30826.PDF>. Acesso em: 04 abr. 2018. NERYS, J. W. L. Notas de aula microprocessadores e microcontroladores. Goiânia: PEQ, 2016. ORDOÑEZ, E. D. M.; PENTEADO, C. G.; SILVA, Al. C. R. da. Microcontroladores e FPGAs: aplicações em automação. São Paulo: Novatec, 2005. 9Microprocessadores e microcontroladores Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. DICA DO PROFESSOR É comum que se gerem confusões em relação aos componentes microprocessador e microcontrolador. Inicialmente, isso pode ser explicado pelo fato de terem nomes parecidos, mas a realidade é que os dois componentes têm características diferentes. Neste Dica do Professor, assista ao vídeo em que se explicam as principais diferenças entre microprocessador e microcontrolador. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) Qual das siglas abaixo também serve para representar um microprocessador? A) MCU. B) CPU. C) ROM. D) RAM. E) ULA. 2) Qual é a definição correta para microcontrolador? Circuito integrado que tem a possibilidade de ser programado para realizar tarefas A) pg. 289 específicas. B) Circuito que necessita de periféricos de computador para funcionar. C) Circuito com capacidade para utilização em sistemas complexos, como por exemplo em computadores. D) Circuito que permite a digitalização de documentos. E) Circuito composto por milhões de transistores e capacitores eletrolíticos. 3) Um microcontrolador difere de um microprocessador em vários aspectos. Qual é o principal? A) Tamanho. B) Peso. C) Memória cache. D) Funcionalidade. E) Preço. 4) Que empresa desenvolveu os microcontroladores da família 80501? A) HP. B) Intel. pg 282. Intel Mcs-51 C) DELL. D) Microchip. E) Atmel. 5) Qual é o nome do microcontrolador básico utilizado no projeto Arduino? A) PIC-16F628A. B) 8052. C) RISC. D) Pentium IV. E) ATMEGA-328. NA PRÁTICA Arduino é uma plataforma de código aberto (hardware e software) criada em 2005 pelo italiano Massimo Banzi (e outros colaboradores), para auxiliar no ensino de eletrônica para estudantes de design e artistas. O objetivo principal foi o de criar uma plataforma de baixo custo, para que os estudantes pudessem desenvolver seus protótipos com o menor custo possível. Outro ponto interessante do projeto foi a proposta de criar uma plataforma de código aberto, disponível para a comunidade, o que ajudou em muito no seu desenvolvimento. O software para programação do Arduino é uma IDE que permite a criação de sketches para as placas. A linguagem de programação é modelada a partir da linguagem Wiring. Quando pressionado o botão upload da IDE, o código escrito é traduzido para a linguagem C e é transmitido para o compilador avr-gcc, que realiza a tradução dos comandos para uma linguagem que pode ser compreendida pelo microcontrolador. A IDE possui uma linguagem própria baseada na linguagem C e C++. SAIBA MAIS