Visita Encydia-Wikilingue.com

Sistema embebido

sistema embebido - Wikilingue - Encydia

Imagem do interior de um modem/enrutador ADSL. Um exemplo de um sistema embebido. As partes marcadas incluem um microprocesador (4), RAM (6), e uma memória flash (7).

Um sistema embebido ou empotrado é um sistema de computação desenhado para realizar uma ou algumas poucas funções dedicadas[1] [2] frequentemente em um sistema de computação em tempo real. Os sistemas embebidos utilizam-se para usos muito diferentes aos usos gerais aos que se costumam submeter aos computadores pessoais. Em um sistema embebido a maioria dos componentes encontram-se incluídos na placa baseie (o cartão de vídeo, audio, módem, etc.) ainda que muitas vezes os dispositivos não luzem como computadores, por exemplo relógios de táxi, registradores, controles de acesso entre outras múltiplas aplicações. Pelo geral os sistemas embebidos podem-se programar directamente na linguagem assembler do microcontrolador incorporado sobre o mesmo ou bem, utilizando algum compilador especifico, costumam se utilizar linguagens como C, C++ e até em alguns casos BASIC.

Dois das diferenças principais são o preço e o consumo. Já que os sistemas embebidos podem-se fabricar por dezenas de milhares ou por milhões de unidades, uma das principais preocupações é reduzir os custos. Os sistemas embebidos costumam usar um processador relativamente pequeno e uma memória pequena para reduzir os custos. Enfrentam-se, sobretudo, ao problema de que uma falha em um elemento implica a necessidade de consertar a placa íntegra.

Lentidão não significa que vão à velocidade do relógio. Em general, costuma-se simplificar toda a arquitectura do computador para reduzir os custos. Por exemplo, os sistemas embebidos empregam com frequência periféricos controlados por interfaces síncronos em série, que são de dez a centos de vezes mais lentos que os periféricos de um computador pessoal normal. As primeiras equipas embebidos que se desenvolveram foram elaborados por IBM nos anos 1980.

Os programas de sistemas embebidos enfrentam-se normalmente a problemas de tempo real.

Conteúdo

Componentes de um sistema embebido

Na parte central encontra-se o microprocesador, microcontrolador, DSP, etc. Isto é, a CPU ou unidade que contribui capacidade de cómputo ao sistema, podendo incluir memória interna ou externa, um micro com arquitectura específica segundo requisitos.

A comunicação adquire grande importância nos sistemas embebidos. O normal é que o sistema possa se comunicar mediante interfaces regulares de cabo ou inalámbricas. Assim um SE normalmente incorporará portos de comunicações do tipo RS-232, RS-485, SPI, I²C, CAN, USB, IP, Wi-Fi, GSM, GPRS, DSRC, etc.

O subsistema de apresentação tipo costuma ser um ecrã gráfico, táctil, LCD, alfanumérico, etc.

Denominamos actuadores aos possíveis elementos electrónicos que o sistema se encarrega de controlar. Pode ser um motor eléctrico, um interruptor tipo relé etc. O mais habitual pode ser uma saída de sinal PWM para controle da velocidade em motores de corrente contínua.

O módulo de E/S analógicas e digitais costuma empregar-se para digitalizar sinais analógicas procedentes de sensores, activar diodos LED, reconhecer o estado aberto fechado de um interruptor ou pulsador, etc.

O módulo de relógio é o encarregado de gerar os diferentes sinais de relógio a partir de um único oscilador principal. O tipo de oscilador é importante por vários aspectos: pela frequência necessária, pela estabilidade necessária e pelo consumo de corrente requerido. O oscilador com melhores características quanto a estabilidade e custo são os baseados em resonador de cristal de cuarzo , enquanto os que requerem menor consumo são os RC. Mediante sistemas PLL obtêm-se outras frequências com a mesma estabilidade que o oscilador padrão.

O módulo de energia (power) encarrega-se de gerar as diferentes tensões e correntes necessárias para alimentar os diferentes circuitos do SE. Usualmente trabalha-se com uma faixa de possíveis tensões primeiramente que mediante conversores ac/dc ou dc/dc se obtêm as diferentes tensões necessárias para alimentar os diversos componentes activos do circuito.

Além dos conversores ac/dc e dc/dc, outros módulos típicos, filtros, circuitos integrados supervisores de alimentação, etc. O consumo de energia pode ser determinante no desenvolvimento de alguns sistemas embebidos que necessariamente se alimentam com baterías, com o que o tempo de uso do SE costuma ser a duração do ónus das baterías.

Microprocesadores e sistemas embebidos

Um microprocesador é uma implementação em forma de circuito integrado (IC) da Unidade Central de Processo CPU de um computador. Frequentemente referimos-nos a um microprocesador como simplesmente “CPU”, e a parte de um sistema que contém ao microprocesador se denomina subsistema de CPU. Os microprocesadores variam em consumo de potência, complexidade e custo. Há de uns poucos milhares de transistores e com custo inferior a 2 euros (em produção em massa) até a mais de cinco milhões de transistores que custam mais de 600 euros.

Os subsistemas primeiramente/saída e memória podem ser combinados com um subsistema de CPU para formar um computador ou sistema embebido completo. Estes subsistemas se interconectan mediante os autocarros de sistema (formados a sua vez pelo autocarro de controle, o autocarro de direcções e o autocarro de dados).

O subsistema primeiramente aceita dados do exterior para ser processados enquanto o subsistema de saída transfere os resultados para o exterior. O mais habitual é que tenha vários subsistemas primeiramente e vários de saída. A estes subsistemas reconhece-se-lhes habitualmente como periféricos de E/S.

O subsistema de cor armazena as instruções que controlam o funcionamento do sistema. Estas instruções compreendem o programa que executa o sistema. A memória também armazena vários tipos de dados: dados primeiramente que ainda não têm sido processados, resultados intermediários do processado e resultados finais em espera de saída ao exterior.

É importante dar-se conta de que os subsistemas estruturam a um sistema segundo funcionalidades. A subdivisión física de um sistema, em termos de circuitos integrados ou placas de circuito impresso (PCB) pode e é normalmente diferente. Um sozinho circuito integrado (IC ) pode proporcionar múltiplas funções, tais como memória e entrada/saída.

Um microcontrolador (MCU) é um IC que inclui uma CPU, memória e circuitos de E/S. Entre os subsistemas de E/S que incluem os microcontroladores se encontram os temporizadores, os conversores analógico a digital (ADC) e digital a analógico (DAC) e os canais de comunicações série. Estes subsistemas de E/S costumam-se optimizar para aplicações específicas (por exemplo audio, video, processos industriais, comunicações, etc.).

Há que assinalar que as linhas reais de distinção entre microprocesador, microcontrolador e microcomputador em um sozinho chip estão difusas, e se denominam em ocasiões de maneira indistinta uns e outros.

Em general, um CONSISTE-SE em um sistema com microprocesador cujo hardware e software estão especificamente desenhados e optimizados para resolver um problema concreto eficientemente. Normalmente um SE interactúa continuamente com o meio para vigiar ou controlar algum processo mediante uma série de sensores. Seu hardware desenha-se normalmente a nível de chips, ou de interconexión de PCB, procurando a mínima circuitería e o menor tamanho para uma aplicação particular. Outra alternativa consiste no desenho a nível de PCB consistente no montado de placas com microprocesadores comerciais que respondem normalmente a um regular como o PC-104 (placas de tamanho concreto que se interconectan entre si “as empilhando” umas sobre outras, a cada uma delas com uma funcionalidade específica dentro do objectivo global que tenha o SE ). Esta última solução acelera o tempo de desenho mas não optimiza nem o tamanho do sistema nem o número de componentes utilizados nem o custo unitário. Em general, um sistema embebido simples contará com um microprocesador, memória, uns poucos periféricos de E/S e um programa dedicado a uma aplicação concreta armazenado permanentemente na memória. O termo embebido ou empotrado faz referência ao facto de que o microcomputador está encerrado ou instalado dentro de um sistema maior e sua existência como microcomputador pode não ser aparente. Um utente não técnico de um sistema embebido pode não ser consciente de que está a usar um sistema computador. Em alguns lares as pessoas, que não têm por que ser utentes de um computador pessoal regular (PC), utilizam da ordem de dez ou mais sistemas embebidos a cada dia.

As microcomputadoras nestes sistemas controlam electrodomésticos tais como: televisores, videos, lavadoras, alarmes, telefones inalámbricos, etc. Inclusive um PC tem sistemas embebidos no monitor, impressora, e periféricos em general, adicionais à CPU do própria PC. Um automóvel pode ter até uma centena de microprocesadores e microcontroladores que controlam coisas como a ignición, transmissão, direcção assistida, travões antibloqueo (ABS), controle da tracção, etc.

Os sistemas embebidos caracterizam-se normalmente pela necessidade de dispositivos de E/S especiais. Quando se opta por desenhar o sistema embebidos partindo de uma placa com microcomputador também é necessário comprar ou desenhar placas de E/S adicionais para cumprir com os requisitos da aplicação concreta.

Muitos sistemas embebidos são sistemas de tempo real. Um sistema de tempo real deve responder, dentro de um intervalo restringido de tempo, a eventos externos mediante a execução da tarefa associada com a cada evento. Os sistemas de tempo real podem-se caracterizar como macios ou duros. Se um sistema de tempo real macio não cumpre com suas restrições de tempo, simplesmente se degrada o rendimento do sistema, mas se o sistema é de tempo real duro e não cumpre com suas restrições de tempo, o sistema falhará. Esta falha pode ter possivelmente consequências catastróficas.

Um sistema embebidos complexo pode utilizar um sistema operativo como apoio para a execução de seus programas, sobretudo quando se requer a execução simultânea dos mesmos. Quando se utiliza um sistema operativo o mais provável é que se tenha que tratar de um sistema operativo de tempo real (RTOS), que é um sistema operativo desenhado e optimizado para manejar fortes restrições de tempo associadas com eventos em aplicações de tempo real. Em uma aplicação de tempo real complexa a utilização de um sistema operativo de tempo real multitarea pode simplificar o desenvolvimento do software.

Arquitecturas de computadores mais empregadas

Arquitectura básica

Um PC embebida possui uma arquitectura semelhante à de um PC. Brevemente estes são os elementos básicos:

Microprocesador
É o encarregado de realizar as operações de cálculo principais do sistema. Executa código para realizar uma determinada tarefa e dirige o funcionamento dos demais elementos que lhe rodeiam, a modo de director de uma orquestra.
Memória
Nela se encontra armazenado o código dos programas que o sistema pode executar bem como os dados. Sua característica principal é que deve ter um acesso de leitura e escritura o mais rápido possível para que o microprocesador não perca tempo em tarefas que não são meramente de cálculo. Ao ser volátil o sistema requer de um suporte onde se armazenem os dados inclusive sem dispor de alimentação ou energia.
Cache
Memória mais rápida que a principal na que se armazenam os dados e o código acedido ultimamente. Dado que o sistema realiza microtareas, muitas vezes repetitivas, o cache faz poupar tempo já que não fará falta ir a memória principal se o dado ou a instrução já se encontra no cache. Dado seu alto preço tem um tamanho muito inferior (8 – 512 KB) com respeito à principal (8 – 256 MB). No interior do chip do microprocesador encontra-se um pequena cache (L1), mas normalmente tem-se uma maior em outro chip da placa mãe (L2).m
Disco duro
Nele a informação não é volátil e ademais pode conseguir capacidades muito elevadas. A diferença da memória que é de estado sólido este costuma ser magnético. Mas seu excessivo tamanho às vezes fá-lo inviable para PC embebidas, com o que se requerem soluções como discos de estado sólido. Outro problema que apresentam os dispositivos magnéticos, à hora dos integrar em sistemas embebidos, é que levam partes mecânicas móveis, o que os faz inviables para meios onde estes estarão expostos a certas condições de vibração. Existem no mercado várias soluções desta classe (DiskOnChip, CompactFlash, IDE Flash Drive, etc.) com capacidades suficientes para a maioria de sistemas embebidos (desde 2 até mais de 1 GB). O controlador do disco duro de PC regular cumpre com o regular IDE e é um chip mais da placa mãe.
Disco flexível
Sua função é a de um disco duro mas com discos com capacidades bem mais pequenas e a vantagem de sua portabilidade. Sempre se encontra em um computador pessoal regular mas não assim em um PC embebida.
BIOS-ROM
BIOS (Basic Input & Output System, sistema básico primeiramente e saída) é código que é necessário para inicializar o computador e para pôr em comunicação os diferentes elementos da placa mãe. A ROM (Read Only Memory, memória de somente leitura não volátil) é um chip onde se encontra o código BIOS.
CMOS-RAM
É um chip de cor de leitura e escritura alimentado com uma pilha onde se armazena o tipo e localização dos dispositivos conectados à placa mãe (disco duro, portos primeiramente e saída, etc.). Ademais contém um relógio em permanente funcionamento que oferece ao sistema a data e a hora.
Chipset
Chip que se encarrega de controlar as interrupções dirigidas ao microprocesador, o acesso directo a memória (DMA) e ao autocarro ISA, além de oferecer temporizadores, etc. É frequente encontrar a CMOS-RAM e o relógio de tempo real no interior do Chip Set.
Entradas ao sistema
podem existir portos para mouse, teclado, vídeo em formato digital, comunicações série ou paralelo, etc.
Saídas do sistema
portos de vídeo para monitor ou televisão, ecrãs de cristal líquido, altavoces, comunicações série ou paralelo, etc.
Ranhuras de expansão para cartões de tarefas específicas
que podem não vir incorporadas na placa mãe, como podem ser mais portos de comunicações, acesso a rede de computadores via LAN (Local Area Network, rede de área local) ou via rede telefónica: básica, RDSI (Rede Digital de Serviços Integrados), ADSL (Asynchronous Digital Subscriber Loop, Laço Digital Asíncrono do Abonado), etc. Um PC regular costuma ter muitas mais ranhuras de expansão que um PC embebida. As ranhuras de expansão estão associadas a diferentes tipos de autocarro: VESA, ISA, PCI, NLX (ISA + PCI), etc.

Hoje em dia existem no mercado fabricantes que integram um microprocesador e os elementos controladores dos dispositivos fundamentais primeiramente e saída em um mesmo chip, pensando nas necessidades dos sistemas embebidos (baixo custo, pequeno tamanho, entradas e saídas específicas,...). Sua capacidade de processo costuma ser inferior aos processadores de propósito geral mas cumprem com seu cometido já que os sistemas onde se localizam não requerem tanta potência. Os principais fabricantes são STMicroelectronics (família de chips STPC), AMD (família Geode), Motorola (família ColdFire) e Intel.

Quanto aos sistemas operativos necessários para que um sistema baseado em microprocesador possa funcionar e executar programas costumam ser específicos para os sistemas embebidos. Assim nos encontramos com sistemas operativos de baixos requisitos de cor, possibilidade de execução de aplicações de tempo real, modulares (inclusão só dos elementos necessários do sistema operativo para o sistema embebidos concreto), etc. Os mais conhecidos na actualidade são Windows CE, QNX e VxWorks de WindRiver.

Aplicações de um sistema embebido

Os lugares onde se podem encontrar os sistemas embebidos são numerosos e de várias naturezas. A seguir expõem-se vários exemplos para ilustrar as possibilidades dos mesmos:

Vantagens de um sistema embebido sobre as soluções industriais tradicionais

As equipas industriais de medida e controle tradicionais estão baseados em um microprocesador com um sistema operativo privativo ou específico para a aplicação correspondente. Dita aplicação se programa em ensamblador para o microprocesador dado ou em linguagem C, realizando chamadas às funções básicas desse sistema operativo que em certos casos nem sequer chega a existir. Com os modernos sistemas PC embebida baseados em microprocesadores i486 ou i586 chega-se a integrar o mundo do PC compatível com as aplicações industriais. Isso implica numerosas vantagens:

Referências

  1. Michael Barr. «Embedded Systems Glossary». Netrino Technical Library. Consultado o 21-04-2007.
  2. Heath, Steve (2003). Embedded systems design, 2 edição, Newnes, p. 2. «Um sistema embebido é um sistema baseado em um microprocesador ou um microcontrolador que está desenvolvido para controlar uma função ou uma faixa de funções.»

Enlaces externos

Obtido de http://ks312095.kimsufi.com../../../../articles/c/ou/m/Comunicações_de_Andorra_46cf.html"