Introdução aos Microcontroladores
Microcontrolador
Um microcontrolador é um chip que contém praticamente um pequeno computador embutido, de baixo custo, incluindo:
- Núcleo de processamento
- Memórias RAM / ROM /Flash
- Periféricos de E/S
- Conversores de sinais
- Gerador de Clock, entre outros.
Os microcontroladores, ou MCU (microcontroller unit) são projetados para uso em aplicações embarcadas e outros sistemas específicos.
Aplicações dos microcontroladores
Os microcontroladores encontram um número enorme de aplicações na eletrônica moderna, como por exemplo:
- Sistemas embarcados
- Brinquedos
- Sistemas R/C (controle remoto)
- Máquinas industriais e comerciais
- Eletrodomésticos
Vantagens
Existem diversas vantagens no uso de microcontroladores para a construção de circuitos eletrônicos. Dente elas, podemos citar as seguintes:
- Custos baixos de projeto e construção
- Consumo de energia mínimo
- Facilidade de programação
- Sistema compacto (“all in one”)
- Praticidade para reposição
MCU x CPU
Vamos fazer uma pequena comparação entre Microcontroladores e Microprocessadores.
Um microcontrolador é diferente de um microprocessador de várias maneiras. O principal ponto é a funcionalidade. Um microprocessador necessita de diversos componentes externos, como memórias, barramentos e periféricos para poder operar. O MCU contém esses elementos todos embutidos.
Além disso, um microprocessador geralmente faz parte de um sistema programável genérico, como um computador, ao passo que o MCU realiza apenas a tarefa específica para o qual foi programado, dentro de unm circuito eletrônico.
Arquiteturas Harvard x Von Neumann
Há basicamente dois tipos de arquiteturas de computadores digitais: Harvard e von Neumann
A arquitetura Harvard tem esse nome pois tem suas raízes no computador Harvard Mark I. Sua característica principal é que ela possui memórias separadas para armazenamento de dados e instruções. Desta forma, é possível acessar a memória de programa e a memória de dados simultaneamente. Geralmente a memória de programa (instruções) e´somente=leitura e a memória de dados é leitura/escrita. Assim, é impossível que o conteúdo de um programa seja modificado pelo programa em si.
Já a arquitetura von Neumann batizada a partir do matemático e cientista da computação John von Neumann. As máquinas com arquitetura von Neumann possuem um único sistema de armazenamento compartilhado para armazenar dados e as instruções a serem executadas. Desta forma, os programas podem ser facilmente modificados por si próprios, pois ficam armazenados na memória que é leitura/escrita.
Arquiteturas Harvard e Von Neumann.
Imagem: http://santhosh84.blogspot.com.br/
Comparativo das arquiteturas Harvard e von Neumann
Arquitetura von Neumann | Arquitetura Harvard |
Usada em processadores convencionais encontrados em PCs e Servers, e em alguns sistemas embarcados. | Usada em microcontroladores e DSPs encontrados em sistemas embarcados e sistemas de comunicação móveis |
Dados e programas são armazenados na mesma memória. | Dados e programas são armazenados em memórias separadas. |
O código é executado de forma serial e demora mais ciclos de clock. | O código é executado de forma paralela. |
Os programas, geralmente, podem ser otimizados para diminuir de tamanho. | Os programas tendem a ser maiores com a complexidade. |
Periféricos típicos de um MCU
Um microcontrolador possui, tipicamente, os periféricos listados a seguir:
- Conversores ADC / DAC
- Timers
- Linhas PWM (Pulse Width Modulation)
- Interface USB
- Interfaces UART, I2C, SPI
- Ethernet, CAN (Controller Area Network)
Um CAN (Controller Area Network) é um barramento projetado para que microcontroladores e outros dispositivos, como sensores, se comuniquem entre si sem a necessidade de um computador host.
Exemplos de Microcontroladores
Vejamos alguns exemplos típicos de microcontroladores comuns encontrados no mercado e usados comumente em projetos eletrônicos:
- ARM Cortex-M
- Atmel AVR / AVR 32
- Intel 8051
- Microchip PIC
- NXP LCP 2000 / 3000
- Paralax Propeller
- Texas Instruments MSP430
Alguns microcontroladores comuns
Programação de um Microcontrolador
- Os microcontroladores não possuem, geralmente, um sistema operacional; os programas rodam diretamente no chip (bare metal).
- O software que roda no microcontrolador é chamado de Firmware.
- O software é programado em linguagens C ou Assembly na maior parte dos casos, embora seja possível usar outras linguagens em alguns MCUs.
- A programação é feita como o uso de ferramentas instaladas em um PC (IDE)
Placas para estudo de microcontroladores
Há no mercado diversos kits e placas para estudo e prototipagem de sistemas embarcados e programação de microcontroladores. Como exemplo, podemos citar:
- Plataforma Arduino
- Microchip PIC Starter Kit
- Texas Instruments MSP430 Launchpad
- Keil MCB900 (NXP)
Placas para estudo de microcontroladores.
Próximos passos
Após entender o que são microcontroladores e conhecer os tipos mais comuns, vamos aprender a utilizar kits de aprendizagem de Microcontroladores.
O que abordaremos na Bóson:
- Arduíno
- Texas Instruments (Launchpad)
- Microchip (PIC)
- Intel 8051
E mais alguns outros. Enquanto isso, assista a um vídeo de Introdução aos Microcontroladores: