Buscar

TIPOS DE MICROCONTROLADORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

TIPOS DE MICROCONTROLADORES 
 
Prof.: Marcos Santana Farias 
 
 
Introdução 
 
Um microcontrolador de n bits possui uma ALU (Unidade Lógica e Aritmética) capaz de 
processar operandos com n bits de cada vez. Ou seja, seus registradores são de n bits e 
podem manipular n bits por vez. Normalmente, o microcontrolador também terá n bits de 
barramento de dados e n bits de largura para endereçamento de memória, mas isso não é 
verdadeiro para todos os casos. 
 
Considerando um microcontrolador de 8 bits, temos que um intervalo que varia de 0 a 255 
para um inteiro sem sinal e de -128 a 127 para um inteiro com sinal. Adicionar ou subtrair 
números dentro desse intervalo é bastante simples e pode ser feito em um ciclo de 
processamento. No entanto, quando o operando fornecido ultrapassa o intervalo da ALU, 
ainda é possível, mas o processo fica um pouco mais complexo. Digamos que gostaríamos de 
adicionar 640 a 150. O primeiro operando (640) está além da capacidade de uma ALU de 8 
bits. Então, ao invés de obter o resultado em apenas um ciclo processamento, ele levará mais 
tempo, já que somente 8 bits podem ser processados por vez pela ALU. O programador 
precisa quebrar os dados para o número maior. Portanto, nos microcontroladores de 8 bits, 
números maiores precisam ser processados no software. Nesse caso, até mesmo números 
de 32 bits são possíveis. A mesma operação pode ser realizada em apenas um ciclo de 
processamento para um microcontrolador de 16 bits. 
 
A maioria dos microcontroladores de 8 bits tem um contador de programa de 16 bits. Isso 
significa que ele pode endereçar no máximo 64kBytes de memória. Para muitas aplicações 
embutidas este número é suficiente, o que permite o uso de microcontroladores de 8 bits 
ainda em larga escala. 
 
 
Arquiteturas de 8 bits vs. 16 e 32 bits 
 
Além da vantagem de maior desempenho na realização de cálculos e transferências de dados 
mais rápidas, quais são as vantagens de trabalhar com um microcontrolador que possui uma 
largura de barramento maior? 
 
Microcontroladores com larguras de barramento de dados maiores desfrutam de maior 
desempenho em termos de operações mais rápidas, geralmente ferramentas de 
desenvolvimento mais poderosas, mais recursos e melhor eficiência de energia. Em geral, 
larguras de barramento menores limitam o desempenho em troca de um pequeno benefício 
de custo para o orçamento de um projeto. 
 
O número de ciclos aumenta conforme a largura do barramento diminui: larguras de bits 
menores requerem mais ciclos para completar cálculos maiores. Assim, leva mais ciclos para 
 
 
 
 
um microcontrolador de 8 bits completar um grande cálculo do que os microcontrolador com 
uma largura de barramento de dados de 16 bits. O uso de um microcontrolador de 32 bits 
pode reduzir ainda mais os ciclos computacionais. 
 
Além da velocidade na conclusão de cálculos e na taxa de transferência de dados, se houver 
uma interrupção ou falha no meio de uma transferência, o microcontrolador de 8 bits tem 
uma chance maior de não concluir a tarefa, com vários ciclos necessários, em comparação 
com um microcontrolador de 32 bits que conclui a mesma tarefa em um ciclo. 
 
• Custo 
Microcontroladores de 8 bits ainda prevalecem e, em algumas aplicações, é a opção 
computacional mais barata em relação ao custo do chip. No entanto, os chips 
microcontroladores de 32 bits podem ser tão baratos quanto alguns chips de 8 bits. Quando 
cortar centésimos de centavo é importante, como em produtos de alto volume, a decisão 
será tomada com base nos requisitos mínimos do projeto que são atendidos pelo chip mais 
barato. Pode não ser uma consideração para produtos preparados para o futuro adicionar 
mais recursos. Com relação aos conjuntos de habilidades, uma vez que os engenheiros 
dominam a curva de aprendizado para dispositivos de 32 bits, o valor se estende a um alcance 
mais amplo em aplicativos. O escopo de um microcontrolador de 8 bits é significativamente 
limitado em relação aos microcontroladores de 32 bits. Os custos de mão de obra também 
podem ser menores trabalhando com um microcontrolador de 32 bits, à medida que mais 
opções, recursos, ferramentas e um corpo maior de código existente se desenvolvem em 
torno do ecossistema de 32 bits. A tecnologia de ponta não evolui mais em torno dos 8 bits. 
 
• Tamanho do código 
Quanto maior a largura, mais denso será o código. Uma redução de 30% no tamanho do 
código é uma estimativa aproximada do benefício que o código escrito para 32 bits oferece 
em relação ao código de 8 bits. Programar com 32 bits é muito mais desafiador em código 
assembly do que em 8 bits, é claro, mas as ferramentas de desenvolvimento modernas 
permitem que os engenheiros trabalhem em C/C ++, uma linguagem frequentemente portátil 
entre arquiteturas e com cadeias de ferramentas e IDEs semelhantes entre arquiteturas. No 
entanto, os microcontroladores de 8 bits podem ser codificados com mais eficiência com o 
código de montagem para engenheiros que dedicam tempo para pensar na eficiência das 
operações. 
 
• Recursos 
Existem mais recursos para aproveitar as arquiteturas de maior largura de barramento de 
dados. A escala de recursos pode aumentar significativamente com dispositivos de 32 bits, 
com uma taxa muito maior de integração de periféricos conforme a largura de bits aumenta. 
O desempenho em tempo real é mais fácil de alcançar em dispositivos de 32 bits com acesso 
direto à memória para ignorar totalmente a CPU. 
 
No entanto, há uma seleção maior de microcontroladores de 8 bits disponível do que 
microcontroladores de 32 bits. Parte do motivo para isso é que as arquiteturas de 8 bits 
existem há muito mais tempo do que as arquiteturas de 16 e 32 bits. 
 
 
 
 
 
Muitos microcontroladores de 8 bits são escolhidos principalmente com base no custo por 
microcontrolador, reutilização de código legado e familiaridade pessoal com arquiteturas de 
8 bits. Os microcontroladores de 8 bits podem realizar o trabalho com requisitos mínimos, 
mas o conjunto de habilidades necessárias para desenvolver produtos com 
microcontroladores de 8 bits é diferente, mais perceptível quando se trabalha no nível mais 
baixo de programação, o código em assembly. O código em assembly pode ser escrito com 
muito mais eficiência do que um compilador pode produzir em programação de nível 
superior em C / C ++, por exemplo. 
 
Em resumo, a decisão de trabalhar em 8 bits ou 16 e 32 bits depende do que a aplicação 
exige, do custo final do microcontrolador e da mão de obra de desenvolvimento, da 
necessidade de preparar os recursos da aplicação para o futuro e quanto tempo se possui 
para pôr o produto no mercado. Muitos desenvolvedores são fãs fervorosos de 
microcontroladores de 8 bits e podem fazer coisas incríveis com eles. Produtos de muito alto 
volume levarão em direção à opção de dispositivo de menor custo, independentemente dos 
custos de mão de obra. No final das contas, a escolha depende de compensações. Como uma 
decisão para o desenvolvimento pessoal, é aconselhável estar familiarizado com ambos. 
 
A visibilidade das operações centrais de um microcontrolador no nível de 8 bits oferece uma 
experiência educacional que muitas vezes é escondida por camadas de abstração com 32 
bits. No entanto, os lugares que você irá com habilidades de desenvolvimento de 32 bits 
superam o que os de 8 bits podem oferecer quando você considera a complexidade crescente 
da tecnologia moderna. 
 
Microcontroladores de 8 bits têm sido o carro-chefe da indústria há algumas décadas, mas é 
esperado que em alguns anos sejam ultrapassados pelos de 32 bits, como pode visto na figura 
1. Os microcontroladores de 32 bits possuem uso crescente em aplicações como a 
automobilística e internet das coisas. 
 
 
 
 
 
 
 
 
Figura 1 – Mercado de microcontroladores por tipo. 
Fonte: Sharma, Komal - Microcontroller Market by Product Type (8-Bit, 16 Bit, and 32 Bit) 
and Application (Industrial, Consumer Goods, Automotive, Communication, and Computers)- Global Opportunity Analysis and Industry Forecast, 2014-2022). Allied Market Research. 
 
 
Famílias principais de microcontroladores 
 
Microcontrolador 8051 
O conjunto de microcontroladores mais universalmente empregado vem da família 8051 de 
arquitetura CISC. Microcontroladores 8051 ainda persistem como escolha para um grande 
grupo de entusiastas e especialistas. Ele original foi inicialmente inventado pela Intel em 
1981. Possui variantes, mas basicamente se oferece com 8 bits, 4kb de memória ROM 
(espaço programável no chip), 128 bytes de espaço RAM e, se desejado, 64KB de memória 
externa pode ser associada ao 8051. 
 
Existem quatro portas paralelas de 8 bits que são facilmente programáveis e endereçáveis. 
Um oscilador de cristal integrado no microcontrolador possui frequência de cristal de 12MHz. 
No microcontrolador existe uma porta serial de entrada/saída. Dois temporizadores de 16 
bits também são incorporados a ele; esses temporizadores podem ser empregados como 
temporizadores para o funcionamento interno, bem como para o funcionamento externo. O 
microcontrolador é composto por 5 fontes de interrupção, nomeadamente: Interrupção da 
porta serial, Interrupção do temporizador 1, Interrupção externa 0, Interrupção do 
temporizador 0, Interrupção externa 1. O modo de programação deste microcontrolador 
inclui GPRs (registros de uso geral), SFRs (registros de função especial) e SPRs (registradores 
de propósito especial). 
 
Microcontroladores AVR 
O microcontrolador AVR foi desenvolvido na Atmel Corporation. Os microcontroladores AVR 
são arquiteturas Harvard RISC modificadas com memórias separadas para dados e programa 
e com velocidade alta quando comparada com 8051 e PIC. O AVR significa Advanced Virtual 
RISC. A popular plataforma Arduino emprega microcontroladores AVR. 
 
• Diferenças entre 8051 e AVR 
8051 são microcontroladores de 8 bits baseados na arquitetura CISC, os AVRs são 
microcontroladores de 8 bits baseados na arquitetura RISC. 
8051 consome mais energia do que o microcontrolador AVR 
Em 8051, podemos programar mais facilmente do que o microcontrolador AVR 
A velocidade do AVR é maior do que a do microcontrolador 8051. 
 
• Classificação dos controladores AVR 
Os microcontroladores AVR são classificados em três tipos: 
 
 
 
 
 
TinyAVR - menos memória, tamanho pequeno, adequado apenas para aplicações mais 
simples. 
MegaAVR - São os mais populares, com boa quantidade de memória (até 256 KB), maior 
número de periféricos embutidos e adequados para aplicações moderadas a complexas. 
XmegaAVR - Usado comercialmente para aplicações complexas, que requerem grande 
memória de programa e alta velocidade. 
 
Dentro da família megaAVR está o ATmega328 de 8 bits, comumente usado em muitos 
projetos e sistemas autônomos onde é necessário um microcontrolador simples, de baixo 
consumo e baixo custo. A implementação mais comum conhecida deste chip está na popular 
plataforma de desenvolvimento Arduino, nos modelos Arduino Uno e Arduino Nano. Alguns 
dos recursos do ATmega328 de 28 pinos são: 
 
• Memória de programa flash de 32kbytes 
• Memória de dados EEPROM de 1kbytes 
• Memória de dados SRAM de 2kbytes 
• 23 Pinos de E/S 
• Dois temporizadores de 8 bits 
• Conversor A/D 
• PWM de seis canais 
• Porta serial USART 
• Suporta oscilador externo de até 20 MHz 
 
Microcontroladores PIC 
Peripheral Interface Controller (PIC) é fornecido pela Microchip Technology a partir de 1993. 
Estes microcontroladores foram extremamente bem-sucedidos dentre os de 8 bits. A 
principal causa por trás disso é que a Microchip tem atualizado constantemente a arquitetura 
do dispositivo e incluído muitos periféricos para atender às necessidades dos 
desenvolvedores. Microcontroladores PIC são muito populares entre amadores e na 
indústria, causa de ampla disponibilidade, baixo custo, grande base de usuários e capacidade 
de programação serial. 
 
Existem muitos PICs, iniciados com PIC16F84 e PIC16C84. Mas esses eram os únicos PICs flash 
acessíveis. A Microchip lançou depois chips flash com tipos atraentes entre 8 e 16 bits, como 
16F628, 16F877 e 18F452. O 16F877 tem cerca de duas vezes o preço do antigo 16F84, mas 
tem oito vezes mais espaço para código, muito mais RAM, muito mais pinos de E/S, uma 
UART e conversor A/D. 
 
• Características principais do PIC16F877: 
 
• CPU RISC de alto desempenho. 
• Até 8K x 14 palavras de memória de programa FLASH. 
• 35 Instruções (codificação de comprimento fixo de 14 bits). 
• 368 × 8 memória de dados baseada em RAM estática. 
• Até 256 x 8 bytes de memória de dados EEPROM. 
• Capacidade de interrupção (até 14 fontes). 
 
 
 
 
• Três modos de endereçamento (direto, indireto, relativo). 
• Arquitetura de memória Harvard. 
• Modo SLEEP de economia de energia. 
• Ampla faixa de tensão de operação: 2,0 V a 5,5 V. 
 
Microcontroladores ARM 
ARM é o nome de uma empresa que projeta a arquitetura de microprocessadores, 
licenciando os produtos para vários fabricantes. O microcontrolador ARM é uma arquitetura 
RISC genuína de 32 bits. São diversas famílias de ARM. A série de núcleos ARM Cortex engloba 
uma ampla gama de opções de desempenho escaláveis oferecendo aos projetistas uma 
grande variedade de opções e a oportunidade de usar o núcleo de melhor ajuste para sua 
aplicação sem ser forçado a uma solução de tamanho único. O portfólio do ARM Cortex é 
dividido em três principais categorias: 
 
Cortex-A - Núcleos de processador de aplicações para sistemas de alto desempenho, como 
smartphones e tablets. 
Cortex-R - Núcleos de alto desempenho para aplicações em tempo real. 
Cortex-M - Núcleos microcontroladores para uma ampla gama de aplicações embutidas. 
 
O ARM um dispositivo sensível ao custo e de alto desempenho que tem sido usado em uma 
ampla gama de aplicações, como sistemas de controle de instrumentos industriais, redes, 
sensores sem fio e sistemas automotivos. 
 
Microcontroladores MSP 
MSP significa Mixed Signal Processor. É a família da Texas Instruments. Construído em torno 
de uma CPU de 16 bits, o MSP foi projetado para instruções incorporadas de baixo custo e 
baixíssima dissipação de energia, a característica principal do microcontrolador. Outras 
vantagens estão diretamente relacionadas ao barramento de dados de 16 bits e aos sete 
modos de endereçamento e ao conjunto de instruções reduzido, o que permite um código 
de programação mais curto e denso para desempenho rápido. 
 
Microcontrolador ESP32 
Criado pela Espressif Systems, o ESP32 é um sistema de baixo custo e baixo consumo de 
energia em um chip com recursos de Wi-Fi e Bluetooth de modo duplo. Em seu coração há 
um microprocessador Tensilica Xtensa LX6 de núcleo único ou dual com uma frequência de 
até 240 MHz. O ESP32 é altamente integrado com antena embutida, amplificador de 
potência, amplificador de recepção de baixo ruído, filtros e módulos de gerenciamento de 
energia. Projetado para dispositivos móveis, eletrônicos vestíveis e aplicativos de Internet da 
Coisas, o ESP32 atinge um consumo de energia ultrabaixo por meio de recursos de economia 
de energia, modos de energia múltiplos e dimensionamento dinâmico de energia. 
 
 
 
 
 
 
 
 
 
Referências 
 
OLIVEIRA, André Schneider de; ANDRADE, Fernando Souza de. Sistemas Embarcados - 
Hardware e Firmware na Prática. 1 Ed. São Paulo: Érica, 2010. 
 
ZANCO, Wagner da Silva. Microcontroladores PIC18 com Linguagem C - Uma Abordagem 
Prática e Objetiva. São Paulo: Érica, 2010. 
 
Monk, Simon. Programação com Arduino: Começando com Sketches. 1 Ed. Porto Alegre: 
Bookman, 2017. 
 
Peckol, J. K. Embedded Systems: A Contemporary Design Tool. 1 ed. Nova Jersey, EUA: 
Wiley, 2019.

Outros materiais