Índice

Uma visão geral dos sistemas incorporados

framboesa-pi
arduino

O que são sistemas incorporados?

Definição:

Os sistemas incorporados são sistemas informáticos especializados que se dedicam a executar tarefas ou funções específicas num sistema maior. Ao contrário dos computadores de uso geral, que podem executar uma grande variedade de programas e desempenhar muitas funções diferentes, os sistemas incorporados são optimizados para aplicações específicas e são concebidos para funcionar com recursos limitados.

 

História dos sistemas incorporados

Os sistemas incorporados evoluíram de forma notável desde a década de 1940, desde os primeiros computadores digitais até aos actuais dispositivos interligados avançados. Os principais marcos incluem a criação do primeiro microcontrolador em 1975, o boom da eletrónica de consumo durante a década de 1990 e a ascensão da Internet das Coisas (IoT) na década de 2000. Os avanços nos microprocessadores, nos sistemas operativos em tempo real e na comunicação sem fios impulsionaram esta evolução, transformando sectores como o automóvel, os cuidados de saúde e a eletrónica de consumo, e melhorando a funcionalidade, a eficiência e a conetividade dos dispositivos do dia a dia.

Sistemas incorporados vs. sistemas informáticos de uso geral: Principais diferenças

1. Objetivo e funcionalidade

Sistemas incorporados:

  • Funcionalidade dedicada: Concebidos para efetuar tarefas específicas. O seu software e hardware são adaptados para satisfazer os requisitos de uma determinada aplicação.
  • Exemplos: Controladores de máquinas de lavar roupa, sistemas de controlo automóvel, dispositivos médicos.

Sistemas de computação de uso geral:

  • Versatilidade: Capazes de executar uma vasta gama de tarefas. Executam vários tipos de software e podem tratar várias aplicações em simultâneo.
  • Exemplos: Computadores de secretária, computadores portáteis, servidores.

 

2. Funcionamento em tempo real

Sistemas incorporados:

  • Processamento em tempo real: Funcionam frequentemente em tempo real, processando entradas e produzindo saídas quase instantaneamente. Crítico para aplicações em que o tempo é crucial.
  • Exemplos: Sistemas de travagem anti-bloqueio (ABS), robôs industriais, sistemas de monitorização em tempo real.

Sistemas de computação de uso geral:

  • Processamento não em tempo real: Normalmente não requerem processamento em tempo real. Concentram-se em maximizar o rendimento e as capacidades de multitarefa.
  • Exemplos: Software de escritório, navegação na Web, aplicações multimédia.

 

3. Conectividade

Sistemas incorporados:

  • Conectividade direcionada: Incluem frequentemente caraterísticas de conetividade específicas para as suas aplicações, como WiFi, Bluetooth ou ZigBee para dispositivos IoT.
  • Exemplos: Dispositivos domésticos inteligentes, sensores industriais.

Sistemas de computação de uso geral:

  • Conectividade versátil: Equipado com uma vasta gama de opções de conetividade, incluindo Ethernet, WiFi, USB e várias ranhuras de expansão.
  • Exemplos: Estações de trabalho em rede, computadores portáteis pessoais.

 

4. Dimensão e fator de forma

Sistemas incorporados:

  • Compacto e leve: Muitas vezes são pequenos e leves, o que os torna adequados para integração em vários dispositivos sem aumentar significativamente o volume.
  • Exemplos: Relógios inteligentes, rastreadores de fitness, módulos de controlo incorporados.

Sistemas de computação de uso geral:

  • Tamanho maior: Normalmente maiores e mais pesados, concebidos para fornecer uma vasta gama de funcionalidades com hardware mais extenso.
  • Exemplos: Torres de secretária, computadores portáteis, servidores montados em bastidor.

 

5. Consumo de energia

Sistemas incorporados:

  • Baixo consumo de energia: Concebido para ser eficiente em termos energéticos, frequentemente utilizado em dispositivos portáteis ou alimentados por bateria.
  • Exemplos: Sensores remotos, dispositivos móveis, tecnologia vestível.

Sistemas de computação de uso geral:

  • Maior consumo de energia: Geralmente consomem mais energia devido aos seus requisitos de desempenho mais elevados e funcionalidades versáteis.
  • Exemplos: PCs para jogos, estações de trabalho, servidores de centros de dados.

Tipos de processadores incorporados

1. Unidades de microcontroladores (MCU)

As unidades de microcontroladores, ou MCUs, são pequenos circuitos integrados concebidos para executar tarefas específicas em sistemas incorporados. São amplamente utilizados em várias aplicações, incluindo sistemas de controlo automóvel, electrodomésticos e dispositivos da Internet das Coisas (IoT).

  • Exemplos8975, STM32 e ESP32
  • Caraterísticas principais: Recursos limitados, adequados à execução de tarefas simples e específicas.

2. Microprocessadores (MPU)

Os microprocessadores, ou MPU, são processadores de uso geral, normalmente utilizados em sistemas mais complexos que exigem uma capacidade de processamento substancial. São utilizados em computadores pessoais, servidores e sistemas incorporados avançados.

  • Exemplos: Série Intel Core, série AMD Ryzen
  • Caraterísticas principais: Elevado poder computacional, adequado para uma vasta gama de aplicações que requerem capacidades de processamento robustas.

3. Processadores de sinais digitais (DSP)

Os processadores de sinais digitais são processadores especializados optimizados para lidar com tarefas de processamento de sinais digitais. São altamente eficientes em operações como convolução, transformadas de Fourier e outros cálculos matemáticos.

  • Utilizações comuns: Comunicação sem fios, processamento de áudio e vídeo, sistemas de radar.
  • Vantagem chave: Execução rápida de operações matemáticas.

4. Sistema em chip (SoC)

O sistema em chip é um circuito integrado que consolida todos os componentes de um computador ou de outro sistema eletrónico num único chip. São amplamente utilizados em dispositivos electrónicos compactos.

  • Exemplos: Apple série A, Qualcomm Snapdragon, Raspberry Pi SoC
  • Caraterísticas principais: Alto nível de integração, combina CPU, memória e periféricos, adequado para aplicações com restrições de espaço.

5. Matrizes de portas programáveis em campo (FPGAs)

Os FPGAs (Field-Programmable Gate Arrays) são circuitos altamente flexíveis e reconfiguráveis. Os utilizadores podem programar FPGAs para executar tarefas específicas antes da sua utilização, o que os torna ideais para a conceção de protótipos, computação acelerada e controlo de instrumentos.

  • Caraterísticas principais: Flexibilidade, reconfigurabilidade, desempenho em tempo real.
  • Aplicações: Conceção de protótipos, aceleração de hardware e sistemas de controlo.

Unidades de microcontroladores (MCU) comuns

1. Microcontrolador AT89C51

O 89C51, desenvolvido pela ATMEL(Microchip), faz parte da família 8051, um dos microcontroladores mais duradouros e populares em sistemas incorporados.

AT89c51 MCU
  • Características:

    • Arquitetura de 8 bits
    • 128 bytes de RAM
    • 4 KB de ROM
    • 2 temporizadores/contadores
    • Interface de comunicação série
  • Aplicações:

    • Aplicações de controlo simples
    • Electrodomésticos
    • Sistemas automóveis

2. Microcontroladores STM32

Microcontroladores STM32, desenvolvidos pela STMicroelectrónicasão baseados no núcleo ARM Cortex-M. Oferecem uma vasta gama de funcionalidades e opções de desempenho, tornando-os adequados para várias aplicações.

STM32 F4 MCU in drone pcb board
  • Características:

    • Núcleo ARM Cortex-M de 32 bits
    • Vasta gama de opções de memória e periféricos
    • Modos de baixo consumo
    • Integração elevada
  • Aplicações:

    • Automação industrial
    • Eletrónica de consumo
    • Dispositivos médicos

3. Microcontroladores ESP32

O ESP32, desenvolvido pela Espressivo Systems, é conhecida pelas suas caraterísticas de conetividade sem fios, o que a torna uma excelente escolha para aplicações IoT.

ESP32 MCU
  • Características:

    • Processador dual-core de 32 bits
    • WiFi e Bluetooth incorporados
    • Rico conjunto de periféricos
    • Baixo consumo de energia
  • Aplicações:

    • Dispositivos domésticos inteligentes
    • Aplicações IoT
    • Eletrónica vestível

Plataformas de desenvolvimento comuns

Arduino

Arduino é uma plataforma de hardware de código aberto concebida para simplificar o processo de criação de sistemas incorporados interactivos. É popular entre amadores e profissionais devido à sua facilidade de utilização e ao vasto suporte de bibliotecas.

  • Características: Linguagem de programação simples, extensa biblioteca de hardware.
  • Projectos comuns: Dispositivos interactivos, aplicações IoT.
Arduino Uno R3
Raspberry Pi Pico

Raspberry Pi

Raspberry Pi é um pequeno e potente computador capaz de executar sistemas operativos e aplicações complexas. Utiliza a arquitetura ARM para proporcionar um elevado desempenho com um baixo consumo de energia.

  • Características: Elevada potência computacional, grande capacidade de armazenamento, suporte de vários sistemas operativos como Linux.
  • Aplicações: Educação, projectos de bricolage, domótica, centros multimédia.

O que é o ARM?

ARM, ou Advanced RISC Machines, é uma família de microprocessadores arquitecturas conhecidos pela sua eficiência energética e elevado desempenho. A arquitetura ARM foi originalmente desenvolvida pela Acorn Computers na década de 1980 e é atualmente mantida e licenciada pela ARM Holdings, uma empresa sediada em Cambridge, Inglaterra.

  • Eficiência: Os processadores ARM utilizam uma arquitetura RISC (Reduced Instruction Set Computing), que simplifica a execução de instruções e minimiza o consumo de energia, tornando-os ideais para dispositivos móveis e sistemas incorporados.

  • Modelo de licenciamento: A ARM Holdings licencia a arquitetura ARM a outras empresas, permitindo-lhes conceber e fabricar os seus próprios processadores baseados em ARM. Este modelo deu origem a uma gama diversificada de processadores ARM para vários dispositivos.

  • Aplicações: Os processadores ARM são amplamente utilizados em smartphones, tablets, wearables, dispositivos IoT, sistemas incorporados e, cada vez mais, em computadores portáteis e servidores devido ao seu desempenho eficiente e à sua utilização de energia.

 

O que é hardware, software e firmware? Relações e diferenças

Hardware

O hardware dos sistemas incorporados é constituído por componentes físicos, como processadores, sensores, actuadores e memória. O processador e a memória funcionam como o cérebro, sendo o processador responsável pelo pensamento e controlo do corpo e a memória pelo armazenamento do conhecimento. Os sensores e os actuadores funcionam como membros, ajudando a recolher percepções e a executar acções comandadas pelo cérebro. O hardware é a base dos sistemas incorporados; os programadores têm de conceber e esquematizar os circuitos de hardware, escolhendo os processadores e periféricos adequados para satisfazer os requisitos do sistema.

  • Processador: O "cérebro" do sistema, responsável pela execução das instruções.
  • Sensores e Actuadores: Interface com o mundo físico para recolher dados e realizar acções.
  • Memória: Armazena dados e instruções para o processador.

Software

O software em sistemas incorporados combina código executável e dados, incluindo aplicações, controladores e algoritmos. Funciona como a mente a introduzir dados, em que o código executável representa o comportamento e o sistema operativo lógico funciona como o sistema nervoso, fornecendo uma base material e regulando os pensamentos. O software é o núcleo dos sistemas incorporados, onde os programadores criam sistemas operativos e programas baseados nas tarefas computacionais e de controlo do sistema.

  • Aplicações: Programas ao nível do utilizador que executam funções específicas.
  • Condutores: Interface entre o hardware e o software de nível superior.
  • Algoritmos: Efetuar cálculos e tratamento de dados.

Firmware

O firmware é um tipo de software que actua como uma ponte entre o hardware e o software. É armazenado em memória não volátil e contém código e dados utilizados para controlar as operações e funções dos dispositivos de hardware. Como ponte nos sistemas incorporados, o firmware é utilizado para inicializar o hardware, carregar sistemas operativos ou executar diretamente funções de controlo.

  • Papel: Inicializa o hardware, executa funções de controlo, carrega o sistema operativo, se aplicável.

Arquitetura e funções típicas de um microcontrolador (MCU)

Um computador completo é normalmente constituído por um processador, memória e componentes de entrada/saída.

  • Processador: Se um microcontrolador for comparado a uma fábrica, o processador é a sua linha de montagem e o núcleo do seu núcleo. É responsável pelo transporte de matérias-primas do armazém para a bancada de trabalho para processamento e pelo ajuste da velocidade de produção, correspondendo às suas três funções: armazenamento, computação e controlo.

  • Relógio: Um pipeline que constrói sistemas complexos necessita de um mecanismo de funcionamento razoável, e o relógio fornece a base de tempo para o temporizador. Quando o temporizador atinge um tempo predefinido, desencadeia uma interrupção e o pipeline recebe um comando para iniciar uma nova produção, repetindo este ciclo para garantir a eficiência global.

  • Temporizador Watchdog: O temporizador watchdog é apropriadamente designado como um cão de guarda que monitoriza a segurança da fábrica. Se não for alimentado a tempo, assume um erro do sistema, accionando uma reinicialização. Para que a conduta funcione normalmente, a alimentação do seu armazém deve ser suficiente.

  • Memória: Nos microcontroladores, a memória é organizada num esquema de armazenamento hierárquico para maior eficiência: 

    • ROM (Read-Only Memory): Só pode ler o conteúdo escrito antes da produção e não pode ser modificado. É utilizado para o arranque de programas e chamadas de funções do kernel.
    • RAM (Memória de acesso aleatório): Velocidades de leitura/escrita rápidas, mas os dados perdem-se quando se desliga a alimentação. A RAM actua como as prateleiras ao lado da linha de montagem para armazenamento temporário de dados.
    • Flash: Velocidade moderada de leitura/escrita, com retenção de dados após perda de energia. Funciona como um armazém de matérias-primas, armazenando código de programa e firmware gravado.
Microchip ROM
Microchip ROM
RAM da Hynix
RAM da Hynix
Flash YMTC
Flash YMTC

Entrada, saída (E/S) e interação

Os sistemas incorporados interagem com o mundo exterior e com outros componentes através de vários métodos:

  • Entrada/Saída (E/S): Os microcontroladores precisam de interagir com dispositivos externos, como a aquisição de matérias-primas e a venda de produtos. Interagem internamente, como os departamentos de uma fábrica, conseguindo colaboração.

  • Sinais analógicos e digitais: Os sinais analógicos variam continuamente, representando conceitos do mundo real como a fala e a temperatura, enquanto os sinais digitais são discretos e processados por computadores. A conversão entre estes sinais envolve amostragem e filtragem.

  • Protocolos de comunicação: Existem quatro métodos principais:

    1. GPIO (Entrada/Saída de uso geral): Para comunicação digital, permitindo a entrada e saída de quantidades digitais.
    2. PWM (Modulação da largura de pulso): Gera sinais analógicos através da saída de quantidades digitais de comutação rápida, controlando dispositivos como motores e LEDs.
    3. ADC (Conversor Analógico-Digital): Converte sinais analógicos de sensores em dados digitais.
    4. DAC (Conversor Digital para Analógico): Converte dados digitais em sinais analógicos para dispositivos de saída.
  • Comunicação interna: Existem três métodos principais de comunicação interna:

    1. UART (Universal Asynchronous Receiver-Transmitter): Envia dados de forma assíncrona entre dois departamentos, à semelhança da comunicação por correio eletrónico.
    2. SPI (Serial Peripheral Interface) e I2C (Inter-Integrated Circuit): Estes protocolos são semelhantes a reuniões de empresa, em que a informação é transmitida aos chefes de departamento. O I2C simplifica a cablagem à custa da velocidade e da comunicação simultânea.
  • Comunicação inter-MCU: Os microcontroladores também interagem entre si, à semelhança da colaboração entre fábricas e empresas a montante e a jusante. Atualmente, os dispositivos incorporados utilizam amplamente protocolos como WiFi, NB-IoT, Bluetooth e LoRa. Cada um tem os seus pontos fortes e fracos, oferecendo opções para várias aplicações.

 

WiFi
LoRa
Bluetooth

Conclusão

Os sistemas incorporados são componentes vitais da tecnologia moderna, impulsionando a eficiência e a inovação em todos os sectores. Estes sistemas são concebidos para tarefas específicas, oferecendo processamento em tempo real e conetividade direcionada, o que os distingue dos computadores de uso geral. Com vários tipos de processadores, como microcontroladores e system-on-chips, os sistemas incorporados são adaptáveis a uma vasta gama de aplicações.

Plataformas como o Arduino e o Raspberry Pi democratizaram o acesso aos sistemas incorporados, promovendo a inovação tanto entre os profissionais como entre os amadores. À medida que a tecnologia continua a avançar, os sistemas incorporados irão melhorar ainda mais a conetividade e a funcionalidade em sectores como o automóvel, os cuidados de saúde e a eletrónica de consumo, desempenhando um papel fundamental na definição do futuro da tecnologia.

Obter um orçamento

Blogues relacionados