FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA - U.N.R. PROGRAMA ANALÍTICO DE LA ASIGNATURA: Informática Electrónica Código: PRESUPUESTO HORARIO SEMANAL PROMEDIO PLAN DE ESTUDIOS: CARRERA: 1996 Ingeniería Electrónica DEPARTAMENTO: Sistemas e Informática TEORÍA: 2 (horas) PRÁCTICA: 2 (horas) LABORATORIO: 2 (horas) PROFESOR: Ing. Javier G. Belmonte TOTAL ASIGNADO: 6 (horas) VIGENCIA : 2015 hasta DEDICACIÓN DEL ALUMNO FUERA DE CLASE: 3 (horas) PRESUPUESTO TOTAL: 9 (horas) PROGRAMA BASADO EN SEMANAS ÚTILES : 16 (semanas) HORAS TOTALES ASIGNADAS: 96 (horas) PROGRAMA DEFINITIVO SEMESTRAL HORAS TOTALES PRESUPUESTAS: 144 (horas) OBJETIVOS: (qué debe saber el alumno al concluir el curso) Que el alumno sea capaz y tenga destreza, para: • • • • • Manejar adecuadamente los aspectos del lenguaje C y C++ en su aplicación al control de dispositivos electrónicos. Analizar, diseñar e implementar interfaces de software en lenguaje C para el control de dispositivos electrónicos. Utilizar el lenguaje C para controlar los elementos de bajo nivel de microcontroladores y sus periféricos integrados. Analizar y diseñar programas del tipo multihilos para aplicaciones de tiempo real. Diseñar, implementar y depurar firmware en sistemas embebidos. UBICACIÓN EN LA CARRERA Y CARACTERÍSTICAS GENERALES: Asignatura Electiva, teórico-práctica, orientada hacia la programación y el control de dispositivos electrónicos en lenguaje de alto nivel (C/C++) y el desarrollo de interfaces y “device drivers”. La asignatura se desarrolla sobre prácticas intensivas en un modo no discursivo y esta destinada a complementar la formación curricular del estudiante de Ingeniería Electrónica en el Área Informática con el desarrollo de soluciones basadas software. MATERIAS RELACIONADAS: Previas: Informática II, Digital II, Electrónica III Simultáneas recomendadas: Informática III, Sistemas Distribuidos Posteriores: ................................... Firma Profesor .................. ................................... .................. Fecha Aprob. Escuela Fecha Aprobado en reunión de Consejo Académico de fecha: ............................................ CONTENIDO TEMATICO 1. Visión del Lenguaje C y C++ para el desarrollo de aplicaciones de índole electrónica 1.1. Revisión del lenguaje C. Variables. Alcance y Tiempo de vida. Constantes. Identificadores. Declaraciones. Tipos de datos. Asignaciones. Operadores. Expresiones. Arreglos. Cadenas. Instrucciones de control de flujo. Funciones. Archivos header. El preprocesador. Biblioteca Estándar de Entrada y Salida. 1.2. Revisión del lenguaje C++. Estructura del Programa. Palabras claves. Sintaxis. Sobrecarga de funciones. Clases, objetos, métodos, herencia y polimorfismo en C++. Constructores y destructores. Sobrecarga de Operadores. Entrada y Salida. Manejo de Excepciones 2. Entornos Integrados de Desarrollo 2.1. Entornos para programación de microcontroladores. Modos de trabajo y programación. Variaciones con respecto al ANSI C. Prestaciones. Compilación. Formas de depuración (“debugging”). 2.2. Entornos de desarrollo para C y C++. Herramientas para desarrollo y prueba de “devices drivers”. 3. Microcontroladores 3.1. Introducción. Arquitecturas. Procesadores CISC y RISC. Particularidades. Clasificaciones. Tendencias comerciales. Programas embebidos y Sistemas Operativos embebidos. 3.2. Organización de memoria. Inicialización y “bootloaders”. Registros. Entrada y salida digital. Puertos. Conversores Analógico-Digital. Comparadores. 3.3. Interrupciones. Orígenes de interrupción. Atención de la interrupción. 3.4. Temporizadores. “Watchdogs”. UARTs. Moduladores de ancho de pulso. 3.5. Interfaces. SCI, SPI, I2C, CAN,Etherner. Otros periféricos integrados. 4. Programación C avanzada 4.1. Uso de memoria. Punteros. Representación. Operadores. Aritmética de punteros. Estructuras. Uniones. Campos de Bits. Punteros a funciones. Funciones de “callback”. 4.2. C en la programación de sistemas embebidos. Inicialización y “bootloaders”. Programación para tiempo real en microcontroladores. Concurrencia. Implementaciones particulares. 5. Programación de interfaces y “device drivers” 5.1. Conceptos. Modos de operación y modelos de desarrollo: “kernel-mode” y “user-mode” drivers. Marcos de desarrollo de DD. Ciclo de vida de los DD 5.2. Descubrimiento, conexión, y desconexión de dispositivos. Entrada/salida. 5.3. Administración de memoria. Comunicación entre procesos. Control del DD 5.4. Parametrización estática y dinámica 5.5. Programación multi-hilos. REGIMEN DE PROMOCIONALIDAD a) Programación: Para PROMOVER la Asignatura el alumno deberá : 1. APROBAR el 100% de los Trabajos Prácticos y de Laboratorio. Un Trabajo Práctico de Laboratorio se considerará APROBADO si se cumplen los siguientes requisitos: - Realización y funcionalidad satisfactoria. - Evaluación personal aprobada. 2. RENDIR el 100% de los Parciales, obteniendo en CADA TEMA un porcentaje MÍNIMO de aprobación. 3. ELABORACION, APROBACIÓN Y EXPOSICIÓN de 1 (UN) proyecto en el que se apliquen los contenidos temáticos de la materia. b) Guía de actividades: Tipo de Clase Exigencia Introductorias (exposición a cargo del profesor donde se exponen los conceptos fundamentales y objetivos del tema). De asistencia optativa. 33% (32 horas) Activas (trabajo del alumno en forma individual o grupal con tutoría de los docentes y evaluación de participación). Comprende la realización de Trabajos Prácticos, Laboratorios y Parciales. De realización y aprobación obligatoria. 67% (64 horas) BIBLIOGRAFÍA a) Adecuada al programa. KERNIGHAN, Brian W. – RITCHIE, Dennis M. – El lenguaje de programación C 2da edición, Pearson Prentice Hall 1991. SCHILDT, Herbert – C: Manual de Referencia 1ra edición, McGraw-Hill 1989 STROUSTRUP, Bjarne – El lenguaje de programación C++ 3ra edición, Addison-Wesley 1997 VAN SICKLE, T. – Programming Microcontrollers in C 2nd Edition, LLH Technology Publishing. 2001 ST PARDUE, J. - C Programming for Microcontrollers 1 Edition, Smiley Micros 2005 b) Complementaria para profundización o extensión de temas. HCS08 Microcontrollers - Freescale Semiconductor- Home Page: www.freescale.com th The 8051 Microcontroller 4 ed.– MacKenzie, S.- C.W. Phan, R. - Prentice Hall 2007 AVR RISC Microcontrollers Datasheets. - Atmel Corp. – Home Page: www.atmel.com CodeWarrior Developer Studio IDE User Guide – Freescale Semiconductor. Home Page: www.freescale.com CodeWarrior Development Tools MSL C++ Reference – Freescale Semiconductor. Home Page: www.freescale.com Dinamic C User’s Manual - Digi International Inc. - Home Page: www.rabbit.com MPLAB® IDE User’s Guide. - Microchip Corporation. Home Page. http://www.microchip.com