Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Unidad responsable: 240 - ETSEIB - Escuela Técnica Superior de Ingeniería Industrial de Barcelona Unidad que imparte: 707 - ESAII - Departamento de Ingeniería de Sistemas, Automática e Informática Industrial Curso: 2016 Titulación: MÁSTER UNIVERSITARIO EN AUTOMÁTICA Y ROBÓTICA (Plan 2012). (Unidad docente Obligatoria) Créditos ECTS: 4,5 Idiomas docencia: Inglés Profesorado Responsable: SEBASTIAN TORNIL SIN Otros: Perera Lluna, Alexandre Capacidades previas Conocimientos básicos sobre electrónica digital y programación. Competencias de la titulación a las cuales contribuye la asignatura Específicas: 2. El/la estudiante sabrá implementar controladores sobre microcontroladores que respondan a los requerimientos de tiempo real identificados en un sistema Genéricas: 1. Tener los adecuados conocimientos matemáticos, analíticos, científicos, instrumentales, tecnológicos, de información y de gestión. Transversales: 3. USO SOLVENTE DE LOS RECURSOS DE INFORMACIÓN: Gestionar la adquisición, la estructuración, el análisis y la visualización de datos e información en el ámbito de especialidad, y valorar de forma crítica los resultados de dicha gestión. Metodologías docentes El curso combinará clases magistrales con laboratorios (50%-50%). Objetivos de aprendizaje de la asignatura Presentar a los estudiantes el desarrollo de sistemas empotrados de tiempo real basados en microcontroladores, con énfasis en el desarrollo software y en las aplicaciones de control. Los estudiantes aprenderán a: - Programar y verificar la corrección temporal (análisis de planificabilidad) de un sistema empotrado de tiempo real. - Programar un sistema empotrado de tiempo accediendo directamente a los recursos del micro: puertos, temporizadores, interrupciones, ADCs, PWMs,... - Programar un sistema empotrado de tiempo real sobre un sistema operativo de tiempo real (RTOS). - Programar un sistema empotrado de tiempo real con la ayuda de entornos de desarrollo gráficos. 1/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Horas totales de dedicación del estudiantado Dedicación total: 112h 30m Horas grupo grande: 0h Horas grupo mediano: 20h 15m 18.00% Horas grupo pequeño: 20h 15m 18.00% Horas actividades dirigidas: 0h 0.00% Horas aprendizaje autónomo: 72h 64.00% 2/8 0.00% Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Contenidos Conceptos básicos sobre computación empotrada Dedicación: 9h y tiempo real. Programación en C. Introducción a Grupo grande/Teoría: 6h Grupo pequeño/Laboratorio: 3h Arduino. Descripción: Se darán los conceptos fundamentales de los sistemas empotrados, con un enfoque importante en los sistemas que prestan servicio a aplicaciones de tiempo crítico. Se repasará el lenguaje de programación C. Se presentará la plataforma Arduino. Actividades vinculadas: Tema T1. Tema T2. Tema T3. Laboratorio L1. Desarrollo a bajo nivel. Dedicación: 12h Grupo grande/Teoría: 6h Grupo pequeño/Laboratorio: 6h Descripción: En este bloque se presentarán los principios de la programación de microcontroladores a bajo nivel. Se presentarán en detalle los recursos hardware y la programación a bajo nivel del microcontrolador ATMega328P (el micro de Arduino UNO). Se presentará la programación de tareas periódicas y de control. Se presentará el método de los ejecutivos cíclicos para la programación y análisis de múltiples tareas periódicas. Actividades vinculadas: Tema T4. Tema T5. Tema T6. Tema T7. Laboratorio L2. 3/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Desarrollo sobre sistemas operativos de tiempo real (SOTR). Dedicación: 7h 30m Grupo grande/Teoría: 4h 30m Grupo pequeño/Laboratorio: 3h Descripción: Se presentará el desarrollo de sistemas empotrados de tiempo real sobre sistemas operativos de tiempo real (SOTRs). Se presentará el sistema operativo FreeRTOS. Se presentará el análisis de planificabilidad para sistemas basados en planificadores basados en prioridades. Actividades vinculadas: Tema T8. Tema T9. Tema T10. Laboratori L3. Desarrollo con entornos de programación gráfica. Dedicación: 4h 30m Grupo grande/Teoría: 1h 30m Grupo pequeño/Laboratorio: 3h Descripción: Se presentará la programación de Arduino con Matlab/Simulink. Actividades vinculadas: Tema T11. Laboratorio L4. Programación de una aplicación de control real. Dedicación: 6h Grupo pequeño/Laboratorio: 6h Descripción: Programación de una aplicación de control real: el sistema tubo-bola. Actividades vinculadas: Laboratorio L5. 4/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Planificación de actividades Dedicación: 2h Grupo grande/Teoría: 2h Tema T1. Descripción: Introducción a los sistemas empotrados de tiempo real. Dedicación: 2h Grupo grande/Teoría: 2h Tema T2. Descripción: Repaso de la programación en C. Dedicación: 2h Grupo grande/Teoría: 2h Tema T3. Material de soporte: Introducción a Arduino. Dedicación: 3h Grupo pequeño/Laboratorio: 3h Laboratorio L1. Descripción: Programación de Arduino con Arduino IDE. Dedicación: 1h Grupo grande/Teoría: 1h Tema T4. Descripción: Hardware de sistemas empotrados. Dedicación: 2h Grupo grande/Teoría: 2h Tema T5. Descripción: Hardware y programación de microcontroladores AVR. Dedicación: 6h Grupo pequeño/Laboratorio: 6h Laboratorio L2. 5/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Descripción: Programación de Arduino en C con Eclipse. Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T6. Descripción: Programación de tareas periódicas: programación del lazo de control. Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T7. Descripción: Planificación basada en tablas (ejecutivos cíclicos). Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T8. Descripción: Principios de la programación concurrente. Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T9. Descripción: El sistema operativo FreeRTOS. Dedicación: 3h Grupo pequeño/Laboratorio: 3h Laboratorio L3. Descripción: Programación de Arduino con FreeRTOS. Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T10. Descripción: Planificación de tiempo real. 6/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Dedicación: 1h 30m Grupo grande/Teoría: 1h 30m Tema T11. Descripción: Programación de Arduino con Matlab/Simulink. Dedicación: 3h Grupo pequeño/Laboratorio: 3h Laboratorio L4. Descripción: Programación de Arduino con Matlab/Simulink. Dedicación: 6h Grupo pequeño/Laboratorio: 6h Laboratorio L5. Descripción: Programación de una aplicación real de control. Examen parcial. Dedicación: 3h Grupo grande/Teoría: 3h Examen final. Dedicación: 3h Grupo grande/Teoría: 3h Sistema de calificación La calificación del curso dependerá de: a) el examen parcial - 25% b) el examen final - 25% c) el rendimiento en los laboratorios - 50% Los apartados a) y b) son re-evaluables (en un único examen de re-evaluación). Normas de realización de las actividades Las normas se darán a conocer cuando sea necesario 7/8 Universitat Politècnica de Catalunya Última modificación: 08-09-2016 240AR031 - Sistemas Empotrados y de Tiempo Real Bibliografía Básica: Burns, Alan; Wellings, Andrew J. Real-time systems and programming languages : Ada, Real-Time Java and C/Real-Time POSIX. 4th ed. Harlow: Addison-Wesley, cop. 2009. ISBN 9780321417459. Buttazzo, Giorgio C. Hard real-time computing systems : predictable scheduling algorithms and applications. 3rd ed. New York: Springer, 2011. ISBN 9781461406754. 8/8 Universitat Politècnica de Catalunya