Escolar Documentos
Profissional Documentos
Cultura Documentos
*******o contrário de um PC, que pode executar os mais diversos programas e alternar entre
eles, desempenhando as mais diversas funções, os sistemas embarcados são
dispositivos "invisíveis", que se fundem no nosso cotidiano, de forma que muitas
vezes sequer percebemos que eles estão lá. Eles são formados por
fundamentalmente os mesmos componentes de um PC: processador, memória,
algum dispositivo de armazenamento, interfaces e assim por diante. A principal
diferença é que, ao contrário de um PC, eles se limitam a executar bem uma única
tarefa, de maneira contínua e, na maioria das vezes, sem travamentos e panes.
O fato de ser um sistema embarcado, não diz muito sobre o tamanho ou a
importância do sistema, pode ser desde um furby, até uma máquina com centenas
de processadores, destinada a criar previsões sobre mercados de captais, ou
controlar o tráfego aéreo. Basicamente, qualquer equipamento autônomo que não é
um PC, Mac ou outro tipo de computador pessoal, acaba caindo nesta categoria.
É graças aos sistemas embarcados que o Z80 (em suas inúmeras variações) é até
hoje o processador mais produzido. Por ser um processador muito simples, de 8
bits, ele é incrivelmente barato e possui um baixíssimo consumo elétrico. Não seria
possível incluir um Core Duo ou Athlon num controle remoto, por exemplo, mas um
Z80 () cumpre bem a função. Lembra do game boy? Ele era justamente baseado
num Z80, acompanhado de um controlador de áudio externo e outros circuitos.
Outro exemplo são os S1 Mp3 players, aqueles Mp3 players genéricos em formato
de pendrive, fabricados em massa pelos mais diversos fabricantes.
Um bom exemplo de sistema embarcado é este MP4 player sobre o qual escrevi
outro dia. Ele utiliza apenas três chips, sendo um o controlador principal, outro um
chip de memória flash (usado para armazenamento) e o terceiro um sintonizador de
rádio AM/FM, que poderia muito bem ser retirado do projeto sem prejuízo para as
demais funções do aparelho:
É este tipo de microcontrolador que permite que modems ADSL, MP3 players,
celulares e outros aparelhos que usamos no dia a dia sejam tão baratos em relação
ao que custavam a alguns anos atrás. Com menos chips, o custo cai
proporcionalmente.
Um único FPGA pode simular não apenas um processador simples, mas também
outros circuitos de apoio, como o controlador de vídeo, interface serial e assim por
diante. Os modelos recentes incluem inclusive uma pequena quantidade de
memória RAM e circuitos de apoio, de forma que você pode ter um sistema
completo usando apenas um chip FPGA previamente programado, um chip de
memória EPROM (ou memória flash) com o software, a placa de circuito com as
trilhas e conectores e uma bateria ou outra fonte de energia.
Os FPGAs são naturalmente muito mais caros que chips produzidos em série, mas
são uma opção em situações onde são necessários apenas algumas centenas de
unidades de um design exclusivo. Imagine o caso do ramo da automação industrial,
por exemplo.
Eles são também o caminho para projetos artesanais, que são a nova onda entre
quem gosta de eletrônica ou está cursando engenharia da computação. Um bom
site dedicado ao assunto é o http://www.fpga.ch/, que disponibiliza softwares,
layouts de placas e até mesmo projetos prontos, como este que reproduz uma
máquina de arcade antiga, rodando Pac-Man ou Galaga:
Outro bom site é o http://www.fpga4fun.com, que inclui uma grande quantidade de
informações e alguns projetos de exemplo. Os componentes necessários para
construir os projetos podem ser comprados facilmente pela web, basta ter um
cartão internacional ou uma conta no PayPal.
Nos primeiros Palms, por exemplo, tínhamos um chip de memória flash, que
armazenava os softwares e chips adicionais de memória SRAM, que serviam tanto
como memória de trabalho, quanto como espaço para armazenar dados e
programas. A partir do Treo 650, todos os programas e arquivos passaram a ser
armazenados em memória flash (você pode remover a bateria, sem medo de
perder dados) e foi adicionado um chip de memória SRAM que serve como memória
de trabalho :). A grande questão é que memória SRAM é muito mais cara que
memória flash, de forma que vale mais a pena utilizar uma pequena quantidade de
SRAM e uma grande quantidade de memória flash, do que o oposto.
O uso de redes sem fio também abre algumas possibilidades interessantes na área
publicitária. Imagine o caso de letreiros eletrônicos ou telões publicitários. Se os
anúncios pudessem ser atualizados remotamente, a instalação seria muito mais
simples, já que bastaria ligá-los na eletricidade. Um sistema embarcado, contendo
um transmissor wireless, memória e o software adequado, poderia ser acessado
remotamente e programado com os anúncios a exibir.
CARACTERÍSTICAS DE SISTEMAS
EMBARCADOS
Sistemas embarcados são desenvolvidos para uma tarefa específica. Por questões como segurança e
usabilidade, alguns inclusive possuem restrições para computação em tempo real. O software escrito para
sistemas embarcados é muitas vezes chamado firmware, e armazenado em uma memória ROM ou
memória flash ao invés de um disco rígido. Por vezes o sistema também é executado com recursos
computacionais limitados: sem teclado, sem tela e com pouca memória.
Todos estes fatores também podem ser traduzidos em custo reduzido. Processadores utilizados em alguns
sistemas embarcados podem ter preços menores que US$1.
ARQUITETURAS DE
PROCESSADORES
Sistemas embarcados utilizam vários tipos de processadores: DSPs(digital signal processors -
processadores digitais de sinais), micro-controladores, micro-processadores. Ao contrrário do mercado de
computadores pessoais, que é basicamente dominado pelos processadores de arquitetura x86 da
Intel/AMD, sistemas embarcados utilizam amplamente as arquiteturas ARM, PowerPC, PIC, AVR, 8051,
Coldfire, TMS320, blackfin.
Apesar de serem bem mais conhecidos pela população em geral, estima-se que os processadores de
computadores pessoais representam menos de XX% do mercado de processadores no mundo.
SISTEMAS
OPERACIONAIS
Sistemas embarcados, que geralmente contam com uma quantidade reduzida de recursos como memória,
poder de processamento e outros requisitos como processamento em tempo real, não são projetados para
utilizar sistemas operacionais destinados aos computadores pessoais.
Sistemas embarcados geralmente utilizam sistemas operacionais de tempo real especiais que além de
consumirem muito menos memória e processamento, são muito mais estáveis e confiáveis.
Imaginem se acontece uma famosa "tela azul" em um sistema médico que controla a vida de uma pessoa,
ou em um sistema de controle de uma aeronave em pleno vôo.