Resumen TEMA 1 Introducción Definiciones de STR Estructura de los STR Aplicaciones de los STR Introducción y conceptos básicos Características de los STR Micros y herramientas de desarrollo Clasificación de los STR Propiedades deseables de los STR 1 2 Sistemas Informáticos en Tiempo Real Corrección Introducción del comportamiento del sistema Naturaleza de los resultados de los cálculos Instantes físicos de producción de resultados Respeto a la causalidad Parte de un sistema más amplio: el Sistema de Tiempo Real Cambios de estado en función del tiempo físico Software y hardware Interfaz Hombre - Máquina Operador Operador (Equipo (Equipooperador) operador) 3 Interfaz Instrumentación Sistema Sistema informático informáticoen en tiempo tiemporeal real (Equipo (Equipode de tratamiento) tratamiento) Objeto Objeto controlado controlado (Planta) (Planta) 4 Definiciones de STR 5 6 1 ¿Sistema de tiempo real? ¿Sistema de tiempo real? Definición 1 Un STR es cualquier sistema en el cual el instante en que se produce la salida es significativo. Esto es porque la salida está relacionada con la variación de la entrada, ésta última se corresponde con una variable del mundo físico. Definición 3 Un STR es correcto si los resultados de los cálculos son correctos y el instante en que se dan estos resultados es el establecido a priori. Definición 2 Cualquier actividad de procesamiento de información o sistema que responda a un estímulo externamente generado en un periodo finito de tiempo y determinado a priori. Definición 4 Un STR estricto es un sistema en el cual la producir en el tiempo especificado. salida se debe 7 ¿Sistema de tiempo real? 8 ¿Sistema de tiempo real? Un STR es un sistema donde: Definición 5 Un STR no estricto es un sistema en el cual los tiempos de respuesta deben estar predeterminados, pero el sistema funciona correctamente si algún tiempo varía un poco ocasionalmente. Existe una interacción continua con el medio ambiente (entorno) (sistema reactivo). El entorno cambia en tiempo real y esto impone restricciones temporales a los sistemas que lo controlan El sistema simultáneamente controla y/o reacciona a diferentes aspectos del entorno (sistema concurrente). Definición 6 Los STR son sistemas donde el computador está dedicado a la monitorización y/o control de algún equipo físico. 9 ¿Sistema de tiempo real? Otras definiciones… Sistema de Tiempo Real: Es un sistema informático en el que es significativo el tiempo en el que se producen sus acciones. No basta que las acciones de un sistema sean correctas, sino que, además, deben ocurrir dentro de un intervalo de tiempo determinado. Los sistemas tiempo real suelen estar integrados en un sistema de ingeniería más general, en el que realizan funciones de control y/o monitorización: 10 SISTEMAS EMPOTRADOS (embedded systems) Cualquier sistema en el que el instante en que se produce la salida es significativo. Esto se debe habitualmente a que la entrada corresponde a algún cambio en el mundo físico, y la salida está relacionada con este cambio. El intervalo entre el instante de la entrada y el de salida debe ser suficientemente pequeño para que sea la respuesta temporal del sistema sea aceptable. (Diccionario Oxford de Computación) Un procesamiento activo de información o sistema que tiene que responder a una entrada externa en un período de tiempo finito especificado. (Young) Los sistemas de control de tiempo real son aquellos que deben responder correctamente dentro de un límite de tiempo definido. Si la respuesta excede estos límites, entonces esto repercute sobre el funcionamiento (degradación y/o resultados indeseables en el sistema). (Cooling) La corrección de un sistema de tiempo real depende tanto de la validez lógica de la respuesta, como del instante de tiempo en que se produce. 12 Ejemplos: Vídeo, lavadora, ABS, …, computadora de vuelo 11 2 Estructura de los STR Sistema de control Consignas Actuadores Indicadores Sensores Sistema controlado Entrada Salida 13 14 Computador Servoválvula (Actuador) T Yr* e* Controlador u* D/A u Actuador ua Proceso Y Medidor de Nivel (Sensor) Depósito Ys* T Ys A/D Sensor COMPUTADOR Bomba Depósito Acumulador 15 16 Típico Sistema Empotrado (Embedded) COMPUTADOR Reloj Tiempo Real Interfaz de usuario Reloj Algoritmo de control Actuador Algoritmos de control digital Recopilación de Información Planta Interfaz Sistema a controlar Sistema de monitorización remota Base de datos Información a recuperar o visualizar Pantallas Sensor Consola de Operador 17 Interfaz Operador Computador de Tiempo Real 18 3 Elementos de un Sistema de Tiempo Real Termo sensor CAD Switch Proyecto de Sistema Empotrado Comunicaciones 2 ADC T Requisitos de Aplicación 1 Transductor de presion Procesador y Arquitectura Software de Tiempo Real P S Calentador SO tarea Screen tarea DAC tarea SO-TR y Arq. de Soft. Computador pSOS+ E/S Digital & Analógica Entorno Entender la Aplicacion 3 Reloj Válvulas Otras E/S Caracterizar y Diseñar el Sistema 4 Controlar el Sistema Neutrino VxWorks lynxOS nucleus Herramientas de Desarrollo - (compilador, depurador, simulador) Monitorizar el Sistema MetroWerks 19 20 Sistema de control de fluido Interfaz Tubería Aplicaciones de los STR Lectura del sensor de flujo Fluxómetro Procesamiento Válvula Activar salida ángulo válvula Tiempo Computador 21 Planta de tostado de grano 22 Estación de empaquetado Depósito Interruptor Computador Horno Tanque Fuel Interrupción grano Tubería Línea de ensamblado Caja fuel Campana Controlador de Línea 0 = stop 23 1 = run 24 4 Sistema de Control de Procesos Sistema de Control de Producción Sistema de Control de Producción Computador de Control de Procesos Transductor de Temperatura Válvula Sustancias químicas y Materiales Agitador Productos Terminados Productos Terminados Piezas y componentes Máquinas-Herramienta Manipuladores Cinta tramsportadora PLANTA 25 Sistemas de Mando y Control (C2) y Sistemas C3I 26 EJEMPLOS Ejemplos de sistemas empotrados Comando Computador de Mando y Control Terminales Sensores/Actuadores Control velocidad, climatización, visualización ABS, ASR Inyección 27 EJEMPLO Bombas y misiles inteligentes Vehículos, dirección de tiro, ... Instrumentación Radio trunking, teléfonos móviles GSM, GPS Computadores de vuelo, de misión Pathfinder Defensa Telecomunicaciones Aviónica, espacial Videos, HIFI, televisión, ... Lavadoras, frigorificos, lavaplatos, ... Automóviles Temperatura, Presión, Potencia, ... Electrónica de consumo Sistemas de adquisición de datos Sensores, actuadores Acondicionamiento de señal Industrial Química-farmacéutica Biomédica … 28 EJEMPLO Computador de un coche Varias tareas: Km Km/h Cont. Velocidad Tª Hora Control automático de velocidad Control climatización ABS airbag ESP, ASR,... Visualización: Computador Control Empotrado Calefacción Aire Acondicionado Pedales Ordenes del conductor: comienzo control velocidad establecimiento temperatura interior puesta en hora ... velocidad rpm consumo niveles alarmas ... Ruedas Sistema Inyección 29 30 5 EJEMPLO Cuatro tareas: Características de los STR 1. Control de temperatura 2 2. Control de nivel 3. Alarma desnivel 1 3 4 4. Interfase con el operador: lectura y ejecución de órdenes, visualización del estado (texto, graficas, etc.). 31 Características de los STR 32 Características de los STR Muchos STR son periódicos en naturaleza, esto es, ejecutan esencialmente el mismo conjunto de tareas una y otra vez en un periodo de tiempo. Concurrencia Los componentes del sistema controlado o monitorizado funcionan simultáneamente El sistema de control debe atenderlo y generar las acciones de control o visualización de forma simultánea Un computador ejecuta sus acciones de forma secuencial → RAPIDEZ → se puede hacer que el computador ejecute sus acciones de forma aparentemente simultánea Computadores multiprocesador o sistemas con varios computadores La concurrencia requiere de herramientas especiales : Lenguajes concurrentes de alto nivel (lenguaje secuencial + Sistema Operativo). 33 Características de los STR 34 Características de los STR Cálculos con números reales Los sistemas de control realizan cálculos con variables que representan magnitudes físicas, es decir valores reales. Los números reales se representan en la computadora de manera aproximada. Hay dos clases de representaciones: Punto fijo Punto flotante Tamaño y complejidad Afecta sobre todo al software. La complejidad no depende únicamente del tamaño Un factor importante es la necesidad de realizar cambios en el sistema. La solución esta en aplicar el principio de divide y vencerás. Existen herramientas y metodologías que facilitan la labor de diseño. Los valores marcados con * son discretos 35 36 6 Características de los STR Características de los STR Interacción con dispositivos físicos Seguridad Los sistemas empotrados interaccionan con su entorno mediante diversos tipos de dispositivos (sensores y actuadores) que normalmente no son convencionales (teclados, impresoras, ...): convertidores A/D y D/A, pwm, entradas y salidas digitales paralelo y serie, ... (interfases con sensores, actuadores, periféricos especiales, cámaras de video, láser, ...) Los componentes del software que controlan el funcionamiento de estos dispositivos (manejadores, "drivers") son, en general, dependientes del sistema operativo concreto Muchos STR son también de seguridad crítica. Esto es, un fallo en el sistema de control puede hacer que el sistema provoque una catástrofe (perdida de vidas) o antieconómica. Es importante asegurar que si el sistema falla lo haga de forma que el sistema controlado quede en un estado seguro. Esto implica que hay que tener en cuenta los posibles fallos o excepciones. 37 Características de los STR 38 Características de los STR Fiabilidad y seguridad Implantación Eficiente Un fallo en un sistema de control puede hacer que el sistema controlado se comporte de forma peligrosa o antieconómica Es importante asegurar que si el sistema de control falla lo haga de forma que el sistema controlado quede en un estado seguro => hay que tener en cuenta los posibles fallos o excepciones en el diseño Es importante que el lenguaje ofrezca facilidades Control del tiempo Manejo claro de las excepciones Comunicación entre procesos de control Gran parte de los sistemas de control deben responder con gran rapidez a los cambios en el sistema controlado 39 40 Características de los STR Características de los STR Robustez Bajo consumo Muchos de estos sistemas están alimentados con baterías o pilas. Menor consumo => mayor autonomía En muchos casos necesidades de bajo voltaje (3V) Embarcados en sistemas con movimiento o que pueden ser transportados, sujetos a vibraciones e incluso impactos (coches, robots, instrumentación portátil, ...) No siempre trabajan en condiciones óptimas de temperatura, humedad, limpieza. Factor de protección IP: IP65 Primer dígito: protección ante entrada de sólidos (polvo) Segundo dígito: protección ante la entrada de líquidos Bajo peso Característica de agradecer en sistemas portátiles No depende únicamente del computador embarcado y su periferia sino también de la alimentación (baterías) o de los sensores y actuadores 41 42 7 Características de los STR Bajo precio Aplicable a electrónica de consumo y otros dispositivos con mercados muy competitivos (p.e. telefonía móvil) Micros y herramientas de desarrollo Pequeñas dimensiones Las dimensiones de un sistema empotrado no dependen sólo de sí mismo sino también del espacio disponible en el sistema que controla y/o monitoriza. Característica a tener muy en cuenta por los problemas que acarrea 43 CLASIFICACIÓN COMPUTADORES Supercomputadores Servidores Estaciones de trabajo PC's Calculadoras Cálculo científico Gestión (bancos, empresas) Bases de datos EMPOTRADOS NO EMPOTRADOS NO CONTROL 44 LOS MICROS Microprocesadores (Propósito general, Caches y manejo eficiente de memoria) + Periféricos (E/S paralelo, serie, A/D, PWM, ...) + RAM/ROM integradas - caches - manejo memoria CONTROL / TIEMPO REAL Computadores específicos Computadores/PC's + tarjetas E/S Autómatas Programables Reguladores digitales Control industrial Simuladores de vuelo Robótica Microcontroladores (Propósito específico: control, RAM + ROM) 4-bit → 8-bit → 16-bit → 32-bit ↑ periféricos: CAN, Ethernet, LCD, motores PP, ... ↑ aplicaciones: capacidades DSP Tarjetas microprocesadores + tarjetas E/S + bus VME PC's + tarjetas E/S + bus ISA/PCI/CAN Microcontroladores, DSPs Electrodomésticos Aeronáutica Teléfonos móviles 45 LOS MICROS 46 LOS MICROS Microprocesadores: Fabricantes de microcontroladores INTEL 8048-8051-80C196-80386 MOTOROLA 6805-68HC11-68HC12 HITACHI HD64180 PHILIPS 8051 SGS-THOMSON ST-62XX NATIONAL SMC. COP400-COP800 ZILOG Z8, Z86XX TEXAS INST. TMS370 TOSHIBA 68HC11 MICROCHIP PIC Circuito de computación integrado en un chip. Microcontroladores Dispositivo integrado que incluye un microprocesador, memoria y dispositivos periféricos (dispositivos de entrada/salida, convertidores A/D, puertos de comunicación, etc.). 4-bit → 8-bit → 16-bit → 32-bit 47 48 8 Criterios de selección μP/μC Criterios de selección μP/μC Requisitos y coste: Prestaciones: ¿Cumple especificaciones? Análisis del rendimiento medio o del peor caso (en esto influye tanto el hardware como el software). Ej: Control de inyección de un vehículo versus servidor web. Tecnología: alimentación, consumo. Coste: (desde 1€ a 300 € o más) Fiabilidad: Fundamental en aplicaciones de soporte vital Ejs: El primer Airbus llevaba Z80 (8 bits, ~1970). El primer Pentium III era defectuoso. Herramientas de desarrollo (precio, complejidad, prestaciones) Otros factores: Experiencia y soporte: (Referencias en páginas Web: Pentium : >37.500.000, Sparc : 8.730.000, 8051 : 333.000, 68HC11 -> 110.000, Z80 -> 131.000) Compatibilidad: 8086 → 80186 → 80386 → 80486 → Pentium 6802 → 6809 → 6811 → 6812 Disponibilidad y segundas fuentes: La evolución tecnológica y el mercado hacen obsoletos los productos de forma muy rápida. Siempre conviene tener una 49 segunda fuente que garantice el suministro. Tiempo de desarrollo (es un factor fundamental en la actualidad) Repercusión del tiempo de desarrollo sobre los beneficios: Pequeños retrasos en el tiempo de puesta en el mercado pueden producir grandes pérdidas. Ventas (unidades) Producto A Beneficio:~área bajo cada curva Producto B T0 T0+4 T0+12 T0+24 Tiempo (meses) • Vida media de un producto: La vida media de los productos tecnológicos es cada vez más corta (hoy en día, en torno a 2 años). • Obsolescencia de la tecnología: La rápida evolución de la tecnología hace que los tiempos de desarrollo deban ser cortos para mantener competitividad. Ej: Hacemos un diseño de un smartphone, que hoy es competitivo (a 540MHz, y un consumo de 0.45 mW/MHz), pero tardamos dos años. Cuando salga al mercado puede no ser competitivo (podría haber otros a 900 MHz y 0.3 50 mW/MHz). Herramientas de desarrollo Simuladores Un simulador ejecuta un programa destinado a un μP/μC en un computador de propósito general (p.e. un PC) Los contenidos de la memoria y registros pueden ser observados y alterados No soporta interrupciones reales ni (generalmente) hardware adicional La velocidad de ejecución es menor que en el μP/μC 51 Debuggers residentes 52 Residente en el μP/μC, el programa se ejecuta en el μP/μC. Permite visualizar la ejecución desde una terminal o computador Utiliza recursos del μP/μC (un puerto de comunicación, una interrupción y memoria) y ralentiza la ejecución (acceso a memoria y registros y comunicación) Visualización y actualización de memoria, breakpoints, ... Emuladores Hardware que “emula” al μP/μC (lo sustituye en la plataforma) y además permite obtener información y actuar sobre la aplicación sin gastar recursos del μP/μC ni alterar la evolución temporal Se comunica por una parte con un computador o terminal (vía RS232 o similar) y por otra con el sistema receptor del μP/μC (mediante el POD (placa emuladora del micro seleccionado)) 53 54 9 Clasificación de los Sistemas de Tiempo Real Clasificación de los STR Críticos Estrictos No críticos No estrictos Firmes Centralizados Basados en reloj Distribuidos Basados en eventos Interactivos 55 56 Restricciones temporales ESTRICTAS Periódicas Aperiódicas o cíclicas o acíclicas t c (i ) = t s ± a t e (i ) ≤ T e donde: tc (i) intervalo entre los ciclos i-1 e i. NO ESTRICTAS Periódicas Aperiódicas o cíclicas o acíclicas 1n ∑ t c (i ) = t s ± a n i =1 T n= ts Propiedades deseables de los STR 1n ∑ t e(i ) ≤ t a n i =1 T n= ts te (i) tiempo de respuesta de la i-ésima ocurrencia del evento e. ts intervalo periódico o cíclico . Te máximo tiempo permitido para el evento e. ta tiempo de respuesta medio permitido para el evento e medido en el intervalo de T. n número de ocurrencias del evento e dentro del intervalo T, o el número de veces que se repite el ciclo durante el intervalo T. a tolerancia temporal. 57 Propiedades deseables de los STR Oportunidad: El tiempo en que los valores de salida son obtenidos es importante Robustez: El sistema no debe fallar cuando este sometido a condiciones extremas. Predecible. Tolerancia a fallos: Los fallos de software o hardware no deben afectar el funcionamiento del sistema. 58 Plazo, Deadline La especificación de un STR frecuentemente relaciona un evento en el entorno con acciones que deben realizarse. Por ejemplo, si el sistema de control de un automóvil identifica una situación de choque, entonces el airbag del conductor debe de inflarse dentro de cierto límite de tiempo. Este límite es normalmente referido como deadline. Algunos deadline son hard y otros soft. Mantenimiento: El sistema debe ser modular para facilitar las modificaciones necesarias a lo largo de su vida útil. Probable: Fácil de probar que las restricciones temporales (plazos, 59 deadlines) se satisfagan. 60 10 Tiempo real vs Rápido Temas relacionados con Tiempo Real Especificación y verificación Teoría de planificación Sistemas operativos - Tiempo real no significa rápido Lenguajes de programación - Tiempo Real significa justamente a tiempo (predecible) Metodologías de diseño Bases de datos distribuidas Inteligencia artificial Tolerancia a fallos Arquitecturas de computadores Comunicación Tiempo real no quiere decir realizar todo rápido, ya que aunque esto ocurra, es posible, debido a la interacción entre tareas y recursos, que el resultado no sea oportuno. 61 62 Resumen TEMA 1 Introducción Definiciones de STR Estructura de los STR Aplicaciones de los STR Introducción y conceptos básicos Características de los STR Micros y herramientas de desarrollo Clasificación de los STR Propiedades deseables de los STR 63 64 11