Sistema embarcado

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Sistemas Embebidos)
Ir para: navegação, pesquisa
Parte interna de um roteador, exemplo de um sistema embarcado

Um sistema embarcado (ou sistema embutido, ou sistema embebido) é um sistema microprocessado no qual o computador é completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla[1] . Diferentemente de computadores de propósito geral, como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto.

Em geral tais sistemas não podem ter sua funcionalidade alterada durante o uso. Caso queira-se modificar o propósito é necessário reprogramar todo o sistema.

Sistemas como PDAs são geralmente considerados sistemas embarcados pela natureza de seu hardware, apesar de serem muito mais flexíveis em termos de software. Fisicamente, os sistemas embarcados passam desde MP3 players a semáforos.

História[editar | editar código-fonte]

Nos primeiros anos dos computadores digitais na década de 1940, os computadores eram por vezes dedicados a uma única tarefa. Eram, entretanto, muito grandes para serem considerados embarcados. O conceito de controlador programável foi desenvolvido algum tempo depois.

O primeiro sistema embarcado reconhecido foi o Apollo Guidance Computer, desenvolvido por Charles Stark Draper no MIT. O computador de guia, que operava em tempo real, era considerado o item mais arriscado do projeto Apollo. O uso de circuitos integrados monolíticos para reduzir o tamanho e peso do equipamento aumentou tal risco.

O primeiro sistema embarcado de produção em massa foi o computador guia do míssil nuclear LGM-30 Míssil Minuteman, lançado em 1961. Ele possuía um disco rígido para a memória principal. Quando a segunda versão do míssil entrou em produção em 1966, o computador guia foi substituído por um novo, que constituiu o primeiro uso em grande volume de circuitos integrados. A tecnologia desse projeto reduziu o preço de circuitos integrados como o NAND de mil para três dólares americanos cada, permitindo seu uso em sistemas comerciais.

Desde suas primeiras aplicações na década de 1960, os sistemas embarcados vêm reduzindo seu preço. Também tem havido um aumento no poder de processamento e funcionalidade. Em 1978 foi lançada pela National Engineering Manufacturers Association a norma para microcontroladores programáveis.

Em meados da década de 1980, vários componentes externos foram integrados no mesmo chip do processador, o que resultou em circuitos integrados chamados microcontroladores e na difusão dos sistemas embarcados.

Com o custo de microcontroladores menor que um dólar americano, tornou-se viável substituir componentes analógicos caros como potenciômetros e capacitores por eletrônica digital controlada por pequenos microcontroladores. No final da década de 1980, os sistemas embarcados já eram a norma ao invés da exceção em dispositivos eletrônicos.

Características[editar | editar código-fonte]

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.

Interfaces do utilizador[editar | editar código-fonte]

Sistemas embarcados podem possuir desde nenhuma interface do utilizador (dedicados somente a uma tarefa) a uma interface de utilizador completa, similar à dos sistemas operacionais desktop (em sistemas como PDAs). Sistemas mais simples utilizam botões, LEDs ou telas bastante limitadas, geralmente mostrando somente números ou uma fila pequena de caracteres.

Sistemas mais complexos utilizam uma tela gráfica completa, usando tecnologias como ecrã táctil ou aquela em que o significado dos botões depende do contexto da tela. Computadores de mão também oferecem joysticks para apontar. O surgimento da World Wide Web forneceu aos desenvolvedores de sistemas embarcados a possibilidade de fornecer uma interface Web através de uma conexão por rede. Isso evita o custo de uma tela sofisticada, ainda que seja fornecida uma interface complexa e completa a ser acessada em outro computador. De modo geral, roteadores usam tal habilidade.

Processamento[editar | editar código-fonte]

Em geral os sistemas embarcados possuem uma capacidade de processamento reduzida em comparação com computadores desktops. Ao invés de utilizar microprocessadores, os desenvolvedores preferem utilizar microcontroladores, pois estes já possuem diversos periféricos integrados no mesmo chip.

Outra diferença é a variedade de arquiteturas disponíveis tais como ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80 e Z8. Isso contrasta com o mercado de computadores pessoais, limitados à somente algumas arquiteturas.

Periféricos[editar | editar código-fonte]

Os sistemas embarcados comunicam-se com o meio externo através de periféricos. Estes periféricos podem ser combinados com o processador (como no caso dos sistemas microcontrolados) ou associados no sistema.

Entre os periféricos mais comum temos:

  • Entrada de dados através de teclas (geralmente através de teclados feitos com varredura matricial)
  • Leds
  • Display's de LCD (sendo os mais comuns os alfanuméricos por exemplo o HD44780)
  • Interface serial - (Por exemplo RS 232, I2C)
  • Universal Serial Bus - (USB)
  • TCP/IP

Disponibilidade[editar | editar código-fonte]

Sistemas embarcados residem em máquinas que, espera-se, possam trabalhar continuamente por anos ininterruptamente, e que possam por vezes recuperarem-se sozinhas após erros.[2] Portanto, o software é geralmente desenvolvido e testado mais cuidadosamente de que em computadores pessoais. A recuperação de erros pode ser atingida com técnicas como o watchdog timer, que reinicia o sistema a menos que o software notifique periodicamente que está funcionando corretamente.

Alguns exemplos de onde são usados sistemas embarcados[editar | editar código-fonte]

Ver também[editar | editar código-fonte]

Referências

  1. Introdução « Embarcados Básico. embarcadosbasico.wordpress.com. Página visitada em 27 de abril de 2012.
  2. Ver mais sobre recuperação de erros em tolerância a falhas.

Ligações externas[editar | editar código-fonte]