Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Electrónica Área: Electrónica |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||
---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Un sistema embebido (SE) es un sistema de computo implementado en un microcontrolador o un microprocesador, diseñado para realizar una o algunas pocas funciones dedicadas. Estos sistemas han manifestado un gran desarrollo sustentado en dos tendencias fundamentales las cuales son el aumento de la capacidad de cómputo que ha aumentado en el diseño de los microcontroladores y la disminución de los costos de producción que implica la fabricación de los mismos. Debido a esto, los sistemas embebidos están presentes en casi todas las interacciones que realizan los seres humanos hoy en día, como por ejemplo computación portable, electrónica de consumo, sistemas de control, etc. Las telecomunicaciones no son ajenas a estas tendencias y hacen un uso intensivo de estas tecnologías. Es preciso entonces contar con conocimientos y habilidades específicas en esta tecnología.
|
V - Objetivos / Resultados de Aprendizaje |
---|
En la presente actividad curricular se pretende introducir a los estudiantes en el desarrollo de aplicaciones en Sistemas Embebidos. Para ello, se estudia la arquitectura y programación de microprocesadores y microcontroladores actuales, periféricos y componentes asociados, así como los estándares y protocolos de interconexión de los mismos. Se presentan los conceptos generales que permitan obtener un criterio de selección para optimizar las prestaciones para una aplicación determinada. Durante el transcurso del semestre se enfocará el estudio en una de las familias de microcontroladores y se utilizarán herramientas de desarrollo para realizar la programación de los mismos en lenguajes de alto nivel.
|
VI - Contenidos |
---|
Introducción a Sistemas Embebidos (SE)
Definición de Sistemas Embebidos. Características. Ejemplos de Sistemas Embebidos. Opciones para construir un SE. Introducción al Internet de las cosas (Internet of Things, IoT) Desafíos en IoT. Implementación de Sistemas Embebidos usando MCUs, SoC, SoM y plataformas de desarrollo. Introducción a plataformas de desarrollo de SE Arquitecturas de MCU actuales. SoC (System on Chip), SiP (System in a Package), Módulos PCB y Placas de desarrollo. Herramientas de programación, lenguajes de programación de bajo y alto nivel, compilados e interpretados. Control de versiones usando GIT y GITHUB. Introducción a la programación de SE Estructura de un programa en C. Elementos de programación en Lenguaje C. Flujo de generación de programa. Almacenamiento en memoria. Tipos de datos. Acceso a datos en C. Librerías de usuario. Entradas y salidas digitales Características eléctricas de los puertos. Controladores GPIO. Estructura de datos para periféricos. Funciones para el control de entradas y salidas digitales. Conexión de dispositivos externos al puerto de un microcontrolador. Interfaces con dispositivos de entrada. Conexión de Interruptores y pulsadores. Interface con teclados matriciales. Técnicas de exploración de teclados. Adaptación de señales de entrada. Opto aislación. Interfaces con dispositivos de salida. Interrupciones. Interrupciones, que son y para que se usan. Prioridades. Latencia de servicio de interrupción. Configuración. Tabla de vectores. Manejo de interrupciones. Interrupciones de periféricos. Bibliotecas de Software. Entradas y salidas analógicas Descripción general. Entrada analógica: Conversor Analógico a Digital. Salida Analógica: Conversor Digital a Analógico. Rango, resolución y cuantización. Frecuencia de muestreo. Uso de entradas y salidas analógicas. Temporizadores y modulación de ancho de pulso Descripción de temporizadores, componentes, modos de comparación y de captura. Modo de modulación por ancho de pulsos (PWM). Comunicaciones embebidas Comunicación Serial: UART, SPI e I2C. Protocolos e implementaciones. Comunicación WIFI. Comunicación Bluetooth. Técnicas de programación de SE Etapas de desarrollo de proyecto. Conceptos de sistemas en tiempo real. Clasificación de Sistemas: reactivos y transformacionales. Métodos de programación de SE: Bare Metal, patrón Súper Lazo, programación mediante interrupciones (background / foreground), máquinas de estados finitos (FSM), sistemas operativos en tiempo real (RTOS). Internet de las Cosas Infraestructuras de servicios en IoT. Protocolos para IoT. MQTT. Suscriptor y publicador. Estructura de un mensaje MQTT. Seguridad en MQTT. Mosquitto MQTT. Entorno de desarrollo Node-RED. Barra de herramientas Dashboard en Node-RED. |
VII - Plan de Trabajos Prácticos |
---|
1- Plataformas de desarrollo de SE.
2- Control de versiones usando Git y Git Hub. 3- Entradas y salidas digitales. 4- Interrupciones. 5- Entradas y salidas analógicas. 6- Temporizadores y modulación de ancho de pulso. 7- Comunicaciones embebidas. 8- Patrones de programación. 9- Internet de las Cosas: MQTT y Node-RED. |
VIII - Regimen de Aprobación |
---|
Para regularizar la materia los alumnos deberán cumplir con los siguientes requisitos:
- Guías de laboratorio: aprobar la totalidad de las guías de laboratorio con su respectivo informe, se pueden recuperar hasta dos prácticos. - Parciales: Durante el cuatrimestre se tomarán dos parciales. Los parciales incluirán temas teóricos y temas desarrollados en las guías de problemas. La aprobación de los parciales se obtiene con una nota igual o superior a 7 (siete). Para aprobar la materia los alumnos deben cumplir los siguientes requisitos: - Por promoción: deben aprobar los parciales con nota igual o mayor a ocho (8). Deben presentar un Proyecto Final Integrador de la materia. No se les toma examen final. - Sin promoción: Se aprueba mediante examen oral. El examen puede consistir en la defensa de un Proyecto Final Integrador de la materia. Durante la defensa del mismo se evaluarán los conceptos teóricos aplicados. - El Proyecto Final consiste en el Desarrollo de un Sistema Embebido que incluya la interconexión de 2 o más de las plataformas estudiadas, el informe técnico correspondiente el cual debe estar realizado usando un formato dado por la cátedra y el prototipo funcionando. No se aceptan alumnos libres en el examen final. |
IX - Bibliografía Básica |
---|
[1] Introducción a Arduino, Massimo Banzi, Primera edición 2008, O'Reilly Media, ISBN: 978-0-596-15551-3
[2] Arduino y el Internet de las Cosas, Novillo-Vicuña, Hernández Rojas, Mazón Olivo, Molina Ríos, Cárdenas Villavicencio, Primera Edición 2018, 3Ciencias, ISBN: 978-84-949151-8-5 |
X - Bibliografia Complementaria |
---|
[1] Keith E. Curtis, Embedded multitasking with Small Microcontrollers, ELSEVIER, 2006, 417p.
[2] Ken Arnold, Embedded Controller Hardware Design, LLH Technology Publishing, 2000, 244p. [3] Developing IoT. Projects with ESP32. Vedat Ozan Oner. Packt Publishing. Birmingham, Mumbai. Año 2021. ISBN 978-1-83864-116-0 |
XI - Resumen de Objetivos |
---|
Tecnologías y Arquitecturas de Sistemas Embebidos, herramientas de desarrollo y programación en lenguaje de alto nivel.
Interfaz de usuario, Manejo de Entradas/Salidas y Comunicaciones. Sistemas Operativos para S.E. Uso de Sistemas Embebidos en Telecomunicaciones |
XII - Resumen del Programa |
---|
Tecnologías y Arquitecturas de sistemas Embebidos, Arquitecturas y herramientas de desarrollo, Programación en lenguaje de alto nivel, Interfaz de usuario, Bibliotecas de software y entorno de desarrollo integrado, Manejo de Entradas/Salidas y Comunicaciones.
Sistemas Operativos para sistemas embebidos, Uso de Sistemas Embebidos en Telecomunicaciones |
XIII - Imprevistos |
---|
En caso de no poder realizar el dictado de la materia en modalidad presencial, se optara por la modalidad virtual utilizando plataformas como zoom, meet, etc.
|
XIV - Otros |
---|
|