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 2013)
(Programa en trámite de aprobación)
(Programa presentado el 22/04/2013 09:46:35)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROCESADORES II ING.ELECT.O.S.D 13/08 2013 1° cuatrimestre
PROCESADORES II PROF.TECN.ELECT 005/09 2013 1° cuatrimestre
PROCESADORES II T.U.MICROP. 8/01 2013 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
MURDOCCA, ROBERTO MARTIN Prof. Responsable P.Adj Exc 40 Hs
BRAUER, GUSTAVO GABRIEL Responsable de Práctico 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. 1º Cuatrimestre 14/03/2013 19/06/2013 15 90
IV - Fundamentación
Gran parte de los sistemas electrónicos actuales utilizan microcontroladores para llevar a cabo sus tareas específicas.
En la industria, hogar, automóviles, equipos de comunicaciones, laboratorios y en general en todos los equipos electrónicos actuales se tiene al menos un microcontrolador embebido encargado de controlar el funcionamiento de dicho equipo.
Conocer las tecnologías empleadas en estos microcontroladores como así también su programación y herramientas de desarrollo es importante para el diseño, implementación y mantenimiento de equipos electrónicos programables.
V - Objetivos / Resultados de Aprendizaje
Ofrecer una visión global del impacto que tienen los distintos tipos de microprocesadores y microcontroladores sobre el mundo en el que vivimos.
Presentar los conceptos generales que permitan obtener un criterio de selección, que optimice las prestaciones para una aplicación determinada.
Estudiar la familia de microcontroladores PIC y sus aplicaciones.
Utilizar herramientas de desarrollo para realizar la programación de estos microcontroladores en lenguajes de alto y bajo nivel.
Dotar al alumno de los conocimientos y habilidades necesarios para desarrollar un sistema embebido, dedicado a una aplicación específica descrita mediante sus requisitos de diseño, tanto a nivel de conexionado eléctrico (Hardware) como de su programación (Software).
VI - Contenidos
Unidad 01: Tecnologías y Arquitecturas.
Tecnologías de Sistemas Digitales. Lógica fija o cableada, programable, hardware reconfigurable. Evolución de los sistemas de cómputo. Lógica programable: el Microprocesador y el Microcontrolador. Clasificación por aplicación o propósito: GPP, Microcontrolador, DSP, ASIC, ASIP, GPU. Clasificación por arquitectura: RISC, CISC, Superescalar, VLIW, Reconfigurable, System on chip, Network on chip. Clasificación de Flynn: SISD, SIMD, MISD, MIMD. Clasificación por poder de cálculo. Clasificación por conjunto de instrucciones (ISA). Microcontroladores. Características generales. Módulos internos. Aplicaciones. Sistemas Embebidos. Definición. Características. Disponibilidad actual de Microcontroladores. Criterios para la elección de un Microcontrolador.

Unidad 02: Microcrontroladores PIC de Gama Media.
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: gama baja, media y alta.

Unidad 03: Organización de la Memoria.
La memoria en los microcontroladores. Conceptos básicos. Organización lógica de la memoria. Tipos de memoria: RAM, ROM, EPROM, OTP, EEPROM y FLASH. La memoria en los microcontroladores PIC de gama media. La memoria de programa. El contador de programa (PC). La pila (Stack). La memoria de datos. Mapa de memoria y bancos en la memoria de datos. Los registro de funciones especiales (SFR). Registro STATUS. Registro OPTION. La memoria EEPROM de datos.

Unidad 04: Programación en Lenguaje Ensamblador.
Código máquina y lenguaje ensamblador. Estructura de las instrucciones. Modos de direccionar los datos. Ortogonalidad. Repertorio de instrucciones de los PIC de gama media. Instrucciones de transferencia de datos. Instrucciones aritméticas y lógicas. Instrucciones de transferencia de control. Instrucciones de salto condicional. Instrucciones que operan con bits. Otras instrucciones. Directivas del lenguaje ensamblador. Subrutinas. Manejo de tablas en memoria de programa. Herramientas de desarrollo. Entorno de desarrollo integrado MPLAB IDE. Simuladores. Emuladores. Programadores. Programación ICSP.

Unidad 05: Puertos de Entrada / Salida y Módulos periféricos.
Métodos de transferencia de datos: E/S simple y E/S controlada. Estructura de los puertos de los microcontroladores PIC. Registros de configuración de puertos. Características eléctricas. Puerto paralelo eslavo (PSP). Descripción del PIC16F87X.
Los temporizadores. Temporizadores en los microcontroladores PIC. El módulo Timer 0. Modos de funcionamiento y programación. El Módulo Timer1. El módulo Timer 2. Módulo CCP: Modo captura, comparación y PWM. Comparadores analógicos. Conversores Analógico-Digital. Comunicación serie: la USART. Interrupciones. Solicitud de interrupción. Atención a las solicitudes de interrupción. Las interrupciones en los microcontroladores PIC. Interrupciones fijas y vectorizadas. Tipos de interrupciones. Generación de interrupción desde los puertos. Perro guardián (WDT).

Unidad 06: Interface con Dispositivos Externos.
Conexión y tratamiento de periféricos de E/S. Interfaces con LEDs. Conexión de Interruptores y pulsadores. Rebote de contactos. Tratamiento por software. Interface con teclados matriciales. Adaptación de señales de entrada. Conexión a Display 7 segmentos. Conexión a Display multiplexado. LCD inteligente. Circuitos opto aislados. Interface con circuitos de corriente alterna. Interfaces con reles. Otras interfaces.

Unidad 07: Programación en lenguaje C.
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. Entrada /Salida. Manejo de periféricos e interrupciones. Bibliotecas de funciones. Interfaces: teclados, displays 7 segmentos, display LCD alfanumérico.

Unidad 08: Microcontroladores PIC de Gama Alta.
Arquitectura general de la gama alta. Características. Capacidades de cómputo. Memoria de programa. Memoria de datos. La pila. Reloj. Módulos hardware. Multiplicador HW. Periféricos Especiales. Conjunto de instrucciones. Interrupciones. Programación en alto nivel. Otros Periféricos de la gama alta: modulo USB, modulo Ethernet, otros módulos. Aplicaciones. Descripción del PIC18F4620.Uso de entrenador con PIC18F4620.

Unidad 09: Programación Avanzada en C.
Técnicas de programación de sistemas embebidos. Sistemas reactivos, interactivos y transformacionales. Máquinas de estados finitos (FSM). Máquinas de Mealey y Máquinas de Moore. Tablas y diagramas de estados. Tabla de transiciones. Tablas de entradas y salidas. Implementación de máquinas de estado en lenguaje C. Semáforos. Partición. Encapsulación. Etapas de desarrollo de proyecto: especificaciones, diseño hardware/software, implementación, verificación, documentación. Planificador de tareas (Task Scheduler). Planificador Equitativo, cooperativo y preventivo. Sistemas operativos en tiempo real (RTOS). RTOS para Microcontroladores PIC. Aplicaciones.

Unidad 10: Arquitecturas Avanzadas
Microcontroladores PIC de 16 bits. Familia PIC24. Arquitectura. Aplicaciones. Microcontroladores DsPIC, Microcontroladores PIC de 32 bits. Arquitecturas. Características generales. Aplicaciones. ChipKit Uno32 y Arduino. Características. Módulos de Interfaces. Otros Microcontroladores. Microcontroladores Freescale. Microcontroladores ATMega. Arquitecturas ARM. Características. Aplicaciones. RaspBerry Pi.

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

Laboratorio 01
Herramientas de Desarrollo para Microcontroladores PIC.

Laboratorio 02
Programación en Assembler.

Laboratorio 03
Temporizadores e Interrupciones en los Microcontroladores PIC.

Laboratorio 04
Control de dispositivos externos con Microcontroladores PIC.

Laboratorio 05
Introducción a la programación embebida en C.

Laboratorio 06
Manejo de periféricos e interrupciones en C.

Laboratorio 07
Programación avanzada de sistemas embebidos.

Laboratorio 08
Desarrollo de sistemas embebidos: aplicación práctica.


PRÁCTICAS DE RESOLUCIóN DE PROBLEMAS

Guía 01
Introducción a los Microcontroladores. Características generales.

Guía 02
Microcontroladores PIC.

Guía 03
Programación en Ensamblador.

Guía 04
Periféricos del Microcontrolador I.

Guía 05
Interfaces de Entrada / Salida.

Guía 06
Periféricos del Microcontrolador II.

Guía 07
Introducción a la programación en C.

Guía 08
Programación Avanzada de Microcontroladores en C.
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 8 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 tres 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.

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] Angulo Usategui José Ma., Martínez Ignacio A., Microcontroladores PIC: Diseño Práctico de Aplicaciones Primera Parte: El PIC16F84, España, Mc Graw Hill, 3ra Ed., 2003, 357p.
[3] Angulo Usategui José Ma., Yesa Susana R., Martínez Ignacio A., Microcontroladores PIC: Diseño Práctico de Aplicaciones Segunda Parte: PIC16F87X, España, Mc Graw Hill, 2006, 232p.
[4] Galeano Gustavo, Programación de Sistemas Embebidos en C, México, Alfaomega Grupo Editor, 2009, 544p.
[5] Breijo Eduardo García, Compilador C CCS y Simulador Proteus para Microcontroladores PIC, España, Alfaomega Grupo Editor, 2008, 260p.
[6] Bates Martin, Interfacing PIC Microcontrollers: Embedded Design by Interactive Simulation, Gran Bretaña, Elsevier, 2006, 298p.
[7] Saravia Andrés R. Bruno, Coria Ariel, Arquitectura y Programación de Microcontroladores PIC – Buenos Aires, MC Electronics, 2010, 312p.
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.
XI - Resumen de Objetivos
Presentar los conceptos generales que permitan obtener un criterio de selección, que optimice las prestaciones para una aplicación determinada.
Estudiar la familia de microcontroladores PIC y sus aplicaciones.
Utilizar herramientas de desarrollo para realizar la programación de microcontroladores.
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 de Gama Media.
Unidad 03. - Organización de la Memoria.
Unidad 04. - Programación en lenguaje ensamblador.
Unidad 05. - Puertos de Entrada / Salida y Módulos periféricos.
Unidad 06. - Interface con dispositivos externos.
Unidad 07. - Programación en lenguaje C
Unidad 08. - Microcontroladores PIC de Gama Alta.
Unidad 09. - Programación Avanzada en C.
Unidad 10. - Arquitecturas Avanzadas.
XIII - Imprevistos
Cambio tecnológico: actualización por parte de fabricantes de microcontroladores.
Incompatibilidades y bugs de nuevas versiones de software.
Disponibilidad en el mercado local de partes y componentes necesarios para las prácticas.
XIV - Otros