Você está na página 1de 15

Introdução aos sistemas embarcados e

microcontroladores
Por Fernando Deluno Garcia - 19/07/2018

ÍNDICE DE CONTEÚDO [MOSTRAR]

Este artigo apresenta uma breve introdução aos sistemas embarcados, direcionando o assunto para
objetivo é apresentar detalhes de um sistema computacional genérico, descrevendo os módulos básic
Esses conceitos são fundamentais para entender a arquitetura de microcontroladores e a interface entre h

Em alguns momentos tópicos são apresentados superJcialmente, em outros de modo mais detalhad
apresentadas outras referências para artigos publicados aqui no Embarcados para que você, leitor, pos
tópico especíJco. Além disso, alguns tópicos apresentados serão retomados posteriormente em outros a
O conteúdo apresentado aqui será mantido neste acervo: Bit by Bit - Embedded Systems 
área de sistemas embarcados, apresentando conceitos fundamentais e também assuntos mais complexo

Introdução aos sistemas embarcados

É nítido que a tecnologia faz cada vez mais parte de nossas vidas. Presenciamos nas últimas déc
eletrônica, dos computadores pessoais, dos equipamentos eletrônicos etc. Vivenciamos hoje uma tr
direção à computação ubíqua. Nesse cenário, os sistemas computacionais embarcados tornam-se
presentes no dia a dia.

Atualmente, bilhões de sistemas computacionais são produzidos anualmente e aplicados em produtos do


Considerados como computadores dedicados, ou embutidos, tais sistemas são muitas vezes chamados
ubíquos [2], no sentido que os usuários muitas vezes não os veem [3].

Alguns segmentos de aplicação são apresentados a seguir [1, 4]:

Eletrodomésticos: ar condicionado, cafeteira elétrica, microondas, geladeira, máquina de lavar;


Aparelhos de comunicação: Equipamentos de rede como switch e roteador; telefones;
Periféricos de computadores;
Equipamentos de Entretenimento: TVs e players de mídia, console de games;
Aparelhos de reprodução de imagens e som;
Equipamentos médicos: sistemas de suporte à vida;
Sistemas de armamentos militares: sistemas bélicos;
Dispositivos de vendas/atendimento: biometria, leitor de código de barras, caixa de autoatendimento A
Brinquedos;
Automotivo: Computadores de bordo automotivos, freio ABS, interface de vídeo e voz;
Industrial: Sistemas de controle, robótica.

DeJnição

Computadores embutidos, às vezes chamados de microcontroladores [4] ou computadores em u


considerados – essencialmente – dispositivos compostos por um processador dedicado com Jnalida
especíJca, diferentemente de computadores de propósito geral [1, 6]. Para tal, esses dispositivos aprese
mesmos elementos de um computador reunidos um único chip.

São utilizados em projetos de sistemas eletrônicos, tendo como principal função a execução de u
aplicações, relacionadas como um único sistema [3]. Isto é, existe um programa que é embutido no micro
o meio externo. Considerando isso, tais sistemas são chamados de sistemas eletrônicos embarcados.
deJnições:

1. Refere-se a um produto que envolve uso de eletrônica e software [1];


2. Combinação entre hardware e software desenvolvida para desempenhar uma tarefa especíJca. [9].

Para uma discussão ampliada do termo, acesse Just What Is an Embedded System? 

Características e Organização

Sistemas embarcados também são caracterizados como sistemas reativos. Pois, como destacado, a ap
do ambiente [1]. Portanto, o microcontrolador pode ser visto como uma caixa preta, em que as entra
processadas, e por Jm geram uma ação, representada pelas saídas. Nesse cenário, entradas e saídas
sensores, atuadores, dispositivos de comunicação, dispositivos de interface gráJca, entre outros.
Figura 1: Visão geral de um sistema embarcado com microcontrolador.

Em alguns casos, os sistemas embarcados estão relacionados ao ambiente de operação de tal maneira
[1,4], por exemplo:

Limitações físicas – espaço físico limitado, peso;


Limitações elétricas – consumo de energia elétrica;
Limitações mecânicas;
Recursos computacionais – capacidade de memória, velocidade de processamento;
Restrições temporais – tempo de processamento, resposta a estímulos.

Sistemas Microcontrolados

De fato, o projeto de sistemas eletrônicos embarcados envolve áreas de conhecimento variadas e, dev
fronteira entre hardware e software começa a se tornar tênue [2]. Nesse sentido, para o pro
microcontroladores, é essencial conhecer a estrutura interna do dispositivo, pois o programa interage dir
hardware. Sabendo disso, é importante conhecer fundamentos de organização e arquitetura de sistemas
Visão geral da organização de um sistema computacional

Um computador digital é uma combinação de dispositivos e circuitos digitais que realizam uma sequênc
8]. A sequência de operações é chamada de programa [5]. Resume-se a um conjunto de instruções
processados para alcançar o objetivo computacional pretendido, sendo ambos armazenados na memó
função do computador é acessar a memória para obter e processar as operações indicadas. Para tal, um
um conjunto de estruturas para possibilitar que esses procedimentos possam ser executados.

Figura 2: Ciclo de instrução.

Um dos principais componentes de um sistema computacional é o processador [6]. Tem função de real
requisições para dispositivos periféricos e efetuar todos os processos que permitem o funcionamento
principal componente, o processador deve ser capaz de interagir com dispositivos periféricos, como mem
saída, conversores de sinais, entre outros.

Embora os sistemas computacionais tenham suas peculiaridades, a estrutura interna pode ser gene
especiJcas. Sabendo disso, um sistema computacional pode ser representado por cinco blocos con
aritmética - ULA, a unidade de memória, a unidade de controle - UC, e as unidades de entrada e saída [7].

Figura 3: Principais componentes de um sistema computacional.


DeJnição de memória

A memória pode ser deJnida como um conjunto de elementos que armazenam informação. Em u
elemento básico é chamado célula de memória [1]. A célula de memória é capaz de armazenar a inform
dois estados estáveis, 1 ou 0. Além disso, deve possibilitar que a informação seja deJnida (gravada) e ver

Figura 4: Célula de memória.

O conjunto de células de memória formam uma palavra. De modo geral, a memória consiste de um grup
identiJcada de maneira unívoca por um endereço. Uma característica da palavra é a sua capacidade de
quantidade de bytes – ou bits - que a palavra representa.

Figura 5: Memória com N elementos de M bits.

Sistema de interconexão

A conexão entre todos esses módulos é realizada pelo sistema de interconexão, também chamado de
barramento os módulos do sistema podem se comunicar, isto é, trocar informações. Para tal, deve
transferências [1]:

Memória para processador;


Processador para memória;
E/S para processador;
Processador para E/S;
E/S de ou para a memória.

Em geral, um barramento é organizado como um grupo de vias – conexões físicas – em que cada v
representando o binário 1 e o binário 0. Existem três tipos de barramentos em um sistema.

Barramento de Dados:

Caminho para movimentação de dados entre os módulos;


Largura é uma das chaves do desempenho (8,16,32 bits).

Barramento de Endereço:

Determinam a origem ou o destino dos dados no barramento de dados;


Largura determina capacidade máxima de memória.

Barramento de Controle:

Informações de tempo e controle;


Sinais de leitura/escrita de memória, requisições de interrupção.

Estrutura da unidade de processamento

Internamente, o processador – unidade central de processamento - é dividido em duas unidades, cada um


Compõe-se basicamente de uma ULA e uma UC. Tem como função principal buscar e executar instruções

A ULA é capaz de operar os dados binários, executando operações simples sobre um ou mais operando
utilizada para coordenar as operações entre as outras unidades, determinando o quxo de operações do si
É importante também citar que a UCP possui registradores especiais e registradores de propósito ge
elemento de memória com uma determinada capacidade de armazenamento.

Figura 6: Arquitetura genérica de um sistema.

Em algumas arquiteturas há somente um registrador de propósito geral, chamado de acumulador [5]. O a


como operando da ULA e para armazenar o resultado da operação realizada. Em arquiteturas com vários
todos podem servir à mesma função do acumulador.

Os registradores especiais desempenham funções especíJcas na unidade controle [1, 4, 5, 7]:

Contador de programa – Esse registrador tem como função apontar o endereço de memória da próxim
executada;
Registrador de instrução – Utilizado para armazenar a instrução codiJcada que é lida da memór
contador de programa;
Registrador de estado – Sempre que uma operação é executada pelo processador algumas inform
registrador, por exemplo, se uma operação na ULA resultou em zero.

Para saber mais

Para conhecer os detalhes de implementação de um sistema bem simples, criado a partir de portas lóg
ao microprocessador básico. Acesse também: Visão geral de microprocessadores e Processadores Prog
Modelos de Arquitetura

O modelo genérico apresentado destaca os principais componentes de um sistema computacional.


sistema e as ligações entre os componentes são deJnidos pela arquitetura do sistema computacio
clássicas que servem como base para o desenvolvimento de sistemas reais: Arquitetura de von Neumann

Arquitetura de von Neumann

Modelo que tem como essência o conceito de programa armazenado, em que instruções e dados são
principal característica é que não há distinção entre o espaço de instruções e o espaço de dados. Isto é,
mesmo barramento, pertencendo ao mesmo espaço de endereçamento [1,10]. VeriJque também:

Figura 7: Arquitetura de von Neumann.

Arquitetura de Harvard

Modelo caracterizado por apresentar dois espaços de endereçamento distintos para o programa e para os
são utilizados barramentos distintos, possibilitando acesso simultâneo a instruções e dados [10].
Figura 8: Arquitetura de Harvard.

Estrutura básica de um microcontrolador genérico

Internamente, um microcontrolador possui diversos módulos. Assim como um computador, cada módulo
Em geral, apresentam uma unidade de processamento simples, memória e dispositivos de entrada e saíd
o sistema pode ser apresentado conforme o diagrama.
Figura 9: Microcontrolador genérico.

Nesse diagrama estão os principais elementos de um microcontrolador. O núcleo (Core) é o processad


sistema. Na memória são colocadas informações que coordenarão a operação do processador, isto é, a
executará. Para interagir com o meio externo são usados periféricos, representados pelo módulo de entra
terminais, ou pinos, que fazem a interface entre o microcontrolador e o meio externo.

Terminais: Interface com o Hardware

Microcontroladores apresentam diversos terminais com funções variadas:

Alimentação – Para que o microcontrolador funcione é preciso uma fonte de tensão contínua que ate
dispositivo. Dependendo do encapsulamento do chip, e das características do microcontrolador, um
conectados na fonte.

Reset – A função principal desse pino é reiniciar o microcontrolador, isto é, deJnir um estado conhecido –
sequencial – para iniciar a execução do programa armazenado na memória. Esse pino também é utilizad
do dispositivo.

Controlados por periféricos – Podem ser usados como entradas e saídas de propósito geral. Ou ainda
em um periférico do microcontrolador. Diversos microcontroladores apresentam terminais com funções
diferentes funções dependendo da conJguração realizada.

Analógicos – Alguns periféricos do microcontrolador atuam com sinais analógicos. Por exemplo
conversores de sinais (A/D ou D/A).

Clock – As operações executadas pelo processador são governadas por um sinal de sincronismo, de
sincronismo pode ser gerado internamente ou externamente. Externamente, o modo mais comum de ger
de circuitos eletrônicos em conjunto com elementos piezoelétricos, formando um sistema chamado d
geral, tais sistemas utilizam cristal de quartzo ou ressonador cerâmico como oscilador [11, 12].
Figura 10: Oscilador.

Internamente, alguns microcontroladores apresentam circuitos osciladores RC. Independente da fonte, c


processador é ditada pela frequência do sinal de clock [1], que corresponde à taxa de pulsos por
necessário para executar uma instrução é medido com relação à quantidade de ciclos do sinal de clock [1

Periféricos

Todo microcontrolador possui internamente uma seleção de periféricos que podem variar em quantidade

Complexidade: Nível Baixo

Conversor de sinal (D/A e A/D);


Comparador analógico;
Barramentos: I2C, SPI, CAN;
Temporizadores e contadores;
Watchdog;
Interface serial assíncrona e síncrona.

Complexidade: Nível Médio


USB;
IrDA cde alta velocidade;
Ethernet;
Controlador de memória: SRAM externa.

Complexidade: Nível Alto

Unidade de gerenciamento de memória (MMU);


Barramento PCI e PCIe;
CodiJcadores e decodiJcadores de vídeo;
Controlador de memória: DRAM/SDRAM externa.

Memórias

Para manter o programa armazenado, microcontroladores possuem memória não volátil do tipo Flash
EEPROM, sendo que é usada para manter dados de conJguração da aplicação, por exemplo, dados d
carregados em memória volátil do tipo SRAM [6] durante a inicialização do programa.

Volatilidade: refere-se à retenção do conteúdo na memória, sendo voláteis ou não-voláteis. Isto é, a infor
ausência de energia elétrica.

Saiba mais

Sistema Embarcado - O que é? Qual a sua importância?

Webinar: Ensino em sistemas embarcados no Brasil

Relatório da Pesquisa sobre o Mercado Brasileiro de Desenvolvimento de Sistemas Embarcados 2017


Referências

[1] STALLINGS, W. Arquitetura e organização de computadores. Pearson Prentice-Hall, 10ª ed., São Paulo

[2] Li, Q. Real-time Concepts for Embedded Systems. 2003.

[3] PATTERSON, D. A.; HENNESSY, J. L. Computer Organization and Design: The Hardware/Software
Kaufmann-Elsevier. 2013.

[4] TANENBAUM, A. Organização Estruturada de Computadores. 6ª Edição, 2013.

[5] WEBER, R. F. Fundamentos de arquitetura de computadores. 4ª ed. Bookman. Porto Alegre. 2012.

[6] HILL, W.; HOROWITZ, P. A Arte da Eletrônica. 3ª ed. 2018.

[7] TOCCI, R. J; WIDMER, N.S; MOSS, G. L. Sistemas Digitais - Princípios e Aplicações. Prentice-Hall, 11ª e

[8] ALMEIDA, M. A.; MORAES, C. H. V.; SERAPHIM, T. F. P. Programação de Sistemas Embarcados

[9] BARR, M.; MASSA, A. Programming Embedded Systems. O'REILLY. 2006.

[10] GU, C. Building Embedded Systems: Programmable Hardware. 2016. Apress.

[11] AVR186: Best Practices for the PCB Layout of Oscillators .

[12] AN2867: Oscillator design guide for STM8AF/AL/S and STM32 microcontrollers .

Crédito da imagem destacada .

! Facebook 16 " Twitter 2 # Google+ 4

NEWSLETTER
Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

E-mail

CADASTRAR E-MAIL

Fique tranquilo, também não gostamos de spam.

Introdução aos sistemas embarcados e microcontroladores por Fernando Deluno Garcia. Esta obra está lice
Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional .

Fernando Deluno Garcia


Fascinado por computação, especialmente na interface entre hardware e software, me engajei na área de sistem
desenvolvimento de sistemas embarcados e sou docente da Faculdade de Engenharia de Sorocaba.Para mais i
https://about.me/fdelunogarcia

Este site utiliza cookies. Ao usá-lo você concorda com nossos Termos de
Continuar
Uso. Saiba mais.

Você também pode gostar