Arquitetura de Computadores · Capítulo 8

Microcontroladores
Atmel ATmega 2560

Prof. Clayton J A SilvaArduino Mega 2560Rev 2026.2

Objetivos do capítulo

  • Compreender o conceito de microcontrolador como computador de um único chip.
  • Identificar os principais recursos do ATmega2560.
  • Relacionar CPU, registradores, memória, periféricos e conjunto de instruções.

Definição de microcontroladores

Microcontroladores são circuitos integrados que possuem internamente os componentes necessários ao seu funcionamento, exceto a fonte de alimentação.

De forma sintética, microcontroladores são computadores de um único chip.

Figura 1 — Microcontroladores: visão geral.

Figura 1 — Microcontroladores: visão geral.

Sobre o ATmega 2560

Características gerais

ArquiteturaRISC
Instruções135 instruções
DesempenhoAté 16 MIPS em 16 MHz
Flash256 kB
Registradores32 registradores de 8 bits
EEPROM4 kB
SRAM8 kB
ADC16 canais

Ao combinar uma CPU RISC de 8 bits com memória Flash autoprogramável em um único chip, o ATmega2560 fornece uma solução flexível e econômica para aplicações de controle embarcadas.

Pinagem

A figura apresenta a pinagem do ATmega 2560.

Figura 2 — Pinagem do ATmega 2560.

Figura 2 — Pinagem do ATmega 2560.

  1. Portas A, B, C, D, E, F, G, H, J, K e L, cada uma com 8 bits, bidirecionais.
  2. Pinos de alimentação, VDD e GND.
  3. Pino de RESET.

Diagrama em blocos

Figura 3 — Diagrama em blocos do ATmega 2560.

Figura 3 — Diagrama em blocos do ATmega 2560.

O ATmega2560 fornece, entre outros recursos, memória Flash de 256 KB, EEPROM de 4 KB, SRAM de 8 KB, 32 registradores de uso geral, quatro USARTs, ADC de 16 canais e 10 bits e interface SPI.

Núcleo da CPU

Visão geral

Figura 4 — Núcleo da CPU do ATmega 2560.

Figura 4 — Núcleo da CPU do ATmega 2560.

Para maximizar desempenho e paralelismo, o AVR usa uma arquitetura Harvard, com memórias e barramentos separados para programa e dados.

As instruções são executadas com pipelining de nível único: enquanto uma instrução é executada, a próxima é pré-buscada na memória de programa.

O conjunto de registradores de acesso rápido contém 32 registradores de uso geral de 8 bits. Seis deles podem formar três ponteiros de endereço indireto de 16 bits: X, Y e Z.

ULA

A Unidade Lógica Aritmética opera em conexão direta com os 32 registradores de uso geral. Em um único ciclo de clock, executa operações aritméticas e lógicas.

Registrador de Status

Figura 5 — Registrador de status do ATmega 2560.

Figura 5 — Registrador de status do ATmega 2560.

Registradores de uso geral

Figura 6 — Registradores de uso geral do ATmega 2560.

Figura 6 — Registradores de uso geral do ATmega 2560.

Os registradores R26 a R31 possuem funções adicionais como ponteiros de endereço de 16 bits para endereçamento indireto do espaço de dados: X, Y e Z.

Figura 7 — Registradores de endereço X, Y e Z do ATmega 2560.

Figura 7 — Registradores de endereço X, Y e Z do ATmega 2560.

Sistema de memória

A arquitetura AVR possui dois espaços principais: memória de dados e memória de programa. Além disso, possui memória EEPROM para armazenamento de dados.

Memória de programa Flash

O ATmega contém 256 KB de Flash reprogramável no sistema para armazenamento de programas. Como as instruções AVR têm 16 ou 32 bits, a Flash é organizada como 128K × 16 bits.

Figura 8 — Organização da memória Flash do ATmega 2560.

Figura 8 — Organização da memória Flash do ATmega 2560.

SRAM

Figura 9 — Organização da memória SRAM do ATmega 2560.

Figura 9 — Organização da memória SRAM do ATmega 2560.

Os modos de endereçamento da memória de dados incluem: direto, indireto com deslocamento, indireto, indireto com pré-decremento e indireto com pós-incremento.

  1. O endereçamento direto alcança todo o espaço de dados.
  2. O modo indireto com deslocamento alcança 63 posições a partir do endereço-base nos registradores Y ou Z.
  3. Os registradores R26 a R31 atuam como ponteiros de endereçamento indireto.
  4. Nos modos com pré-decremento e pós-incremento, X, Y e Z são automaticamente ajustados.

EEPROM

O ATmega contém 4 KB de EEPROM de dados, organizada separadamente do espaço de dados, permitindo leitura e escrita de bytes individuais.

Memória de I/O

Todos os periféricos e E/S do ATmega são colocados no espaço de E/S. Esses locais podem ser acessados pelas instruções LD, LDS, LDD, ST, STS e STD.

Set de instruções

O manual do conjunto de instruções apresenta a sintaxe, o formato binário, o opcode, os operandos e a semântica de cada instrução.

Figura 10 — Exemplo de consulta ao manual do set de instruções AVR.

Figura 10 — Exemplo de consulta ao manual do set de instruções AVR.

Assembly e Assembler

O manual do set de instruções apresenta a sintaxe, o formato binário, o opcode, os operandos e a semântica das instruções. O manual do assembler apresenta a sintaxe, as diretivas, as diretivas de pré-processamento e as expressões aceitas.

← anteriorCap. 7 — Sistemas Operacionais