Quais são os 4 tipos categorias que são classificados os sistemas embarcados?

Introdução

A arquitetura  de computadores dedicados embarcados é a próxima grande tendência em hardware de computadores. No geral, essa arquitetura utiliza computadores reais, tendo uma UCP, memória e algum tipo de capacidade de E/S. Mas eles são diferentes dos computadores de propósito geral porque eles realizam um número limitado de tarefas dentro do domínio de um grande sistema.

Sistemas embarcados podem ser encontrados em dispositivos simples, como uma máquina de café até sistemas mais complexos e críticos como aeronaves comerciais. Muitos dos automóveis atuais contêm dezenas de computadores, cada um dos quais controlando um subsistema específico.

Estes subsistemas possuem funções específicas e portanto são diferentes dos computadores de propósito geral. Os computadores com os quais trabalhamos são máquinas de uso geral mas os computadores embarcados são projetados para funções específicas. Algumas das funções destes sistemas embarcados incluem injeção de combustível, controle de emissões, freios antibloqueantes e piloto automático. Além disso, processadores automotivos se comunicam entre si, de modo que seus esforços sejam coordenados e adequados em relação ao estado do automóvel.

Os Sistemas embarcados também podem ser encontrados dentro de outros computadores, um controlador de unidade de disco é um exemplo de um  computador dentro de outro computador. O controlador posiciona o braço do disco e codifica e decodifica dados à medida que estes são escritos e lidos na superfície do disco.

O Software em Arquitetura de Computadores Embarcados

O desenvolvimento de sistemas embarcados se difere da computação de propósito geral por exigir um profundo conhecimento do hardware subjacente. Uma pessoa que escreve programas de aplicação em linguagem de alto nível, tais como Java ou C++, pode nunca conhecer ou se preocupar com a ordem de representação dos bytes para armazenamento de dados no sistema, ou se uma interrupção ocorre em um determinado momento. Entretanto, estas

considerações são muito importantes na mente de um programador de sistemas embarcados.

Neste contexto ainda temos grandes restrições sob as quais muitos sistemas embarcados devem funcionar. Estas restrições incluem velocidade limitada da UCP, memória limitada, restrições de peso, consumo de energia limitado, espaço físico limitado, entre outros. Estas restrições tendem a ser superados com o desenvolvimento do hardware no futuro, resolvendo algumas destas limitações e ampliando o conjunto de diferentes aplicações que possam ser construídas neste ambiente.

Classificação dos Sistemas Embarcados

Os sistemas embarcados podem ser divididos em três categorias, baseadas em seus requisitos de energia: operados a bateria, consumo fixo e sistemas de alta densidade. 

Sistemas operados a bateria, tais como os encontrados em dispositivos portáteis de áudio, telefonia, etc, e que necessitam maximizar a vida da bateria e minimizar o seu tamanho. 

Sistemas de consumo fixo, tais com os encontrados em telefones públicos e dispositivos identificadores de chamadas, possuem suprimento de energia limitado (tal como por linhas telefônicas), e seu objetivo é oferecer o máximo desempenho dentro das restrições de energia limitada disponível.

Sistemas de alta densidade (sistemas de alto desempenho e multiprocessado) estão mais preocupados com a eficiência energética, basicamente devido a questões de dissipação de calor. Por exemplo, sistemas de voz IP (VOIP) integram dados com sinais de voz e requerem um número significativo de componentes, e isto se traduz em uma geração significativa de calor a partir destes componentes. Estes sistemas frequentemente têm suprimento ilimitado de energia, mas devem limitar o consumo para evitar superaquecimento dos componentes.

De maneira geral os sistemas embarcados devem ser funcionais e flexíveis, embora pequenos e de baixo custo (de desenvolvimento e fabricação). Nestes sistemas, o consumo de energia é sempre uma preocupação importante.

Visão Geral do Hardware dos Sistemas Embarcados

Os hardware dos sistemas embarcados difere em muito dos sistemas de computação tradicionais, dependendo do propósito de cada  sistema em particular. Os processadores embarcados que controlam aeronaves são radicalmente diferentes daqueles que controlam a qualidade de uma xícara de café produzida por uma cafeteira sofisticada. Ou seja, o hardware depende do tipo de aplicação que se deseja.

Estas aplicações diferem tanto na complexidade quanto em seus modelos de temporização. Do mesmo modo, eles requerem soluções de  hardware totalmente divergentes.

Para aplicações de controle mais simples, microcontroladores existentes no mercado são muitas vezes bem adequados. Aplicações de  complexidade mais alta podem exceder a capacidade de componentes padronizados em termos de desempenho, consumo de energia ou custo. Neste caso pode haver necessidade do projeto de componentes especializados conforme as necessidade da aplicação.

Possivelmente um circuito configurável manufaturado poderia ser adaptado à tarefa. Nos casos em que a aplicação é altamente  especializada ou o tempo de resposta é crítico, um chip deve ser projetado desde o início. Portanto, colocamos processadores embarcados   em três amplas classificações: processadores padronizados, processadores reconfiguráveis e processadores totalmente customizados.

Os Microcontroladores nos Sistemas Embarcados

Muitos processadores embarcados utilizados no nosso dia a dia são derivados dos processadores de propósito geral com tecnologia de ponta de ontem. Embora esses processadores antigos não sejam suficientemente potentes para executar o software atual comum em computadores de mesa (desktops), eles possuem potência mais do que suficiente para aplicações simples de controle. Além disso, estes processadores são agora vendidos por uma fração do seu preço original, porque seus fabricantes recuperam há muito tempo os custos de seu desenvolvimento quando eles eram largamente usados em computadores pessoais. Como exemplos podemos citar o 68HC12 da Motorola, o chip era coração dos primeiros computadores Apple. O 8051 da Intel é um derivado do 8086, o processador que era coração do primeiro IBM PC.

Microcontroladores têm muito em comum com processadores de propósito geral – PPG. Como um PPG, um microcontrolador é programável e pode acessar uma grande variedade de periféricos. Ao contrário de um PPG, um microcontrolador processa a um velocidade de relógio menor, tem espaço endereçável de memória menor e seu software não pode ser alterado pelo consumidor. Por isso é um componente adequado para sistemas embarcados com restrições de  memória e velocidade de processamento.

Um exemplo simplificado de um microcontrolador é mostrado na Figura abaixo. Ele consiste de um núcleo de UCP, memória para programas e dados, portas de E/S, controladores de E/S e do barramento do sistema, um relógio e um temporizador vigia (watchdog). 

Sistemas em um chip

Observamos que microcontroladores são sistemas computacionais em miniatura. Eles consistem de uma UCP, memória e portas de E/S. Eles não são , contudo, chamados de sistemas em um chip. Essa designação geralmente é reservada para dispositivos que são muito mais complexos.

Os Sistemas de um chip (SOCs) se distinguem de microcontroladores por sua complexidade e mais recursos no chip. Microcontroladores muitas vezes requerem circuitos de suporte, como processadores de sinal, decodificadores e conversores de sinal. Um sistema em um chip é uma peça única de silício que contém todos os circuitos para fornecer um conjunto de funções, podendo consistir em mais de um   processador.

A grande vantagem dos SOCs é que são mais rápidos, menores, mais confiáveis e consomem 

menos energia do que os vários chips que eles substituem.

Processadores reconfiguráveis (Hardware configurável)

Algumas aplicações são tão especializadas que nenhum controlador disponível no mercado pode realizar o trabalho. 

Quando projetistas se deparam com esta situação, eles podem escolher uma dentre duas alternativas: eles 

podem decidir criar um chip a partir do zero ou eles podem usar um dispositivo lógico programável (PLD –programmable logic device). Assim o dispositivo pode ser configurado via programação de acordo com as necessidades. Quando a 

velocidade e o tamanho do circuito não são as principais preocupações, um PLD pode ser uma

boa escolha.

Processadores totalmente customizados ( Hardware embarcado projetado sob encomenda )

Para dominar o maior mercado para seus produtos, fabricantes de processadores embarcados carregam  seus chips com o máximo possível de recursos. A pior desvantagem decomprar estes processadores  complexos prontos é que algumas das funcionalidades do chip podem não ser necessárias mas ainda assim  consomem recursos como memória, armazenamento e processador e energia que é o recurso mais  precioso. Circuitos sem uso não apenas tornam o chip mais lento, mas também geram calor e desperdiçam energia preciosa. Em aplicações com fortes restrições, os dispositivos lógicos  programáveis não são de muita ajuda porque tendem a ser lentos e famintos por energia.

Em resumo, existem situações nas quais uma abordagem razoável é criar um circuito integradoespecífico  para a aplicação, sem funcionalidades desnecessárias e que consumiriam os recursos limitados do sistema  embarcado.

A Organização de memória em sistemas embarcados

Existem duas maneiras principais pelas quais a organização de memória de sistemas embarcados difere da organização de memória de computadores de uso geral. 

Primeiro, sistemas embarcados raramente empregam memória virtual. A principal razão para isto é que a maioria dos sistemas embarcados tem restrições de tempo. A operação adequada do sistema requer que todas as atividades ocorram dentro de espaços de tempo claramente definidos e tempos de acesso à memória virtual podem variar. Além disso, a manutenção da tabela de páginas de memória virtual consome memória e ciclos de máquina preciosos que poderiam ter um uso melhor.

O segundo aspecto que distingue a memória de sistemas embarcados é a variabilidade e a diversidade de arquiteturas de memória. Diferentemente de programadores de sistemas de uso geral, os programadores de sistemas embarcados estão continuamente cientes dos tamanhos e tipos de memória disponíveis. Um único sistema embarcado pode conter memória de acesso randômico (RAM), ROM e memória flash. 

Os Sistemas operacionais embarcados

Microcontroladores simples geralmente executam uma única aplicação que tende a ser de baixa a média complexidade. Assim sendo, microcontroladores não requerem gerenciamento de recursos ou tarefas além do que é fornecido pelo seu programa. À medida que os recursos do hardware embarcado continuam a crescer, aplicações embarcadas se tornam mais diversas e

complexas. Atualmente, os processadores embarcados mais sofisticados são capazes de suportar a execução concorrente de vários programas. Os sistemas operacionais embarcados diferem dos sistemas operacionais de propósito geral de duas maneiras importantes. Primeiro, eles permitem acesso direto ao hardware, diferentemente dos sistemas operacionais de propósito geral. Segundo, e mais importante, a reação a eventos de um sistema embarcado é claramente definida e compreendida.

Vendedores de sistemas operacionais embarcados objetivam atingir um equilíbrio entre oferecer diversos recursos e pouca ocupação de memória tornando seus sistemas tão modulares quanto possível. O núcleo geralmente consiste de um pouco mais do que um escalonador, um gerenciador de comunicações entre processos, facilidades de E/S e uma coleção de mecanismos de proteção, como semáforos. Todas as outras características do sistema operacional, tais como gerenciamento de arquivos, suporte a redes e uma interface de usuário, são opcionais. Se elas não forem necessárias, não são instaladas.

Existem literalmente dúzias de sistemas operacionais embarcados disponíveis. Entre os mais populares estão QNX, Windows CE, Embedded Windows XP, Embedded Linuxe Google Android (Plataforma). 

O QNX é o mais antigo deste grupo, por mais de 20 anos tem sido executado em sistemas científicos e médicos em PowerPC, MIPS e arquitetura Intel.

O Windows CE é largamente utilizado em PDAs e artefatos de mídia.

Quais são as 4 classificações de sistemas embarcados?

Os sistemas embarcados são, geralmente, classificados em quatro tipos: Computação geral (PDA, vídeo-games, etc); Sistemas de Controle (Controles veiculares, controles de vôo, reatores nucleares); Processamento de sinais (radares, sonares, DVD player, processadores de efeitos, analisadores de espectro); Comunicação / ...

Quais os principais tipos de sistemas operacionais embarcados que existem?

Sistemas operacionais/Sistemas embarcados.
1.2.1 TinyOS:.
1.2.2 Contiki..
1.2.3 VirtuOS:.
1.2.4 QNX:.
1.2.5 Windows CE:.
1.2.6 Exemplos de sistemas embarcados com Linux:.

O que são sistemas embarcados?

O sistema embarcado, também chamado de sistema embutido, é um sistema microprocessado em que um computador está anexado ao sistema que ele controla. Atualmente, vários produtos possuem uma capacidade computacional bastante eficaz, e que estão presentes no nosso dia-a-dia.

Quais as principais características do sistema operacional embarcado?

CARACTERÍSTICAS DE SISTEMAS EMBARCADOS 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.