Você está na página 1de 10

29/02/2024

Sistemas Microcontrolados
Aula 03

Prof. Anderson L. A. Vilaça

Sistemas Microcontrolados

• Assuntos desta Aula

• U1S1 – Introdução aos sistemas embarcados / Conceitos


iniciais de microprocessamento (revisão)

• U1S2 – Introdução aos sistemas embarcados / Arquitetura


AVR – ATmega328 (continuação)

• Estudaremos em seguida os aspectos do chip escolhido, o


ATmega328, bem como programá-lo em linguagem Assembly.

2
29/02/2024

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Ciclo de Von Neumann
 A execução de cada instrução numa máquina de
Von Neumann / Turing obedece a um ciclo
composto por 3 passos:
 Busca: a UC copia a instrução a ser executada da posição
de memória apontada pelo registrador PC para o
registrador IR (Instruction Register).

 Decodificação: a UC decodifica
a instrução armazenada em IR,
identificando o que deve ser
executado pela CPU.

 Execução: a UC comanda a ULA


para a execução da instrução
decodificada e incrementa o reg.
PC para a próxima instrução.

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Máquinas Harvard
 São um tipo particular de máquinas Von Neumann.

 Conservam todas as características de uma máquina Von


Neumann, porém, possuem vias separadas de acesso a
dados e endereços entre a CPU e a Memória.

 A existência de acessos separados a programa e dados na


memória permite que a CPU possa acessá-los
simultaneamente, adiantando o ciclo de execução da
instrução seguinte.

 Em contrapartida há um aumento na complexidade do


sistema e na quantidade de conexões CPU-Memória.

 Sua implementação pode ser feita através de uma


memória de porta dupla (dual port memory) ou através de
memórias distintas para programa e dados.

4
29/02/2024

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Implementação através de memória de porta
dupla:

  Permite arbitrar a parcela da memória dedi-


cada ao programa e a parcela dedicada aos
dados;

  Memórias dual port são mais complexas e


mais caras.
5

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Implementação através de memórias distintas para
programa e dados:

  Permite empregar memórias de tipos diferentes para


programa e dados. Ex.: Flash e RAM;

  O tamanho do programa e dos dados é limitado pela


dimensão de suas respectivas memórias (não é possível
arbitrar suas parcelas entre o montante total
disponível).
6
29/02/2024

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Caminho de dados de uma típica máquina de Von
Neumann

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Máquinas Não Von Neumann
 São todos sistemas computacionais que diferem das
características das máquinas Von Neumann. Ex.:
 Computadores Analógicos: operam sobre grandezas
físicas não necessariamente discretizadas;
 Máquinas Paralelas: múltiplos processadores
executando programas deforma cooperativa;
 Redes Neuronais Artificiais: saídas geradas a partir
do “aprendizado” da rede a estímulos externos. Não
há um programa sendo executado;
 Máquinas de Fluxo de Dados: não há execução de
um programa. Realizam operações conforme os
dados envolvidos são disponibilizados.

8
29/02/2024

U1S2 - Arquitetura AVR – ATmega328


Arquiteturas de Computadores
Vídeo 2 – Por dentro da CPU Scott (uma CPU conceitual)

Arquitetura AVR da ATmel

10
29/02/2024

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• A arquitetura AVR é muito diferente da arquitetura x86, usada em


computadores pessoais e servidores, e da arquitetura ARM, usada em
PDAs e smartphones.
• Esta arquitetura, usada principalmente em sistemas embarcados de
muito baixo nível.
• A história do AVR começa em 1996, no Norwegian Institute of Technology,
onde os estudantes Alf-Egil Bogen e Vegard Wollan projetaram uma CPU
RISC de 8 bits chamada AVR.
• Esse nome supostamente significa “(A)lf and (V)egard’s (R)ISC processor”
(processador RISC de Alf e Vegard).
• Logo depois que o projeto foi concluído, a Atmel o comprou e lançou a
Atmel Norway, onde os dois arquitetos continuaram a refinar o projeto do
processador AVR.
• A Atmel lançou seu primeiro microcontrolador AVR, o AT90S1200, em 1997.
• Para facilitar sua adoção pelos projetistas de sistemas, eles executaram a
pinagem para que fosse idêntica à do Intel 8051, que era um dos
microcontroladores mais populares da época.

11

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• Hoje, há muito interesse na arquitetura AVR porque ela está no centro da


plataforma muito popular de controle embarcado Arduino, de fonte aberta.

• A arquitetura AVR é realizada em três classes de microcontroladores,


listados abaixo.

12
29/02/2024

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• A classe mais baixa, a tinyAVR, foi


projetada para aplicações mais
restritas quanto a superfície,
potência e custo.
• Ela inclui uma CPU de 8 bits,
suporte digital básico para E/S e
suporte para entrada analógica
(por exemplo, na leitura de valores
de temperatura de um
termômetro).
• O tinyAVR é tão pequeno que
seus pinos trabalham com dupla
função, de modo que podem ser
reprogramados em tempo de
execução para qualquer uma das
funções digitais ou analógicas
admitidas pelo microcontrolador.

13

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• O megaAVR, que é encontrado no


popular sistema embutido de fonte
aberta Arduino, também acrescenta
suporte para E/S serial, clocks
internos e saídas analógicas
programáveis.
• O topo de linha é o
microcontrolador AVR XMEGA, que
também incorpora um acelerador
para operações criptográficas e
mais suporte interno para
interfaces USB.
• Junto com diversos periféricos adicionais, cada classe de processador AVR
inclui alguns recursos de memória adicionais.
• Os microcontroladores possuem em geral três tipos de memória na placa:
flash, EEPROM e RAM.

14
29/02/2024

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• A figura abaixo mostra a placa Arduino Uno, cujo hardware é aberto


(aberto).
• Isso permite que muitas empresas de eletrônicos adaptem seus produtos a
esta plataforma.

15

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR


• Por exemplo, a Intel desenvolveu placas
seguindo o Arduino Uno e usando alguns
de seus processadores.
• A Texas Instruments desenvolveu placas
seguindo Arduino Uno e usando alguns de
seus microcontroladores.
• O IDE de desenvolvimento do Microsoft
Visual Studio, permite que, por meio de
um pacote de instalação, o código para
Arduino possa ser editado.
• Assim, muitas empresas seguem o
protótipo da Arduino.
• Daí a importância de conhecer este
sistema e seu processador central, o
ATmega328P.
• O ATmega328P é um microcontrolador de arquitetura avançada RISC
AVR da Atmel, de alto desempenho, baixo consumo e otimizado para
compiladores C.
16
29/02/2024

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR Núcleo

• A lado é
mostrado o
diagrama
de blocos
do micro-
controlador
.

17

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR

• Entre as principais características, podemos encontrar:


• Microcontrolador de 8 bits, baseado em um processador AVR RISC (Reduced
Instruction Set Computing).
• Arquitetura Harvard (memórias de programa e dados independentes).
• 32kB de memória flash para armazenamento de programas.
• 2kB de memória RAM estática para armazenamento de dados.
• 1kB EEPROM para armazenamento não-volátil.
• 23 linhas de entrada/saída de propósito geral (GPIO).
• 32 registradores de propósito geral.
• 3 temporizadores/contadores.
• USART (Universal Synchronous/Asynchronous Receiver Transmitter).
• Porta serial I2C (Inter-Integrated Circuit), também chamada de TWI
• Porta serial SPI (Serial Peripheral Interface).
• 6 canais de 10 bits para conversão A/D.
• 131 Instruções poderosas, a maioria executada em um único ciclo de relógio.
• Até 20 MIPS (Milhões de instruções por segundo) a 20 MHz.
• Um multiplicador de hardware on-chip de 2 ciclos.
• 6 canais PWM.
• Interrupções.

18
29/02/2024

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR: Pinos do Microcontrolador ATmega328P.


• Na figura
podemos ver as
portas e os pinos
de tensão.
• No total, existem
23 entradas /
saídas
programáveis,
para uso geral
(GPIO).
• Estes pinos
também podem
ser programados
para funções
alternativas, como
comunicação
serial, ADC, I2C,
etc.

19

U1S2 - Arquitetura AVR – ATmega328

Introdução à arquitetura AVR Núcleo

• A lado é
mostrado o
diagrama
de blocos
do micro-
controlador
.

20

Você também pode gostar