Diseño de Sistemas Basados en Microcomputadores

Usted está aquí

Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería de Computadores)
Requisitos
  • Prerrequisito: CI
Departamento
ESAII
El objetivo principal de la asignatura es adquirir los conocimientos necesarios para diseñar e implementar sistemas empotrados tanto en su vertiente hardware (diseño de interfaces de entrada/salida, diseño de sistemas de supervisión de microcontroladores, conexión de periféricos avanzados, diseño de hardware con inmunidad al ruido ...) como software (programación con recursos escasos, programación consciente del hardware, tiempo real a partir de interrupciones, concurrencia de tares de tiempo real, comunicaciones con periféricos avanzados ...)

Profesorado

Responsable

  • Enric X. Martin Rull ( )

Otros

  • Daniel Garcia Solà ( )
  • Fabio Francisco Banchelli Gracia ( )

Horas semanales

Teoría
1.2
Problemas
0.8
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias Transversales

Lengua extranjera

  • G3 [Avaluable] - Conocer el idioma inglés con un nivel adecuado de forma oral y por escrito, y con consonancia con las necesidades que tendrán los graduados y graduadas en ingeniería informática. Capacidad de trabajar en un grupo multidisciplinar y en un entorno multilingüe, y de comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas relacionadas con la profesión de ingeniero técnico en informática.
    • 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.

Competencias Técnicas de cada especialidad

Especialidad ingeniería de computadores

  • CEC1 - Diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesadores y sistemas de comunicaciones.
    • CEC1.1 - Diseñar un sistema basado en microprocesador/microcontrolador.
  • CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.
    • 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 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.
    • 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

Competencias técnicas comunes

  • CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
    • CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.

Objetivos

  1. 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,
  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,
  3. 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,
  4. Dimensionar correctamente la temporización del watchdog i ubicar los kicks del watchdog de forma correcta en el código.
    Competencias relacionadas: CEC3.2,
  5. 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,
  6. Determinar el mejor interfaz de comunicación serie para la comunicación entre dos circuitos integrados (processadores, processadores-interfaz).
    Competencias relacionadas: CEC2.3,
  7. Generar las rutinas mínimas de abstracción de hardware para cualquier interfaz de comunicaciones.
    Competencias relacionadas: CEC2.3,
  8. Colocar las protecciones adecuadas a un sistema microprocesador para su conectividad con el exterior.
    Competencias relacionadas: CEC3.2, CT7.2,
  9. Proteger contra la recepción i emisión de ruido EM de un sistema microprocesador.
    Competencias relacionadas: CEC1.1, CT7.2,
  10. 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,
  11. 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,
  12. 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,
  13. Dado un circuito electrónico hallar sus impedancias de entrada y salida.

    Competencias relacionadas: CEC1.1,
  14. 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,
  15. 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,
  16. Diseñar e interpretar correctamente el esquema electrónico de un circuito.
    Competencias relacionadas: CEC1.1, CT7.2,
  17. 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,
  18. Dibujar e interpretar correctamente diagramas temporales.
    Competencias relacionadas: CT7.2, CEC3.1,
  19. Aprender a usar los componentes de laboratorio: osciloscopio, analizador lógico, etc.. (objectivo de prácticas)
    Competencias relacionadas: CT7.2,
  20. 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,
  21. 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

  1. Introducción.
    Características de los sistemas basados ​​en microprocesador. Tipo, soluciones habituales en el mercado.
  2. Aspectos Hardware
    Hardware para sistemas basados ¿¿en microcomputador. Circuitos, componentes, diagramas de tiempo, diseño de esquemáticos. Entrada/Salida, alimentación, energía.
  3. 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.
  4. Interfaces entre sistemas. Comunicaciones.
    Descripción de interfaces I2C, SPI, CAN, Ethernet, Bluetooth, RF.
  5. 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.
Objetivos: 16 18
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.
Objetivos: 19
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.
Objetivos: 12 13 14 15 16
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.
Objetivos: 19
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

CT1. Control teoría 1

Se hará un ejercicio de circuitos básicos en el montaje un microcomputador
Objetivos: 10 11 12 13 14 15 16 18
Semana: 4
Tipo: examen de teoría
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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.
Objetivos: 10 11 12
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.
Objetivos: 20
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

PL1. Prueba Laboratorio 1

Se hará un ejercicio in situ sobre los aspectos hardware del sistema microcomputador.
Objetivos: 19 20
Semana: 7
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
2h
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.
Objetivos: 8 9
Contenidos:
Teoría
1h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Teoría
0h
Problemas
0h
Laboratorio
9h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

CT2. Control teoría 2

Se hará un ejercicio de toda la interconexión de un microcontrolador en una placa y sus E / S.
Objetivos: 6 7 10 16 18
Semana: 8
Tipo: examen de teoría
Teoría
1h
Problemas
0h
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 ...
Objetivos: 6 7
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 ...
Objetivos: 4
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.
Objetivos: 1 2 3 5
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
Tipo: examen de teoría
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

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.
Objetivos: 17
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

PTL. Presentación del trabajo de Laboratorio

Se presentará al profesor el trabajo práctico de laboratorio i se comprobarà su funcionamiento.
Objetivos: 8 9 17 21
Semana: 15 (Fuera de horario lectivo)
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

CT4. Control teoria 4

Prueba evaluatoria de los algoritmos habituales en microcontroladores. Aspectos software.
Objetivos: 1 2 5
Semana: 11
Tipo: examen de teoría
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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ásica:

Complementaria:

Capacidades previas

Programación en lenguaje de alto nivel (preferiblemente C). Programación en lenguaje ensamblador de microcomputadores. Conocimientos de arquitectura de microcomputadores. Conocimientos de Sistemas Operativos. Conocimiento del funcionamiento de los diferentes componentes electrónicos: R, L, C, diodos y transistores MOS. Análisis de circuitos electrónicos en DC. Cálculo de tensiones, corrientes y consumos. Saber representar números en base binaria y hexadecimal, y realizar operaciones aritmético-lógicas. Conocer el funcionamiento de las diferentes puertas lógicas y bloques combinacionales o secuenciales. Saber analizar y sintetizar circuitos lógicos. Conocer el funcionamiento y estructura del procesador. Conocer el funcionamiento y jerarquía de la memoria de un computador. Entender correctamente documentación escrita en inglés. Saber redactar documentación técnica básica en inglés.