Créditos
6
Tipos
- GIA: Optativa
- GRAU: Obligatoria de especialidad (Ingeniería de Computadores)
Requisitos
- Prerrequisito: CI
Departamento
ESAII
Profesorado
Responsable
- Enric X. Martin Rull ( enric.xavier.martin@upc.edu )
Otros
- Daniel Garcia Solà ( daniel.garcia.sola@upc.edu )
- Fabio Francisco Banchelli Gracia ( fabio.francisco.banchelli@upc.edu )
Horas semanales
Teoría
1.2
Problemas
0.8
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Lengua extranjera
- G3.2 - Estudiar con materiales escritos en inglés. Redactar un informe o trabajo de tipo técnico en inglés. Participar en una reunión técnica llevada a cabo en inglés.
Especialidad ingeniería de computadores
- CEC1.1 - Diseñar un sistema basado en microprocesador/microcontrolador.
- CEC2.2 - Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.
- CEC2.3 - Desarrollar y analizar software para sistemas basados en microprocesadores y sus interfícies con usuarios y otros dispositivos.
- CEC3.1 - Analizar, evaluar y seleccionar las plataformas hardware y software más adecuadas para el soporte de aplicaciones empotradas y de tiempo real.
- CEC3.2 - Desarrollar procesadores específicos y sistemas empotrados; desarrollar y optimizar el software de estos sistemas.
Competencias técnicas comunes
- CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
Objetivos
-
Dada una aplicación, determinar para cada tarea: su duración, el tiempo de espera máximo, el tiempo crítico de atención i programar la estrategia correcta para satisfacer estos requerimientos.
Competencias relacionadas: CEC2.3, CT7.2, -
Identificar las regiones críticas de un programa y programar correctamente código libre de errores debido a la compartición de datos.
Competencias relacionadas: CEC2.2, CEC3.1, -
Hallar las partes del código que se deben programar en ensamblador y las que se pueden programar con un lenguaje de alto nivel.
Competencias relacionadas: CEC2.2, -
Dimensionar correctamente la temporización del watchdog i ubicar los kicks del watchdog de forma correcta en el código.
Competencias relacionadas: CEC3.2, -
Determinar la arquitectura software más adecuada para una aplicación concreta, a partir del número de procesos, la carga computacional de estos y los requerimientos de respuesta immediata.
Competencias relacionadas: CT7.2, CEC3.1, -
Determinar el mejor interfaz de comunicación serie para la comunicación entre dos circuitos integrados (processadores, processadores-interfaz).
Competencias relacionadas: CEC2.3, -
Generar las rutinas mínimas de abstracción de hardware para cualquier interfaz de comunicaciones.
Competencias relacionadas: CEC2.3, -
Colocar las protecciones adecuadas a un sistema microprocesador para su conectividad con el exterior.
Competencias relacionadas: CEC3.2, CT7.2, -
Proteger contra la recepción i emisión de ruido EM de un sistema microprocesador.
Competencias relacionadas: CEC1.1, CT7.2, -
Dimensionar correctamente la frecuencia de muestreo de una o varias señales segun su naturaleza y la carga computacional del micro.
Competencias relacionadas: CEC3.1, -
Configurar las tensiones de referencia del conversor AD con valores adecuados a partir del rango dinámico de la señal y la resolución requerida.
Competencias relacionadas: CEC3.1, -
Interpretar correctamente la representación de un señal periódico en un diagrama de Bode y su descomposición en series de Fourier.
Competencias relacionadas: CT7.2, -
Dado un circuito electrónico hallar sus impedancias de entrada y salida.
Competencias relacionadas: CEC1.1, -
Extraer los valores correctos de las características eléctricas publicadas por el fabricante en los manuales de referencia técnica.
Competencias relacionadas: G3.2, -
Seleccionar el dispositivo idóneo (transistor, relé, triac, optoaislador) para conectar cargas externas a pines del micro. Dimensionar correctamente los componentes necesarios para realizar la conexión.
Competencias relacionadas: CEC1.1, -
Diseñar e interpretar correctamente el esquema electrónico de un circuito.
Competencias relacionadas: CEC1.1, CT7.2, -
Defender un diseño hardware o software basado en microprocesador en una presentación frente a sus compañeros (objetivo de prácticas)
Competencias relacionadas: CEC3.2, G3.2, CT7.2, -
Dibujar e interpretar correctamente diagramas temporales.
Competencias relacionadas: CT7.2, CEC3.1, -
Aprender a usar los componentes de laboratorio: osciloscopio, analizador lógico, etc.. (objectivo de prácticas)
Competencias relacionadas: CT7.2, -
Programar un sistema con diferentes sensors e interfícies cumpliendo unos requisitos de ejecución. (objectivo de prácticas)
Competencias relacionadas: CEC2.3, CT7.2, CEC2.2, -
Diseñar e implementar una solución con microcontrolador para un problema dado. (objectivo de prácticas)
Competencias relacionadas: CEC3.2, CEC1.1, G3.2,
Contenidos
-
Introducción.
Características de los sistemas basados ​​en microprocesador. Tipo, soluciones habituales en el mercado. -
Aspectos Hardware
Hardware para sistemas basados ¿¿en microcomputador. Circuitos, componentes, diagramas de tiempo, diseño de esquemáticos. Entrada/Salida, alimentación, energía. -
Aspectos Software de los sistemas basados ¿¿en microprocesador.
Optimización e inspección de código. Startup, linkaje, ubicación de código, bootloaders. Concurrencia, cambio de contexto, gestión de tareas, interrupciones, RTOS. Algoritmos estándar para captación de datos y control de sistemas. -
Interfaces entre sistemas. Comunicaciones.
Descripción de interfaces I2C, SPI, CAN, Ethernet, Bluetooth, RF. -
Protecciones, seguridad, compatibilidad electromagnética.
Diseño robusto al ruido, protecciones del sistema microprocesador, compatibilidad electromagnética. Watchdog, NMI, redundancia, monitorización.
Actividades
Actividad Acto evaluativo
Introducción
Ver los tipos de soluciones disponibles en el mercado. Evaluar las más adecuadas para un problema. Entender su representación y las magnitudes asociadas.- Teoría: Características de los sistemas basados ​​en microcomputadores, características, tipos, soluciones disponibles.
- Aprendizaje autónomo: Se dará al alumno un conjunto de lecturas a realizar para conocer plataformas disponibles en el mercado.
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Práctica 1
Aprender a usar las herramientas de compilación, en lenguaje ASM y C. Entender la arquitectura del microcomputador.- Laboratorio: Revisión del micro: compilador, asm, C.
- Aprendizaje autónomo: Revisión del micro: compilador, asm, C.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Hardware para placas con microcontrolador.
Circuitos, componentes, esquemas básicos, diagramas de tiempo, herramientas de diseño de esquemáticos ...- Teoría: Circuitos, componentes, esquemas básicos, diagramas de tiempo, herramientas de diseño de esquemáticos ...
- Problemas: Se realizarán problemas básicos de análisis de circuitos con microcontroladores.
- Aprendizaje autónomo: Se dará al alumno una colección de problemas para practicar los conocimientos mostrados en clase.
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Práctica 2
Herramientas de laboratorio: analizador, osciloscopio, emulador y simulador. ICD, debug.- Laboratorio: Herramientas de laboratorio: analizador, osciloscopio, emulador y simulador. ICD, debug.
- Aprendizaje autónomo: Profundizar en el uso del simulador.
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Práctica 3
Puesta en marcha del microcontrolador, pruebas soft y hardware.Objetivos: 20
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
E / S Analógicas y impulsionales.
Conceptos de E / S, como conectar sensores, puentes, resolución, precisión. Conceptos relacionados con frecuencia, muestreo, divisores de frecuencia.- Teoría: Conceptos de E / S, como conectar sensores, puentes, resolución, precisión. Conceptos relacionados con frecuencia, muestreo, divisores de frecuencia.
- Problemas: Problemas básicos de como conectar sensores a microcontroladores. Circuitos con puentes. Problemas de resolución y precisión. Problemas relacionados con frecuencia, muestreo, divisores de frecuencia.
- Aprendizaje autónomo: Se darán problemas al alumno para la práctica en casa de los ejercicios más habituales de E / S.
Contenidos:
Teoría
3h
Problemas
4h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h
Práctica 4
Práctica de E / S. Se desarrollará un ejercicio para trabajar las interfaces en un sistema microcontrolador.- Laboratorio: Práctica de E / S. Se desarrollará un ejercicio para trabajar las interfaces en un sistema microcontrolador.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Ruido, protecciones, compatibilidad EM.
Estudio de las protecciones contra el ruido eléctrico y las radiaciones EM. Garantizar la compatibilidad de los sistemas diseñados con el resto de sistemas existentes.- Teoría: Estudio de las protecciones contra el ruido eléctrico y las radiaciones EM. Garantizar la compatibilidad de los sistemas diseñados con el resto de sistemas existentes.
- Problemas: Problemas prácticos de estudio de las protecciones contra el ruido en los circuitos diseñados.
- Aprendizaje autónomo: Se hará un estudio sobre las protecciones contra el ruido aplicadas a los trabajos realizados en laboratorio.
Contenidos:
Teoría
1h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Interfaces entre sistemas
Se explicarán conceptos básicos de las interfaces de comunicación I2C, SPI, CAN, Ethernet, Bluetooth, RF ... para ser trabajadas en la práctica.- Teoría: Se explicarán conceptos básicos de las interfaces de comunicación I2C, SPI, CAN, Ethernet, Bluetooth, RF ... para ser trabajadas en la práctica.
- Problemas: Problemas básicos para comprender el funcionamiento de las interfaces de comunicación serie.
- Aprendizaje autónomo: Se propondrán lecturas y ejercicios para profundizar en las interfaces de comunicación I2C, SPI, CAN, Ethernet, Bluetooth, RF ...
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Sistemas de supervisión
Estudio de los sistemas de supervisión del funcionamiento de los microcontroladores: watchdogs, NMI, redundancia ...- Teoría: Estudio de los sistemas de supervisión del funcionamiento de los microcontroladores: watchdogs, NMI, redundancia ...
- Problemas: Casos prácticos de los sistemas de supervisión del funcionamiento de los microcontroladores: watchdogs, NMI, redundancia ...
- Aprendizaje autónomo: Lecturas relacionadas con los sistemas de supervisión del funcionamiento de los microcontroladores: watchdogs, NMI, redundancia ...
Teoría
1h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Software para microcontroladores
Optimización e inspección de código, startup, linkaje, ubicación del código, bootloaders. Concurrencia, cambios de contexto, gestión de interrupción, tareas y RTOS.- Teoría: Optimización e inspección de código, startup, linkaje, ubicación del código, bootloaders. Concurrencia, cambios de contexto, gestión de interrupción, tareas y RTOS.
- Problemas: Problemas de optimización e inspección de código, startup, linkaje, ubicación del código, bootloaders. Ejercicios básicos sobre concurrencia, cambios de contexto, gestión de interrupción, tareas y RTOS aplicados a microcontroladores.
- Aprendizaje autónomo: Se harán problemas y pequeños trabajos sobre los aspectos software de los sistemas basados ¿¿en microcomputadores.
Contenidos:
Teoría
3h
Problemas
3h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h
CT3. Control teoría 3
1.- Se estudiará un artículo en inglés referido a aspectos software de los sistemes empotrados i se hará una presentación pública en catalan/castellano. 2.- Se hará un un diseño teórico de un sistema empotrado a partir de un enunciado. Se entregará una memoria del diseño redactada en inglés.Objetivos: 1 2 3 4 5
Semana: 14
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Preparación de los trabajos prácticos y las presentaciones
Se ayudará y guiará a los alumnos a preparar su trabajo práctico que mostrarán al final de curso.- Aprendizaje dirigido: Se ayudará y guiará a los alumnos a preparar su trabajo práctico que mostrarán al final de curso.
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Metodología docente
Habrá una gran complementación entre clases de teoría y problemas, las clases teóricas se reforzarán con ejemplos mostrando las posibles alternativas y soluciones a los problemas habituales. En algunos temas se propondrán ejercicios de autoevaluación para que el estudiante pueda ser consciente de su progreso, y pueda solicitar ayuda al profesor en el caso de que detecte alguna carencia. Las sesiones de prácticas se realizarán 'in situ' en el laboratorio docente del departamento en la FIB. Habrá dos prácticas grandes que requerirán el trabajo acumulativo de los alumnos en la confección de un proyecto.Método de evaluación
La nota de la asignatura se obtendrá a partir de la media ponderada de las notas de teoría (40%), de las prácticas de laboratorio (40%) y del trabajo final (20%)
NF = 0.1 CT1 + 0.1 CT2 + 0.1 CT3 + 0.1 CT4 + 12:40 PL +0.2 TF (CT = control de teoría, PL = Prácticas de laboratorio, TF = Trabajo Final)
La nota de prácticas de laboratorio (PL) se obtendrá a partir de las notas puestas en clase durante la ejecución de las prácticas. Habrá al menos dos entregas parciales de prácticas.
Por otro lado los alumnos deberán realizar un diseño teórico de un sistema empotrado a partir de un enunciado, este trabajo se presentará al final de la asignatura y producirá la nota TF. La memoria del diseño estará redactada en inglés. Se evaluará la calidad del diseño, la elección de componentes y la presentación.
Con la memoria en inglés y la presentación del trabajo final se obtendrá la nota de la competencia transversal de inglés (G3.2)
Bibliografía
Básico
-
Designing embedded hardware
- Catsoulis, J,
O'Reilly,
2005.
ISBN: 9780596007553
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002895339706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
An embedded software primer
- Simon, D.E,
Addison-Wesley,
1999.
ISBN: 020161569X
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003076329706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Better embedded system software
- Koopman, P,
Drumnadrochit Press,
2010.
ISBN: 9780984449002
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003826209706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementario
-
Designing Microcontroller Systems for Electrically Noisy Environments: AP-125 Application note
- Williamson, T,
Intel,
1996.
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000861259706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The art of electronics
- Horowitz, P.; Hill, W,
Cambridge University Press,
2015.
ISBN: 9780521809269
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004054299706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Sensores y acondicionadores de señal
- Pallas Areny, R,
Marcombo Boixareu,
2003.
ISBN: 8426713440
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002690349706711&context=L&vid=34CSUC_UPC:VU1&lang=ca