Buscar

Arquitetura de Sistemas Embarcados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura de sistemas embarcados
Lúcio Rodrigo de Carvalho1
Departamento de Ciências de Computação e Estatística
Instituto de Biociências, Letras e Ciências Exatas
Universidade Estadual Paulista “Júlio de Mesquita Filho” (UNESP) 
São José do Rio Preto – SP – Brasil
luciocarvalho@ifsp.edu.br
Resumo
Sistemas embarcados fazem parte de nosso cotidiano, podendo ser 
notados em vários dispositivos e equipamentos, tais como eletrodomésticos, 
carros, dentre outros. Este artigo evidencia as principais características de um 
sistema embarcado e sua utilização. Os estudos de caso apresentam a 
arquitetura de quatro tipos de equipamento que utilizam esse tipo de sistema, 
além da utilização de um sistema embarcado para verificação de oleodutos.
Palavras-chave: sistemas embarcados, arquitetura.
1. Introdução
Segundo Tanembaum, a partir da quarta geração de computadores - iniciada na década 
de 80 – e a possibilidade da integração de circuitos em escala muito alta (VLSI), tornou 
possível a popularização dos computadores pessoais. Dessa forma, com o aprimoramento 
dessa técnica ao longo dos anos, passamos a perceber uma revolução na vida cotidiana: 
máquinas de escrever foram substituídas por computadores, operações bancárias passaram a 
ser possíveis através do acesso a um browser, pelo computador, além de outras mudanças em 
equipamentos e hábitos.
Esta revolução que aconteceu em diversos segmentos se deve ao principal fato de que, 
os processadores – antes limitados à utilização em computadores pessoais e de grande porte -, 
passaram a ser utilizados em outros dispositivos tais como em televisores, máquinas de lavar, 
automóveis, relógios e até mesmo em cartões de identificação pessoais; concebendo, assim, os 
sistemas embarcados (Zurita, s.d.). 
1 Graduado em Ciência da Computação pelo Instituto Municipal de Ensino Superior de Catanduva e Pós 
Graduado em Segurança e Redes de Computadores. Pós Graduado em Desenvolvimento de Software para Web 
pela Universidade Federal de São Carlos. Licenciado em Matemática pelo Centro Universitário Claretiano. 
Licenciado em Computação pelo IFSP Matão. Mestrando em Ciência da Computação pela Unesp. Professor do 
Instituto Federal de São Paulo – campus Catanduva.
Com base nesta revolução, neste artigo, inicialmente é conceituado o tema sistemas 
embarcados e a principal motivação para a utilização desse tipo particular de sistema. A 
seguir são evidenciados itens arquiteturais pertinentes a esse tipo de sistema, sendo ancorados 
a apresentação da arquitetura de alguns equipamentos tais como Play Station 2, a câmera 
digital Sanyo VPC-Sx500, um sensor de identificação e um modelo de carro inteligente. Por 
fim, são apresentadas considerações sobre um sistema embarcado para verificação de 
oleodutos como exemplo de aplicação diferenciada de um sistema embarcado, seguido das 
conclusões.
2 – Sistemas Embarcados
Um sistema embarcado é definido como sendo “um sistema baseado em um 
microprocessador, que é projetado para controlar uma função ou uma gama de funções, e não 
para ser programado pelo usuário final como ocorre com os PCs” (Heath apud Zurita).
Nesta linha, Oliveira evidencia que os sistemas embarcados podem possuir, além de 
microprocessadores, processadores, dispositivos programáveis, dentre outros. 
Através dos exemplos de sistemas embarcados descritos neste artigo, será possível 
visualizar os diferentes componentes utilizados nesse tipo de sistema.
Wilmshurst cita, entre outros exemplos, sistemas embarcados contidos em 
refrigeradores e carros. Neste primeiro, podem existir sistemas embarcados responsáveis pela 
identificação de temperaturas externas ao refrigerador e a consequente mudança de 
temperatura interna no sentido de economia de energia; em carros, é possível a presença de 
um sistema embarcado para que os sensores – a exemplo de um sensor para travamento da 
porta – possam ser controlados.
É importante citar algumas características que distinguem um sistema embarcado de 
um computador convencional: a principal delas é que os sistemas embarcados são destinados 
à resolução de tarefas específicas – uma ou mais tarefas, dependendo do contexto de 
utilização – onde, em um computador convencional, inúmeras tarefas e funcionalidades 
deverão ser tratadas. Outro item importante está relacionado ao tipo de arquitetura e 
processadores utilizados pelos sistemas embarcados: existe uma grande gama de 
processadores e diferentes arquiteturas que podem ser utilizados de diferentes formas tendo-se 
como ponto inicial questões de projeto desse tipo de sistema (Zurita, s.d.). 
Uma vez que os sistemas embarcados são diferenciados – comparando-os a sistemas 
convencionais - em nível de software e hardware – o projeto de um sistema desse tipo 
também segue outros moldes, como exemplo da metodologia meet-in-the-middle – sendo uma 
das mais utilizadas (Gajski apud Zurita). Essa metodologia é uma combinação entre as 
metodologias bottom-up e top-down. Nesse sentido, podemos citar o fluxo proposto por 
Arnold Berger, que divide em sete fases o ciclo de vida de desenvolvimento de um sistema 
embarcado: especificação do produto, particionamento do projeto em componentes de 
hardware e software, iteração e refinamento do particionamento, tarefas independentes de 
projeto do hardware e do software, integração dos componentes de hardware e software, 
testes, aceitação e lançamento do produto e, por fim, manutenção e atualização contínua.
Os sistemas embarcados possuem características de tempo real (a exemplo do tempo 
limite para acionamento de um air bag). Tais sistemas também tratam a questão de consumo 
de energia e operação em condições extremas de uma forma diferenciada, uma vez que os 
recursos de hardware e software são proporcionalmente menores se comparados com sistemas 
convencionais (Hennessy, 2009).
Segundo Zurita, o número de sistemas embarcados vem aumentando 
consideravelmente, onde deverão chegar à casa de 33% de sua incidência em todo o mundo 
até 2013.
3 – Arquitetura de Sistemas Embarcados
A arquitetura de um sistema embarcado compreende a utilização de componentes 
programáveis, tais como um DSP ou um microcontroladores, além de processadores, 
memórias, dentre outros. O grande desafio na definição de um projeto ligado a um sistema 
embarcado é a integração de diferentes componentes de hardware com os componentes 
programáveis e elementos de processamento; dessa forma, é possível chegar a uma arquitetura 
heterogênea, onde o custo de desenvolvimento é um atrativo decorrente da utilização de uma 
arquitetura que une diferentes componentes (Lin, s.d.).
A Figura 01 evidencia arquitetura heterogênea ligada a um sistema embarcado 
genérico.
Figura 01 – Arquitetura heterogênea de sistema embarcado genérico (Lin, s.d.)
Com base na afirmativa proferida por Lin, a seguir são apresentados quatro 
equipamentos que envolvem a utilização de sistemas embutidos. Podemos verificar a 
existência de arquiteturas heterogêneas, já que utilizam diferentes componentes na definição 
de seus projetos.
3.1 – Play Station 2
O primeiro estudo de caso de um equipamento refere-se ao Play Station 2. Como este 
equipamento é utilizado para o uso quase exclusivo de jogos e ao fluxo constante de gráficos 
e áudio, seu projeto leva uma técnica diferenciada quanto questões de memória, vistos a 
seguir. A Figura 02 evidencia Diagrama de Blocos do Play Station 2.
Figura 02 – Diagrama de Blocos do Play Station2 (Hennesy, 2009)
Analisando a Figura 01, podemos verificar a presença de um processador de entrada e 
saída, memória principal, Emotion Engine e um sintetizador gráfico, evidenciado com 
detalhes seguir.
O processador de entrada e saída (IOP) é responsável pelo tratamento dos dispositivos 
de entrada e saída tais como dispositivos USB, itens PCMCIA, modem, DVD Rom, saída e 
entrada de som. Inclui, ainda, um processador MIPS de 34Mhz que atua como emulador para 
os jogos fabricados para versões de Play Station anteriores ao Play Station 2. A memória 
principal conta com dois chips DDRDRAM PC 800 (400 Mhz) com 32 Mb de memória e 
largura de banda 3,2Gb/s (Hennesy, 2009).
O Emotion Engine recebe entradas do IOP (processador de entrada e saída) e cria listas 
de exibição que serão destinadas ao sintetizador gráfico. Na estrutura do Emotion Engine 
podemos notar a presença de duas unidades de vetor: unidade de vetor 0 (VPU0) e unidade de 
vetor 1 (VPU1). Pensando na agilidade e customização no processamento, as unidades de 
vetor são utilizadas para processarem dados diferenciados. Podemos pensar no processamento 
de um jogo onde temos primeiro plano (personagem do jogo se movendo) e segundo plano 
(uma tela padrão de fundo que quase não se modifica): a unidade de vetor 0 lida com o 
processamento de dados ligados ao primeiro plano e a unidade de vetor 1 aos dados de 
segundo plano. O Emotion Engine ainda possui um co-processador IPU (Image Processing 
Unit) que acelera a decoficação MPEG e uma DMA de 10 canais que definem as 
transferências entre as memórias pequenas que fazem parte do chip (Howes, s.d.).
Por fim, apresentamos o sintetizador gráfico: responsável por receber os comandos de 
rendenização (listas de exibição) do Emotion Engine, efetuar as transformações necessárias e 
exibir o conteúdo final através de uma interface NTSC. Pensando na subdivisão de tarefas 
específicas para cada componente do sistema, o sintetizador gráfico possui memória DRAM 
embutida, além de um buffer de vídeo completo e dezesseis processadores de pixel paralelos 
para auxiliar no processo de recebimento das listas de exibição e posterior exibição. A 
concepção de uma arquitetura tendo memórias separadas é uma característica de muitos 
sistemas embarcados (Hennesy, 2009).
3.2 - Câmeras Sanyo VPC-SX500
A câmera digital pode ser considerada um sistema embarcado, aqui evidenciado 
através do modelo VPC-SX500 da Sanyo.
Ao ligar uma câmera digital, inicialmente é feito um teste com todos os componentes 
da máquina e, caso algum componente apresente alguma anormalidade uma mensagem é 
exibida na tela LCD. A maioria das câmeras digitais possuem um dispositivo CCD 
(responsável por capturar a iluminação do ambiente e fazer os ajustes necessários), microfone 
e auto falante, compactação MJPEG, memória flash, dentre outros. (Hennesy, 2009).
A questão do consumo de energia em sistemas embarcados é um dos itens essenciais 
quando da definição de seu projeto, sendo que existem várias técnicas (concepção de circuitos 
e hierarquia de memória, por exemplo) para que o projeto de hardware possa ser concebido de 
forma que possa consumir menos energia (Junior, 2007). Nesse quesito, a organização da 
câmera Sanyo busca um melhor desempenho quando o assunto é gerenciamento de energia 
pelos componentes constantes no hardware: isso se resume a uma maior autonomia de tempo 
com a câmera ligada com apenas um par de pilhas.
Nessa linha, o modelo de hardware adotado pela câmera digital Sanyo VPC-SX 500, 
se trata de um chip do tipo System on Chip (Hennesy, 2009).
Segundo Zhu, um System on Chip integra uma variedade de componentes 
computacionais ou eletrônicos em um único circuito integrado.
 A Figura 03 demonstra sistema em um chip encontrado nas câmeras digitais da 
Sanyo.
Figura 03 – Sistema em um chip encontrado em câmera digital Sanyo (Hennesy, 2009)
Podemos verificar a existência de dois barramentos, sendo um barramento de sinal e 
um barramento de CPU para que possa obter um melhor desempenho, trabalhando com itens 
específicos e de velocidades diferenciadas. Dessa forma, o barramento de CPU, de 16 bits, 
atende a dispositivos mais lentos (smart media, DMA) e o barramento de sinais, de 32 bits, 
atende a SDRAM, processador de sinais, codificador JPEG motion, codificador NTSC/PAL, 
dentre outros. Verificamos a presença de outros itens, tais como o dispositivo CCD, memória 
flash, ponte de barramento (que faz ligação entre os barramentos de CPU e o barramento de 
sinais), codificadores, dentre outros (Hennesy, 2009).
3.3 – Sistema para Controle de Acesso
O estudo de caso desenvolvido por Marcondes evidencia a construção de um 
controlador de acesso através da leitura de smart cards. A Figura 04 demonstra a arquitetura 
utilizada neste equipamento.
Figura 04 - Arquitetura utilizada em sistema de controle de acesso (Marcondes, s.d.)
A leitura do cartão smart card é feita através de leitor específico, onde as informações 
são enviadas ao sistema de forma serial, sendo verificada a existência de cadastro em um 
banco de dados armazenado na memória EEPROM de 512 bytes. Caso as informações de 
cadastro sejam localizadas, uma trava é liberada através da interface GPIO. O gerenciamento 
do sistema é feito por um microcontrolador AVT ATmega 16 (Marcondes, s.d.).
Um microcontrolador é um componente que possui microprocessador, memória e 
periféricos no mesmo encapsulamento (Zanco, 2011).
Wilmshurst reafirma que os microcontroladores possuem um núcleo de processamento 
simples, memória de dados e memória de programa, além de interfaces específicas para 
periféricos e entradas e saídas analógicas e digitais (Wilmshurst, 2007). 
O microcontrolador utilizado na solução de leitura de cartões utiliza um processador 
AVR de 8 bits com espaço de endereçamento de 16 bits, 16 Kb de memória de programa, 1 
Kb de memória RAM, possuindo ainda, conjunto de dispositivos como temporizadores 
programáveis, controladores de sinais e ADCs (Analogic Digital Converters).
3.4 – Veículos inteligentes
A automação veicular visa à segurança do motorista, além da automatização das 
tarefas realizadas, tais como: seguir na pista, se manter na faixa correta, dentre outros. 
Visando a segurança e apoio ao motorista, a indústria tem investido em sistemas embarcados, 
servindo como exemplos o freio GPS e sistema de estabilização do veículo (Jung, 2005).
Segundo He, um veículo inteligente é um dispositivo que não precisa de pessoas para 
dirigir, mas que utilizam a vantagem do GPS ou de rodovias projetadas para este tipo de 
veículo para realizar autopilotagem.
Nessa mesma linha, Jung evidencia a tecnologia drive-by-wire, que possibilita a 
dirigibilidade do veículo a partir de sinais eletrônicos e a utilização de sistemas embarcados 
atuando como co-pilotos e, ainda, ajudando o motorista na tomada de decisões.
Para um melhor entendimento desse tipo de veículo, analisamos a arquitetura de um 
veículo inteligente proposto por He, através da Figura 05. Esta arquitetura aborda 
especificamente o sistema de navegação do veículo inteligente.
Figura 05 – Arquitetura sistema de navegação de veículo inteligente (He, 2010)
Esta arquitetura consiste em diversos módulos responsáveis pela navegação, módulo 
rápido de detecção, unidade motora, módulo de direção, módulo do motor e módulo para 
comandos de ligação e desligamento do equipamento. O módulo de navegação, que utiliza 
vídeo padrão PAL, obtém as informações através de uma câmera CCD (Charge Coupled 
Device). O microcontroladorMC9S12DG128 faz parte do núcleo de controle deste 
equipamento. O chip LM1881 separa o vídeo para obtenção de sinais verticais e horizontais. 
O controlador MC33886 é responsável por controlar o motor (envolvendo controle específico 
para a mudança de ângulo das rodas e posterior dirigibilidade). O módulo rápido de detecção 
utiliza um sensor fotoelétrico fixado na parte superior frontal do carro para que possa verificar 
o caminho percorrido, provendo dados para o sensor de distância percorrida (He, 2010).
3.5 - Filtragem e pré-detecção de vazamento em oleodutos
Até o presente momento, verificamos alguns equipamentos onde existe a presença de 
sistemas embarcados. No entanto, existem inúmeras aplicações de sistemas embarcados 
baseados nos componentes que podem estar presentes neste tipo de sistemas, tais como DSP, 
microcontroladores ou microprocessadores que podem estar dispostos de uma forma 
diferenciada. É o caso do estudo realizado por Duarte, onde é proposto um sistema embarcado 
baseado em DSP para a detecção de vazamento de óleo em oleodutos.
O sistema proposto por Duarte é evidenciado na Figura 06, para um melhor 
entendimento.
Figura 06 – Sistema de aferimento de pressão em oleoduto
Na tubulação do oleoduto são instalados medidores de pressão em lugares estratégicos, 
onde cada medidor afere vinte amostras por segundo da vazão do líquido que passa pelo cano 
do oleoduto. As informações coletadas pelo medidor são enviadas ao DSP que, tendo-se sido 
programado para receber as amostras e efetuar um cálculo de média – verifica se houve 
vazamento no intervalo de tempo. Em caso positivo, as informações são enviadas para um 
CLP (Controlador Lógico Programável) que, por sua vez, envia os dados via wireless para a 
supervisão geral, onde serão analisados e as atitudes serão tomadas, se necessário (Duarte, 
2006). 
A Tabela 01 evidencia as principais características do DSP utilizado neste 
experimento.
Velocidade de Processamento 600 Mhz
Arquitetura RISC com 10 níveis de pipeline
Tamanho das instruções 16 / 32 bits
Memória SRAM 148 kb
Memória Flash 4 Mb
Linguagem de Programação C / C++ e Assembler
Tabela 01 – Características DSP (Fonte: Blackfin Embedded
Processor ADSP-533 Analog Devices apud Duarte)
4 – Conclusão
A utilização de sistemas embarcados tem crescido ao longo dos anos, podendo ser 
encontrados em diversos tipos de equipamentos do nosso dia-a-dia, tais como câmeras 
digitais, veículos, sistemas de controle de acesso, eletrodomésticos, dentre outros.
Tendo-se uma gama elevada sistemas embarcados, podemos encontrar diferentes tipos 
de arquitetura, dependendo do sistema analisado. Como exemplo dessa diferença entre 
arquiteturas, podemos tomar como base os equipamentos analisados neste artigo: o Play 
Station 2, a câmera digital Sanyo, um sistema de controle de acesso e um veículo inteligente.
Podemos concluir que o projeto associado a este tipo de equipamento deve ser 
elaborado de forma que exista uma preocupação com o consumo de energia, tamanho do 
equipamento e funções desempenhadas, resultando assim em arquiteturas diferenciadas para 
cada tipo de equipamento proposto.
Referências
Tanenbaum, Andrew S. (1999). “Organização Estruturada de Computadores”. LTC. 4. ed.
Wilmshurst, Tim. (2007). “Designing Embedded Systems with PIC Microcontrollers – 
Principles and Applications”. Elsevier.
Oliveira, André Schneider., Andrade, Fernando Souza. (2011) “Sistemas Embarcados – 
Hardware e Firmware na Prática”. Érica. 2 ed.
Hennessy, John L., Patterson, David A. (2009) “Arquitetura de Computadores – uma 
abordagem quantitativa”. Campus. 4 ed.
Zanco, Wagner da Silva. (2011) “Microcontroladores PIC 16F628A/648A – Uma abordagem 
prática e objetiva”. Érica. 2 ed.
Jung, C. R., Osório, F. S., Kelber, C., Heinen, F., (2005) “Computação Embarcada: Projeto e 
Implementação de Veículos Autônomos Inteligentes”, Anais do CSBC’05 XXIV 
Jornada de Atualização em Informática (JAI), v. 1, p. 1358-1406, São Leopoldo, RS: 
SBC.
Zurita, Marcos E. P. V., (s.d.) “Projeto de Sistemas Embarcados”, Universidade Federal do 
Piauí, Curso de Engenharia Elétrica, Campus Universitário Ministro Petrônio Portela.
Duarte, Victor J. L., Maitelli, André L., Salazar, Andrés O., Neto, Adrião D. D., Martins, 
Rodrigo S., Santos, Rodrigo P. R. (2006) “Sistemas embarcados baseados em DSP's 
para filtragem e pré-detecção de vazamentos em oleodutos”. Anais Rio Oil & Expo and 
Conference.
Lin, Bill., Vercauteren, Steven., Man, Hugo De., (1996) “Embedded Architecture Co-
Systhesis and System Integration”. Anais 4th International Workshop on 
Hardware/Software Co-Design.
Howes, Lee W., Price., Paul, Mencer., Oskar, Beckmann., Pell, Oliver. (s.d.) “Comparing 
FPGAS to graphics accelerators and the playstation 2 using a unified source 
description”. Department of Computing, Imperial College London. 
Junior, Arliones Stevert Hoeller, (2007) “Gerência do Consumo de Energia Dirigida pela 
Aplicação em Sistemas Embarcados” Dissertação de Mestrado. Universidade Federal de 
Santa Catarina.
Zhu, Minling., Wang, Xi., Xu, Min., (s.d.) “The analysis for System-on Chip Application on 
Full Authority Digital Engine Control System”. School of Jet Propulsion. Beihang 
University.
He, Wang., Yunzhu, Zhang., Quan, Yuan., Hao, Wu., (2010) “Intelligent Vehicle System 
Design Based on MC9S12 Microcontroller”. College of Information Science and 
Engineering. Anais International Conference on Electrical and Control Engineering. 
Northeastern University.
Marcondes, Hugo., Junior, Arliones Stvert Hoeller., Wanner, Lucas Francisco., Fröhlich, 
Augusto M., (s.d.) “Portabilidade de sistemas operacionais no domínio de sistemas 
embarcados”. Universidade Federal de Santa Catarina. Laboratório de Integração de 
Software e Hardware.

Outros materiais