Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Fisica
Área: Area V: Electronica y Microprocesadores
(Programa del año 2014)
(Programa en trámite de aprobación)
(Programa presentado el 08/09/2014 15:50:35)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS EMBEBIDOS TEC.UNIV.TELEC. 16/13 2014 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
MURDOCCA, ROBERTO MARTIN Prof. Responsable P.Adj Exc 40 Hs
HERNANDEZ VELAZQUEZ, SERGIO FE Auxiliar de Laboratorio A.1ra Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 3 Hs.  Hs. 3 Hs. 6 Hs. 2º Cuatrimestre 19/08/2014 28/11/2014 15 90
IV - Fundamentación
La disminución de los costos de los sistemas electrónicos microcontrolados y su aumento de prestaciones, han hecho que los sistemas embebidos estén en la actualidad presentes en las más variadas aplicaciones y dispositivos. 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 abarcando la arquitectura y programación de los mismos.
V - Objetivos / Resultados de Aprendizaje
Estudiar la arquitectura y programación de los sistemas embebidos utilizados en telecomunicaciones.
Presentar los conceptos generales que permitan obtener un criterio de selección, que optimice las prestaciones para una aplicación determinada.
Estudiar una familia de microcontroladores y utilizar herramientas de desarrollo para realizar la programación de los mismos en lenguajes de alto nivel.
Utilizar sistemas operativos en tiempo real para el desarrollo de aplicaciones embebidas.
VI - Contenidos
Unidad 1: Tecnologías y Arquitecturas.
Tecnologías de Sistemas Digitales. Lógica programable el Microprocesador y el Microcontrolador. Clasificación por aplicación o propósito por arquitectura; clasificación de Flynn; Clasificación por poder de cálculo; por conjunto de instrucciones (ISA). Microcontroladores. Características generales. Módulos internos. Aplicaciones. Sistemas Embebidos. Definición. Áreas de aplicación de sistemas embebidos. Disponibilidad actual de Microcontroladores. Criterios para la elección de un Microcontrolador.

Unidad 2: Microcontroladores PIC
Características Generales. Arquitectura Harvard. RISC. Pipeline. Arquitectura interna. La Unidad Aritmético y Lógica (ALU) y el registro W. Ciclo de máquina y ejecución de instrucciones. El Contador de Programa (PC). Segmentado (pipeline) en la ejecución de instrucciones. Osciladores. Reset. Conexiones básicas del Microcontrolador. Alimentación. Familias de microcontroladores PIC. Estructura de los puertos de los microcontroladores PIC. Temporizadores. Conversores Analógico-Digital. Comunicación serie: la USART. Interrupciones.

Unidad 3: Programación en lenguaje de alto nivel.
Conceptos básicos sobre compilado en alto nivel. Compilador C. Pre-procesador. Librerías. Lenguaje C. Elementos del lenguaje C. Estructura de un programa en C. Cross compilador C para microcontroladores PIC. Control de periféricos e interrupciones en lenguaje C. Bibliotecas de funciones. Interface de usuario básica: teclados, displays de 7 segmentos, display LCD alfanumérico. Librerías para periféricos. Técnicas de programación de sistemas embebidos. Sistemas reactivos, interactivos y transformacionales. Máquinas de estados finitos (FSM). Tablas y diagramas de estados. Tabla de transiciones. Tablas de entradas y salidas. Implementación de máquinas de estado en lenguaje C

Unidad 4: Arquitecturas Avanzadas
Microcontroladores de 16 bits, 32 bits y DSP. Características generales. Aplicaciones. Arquitecturas ARM. Características generales. Descripción de arquitecturas ARM Cortex M0, M3 y M4. Placas comerciales con arquitecturas ARM. Herramientas de desarrollo.

Unidad 5: Introducción a la arquitectura Arm y Cortex- M3
El procesador ARM Cortex-M3, Set de instrucciones, Thumb-2 Instruction Set Architecture (ISA), Aplicaciones del procesador Cortex-M3. Fundamentos. Registros. Modos de operación. Mapa de memoria. Bus Interface. Set de instrucciones. Interrupciones y excepciones.

Unidad 6: CMSIS y entorno de desarrollo integrado
Introducción a la CMSIS. Reglas de codificación y convenciones. Manejo de herramientas de programación: generación y tratamiento del proyecto, debugging.

Unidad 7: Manejo de Entradas/Salidas y Comunicaciones
Gestion de entradas y salidas y soporte a interfaces de comunicación en CMSIS. Ejemplos de aplicaciones tipicas.

Unidad 8: Sistemas Operativos para sistemas embebidos
Características y clasificación de sistemas operativos embebidos. Sistemas Operativos en Tiempo Real. Linux y Linux Embebido. Kernel, módulos y appicaciones.

Unidad 9: Uso de Sistemas Embebidos en Telecomunicaciones
Ejemplos de usos de S.E. en telecomunicaciones. Dispositivos de redes. Servidores web embebidos. Programación de sistemas embebidos en lenguajes de alto nivel interpretados. Ejemplos con Python y Raspberry Pi.

VII - Plan de Trabajos Prácticos
PRÁCTICAS DE LABORATORIO

Guia 1: Microcontroladores PIC
Estudio del entrono de desarrollo y simulación. Conexionado de microntrolador. Programación ISCP.

Guia 2: Programación en lenguaje de alto nivel.
Cross compilador C para microcontroladores PIC. Desarrollo de aplicaciones portables en C. Implementación de máquinas de estado en lenguaje C.

Guia 3: Arquitecturas Avanzadas
Estudio comparativo de las arquitecturas PIC y ARM.

Guia 4: CMSIS y entorno de desarrollo integrado
Modelo de programacion ARM CMSIS. Gestion de entradas y salidas y soporte a interfaces de comunicación en CMSIS. Ejemplos de aplicaciones típicas.

Guia 5: Sistemas Operativos para sistemas embebidos
Instalación de Linux y analisis del sistema de archivos, permisos, estructura de directorios. Instalación y ejecución de software. Compilado y cross compilado.

Guia 6: Uso de Sistemas Embebidos en Telecomunicaciones
Desarrollo de aplicaciones de red con Python en Raspberry Pi. Análisis de ejemplos.

Proyecto Final
Desarrollo de un proyecto integrador de la asignatura en forma independiente, que incluya la interconección de 2 de las plataformas estudiadas.
VIII - Regimen de Aprobación
A) Promoción y Examen Libre

Esta materia no se aprueba por régimen de promoción.

Esta materia no se puede rendir en la modalidad de examen alumno libre (examen libre).

B) Regularizació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. La cantidad de laboratorio es 6 y habrá un total de 2 recuperaciones. Antes de ingresar a cada laboratorio se tomará un cuestionario con tres preguntas de tipo múltiple opción. Para aprobar el cuestionario se requieren dos preguntas correctas como mínimo. El alumno que no apruebe el cuestionario deberá recuperar ese laboratorio, perdiendo con esto una de las 2 recuperaciones posibles.

- 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. Cada parcial tiene una única recuperación. La aprobación de los parciales se obtiene con una nota igual o superior a 7 (siete). Se puede recuperar solo un parcial en forma extraordinaria.

- Proyecto Final: Desarrollo en forma independiente de un proyecto integrador de la asignatura, que incluya la interconexión de dos de las plataformas estudiadas.

- Examen Final: El examen final será escrito y se aprobara con una calificación mínima de 7 (siete).
IX - Bibliografía Básica
[1] Valdez Fernando E., Areny Ramón P., Microcontroladores: Fundamentos y aplicaciones con PIC, España, Marcombo Ediciones Técnicas, 2007, 344 p.
[2] Galeano Gustavo, Programación de Sistemas Embebidos en C, México, Alfaomega Grupo Editor, 2009, 544p.
[3] Breijo Eduardo García, Compilador C CCS y Simulador Proteus para Microcontroladores PIC, España, Alfaomega Grupo Editor, 2008, 260p.
[4] Saravia Andrés R. Bruno, Coria Ariel, Arquitectura y Programación de Microcontroladores PIC – Buenos Aires, MC Electronics, 2010, 312p.
[5] Sergio R. Capriles, Cortex-M3 Desarrollo con microcontroladores, 1 Ed. Editorial Puntolibro, 2012.
[6] Joseph Yiu, The Definitive Guide to the ARM Cortex-M3, Second Edition, Elsevier, 2009
[7] Keith E. Curtis, Embedded multitasking with Small Microcontrollers, , ELSEVIER, 2006, 417p.
[8] Ken Arnold, Embedded Controller Hardware Design, , LLH Technology Publishing, 2000, 244p.
[9] Introduction to ARM COrtex-M Microcontrollers Embedded Systems- Jonathan W. Valvano
X - Bibliografia Complementaria
[1] Ganssle Jack, The Firmware Handbook – EEUU, ELSEVIER, 2004, 365p.
[2] Di Jasio Lucio, Wilmshurst Tim, Ibrahim Dogan, Morton John, Bates Martin, Smith Jack, Smith D.W., and Hellebuyck Chuck, PIC Microcontrollers: Know It All, EEUU, ELSEVIER, 2008, 928p.
[3] Zurawski Richard, Embedded Systems HandBook, Taylor & Francis Group, 2006, 1089p.
[4] Katzen Sid, The Essential PIC18 Microcontroller, Springer, 2010, 612p.
[5] Timothy D. Green, Embedded Systems Programing with the PIC16F877, 2da Edicion, 2008, 196p.
[6] RobertT B. Reese, Microprocessors: From Assembly Language to C Using the PIC18Fxx2, Da Vinci Engineering Press, 2005, 687p.
XI - Resumen de Objetivos
Estudiar la arquitectura y programación de microprocesadores y microcontroladores actuales.
Utilizar herramientas de desarrollo para realizar la programación de una familia de microcontroladores actuales.
Dotar al alumno de los conocimientos necesarios para desarrollar un sistema embebido.
XII - Resumen del Programa
Unidad 01 - Tecnologías y Arquitecturas.
Unidad 02 – Microcontroladores PIC.
Unidad 03 - Programación en lenguaje de alto nivel.
Unidad 04 – Arquitecturas avanzadas.
Unidad 05 - Introducción a la arquitectura Arm y Cortex- M3.
Unidad 06 - CMSIS y entorno de desarrollo integrado.
Unidad 07 - Manejo de Entradas/Salidas y Comunicaciones.
Unidad 08 - Sistemas Operativos para sistemas embebidos.
Unidad 09 - Uso de Sistemas Embebidos en Telecomunicaciones.
XIII - Imprevistos
Cambio tecnológico: actualización por parte de fabricantes de microcontroladores.
Incompatibilidades y bugs de nuevas versiones de software.
XIV - Otros