AULA2 –
Introdução a Microcontrolador
Disciplina: Aplicações Avançadas de
Microprocessadores (AAM)
Tópicos:
• Microcontroladores - Evolução
• Principais características dos Microcontroladores
• Fabricantes de Microcontroladores
• HC08/HCS08 • Perguntas
MICROCONTROLADORES - Evolução
Na década de 70 surgiram os primeiros microcomputadores encapsulados num chip, que mais tarde seria chamado de microcontroladores.
Empresas como a Freescale (HCS08), ATMEL(AVR), Intel(8051), Microchip (PICs), National (COP8), Zilog (Z8), entre outros, têm uma forte concorrência na inovação e na produção em dispositivos microcontrolados.
A competição ocorre em questões como a capacidade de migração bit, velocidade, variedade de periféricos de baixo consumo, entre outros.
MICROCONTROLADORES - Evolução
Capacidade em bits
Os microcontroladores cresceram ao lado
dos microprocessadores e, assim, têm
sido desenvolvidos em 8, 16 e até 32 bits.
MICROCONTROLADORES - Evolução
Tecnologia de programação
Inicialmente, o programa era gravado em ROM
pelo fabricante. Havia a desvantagem no grande
volume de produção para justificar a sua
produção a partir do ponto de vista econômico.
Depois tem as versões em OTP (One Time
Programmable) de muito baixo custo, e a
programação é feita pelo usuário, mas também
só pode ser feito uma vez.
MICROCONTROLADORES - Evolução
Tecnologia de programação
Surgiu depois uma programação alternativa em EPROM. A grande desvantagem é o apagamento dos dados nas lâmpadas de luz UV;
A tecnologia acima é reforçada pela EEPROM, que permite a gravação e apagamento dados eletricamente, mas à custa da velocidade de processamento.
Finalmente, temos a tecnologia Flash com baixo custo, velocidade e facilidade de manuseio na programação. A vantagem de ser possível reprogramar milhares de vezes (até mais do que a EEPROM).
MICROCONTROLADORES - Evolução
Velocidade
Ao contrário de microprocessadores, o
objetivo fundamental de um
microcontrolador não é executar as
operações em velocidades de centenas
de MHz. O interessante é a de executar
as operações na velocidade máxima com
o mais baixo consumo de energia a um
custo razoável.
MICROCONTROLADORES - Evolução
Memória
Como o código é o fator determinante no desenvolvimento do microcontrolador, a quantidade de memória disponível se torna um fator importante na escolha da máquina.
Normalmente os sistemas suportados por um microcontrolador não exigem grandes quantidades de memória para código e dados (FLASH-RAM). Para código até 1MB e para dados até 128KB.
MICROCONTROLADORES - Evolução
Periféricos
Os microcontroladores normalmente são
classificados em famílias, dependendo da
aplicação a que se destinam. A partir da
aplicação que a família de
microcontroladores se destina, um
conjunto de periféricos específicos é
escolhido e integrado a um determinado
microprocessador.
MICROCONTROLADORES - Evolução
Periféricos
Temporizadores (PWM, OUTPUT COMPARE, INPUT CAPTURE)
Conversor Analógico/Digital
Entradas/saídas de propósito geral
Relógio de Tempo Real
Sistema de proteção de fluxo de programa (WDT, COP)
Porta de Comunicação Assíncrona (UART, CAN)
Porta de Comunicação Síncrona (IIC, SPI)
Universal Serial Bus (USB)
MICROCONTROLADORES - Evolução
Periféricos especiais
Controladores Ethernet;
Geração criptográfica;
Geração de números aleatórios ou geração e
verificação de código de redundância cíclica O CRC é calculado e anexado à informação a transmitir (ou armazenar) e verificada após a
recepção ou acesso, para confirmar se não ocorreram alterações;
Tratamento de aritmética (ponto flutuante);
Controle de acesso direto à memória (DMA) -
MICROCONTROLADORES - Evolução
Linguagem de programação
As línguas mais populares para programação de microcontroladores são:
• Assembly: É a linguagem nativa que tem uma
abordagem direta ao seu núcleo. É muito
importante conhecer mesmo com o melhor
compilador em outras linguagens, pois
possibilita desenvolver códigos com melhor
eficiência, ou seja, mais rápido, melhor
utilização dos recursos e menor consumo de
memória.
MICROCONTROLADORES - Evolução
Linguagem de programação
C / C + +: Por excelência, é a linguagem
da engenharia por causa de sua estrutura,
portabilidade e reutilização de recursos de
processamento. Os compiladores dessa
linguagem estão cada vez mais
otimizadas.
MICROCONTROLADORES - Evolução
Linguagem de programação
Felizmente, muitos aplicativos permitem a
mistura de da linguagem assembly e
outras linguagens de alto nível, dando ao
usuário a possibilidade de código
otimizado.
MICROCONTROLADORES - Evolução
• Montador Assembler. Este é o programa que
transforma o código escrito na linguagem
Assembly em linguagem de máquina,
substituindo as instruções, variáveis pelos
códigos binários e endereços de memória
correspondentes.
• Os compiladores de várias linguagens de alto
nível fazem a compilação dos programas em
duas etapas, na primeira transformando o código
fonte em código Assembly e em seguida
gerando o binário com a ajuda de um
Assembler.
MICROCONTROLADORES - Evolução
O FUTURO A evolução dos microcontroladores é ligada à evolução dos microprocessadores: velocidade de execução, baixo consumo de energia, um elevado grau de miniaturização, aumento da capacidade de manipulação de dados e a capacidade de dispositivos de memória e periféricos. O futuro prevê uma migração acelerada de máquinas de 8 e 16 bits para 32-bits e superior.
O fator preponderante é o fenômeno de mercado, o que provoca a queda de preço da capacidade em bits.
Principais características dos
Microcontroladores:
Memória e periféricos integrados no chip
Bus de endereços estreito só permitindo o gerenciamento de pequena quantidade de memória
Tratamento de poucos formatos de dados (tipicamente 8 ou 16 bits)
Ausência de co-processador e com unidade aritmética e lógica limitada
Limitados modos de endereçamento (tratamento ineficiente de funções de linguagens de alto nível)
Baixo custo
Baixo consumo
Pequena área de silício
Fabricantes de
Microcontroladores:
•Microchip
•Atmel
•Freescale
Fabricantes de Microcontroladores:
MICROCHIP
Aplicações:
Tem se destacado no mercado de microcontroladores, pois oferece uma gama muito grande destes.
Existem microcontroladores para pequenos, médios e grandes projetos com aproveitamento tanto pela indústria quanto pelo hobbista e estudante. Isso atraiu a atenção de desenvolvedores que criaram muitos dispositivos como gravadores e emuladores para o microcontrolador.
Fabricantes de Microcontroladores:Microchip
• Arquitetura Harvard
• RISC
• Possui 35 instruções
• Barramento de dados separados
para memória de dados e memória
de programa.
Fabricantes de Microcontroladores:Microchip
Compilador “C”
Vantagens:
portabilidade: maior velocidade no
desenvolvimento;
maior aproveitamento de rotinas e
subrotinas específicas (bibliotecas
próprias) gerando maior agilidade no
desenvolvimento do trabalho
(homem/hora);
Fabricantes de Microcontroladores:Microchip
Compilador “C”
Desvantagens: A maioria dos compiladores para linha
Microchip devem ser registrados, ou seja,
não são distribuídos gratuitamente;
O tamanho do código HEX final gerado é
sempre maior que o gerado pelo compilador
“Assembler” (em média 10% a 30%);
Velocidade de execução do programa gerado
pelo compilador “C” é inferior do que do
“Assembly”.
Fabricantes de Microcontroladores: Atmega
(AVR)
• Microcontrolador RISC
• Arquitetura Harvard
• Licença Atmel (http://www.atmel.com)
• Projetado para atender aplicações específicas
• Operação com consumo bastante reduzido de energia
• 118 instruções
• Uma instrução por ciclo para maioria das instruções (pipeline)
• Operações registrador-registrador
• Projetado para implementar soluções “single chip”
Fabricantes de Microcontroladores: Atmega
(AVR)
• Core RISC com ~100 instruções
• Velocidades de clock modestas (4-16 MHz)
• Barramento de 8 bits
• 32 registradores de uso geral de 8 bits
• Flash programável in-circuit
• Pequena quantidade de EEPROM e SRAM
• Diversos periféricos embarcados (UART, SPI, ADC,
PWM, WDT)
Fabricantes de
Microcontroladores:Freescale
Aplicações:
A Freescale Semicondutores é líder global em
design e manufatura de semicondutores para os
mercados automotivo (sistema de luz, sistema
eletrônico, sistema de controle de combustível,
sistema de suspensão, F1- Ferrari, etc.), de bens de
consumo, industrial, de rede e de comunicação sem
fio.
Empresas no Brasil como Magnetti Marelli, Visteon,
Whirlpool, Motorola, Electrolux, Continental, Kostal, Delphi
dentre outros, são clientes da Freescale Semicondutores.
MICROCONTROLADORES -
Arquitetura:
Alguns exemplos de microcontroladores
que utilizam microprocessadores com
arquitetura RISC:
O PIC (Microchip) e o MSP430 (Texas
Instruments), AVR(Atmel).
arquitetura CISC:
MC68HC08 e HCS08 (Freescale) e o
8051 (Intel).
Arquitetura do HC08/HCS08
As CPUs HCS08 são aprimoramentos das da
familia HC08, portanto como o 68000, os
microcontroladores HCS08 se baseiam na
arquitetura Von Neumann (programa
armazenado em memória junto com os
dados), com um conjunto de instruções CISC
(instruções complexas e especializadas).
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO HC08:
• Frequência de Barramento: até 8MHz;
• 64kBytes de endereços de memória para
programa (até 4096 bytes) , dados (128
bytes) e periféricos;
• Modo de baixo consumo Stop e Wait;
• Registrador de 16 bits para SP e HX;
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO HC08:
• 16 modos de endereçamento;
Instrução rápida Multiplicação (8 bits) e
Divisão (16 por 8 bits);
• 4 canais A/D de 8 bits;
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO
HCS08:
• Frequência de Barramento: até 20MHz;
• São até 2,5 vezes mais rápidos que os HC08;
• 64kBytes de endereços de memória para
programa (até 8112 bytes) , dados (512
bytes) e periféricos;
• Modo de baixo consumo: Além do Wait, tem-
se Stop1(até 20nA), Stop2 e Stop3;
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO HCS08:
• Além dos 16 modos de endereçamento
(novos modos de endereçamento para:
CPHX, LDHX, STHX) => privilegia o uso de
compilador C;
• 8 canais A/D de 8 e 10 bits;
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO HCS08:
• Interrupção de tempo real (RTI);
• Contador/Temporizador de 8 e 16 bits;
• Comunicação Serial Assincrona: SCI
• Comunicação Serial Síncrono
(mestre/escravo): SPI => memória e
conversores A/D;
• Comunicação Serial IIC (mestre/escravo) =>
Memórias, relógios de tempo real, etc;
HC08/HCS08 (Diagrama de Blocos)
HC08 HCS08
HC08/HCS08
HC08/HCS08
Característica HC08 HCS08
pinagem 8/16 pinos 8/16/28 DIP
Até 64 LQFP
Tensão de operação 3 ou 5V 1,8 à 3,6V
A/D 4 canais 8bits 8 canais 10 bits
Interrupção de Tempo Real
----------- 1 módulo (relógio)
Baixo consumo 2 Modos 5 Modos
Frequência 8MHz (5V)
4MHz (3V)
Até 40MHz
Corrente de saída 15 a 25mA 2 a 10mA
HC08/HCS08
PRINCIPAIS CARACTERÍSTICAS DO HCS08:
Perguntas: 1) Quais são os recursos de microcontroladores discutidos neste texto?
2) Por que é importante o conceito de microcontrolador de baixo consumo?
3) Qual é a razão para a baixa quantidade de memória implementada em um
microcontrolador?
4) Cite três periféricos de microcontroladores.
5) Por que a linguagem C é muito utilizada em programação de microcontroladores?
6) Cite uma razão para migrar para máquinas de maior número de bits.
7) Cite algumas diferenças do microcontrolador HC08 e HCS08?
8) Em que memórias são alocadas os dados e as instruções?
Top Related