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 es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas.
Estos sistemas han manifestado un gran desarrollo sustentado en dos tendencias fundamentales: en primer término el aumento de las prestaciones del hardware en términos de capacidades de memoria y de proceso, y en segundo término la constante disminución de sus costos de producción. Debido a esto, los sistemas embebidos están presentes en casi todas las interacciones que realizan los seres humanos hoy en día; computación portable, electrónica de consumo o sistemas de control son solo tres ejemplos de la importancia actual de las tecnologías de sistemas embebidos. 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íficos en sistemas embebidos. |
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 estudiará una familia de microcontroladores y 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)
CPUs vs. MCUs vs. SE. Ejemplos de Sistemas Embebidos. Opciones para construir un SE. Características de los SE Introducción al Internet de las cosas (Internet of Things, IoT) Desafíos en IoT. Implementación de Sistemas Embebidos usando MCUs Introducción a la plataforma mbed Descripción general de la plataforma mbed. mbed Software Development Kit (SDK), mbed Hardware Development Kit (HDK). Herramientas de desarrollo mbed. Comunidad mundial de desarrollo mbed. Ejemplos de plataformas de hardware mbed: Freedom KL25Z, KL46Z y K64F, NXP LPC1768 y Nordic nRF51822. IoT con mbed. Introducción a Arquitecturas de Procesadores y MCU Conceptos de Arquitecturas de procesador. Arquitecturas y Familias de procesadores populares. Serie ARM Cortex-M. Procesador Cortex-M0+: Descripción General, Diagrama de bloques, Registros, Mapa de memoria, Conjunto de instrucciones. Introducción a la programación de Cortex-M0+ Código de programa. Lenguajes C vs. Assembler. Elementos de programación en Lenguaje C. Flujo de generación de programa. Almacenamiento en memoria. Tipos de datos. Acceso a datos en C y Assembler. Programación con código mixto C-Assembler. Entradas y salidas digitales Tensiones y valores lógicos. Controladores GPIO. Uso de punteros con GPIO. Estructura de datos para periféricos. Uso de LEDs, displays de 7 segmentos, Emisor y detector IR Interrupciones y características de baja potencia Interrupciones, que son y para que se usan. Interrupciones en el Cortex-M0+: el controlador de interrupciones anidadas NVIC (Nested Vectored Interrupt Controller). Módulo de puertos e interrupciones externas. Ejemplos Bibliotecas de Software: CMSIS y mbed SDK Descripción general de bibliotecas de software. Cortex Microcontroller Software Interface Standard (CMSIS): que es CMSIS, que esta estandarizado. Funciones. mbed SDK: que es, como se usa, características, estructura. Ejemplos 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 con mbed. 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). Temporizador y PWM en nmbed. el ticker en mbed. Comunicaciones embebidas Comunicación Serial: UART, SPI e I2C. Protocolos e implementación mbed. Comandos AT, uso en modems, módulos Wifi y Bluetooth. Sistema Operativo en Tiempo Real (RTOS) Que es un Sistema Operativo (SO): tipos, funciones y servicios de un OS. SO de Tiempo Real: RTOS. Planificación de Tareas. mbed RTOS API: Hilos, Mutex y Semáforos. |
VII - Plan de Trabajos Prácticos |
---|
Introducción a Sistemas Embebidos (SE)
Introducción a la plataforma mbed Introducción a Arquitecturas de Procesadores y MCU Introducción a la programación de Cortex-M0+ Entradas y salidas digitales Interrupciones y características de baja potencia Bibliotecas de Software: CMSIS y mbed SDK Entradas y salidas analógicas Temporizadores y modulación de ancho de pulso Comunicaciones embebidas |
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 respectiva carpeta de informes, se pueden recuperar el 30% de los 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). - Proyecto Final: Desarrollo de un proyecto integrador de la asignatura, que incluya la interconección de 2 o mas de las plataformas estudiadas, el informe técnico y su correspondiente defensa. Durante la defensa del mismo se evaluarán los conceptos teóricos aplicados. |
IX - Bibliografía Básica |
---|
[1] Sergio R. Capriles, Cortex-M3 Desarrollo con microcontroladores
[2] Galeano Gustavo, Programación de Sistemas Embebidos en C, México, Alfaomega Grupo Editor, 2009, 544p. [3] Joseph Yiu, The Definitive Guide to ARM Cortex-M0 and Cortex-M0+ Processors, Elsevier, 2015 [4] Fast and effective embedded systems design - Applying the ARM mbed Rob Toulson, Tim Wilmshurst, Newness, 2012 |
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. |
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 Avanzadas ARM Cortex y herramientas de desarrollo, Programación en lenguaje de alto nivel, Interfaz de usuario, CMSIS y entorno de desarrollo integrado, Manejo de Entradas/Salidas y Comunicaciones
Sistemas Operativos para sistemas embebidos, Uso de Sistemas Embebidos en Telecomunicaciones |
XIII - Imprevistos |
---|
Los métodos de dictado de teoría, desarrollo de trabajos prácticos, evaluaciones parciales y finales se ajustarán a las posibilidades reales de cada momento, segun el número de alumnos inscritos, su acceso a computadoras y conectividad.
|
XIV - Otros |
---|
|