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

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Sistemas Embarcados
Material Teórico
Responsável pelo Conteúdo:
Prof. Me. Tales Gouveia Fernandes 
Revisão Textual:
Prof.ª Esp. Kelciane da Rocha Campos
Especificação de Sistemas Microcontrolados 
• Definição de Systems-on-Chip (SoCs);
• Família de Microcontroladores e Processadores
Digitais de Sinais (DSPs);
• Interfaces com Dispositivos de Memórias;
• Operações sobre Memória.
• Aprender sobre a ciência e a tecnologia de um microcontrolador; 
• Fundamentar o princípio de funcionamento de um microcontrolador;
• Estudar sobre os sistemas de memória; 
• Observar as diferenças entre os sistemas de memória; 
• Reconhecer a necessidade do uso de memórias; 
• Conhecer arquiteturas de memória e formas de acesso a elas.
OBJETIVOS DE APRENDIZADO
Especifi cação de Sistemas 
Microcontrolados 
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas:
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua 
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de 
aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Especifi cação de Sistemas Microcontrolados 
Definição de Systems-on-chip (SoCs)
O hardware de um sistema embarcado equivale a um System-on-Chip, sendo 
diferente de um sistema Single Board Computer (SBC).
Um sistema Single Board Computer é basicamente um computador completo 
construído em uma única placa, ou seja, em uma mesma placa estão conectados 
o microprocessador, memória, dispositivos de entrada e saída e também outras 
características funcionais de um computador. 
Inicialmente, este sistema foi desenvolvido para uso educacional ou controla-
dores computacionais de tamanho reduzido. 
É possível encontrar no mercado diferentes tipos de computadores pessoais 
ou portáteis integrados em uma única placa de circuito impresso. Um dos mais 
conhecidos é o Raspberry Pi, o qual está exemplificado na Figura 1, cuja porta-
bilidade e custo reduzido, quando comparado a computadores pessoais, o torna 
competitivo na utilização em PDVs (sistema de ponto de venda utilizados em 
mercados e lojas de conveniência).
Figura 1 – Exemplo de um sistema Single Board Computer, contendo um processador Raspberry Pi,
memória, interfaces de comunicação e conexões para dispositivos de entrada e saída.
Fonte: Wikimedia Commons 
Diferentemente de computadores convencionais, SBCs frequentemente não 
têm aumento ou mudanças em seus barramentos, consequentemente não aumen-
tam o suporte a novos periféricos. No entanto, há possibilidade de extensão de 
módulos, expandindo, assim, recursos que antes eram limitados.
Já um System-on-Chip é um circuito integrado, abreviado como CI, que con-
tém várias partes de um sistema computacional. 
8
9
Em geral, a tecnologia System-on-Chip possui a característica de incluir vários 
subsistemas em um único chip de semicondutores e a capacidade de processamento 
é enorme, tornando possível rodar softwares tais como um sistema operacional 
os executa. 
Os sistemas SoCs foram desenvolvidos para consumir pouca energia, ter um 
preço reduzido e maior confiabilidade quando comparado com sistemas de múltiplos 
chips que são substituíveis pelos SoCs. Essa tecnologia geralmente possui núcleos de 
32 bits para CPU e núcleos separados para USB, tanto que o consumo otimizado de 
energia é importante, pois os SoCs recebem energia de fontes externas.
A composição básica e geral de um SoC consiste em uma unidade central de 
processamento, blocos de memória incluindo ROM, RAM, EEPROM e memória 
flash; outros periféricos e interfaces exteriores podem ser adicionados, incluindo 
padrões USB, Ethernet e Unidade de Processamento Gráfico (do inglês Graphics 
Processing Unit - GPU). A Figura 2 ilustra o diagrama de iteração dos elementos 
citados anteriormente que compõem um System-on-Chip, cujos periféricos estão se 
comunicando por um barramento central.
MMC
RAM USB
CPU
Controle
RAM
Controle
USB
Tela
Vídeo
Memória
Interna
Debug
GPU
Barramento compartilhado de um System on Chip (SOC)
DMA Armazenamento I/O
Flash
Figura 2 – O diagrama do SoC indica que o sistema é mais do que ser núcleos de CPU, ou seja, além de ter núcleo 
de processamento possui um barramento compartilhado de interconexão de periféricos, além de ser usado para 
acesso direto à memória. Cada fabricante constrói o SoC contendo os periféricos que deseja, assim o diagrama 
pode variar de fabricante para fabricante, porém mantendo os principais periféricos.
Em resumo, as principais diferenças entre os System-on-Chip e os Single Board 
Computer são: um SoC é composto por várias unidades funcionais concentradas 
em um único chip de silício. Já os SBC são computadores pessoais completos 
integrados em uma única placa de circuito impresso. Os SoCs são amplamente 
utilizados pela indústria de sistemas embarcados, pois a composição em único chip 
de várias funcionalidades reduz muito o tamanho dos projetos de hardware. No 
entanto, os SBCs são considerados produtos de prateleira, ou seja, mais utilizados 
9
UNIDADE Especificação de Sistemas Microcontrolados 
por indústrias que não demandam funcionalidades específicas e níveis altos 
de processamentos dedicados. Por fim, quando se fala em SBCs considera-se 
tanto o hardware quanto o software, o qual pode conter um SoC, uma fonte de 
energia, memórias, interfaces de conexão e conectividade multimídia, como USB, 
HDMI, Ethernet, entre outros. Estas são as principais diferenças e definições da 
tecnologia System-on-Chip e do sistema Single Board Computer, as quais estão 
ligadas diretamente aos sistemas embarcados.
Família de Microcontroladores e 
Processadores Digitais de Sinais (DSPs)
De uma forma geral, tanto os microcontroladores quanto os processadores 
digitais de sinais DSP (do inglês Digital Signal Processing) são circuitos integrados 
disponíveis nos mais variados tipos de encapsulamento, destinados ao processa-
mento de comandos de execução e tratamento de sinais de informação, respec-
tivamente. Ambos são considerados tecnologias System-on-Chip, pois todos os 
periféricos necessários para sua operação e funcionamento estão em um único 
chip. Os tamanhos também são muito pequenos, mesmo contendo vários perifé-
ricos, como memórias, barramentos, timers, portas de comunicação, converso-
res de sinal analógico em digital.
Importante!
Os tamanhos do encapsulamento podem variar de fabricante para fabricante, além do 
mais cada microcontrolador ou DSPpode ter mais ou menos periféricos internos. No 
entanto, há dois padrões de encapsulamentos, um é chamado de Dual In-Line Package 
(DIP), em português Pacote duplo em linha, o qual tem o invólucro plástico ou metálico 
e duas fileiras de pinos em lados opostos do CI, em seu lado maior. Já o segundo padrão 
é o Plastic Leaded Chip Carrier (PLCC), em português Portador plástico de chip sem fio 
condutor, possui quatro lados, podendo ser retangular ou quadrado, com um terminal 
em “J” e espaçamento de pino de 1,27 mm. Essa configuração requer menos espaço na 
placa soldada quando comparada com a configuração do DIP.
Trocando ideias...
Esses dispositivos são amplamente usados em automação industrial, residen-
cial e predial, eletrodomésticos, brinquedos eletrônicos e em qualquer situação em 
que seja necessário o controle de um dispositivo de sinais eletrônicos. Tomando 
como exemplo um elevador, quando um botão é acionado para ir até um andar 
específico, o microcontrolador recebe essa informação como um dado de entra-
da, interpreta-o e aciona os motores do elevador até o respectivo andar, para e 
abre as portas. Já no caso do DSP, sua gama de aplicação envolve processamento 
de áudio e vídeo, como no caso de cancelamento de ruído, cujo DSP captaria o 
ruído ambiente e geraria um “antirruído”, ou seja, um sinal invertido ou espelhado 
10
11
ao do ruído, o qual o anularia. Para ambos os exemplos, o processamento é dito 
de tempo real, no entanto para o caso do uso do DSP, é praticamente impossível 
captar e eliminar ruídos instantaneamente, assim há projeção de filtros digitais 
que estimam ruídos e que consigam minimizar seus efeitos.
Para ambas tecnologias, há duas filosofias de desenvolvimento do conjunto de 
instruções, chamadas RISC e CISC. A principal diferença entre essas filosofias 
é que na RISC (do inglês Reduce Instruction Set Computing) o conjunto de 
instruções é reduzido, oposto ao da CISC (do inglês Complex Instruction Set 
Computing), em que o conjunto de instruções é mais complexo.
Via de regra, quanto maior a complexidade da instrução maior é o espaço 
ocupado no chip, podendo comprometer o desempenho do sistema dependendo 
do conjunto de instruções. Um conjunto de instruções extensos pode indicar que 
há trechos excedentes, ou seja, que não são utilizados na execução do programa. 
Assim, procurar desenvolver trechos de instruções que serão compatíveis com as 
funcionalidades requeridas pela solução otimiza e facilita a manutenção do siste-
ma de maneira geral.
Os microcontroladores ARM e PICs de 16 e 32 bits são exemplos de arquite-
tura RISC, os quais possuem instruções simples que executam 1 ou 2 ciclos de 
máquina, enquanto os Intel 8051 são mais rápidos por permitirem acesso simul-
tâneo às memórias, representando, assim, a arquitetura CISC.
Os ciclos de máquina são chamados clock, o qual fornece a sensibilidade de tempo para o 
microcontrolador, ou seja, ele fornece um sinal oscilante e contínuo em forma de onda qua-
drada. A diferença de tempo entre dois níveis altos da onda quadrada corresponde a um 
ciclo de clock. Com isso, cada instrução do microcontrolador para ser processada respeita o 
tempo de subida da onda quadrada. Quanto mais rápido o sinal oscilante, mais veloz será o 
processamento, de maneira que o clock define a velocidade do microcontrolador.
Ex
pl
or
Após assimilar o conceito das arquiteturas dos microcontroladores e proces-
sadores digitais de sinal, compreender algumas famílias destas tecnologias será 
importante para a escolha de qual se adaptará melhor à solução proposta, tanto 
na parte do hardware quanto na parte do firmware.
Iniciaremos pela família 8051 da Intel, a qual foi uma das primeiras fabricantes a 
produzi-lo com início em 1981, porém não sendo a única; AMD, Siemens e Philips 
também são concorrentes desta linha de microcontroladores. Além do 8051 pro-
priamente dito, existem variantes como o 8031 (sem memória ROM interna e com 
apenas 128 bytes de memória RAM), o 8751 (com 4 kB de memória EPROM) e 
o 8052 (com 8 kB de memória ROM e 256 bytes de memória RAM). Por terem 
diferenças pontuais, todos esses microcontroladores serão citados como o 8051.
Basicamente essa família de microcontroladores de 8 bits possui como prin-
cipais características frequência de clock de 12MHz, com algumas versões que 
11
UNIDADE Especificação de Sistemas Microcontrolados 
alcançam 40 MHZ. Pode ter até 64KB de memória de dados externa, além de 
128 bytes de memória RAM interna. Para memória programável, há disponíveis 
4KB, podendo ser expandidos para 64KB externos. Há também 4 portas bidire-
cionais para entrada e saída de dados, cada uma com endereçamento de 8 bits, 
cujas duas portas iniciais podem ser dedicadas à conexão de memórias externas. 
Pode-se ainda usar dois temporizadores/contadores de 16 bits, um canal serial e 
5 fontes de interrupção com prioridades selecionais por software para duas delas.
Estas características formam o núcleo da família 8051 da Intel, cuja extensão 
de memória, adição de conversores e portas de entrada e saída podem ocorrer 
respeitando cada microcontrolador e recomendações indicadas pelo fabricante 
no datasheet.
Datasheet é o nome da folha de especificações de um microcontrolador, sendo forne-
cida pelo fabricante com o objetivo de indicar as principais características técnicas do 
componente e sua forma correta de utilização. São disponibilizados em inglês e possuem 
diagramas que indicam posicionamentos de portas, memórias e circuitos internos.
Ex
pl
or
Outros microcontroladores bastante utilizados e conhecidos, cujo fabricante é 
a Microchip, são chamados de PIC (do inglês Peripherica Interface Controller). 
O PIC12F675 é da família de microcontroladores de 8 bits, igual ao Intel 8051, ou 
seja, significa que a unidade lógica e aritmética (ULA ou do inglês ALU - Arith-
metic and Logique Unit) lida com palavras de no máximo 8 bits.
As características básicas da família desse microcontrolador é ter alto desempe-
nho na arquitetura RISC, possuindo apenas 35 instruções (Assembly), as quais são 
executadas em um ciclo de clock. Estão disponíveis 368 bytes de memória RAM 
interna e para memória programável há disponível 3KB. O clock máximo chega a 
20 MHz e o ciclo de instrução pode ser tão pequeno quanto 200 ns. Possui ainda 
a capacidade de interrupção com oito níveis de profundidade da pilha, bem como 
modos de endereçamento direto, indireto e relativo. É possível optar pela utilização 
de oscilador interno ou externo (RC, ressonador ou cristal), do modo sleep para 
economia de energia, da ampla faixa de tensões de operação (2 V a 5,5 V). Além 
disso, possui memória flash de alta persistência. Por fim, estão disponíveis 6 pinos 
para entrada/saída, possibilidade de fornecimento de corrente para acionamento 
de LEDs, módulo conversor analógico/digital de resolução de 10 bits com quatro 
canais de entrada multiplexáveis e entrada para tensão de referência do A/D.
Na sequência, o DSP foi projetado para realizar diversas manipulações e trans-
formações matemáticas em um conjunto de números analógicos, ou seja, sinais 
contínuos no tempo que passam por um conversor analógico-digital (A/D), trans-
formando-se em dados digitais discretos.
12
13
Importante!
Um sinal contínuo é aquele cuja função matemática que o descreve é definida para todos 
os valores da sua variável independente, ou seja, em qualquer instante do tempo esse 
sinal possui um valor válido. Já os sinais discretos são aqueles cuja função matemática 
que os descreve é definida apenas para alguns valores da sua variável independente, 
sendo assim existem intervalos de tempo em que esse sinal não possui um valor válido.
Você Sabia?
Uma das principais características do DSP é a de realizar uma operação de 
multiplicação e acumulação (denominada normalmente de MAC, do inglês Multiply 
and Acumulate) em um único clock. Para isso ser possível, existe uma integração 
da unidade multiplicadora com a unidade acumuladora em seu barramentode 
dados principal, essa é a principal diferença de hardware comparado com os 
microcontroladores, pois suas operações de multiplicação são realizadas por 
somas e deslocamentos sucessivos.
Com estes conceitos, surgiram os dsPICs, os quais foram desenvolvidos para 
proporcionar a performance de um DSP com a simplicidade de um microcontro-
lador em um único chip. Difere dos processadores genéricos na sua arquitetura 
de hardware, software e no conjunto de instruções otimizado para o tratamento 
digital de sinais. A demanda por desempenho é alta para tratamento de sinais di-
gitais, aplicações podem depender de processamento em tempo real, assim seria 
impossível realizar apenas com circuitos analógicos.
Um dos DSPs mais utilizados é o dsPIC30F, cuja fabricação também é da Mi-
crochip e segue a linha dos microcontroladores da família PIC, no entanto sua 
arquitetura é própria para tratar sinais analógicos e digitais de áudio e vídeo. As 
principais características envolvem a possibilidade de utilização de 84 instruções, 
as quais são executas utilizando 16 bits por operação de dados. O clock pode 
chegar a 120 MHz, rodando 30 milhões de instruções por segundo (do inglês 
MIPS - Million Instructions per Second). Com isso a disponibilidade de memória 
é maior quando comparado com os outros microcontroladores, sendo que há 8 
KB de memória RAM e 144 KB para dados de programa. O diferencial está na 
disponibilidade de Codec de áudio, suporte aos protocolos I2S e AC’97, 2 mó-
dulos de conectividade CAN 2.0B, 16 canais de conversores AD, sendo que 4 
podem ser utilizados simultaneamente.
Atualmente, os DSPs são empregados em uma grande variedade de produtos 
eletrônicos, mas predominantemente em soluções para telecomunicações, como 
filtros, compressão, multiplexação e cancelamento de eco. Além de ser primor-
dial em produtos de processamento de áudio, como em gravações de estúdio, 
sintetizadores, mixers, filtros digitais e no reconhecimento de voz.
13
UNIDADE Especificação de Sistemas Microcontrolados 
Interfaces com Dispositivos de Memória
Como comentado anteriormente, tanto nos microcontroladores quanto nos 
DSPs há internamente uma memória, seja para armazenar dados permanentes, 
no caso o software embarcado, quanto dados vindos de processamentos, como, 
por exemplo, o resultado de uma multiplicação. Também existe uma memória que 
armazena as instruções básicas do processador.
Memórias eletrônicas têm como principais características o tempo de acesso, 
o qual é o tempo necessário para acessar a memória e realizar uma operação de 
leitura ou gravação. Uma característica relevante é a capacidade correspondendo à 
quantidade efetiva de dados que podem ser armazenados no interior da memória. 
Ter a característica de não volatilidade é poder manter seus dados mesmo quando 
não houver energia elétrica, mas o contrário também pode ser encontrado em me-
mórias do tipo volátil. Por fim, o tempo de latência é uma característica que indica 
o intervalo mínimo entre cada operação de leitura ou escrita na memória, o qual 
deve ser essencialmente respeitado, pois pode acarretar a utilização de espaços in-
devidos da memória, podendo causar a perda ou manipulação incorreta de dados.
Levando em consideração estas características, ainda existem várias tecnologias 
de fabricação de memórias, sendo que algumas delas também são utilizadas em 
computadores pessoais. Os tipos de memórias mais usadas e suas particularidades 
estão destacadas a seguir.
A Memória de Acesso Aleatório, ou memória RAM (do inglês Random Access 
Memory), é do tipo volátil, ou seja, os dados são gravados temporariamente, en-
quanto houver energia elétrica. Sempre que alimentada, inicia com dados aleató-
rios. A aleatoriedade consiste no fato de que, para acessar um determinado endere-
ço, não é necessário percorrer desde o início todos os endereços, mas sim pode-se 
acessar diretamente o endereço desejado.
Outra memória bastante utilizada é a Memoria Exclusivamente de Leitura, ou 
memória ROM (do inglês Read Only Memory). Esta memória é oposta à memó-
ria RAM, ou seja, é do tipo não volátil, retendo os dados mesmo que cesse o 
fornecimento de energia elétrica. Ela é conhecida como apenas de leitura, pois 
não permite escrita e geralmente é programada pelo fabricante do hardware. Nos 
computadores pessoais, é usada para armazenar o conjunto de rotinas básicas do 
sistema operacional, denominado sistema básico de entrada e saída, ou BIOS (do 
inglês Basic Input/Output System). Também é muito usada em calculadoras e em 
impressoras para armazenar seus modelos de letras.
Já a Memória Programável Exclusivamente para Leitura, ou memória PROM 
(do inglês Programmable Read Only Memory), é um tipo especial de memória 
ROM, cujo fabricante a vende limpa, sem nenhum software gravado. Com isso, 
os desenvolvedores do projeto ficam encarregados de gravarem os dados que são 
realmente relevantes para o funcionamento do sistema, pois só é possível gravar 
nela uma única vez.
14
15
Há também a Memória Programável Apagável Exclusivamente para Leitura, 
ou memória EPROM (do inglês Electrically Programmable Read Only Memory). 
Nada mais é que um tipo de memória PROM, porém seu conteúdo pode ser apa-
gado quando submetido a processos especiais não muito convencionais, como, por 
exemplo, iluminar o ponto de restauração com luz ultravioleta. Pode ser reprogra-
mada apenas algumas poucas vezes.
Seguindo a mesma linha da PROM e da EPROM, existe a Memória Programável 
apagável Eletricamente Exclusivamente para Leitura, ou memória EEPROM (do 
inglês Electrically Erasable Programmable Read Only Memory). Seu conteúdo 
também pode ser programado e apagado por processos elétricos, no entanto esse 
processo pode ser repetido várias vezes. Contudo, as operações de escrita são 
realizadas de forma mais lenta quando comparadas com o processo de leitura. A 
Figura 3 ilustra estes dois tipos de memórias.
Por fim, criou-se a memória FLASH, sendo programável e apagável eletrica-
mente por processos convencionais e de forma rápida. Quando comparada com a 
memória EEPROM, atinge velocidades superiores de leitura e escrita, além do mais 
possui elevada capacidade de armazenamento.
 
Figura 3 – Exemplos de memórias. A) Memória EEPROM; B) memória EPROM
Fonte: Wikimedia Commons
Operações sobre Memórias
Compreendidos os principais tipos de memórias e suas características, podemos 
detalhar quais são as situações e razões em que são escolhidas e utilizadas essas 
memórias, no contexto de um projeto de sistema embarcado.
A memória pode ser considera de programa quando é utilizada para armazenar 
o firmware do sistema embarcado, geralmente uma memória FLASH, que fornece 
ao programador a possibilidade de gravar muitas vezes o seu software embarcado. 
Em determinadas situações, o espaço livre dessa memória pode ser reutilizado 
como extensão da memória de dados, ou seja, para armazenamento temporário 
de informações processadas. Além do mais, memória de programa sempre utiliza 
uma das tecnologias de memória não volátil, assim seus dados estarão disponíveis 
mesmo quando não existe alimentação. Devido a essa característica, um sistema 
15
UNIDADE Especificação de Sistemas Microcontrolados 
embarcado pode manter sempre seu firmware internamente, sem a necessidade de 
uma gravação a cada execução.
Como comentado anteriormente, há a memória de dados, a qual compreende 
a parte onde serão alocados, armazenados, os registros, as variáveis e todos os 
espaços reservados para o processamento temporário. Por ser uma das memó-
rias de tecnologia volátil, quando houver o corte da energia, essa memória perde 
seus dados. Em um microcontrolador ou DSP, o funcionamento dessa memória é 
semelhante ao da memória RAM de um computador pessoal.
Por fim, memórias de armazenamento são utilizadas pelos sistemas embarcados 
como uma memória extra não volátil acoplada ao hardware, para que assim in-
formações posam ser gravadas de modo seguro. Com isso, fabricantes introdu-
zem memóriasEEPROM no encapsulamento dos microcontroladores, gerando 
uma concorrência de espaço físico com periféricos internos, de maneira que a 
quantidade de memória interna é inversamente proporcional à quantidade de 
periféricos internos. Na prática, por ser uma memória que não perde dados 
quando a alimentação é desligada, torna-se uma opção para guardar parâme-
tros de processamento.
Importante!
Além das memórias usuais descritas até o momento, existem posições de memórias que 
recebem nomes específicos, tendo como funcionalidade armazenar as configurações e 
também o estado de funcionamento atual do microcontrolador ou DSP. Estas posições 
de memória são chamadas de registradores (do inglês SFR - Special Function Regiters). 
Normalmente, cada bit do registrador tem uma função específica. Com isso, existe um 
registrador para definir se as portas são de entrada ou de saída, ativar e desativar in-
terrupções, apresentar o estado do microcontrolador, o estado dos conversores, entre 
outras definições. Por serem construídos com a mesma tecnologia do processador, os 
registradores têm o menor tempo de acesso do sistema, no entanto armazenam uma 
instrução ou um único endereço por ciclo de memória. Todo fabricante indica na folha de 
datasheet a tabela de todos os registradores do microcontrolador em questão.
Importante!
A memória de armazenamento para se conectar aos demais componentes do 
sistema utiliza barramentos, os quais são canais de informação por onde passam 
os dados para gravação e leitura dessas memórias. A definição da estrutura destes 
barramentos segue basicamente uma das duas arquiteturas mais difundidas no meio 
da eletrônica digital, sendo a arquitetura Harvard e a arquitetura de Von Neumann.
O método em que são processados os dados provenientes da memória de dados 
e da memória de programa é o que torna a arquitetura Harvard diferente da arqui-
tetura de Von Neumann.
Quando um microcontrolador possui uma única área de memória na qual 
ficam armazenados tanto os dados temporários quanto o firmware do sistema 
embarcado, ou seja, existe apenas um barramento para o tráfego de ambos os 
dados, dizemos que esse sistema segue a arquitetura de Von Neumann.
16
17
No entanto, quando os dados temporários ficam armazenados em uma área 
de memória e o firmware do sistema embarcado fica armazenado em outra área 
de memória, ou seja, existem barramentos diferentes, dizemos que esse sistema 
segue a arquitetura Harvard. Ter disponíveis barramentos diferentes para o fluxo 
de ambos os dados proporciona ter múltiplos acessos à memória, de maneira 
que há possibilidade de acessos simultâneos à memória de dados e à memória 
de programa, isso aumenta o desempenho no processamento de dados, quando 
comparado com a arquitetura de Von Neumann.
Conforme pode ser observado no diagrama da Figura 4, o qual representa a 
arquitetura de Von Neumann, não existe separação entre memória de dados tem-
porários e memória do firmware, uma vez que há uma única área de memória. 
Desta forma, a unidade de controle deve executar uma única ação por vez: ou 
acessa os dados ou executa uma instrução.
Memória
Unidade de
Controle
ULA
Acumulador
Entrada Saída
Figura 4 – Arquitetura de Von Neumann
Já no diagrama da Figura 5, o qual representa a arquitetura de Harvard, pode-
-se observar a distinção entre a memória de dados temporários e a memória do 
firmware. Sendo assim, o barramento, representado pelas setas bidirecionais, 
proporciona acesso múltiplo às memórias, fazendo com que o microcontrolador 
possa executar mais de uma ação por vez: acessando os dados e/ou executando 
uma instrução.
ULA
I/O
Memória
de Dados
Memória
Firmware
Unidade
de Controle
Figura 5 – Arquitetura de Harvard
17
UNIDADE Especificação de Sistemas Microcontrolados 
Além das arquiteturas de Harvard e de Von Neumann serem importantes na 
comunicação entre memórias, periféricos e CPU, existem pequenas unidades de 
memória para alocação temporária de dados que trabalham diretamente com a 
unidade de processamento e que também utilizam uma dessas arquiteturas. Essas 
unidades correspondem aos registradores, os quais também têm a função de 
armazenar os resultados de operações lógicas e aritméticas temporariamente até 
que esse dado seja reutilizado em outra instrução ou transferido para outro tipo 
de memória disponível no sistema.
Uma outra função do registrador é a de contador de instrução, sendo que ele 
é responsável por armazenar o endereço da próxima instrução a ser executada. 
No momento em que essa instrução inicia a execução, o conteúdo desse regis-
trador é logo atualizado para o endereço da próxima instrução a ser executada, 
e assim segue o ciclo de contagem de instruções.
Com isso, um microcontrolador pode ter seu funcionamento resumido na se-
guinte sequência de etapas, denominada ciclo de instruções.
A primeira etapa é buscar uma instrução na memória.
Já a segunda etapa é interpretar a operação, à qual a instrução está se referindo.
Na terceira etapa, os possíveis dados necessários para a execução da operação 
são resgatados ou das memórias ou dos registradores.
Desta forma, a quarta etapa executa a operação com os dados e armazena o 
resultado no lugar definido pela instrução.
Por fim, a quinta etapa coincide com a 
primeira, cujo processo se reinicia buscando 
uma nova instrução.
Este ciclo de instrução tem duração indefi-
nida, desde que a energia elétrica se mante-
nha ou não ocorram erros no firmware que 
termine sua execução.
Em termos de hardware, uma instrução 
nada mais é do que um conjunto em sequên-
cia de bits, no qual a ausência de energia é re-
presentada pelo zero e a presença de energia 
é representada pelo número um. Com isso, 
ULA, presente em um microcontrolador, 
nada mais é que uma unidade de processa-
mento matemático, a qual realiza as opera-
ções lógicas e aritméticas.
A
F D
R
B
Figura 6 – Típico esquema simbólico da 
representação de uma ULA. As letras A e B 
são representações dos dados de entrada. Já a 
letra F representa a instrução a ser executada. 
A letra R representa a saída do resultado da 
operação. Por fim, a letra D são indicadores de 
estouro da capacidade do registrador ou de 
quando o resultado é zero
18
19
As instruções são basicamente decompostas nas operações fundamentais arit-
méticas, tais como adição, subtração, multiplicação, divisão, lógicas booleanas, nos 
deslocamentos, nos complementos ou nos decrementos e incrementos. Desta for-
ma, a ULA possui dois registradores de entrada de dados representados na Figura 
6 por A e B. Um vem de algum registrador especial e outro vem do barramento 
de dados ou de programa. Os outros são o tipo de operação a ser realizado, repre-
sentado na Figura 6 pela letra F, e o local onde colocar a resposta dessa operação 
representado na Figura 6 pela letra R. Por fim, a ULA possui alguns flags (sinali-
zadores) de overflow (estouro da capacidade do registro de resposta) e de quando o 
resultado é zero, representado na Figura 6 pela letra D.
19
UNIDADE Especificação de Sistemas Microcontrolados 
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Livros
Sistemas Embarcados Hardware e Firmware na Prática
OLIVEIRA, A. Schneider de; ANDRADE, F. Souza de. Sistemas embarcados hardware 
e firmware na prática. 2ª ed. São Paulo: Érica, 2010.
 Vídeos
Como funciona um Microcontrolador
https://youtu.be/4YYA0AZy6NI
 Leitura
Folha Datasheet do Microcontrolador Intel 8051
http://bit.ly/2PZk1WW
Folha Datasheet do Microcontrolador Microchip PIC12F675
http://bit.ly/2PWzw24
Folha Datasheet do Microcontrolador dsPIC30F
http://bit.ly/2PZynqh
20
21
Referências
BINDAL, A. Electronics for embedded systems. Cham: Springer International 
Publishing, 2017.
HOLT, A.; HUANG, C. Y. Embedded operating systems: a practical approach. 
2nd edition. ed. Cham: Springer International Publishing AG, 2018.
QIAN, K.; HARING, D. D.; CAO, L. Embedded software development with C. 
New York: SpringerScience+Business Media, 2009.
OLIVEIRA, A. Schneider de; ANDRADE, F. Souza de. Sistemas embarcados: 
hardware e firmware na prática. 2ª ed. São Paulo: Érica, 2010.
21

Mais conteúdos dessa disciplina