microcontrolador (MCU)
Um microcontrolador é um circuito integrado compacto projetado para governar uma operação específica em um sistema embutido. Um microcontrolador típico inclui um processador, memória e periféricos de entrada/saída (E/S) em um único chip.
Por vezes referido como controlador embutido ou unidade de microcontrolador (MCU), microcontroladores são encontrados em veículos, robôs, máquinas de escritório, dispositivos médicos, transceptores de rádio móvel, máquinas de venda automática e eletrodomésticos, entre outros dispositivos. São essencialmente computadores pessoais (PCs) miniatura simples, concebidos para controlar pequenas características de um componente maior, sem um sistema operacional (OS) complexo front-end.
Como funcionam os microcontroladores?
Um microcontrolador é incorporado dentro de um sistema para controlar uma função singular em um dispositivo. Ele faz isso através da interpretação dos dados que recebe de seus periféricos de E/S usando seu processador central. A informação temporária que o microcontrolador recebe é armazenada na sua memória de dados, onde o processador acessa e utiliza instruções armazenadas na sua memória de programas para decifrar e aplicar os dados recebidos. Em seguida, ele utiliza seus periféricos de E/S para comunicar e executar a ação apropriada.
Microcontroladores são utilizados em uma ampla gama de sistemas e dispositivos. Os dispositivos frequentemente utilizam múltiplos microcontroladores que trabalham em conjunto dentro do dispositivo para lidar com suas respectivas tarefas.
Por exemplo, um carro pode ter muitos microcontroladores que controlam vários sistemas individuais dentro dele, como o sistema de travagem anti-bloqueio, controlo de tracção, injecção de combustível ou controlo de suspensão. Todos os microcontroladores comunicam uns com os outros para informar as acções correctas. Alguns podem comunicar com um computador central mais complexo dentro do carro e outros podem comunicar apenas com outros microcontroladores. Eles enviam e recebem dados usando seus periféricos I/O e processam esses dados para executar suas tarefas designadas.
Quais são os elementos de um microcontrolador?
Os elementos centrais de um microcontrolador são:
- O processador (CPU) — Um processador pode ser pensado como o cérebro do dispositivo. Ele processa e responde a várias instruções que direcionam o funcionamento do microcontrolador. Isto envolve realizar operações básicas de aritmética, lógica e E/S. Ele também executa operações de transferência de dados, que comunicam comandos a outros componentes no sistema embutido maior.
- Memória — Uma memória do microcontrolador é usada para armazenar os dados que o processador recebe e usa para responder às instruções que ele foi programado para executar. Um microcontrolador tem dois tipos principais de memória:
- Memória de programa, que armazena informações a longo prazo sobre as instruções que a CPU executa. Memória de programa é memória não volátil, o que significa que armazena informação ao longo do tempo sem precisar de uma fonte de alimentação.
- Memória de dados, que é necessária para o armazenamento temporário de dados enquanto as instruções estão sendo executadas. A memória de dados é volátil, o que significa que os dados que ela contém são temporários e só são mantidos se o dispositivo estiver conectado a uma fonte de alimentação.
- periféricos I/O — Os dispositivos de entrada e saída são a interface do processador para o mundo externo. As portas de entrada recebem informações e as enviam para o processador na forma de dados binários. O processador recebe esses dados e envia as instruções necessárias para os dispositivos de saída que executam tarefas externas ao microcontrolador.
Enquanto o processador, memória e periféricos de E/S são os elementos definidores do microprocessador, há outros elementos que são freqüentemente incluídos. O próprio termo periféricos de E/S refere-se simplesmente a componentes de suporte que fazem interface com a memória e o processador. Há muitos componentes de suporte que podem ser classificados como periféricos. Ter alguma manifestação de um periférico de E/S é elementar para um microprocessador, pois eles são o mecanismo pelo qual o processador é aplicado.
Outros elementos de suporte de um microcontrolador incluem:
- Conversor analógico para digital (ADC) — Um ADC é um circuito que converte sinais analógicos para sinais digitais. Ele permite que o processador no centro do microcontrolador faça interface com dispositivos analógicos externos, tais como sensores.
- Digital to Analog Converter (DAC) — Um DAC executa a função inversa de um ADC e permite que o processador no centro do microcontrolador comunique seus sinais de saída para componentes analógicos externos.
- Bus do sistema — O barramento do sistema é o fio conectivo que liga todos os componentes do microcontrolador juntos.
- Porta serial — A porta serial é um exemplo de uma porta de E/S que permite ao microcontrolador conectar-se a componentes externos. Ela tem uma função similar a uma porta USB ou paralela mas difere na forma como troca bits.
Microcontroller features
Um processador do microcontrolador varia de acordo com a aplicação. As opções variam desde os simples processadores de 4 bits, 8 bits ou 16 bits até os mais complexos processadores de 32 ou 64 bits. Os microcontroladores podem usar tipos de memória volátil como memória de acesso aleatório (RAM) e tipos de memória não volátil — isto inclui memória flash, memória de leitura programável apagável (EPROM) e memória de leitura programável apagável eletricamente (EEPROM).
Geralmente, os microcontroladores são projetados para serem prontamente utilizáveis sem componentes computacionais adicionais porque foram projetados com memória onboard suficiente, bem como oferecem pinos para operações gerais de E/S, de modo que possam interagir diretamente com sensores e outros componentes.
A arquitetura do microcontrolador pode ser baseada na arquitetura de Harvard ou na arquitetura von Neumann, ambas oferecendo diferentes métodos de troca de dados entre o processador e a memória. Com uma arquitetura de Harvard, o barramento de dados e as instruções são separados, permitindo transferências simultâneas. Com uma arquitetura Von Neumann, um barramento é usado tanto para dados quanto para instruções.
Processadores de microcontroladores podem ser baseados em computação de conjuntos de instruções complexos (CISC) ou computação de conjuntos de instruções reduzidos (RISC). O CISC geralmente tem cerca de 80 instruções enquanto o RISC tem cerca de 30, bem como mais modos de endereçamento, 12-24 em comparação com os 3-5 do RISC. Embora o CISC possa ser mais fácil de implementar e tenha uma utilização mais eficiente da memória, pode ter uma degradação do desempenho devido ao maior número de ciclos de relógio necessários para executar as instruções. O RISC, que dá mais ênfase ao software, proporciona muitas vezes melhor desempenho do que os processadores CISC, que dão mais ênfase ao hardware, devido ao seu conjunto simplificado de instruções e, portanto, maior simplicidade de design, mas devido à ênfase que dá ao software, o software pode ser mais complexo. Qual ISC é utilizado varia dependendo da aplicação.
Quando eles ficaram disponíveis pela primeira vez, os microcontroladores utilizavam apenas a linguagem assembly. Hoje em dia, a linguagem de programação C é uma opção popular. Outras linguagens comuns de microprocessadores incluem Python e JavaScript.
MCUs com pinos de entrada e saída para implementar funções periféricas. Tais funções incluem conversores analógico-digitais, controladores de cristal líquido (LCD), relógio em tempo real (RTC), transmissor receptor universal síncrono/assíncrono (USART), temporizadores, transmissor receptor universal assíncrono (UART) e conectividade de barramento serial universal (USB). Os sensores que recolhem dados relativos à humidade e temperatura, entre outros, também são frequentemente ligados a microcontroladores.
Tipos de microcontroladores
MCUs comuns incluem o Intel MCS-51, frequentemente referido como um microcontrolador 8051, que foi desenvolvido pela primeira vez em 1985; o microcontrolador AVR desenvolvido pela Atmel em 1996; o controlador de interface programável (PIC) da Tecnologia Microchip; e vários microcontroladores RISC licenciados Advanced RISC Machines (ARM).
Um número de empresas fabrica e vende microcontroladores, incluindo NXP Semiconductors, Renesas Electronics, Silicon Labs e Texas Instruments.
Aplicações de microcontroladores
Microcontroladores são usados em múltiplas indústrias e aplicações, incluindo na casa e na empresa, automação predial, fabricação, robótica, automotiva, iluminação, energia inteligente, automação industrial, comunicações e implantação da Internet das coisas (IoT).
Uma aplicação muito específica de um microcontrolador é o seu uso como processador de sinal digital. Frequentemente, os sinais analógicos recebidos vêm com um certo nível de ruído. Ruído neste contexto significa valores ambíguos que não podem ser prontamente traduzidos em valores digitais padrão. Um microcontrolador pode usar seu ADC e DAC para converter o sinal analógico ruidoso de entrada em um sinal digital mesmo de saída.
Os microcontroladores mais simples facilitam a operação de sistemas eletromecânicos encontrados em itens de conveniência diária, tais como fornos, refrigeradores, torradeiras, dispositivos móveis, chaveiros, sistemas de videogame, televisores e sistemas de rega de relva. Também são comuns em máquinas de escritório como fotocopiadoras, scanners, máquinas de fax e impressoras, bem como medidores inteligentes, caixas eletrônicos e sistemas de segurança.
Mais sofisticados microcontroladores executam funções críticas em aeronaves, naves espaciais, navios oceânicos, veículos, sistemas médicos e de suporte à vida, bem como em robôs. Em cenários médicos, os microcontroladores podem regular as operações de um coração artificial, rim ou outros órgãos. Eles também podem ser instrumentais no funcionamento de dispositivos protéticos.
Microcontroladores vs. microprocessadores
A distinção entre microcontroladores e microprocessadores ficou menos clara, pois a densidade e complexidade do chip tornou-se relativamente barata de fabricar e os microcontroladores integraram assim tipos de funcionalidade mais “gerais de computador”. No geral, porém, os microcontroladores podem ser considerados como funcionando de forma útil por conta própria, com conexão direta a sensores e atuadores, onde os microprocessadores são projetados para maximizar a potência computacional no chip, com conexões de barramento interno (ao invés de E/S diretas) ao hardware de suporte, como RAM e portas seriais. Simplificando, cafeteiras usam microcontroladores; computadores desktop usam microprocessadores.
Microcontroladores são menos caros e usam menos energia que os microprocessadores. Os microprocessadores não têm memória RAM, memória somente leitura (ROM) ou outros periféricos embutidos no chip, mas sim anexados a estes com seus pinos. Um microprocessador pode ser considerado o coração de um sistema de computador, enquanto um microcontrolador pode ser considerado o coração de um sistema embutido.
Selecionar o microcontrolador certo
Existem várias considerações tecnológicas e comerciais a ter em mente ao escolher um microcontrolador para um projeto.
Além do custo, é importante considerar a velocidade máxima, quantidade de RAM ou ROM, número ou tipos de pinos de E/S em uma MCU, bem como o consumo de energia e restrições e suporte ao desenvolvimento. Certifique-se de fazer perguntas tais como: