0% acharam este documento útil (0 voto)
6 visualizações33 páginas

EE02

O documento aborda a arquitetura dos microcontroladores, incluindo suas memórias, periféricos e interrupções, além de discutir fabricantes e linguagens de programação utilizadas. Ele destaca a evolução dos microcontroladores desde os anos 70 e a importância de suas estruturas para a execução de tarefas. A literatura recomendada e os encapsulamentos também são mencionados como parte do conteúdo do curso de Eletrônica Embarcada.

Enviado por

Syntia Silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações33 páginas

EE02

O documento aborda a arquitetura dos microcontroladores, incluindo suas memórias, periféricos e interrupções, além de discutir fabricantes e linguagens de programação utilizadas. Ele destaca a evolução dos microcontroladores desde os anos 70 e a importância de suas estruturas para a execução de tarefas. A literatura recomendada e os encapsulamentos também são mencionados como parte do conteúdo do curso de Eletrônica Embarcada.

Enviado por

Syntia Silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Eletrônica Embarcada

Atividade 02

Prof. Guillermo Alvarez Bestard, Dr.


guillermo@[Link]
Tópicos
• Arquitetura dos microcontroladores.
• Memória de programa e dados.
• Principais periféricos e funções.
• Principais interrupções e seu utilidade.
• Encapsulamentos.
• Fabricantes e famílias de microcontroladores.
• Linguagens de programação.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Literatura recomendada

• DAVIES, J. MSP430 Microcontroller Basics, Elsevier, 2008.


• GIMENEZ, Salvador Pinillos Microcontroladores 8051: teoria e prática.
1. ed. -- São Paulo: Érica, 2010 [Minha Biblioteca]
[Link]
• PEREIRA, Fábio. Microcontroladores PIC - Técnicas Avançadas. [Minha
Biblioteca] [Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores
• Um microcontrolador é um chip que contém como mínimo em uma
unidade de processamento (CPU), um gerador ou condicionador das
sinais de relógio, uma o várias memorias, um barramento de dados,
um barramento de direções e um controlador de entradas e saídas. A
estrutura básica é exibida a seguir:

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores
• Mas outros periféricos também podem encontrar-se comumente no
interior do chip, por exemplo temporizadores, conversor analógico
para digital, comparadores analógicos, para controle de motores,
circuitos para diversos tipos de comunicações seriais, etc.
• Os microcontroladores apareceram pela primeira vez nos anos 70 e
foram ganhando aplicações rapidamente.

[Link]
[Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores
•O gerador ou circuito
condicionador de relógio é uma
parte essencial do
microcontrolador porque
proporciona a temporização de
todo o sistema.
• Microcontroladores mais antigos
precisavam de um cristal externo
para obter o sinal de relógio.
Muitos dispositivos modernos já
tem dentro o oscilador completo e
fornecem varias alternativas de
frequências de relógio.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Arquitetura dos microcontroladores
• A CPU possui uma unidade
aritmética-lógica que permite o
trabalho com os dados contidos
na memória e a decodificação e
execução das instruções.
• Tem também um conjunto de
registros essenciais para seu
funcionamento.
• Outras de suas funções serão
analisadas durante o curso.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Arquitetura dos microcontroladores
• A memoria de programa armazena
a sequência de instruções que
permite ao microcontrolador
executar as tarefas.
• Ela deve reter essa informação
ainda com ausência de energia
elétrica.
• No tempo elas evoluíram desde
memórias que podiam ser escritas
apenas uma vez (Read Only
Memory – ROM) até memorias
que podem ser apagadas e escritas
novamente milhes de vezes
(EEPROM e Flash).
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Arquitetura dos microcontroladores
• A memoria de dados, também
chamada de Ramdom Access memory
(RAM) é geralmente volátil, o seja é
apagada quando faltar a energia.
• É usada para armazenar dados
durante a execução do programa.
Também pode incluir os registros de
configuração dos periféricos internos
do microcontrolador.
• Outros tipos de memórias como a
EEPROM e Flash também são usadas
para armazenar dados. Elas têm
tempos de escritura maiores mas não
são apagadas quando faltar a energia.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Arquitetura dos microcontroladores
• Os barramentos de dados e
direções permitem a ligação entre
os diferentes componentes dentro
do microcontrolador.
• Em sistemas mais antigos esses
barramentos tinham ligação para
fora do chip, caso você precisara de
ampliar as memórias. Na
atualidade isso já não e mais
necessário e existem outras formas
de conectar memorias fora do chip.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores
• As entradas e saídas permitem a
comunicação com outros circuitos
que podem ser sensores,
atuadores, outros
microcontroladores, sistemas de
comunicação, telas, etc.
• Podem ser entradas ou saídas do
tipo analógico ou digital. O tipo
básico é o digital.
• As de tipo analógico precisam que
o microcontrolador possua outros
periféricos.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores
• Dois tipos básicos de
arquiteturas são utilizadas no
desenvolvimento de
microcontroladores: Harvard e
von Neumann.
• Os processadores de uso geral
usam quase exclusivamente a
arquitetura von Neumann, mas
ambas são usadas em
microcontroladores.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Arquitetura dos microcontroladores

• As memórias voláteis (dados) e não voláteis (programa) são tratadas como


sistemas separados, cada um com seu próprio endereço e barramento de
dados.
• Muitos microcontroladores usam essa arquitetura, incluindo PICs da
Microchip, Intel 8051 e descendentes e ARM9.
• A principal vantagem é a eficiência. Permite acesso simultâneo ao programa
e aos dados. Por exemplo, a CPU pode ler um operando da memória de
dados ao mesmo tempo em que lê a próxima instrução da memória do
programa.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Arquitetura dos microcontroladores

• Nesta arquitetura existe apenas um sistema de memória. Isso significa que apenas
um conjunto de endereços cobre as memórias voláteis e não voláteis.
• O mapa da memória, que mostra os endereços nos quais cada tipo de memória
está localizado, se torna particularmente importante.
• A arquitetura é intrinsecamente menos eficiente, pois vários ciclos de memória
podem ser necessários para extrair uma instrução completa da memória.
• No entanto, o sistema é mais simples e não há diferença entre o acesso a dados
constantes e variáveis.
• Microcontroladores com arquitetura von Neumann incluem o MSP430, o Freescale
HCS08 e o ARM7.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Principais periféricos e funções
• Os microcontroladores modernos tem uma grande diversidade de
periféricos disponíveis. Um dos critérios para a escolha de um ou
outro microcontrolador é os periféricos que possue, com base na
aplicação em que vai ser utilizado.
• Na lista temos temporizadores simples ou com funções complexas,
geradores de sinais digitais, conversores de sinais analógicas para
digitais e digitais para analógicas, comparadores analógicos, etc.
• Geralmente, para ligar todos os periféricos, são necessários mais
pinos dos existentes no encapsulamento do microcontrolador. É por
isso que um pino pode ter várias funções e estar ligado através de
multiplexadores a vários periféricos. Essas ligações internas são
configuradas nos registros de configuração.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Principais periféricos e funções

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Principais periféricos e funções

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Principais interrupções e seu utilidade.
• Uma das grandes vantagens da utilização
de periféricos é que a CPU é liberada de
complexas tarefas e esse tempo pode ser
dedicado a novas tarefas.
• Mas, ainda assim ela deve ficar atenta ao
andamento da execução da tarefa em cada
periférico.
• Para isso são utilizadas as interrupções, o
seja, elas avisam da finalização ou
andamento de uma tarefa.
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Principais interrupções e seu utilidade.
• Uma interrupção é um evento externo ao programa que provoca a
parada da sua execução, a verificação e o tratamento do referido
evento e em seguida o retorno do programa ao ponto em que havia
sido interrompido.
• As estruturas de interrupção são utilizadas para que a CPU tome
conhecimento de eventos de alta prioridade para o programa.
• Por exemplo, se temos configurado um pino do microntrolador com
uma interrupção que vai ser ativada quando a tensão elétrica do pino
mude, não precisamos verificar o pino continuamente para saber
quando muda. Quando ocorra a mudança, a CPU será informada
quase imediatamente.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Principais interrupções e seu utilidade.
• Num microcontrolador podem existir dezenas de interrupções que podem
ser ativadas (configuradas) ou não.
• Geralmente cada periférico tem uma o várias interrupções associadas para
diferentes eventos, por exemplo.
• Temporizadores: Quando o registro de contagem é zerado (contagem descendente)
ou chegou ao final da contagem (contagem ascendente). Também o contador pode
ser comparado com outro registro e gerar uma interrupção dependendo do valor.
• Conversor analógico para digital: Quando a conversão foi concluída.
• Memória EEPROM ou Flash: Quando a escritura de um dado foi concluída.
• Pinos de entrada digital: Quando um pino muda de zero para um ou de um para
zero.
• Pinos de entrada analógica (comparador analógico): O valor de entrada é comprado
com um valor de referência e a interrupção é ativada quando na saída do
comparador o valor muda.
• Comunicação serial: Quando chegar um novo dado, quando acontecer um erro de
comunicação, quando o dado já foi enviado, entre outras.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Encapsulamentos

[Link]
[Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Diagrama lógico de interrupções.

Cada interrupção tem 2 bits associados: um deles (habilitação)


permite que a interrupção seja disparada quando acontecer o
evento e o outro (bandeira) indica que o evento aconteceu.

xIF : Bandeira da interrupção X


xIE : Bit de habilitação da interrupção X

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Fabricantes e famílias de microcontroladores
• Muitos são os fabricantes e diversidade de microcontroladores no mercado atual.
Podem olhar na lista a seguir.
• [Link]
• Além do tamanho da memória de programa e dados, e a disponibilidade de
periféricos, outra característica importante é a palavra de programa e dados. Essa
característica vai depender do tamanho dos barramentos de programa e dados.
• O aumento no tamanho da palavra de programa possibilita um aumento no
número de instruções e um aumento no tamanho da palavra de dados vai
permitir processar maior quantidade de informação no tempo.
• Os PICs de 12 bits possuem 33 instruções, os de 14 bits, 35 instruções e os de 16
bits, até 77 instruções.
• Uma maior quantidade de instruções possibilita maior flexibilidade e eficiência na
programação, mas com a contrapartida de oferecer um maior nível de dificuldade
ao aprendizado.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Fabricantes e famílias de microcontroladores
• Durante o curso vamos prestar mais atenção aos microcontroladores
PIC da Microchip, mas também vamos falar dos AVR da ATMEL
(comprada pela Microchip) e os MCP da Texas Instruments.
• Links com informação desas famílias de microcontroladores.
• [Link]
• [Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
• Várias linguagens de programação podem ser usados para criar o
software que corre dentro do microcontrolador, mas três grandes
grupos podem ser definidos:
• Código de Máquina
• Linguagem Ensamblador ou Assembly
• Linguagem de alto nível

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
Código de máquina
• São os dados em binário que o próprio processador
entende.
• Cada instrução tem um valor binário chamado
opcode.
• É irreconhecível para humanos, a menos que você
tenha passado muito tempo na depuração de baixo
nível.
• Alguns computadores muito antigos tiveram que
ser programados em código de máquina.
• Você pode ver no simulador o conteúdo da
memória em código de máquina.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
Assembly
• As instruções são escritas como palavras
chamadas mnemônicos, em vez de valores
binários, e um programa chamado
montador ou ensamblador converte os
mnemônicos em código de máquina.
• Faz um pouco mais do que tradução direta,
mas não como um compilador para um
idioma de alto nível.
• Uma grande desvantagem da linguagem
assembly é que ela está intimamente ligada
a um processador e, portanto, é diferente
para cada arquitetura.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
Assembly
• Apesar desses problemas, a maior parte da programação de
microcontroladores pequenos foi feita em linguagem assembly até
recentemente, principalmente porque os compiladores para C produziam
código menos eficiente.
• Agora os compiladores são mais eficientes e os processadores modernos
são projetados com os compiladores em mente, de modo que a linguagem
assembly é menos usada.
• No entanto, o principal argumento para aprender a linguagem assembly é a
depuração. Não há escapatória se você precisar verificar a operação do
processador, uma instrução de cada vez. Também se precisa fazer
engenheira reversa. Em ambas tarefas precisa da desmontagem.
• Desmontagem é o processo oposto ao assembly, a tradução do código da
máquina para a linguagem assembly.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
Alto nível
• É a escolha mais comum para pequenos
microcontroladores hoje em dia.
• Um compilador converte o código em alto
nível em código de máquina que a CPU
pode processar. Isso traz todo o poder de
uma linguagem de alto nível (estruturas de
dados, funções, verificação de tipo e assim
por diante) e que pode ser compilado em
código eficiente.
• A compilação costumava passar pela
linguagem assembly, mas isso agora é
menos comum e o compilador produz
código de máquina diretamente.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Linguagens de programação
[Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Estudo individual
• Estudar os tópicos 1.1-1.6 do livro “MSP430 Microcontroller Basics”.
• Estudar o capítulo 3 do livro “Microcontroladores PIC - Técnicas
Avançadas”
• Tipos de memorias e suas características
[Link]
files/[Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]

Você também pode gostar