Você está na página 1de 8

Alessandro F. Cunha O que so sistemas embarcados?

1. Introduo
Alguma vez voc j se deu conta que o microondas de sua casa tem uma capacidade computacional maior do que tinha o projeto Apolo, que levou o homem a lua? Uma tendncia que se observa que cada vez mais inteligncia ser adicionada aos equipamentos do dia-a-dia. E ao contrrio do que alguns filmes de fico cientfica previam, como em 2001 Uma odissia no espao e seu supercomputador Hall, o controle, as decises e o gerenciamento no sero concentrados em um nico computador central, mas sero distribudos entre todos os elementos de um ambiente. Embarcar inteligncia em equipamentos a tendncia futura. Vejamos ento o que so os sistemas embarcados.

2. O que so os sistemas embarcados?


Colocar capacidade computacional dentro de um circuito integrado, equipamento ou sistema. Esta uma definio para o que um sistema embarcado. Note que um sistema como este deve ser mais do que um simples computador. um sistema completo e independente, mas preparado para realizar apenas uma determinada tarefa. O usurio final no ter acesso ao programa que foi embutido no dispositivo, mas poder interagir com o equipamento atravs de interfaces como teclados, displays, etc. desde que o sistema tenha sido projetado para tanto. Voltando ao exemplo do forno de microondas, ao pressionar uma tecla como PIPOCA, um sistema interno deve saber ajustar a potncia correta, selecionar e medir o tempo em que o forno deve ficar acionado e emitir um sinal quando a tarefa for concluda. Para executar esta simples operao, o crebro do forno deve receber sinais de sensores (como o da porta, para saber se a mesma foi realmente fechada), fazer acionamento do equipamento de potncia, calcular o tempo da operao, acionar o motor que far a rotao do prato, permitir que o usurio interrompa a operao a qualquer tempo, atualizar o display, medir quanto tempo se passou desde o incio da operao,etc. Ufa! Diferente dos computadores, que rodam sistemas operacionais como base para que outros aplicativos diversos sejam instalados e utilizados (cada um para uma aplicao diferente), os sistemas embarcados so construdos para executar apenas uma tarefa pr-determinada. Muitas vezes no tem flexibilidade (de software e de hardware) que os permita fazer outra tarefa qualquer que no sejam aquelas para qual foram desenhados e desenvolvidos.

A nica flexibilidade permitida e desejada no caso de um upgrade de novas verses, fazendo com que o sistema possa ser re-programado, geralmente com correes ou novas funes que o tornam melhores. Mas isto sempre feito pelos fabricantes e quase nunca pelos usurios finais. H ento a necessidade de um crebro que gerencie todo o funcionamento deste sistema. Um microprocessador ou microcontrolador a opo ideal para esta funo, j que ambos tm capacidade de fazer a leitura de sinais externos, executar programas com as tarefas a serem feitas, processar os sinais e enviar para atuadores os resultados esperados. Quem programa e desenvolve sistemas embarcados costuma pensar neles como entradas, sadas, processamento, memrias, ambiente onde ser utilizado, etc., como pode ser visto na figura 01. J o usurio final se preocupa apenas em como utilizar este sistema e o que ele agrega de valor a um produto, em termos de reduo de custos, aumento de funcionalidade, aumento de desempenho, etc.

Figura 01 Elementos bsicos de um sistema embarcado.

3. Caractersticas de um sistema embarcado


Como principais caractersticas de um sistema embarcado tem-se a sua capacidade computacional e a sua independncia de operao. Outros aspectos relevantes so referentes aos tipos de sistemas, modos de funcionamento e itens desejados em aplicaes embarcadas.

3.1.

Tipos de aplicaes de sistemas embarcados

Propsito geral: so as aplicaes mais parecidas com os computadores de mesa, mas em embalagens embarcadas. Nelas costuma haver grande interao entre os usurios e o sistema, geralmente atravs de terminais de vdeo ou monitores. Como exemplo tem-se os videogames, os conversores de TV a cabo, caixas de bancos, etc. Sistemas de controle: controles em malha fechada com realimentao em tempo real. Geralmente so as aplicaes mais robustas, com placas dedicadas e mltiplos sensores de entrada e sada. Muitas vezes fornecem pouca interao com o usurio, mostrando sinalizaes atravs de LEDs. Usados nos motores de automveis, processos qumicos, controle de vo, usinas nucleares, etc. Processamento de sinais: onde envolve um grande volume de informao a ser processada em curto espao de tempo. Os sinais a serem tratados so digitalizados atravs de ADs, processados, e novamente convertidos em sinais analgicos por DAs. Caso de tratamento de udio, filtros, modens, compresso de vdeo, radares e sonares, etc. Comunicaes e redes: chaveamento e distribuio de informaes. Sistemas de telefonia e telecomunicaes e internet.

3.2.

Modos de funcionamento de sistemas embarcados

Os dois modos de funcionamento dos sistemas embarcados, apresentados abaixo, so determinantes para saber como programar o dispositivo e como ser seu funcionamento e comportamento na aplicao para o qual foi desenhado.

Reativo: o funcionamento se d como resposta a eventos externos, que podem ser peridicos (caso de sistemas rotacionais ou de controles de loop) ou assncronos (pressionamento de um boto por parte do usurio). H, ento, uma necessidade de entrada de dados para que aconteam as aes de funcionamento. Geralmente no h limite de tempo para que os sinais de entrada sejam acionados, pois dependem da interao com o usurio ou com o processo ao qual destinado. Porm, a sada, funo do sinal de entrada, deve ser realizada exatamente aps os sinais de entrada comear a atuar. Controle em tempo real: existem limites de tempo para executar cada tarefa (leitura de sensor, emisso de sinais para um atuador, atualizao de display, etc.). Por isso mesmo, nem sempre tempo real igual ao modo mais rpido de executar uma tarefa. Estes modo de operao, por serem cclicos, no dependem da entrada se sinais para executar as atividades, sendo capaz de tomar decises referentes a ausncia dos mesmo. Os sistemas de tempos real so classificados em: o Soft Real Time: As tarefas podem ser executadas em um intervalo de tempo especfico, sem conseqncias graves se este limite de tempo no for cumprido. Um exemplo um sistema bancrio, onde apenas uma mensagem de erro aparecer se determinada tarefa no for realizada dentro do tempo prdeterminado. A maior preocupao durante a programao dos dispositivos relativa a repetio de procedimentos que podem ter sua prazo estourado e sobre as mensagens de alerta ao usurio. o Hard Real Time: As tarefas devem ser executadas em um tempo especfico, com conseqncias graves se qualquer tarefa falhar. Como exemplo pode-se pensar nos sistemas de controle de um avio, onde uma falha pode resultar em queda e perdas de vidas. A maior preocupao durante a programao dos dispositivos relativa a ter sempre sistemas redundantes (duplicados) que empeam ou alertem imediatamente caso algum processo falhe ou no seja executado dentro do tempo pr-determinado.

3.3.

O que desejvel em um sistema embarcado?

As caractersticas mais desejadas em sistemas embarcados so: Tamanho e peso: sempre os menores possveis. Com a crescente miniaturizao dos equipamentos eletroeletrnicos, os itens tamanho e peso so fatores decisivos na competitividade de um produto. Sem contar os custos envolvidos no envio de equipamentos grandes e pesados, j que um usurio pode adquirir um sistema embarcado em qualquer parte do mundo. Consumo de energia: quanto maior for a autonomia do sistema e menor for sua necessidade de recarga ou troca de sistema de alimentao, mais competitivo ser o produto, sem contar que as atuais legislaes referentes ao consumo de energia prevem a necessidade cada vez maior de eficincia energtica. Robustez do equipamento: muitos sistemas embarcados so projetados para trabalhar em ambientes com condies adversas (vibraes, calor, poeira, variaes na tenso de alimentao, interferncias eletromagnticas, raios, umidade, corroso, etc.). necessrio resistir bravamente a todas estas interferncias e sobreviver.

4. Exemplos de aplicaes embarcadas


Os sistemas embarcados esto a nossa volta e estamos de certo modo to envolvidos por eles que nem nos damos conta de que determinado dispositivo trata-se de um sistema embarcado. Alguns exemplos que podem ser citados, com suas respectivas caractersticas so:

4.1.

Aplicaes embarcadas no setor automotivo

Um veculo top de linha um excelente exemplo de um complexo sistema literalmente embarcado. Centenas de sensores fornecem informaes sobre todo o funcionamento do veculo. Vrias unidades de processamento independentes atuam em regies diferentes e se comunicam entre si, captando os sinais deste sensores e fazendo com que as aes referentes a cada caso sejam tomadas. Esta comunicao geralmente se d atravs de redes cujo protocolo CAN tem se tornado o padro. Isto acontece desde a central que memoriza a posio dos bancos, espelhos, volante, etc. para cada usurio do veculo at a central que gerencia o funcionamento do motor.

Esta rede de comunicao, alm de permitir total interao entre as diferentes reas internas do veculo, faz com que haja uma grande diminuio da fiao interna, j que todos os elementos se conectam a rede por apenas dois fios, que constituem um barramento de comunicao. A figura 02 ilustra esta situao.

Figura 02 Vrios sistemas embarcados em um automvel, se comunicando por barramento CAN.

4.2.

Aplicaes embarcadas em chips

Est se tornando cada vez mais comum o surgimento de chips que so um sistema inteiro em uma nica pastilha, tambm conhecidos como SoC (Systems on Chip). o caso de microcontroladores que j tem embutidos sensores (temperatura, presso, etc.), transmissores (RF), interfaces grficas para displays, etc. Como exemplo mostrado na figura 03 o diagrama em blocos do microcontrolador MC68HC908RF2, da Freescale, que j tem uma unidade transmissora e receptora de RF. Isto permite montar um sistema embarcado que se comunique sem fios com outros elementos, criando uma rede wireless.

Figura 03 Diagrama em blocos do C MC68HC908RF2, da Freescale.

Uma evoluo ainda mais poderosa deste conceito o PSoC (Programmable System on Chip), um microcontrolador fabricado pela Cypress. Nele uma CPU com arquitetura Harvard pode ser interligada via software a diversos perifricos disponveis, entre funes analgicas, digitais e de comunicaes, criando um CI que estar customizado para uma determinada aplicao. Pode ser dizer que cada usurio ser capaz de montar seu sistema embarcado, com as caractersticas necessrias ao seu projeto. O diagrama em blocos bsico desta arquitetura mostrado na figura 04.

Figura 04 Diagrama em blocos do PSoC, da Cypress.

Você também pode gostar