Información general


Tipo de asignatura: obligatoria

Coordinador: Julián Horrillo Tello

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Marcos Faúndez Zanuy

Idiomas de impartición


Los apuntes de teoría y prácticas así como la bibliografía están íntegramente en inglés

Competencias


Competencias específicas
  • CE21: Conocer los fundamentos y aplicaciones de la electrónica digital y los microprocesadores.

Descripción


La asignatura de microprocesadores es la continuación de electrónica digital II. Para la interfaz con el mundo real se aprovecharán también conocimientos de electrónica analógica.

Se trabajará con un microcontrolador de bajo coste (ARM Cortex M4, como el implementado en las placas de desarrollo launchpad TIVA TM4C123GX de Texas Instruments).

Un microcontrolador es un microprocesador con más capacidad de entradas y salidas del mundo analógico. Por lo tanto, puede funcionar de forma autónoma sin requerir periféricos.

En esta asignatura se programará directamente el dispositivo sin que haya una capa de sistema operativo. 

Se recomienda al estudiante la adquisición de la placa de desarrollo Launchpad TIVA TM4C123GX de Texas Instruments para poder realizar las prácticas y ejercicios sobre hardware real. El coste de esta placa es inferior a los 15 €. Sin embargo, es posible seguir la asignatura y realizar todas las actividades en modo simulación, sin disponer de la placa.

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

El Tecnocampus pondrá al alcance del profesorado y el alumnado las herramientas digitales necesarias para poder llevar a cabo la asignatura, así como guías y recomendaciones que faciliten la adaptación a la modalidad no presencial

Resultados de aprendizaje


1. Implementa hardware utilizando componentes digitales discretos (SSI, MSI), programables (PLD), microprocesadores, microcontroladores y DSP. (CE21, CE28)

2. Diseña algoritmos y escribe código en programas de alto y de bajo nivel. (CE23)

3. Aplicar herramientas de programación de dispositivos PLD, microprocesadores, microcontroladores y DSP de los equipos digitales. (CE21)

4. Manguera la terminología científico-técnica propia de los componentes electrónicos digitales en inglés. (CE21, CE24, CE28)

5.      Elabora informes técnicos de proyecto, evalúa alternativas y justifica sus análisis y criterios de diseño (CE21, CE24, CE28)

 

Al finalizar la asignatura el estudiante debe ser capaz de:

1. Diseñar sistemas autónomos de bajo coste que resuelvan problemas de complejidad media.

2. Configurar los puertos de entrada y salida así como programar microcontroladores.

3. Desarrollar aplicaciones como un marcapasos, máquina de estados finitos, o aplicaciones que requieran entradas y salidas analógicas (conversión A / D, procesado y conversión D / A) en un entorno integrado de desarrollo (IDE).

4. debug los diseños realizados tanto a nivel del software de desarrollo como usando herramientas de visualización.

5. Interconectar el microcontrolador con elementos de visualización (displays) y boosterpacks.

6. Implementar software fácil de mantener y depurar (calidad del software)

Metodología de trabajo


La asignatura consta de teoría y prácticas, siguiendo la estructura del curso análogo en la universidad de Texas.

Las clases teóricas no se limitan a la explicación teórica de la materia sino que incluyen demostraciones prácticas sobre el entorno de desarrollo. Por ello se recomienda que el estudiante asista a las clases con su propio ordenador portátil o con un ordenador para cada dos personas.

Al finalizar la semana el estudiante debe realizar en casa los ejercicios prácticos propuestos y cuestionarios Moodle. El entorno de desarrollo uVISION permite incluir una evaluador (grader) automático que proporcionará feedback al estudiante sobre los errores de su código así como un código numérico que el estudiante deberá introducir en la plataforma Moodle para demostrar que ha finalizado satisfactoriamente el ejercicio propuesto.

Las sesiones de laboratorio implican la resolución de problemas más complejos que el estudiante deberá realizar en primer lugar en modo de simulación y a continuación sobre la placa de desarrollo del microcontrolador. Las soluciones pueden requerir la incorporación de elementos externos montados en protoboard (resistencias, leds, pulsadores, pantalla de visualización, etc.). Nuevamente el estudiante contará con la ayuda del grader automático para detectar posibles errores y verificar el correcto funcionamiento del circuito.

En caso de pandemia Covid-19, las clases serán online desde casa.

Contenidos


1. Introducción. Los objetivos de aprendizaje. Sistemas embedits. Conceptos Fundamentales. Lógica digital. Información binaria Implementada con transistores. Información digital almacenado en la memoria. Sistemas de numeración binarios. Numeración en coma fija.

2. Introducción a los ordenadores. Puertos E / S. Registros de la CPU. Lenguaje ensamblador. Sintaxis. Modos de direccionamiento y operandos. Espacio de direcciones. Proceso de desarrollo de software.

3. Introducción a la programación en C. Estructura y organización de C. Variables y expresiones. Funciones. Bifurcaciones condicionales y bucles. La entrada de teclado usando scanf. Palabras clave C Puntuación.

4. Puertos paralelos E / S. Stellaris LM4F120 y Tiva TM4C123 LaunchPad. Pins E / S. Conceptos básicos de entrada y salida de los puertos. Programación de E / S y registro de direcciones.

5. Debug. Herramientas de depuración de hardware. Diseño y Desarrollo. Ciclo de Vida del Producto. Refinamiento adelante. Diseño de Calidad. Funciones, procedimientos, métodos, y subrutinas. Toma de decisiones. Condicional if-then Switch. Bucles. Depuración funcional.

6. Interfaz con pulsadores y LEDs externos. Protoboard. Ejemplos. Diseño de hardware. Diseño de software. Tests.

7. Arrays, tiempo y debug funcional. Teoría del debug. Temporizador SysTick. Arrays, cadenas. Estabilización. Breakpoints. Debug paso a paso. Volcado a arrays.

8. Máquinas de Estados Finitos. Phase-Lock Loop. Estructuras. Máquinas de estados finitos con estructuras indexadas. Motores paso a paso. Ejemplos.

9. Interfaz serie. Sincronización E / S. Transmisor receptor asíncrono universal (UART). Comunicación asíncrona. Detalles de la UART del TM4C. Conversiones. Sistemas Distribuido. Conexión a una pantalla LCD Nokia 5110 usando el puerto serie.

10. Interrupciones. Comunicación y sincronización multi-hilo (thread). NVIC en el procesador ARM Cortex-M. Interrupciones por flanco. SysTick en las interrupciones periódicas. Interfaz del motor de corriente continua con PWM. Ejemplo de construcción de un coche robotizado.

11. Conversión Digital a Analógica y audio. La aproximación de señales continuas en el dominio digital. Conversión Digital a Analógica. Generación de sonido y música.

12. Conversión analógica a digital. Adquisición de Datos y Control. ADC al TM4C123 / LM4F120. Teorema de Nyquist. Robot Car Controller.

13. Sistemas Embedded completos. Documento de requerimientos. El diseño modular. Introducción a los Gráficos. Estructuras de organización de datos. Interrupciones periódicas. Display NOKIA 5110

 

 

 

 

 

 

 

 

Actividades de aprendizaje


 

dedicación

Horas

porcentaje

aprendizaje dirigido

Grupo grande / teoría

30

30%

Grupo mediano / prácticas

0

 

Grupo pequeño / laboratorio

10

10%

actividades dirigidas

0

 

aprendizaje autónomo

 

60

60%

Actividades prácticas:

  1. Instalación y Puesta en marcha del entorno de desarrollo integrado (IDE) uVISION, grader, Texasdisplay y placa de desarrollo TM4C123G. competencia E21
  2. Debug y modificación de un programa para controlar LEDs con los pulsadores de la placa de desarrollo (). Resultados de aprendizaje 2 y 4. Competencias CB3 y E21
  3. Programar y ejecutar en uVISION un programa que lea las dimensiones de una habitación rectangular y calcule el área. Resultados de aprendizaje 3 y 4. Competencias CB3 y E21
  4. Medida de tiempo con el osciloscopio virtual y generación de pulsos luminosos de duración predeterminada, modificable mediante los interruptores. Resultados de aprendizaje 1 y 6. Competencias CB3 y E21
  5. Simulación de sistema marcapasos para el corazón. Resultados de aprendizaje 3, 4 y 6. Competencias CB3 y E21
  6. Conexión de la placa de desarrollo con elementos externos (LEDs y pulsadores). Resultados de aprendizaje 4 y 5. Competencias CB3 y E21
  7. Máquina de estados finitos para controlar 3 semáforos de tráfico. Resultados de aprendizaje 1 a 6. Competencias CB3 y E21
  8. Conversión de datos numéricos a strings y transmisión por la UART Resultados de aprendizaje 4 y 6. Competencias CB3 y E21
  9. Generación de audio usando interrupciones. Resultados de aprendizaje 1 a 6. Competencias CB3 y E21
  10. Construcción de un pequeño piano de 4 teclas. Resultados de aprendizaje 1 a 6. Competencias CB3 y E21
  11. Medida y visualización de la posición de un potenciómetro deslizante. Resultados de aprendizaje 1 a 6. Competencias CB3 y E21

Algunas actividades prácticas se realizarán en clase teórica, otros en el laboratorio en grupo reducido (5 sesiones) y otros las realizará el alumno por su cuenta, preferiblemente con su propio ordenador.

Sistema de evaluación


La evaluación continua se basará en tres elementos:
1. La nota de las actividades prácticas realizadas en el laboratorio (NL),
2. La nota de teoría y problemas (NTP)
3. Actividades realizadas por el estudiante en la plataforma moodle (M)
calificación:
La Nota Final (NF) de la asignatura se obtiene ponderando la Nota de Teoría y problemas (NTP) y la nota de las prácticas de Laboratorio (NL):
NF = 0.7 NTP + 0.3 NL
La NTP se obtiene mediante la evaluación continua o mediante el Examen de recuperación. La asignatura está planificada de forma que, en condiciones normales, pueda ser aprobada por evaluación continua. No obstante, si algún alumno no consigue aprobar la evaluación continua) puede obtener la nota NTP directamente del Examen de recuperación. Para presentarse al examen de recuperación necesario haber sacado una nota superior a 2.5 en la evaluación continua.
Nota de Teoría y Problemas (NTP) para evaluación continua:
La NTP se obtiene a partir de ponderar 3 notas (N1, ..., N3). La nota Nk (para k = 1, ..., 3) es la calificación obtenida en el examen Ek (el que se realiza en el horario de clases) siempre que el alumno haya entregado satisfactoriamente un 80% de las actividades moodle (M) sobre los temas / objetivos evaluados. En el caso de no llegar al 80%, Nk será 0.
Las entregas incluyen tanto la realización a tiempo (y en casa) de los Ejercicios y problemas propuestos después de cada sesión de teoría y problemas, como aquellos Ejercicios y problemas realizados en la propia clase.
Los pesos que ponderan cada nota Nk son proporcionales a las horas de trabajo que el estudiante dedica a realizar las actividades planificadas para conseguir los objetivos evaluados, así como de la importancia relativa de estos objetivos dentro de la asignatura.
NTP = (N1 + N2 + N3) / 3
La nota de Laboratorio (NL):
Al tratarse de una asignatura eminentemente práctica se reducirán al máximo las explicaciones teóricas y se realizarán prácticas en las clases de teoría (grupo completo) y en las clases de prácticas (grupo reducido). Esto permite realizar un total de 10 prácticas.
La nota NL se obtiene utilizando la siguiente fórmula:
NL = 0.65 x PP + 0.35:XNUMX IF

en:
PP es la nota media de todas las pruebas previas individual (de unos 15 minutos de duración), la que se realiza al inicio de la sesión y que consiste en preguntas similares a las actividades realizadas en prácticas. No todas las prácticas tienen prueba previa.
IF es la nota media de todos los informes finales realizados durante las actividades prácticas (no entregar ningún documento en papel).

Nota final:
Al terminar las clases, después de unos pocos días del examen E3, el alumno sabrá si ha aprobado la asignatura mediante la evaluación continua de teoría y problemas, y la evaluación del laboratorio (NF> = 5). En caso de aprobar, ya no es necesario que el alumno realice el Examen de recuperación.
Sistema de calificación
Si no ha aprobado la asignatura por evaluación continua, el alumno puede obtener la nota NTP a través del examen final de recuperación. La nota final de la asignatura se calculará con la misma ponderación utilizada para los alumnos que aprobaron mediante la evaluación continua, utilizando como nota NTP la máxima nota entre la proveniente de la evaluación continua y la proveniente del Examen de recuperación.
Sólo se pueden presentar al examen de recuperación aquellos estudiantes que no hayan aprobado por evaluación continua y hayan obtenido una nota superior a 2.5 en el promedio de los exámenes de teoría.

Normas de realización de las actividades
Las pruebas se realizarán de forma individual.
Las prácticas se realizarán por parejas. La nota de la Práctica puede ser diferente para cada miembro del grupo si el profesor lo considera oportuno.

Es obligatorio realizar todas las actividades de la asignatura.

Examen final de recuperación: los estudiantes que no aprueben por evaluación continua y hayan obtenido una nota superior a 2.5 en el promedio de los exámenes podrán acudir al examen final de recuperación.

Bibliografía


Básico

Marcos Faundez Zanuy, PowerPoints "Microcomputers" 2022

Introduction to ARM Cortex-M Microcontrollers

John Valvano, Volume 1, Introduction to ARM Cortex-M Microcontrollers (fifth edition, 2nd printing- June 2014), 2016, ISBN: 978-1477508992

Real-Time Interfacing to ARM Cortex-M Microcontrollers

John Valvano, Volume 2, Real-Time Interfacing to ARM Cortex-M Microcontrollers (fifth edition, 1st printing June 2014), 2016, ISBN: 978-1463590154

Practical microcontroller engineering with ARM Technology

Ying Bai Practical microcontroller engineering with ARM Technology, IEEE Press Wiley 2016, ISBN 978-1-119-05237-1

E-Book J. Valvano

http://users.ece.utexas.edu/~valvano/Volume1/E-Book/ 

Complementario
Real-Time Operating Systems for ARM Cortex-M Microcontrollers

John Valvano, Real-Time Operating Systems for ARM Cortex-M Microcontrollers Volume 3, third edition, 2016