Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/267298521
ARTICLE
READS
14
1 AUTHOR:
Marcos Zurita
Universidade Federal do Piau
3 PUBLICATIONS 18 CITATIONS
SEE PROFILE
All in-text references underlined in blue are linked to publications on ResearchGate, Available from: Marcos Zurita
letting you access and read them immediately. Retrieved on: 02 February 2016
Projeto de Sistemas Embarcados
Marcos E. P. V. Zurita
Universidade Federal do Piau, Curso de Engenharia Eltrica
Campus Universitrio Ministro Petrnio Portela - 64049-550 - Teresina PI
zurita@ufpi.edu.br, www.ufpi.edu.br/zurita
Segundo uma recente pesquisa realizada pela IDC 1. So dedicados a tarefas especficas enquanto
[2], cerca de 19% de todos os sistemas eletrnicos PCs so plataformas genricas de
vendidos hoje no mundo so sistemas embarcados, computao Esta caracterstica tem
e este nmero dever crescer para 33% at 2015. impacto principalmente no poder
Eles so atualmente responsveis por uma receita computacional da mquina. PCs devem
anual de 1 trilho de dlares, o que deve dobrar nos poder rodar um grande nmero de
prximos 4 anos, quando ento sero responsveis aplicativos, com diferentes exigncias de
pelo consumo de cerca de 14,5 bilhes de processamento, mantendo um bom
processadores por ano, mais de 2 para cada desempenho, enquanto SEs precisam realizar
habitante no mundo. apenas uma ou poucas tarefas bem
especficas;
O rpido crescimento desse setor implica numa
demanda igualmente crescente de recursos 2. So suportados por uma vasta gama de
humanos adequados para poder suplanta-lo. Em processadores e arquiteturas de
outras palavras, h uma imensa oportunidade para processadores Atualmente, mais de 40
projetistas e desenvolvedores na rea de projetos de empresas de semicondutores disputam o
mercado de microprocessadores e
microcontroladores [6]. Cada uma delas por grande variedade. A indstria automotiva,
sua vez oferece vrias solues distintas. por exemplo, possu um padro chamado
Apenas a Microchip [7], uma das lderes OSEK, no qual esto definidas uma srie de
deste segmento, tem hoje uma lista de mais especificaes a serem seguidas pelos seus
de 500 diferentes microcontroladores. RTOSs [13].
Naturalmente, um grande leque de opes
aumenta o grau de liberdade de escolha dos 6. Neles, as implicaes de uma falha de
projetistas mas tambm requer deles software so muito mais severas do que num
conhecimento adequado para encontrar as desktop muitos SEs interagem com o
solues mais apropriadas a cada projeto; ambiente ou seres humanos, como o caso
de sistemas de vida-crticos (life-critical
3. So geralmente sensveis aos custos a systems) [14][15], por exemplo. Falhas
maior parte dos sistemas embarcados podem ter consequncias no ambiente, no
possuem bem menos componentes e custam prprio sistema ou at mesmo nas pessoas
bem menos do que um PC. Evidentemente o em torno dele. Um bug no software do
impacto nos custos da adio de meia dzia sistema de injeo eletrnica de um
de componentes bem mais significativo automvel, por exemplo, pode reduzir a vida
num sistema que possui uma dzia deles do til de componentes do motor e aumentar o
que num que possui mais de uma centena. consumo e a emisso de gases poluentes. Um
Em alguns sistemas de identificao sem bug no software de controle da dosagem de
contato (RFId), um simples capacitor pode radiao de uma mquina de raios-X poderia
representar at 20% dos custos totais [8]. ter consequncias srias na sade do
paciente. Por essa razo, muitos SEs
4. Possuem requisitos de tempo-real neste possuem mecanismos de segurana para
aspecto, SEs geralmente podem ser divididos detectar e contornar falhas, tal como o
em dois grupos: os que possuem requisitos watchdog timer [16]. Neste aspecto, Peter
de tempo sensvel e os que possuem Marwedel [17] estabelece 5 parmetros de
requisitos de tempo crtico. As tarefas de caraterizao de SEs:
tempo crtico so intolerantes a atrasos,
devem ser realizadas dentro de um intervalo Confiabilidade: a probabilidade do
preciso de tempo ou a tarefa falha. O sistema sistema de no falhar;
de acionamento dos airbags de um carro so
um bom exemplo disso. Nele, alguns Manutenibilidade: a probabilidade
milissegundos podem fazer a diferena entre que uma falha no sistema possa ser
salvar ou no a vida do motorista [9]. Tarefas corrigida em um certo intervalo de
de tempo sensvel, por outro lado, so mais tempo;
tolerantes. Se a tarefa responsvel pelo Disponibilidade: a probabilidade do
fechamento da vlvula de gua de uma sistema estar disponvel. Ser tanto
mquina de lavar atrasar um ou dois maior quanto maior for sua
segundos, a roupa ser lavada com um pouco confiabilidade e manutenibilidade;
mais de gua alm do necessrio, perdendo
um pouco da eficincia almejada; Segurana: descreve a probabilidade
do sistema de no causar algum tipo de
5. Quando utilizam um sistema operacional, dano;
este quase sempre um RTOS A principal
Confidencialidade: descreve quo
diferena entre um Sistema Operacional de
capaz o sistema de manter dados
Tempo Real (RTOS Real Time Operating
confidenciais e de garantir uma
System) e um sistema operacional
comunicao autenticada;
convencional que num RTOS a importncia
para o sistema da finalizao de uma tarefa 7. Costumam ter restries no consumo de
um valor que varia com o tempo [10][11]. energia Ao contrario dos PCs, grande parte
Este valor geralmente descrito em termos dos sistemas embarcados so alimentados
de deadlines para finalizao de cada tarefa. unicamente por pequenas baterias. Neles, a
Uma vez que o tempo de resposta visto reduo de alguns miliwatts/hora no
como parte crucial da exatido do software consumo pode estender a durao das
(SW), ele deve poder ser comprovado sem baterias por dias ou meses. Frequentemente,
argumentos estatsticos [12]. Assim como os a responsabilidade de poupar energia
microcontroladores, os RTOSs existem em atribuda unicamente aos engenheiros do
hardware (HW), mas em SEs essa memrias RAM de alta capacidade,
responsabilidade deve ser compartilhada processadores grficos e monitores de alta
tambm pelos desenvolvedores do software. resoluo, so recursos comuns dos desktops
Em um PDA, por exemplo, o consumo pode atuais. A capacidade de armazenamento da
ser reduzido em at 60% atravs de memria RAM desses computadores
alteraes na forma como o software pessoais maior do que todo o disco rgido
escrito [18]. Evidentemente, as escolhas de um tpico PC do final da dcada de 90.
feitas no projeto do hardware tem impacto Com isso, a maior parte dos aplicativos
crucial no consumo do sistema. Em muitos podem ser escritos assumindo a memria
SEs o principal vilo do consumo o como um recurso infinito. Para um sistema
processador, mas esse nem sempre o caso. embarcado a realidade bem diferente. Na
A Pathfinder, sonda espacial enviada para maior parte deles a RAM no chega a
Marte, por exemplo, teve o consumo como quinhentos bytes, todo o SW deve caber em
uma das principais restries de projeto. alguns poucos kB e rodar em um processador
Todos os mdulos da sonda foram projetados cujo clock mal chega a 20 MHz. A
para poderem ser ligados e desligados quantidade de teclas bastante limitada
individualmente e a sonda inteira permanecia fazendo com que precisem acumular funes.
em sleep mode durante a noite, quando as Muitos no tem sequer um display e a
clulas fotovoltaicas deixavam de captar interface com o usurio se d atravs de
energia e a eficincia da bateria caa devido LEDs e sons. Evidentemente, o cdigo
queda de temperatura. Mesmo quando em escrito para essas aplicaes precisa observar
modo operacional, o software no podia uma srie de cuidados que os voltados para
manter ligado mais de um mdulo ao mesmo PCs no precisam. Uma simples operao
tempo devido escassez de energia matemtica, pode consumir 1% ou 70% da
disponvel [19]; memria em um dado microcontrolador,
dependendo apenas da forma como escrita;
8. Devem poder operar em condies
ambientais extremas A natureza porttil de 10. Geralmente todo seu programa fica
muitos sistemas embarcados implica que eles armazenado em uma ROM Esta
devem ser capazes de suportar as mesmas caracterstica pode parecer insignificante mas
condies que seus usurios ou sistemas no . Ter seu cdigo armazenado em uma
receptores. Um PDA deve poder funcionar ROM impe severas limitaes ao sistema. A
40C na praia de Copacabana, a -15C nos primeira, discutida anteriormente, diz
Alpes ou a 11.000 metros de altitude na respeito ao tamanho do cdigo. A outra est
cabine de um avio. Da mesma forma, o ligada aos mtodos usados para projeta-lo.
sistema de frenagem ABS deve funcionar no Um cdigo armazenado numa ROM no
calor de 45C de Teresina, no frio de -5C de pode ser depurado da mesma maneira como
Porto Alegre, em dias secos e dias chuvosos, ocorre nos PCs. Para inserir um breakpoint, o
e em todas essas mesmas condies aps depurador precisa remover uma instruo do
5.000 km de estrada de terra trepidante. Os programa e substitui-la por outra responsvel
requisitos ambientais de operao geralmente por desviar a execuo para algum ponto do
tm consequncias diretas no hardware e as depurador, tarefa impossvel numa memria
vezes at mesmo no software. Um que no pode ser alterada aleatoriamente;
processador que precise ser selado em
borracha de silicone para poder suportar 11. Requerem ferramentas e mtodos
elevados ndices de umidade, ter sua especializados para serem eficientemente
capacidade de dissipao trmica projetados O fato dos sistemas embarcados
comprometida e precisar ter seu clock serem compostos por hardware e software
reduzido, afetando o desempenho do integrados exige mudanas na sua forma de
software; concepo, teste e depurao, em relao a
um projeto de hardware e um projeto de
9. Seus recursos de sistema so extremamente software feitos isoladamente. Depurar um
menores do que os de um desktop sistema de processamento de vdeo no qual
Processadores com mltiplos ncleos parte dos blocos so implementados em
rodando frequncias superiores a 2 GHz, software e outra parte em hardware no
discos rgidos com capacidade da ordem de uma tarefa nada trivial e necessita bem mais
tera-bytes, barramentos de alto desempenho, do que um simples aplicativo de depurao.
portas de comunicao de alta vazo, Muitas vezes, necessrio projetar uma
plataforma que emule o sistema no qual o SE um modelo formal deve conter:
ser integrado, paralelamente ao projeto
deste, para ser usado nas etapas de teste e Uma especificao funcional, sob a forma
depurao. Depurar um sistema de controle de um conjunto de relaes explcitas ou
de altitude usando o prprio avio no implcitas que envolvem entradas, sadas, e
muito prtico, tampouco uma boa ideia; possveis estados internos;
Fase 4 Projeto
subsistemas, e assim por diante, at que seja Detalhado
descrito em termos de componentes do HW e SW
Por outro lado, tem a desvantagem de no Fig. 2: Fluxo de projeto de sistemas embarcados
permitir conhecer com preciso as reais
mtricas do sistema at que o ltimo passo Neste fluxo, o ciclo de vida do projeto de sistemas
tenha sido completado. Quando elas no embarcados divido em 7 fases:
atendem aos requisitos, o projeto precisa
1. Especificao do produto;
recuar e ser refeito repetidas vezes at que
eles sejam alcanados. Para minimizar esse 2. Particionamento do projeto em
inconveniente, so empregados os chamados componentes de hardware e software;
estimadores, ferramentas capazes de estimar
3. Iterao e refinamento do particionamento;
caractersticas de um nvel mais baixo de
descrio, tais como consumo, desempenho, 4. Tarefas independentes de projeto do
rea de silcio ocupada, latncia, vazo, etc., a hardware e do software;
partir de descries em mais alto nvel.
5. Integrao dos componentes de hardware e CPU.
software;
Durante a fase de iterao e refinamento do
6. Testes, aceitao e lanamento do produto; particionamento, o particionamento definido na
7. Manuteno e atualizao contnua. fase anterior posto prova por meio de
ferramentas de alto nvel. Projetistas de hardware
Na fase de especificao o sistema inicialmente podero se valer de ferramentas de simulao
descrito de maneira informal atravs de uma srie arquitetural, por exemplo, enquanto projetistas de
de especificaes. Durante a especificao deve-se software podero rodar ferramentas de benchmark
destacar de forma clara quais so os requisitos do em placas de avaliao do processador ou
projeto que se deseja realizar. Os requisitos so as microcontrolador escolhido. Em funo dos
guias-mestre do projeto e estabelecem critrios resultados obtidos nesta fase, o particionamento
importantes tomada de decises durante as etapas pode ser revisto, repetindo-se o processo at que as
futuras. Pontos de otimizao subjetiva, se simulaes forneam resultados satisfatrios,
existirem, devem ser colocados de forma indicando que o projeto atender aos requisitos
hierrquica, ou seja, devem ser estabelecidos em estabelecidos.
ordem decrescente de relevncia, j que muitas
vezes sua implementao conflitante, fazendo Uma vez concluda a fase de iterao e refinamento
com que a otimizao de um deprecie as do particionamento, tem incio a fase seguinte, na
caractersticas de outro. Um exemplo tipico o qual os componentes de hardware e software
projeto de um smartphone, no qual o desempenho devem ser implementados de fato. Cada um deles
de processamento e o consumo da bateria so duas modelado separadamente. Durante essa fase,
caractersticas que comumente se deseja otimizar. O ferramentas e tcnicas de verificao so
problema que, geralmente, o aumento do empregadas tanto nos componentes de HW quanto
desempenho implica no aumento do consumo. Se, nos de SW e os erros encontrados, corrigidos. Aps
ao final da fase 5, as duas caractersticas atenderem essa fase os componentes de HW e SW so
aos requisitos (com algum grau de liberdade), os reunidos e integrados (fase 5) de forma a compor o
projetistas devero saber qual delas dever ser sistema embarcado completo. Idealmente, ao se
priorizada na otimizao. Ao final da fase de reunir os componentes tudo deveria funcionar
especificao, as especificaes, inicialmente perfeitamente, mas a realidade costuma ser
informais, devem ter sido formalizadas diferente e erros aparecem. Por se tratarem de
(frequentemente atravs de alguma linguagem de sistemas complexos, a tarefa de se localizar e
alto nvel, como UML, por exemplo), de tal sorte corrigir as fontes dos problemas no costuma ser
que um diagrama de blocos do sistema embarcado algo evidente. Alm disso, alguns problemas podem
completo possa ser visualizado, e cada bloco ter seu mecanismo de ativao bastante complexo,
contenha especificaes funcionais e dependendo, por exemplo, de uma sequncia
comportamentais. especfica de pressionamento de teclas quando o
sistema se encontra em um dado estado interno e a
Na fase de particionamento HW/SW, os projetistas temperatura ultrapassa um valor limite. Neste
devero decidir quais partes do sistema sero ponto, ferramentas de co-simulao e verificao,
implementadas em hardware e quais sero em conjunto com instrumentos como osciloscpios
implementadas em software. Essas partes podem e analisadores lgicos costumam ser necessrios.
tanto ser blocos definidos na fase de especificao,
como tambm fraes deles (sub-blocos). Aps a integrao do sistema e depurao dos erros
Dependendo da metodologia utilizada, esse encontrados, vem a fase de testes e lanamento do
particionamento pode ser guiado em funo dos produto. Nesta fase o sistema testado
componente de HW e SW pr-existentes nas exaustivamente em condies idnticas s que ele
bibliotecas de projeto em uso. Deve-se notar no ser submetido aps o lanamento do produto.
entanto que essa deciso deve atender Durante esses testes, o sistema dever responder e
prioritariamente os requisitos estabelecidos na fase comportar-se conforme os requisitos estabelecidos
de especificao. A deciso de implementar um no incio do projeto.
dado bloco em hardware implica, na maioria das
vezes, num aumento da complexidade, tempo e Finalmente, aps o lanamento do produto no
custos do projeto, mas permite um ganho de mercado, vem a fase de manuteno e atualizao.
desempenho bem maior que sua implementao em Manter e atualizar o produto concebido costuma ser
software. Os aficionados por jogos de PC sabem bem mais lucrativo do que refazer todo um projeto
bem a diferena entre ter uma placa dedicada novamente. Faz parte dessa fase tambm a busca
acelerao grfica e emular OpenGL na prpria por otimizar as caractersticas do produto lanado,
bem como o enriquecimento da documentao Springer, Novembro de 2004.
externa (para o pblico) e interna (para os atuais e [11] Jensen, E.D., Locke, C.D., Tokuda, H., A
futuros projetistas) a respeito dele. Time-Driven Scheduling Model For Real-
Time Operating Systems, IEEE Real-Time
4 Concluso Systems Symposium, pp 112-122, 1985.
Foram apresentados alguns conceitos bsicos sobre [12] Kopetz, Hermann., Real-Time Systems
sistemas computacionais embarcados, e as linhas Design Principles for Distributed Embedded
gerais das metodologias de projeto mais aplicadas, Applications, 1 ed., Kluwer Academic
bem como uma exposio sucinta de alguns dos Publishers, Boston, MA, USA, 1997.
formalismos importantes. Embora pontos relevantes [13] OSEK/VDX Steering Committe,
tenham sido citados, uma quantidade imensa de OSEK/VDX Operating System, Ver. 2.0,
informao foi omitida pela brevidade deste rev. 1, outubro de 1997.
documento. Por essa razo, literaturas que [14] Bowen, J.P, Stavridou, V., Safety-Critical
considero imprescindveis foram citadas ao longo Systems, Formal Methods and Standards,
do texto, a fim de permitir aos seus leitores Software Engineering Journal, vol. 8, no. 4,
aprofundar seus conhecimentos a respeito do tema. pp: 189-209, Julho de 1993.
[15] Butler, R.W., Finelli, G.B., The Infeasibility
5 Referncias of Quantifying the Reliability of Life-Critical
Real-Time Software, IEEE Transactions on
[1] Klaus Finkenzeller, RFID Handbook:
Software Engineering, vol. 19, no. 1, pp. 3-12,
Fundamentals and Applications in
1993.
Contactless Smart Cards and Identification,
[16] Fumihide Kitamura et al., Watch Dog
2 ed., Wiley, 2003.
timer, United States Patent, Patent number:
[2] Morales, M., Rau, S., Palma, M.J.,
4752930, 21 de Junho de 1988.
Venkatesan, M., Pulskamp, F., Dugar, A.,
[17] Marwedel, P., Embedded System Design -
Worldwide Intelligent Systems 20112015
Embedded Systems Foundations of Cyber-
Forecast: The Next Big Opportunity,
Physical Systems, 2 ed., Springer, 2011.
International Data Corporation - IDC,
[18] Ellis, C.S., The Case for Higher-Level
Setembro de 2011.
Power Management, 7th IEEE Workshop on
[3] IEEE Standard Glossary of Software
Hot Topics in Operating Systems (HotOS-
Engineering Terminology, Version 610.12-
VIII), pp. 162167, Rio Rico, AZ, Maro de
1990, Standards Coordinating Committee of
1999.
the IEEE Computer Society, pp. 30, USA,
[19] H. W. Stone, Mars Pathfinder Microrover:
1990.
A Low-Cost, Low-Power Spacecraft, 1996
[4] Heath, Steve, Embedded System Design, 2
AIAA Forum on Advanced Developments in
ed., Elsevier, 2003.
Space Robotics, Madison WI, 1996.
[5] Berger, A.S., Embedded Systems Design
[20] Wolf, W., Computers as Components -
An Introduction to Process, Tools, &
Principles of Embedded Computing System
Techniques, CMP Books, USA, 2002.
Design, Morgan Kaufmann Publishers, San
[6] Levy, Marcus, EDN
Francisco, 2 ed., Junho de 2008.
Microprocessor/Microcontroller Directory,
[21] Edwards, S., Lavagno, L., Lee, E.A.,
EDN, 14 de setembro de 2000.
Sangiovanni-Vincentelli, A., Design of
[7] Microchip Technology Inc.,
Embedded Systems: Formal Models,
www.microchip.com, outubro de 2011.
Validation and Synthesis, IEEE, vol. 85, No
[8] Swamy, G., Sarma S., Manufacturing Cost
3, pp. 366390, Maro de 1997.
Simulations for Low Cost RFID Systems,
[22] IEEE, IEEE Std 1012-2004 - IEEE
Auto-ID Center, MIT, USA, fevereiro de
Standard for Software Verification and
2003.
Validation, Reviso do padro IEEE Std
[9] Jung, C. R.; Osrio, F. S.; Kelber, C.; Heinen,
1012-1998, 2004.
F., Computao Embarcada: Projeto e
[23] Gajski D., Kuhn, R., New VLSI Tools,
Implementao de Veculos Autnomos
Computer Magazine, pp 1114, Dezembro de
Inteligentes, Anais do CSBC05 XXIV
1983.
Jornada de Atualizao em Informtica (JAI),
[24] Gajski, D.D., Abdi, S., Gerstlauer, A.,
v. 1, p. 13581406, So Leopoldo, RS: SBC,
Schirner, G., Embedded System Design -
julho de 2005.
Modeling, Synthesis and Verification,
[10] Stankovic, J.A., Rajkumar, R., Real-Time
Springer, 2009.
Operating Systems, Real-Time Systems
[25] Sangiovanni-Vincentelli, A., Martin, G.,
Journal, Vol. 28, Issue 2, pp. 237-253,
Platform-based Design and Software
Design Methodology for Embedded
Systems, IEEE Design and Test for
Computer, vol. 18, n. 6, p. 23-33, 2001.