Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

28/11/2023, 08:30 MCO018703 2023 2 AULA01 - MediaWiki do Campus São José
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA01 1/5
MCO018703 2023 2 AULA01
Introdução aos Microcontroladores
Arquiteturas: Von-Neumann x Harvard
Microcontroladores AVR
Exercícios
Referências
Introdução aos Microcontroladores
APRESENTAÇÃO
Nesta unidade curricular vamos a projetar e implementar circuitos eletrônicos digitais com
microcontroladores. Para isso precisamos identificar as diferentes arquiteturas de
microcontroladores, bem como conhecer as técnicas de programação de microcontroladores.
Ainda, vamos apresentar a simbologia e linguagem técnica, bem como programar e gravar
microcontroladores. Entre outros assuntos, abordaremos os conteúdos: de Memória, arquitetura
interna do Arduino e linguagem C para microcontroladores.
OBJETIVOS
Nesta aula o aluno deverá:
Identificar as diferentes arquiteturas utilizadas em microcontroladores;
Saber as principais características dos microcontroladores AVR; e
Conhecer o Microcontrolador ATmega328P é utilizado nas placas ARDUINO UNO.
METODOLOGIA
A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão
mostrados exemplos executados programas para programação de microcontroladores.
INTRODUÇÃO
Os avanços tecnológicos demandam cada vez mais dispositivos eletrônicos. Os Microcontroladores
têm alcançado grande desenvolvimento nas últimas décadas e a sua facilidade de uso, com ampla
faixa de aplicações, permite um projeto relativamente rápido e fácil de novos equipamentos
eletrônicos. O Microcontrolador é o agrupamento de vários componentes em um sistema
microprocessado. Basicamente o Microcontrolador é um microprocessador com memória RAM e de
programa, temporizadores e circuitos de clock embutidos. O único componente externo é o cristal
para determinar a frequência de trabalho. Os Microcontroladores têm agregado inúmeras
funcionalidades como: gerador interno de clock; memória SRAM, EEPROM e FLASH; conversores
Índice
28/11/2023, 08:30 MCO018703 2023 2 AULA01 - MediaWiki do Campus São José
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA01 2/5
A/D, D/A; vários temporizadores/contadores; comparadores analógicos; PWM; diferentes tipos de
interface de comunicação, incluindo USB, UART, I2C, CAN, SPI, JTAG; relógios de tempo real;
circuitos para gerenciamento de energia no chip; circuitos para controle de reset, alguns tipos de
sensores; interface para LCD; e outras funcionalidades de acordo com os fabricantes.
Existem duas arquiteturas clássicas para os microprocessadores em geral: a arquitetura Von-
Neumann, onde existe apenas um barramento interno por onde circulam instruções e dados e a
arquitetura Harvard, que é caracterizada por dois barramentos internos, sendo um de instruções e
outro de dados. Pode-se dizer que a primeira é uma arquitetura serial e a segunda paralela; da mesma
forma, pode-se dizer que a arquitetura Von-Neumann permite produzir um conjunto complexo de
código de instruções para o processador (CISC – Complex Instructions Set Computer), com um
tempo de execução por instrução de vários ciclos de clock. Já a arquitetura Havard produz um
conjunto simples de códigos de instruções e, dado ao paralelismo de sua estrutura, é capaz de
executar apenas uma instrução por ciclo de clock. A arquitetura Von-Neumann é mais simples, com
menor número de portas lógicas, entretanto, sua velocidade é menor que a Havard. A arquitetura
Havard necessidade de mais linhas de código para executar a mesma tarefa. Enquanto uma
arquitetura Von-Neumann possui muito mais tipos de instruções.
Figura 1 - Arquiteturas clássicas de processadores: Von-Neumann x Harvard.
Atualmente nas modernas arquiteturas de microcontroladores está havendo o domínio da Harvard,
que evoluiu para uma arquitetura que pode ser chamada de Harvard estendida ou avançada. Sendo
composta por um grande número de instruções e ainda com a redução da quantidade necessária de
portas lógicas, produzindo um núcleo de processamento compacto, veloz e com programação
eficiente com menor número de linhas de código. Devido às questões de desempenho,
Arquiteturas: Von-Neumann x Harvard
https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig050_MCO018703.png
https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig050_MCO018703.png
28/11/2023, 08:30 MCO018703 2023 2 AULA01 - MediaWiki do Campus São José
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA01 3/5
compatibilidade eletromagnética e economia de energia, hoje é praticamente inaceitável que um
microcontrolador não execute a maioria das instruções em poucos ciclos de clock diminuindo o
consumo e a dissipação de energia.
Os microcontroladores AVR foram desenvolvidos na Noruega em 1995 e são produzidos pela ATMEL,
apresentam ótima eficiência de processamento e núcleo compacto com poucos milhares de portas
lógicas. Com uma estrutura RISC avançada, apresentam mais de uma centena de instruções e uma
arquitetura voltada à programação C, que permite produzir códigos compactos. Também, dado sua
arquitetura, o desempenho do seu núcleo de 8 bits é equivalente ao desenvolvido por
microcontroladores de 16bits.
As principais características dos microcontroladores AVR são:
Executam instruções em um simples ciclo de clock e operam com tensões entre 1,8 e 5,5 V, com
velocidades de até 20 MHz. Sendo disponíveis em diversos encapsulamentos (de 8 até 64
pinos).
Alta integração e grande número de periféricos com efetiva compatibilidade entre toda a família
AVR.
Possuem vários modos para redução do consumo de energia e características adicionais
(picoPower) para sistemas críticos.
Possuem 32 registradores de propósito geral, memória de acesso load-store e a maioria das
instruções é de 16bits.
Memória de programação FLASH programável in-system, SRAM e EEPROM, para
desenvolvimentos rápidos e flexibilidade de projeto.
Facilmente programados e com debug in-system via interface simples, ou com interfaces JTAG
compatível com 6 ou 10 pinos.
Possuem um conjunto completo e gratuito de softwares.
Preço acessível.
Existem microcontroladores AVR específicos para diversas áreas, tais como: automotiva, controle de
LCDs, redes de trabalho CAN, USB, controle de motores, controle de lâmpadas, monitoração de
bateria, Bluetooth, 802.15.4/ZigBeeTM e controle por acesso remoto.
Dentre os principais componentes da família AVR podemos citar:
tinyAVR® - ATtiny: microcontroladores de propósito geral de até 8 kB (kilobytes) de memória
Flash, 512 bytes de SRAM e EEPROM.
megaAVR® - ATmega: microcontroladores de alto desempenho com multiplicador por hardware,
com até 256 kbytes de memória Flash, 4 kbytes de EEPROM e 8 kbytes de SRAM.
picoPowerTM AVR: microcontroladores com características especiais para economia de energia.
XMEGATM ATxmega: Os novos μcontroladores XMEGA 8/16-bit dispõem de novos e avançados
periféricos com aumento de desempenho, DMA (Direct Memory Access) e sistema de eventos .
AVR32 (não pertence às famílias acima): microcontroladores de 32 bits com arquitetura RISC
projetada para maior processamento por ciclos de clock, com eficiência de 1,3 mW/MHz e até
210 DMIPS (Dhrystone Million Instructions per Second) a 150 MHz, conjunto de instruções para
DSP (Digital Signal Processing) com SIMD (Single Instruction, Multiple Data) com soluções SoC
(System-on-a-chip) e completo suporte ao Linux.
Microcontroladores AVR
28/11/2023, 08:30 MCO018703 2023 2 AULA01 - MediaWiki do Campus São José
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA01 4/5
Nessa Unidade Curricular será abordado o ATmega328p por ser um microcontrolador que apresenta
a maioria das características da família AVR e ser compacto (28 pinos PDIP), apresentando uma
memória Flash de tamanho razoável. O importante é saber que ao programar este microcontrolador,
os conceitos de programação de qualquer outro da família AVR são aprendidos dada a similaridade
entre as famílias. As pequenas mudanças de hardware e software são resolvidas com uma busca ao
referido Datasheet.Figura 2 - Microcontrolador ATmega328P utilizado nas placas ARDUINO UNO.
Microcontrolador ATmega328P é utilizado nas placas ARDUINO UNO e oferece performance que
permite executar desde um simples programa que faz piscar um LED até um controle de um robo ou
ainda um programa de controle de acesso controlado por rede.
Exercícios
1. Por que e pra que utilizar microcontroladores?
2. Qual o componente externo utilizado para gerar o sinal de clock?
3. Cite pelo menos 5 funcionalidades para o uso de microcontroladores.
4. Qual a diferença física na arquitetura microprocessadores entre Von-Neumann x Harvard?
5. O que acontece com a execução das instruções numa e em outra arquitetura?
6. Quando surgiu os microcontroladores AVR?
7. Destaque as principais características dos microcontroladores AVR.
8. Cite alguns tipos de microcontroladores AVR e suas principais características.
9. Pesquisa na Internet, quais as principais característica do microcontrolador ATmega328P
quanto:
a) Memória Flash (kB)
b) EEPROM (kB)
c) SRAM (Bytes)
d) Pinos de I/O (máximo)
e) Frequência máxima (MHz)
f) Faixa de VCC (V)
g) Conversores A/D (canais)
h) Interrupções Externas (quantidade)
https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig051_MCO018703.png
https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig051_MCO018703.png
28/11/2023, 08:30 MCO018703 2023 2 AULA01 - MediaWiki do Campus São José
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA01 5/5
i) Pinos de PWM (quantidade)
Referências
[1] https://wiki.ifsc.edu.br/mediawiki/images/d/dd/Microcapostila.pdf
[2] Apostila ATMega8 (https://docs.google.com/file/d/0B8SFfGs1GCNMMmZlMmM5MTktNjhlNS0
0Y2I4LWI3ZjktMDk4ZDI3YjlmNTM3/edit?hl=pt_BR)
 
Disponível em “https://wiki.sj.ifsc.edu.br/index.php?title=MCO018703_2023_2_AULA01&oldid=189695”
Esta página foi modificada pela última vez em 31 de julho de 2023, às 10h16min.
https://wiki.ifsc.edu.br/mediawiki/images/d/dd/Microcapostila.pdf
https://docs.google.com/file/d/0B8SFfGs1GCNMMmZlMmM5MTktNjhlNS00Y2I4LWI3ZjktMDk4ZDI3YjlmNTM3/edit?hl=pt_BR
https://docs.google.com/file/d/0B8SFfGs1GCNMMmZlMmM5MTktNjhlNS00Y2I4LWI3ZjktMDk4ZDI3YjlmNTM3/edit?hl=pt_BR
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2#Aulas
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2#Aulas
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA02
https://wiki.sj.ifsc.edu.br/index.php/MCO018703_2023_2_AULA02
https://wiki.sj.ifsc.edu.br/index.php?title=MCO018703_2023_2_AULA01&oldid=189695

Mais conteúdos dessa disciplina