Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 STR Intro
1 STR Intro
TEMA:
“CAPÍTULO 1: INTRODUCCIÓN AL DISEÑO DE SISTEMAS EN
TIEMPO REAL”
Subtitle
DOCENTE:
Ing. CIP Daniel Leonardo Barrera Esparta
I.- INTRODUCCIÓN
Objetivos:
•Conocer los conceptos más importantes relacionados con los sistemas en tiempo real (STR).
•Conocer la problemática del desarrollo de los sistemas de tiempo real
•Examinar sus características más importantes y verificar en los campos de aplicación.
•Conocer los métodos y herramientas que se utilizan para diseñar, analizar y realizar STR.
•Saber desarrollar aplicaciones con lenguajes apropiados.
•Conocer la problemática del sistema operativo y su influencia
Requisitos:
•Programación en lenguaje de alto nivel (C, Ada)
•Sistemas Operativos.
•Arquitectura de computadoras.
I.- INTRODUCCIÓN
Ejemplo1: Mars Pathfinder
El primer carro robot en descender a la superficie y desplazarse sobre Marte fue el "Sojourner".
Caminó sobre la superficie de Marte el 6 de julio de 1997.
a.Tarea de alta prioridad que tiene que comprobar periódicamente que todo el sistema
funciona correctamente.
b.Tareas de media prioridad: adquisición de imágenes, compresión de información, otros
subsistemas.
c.Tarea de baja prioridad manejando una estación meteorológica de la que hay que recabar
datos en intervalos relativamente grandes.
Tiene una región crítica con la tarea de alta prioridad para el acceso a datos comunes, que causó
el fallo debido a una inversión de prioridad.
I.- INTRODUCCIÓN
Ejemplo1: Mars Pathfinder
I.- INTRODUCCIÓN
NO es sinónimo de inmediatez.
I.- INTRODUCCIÓN
Que es un Sistema de Tiempo real ?
Un sistema de tiempo real es un sistema informático que:
• Interacciona repetidamente con su entorno físico
• Responde a los estímulos que recibe de dicho entorno en un plazo de tiempo determinado
I.- INTRODUCCIÓN
Que es un Sistema de Tiempo real ?
• Las respuestas correctas dependen no solo de los resultados lógicos sino también del
momento (tiempo) en que son entregadas (restricción de tiempo).
• Las fallas para responder a tiempo son tan malas como una mala respuesta.
I.- INTRODUCCIÓN
Significado de tiempo real
La reacción de los sistemas a los eventos externos debe ocurrir durante su evolución. Como
consecuencia, el tiempo del sistema (tiempo interno) debe medirse usando la misma escala
usada para medir el tiempo en el entorno controlado (tiempo externo).
Si en el sistema se incorporan eventos que evolucionan más rápidamente que las acciones que
pueden manejarlos, entonces dichas acciones ya no serán efectivas.
I.- INTRODUCCIÓN
• El control PID es una función a la que se le pasan unos parámetros (velocidad actual del
motor) y retorna el valor de la señal de control que hay que aplicar al motor (la tensión con la
que hay que alimentar el motor)
I.- INTRODUCCIÓN
Restricción Temporal
• La teoría supone que el tiempo de cómputo es despreciable, esto es, desde que se lee la
velocidad del motor hasta que se actúa, pasa muy poco tiempo.
• Normalmente se puede tolerar un cierto retraso. Una característica es que el algoritmo PID se
tiene que ejecutar periódicamente. Si entre dos invocaciones consecutivas a la función PID
pasa demasiado tiempo, entonces el motor puede alcanzar una velocidad no deseada.
Restricción Temporal
•Si el sistema está compuesto por una sola tarea, entonces no hay
problema de tiempo real. En caso de que el procesador no es lo
suficientemente rápido entonces simplemente se cambia de
procesador.
•El sistema operativo de Windows esta diseñado para ofrecer o compartir tiempo del procesador
a tareas que corren en el fondo (background).
•Como en este caso el usuario tiene poco control sobre cómo el procesador comparte su tiempo,
Windows no es considerado un sistema operativo de tiempo real. De esta manera, tareas no
críticas (como un protector de pantalla o software de protección de virus) pueden interferir con
un proceso de tiempo crítico en LabVIEW por ejemplo, como una aplicación de adquisición de
datos o un lazo de control.
I.- INTRODUCCIÓN
Estructura de un STR típico
I.- INTRODUCCIÓN
Necesidad de concurrencia en sistemas de tiempo real
Lo habitual es que un sistema de tiempo real tenga que realizar varias actividades de forma
concurrente
•Para el programador resulta más sencillo trabajar sobre cada una de las tareas de forma
independiente
•El sistema operativo o el lenguaje de programación proporcionará el soporte para que las tareas
se ejecuten de forma concurrente
I.- INTRODUCCIÓN
Requisitos funcionales
1.- Adquisición de datos
a. Medida de variables
•Cada variable pertenece a la etapa de control de un susbsistema
•La imagen de una variable en el STR tiene un intervalo de validez
•Las medidas pueden estar dirigidas por tiempo o por sucesos
b. Acondicionamiento de señales
•Los datos brutos se filtran y convierten a unidades de ingeniería
•Luego se analizan para obtener datos validados
c. Supervisión
•Cuando algún dato tiene valores incorrectos se generan alarmas. Es importante identificar el
suceso original de una serie de alarmas encadenadas
I.- INTRODUCCIÓN
Requisitos funcionales
2. Control Digital
•El sistema de tiempo real puede actuar sobre el sistema controlado para conseguir que tenga
un comportamiento determinado.
•La acción de control es función de la desviación entre los valores de referencia y los valores
medidos de las variables
b. Aspectos típicos:
•Presentación de datos
•Presentación de alarmas
•Presentación de tendencias
•Registro de datos
•Generación de informes
I.- INTRODUCCIÓN
I.- INTRODUCCIÓN
Características de un Sistema de Tiempo Real
4. Seguridad y fiabilidad
En sistemas críticos: fallos con consecuencias graves
✓ Pérdida de vidas humanas
✓ Pérdidas económicas
✓ Daños medioambientales
5. Determinismo temporal
• Acciones en intervalos de tiempo determinados
•Es fundamental que el comportamiento temporal de los STR sea determinista
•Tareas deben ser asignadas y terminadas antes de su plazo.
•La ejecución correcta no solo considera la lógica sino también el tiempo en que se producen los
resultados
I.- INTRODUCCIÓN
Características de un Sistema de Tiempo Real
•Las aplicaciones que se ejecutan determinísticamente muchas veces realizan una tarea crítica
en iteraciones y estas iteraciones consumen siempre la misma cantidad de tiempo del
procesador.
•De esta manera las aplicaciones determinísticas son apreciadas no tanto por su velocidad, sino
por su confiabilidad a responder con consistencia a entradas y generar salidas con muy poco
"parpadeo" o jitter. (Jitter es el término que se usa para identificar el promedio de las diferencias
en tiempo que le toma a un ciclo ejecutarse).
I.- INTRODUCCIÓN
Características de un Sistema de Tiempo Real
I.- INTRODUCCIÓN
Características de un Sistema de Tiempo Real
• Cada estímulo del entorno activa una o más tareas. Una tarea es una secuencia de
instrucciones que ejecuta en concurrencia con otras tareas.
I.- INTRODUCCIÓN
CONCURRENCIA Y PLANIFICACIÓN
1.Garantía de plazos. Un STR funciona correctamente cuando los plazos de todas las tareas
están garantizados. En contraste, en un STC, lo importante es asegurar un flujo lo más elevado
posible.
En un STR la planificación de las tareas concurrentes debe asegurar propiedades que no se
exigen en los Sistemas de Tiempo Compartido
2.Estabilidad. En caso de una sobrecarga del STR, se debe garantizar que al menos un
subconjunto de tareas críticas cumplen sus plazos. En un STC, el criterio es asegurar la equidad
del tiempo de ejecución.
Se activan una sola vez, ejemplos: Disparar un misil y verificar el blanco. Una falla de energía en
el sistema debe provocar una interrupción la cual debe ser procesada por el sistema
I.- INTRODUCCIÓN
Ventajas de desarrollo de aplicaciones Multitarea frente a Monotarea
Problema
•Un conjunto de procesos requieren el acceso a un recurso compartido: Procesador, medio de
comunicación, dispositivos.
•Si no existe contención suficiente:
✓ Todos los procesos comparten adecuadamente el recurso
•Si existe algún grado de contención en el sistema:
✓ Diseño: quien obtiene que prioridades, y cuando ?
✓ Cómo se asigna el acceso a los recursos compartidos ?
✓ Problemas de concurrencia
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Planificación vs. Planificabilidad
1. Restricciones de Funcionamiento.
•El sistema recibe una señal de referencia r(t), el cual indica la temperatura deseada.
•El objetivo del sistema de control es que y(t), sea lo mas parecida a r(t).
•Para lograr el objetivo, es preciso aplicar a la planta la señal u(t) y(t) muestra el valor real de la
temperatura del termo.
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Caracterización de la Aplicación
2. Restricciones de Tiempos:
✓ Tiempos de cómputo.
✓ Periodos de muestreo.
✓ Tiempos de acceso a los dispositivos (sensores actuadores)
✓ Plazos de Respuesta.
✓ Análisis de Planificación.
✓ Planificar el sistema con un Sistema Operativo.
•Los tiempos hay que obtenerlos, ya sea mediante mediciones instrucción por instrucción,
mediante analizadores lógicos o osciloscopios digitales.
•El periodo de muestreo y el plazo de respuesta dependen de la aplicación.
•Se trata de asegurar que:
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Caracterización de la Aplicación
2. Restricciones de Tiempos:
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Tipos de Planificación
Planificación Estática
Estimación a-priori de las restricciones temporales de todas las tareas del sistema
Opera sobre un conjunto de tareas no necesariamente estáticas
Asignación estática de prioridades:
✓ Tabla estática.
✓ Asignación de prioridades estáticas.
Planificación Dinámica
Los parámetros de las tareas (C,T,D) no son conocidas a priori
Las tareas pueden arribar en forma dinámica. De la misma forma las prioridades de las tareas se
asigna durante la ejecución.
No puede dar garantía de cumplimiento de plazos a priori
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Aplicaciones de los Sistemas en Tiempo Real
Dominio Industrial
• Controlador de la planta
• Robot para tratamiento de material peligroso
Uso militar
• Sistema de reconocimiento de blancos automático
• Sistema de guiado de misiles y navegación
Sistemas de Telecomunicaciones
Sistemas Multimedia
Sistemas de Telefonía Móvil
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Consideraciones de Diseño de un STR
Requisitos de Hardware
• Interfaces eficientes de E/S
• Sistema de interrupciones
• Cálculo de números reales
• Relojes en tiempo real
• Protección de memoria
II.- DISEÑO DE SISTEMAS EN TIEMPO REAL
Consideraciones de Diseño de un STR Consideraciones de Diseño de un STR
Requisitos del sistema operativo Características de los lenguajes en tiempo real
• Concurrencia
• Mecanismos de medición del tiempo • Concurrencia
• Planificación de tareas para tiempo real • Control de tiempo
• Acceso a interfaces • Planificación de la ejecución de tareas
• Gestión eficiente de interrupciones • Comunicación con dispositivos hardware
• Mecanismo para la portabilidad • Control de errores y situaciones excepcionales
• Burns-Alan-Sistemas-de-Tiempo-Real-Lenguajes-Programacion
• Real_Time_Systems_-_Design_Principles_for_Distributed_Embedded_Applications_--
_Hermann_Kope