AULA2 Introdução a Microcontrolador · Fabricantes de Microcontroladores: Atmega (AVR) •...

Preview:

Citation preview

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?

Recommended