Anda di halaman 1dari 7

Intro.

Como colocado, um sistema Embarcado um dispositivo fsico que realiza uma


funo especfica. Ento ele funciona controlando processos, isto , analisando
um problema e atuando sobre ele. Isso se d pela ao de perifricos de
entrada, que abstraem informaes do ambiente e as jogam para uma central
de processamento, que normalmente executa um software que interpreta e
digere os dados e d o comando para os perifricos de sada, que vo, assim,
realizar alguma ao sobre o ambiente.
Essa ao pode ser a mais simples possvel; por exemplo, acender uma
lmpada a partir da luminosidade do local, ou tambm um das mais
complexas, como funcionar como o piloto automtico de um avio.
Nesse sentido, as funes, a complexidade e, com certeza, a fisiologia de
Sistemas Embarcados so muito variadas. No entanto, pode-se traar uma
certa arquitetura computacional que muito frequente.
1.0 Harware
De forma simplificada, essa a cara de um Sistema embarcado, que,
fisicamente por tanto ter partes mecnicas quanto eletrnicas:

[legenda: esquema simplificado de um sistema embarcado]


1.1 Sensores

Os sensores captam informaes do ambiente. Essas informaes so


primordiais para a unidade de processamento, pois com base nelas as decises
podem ser tomadas.
Tipos de sensores usados em sistemas embarcados

Fotoeltrico;

Detectores de sons;

Velocidade;

Temperatura;

Magnticos;

Presso;

Acelermetros;

Giroscpios;

Gs e fumaa;

Muitas vezes, os dados vindos dos sensores so sinais analgicos, isto , sinais
contnuos, que variam com o tempo e que no podem ser interpretados pela
unidade de processamento, que s analisa sinais digitais, na forma de bits:
zeros e uns.

Normalmente, os sinais analgicos vm de dispositivos chamados de


transdutores, que convertem um tipo de energia em outro, como um microfone
ou um fotossensor.
Assim, na interface, ns temos os conversores analgico-digitais, que fazem a
comunicao entre os sensores e a central de processamento.
1.2 Unidade de processamento
H uma unidade de processamento, que executa instrues, realiza clculos,

toma decises e manupula eventos baseado nas informaes que so


transmitidas pelo barramento, que o que faz a conexo entre os
componentes do sistema computacional.
1.3 Memrias.
As memrias registram dados e instrues relacionados ao que est
acontecendo na CPU.
1.4 Perifricos de sada.
H, por fim, os perifricos de sada, os atuadores, que so comandados por
instrues vindas da CPU e permitem que os Sistemas Embarcados atuem
sobre o ambiente. Os atuadores so dispositivos que realizam aes que
interferem no processo que est sendo controlado (Mundo externo).
Alguns exemplos:

Motores;

Ventiladores;

Luzes;

Aquecedores;

Resfriadores;

Chaveadores;

E novamente, pode haver conversores digitais-analgicos pra ligar os


atuadores CPU.
1.5 Comunicao digital com o Mundo externo
Os Sistemas embarcados tambm podem ter interfaces Wi-fi, de Bluetooth,
USB, Portas Serial e Paralela, Internet: para se comunicar de forma no
analgica com o exterior, normalmente com outros sistemas embarcados,
atravs de protocolos de envio de sinais.
Por exemplo, em carros modernos, h a comunicao entre vrios sistemas
embarcados. Isso feito atravs de um protocolo chamado CAN.
E tambm h o PGIO, que so os pinos reprogramveis de entrada e sada, que
encontramos em placas de estudo, como Arduino e Raspberry Pi.
1.6 Microprocessaores e Microcontroladores
Dedendendo do projeto, pode-se implementar tanto microprocessadores,
quanto microcontroladores.

Um microprocessador um circuito que, ele por ele, somente realiza funes


de clculo e tomada de decises em um sistema computacional. Ele tem toda
uma estrutura de Unidade de Lgica Aritmtica, contadores, registradores,
Unidade de controle, etc. Mas para que ele funcione, necessrio mais
hardware: externamente precisa-se adicionar memria, barramento,
conversores analogicos-digitais, etc.
Diferente de um microcontrolador, que no precisa de componentes externos
pra funcionar: dentro dele, h todos os perifricos necessrios para seu
funcionamento. Em um microcontrolador, as mmorias RAM e ROM,
conversores, temporizadores e a CPU em si so todos integrados em um bloco.
Por isso, microcontroladores gastam menos energia, so mais baratos e mais
compactos
No entanto, microprocessadores volumosos e caros, mas so mais robustos.
Escolher entre um ou outro depende do nvel do projeto
2.0 Software
Para que um sistema embarcado desempenhe uma funo, ele precisa ser
programado, isto , eu preciso dar a ele instrues para que ele colete dados
de sensores ou de protocolos externos, compute isso de alguma forma e faa
algo: emitir um sinal de vdeo pra uma tv, gravar informaes num CD, ligar
luzes, etc.
As linguagens utilizadas so:

C;

Assembly;;

C++;

Java;

Em alguns casos, determinados fabricantes de hardware tem suas prprias


linguagens.
Na maioria das vezes, sistemas embarcados desempenham funes muito
simples, que no precisam lidar com muita informao, assim, tanto o harware
quando o software so simplssimos. Nesses casos, o software implementado
em linguagem de mquina. O software chamado "Firmware".
J em sistemas mais complexos, quando eu tenho vrios processos rodando ao
mesmo tempo, eu posso implementar Sistemas Operacionais Embarcados, pra
fazer um gerenciamento melhor de dados, alm de, quando eu tenho interao
com usurio, permitir que o usurio reprograme o equipamento. No entanto, h
uma maior dificuldade em se implementar Sistemas Operacionais, devido

necessidade de Hardware, principalmente de memria e de CPU e tambm por


que a arquitetura de software muito complexa.
Quando o software executado no est gravado no HD (quando esse existir),
ele fica nas memorias ROM(no volteis, no regravveis) ou Flash (no voltil,
regravvel).
3.0 Harware e software especficos
Novamente: os sistemas embarcados tm um incrvel flexibilidade:
3.1 Sistemas embarcados podem se assemelhar muito a um computador
pessoal, em termos de arquitetura, software e de poder computacional. Qual a
diferena nesses casos? Deve-se lembrar que o Sistema Embarcado tem uma
funo especfica, alm de ser limitado fisicamente, enquanto um PC de uso
geral e bem interativo com o usurio e muito poderoso.
3.2 Um sistema embarcado pode ou no ter uma interface de comunicao
com o usurio. Os sistemas normalmente tem interface, simples, como LEDs,
alguns botes ou um LCD e at monitores em casos mais complexos.
3.3 Pode ou no ter sensores, isto , ele pode ser de malha aberta, quando o
sistema toma decises a partir de informaes ambientais ou malha fechada,
quando isso no acontece.
3.4 Pode ou no ter software.
3.5 FPGA

FPGA (do ingls Field Programmable Gate Array: Arranjo de Portas Programvel em

Campo) uma espcie de circuito utilizado para o processamento de informaes


digitais. Ele recebe esse nome por ser um hardware flexvel, isto , ao contrrio da maioria
dos chips que encontramos no nosso dia a dia, ele pode ser reconfigurado pelo usurio ou o
projetista, mas no apenas programando-o e sim descrevendo o seu hardware:
Fazendo as ligaes entre os chamados blocos lgicos e criando estruturas lgicas,
diferentemente de um programa, que executa uma instruo linha por linha, ele computa as
informaes vindas das entradas usando lgica booleana e as joga para as sadas.

A lgica implementada nesses sistemas, como nas CPUs usuais tambm


baseia-se em lgica booleana (verdadeiro e falso, zero e um, ligado e
desligado). Os blocos lgicos do FPGA podem ser programados para operarem
como operadores lgicos: AND, XOR, OR, NOR, NAND e XNOR.
FPGAs usam a linguagem VHDL, que uma linguagem para descrio de
hardware. No uma linguagem de programao, uma linguagem de
descrio, isto , como o hardware e o que ele tem de fazer, diferentemente
de uma linguagem de programao, em que um programa executado linha a
linha pra que uma funo seja implementada.
3.6 Processador digital de sinais
Os DSPs (do ingls Digital Signal Processor) so microprocessadores que operam
os dados em tempo real. O prprio Hardware e a arquitetura (Harvard, mais
rpida que Von Neuman) so projetados para aplicao em termos de sinais,
normalmente de udio e vdeo. Eles so muito mais rpidos que CPUs
programveis para uso genrico, assim, eles so perfeitos para aplicaes em
que o delay no tolerado.
Para program-los, precisa-se de uma IDE. Pode-se program-lo utilizando as
linguagens mais usuais (Assembly, C, C++). Cada fabricante, ao desenvolver o
hardware, j implementa algumas funes pr-definidas para a IDE, que so
exploradas por quem programa o DSP.
Suas aplicaes vo desde tratamento e melhoramento de udio,
reconhecimento de voz, cancelamento de ruidos e ecos (Active Noise
Cancelation), at tratamento de vdeo, reconhecimento de padres, rostos,
etc., radiologia, reconhecimento de placas de carro e sensoriamento remoto,
como as aplicaes em Meteorologia, isto , na interpretao de imagens.

Nesse sentido, os projetos de sistemas embarcados podem ir de uma enorme


simplicidade, at ao ponto de se confundirem com um computador pessoal. O
que vai determinar qual vai ser o nvel do meu projeto a equacionamento de
hardware e software a partir das variveis: custo e necessidade (desempenho,
tamanho, segurana). Mas tambm podem surgir outros problemas.