Sistemas Empotrados y Sistemas de Tiempo Real: Características y Funcionamiento

Sistemas Empotrados: Definición y Características

Un sistema empotrado es un sistema informático especialmente diseñado para resolver un problema concreto. Es un sistema con un procesador que no es de propósito general. Un procesador de propósito general está diseñado para realizar tareas muy diferentes (ordenadores personales), por ejemplo: escribir documentos, oír música, etc. Los sistemas empotrados pueden ser independientes (único SE) o estar formados por varios SE. Estos existen en, prácticamente, todos los ámbitos:

  • Industria: autómatas, robots industriales.
  • Sanidad: monitorización de signos vitales.
  • Transporte: GPS, ABS.
  • Comunicaciones: móviles, routers.
  • Uso personal: consolas, cámaras.
  • Comercio: cajeros automáticos, lectores de código.

Hardware en Sistemas Empotrados

Como todo sistema informático, está compuesto por hardware, que suele ser específico para reducir costo, consumo, peso y optimizar prestaciones.

  • La CPU: su microprocesador, pudiendo llegar a trabajar con 64 bits. Aunque la mayoría trabajan entre 8 y 16 bits, a pocos MHz, incluyen memoria y varios periféricos en un único chip.
    • SOC System on a Chip (por ejemplo: tablets).
    • DSP Digital Signal Processor (por ejemplo: móviles).
  • La memoria puede ser de varios tipos:
    • ROM: solo lectura, no se borra. Grabada al fabricar el chip.
    • EPROM: se borra con luz ultravioleta.
    • EEPROM: se puede borrar y programar un número finito de veces.
    • RAM: admite lectura y escritura. Puede ser: estática (se mantiene con tensión) y dinámica (necesita refrescar).

En PC, hay MB o GB de memoria RAM dinámica y muy poca ROM. En SE, la RAM es estática y gran parte es ROM. El almacenamiento masivo se realiza en flash.

  • Las comunicaciones en los PCs son controladores específicos. En SE se utilizan tecnologías variadas: dentro del sistema (SPI), seriales (USB), paralelas (GBIB), redes (Ethernet) e inalámbricas (WiFi).
  • Interfaz de usuario:
    • En un PC, está la pantalla gráfica, teclado, ratón.
    • En SE, se dan los siguientes casos:
      • Algunos no se comunican con el usuario.
      • Otros usan interfaces sencillos, LEDs, pulsadores.
      • Otros usan interfaces complejos, pantallas táctiles.
  • Un SE admite muchos periféricos, (por ejemplo: conversores A/D D/A, temporizadores).
  • La alimentación en SE es optimizada, es decir, tiene un consumo ajustado y disipación mínima, aunque algunos utilizan baterías.

Software en Sistemas Empotrados

Software:

  • En casos sencillos, un único programa se ejecuta en bucle.
  • En casos intermedios, se usan interrupciones para atender entradas/salidas.
  • En casos complejos, existe un sistema operativo hecho a medida.

La mayor parte de los SE son sistemas de tiempo real. Estos deben:

  1. Ser fiables (se aplican técnicas para salir de fallos o estados inadecuados):
  • Temporizador perro guardián.
  • Subsistemas redundantes.
  • Módulo SW para entradas de fallo.
Realizar extensa depuración, se puede realizar a distintos niveles:
  • Depurador residente en SE.
  • Depurador externo que recoge datos mediante serial.
  • Circuito depurador conectado a procesador.
  • Circuito emulador, que sustituye al procesador.
  • Emulación completa.
Una vez instalados son difíciles de corregir.

Sistemas de Tiempo Real (STR)

Los sistemas de tiempo real (STR) son un sistema informático que tiene que responder a un estímulo de entrada generado externamente en un periodo finito y especificado.

Los STR pueden ser:

  • Blandos: si no cumplen, se produce una degradación del rendimiento (por ejemplo: botón del TV).
  • Duros: si no cumplen se producen consecuencias catastróficas (por ejemplo: sistema de vuelo).
  • Grandes y complejos, que requieren de mantenimiento constante.
  • Manipular números reales.
  • Extremadamente fiables y seguros.
  • Concurrencia entre distintos componentes.
  • Interacción con interfaces hardware.
  • Atención a la eficiencia y entorno de programación.

Características Fundamentales de los STR

En STR es fundamental:

  • Medir el tiempo.
  • Controlar la duración de las acciones.

Los procesos pueden ser:

  • Periódicos: los intervalos son fijos.
  • Esporádicos: funcionan con interrupciones externas.

El tiempo medido puede ser:

  • Monótono: siempre es creciente, es decir, el contador nunca se desborda.
  • No monótono: no siempre es creciente, ya que el controlador se desborda. Hay que realizar ajustes de sincronización.

Los dispositivos que existen para medir el tiempo son:

  • Relojes: miden en tiempo absoluto y suelen combinar un sistema de referencia externa y un reloj interno.
  • Temporizadores: miden en tiempo relativo, es decir, a intervalos.

Relojes POSIX y Activación por Temporizadores

Relojes POSIX

La activación por temporizadores puede producirse:

  • Una sola vez.
  • Periódicamente (tarea periódica sin deriva).

Los temporizadores pueden ser:

  • Hardware (funcionan con interrupciones).
  • Software.

Una tarea puede estar suspendida durante un tiempo, ya sea esperando por una entrada o salida o por la respuesta de otra tarea. El problema es que no puede estar esperando un tiempo indefinido. Por este motivo, se define el tiempo máximo de espera (time-out).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.