UNIVERSIDAD TECNOLGICA NACIONAL · ... 6 3.1 ARQUITECTURA DE LAS COMPUTADORAS PERSONALES ......

29
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Departamento de Electrónica Asignatura: Técnicas Digitales III - Plan 95 Clase: Integradora anual Proyecto de Cátedra – Ciclo Lectivo 2006

Transcript of UNIVERSIDAD TECNOLGICA NACIONAL · ... 6 3.1 ARQUITECTURA DE LAS COMPUTADORAS PERSONALES ......

Universidad Tecnológica Nacional Facultad Regional Buenos Aires

Departamento de Electrónica

Asignatura: Técnicas Digitales III - Plan 95

Clase: Integradora anual

Proyecto de Cátedra – Ciclo Lectivo 2006

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 2 de 29 Proyecto de cátedra

Contenido

1 OBJETIVOS:...................................................................................................................................... 4

2 PROGRAMA SINTÉTICO: (ORD. Nº 758) .................................................................................... 5

3 PROGRAMA ANALÍTICO .............................................................................................................. 6 3.1 ARQUITECTURA DE LAS COMPUTADORAS PERSONALES.............................................................. 6 3.2 PROCESADORES AVANZADOS DE 32/64 BITS. ............................................................................... 6 3.3 NECESIDAD DE UN SISTEMA OPERATIVO. ..................................................................................... 7 3.4 SISTEMAS DE INTERFAZ Y ALMACENAMIENTO (VIDEO, DMA, DISCO). ...................................... 8 3.5 SISTEMAS DE REDES. .................................................................................................................... 9

4 BIBLIOGRAFÍA .............................................................................................................................. 10 4.1 APUNTES EDITADOS POR EL CEIT.............................................................................................. 10 4.2 TEXTOS PRINCIPALES (LIBROS - PUBLICACIONES).................................................................... 10 4.3 TEXTOS ADICIONALES................................................................................................................ 11 4.4 REFERENCIAS ADICIONALES DE INFORMACIÓN ......................................................................... 11

4.4.a Publicaciones técnicas recomendadas. .............................................................................. 11 4.4.b Internet – Direcciones útiles .............................................................................................. 12

5 METODOLOGÍA DEL PROCESO DE ENSEÑANZA APRENDIZAJE.................................. 13 5.1 DIAGNÓSTICO: ............................................................................................................................ 13 5.2 ESTRATEGIA: .............................................................................................................................. 13

5.2.a Los docentes de la cátedra. ................................................................................................ 13 5.2.b Los Directores de Cátedra de las asignaturas del Área .................................................... 14 5.2.c Los Alumnos ....................................................................................................................... 14

6 METODOLOGÍA DE LAS EVALUACIONES Y SU CALIFICACIÓN ................................... 15 6.1 FIRMA DE TRABAJOS PRÁCTICOS: .............................................................................................. 15 6.2 CRITERIOS DE CORRECCIÓN ....................................................................................................... 15

6.2.a Exámenes parciales ............................................................................................................ 15 6.2.b Trabajos Prácticos ............................................................................................................. 16

7 TRABAJOS PRÁCTICOS PREVISTOS....................................................................................... 17 7.1 PROGRAMACIÓN DEL 386 – PASAJE A MODO PROTEGIDO. ........................................................ 17 7.2 DECODIFICACIÓN DE HARDWARE EN EL BUS ISA. .................................................................... 17 7.3 UNIVERSAL SERIAL BUS............................................................................................................. 17 7.4 SISTEMAS OPERATIVOS .............................................................................................................. 17 7.5 REDES DE DATOS. ....................................................................................................................... 17

8 CRONOGRAMA DE ACTIVIDADES PREVISTO..................................................................... 18

9 REGLAMENTO INTERNO DE APROBACIÓN DE PRÁCTICOS.......................................... 21 9.1 LINEAMIENTOS GENERALES PARA EL DESARROLLO DEL PROYECTO ANUAL. .......................... 21

9.1.a Condiciones Generales: ..................................................................................................... 21 9.1.a.i Bases del proyecto anual. ............................................................................................... 21 9.1.a.ii Objetivos ........................................................................................................................ 21 9.1.a.iii Áreas temáticas en las cuales basar el proyecto ......................................................... 21

9.1.a.iii.I Un periférico con Interfaz USB............................................................................... 21 9.1.a.iii.II Periférico inteligente basado en microcontrolador................................................. 22 9.1.a.iii.III Proyectos de software. .......................................................................................... 22

9.1.a.iv Herramientas para el desarrollo de los módulos de software de las aplicaciones. ..... 22

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 3 de 29 Proyecto de cátedra

9.1.b Criterios de elección del proyecto...................................................................................... 22 9.1.c Desarrollo de las diferentes etapas.................................................................................... 23

9.1.c.i Documentación del proyecto:......................................................................................... 23 9.1.d Etapas a Cumplir: .............................................................................................................. 23

9.1.d.i Cronograma de actividades ............................................................................................ 23 9.1.d.i.I Presentación del proyecto. ......................................................................................... 24

9.1.d.i.I.1 Especificación funcional del proyecto................................................................ 24 9.1.d.i.I.2 Alcance. .............................................................................................................. 24 9.1.d.i.I.3 Diagrama en bloques de Hardware..................................................................... 24 9.1.d.i.I.4 Diagrama global del Software de aplicación. ..................................................... 24 9.1.d.i.I.5 Estimación de costo del modelo. ........................................................................ 24

9.1.d.i.II Devolución de las especificaciones por parte de los docentes. ................................ 24 9.1.d.i.III Entrega de las especificaciones definitivas. ............................................................ 24 9.1.d.i.IV Entrega del estudio técnico. .................................................................................... 24 9.1.d.i.V Devolución por parte de los docentes. ..................................................................... 25 9.1.d.i.VI Entrega del proyecto de Hardware del sistema. ...................................................... 25

9.1.d.i.VI.1 Circuito del modelo ......................................................................................... 25 9.1.d.i.VI.2 Lista de componentes....................................................................................... 25 9.1.d.i.VI.3 Layout .............................................................................................................. 25 9.1.d.i.VI.4 Costo. ............................................................................................................... 26

9.1.d.i.VII Devolución por parte de los docentes del proyecto de hardware. ......................... 26 9.1.d.i.VIII Entrega del Proyecto de Hardware del sistema corregido.................................... 26 9.1.d.i.IX Entrega del proyecto de Software del sistema. ....................................................... 26

9.1.d.i.IX.1 Documentación. ............................................................................................... 26 9.1.d.i.IX.2 Programas fuente ............................................................................................. 26

9.1.d.i.X Devolución por parte de los docentes del proyecto de software. ............................. 26 9.1.d.i.XI Entrega del Proyecto de Software del sistema corregido........................................ 26 9.1.d.i.XII Entrega de un protocolo de pruebas. ..................................................................... 26 9.1.d.i.XIII Devolución por parte de los docentes del protocolo de pruebas . ........................ 27 9.1.d.i.XIV Entrega del protocolo de pruebas definitivo. ....................................................... 27 9.1.d.i.XV Entrega del prototipo funcionando. ....................................................................... 27 9.1.d.i.XVI Entrega final del prototipo. .................................................................................. 27 9.1.d.i.XVII Entrega de la carpeta completa. .......................................................................... 27

9.1.d.ii Seguimiento de las actividades:...................................................................................... 27 9.1.e Derechos de Propiedad Intelectual. ................................................................................... 28 9.1.f Listado de proyectos............................................................................................................... 28

9.2 RÉGIMEN DE APROBACIÓN DE TRABAJOS PRÁCTICOS ............................................................... 28

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 4 de 29 Proyecto de cátedra

1 Objetivos: Que los alumnos adquieran los conocimientos y la metodología de resolución que les permita:

Analizar, desarrollar e integrar sistemas digitales de propósito general o dedicado, para computar datos, manejar comunicaciones, procesar digitalmente señales, y desempeñar funciones de control, utilizando microprocesadores de 32 bits, y cubriendo no solo aquellos aspectos estrictamente relacionados al hardware, sino también todo lo inherente al software que trabaja sobre éste: desde Firmware a Sistemas Operativos de propósito general o tiempo real.

Generar sus propias adaptaciones o aplicaciones en diferentes entornos operativos.

Interconectar sistemas, propios y existentes, incorporando la metodología de desarrollo de interfaces de redes de datos, utilizando los protocolos de comunicación estándares adoptados universalmente.

Relacionar en las aplicaciones prácticas, los contenidos de la asignatura, con los vistos en las demás asignaturas del 5to. Nivel del plan de estudios.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 5 de 29 Proyecto de cátedra

2 Programa sintético: (Ord. Nº 758) Arquitectura de la PC

Microprocesadores de 16 y 32 bits

Procesamiento digital de señales

Instrumentación digital

Redes de datos. Protocolos

Correlativas: (Ord. Nº 791)

Para cursar Cursadas

Técnicas Digitales II Aprobadas

Electrónica Aplicada I Informática II Técnicas Digitales I Idioma II

Para rendir Cursadas

--- Ninguna --- Aprobadas

Técnicas Digitales II

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 6 de 29 Proyecto de cátedra

3 Programa Analítico

3.1 Arquitectura de las Computadoras Personales. Descripción de la estructura básica (main board). Mapa de memoria y E/S de un sistema clásico de 32 bits compatible con la IBM PC. Acceso y utilización de los principales componentes de soporte al procesador central: Controlador de Interrupciones, Temporizadores, DMA. Programación. Ejemplos y problemas. Control de Teclado: Uso del controlador 8042 para las máquinas IBM compatibles modelo AT y posteriores. Funciones del controlador 8042. Función del control GateA20, aplicación y acceso. Desarrollo de programas de aplicación en lenguajes ensamblador y en C, para el manejo directo de puertas y dispositivos de interfaz. Programación orientada a eventos. Entrelazado de interrupciones. ROM BIOS: Descripción de las principales funciones de la rutina POST. Criterios para el diseño de Extensiones de BIOS. Servicios de acceso a la Entrada Salida: Video, Teclado, Puerto Serie, Puerto paralelo, Reloj en tiempo real, Disco. Introducción al Concepto de Nivel de Abstracción al Hardware. Ejemplos de aplicación. Real Time Clock y Memoria CMOS: Configuración del equipo y reloj en tiempo real. Acceso a los registros del RTC. Ejemplos de aplicación. Buses de Expansión. Bus ISA de 8 y 16 bits. Descripción de señales. Temporización de los diferentes ciclos de bus. Inserción de Wait States. Técnicas de Interfaz. Diseño de Hardware. Ejemplos de diseño. Bus PCI. Concepto. Razones de su utilización. Criterios de diseño y de aplicación en función del dispositivo a conectar. Descripción de características principales. Bus USB. Especificación 1.1. Descripción: Características Eléctricas. Modelo de Arquitectura en capas. Protocolo de comunicación. Criterios de Aplicación. Técnicas de diseño de hardware para USB. Descripción de las diferentes transferencias de Bus (Control, Interrupción, Bulk e Isócronas). Ejemplos de controladores de nodo USB comerciales. Técnicas de diseño de un dispositivo USB. Campos de aplicación. Ejemplos.

3.2 Procesadores avanzados de 32/64 bits. Introducción a la arquitectura IA-32. Procesador 80386 y sus sucesores. Bus local: Concepto, Ventajas, Arquitecturas. Circuitos integrados para el manejo de este bus. Memoria caché de primer y segundo nivel. Sistemas prácticos de Memoria Caché. Ejemplo práctico de un controlador cache. Funcionamiento. Modos Caché directo, y asociativo de n vías. Técnicas de Snooping. Impacto del concepto de Bus Local en el diseño de sistemas computacionales modernos: Nueva arquitectura de PCs a partir del bus local. Micro arquitecturas avanzadas. Modelo Superescalar vs. Modelo VLIW. Estado del arte: Procesadores Pentium: Micro arquitectura Three Core Engine: Ejecución Fuera de orden. Micro arquitectura Netburst. Hyperthreading. Introducción a los procesadores de 64 bits: Itanium 2. Extensiones para procesamiento multimedia de señales.: Evolución MMX y SIMD. Ejemplos de aplicación en el procesamiento digital de señales. Modos de trabajo: Modo Real: Modelo de registros Interrupciones y modos capacidad de direccionamiento. Modo Protegido y Virtual 86: Descripción de un sistema Multitarea. Memoria virtual: Concepto, Sistema Genérico de memoria virtual, Descripción de los recursos de los procesadores 80386 y posteriores para el manejo de la memoria Virtual.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 7 de 29 Proyecto de cátedra

Gestión de memoria: Paginación y Segmentación. Segmentación en Modo Protegido: Descriptores de Segmento, Segmentos de código, segmentos de datos, Segmentos de Pila, y Segmentos de Sistema, en Modo Protegido: Atributos distintivos para cada uno. Tablas de descriptores Global y Local: Acceso, Técnicas de Inicialización, y Contenido. Paginación: Concepto de Páginas: Ventajas de la paginación en la gestión de Memoria Virtual, Descriptores de Página, Estructura y Acceso, Directorio de Tablas de Páginas, Tablas de Páginas, Contenido y Acceso, Descripción de los recursos del Procesador dedicados al manejo de la Paginación. Ventajas de cada técnica para los diferentes aspectos del manejo de la memoria RAM del sistema. Conmutación de tareas: Recursos dedicados por el procesador, Concepto de estado de tarea. Segmento de Estado de Tarea, Técnicas de Conmutación de Tareas. Sistema de Protección: Niveles de Privilegio, Reglas de Acceso a los Segmentos. Cambios de nivel de privilegio: Puertas de Llamada. Mecanismos de Protección para evitar el “Escenario del Caballo de Troya”. Instrucciones Privilegiadas y Protegidas. Manejo de Interrupciones en Modo Protegido: Interrupciones y Excepciones. Concepto de Excepción. Aplicación de las excepciones. Descriptores de Interrupción, y de Excepción. Tablas de descriptores de Interrupción. Inicialización, Recursos del procesador para su manejo. Conmutación de tareas por Interrupción: Inclusión de puertas de tarea en la IDT, Concepto de sistemas operativos real time y event driven. Pasos a seguir para inicializar un sistema basado en un procesador 80386 y posteriores en el Modo Protegido. Caso de aplicación PC IBM compatible. Ejemplos de pasaje al modo protegido en una PC, manejo de interrupciones en modo protegido y conmutación de tareas, cambios de niveles de privilegio. Conceptos de programación Modo Kernel aplicables en las unidades siguientes. Desarrollo de aplicaciones de 32 bits haciendo uso de las capacidades de los procesadores 80386 y posteriores con interfaz de usuario en modo texto, combinando lenguajes C y Assembler.

3.3 Necesidad de un sistema operativo. Concepto y Funciones de un Sistema Operativo. Evolución, clasificación. Proceso: Definición. Sistemas Operativos Multiproceso o multitasking: Tiempo compartido o Real Time. Características de cada modelo. Arquitectura genérica de un Sistema Operativo: Device Drivers, Kernel, e Interfaz de Usuario, Mecanismos de acceso al Kernel desde las aplicaciones: System Calls, o APIs. Recursos de los procesadores IA-32 descriptos en la Unidad 2 que se utilizan para implementar estas funciones. Concepto de Device Driver. Técnicas de diseño. Concepto de abstracción al Hardware para las aplicaciones. Servicios que brindan. Funciones del Kernel, estructuras internas, capas, interfaz para la programación de aplicaciones (APIs). Servicios que brinda. Casos prácticos: DOS, Breve descripción. Uso únicamente para los primeros pasos en técnicas de acceso a un API y construcción de programas sencillos. Sistemas Multitasking: Descripción de la arquitectura UNIX y su evolución en versiones comerciales y científicas (BSD Berkeley Software Distribution). Standard POSIX: Su Aplicación en Linux y Windows (2000 y XP)

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 8 de 29 Proyecto de cátedra

Linux: Principales servicios para manejo de recursos. Gestión de los recursos: Gestión de la memoria, Gestión de los dispositivos de Entrada Salida, Gestión de Usuarios (permisos). Gestión de procesos, su identificación, parentesco entre procesos, ejecución en múltiples hilos (multithreading): implementación mediante fork ( ) y threads. Concepto de sesión, concepto de máquina virtual. Gestión de memoria, manejo de dispositivos de Entrada Salida de caracter o de bloque. Manejo de la consola. Análisis de los tramos de programas fuente del sistema que permitan ver la interrelación con los recursos específicos de los procesadores de arquitectura IA-32 descriptos en la Unidad 2. Integración de los conceptos. Concepto de File System: Estructura lógica del disco. Concepto de nodo de un file system. Concepto de i-nodo. Tablas y estructuras asociadas. Manejo de la granularidad para el máximo aprovechamiento del espacio de almacenamiento disponible. Montaje de un File System Linux Ext2 y EXT3. Concepto de Journaling FAT 16 y 32. Montaje desde Linux. Mecanismos de comunicación ínter procesos (IPC): Señales: Uso y ejemplos de aplicación. Pipes, y Named Pipes: diferencias entre ambos: conveniencia de su aplicación de acuerdo al caso. File locking: Ejemplos de aplicación. IPC’s System V: Colas de mensajes, semáforos, y Shared Memory. Similitudes y diferencias. Áreas de aplicación para cada uno, visualización de su estado desde el shell. Ejemplos de aplicación Manejo de demoras. Concepto de bloqueo de procesos. Aplicaciones utilizando el concepto de lightweight programming. Versiones standard y embedded. Criterios para el desarrollo de aplicaciones portables entre las diferentes implementaciones. Criterios para el desarrollo de Devices Drivers. Entornos de programación. Herramientas de desarrollo. Ejemplos prácticos de aplicación: Desarrollo de un driver completo para puerto serie: Implementación práctica de sus principales funciones. Uso de dispositivos en Linux para el procesamiento digital de señales: Desarrollo de aplicaciones de procesamiento de audio en tiempo real. Devices Drivers para USB. Clases de dispositivos: La clase HID. Ventajas de desarrollar dispositivos alineados dentro de esta clase. Clase Audio. Interacción con las funciones del kernel del Sistema Operativo. Introducción al uso del lenguaje C en el entorno para acceder a los Servicios del sistema operativo. Acceso a recursos bloqueantes. Técnicas y herramientas para manejar el acceso concurrente a recursos bloqueantes

3.4 Sistemas de interfaz y almacenamiento (Video, DMA, Disco).

Controlador de video. Necesidad de un controlador de Video. Técnicas de Barrido. Modos texto y gráfico. Caso práctico: Controlador Modo texto MDA compatible. Descripción detallada de funcionamiento. Memoria RAM de video. ROM de caracteres. Atributos. Técnicas de programación: Acceso directo a la RAM de video y al controlador 6845 compatible, acceso mediante los servicios del BIOS, Acceso mediante los servicios del Sistema Operativo. Distintos tipos de placas. Operación en modo texto y gráfico. Resolución. Super VGA. Programación de los modos. Aceleradores gráficos. Su impacto en el Bus PCI. Soluciones actuales: Accelerated Graphics Port (AGP). Necesidad de procesamiento de video 3D. Limitaciones de la arquitectura PCI para estas

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 9 de 29 Proyecto de cátedra

aplicaciones. Descripción de la arquitectura de Bus utilizando el AGPset 440BX Intel. Beneficios en el diseño de aplicaciones gráficas y en la performance del Bus PCI. Dispositivos de almacenamiento Masivo. Discos Flexibles: Breve enumeración de sus características y estructura. Discos rígidos: Estructura Física, y Lógica. Instalación en un mismo disco de mas de un Sistema Operativo: Tabla de Particiones: Contenido. Concepto de partición activa. Contenido del Master Boot Record. Boot Managers. Caso de estudio: GRUB. Tecnologías de controladores de Disco: IDE, SCASI. Interfaces IDE, SCSI, Ultra ATA y Ultra DMA. Discos con almacenamiento óptico. CDs y DVDs. Dispositivos ATAPI. DMA. Concepto y aplicación. Controladores. Técnicas de acceso. Asociación a los dispositivos de Entrada Salida de transferencia de bloque.

3.5 Sistemas de Redes. Introducción a los sistemas de Comunicaciones de Datos. Principios Básicos. Entorno distribuido. Modelo Cliente-Servidor (Client-Server). Modelo ISO-OSI. Modelos LAN y WAN. Topologías de Redes. Técnicas de Conmutación. Topologías Físicas: bus, estrella, anillo. Cableado Estructurado. LANs Standards. Standards de capa 2: Ethernet (IEEE 802.3), principales características Estructura del frame Ethernet. Dirección MAC. Colisiones: tratamiento. Tamaño del paquete. Diferentes adaptadores. Métodos de Control de Transmisión y Acceso al medio físico. Elementos de conectividad de capa 2: Hubs. Switches de capa 2. Protocolos de comunicación en capa 3 y 4: TCP/IP Esquema de Addressing, Paquetes, Protocolos. Formato de una Dirección IP. Asignación de una Dirección IP a los Nodos de la Red. Mapeo de la Dirección IP a la Dirección MAC. Resolución de dirección de enlace (física para la determinación de un nodo a nivel de capa 2: Protocolo ARP. Routers. Funciones que cumplen en la red. Interpretación de la topología de la Red por el Router. Tablas de enrutamiento de un sistema Operativo. Acceso. Búsqueda y Utilización de Servicios en la Red. TCP y UDP. Naming y Addressing en TCP/IP. Concepto de port. Relación con el proceso que implementa el servicio. Registro de los servicios en el sistema operativo. Archivos de configuración para resolver servicios. Well known ports. Concepto y descripción de los principales ports. Técnicas de programación: Llamadas standard al sistema operativo y estructuras auxiliares de uso en la determinación de los puertos. Uso de funciones para conversión de formatos network a string, o byte order. Ejemplos de aplicación Sockets: Técnicas y funciones de programación de aplicaciones que se intercomunican a través de una red de datos. Desarrollo de aplicaciones servidores concurrentes. Interacción del stack TCP/IP con el sistema Operativo. Manejo de bloqueos y esperas. Espera de múltiples eventos función select ( ). Aplicaciones con librarías específicas: libpcap. Uso y ejemplos de aplicación. Análisis de tráfico en una LAN. Uso y diseño de aplicaciones para tal fin.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 10 de 29 Proyecto de cátedra

4 Bibliografía

4.1 Apuntes editados por el CEIT 1. Controladores de video. 2. Conectividad y Redes de Datos. 3. Microprocesadores de la Familia Intel. 4. Herramientas de Desarrollo

4.2 Textos Principales (Libros - Publicaciones) PC Intern. Michael Tischler. Ed. Abacus:

Aplica para Unidades temáticas 1, y 4 Capítulos 3, 4, 5, 6, 7, 8, 9, 14, 15, 16, 17, 18, 19, 36, y 37 USB Complete. Ian Axelson. Ed. Lakeview Research.

Aplica para Unidades Temáticas 1 y 3 Capítulos 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15 Universal Serial Bus Specification – Compaq - Intel – Microsoft – NEC.

Disponible en formato electrónico en http://www.usb.org/developers/docs/usb_20.zipAplica en Unidades Temáticas 1, y 3 Capítulos 3, 4, 5, 7, 8, 9, 10 IA-32 Intel Architecture Software Developer’s Manual: Vol I. Basic Architecture.

Disponible en http://developer.intel.com/design/Pentium4/documentation.htmAplica en Unidad Temática 2 Capítulos 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14 IA-32 Intel Architecture Software Developer’s Manual: Vol 2A. Instruction Set

Reference Manual A-M. Disponible en http://developer.intel.com/design/Pentium4/documentation.htmAplica en Unidad Temática 2 Este libro es la referencia de set de instrucciones para consulta permanente al realizar los trabajos Prácticos IA-32 Intel Architecture Software Developer’s Manual: Vol 2B. Instruction Set

Reference Manual N-Z. Disponible en http://developer.intel.com/design/Pentium4/documentation.htmAplica en Unidad Temática 2 IA-32 Intel Architecture Software Developer’s Manual: Vol 3. System

Programming Guide. Disponible en http://developer.intel.com/design/Pentium4/documentation.htmAplica en Unidad Temática 2 Capítulos 2, 3, 4, 5, 6, Understanding the Linux Kernel 2nd. Edition. Ed. O’Reilly. Daniel P. Bovet &

Marco Cesati. Aplica en Unidad Temática 3 Linux Device Drivers 2nd. Edition. Ed. O’Reilly. Alessandro Rubini.

Aplica en Unidad Temática 3

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 11 de 29 Proyecto de cátedra

Disponible en formato electrónico en http://www.xml.com/ldd/chapter/book/bookindexpdf.htmlCapítulos 1, 2, 3, 9 The Protocols (TCP/IP Illustrated, Volume 1). Richard Stevens

Aplica en Unidad Temática 5 Internetworking with TCP/IP. Tomo I. 4th. Edition. Ed Prentice Hall. Douglas

Comer. Aplica en Unidad Temática 5 Capítulos 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 23, 24 Internetworking with TCP/IP. Volume III. Ed Prentice Hall. Douglas Comer -

Richard Stevens. Aplica en Unidad Temática 5 Capítulos 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

4.3 Textos Adicionales The indispensable PC Hardware book. Messmer.

Aplica en Unidad Temática 4 PC Complete. Sybex

Aplica en Unidades Temáticas 1, y 4 USB Explained. Mc Dowell y Séller

Aplica en Unidad Temática 1 PC Interrupts. Brown & Kyle

Aplica en Unidad Temática 1 Interfacing to the IBM Personal Computer (2a Edición). Lewis C. Eggebrecht

Aplica en Unidad Temática 1 Assembly Language Programming for the Intel 80XXX Family. William B. Giles.

Aplica en Unidades Temáticas 1 y 2 The Indispensable Pentium Book. Hans Peter Messmer.

Aplica en Unidad Temática 1 The Design of the Unix Operating System. Maurice J. Bach.

Aplica en Unidad Temática 3 UNIX Network Programming, Volume 1, Second Edition: Networking APIs:

Sockets and XTI. Richard Stevens Aplica en Unidad Temática 5 UNIX Network Programming, Volume 2, Second Edition: Networking APIs:

Sockets and XTI. Richard Stevens Aplica en Unidad Temática 3

4.4 Referencias Adicionales de Información 4.4.a Publicaciones técnicas recomendadas.

1. Intel Technology Journal. Disponible en: http://www.intel,com

2. Dr. Dobbs Journal. P.O. Box 56188. Boulder CO 80322-6188 EUA.

3. Computer magazine. IEEE.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 12 de 29 Proyecto de cátedra

4. DSP magazine IEEE.

5. Electronic Design. Pton Media Inc. www.elecdesign.com.

6. PC Magazine. P.O. Box 59354. Boulder. CO 80322-9354. EUA.

4.4.b Internet – Direcciones útiles

1. http://www.electron.frba.utn.edu.ar/ Página del Departamento de Electrónica Facultad Regional Bs. As.

2. http://www.usb.org/ Página oficial del consorcio de desarrolladores del Bus USB

3. http://developer.intel.com/

4. http://www.amd.com/

5. http://www.linux.org/

6. http://www.debian.org/

7. http://www.redhat.com/ Página oficia de la distribución Redhat y Fedora de Linux.

8. http://msdn.microsoft.com/ Microsoft Developer Network

9. http://www.wdj.com/ Windows Developers Network

10. http://www.cisco.com/

11. http://bochs.sourceforge.net. Página del emulador de Arquitectura IA-32 utilizado como herramienta de debug

12. http://nasm.sourceforge.net. Página de NASM (Netwide Assembler) assembler 80x86 para Win32 y Linux, portable y compatible con gcc.

13. http://www.delorie.com/djgpp/. Página del compilador C/C++ gcc compatible para Win32

14. http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+5.1-release, Man Pages de BSD Unix y diversas distribuciones de Linux

15. http://www.protocols.com/ . Página con información técnica de protocolos de comunicaciones.

16. http://www.unix.org/version3/ Especificación POSIX IEEE std. 1003.1 2003 Edition

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 13 de 29 Proyecto de cátedra

5 Metodología del proceso de enseñanza aprendizaje

5.1 Diagnóstico: Técnicas Digitales III es una asignatura Integradora de acuerdo con lo establecido en el Diseño Curricular del Plan 95. Por esta razón es que se debe trabajar en la articulación del contenido propio con:

El contenido de las restantes asignaturas del 5to. Nivel del plan de estudios (Integración Horizontal)

El contenido de las asignaturas relacionadas de los niveles previos y que sirven como base para sustentar los conceptos fundamentales de la asignatura.

Técnicas Digitales III tiene de por sí, un contenido propio sumamente extenso que debe ser correctamente articulado ya que al estar entre las materias de Tecnología Aplicada debe estar fuertemente orientada a la práctica. En este sentido sus metas principales son asegurar:

La interrelación de los conceptos que componen las diferentes unidades temáticas, a efectos de exponerlos de manera ordenada y que el alumno perciba la conexión entre los diferentes temas.

La actualización de los temas que integran el plan de estudios a fin de asegurar a los alumnos que a la hora de aplicar los conocimientos encuentren en el terreno los equipos y dispositivos vistos en clase. Este es uno de los puntos de mayor exigencia dado el vertiginoso avance de la tecnología sobre la que se construye la materia.

El desarrollo en el alumno de las habilidades que le permitan aplicar en forma efectiva esos contenidos, articulándolos en forma horizontal y vertical.

5.2 Estrategia: Para alcanzar estas exigentes metas se implementan acciones en tres Ejes fundamentales:

Los docentes de la Cátedra. Los Directores de Cátedra de las Asignaturas del Area. Los alumnos.

5.2.a Los docentes de la cátedra. Contacto permanente entre los miembros del cuerpo docente para asegurar la coordinación

correcta y el enfoque homogéneo de los contenidos de la materia. Actividades presenciales o coordinadas desde listas de correo para intercambio de

información actualización y profundización de los contenidos. Guía de trabajos prácticos unificada para todos los cursos de la materia de modo de

asegurar que los alumnos reciban la misma casuística de resolución de problemas en todos los cursos.

Cuatro revisiones anuales de avance de la guía de Trabajos Prácticos con los ayudantes de cátedra de los diferentes cursos, a efectos de identificar desvíos en algún curso y en tal caso comprometer las acciones correctivas necesarias para asegurar la mayor homogeneidad posible en todos los cursos.

Tema único para todos los cursos tanto para el primer como para el segundo parcial. Los temas son diseñados en conjunto por el cuerpo docente de modo de asegurar que los alumnos de los diferentes cursos serán evaluados de manera uniforme.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 14 de 29 Proyecto de cátedra

Corrección conjunta y cruzada de los exámenes parciales a fin de garantizar que los alumnos que firman la materia han sido evaluados de manera homogénea. Cada curso será corregido por su profesor y al menos dos profesores más.

Corrección conjunta y cruzada de los exámenes finales.

5.2.b Los Directores de Cátedra de las asignaturas del Área Reuniones periódicas para coordinar la interrelación de los contenidos de las diferentes

materias de integración Vertical y Horizontal. Trabajo conjunto en la elaboración de un hilo conductor para los contenidos de las

diferentes materias del área que responda a los requerimientos que el mercado laboral exige a un Ingeniero, en la rama de Electrónica Digital.

Trabajo conjunto permanente en la actualización de los contenidos de acuerdo a los constantes avances de la tecnología.

5.2.c Los Alumnos Se reemplaza el tercer parcial por un proyecto a elección de los alumnos del cual deben

entregar un prototipo funcionando, y toda la documentación del mismo. Es condición indispensable para la firma de los Trabajos Prácticos. Para tal fin se constituyen grupos de no más de cuatro alumnos. El contenido del proyecto corresponde al temario de la Asignatura. Durante el desarrollo del Ciclo Académico los alumnos deben realizar entregas parciales del proyecto a fin de establecer los puntos de control adecuados junto con los docentes, permitiéndoles anticipar ajustes y correcciones, y por sobre todo experimentar la forma de trabajo con que se encontrarán en su vida profesional, una vez graduados. El producto final es: • Un prototipo funcionando de acuerdo con las especificaciones iniciales, y al cual se le debe ejecutar de manera exitosa un protocolo de pruebas que cada equipo debe elaborar en base a dichas especificaciones • La documentación del proyecto: diagramas de Hardware, Programas Fuente, documentación técnica relacionada obtenida por los alumnos en la cual basen sus decisiones y supuestos de diseño, el costo de Mano de obra y Materiales real (ejecutado) versus su previsión inicial, Hojas de datos de los componentes utilizados. • Se espera entonces del Proyecto anual una fuerte contribución en el desarrollo de las competencias profesionales de los alumnos, en los siguientes aspectos:

- Aplicación efectiva de los contenidos vistos en la asignatura - Articulación con las asignaturas del 5to. Nivel del Diseño Curricular. - Poner a los alumnos en condiciones de trabajo reales: cronograma de entregables

comprometidos, evaluación de los costos de mano de obra y materiales y al final del proyecto comparar lo estimado versus lo ejecutado.

- Estimular la capacidad de trabajo en equipo. - Estimular la capacidad de autoaprendizaje y de formación de criterio propio, mediante

el requerimiento de estudiar diferentes alternativas para la implementación del proyecto, investigar la solución tecnológica más adecuada, y tomar una decisión en función de los criterios que establezcan para su proyecto.

- Desarrollar la capacidad de defender el enfoque de diseño adoptado, ya que se les requiere justificar la decisión de diseño que adoptan.

Se trabajará en la resolución de una guía de Trabajos Prácticos, buscando corroborar la adquisición de metodología de experimentación y resolución de problemas por parte de los alumnos.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 15 de 29 Proyecto de cátedra

6 Metodología de las evaluaciones y su calificación

6.1 Firma de Trabajos prácticos: Para firmar los Trabajos Prácticos de la asignatura, el alumno debe demostrar haber adquirido los conocimientos requeridos, los criterios de resolución de problemas utilizando las herramientas de desarrollo que permiten llevar a la práctica los contenidos específicos de la materia, y por tratarse de una asignatura integradora, debe además demostrar capacidad de combinar los contenidos y criterios de resolución adquiridos, con los propios de las restantes asignaturas horizontales del diseño curricular. Este reaseguro por parte del docente es chequeado en cuatro hitos:

Primer Parcial al fin del primer cuatrimestre. Segundo Parcial al fin del segundo cuatrimestre Resolución correcta de al menos el 80% de los ejercicios obligatorios de la Guía de TP de la

asignatura. En reemplazo del tercer parcial se requiere la presentación de un prototipo en condiciones

de funcionamiento conformes a especificación, junto con la documentación correspondiente, producto de un Proyecto Anual integrador, como se ha expuesto en el ítem 5.2, y cuyas condiciones se exponen mas adelante en el ítem 9.

6.2 Criterios de Corrección 6.2.a Exámenes parciales Los exámenes parciales duran 4 horas reloj y están conformados por dos secciones:

Sección Teórica: Temas vistos en la teoría, a desarrollar de manera concreta y con la mayor profundidad posible, y/o casos teóricos de aplicación para responder de manera conceptual en los que se espera observar la utilización de los conceptos teóricos en el planteo de un diseño o en el análisis de una situación determinada. Objetivo: Corroborar que los conceptos necesarios para resolver problemas de Ingeniería basados en los temas que componen el programa de la materia han sido suficientemente asimilados por el alumno. Duración: 40 a 50 minutos. Se resuelve sin ningún tipo de material auxiliar. Solo las hojas en blanco y los conocimientos adquiridos.

Un problema de aplicación basado en un caso concreto de ingeniería para resolver con las herramientas de desarrollo de software y con los elementos circuitales tratados en el cuatrimestre. Objetivos: • Verificar la capacidad del alumno de aplicar los contenidos vistos durante el cuatrimestre

en la resolución de un caso concreto de ingeniería. • Cuantificar la aplicación correcta y efectiva de los conocimientos adquiridos. • Determinar el grado de valor propio puesto en la resolución. Los temas se elaboran como

casos de Ingeniería con varas opciones posibles de resolución. Se valora la aplicación de la solución más efectiva para el problema planteado.

Duración: 190 a 200 minutos de acuerdo con la duración establecida para el teórico. Los alumnos pueden consultar durante el examen práctico, cualquier documentación técnica de soporte, desde manuales del procesador, funciones del API del Sistema Operativo, Estructuras de datos. En suma cualquier material cuya memorización carece de sentido. De la misma forma en que se desenvuelve un Ingeniero en un entorno laboral.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 16 de 29 Proyecto de cátedra

No se permite consultar programas de aplicación ni circuitos existentes, ya que esta es la esencia del trabajo a presentar.

Como ya se ha establecido en la sección 5.2.a, los parciales así como sus instancias de recuperación se toman el mismo día para todos los cursos, con un mismo tema, y cada parcial es corregido por tres docentes. De este modo se asegura:

Uniformidad en el criterio de evaluación para todos los alumnos independientemente del curso al que pertenezcan

Uniformidad en el criterio de calificación para todos los alumnos independientemente del curso en que se hayan anotado.

Igualdad de condiciones para el examen final para cualquier alumno, ya que han recibido los mismos contenidos, han sido sometidos al mismo examen con el mismo grado de dificultad y han sido evaluados con el mismo criterio

6.2.b Trabajos Prácticos El modelo presentado debe funcionar. En el caso de problemas de hardware, los docentes

auxiliares analizarán en forma exhaustiva el modelo presentado y sugerirán las correcciones necesarias, en caso de presentar inconvenientes de diseño. En el caso de los problemas de software, se requiere el programa ejecutable y el o los programas fuente que lo componen, para verificar a través de su ejecución el funcionamiento de acuerdo a lo requerido.

El proyecto anual conlleva el mismo criterio, con el agregado de la presentación a nivel de prototipo del hardware comprometido en el mismo, y la documentación de respaldo requerida en el documento de bases del proyecto.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 17 de 29 Proyecto de cátedra

7 Trabajos Prácticos Previstos La entrega debe ajustarse a las condiciones, tiempos y formas establecidas en el ítem 9.2 Régimen de aprobación de Trabajos Prácticos. Los trabajos a entregar serán determinados por los docentes de la cátedra y serán los mismos en todos los cursos.

7.1 Programación del 386 – Pasaje a Modo Protegido. Se plantará al alumno entre 8 y 12 ejercicios de programación en modo protegido. Se requerirá la entrega obligatoria de tres de ellos para considerar aprobado el TP.

7.2 Decodificación de Hardware en el Bus ISA. Se plantearán entre 3 y 4 diferentes casos de diseño de interfaces de Hardware utilizando el bus de 8 y 16 bits disponible en este bus de expansión. Se requerirá la entrega obligatoria de uno de ellos para considerar aprobado el TP.

7.3 Universal Serial Bus. Se plantearán entre 3 y 5 diferentes casos de diseño de interfaces de Hardware por el USB de una PC. Se requerirá la entrega obligatoria de dos de ellos para considerar aprobado el TP.

7.4 Sistemas Operativos Se plantará al alumno entre 12 y 15 ejercicios de programación en entorno Linux utilizando todos los mecanismos de intercomunicación de procesos explicados y los diferentes system calls necesarias. Se requerirá la entrega obligatoria de tres de ellos para considerar aprobado el TP.

7.5 Redes de datos. Se plantará al alumno entre 6 y 8 ejercicios de programación en entorno Linux utilizando la interfaz de sockets, y los diferentes system calls necesarias, además de librerías de utilitarios como libpcap. Se requerirá la entrega obligatoria de tres de ellos para considerar aprobado el TP.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 18 de 29 Proyecto de cátedra

8 Cronograma de Actividades Previsto A continuación se plantea el cronograma de actividades para el ciclo lectivo basado en 32 clases de acuerdo con el calendario académico.

Clase 1: semana del 27 de Marzo Introducción a los Sistemas basados en Microprocesadores de 32 bits – Caso práctico: la PC. Teórica: 3:00hs Práctica: 1:00 hs.

Clase 2: Semana del 3 de Abril Arquitectura de Sistemas de 32 bits: Caso práctico la PC. Práctica: 1:00 hs. Teórica: 3:00hs.

Clase 3: Semana del 10 de Abril Procesadores x86 – Introducción al Modo Protegido Teórica: 2:30 hs. Práctica 1:30 hs.

Clase 4: Semana del 17 de Abril Procesadores x86. Modo Protegido. Manejo de Interrupciones y Excepciones Teórica 1:30 hs. Práctica 2:30 hs.

Clase 5: Semana del 24 de Abril Laboratorio. Práctica a cargo del ayudante de TP.

Clase 6: Semana del 1 de Mayo Laboratorio. Práctica a cargo del ayudante de TP.

Clase 7: Semana del 8 de Mayo Procesadores IA-32. Modo Protegido: Multitasking y Mecanismos de Protección. Teórica: 2:15 hs. Práctica 1:30 hs.

Clase 8: : Semana del 15 de Mayo Procesadores x86 - Modo Protegido: Paginación de memoria Teórica: 1:30 hs. Práctica 2:15 hs.

Clase 9: Semana del 22 de Mayo Laboratorio. Prácticas a cargo del ayudante de TP

Clase 10: Semana del 29 de Mayo Procesadores IA-32 – Micro Arquitecturas IA-32

Clase 11: Semana del 5 de Junio Procesadores IA-32 – Extensiones Multimedia. Introducción al Procesamiento Digital de Señales

Clase 12: Semana del 12 de Junio Laboratorio. Prácticas a cargo del ayudante

Clase 13: Semana del 19 de Junio Arquitectura de la PC -Buses de expansión: El Universal Serial Bus

Clase 14: : Semana del 26 de Junio Arquitectura de la PC -Buses de expansión: El Universal Serial Bus

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 19 de 29 Proyecto de cátedra

Clase 15: Semana del 3 de Julio Laboratorio. Prácticas a cargo del ayudante

Clase 16: Semana del 31 de Julio

1er. Examen Parcial. Sábado 5 de Agosto a las 14:00 hs. Medrano 951. Clase 17: Semana del 7 de Agosto Sistemas Operativos (S.O.) Multitasking:

Clase 18: Semana del 14 de Agosto Estructura de un S.O. Multitasking. Caso de estudio detallado: Linux.

Clase 19: Semana del 21 de Agosto Estructura de un S.O. Multitasking. Caso de estudio detallado: Linux. Teórica 1:45 hs. Práctica 2:00 hs.

Clase 20: : Semana del 28 de Agosto Laboratorio. Prácticas a cargo del ayudante

Clase 21: Semana del 4 de Setiembre Laboratorio. Prácticas a cargo del ayudante

Clase 22: Semana del 11 de Setiembre Estructura de un S.O. Multitasking. Caso de estudio detallado: Linux. Diseño de Device Drivers. Teórica 2:00hs Práctica 1:45hs

Clase 23: Semana del 18 de Setiembre Laboratorio. Prácticas a cargo del ayudante

Clase 24: Semana del 25 de Setiembre Laboratorio. Prácticas a cargo del ayudante

Clase 25: Semana del 2 de Octubre Redes de Datos.

Clase 26: Semana del 9 de Octubre Redes de datos.

Clase 27: Semana del 16 de Octubre Laboratorio. Prácticas a cargo del ayudante

Clase 28: Semana del 23 de Octubre Laboratorio. Prácticas a cargo del ayudante

Clase 29: Semana del 30 de Octubre Laboratorio. Prácticas a cargo del ayudante

Clase 30: Semana del 6 de Noviembre Laboratorio. Prácticas a cargo del ayudante

Clase 31: Semana del 13 de Noviembre Arquitectura de la PC – Controlador de Video.

Clase 32: Semana del 20 de Noviembre Trabajo de integración de las Unidades temáticas de la materia

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 20 de 29 Proyecto de cátedra

Clase 33: Lunes 27 de Noviembre

2do. Examen Parcial en todos los cursos

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 21 de 29 Proyecto de cátedra

9 Reglamento interno de aprobación de prácticos

9.1 Lineamientos Generales para el Desarrollo del Proyecto Anual.

9.1.a Condiciones Generales: 9.1.a.i Bases del proyecto anual.

En reemplazo del tercer parcial se requiere el desarrollo de un proyecto de carácter anual, cuyo eje temático esté relacionado con los temas que integran el programa de estudios de Técnicas Digitales III, e incluya además temas de las restantes asignaturas del 5to. Nivel del Diseño Curricular. Para tal fin se conformarán grupos de no más de cuatro estudiantes por cada proyecto. Si durante el transcurso del ciclo lectivo algún integrante del equipo dejase por cualquier motivo de cursar la Asignatura, los restantes miembros del grupo deberán absorber sus responsabilidades. Para evitar inconvenientes en este sentido se recomienda tomar al menos dos comisiones por cada proyecto de modo se puedan unir y seguir con el proyecto en una sola comisión con la cantidad de miembros suficiente como para asegurar la meta en tiempo y forma. Por otra parte en caso de no requerirse fusionar ambos equipos, el intercambio de puntos de vista acerca del enfoque y posibles soluciones al problema planteado, generará una sinergia entre las comisiones, que hará más enriquecedor el proceso de aprendizaje para ambos equipos. El proyecto en principio debe ser seleccionado de entre un conjunto de opciones establecidas por los docentes del curso. Puede también surgir de la libre elección de los alumnos integrantes del equipo de trabajo, en cuyo caso debe contar con la debida fundamentación de las razones de la elección y debe requerir un grado de complejidad equivalente a los proyectos propuestos.

9.1.a.ii Objetivos

Mediante esta actividad se busca lograr que los alumnos que cursan la asignatura, lleven adelante una actividad que les permita experimentar en el campo académico una experiencia de trabajo en equipo y con las mismas obligaciones que en el campo de la Ingeniería Real. Se espera que los alumnos:

Apliquen efectivamente los conocimientos adquiridos en casos reales de aplicación Ejerciten la metodología de trabajo propia de cualquier empresa en la que serán empleados

cuando finalicen la carrera. Desarrollen su capacidad de investigar en busca de tecnologías, normas, y demás elementos

que habitualmente se necesitan en la práctica cotidiana de la Ingeniería Diseñar y llevar a cabo el cronograma de actividades necesarias para el desarrollo del

proceso, desde su conceptualización hasta la entrega del prototipo, y la documentación, y la ejecución de un protocolo de pruebas de aceptación.

9.1.a.iii Áreas temáticas en las cuales basar el proyecto

En línea con las bases del proyecto, el proyecto a desarrollar deberá abarcar al menos uno de los contenidos siguientes:

9.1.a.iii.I Un periférico con Interfaz USB

Se trata de un dispositivo periférico, conectable al bus de la PC. El microcontrolador que controlará al dispositivo queda a libre elección de los alumnos. Del mismo modo puede

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 22 de 29 Proyecto de cátedra

seleccionarse el controlador USBN9603 que se desarrolla durante el dictado de la materia, o bien utilizar algún microcontrolador con interfaz USB embebido a elección de los alumnos. En cualquier caso, se deberá fundamentar debidamente la elección adoptada. El manejo del dispositivo desde la PC puede ser resuelto utilizando los Drivers de clases standard del sistema Operativo, o si el equipo lo prefiere, o el caso en desarrollo así lo requiera, desarrollando un Driver específico para la aplicación.

9.1.a.iii.II Periférico inteligente basado en microcontrolador

Dispositivo que disponga de una interfaz serie o paralelo para su conexión con una PC, a efectos de enviar su información a dicho equipo para su posterior procesamiento (éste procesamiento debe incluirse en el proyecto). El microcontrolador a elección de los alumnos, justificando la elección realizada. La comunicación del lado PC debe ser incluida en el alcance del proyecto mediante el desarrollo de un Device Driver para el Sistema Operativo seleccionado. No es aceptable manejar las comunicaciones por medio de productos standard.

9.1.a.iii.III Proyectos de software.

Se trata de proyectos que no incluyen elementos de hardware desarrollados por los alumnos, como es el caso de sistemas de networking, o sistemas en modo protegido para su uso en PC, o en embedded systems. En estos casos se deberán plantear proyectos que compensen en el software la carga de trabajo que se evita en el hardware. Los proyectos planteados si bien no involucran el desarrollo de un elemento de hardware, deben involucrar recursos y/o subsistemas de hardware existentes, descriptos durante el dictado de la materia.

9.1.a.iv Herramientas para el desarrollo de los módulos de software de las aplicaciones.

Las aplicaciones del lado PC pueden resolverse en entornos gráficos o en los conocidos modos consola. El lenguaje de programación a emplear preferentemente es el C o, en el caso de aplicaciones visuales, C++ o Delphi. Los sistemas operativos sobre los que se pretende desarrollar estas aplicaciones son Windows en cualquiera de sus versiones: 95, 98, ME, 2000, XP, o Linux. Para la programación del firmware del microprocesador, se puede utilizar Assembler, o C, o combinación de ambos según se prefiera.

9.1.b Criterios de elección del proyecto Plantear proyectos que vayan mas allá del mínimo nivel de complejidad requerido, constituye una decisión particular para cada grupo. Se recomienda evaluar el grado de experiencia previa con que cuenten todos los integrantes de cada equipo. Esto significa que si bien no se considerarán suficientes anteproyectos por debajo de un mínimo requerido para estudiantes de 5to. Año, tampoco se recomendarán proyectos que, independientemente de lo interesantes y enriquecedores que resultasen, impliquen una complejidad tal que impida llevarlo a cabo en los plazos límite establecidos para la entrega del mismo. En este punto los docentes del curso cumplirán en advertir acerca de la situación en base a su propia experiencia.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 23 de 29 Proyecto de cátedra

No obstante, si los alumnos integrantes del equipo luego de una evaluación realista de su experiencia previa en temas relacionados con el proyecto que plantean, y de los medios y disponibilidad de tiempo con que cuentan para llevar a cabo un proyecto de tales características, concluyen en que pueden implementarlo en los plazos previstos, nada impide que lo lleven adelante. Pero obviamente esta decisión implicará que una vez asumido el compromiso con los docentes, deberán responsabilizarse de finalizarlo. Por lo tanto, se recomienda realizar una evaluación sumamente cuidadosa de tiempos, recursos (fundamentalmente herramientas de desarrollo necesarias), y eventuales dificultades que puedan aparecer durante el desarrollo, para acotar el proyecto seleccionado.

9.1.c Desarrollo de las diferentes etapas Durante el calendario Académico se realizarán entregas parciales del proyecto a fin de establecer los puntos de control adecuados por parte de los docentes, de modo de permitir a los alumnos anticipar ajustes y correcciones, además de ser ésta la forma de trabajo con que se encontrarán en su vida profesional.

9.1.c.i Documentación del proyecto:

Cada grupo deberá elaborar una carpeta del proyecto a la que irá incorporando la documentación correspondiente a cada entrega, a medida que se avance en el ciclo de vida del proyecto. Esta documentación deberá estar íntegramente elaborada en formato electrónico, con herramientas de software a elección del equipo: los documentos elaborados en un procesador de texto, los circuitos en ORCAD o cualquier utilitario de características similares, el layout de las placas en ORCAD PCB, u otros. AL fin del proyecto la carpeta contendrá:

Una carátula con el Nombre del proyecto, grupo, integrantes (apellido, nombre y número de legajo), mas cualquier otro dato que los alumnos consideren oportuno.

Una sección por cada entrega relacionada con cada etapa del proyecto, de modo que al final de éste, la carpeta contenga el ciclo completo de desarrollo, permitiendo la comparación de lo conceptual izado originalmente con lo obtenido en la práctica.

Una sección Apéndice que contenga las fotocopias de las hojas de datos de todos los dispositivos utilizados en el proyecto, incluyendo chips de lógica menor (TTL), transistores, reguladores de tensión, etc.

Finalizado el proyecto el grupo deberá proveer, la carpeta completa con toda la documentación del proyecto y un medio magnético con los archivos correspondientes. En dicha documentación deberán estar los programas fuentes completos y el circuito completo del hardware con su listado de componentes. En virtud de los objetivos del presente proyecto, y del hecho que, tanto el dictado teórico en clase, las prácticas de laboratorio y las consultas atendidas por los docentes del curso, dan las bases de conocimiento a los alumnos para la ejecución del presente proyecto los derechos intelectuales del mismo quedarán en el Departamento de Electrónica de la UTN. En virtud de ello el Departamento de Electrónica seleccionará a su criterio aquellos Trabajos que resulten de interés y efectuará de considerarlo adecuado la publicación de los mismos en su página de Internet.

9.1.d Etapas a Cumplir: Los docentes establecerá en la primer clase del ciclo lectivo la fecha para la Presentación de los equipos de trabajo con el objeto de lograr la conformación de los diferentes equipos.

9.1.d.i Cronograma de actividades

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 24 de 29 Proyecto de cátedra

Junto con esa presentación el equipo presentará a modo de inicio del proyecto un cronograma de actividades (Gantt) que contenga mínimamente las siguientes tareas / entregables a lo largo del ciclo lectivo:

9.1.d.i.I Presentación del proyecto.

Consiste en la presentación por parte del equipo, de un documento con la información preliminar del proyecto. Deberá contener la siguiente documentación:

9.1.d.i.I.1 Especificación funcional del proyecto.

Sin entrar en detalles técnicos deberá describirse que es lo que el modelo terminado debería hacer. Es decir, detallar las funciones a cumplir por el dispositivo a desarrollar.

9.1.d.i.I.2 Alcance.

Describir claramente las limitaciones que tendrá el sistema a implementar. Es decir, acotar claramente hasta donde se piensa llegar. Por ejemplo, en el caso de un programado de memorias EPROM, declarar cual es la máxima capacidad de memoria soportada por el programador, 32K, 64K, u otros, como así también que tipos de memorias y de que fabricantes que soportará el modelo.

9.1.d.i.I.3 Diagrama en bloques de Hardware.

Este diagrama de hardware debe mostrar los bloques que componen el sistema a desarrollar, y una breve descripción de la función que cumple cada uno.

9.1.d.i.I.4 Diagrama global del Software de aplicación.

Descripción de los principales módulos de software o firmware del sistema, detallando las salidas que generará y entradas que requerirá cada bloque y sus intercomunicaciones si las hubiera.

9.1.d.i.I.5 Estimación de costo del modelo.

Se trata de un costo estimado discriminado en mano de obra de desarrollo de Hardware y Software, y costo de materiales.

9.1.d.i.II Devolución de las especificaciones por parte de los docentes.

Los docentes durante las dos semanas siguientes devolverán al grupo el documento detallado en el punto 9.1.d.i.I Presentación del proyecto. con las correcciones a efectuar por parte de cada equipo, en lo referente a errores conceptuales, como así también las modificaciones a consensuar entre docentes y equipo de desarrollo en lo referente básicamente a cuestiones de alcance y complejidad. Con respecto a este último punto los docentes revisarán la complejidad del desarrollo de modo de encuadrarlo entre los umbrales mínimo y máximo referidos en el punto 9.1.b Criterios de elección del proyecto.

9.1.d.i.III Entrega de las especificaciones definitivas.

En caso de que como resultado de las correcciones del punto 9.1.d.i.II Devolución de las especificaciones por parte de los docentes. surjan modificaciones a efectuar sobre las especificaciones, éstas deberán ser incorporadas a la sección correspondiente de la carpeta del proyecto y entregadas en esta fecha.

9.1.d.i.IV Entrega del estudio técnico.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 25 de 29 Proyecto de cátedra

Una vez establecido el alcance del desarrollo planteado, el equipo necesita determinar como va a implementar la solución al problema planteado. A tal efecto el equipo elaborará un estudio técnico que se compondrá del análisis de por lo menos dos alternativas diferentes de implementación del modelo buscado. Estas deben ser dos formas verdaderamente diferentes de llegar al mismo resultado. Se evaluarán diferentes puntos a considerar a criterio del equipo, y se efectuará la calificación de cada punto para cada alternativa (de 1 a 5). Finalmente se recomendará como opción más conveniente aquella que sume la mayor cantidad de puntos. Los ítems a tener en cuenta para la evaluación serán determinados por el equipo de proyecto de acuerdo a las características del mismo. Como regla general deberá considerarse como mínimo los siguientes:

Complejidad del desarrollo. Disponibilidad de herramientas de desarrollo. Cantidad de componentes discretos (probabilidad de falla) Costo global Escalabilidad. Facilidad de programación.

9.1.d.i.V Devolución por parte de los docentes.

Una vez revisado por los docentes, se intercambiarán puntos de vista acerca de la evaluación y como resultado se efectuarán las correcciones que correspondieran, y se optará por la alternativa considerada más conveniente. El criterio de selección de la alternativa es exclusivo del equipo de proyecto. La idea de este ejercicio de alternativas, es entrenar a los alumnos en la búsqueda de diferentes formas de llegar a un modelo. La opción elegida no debe ser necesariamente la primera que aparezca.

9.1.d.i.VI Entrega del proyecto de Hardware del sistema.

El proyecto de Hardware es un documento que contiene los siguientes ítems, elaborados con el suficiente nivel de detalle como para que pueda armarlos cualquier profesional ajeno al proyecto:

9.1.d.i.VI.1 Circuito del modelo

Se trata del circuito a detalle incluyendo la fuente de alimentación, es decir, que el circuito debe contener no solo los elementos principales (Circuitos integrados), sino cualquier otro elemento pasivo, como ser, resistores, capacitores, accesorios (conectores, llaves, etc.). Como ya se dijo debe estar presentado en formato electrónico, y realizado con ORCAD o herramienta similar.

9.1.d.i.VI.2 Lista de componentes.

En el caso de los componentes pasivos detallar el valor de c/u, con su tolerancia correspondiente.

9.1.d.i.VI.3 Layout

Archivo con el diseño de la placa definitiva, simple o doble faz según corresponda, y un documento adjunto con las consideraciones constructivas para evitar el efecto del ruido, o u otros problemas, si corresponde.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 26 de 29 Proyecto de cátedra

9.1.d.i.VI.4 Costo.

Cálculo del costo unitario del hardware incluyendo componentes, fuente de alimentación, plaqueta de conexión, cables, etc.

9.1.d.i.VII Devolución por parte de los docentes del proyecto de hardware.

Una vez corregidos los documentos descriptos en el ítem 9.1.d.i.VI Entrega del proyecto de Hardware del sistema., los docentes devolverán el proyecto con las modificaciones, agregados, y correcciones que correspondieran.

9.1.d.i.VIII Entrega del Proyecto de Hardware del sistema corregido.

Los alumnos entregarán en esta etapa, el proyecto de hardware con las correcciones, modificaciones y agregados indicados en el punto anterior.

9.1.d.i.IX Entrega del proyecto de Software del sistema.

Este proyecto se deberá realizar en paralelo con el de Hardware, y debe cubrir los siguientes puntos:

9.1.d.i.IX.1 Documentación.

Descripción de las diferentes funciones que realiza el software. Diagrama de flujo con la operatoria completa del sistema. Descripción de las diferentes subrutinas que componen el sistema incluyendo, nombre, parámetros que reciben, función que realizan, y resultados que devuelven.

9.1.d.i.IX.2 Programas fuente

Listados de programas fuente. Los programas deben estar adecuadamente comentados, y deben contener un encabezado con las instrucciones básicas para su compilación y linkeo.

9.1.d.i.X Devolución por parte de los docentes del proyecto de software.

Una vez corregido, los docentes devolverán el proyecto con las modificaciones, agregados, y correcciones que correspondieran.

9.1.d.i.XI Entrega del Proyecto de Software del sistema corregido.

Los alumnos entregarán en esta etapa, el proyecto de software con las correcciones, modificaciones y agregados indicados en el punto anterior.

9.1.d.i.XII Entrega de un protocolo de pruebas.

Cada grupo en forma previa a la presentación del prototipo funcionando, deberá presentar un documento que detalle las pruebas a realizar sobre el modelo de modo de corroborar la correcta operación de cada una de las funciones especificadas inicialmente. Se requiere recibir como protocolo de pruebas una planilla que cumpla los siguientes requisitos:

Debe cubrir todos los ítems que componen la especificación inicial del modelo Debe poder ser ejecutado por cualquier profesional ajeno al proyecto, de modo que la

descripción de cada una de las operaciones a realizar debe ser clara y suficientemente detallada. (se busca que el equipo de trabajo se abstraiga de su contexto de obviedad, propio de quienes conocen hasta el último detalle del modelo).

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 27 de 29 Proyecto de cátedra

9.1.d.i.XIII Devolución por parte de los docentes del protocolo de pruebas .

Los docentes devolverán el documento con las modificaciones, agregados, y correcciones que correspondieran en relación con funciones que se encuentres insuficientemente testeadas o que hayan sido omitidas.

9.1.d.i.XIV Entrega del protocolo de pruebas definitivo.

El equipo de proyecto entregará en esta etapa el protocolo de pruebas con las observaciones de los docentes volcadas.

9.1.d.i.XV Entrega del prototipo funcionando.

Consiste en el modelo implementado, según las especificaciones iniciales. Los componentes de Hardware, podrán estar cableados sobre un proto-board o sobre una placa de experimentación, o directamente sobre un PCB diseñado por los alumnos. El prototipo será sometido al protocolo de pruebas por los docentes y alumnos.

9.1.d.i.XVI Entrega final del prototipo.

Si surgiese algún inconveniente con relación al funcionamiento del modelo durante la prueba, se efectuarán las correcciones y en esta fecha se repetirá la porción de la prueba tendiente a comprobar el correcto funcionamiento. La fecha tope es la de finalización del segundo cuatrimestre. Si por algún motivo, un grupo no llega con su proyecto a esa fecha, el docente a cargo del curso, podrá extender el plazo hasta el fin del ciclo lectivo (Marzo del año siguiente), siempre que haya observado actividad suficiente en el equipo y que el proyecto se encuentre en un grado de avance muy significativo, y existan inconvenientes mas allá de los participantes del equipo que impidan su concreción en tiempo y forma.

9.1.d.i.XVII Entrega de la carpeta completa.

En general la documentación que se ha descrito a lo largo de las diferentes tareas que deberán componer el cronograma de actividades básico, constituyen la documentación del proyecto a entregar. Se deberá actualizar con los eventuales ajustes en los circuitos y programas, que se puedan haber hecho durante la fase de desarrollo a posteriori de las correcciones.

9.1.d.ii Seguimiento de las actividades:

El equipo de trabajo es quien en base a sus prioridades y posibilidades elaborará un cronograma de actividades. Puede esperarse cierta tolerancia por parte de los docentes con respecto al cumplimiento estricto de las fechas planteadas en el mismo. Sin embargo la fecha final es inamovible. La no entrega en la fecha detallada del prototipo funcionando, esto es cumpliendo con todas las condiciones esperadas según el protocolo de pruebas y las especificaciones originales, implicará la no aprobación del proyecto para todo el equipo. Durante todo el ciclo lectivo los docentes estarán a disposición de los equipos para salvar las dudas que se requieran, ya sea en horas de laboratorio, reuniones fuera del horario de clase o vía e-mail, de acuerdo a las posibilidades en cada caso. Se recomienda muy especialmente que cada grupo de proyecto conforme una lista de correo en la que incluya a los docentes del curso y forme algún repositorio virtual de información para que se deposite allí la documentación del proyecto, evitando tener que entregarla de manera personal en clase. Esto permite agilizar el proceso de intercambio de información.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 28 de 29 Proyecto de cátedra

Se presenta en el documento avance.doc un reporte muy sencillo con el que los alumnos pueden informar periódicamente al cuerpo docente acerca del estado del proyecto. En especial cuando aparece algún problema bloqueante para el ciclo de actividades (semáforo Rojo).

9.1.e Derechos de Propiedad Intelectual. Como todos los trabajos que se realizan dentro del ámbito de la Universidad la guarda de los derechos de propiedad intelectual queda en manos de la Universidad Tecnológica Nacional, y en nuestro caso particular, del Departamento de Electrónica. Por tal motivo una copia de los proyectos quedará en el Departamento, y es de esperar que los cursos venideros puedan tener dicho material como fuente de consulta.

9.1.f Listado de proyectos. Analizador de Bus USB Analizador de señales por USB. Sistema de adquisición de datos de 8 canales analógicos por USB. Firewall para Linux o Windows. Proxy server para Linux o Windows. Router / Firewall TCP IP con PC embebida (Motherboard con placa Flash a cargo del grupo) Sistema Operativo Multitasking para módulo SOM o Embeeded PC, con manejo de disco

(flash ROM) y periféricos simples (serie paralelo). Sistema de streaming de audio por TCP/IP. Sistema de voz sobre IP. Sistema de adquisición de datos de 8 canales: placa para bus ISA, Device Driver, y servidor

multihilo en red para Linux para su consulta desde múltiples clientes. Procesador Digital de Audio dedicado conectable por USB: Encriptor/Desencriptor,

Modulador, reverberador, o cualquier función que el alumno desee implementar. Sistemas de instrumentación electrónica basados en PC. Librería de DSP basada en instrucciones SIMD. Librería de Filtros digitales para Arquitectura IA-32 basados en instrucciones SIMD Librería de Compresores y supresores de eco, y demás utilitarios para sistemas de Voz sobre

IP basados en instrucciones SIMD

9.2 Régimen de aprobación de Trabajos Prácticos La guía de Trabajos Prácticos será única para todos los cursos de modo de garantizar la coherencia de objetivos y ejercitación. Cada alumno deberá presentar en forma individual o grupal aquellos Ejercicios de la guía que lleven la indicación “entrega obligatoria individual” o “entrega obligatoria grupal” respectivamente en la tabla resumen que se detalla en la guía mencionada. La entrega del ejercicio deberá efectuarse en las fechas estipuladas por los ayudantes. La no entrega de un ejercicio de entrega obligatoria en dicha fecha equivale a considerar al alumno (o grupo según corresponda) Ausente, y por ende reprobado en ese trabajo práctico. De acuerdo con el reglamento vigente, la firma de Trabajos Prácticos requiere el 80% de los Trabajos Prácticos Aprobados. En decir, que se requiere tener aprobados el 80% de los TP’s señalados como Obligatorios. Los calendarios de entrega de los prácticos obligatorios estarán diseñados de modo de contar con todos los TPs que entran en cada parcial, antes de dicho examen de modo que los docentes puedan dar la devolución con las correcciones de los errores detectados. Esto apunta a asegurar la preparación de los alumnos frente al examen parcial.

Universidad Tecnológica Nacional Departamento de Electrónica

Facultad Regional Buenos Aires Técnicas Digitales III

Autor Ing. Alejandro Furfaro Página 29 de 29 Proyecto de cátedra

Se requiere como condición de presentación de un programa, los diferentes archivos fuente en soporte magnético y en papel junto el programa ejecutable. Los archivos fuentes deben tener en todos los casos los comentarios necesarios para clarificar su lectura, y un comentario por cada subrutina / función, con la descripción de la operación que realiza, los parámetros que espera como entrada, y en que forma y donde entrega sus resultados. Como encabezado del programa, debe haber un comentario que explique claramente que hace el mismo, y las instrucciones detalladas (comandos) para su compilación y linkeo. La entrega puede realizarse en medio magnético personalmente a los docentes, o vía e-mail. Acompañando a la entrega electrónica de la información se requiere una copia en papel. Para los prácticos de hardware, los circuitos deben estar realizados en ORCAD, o cualquier herramienta similar, y su presentación se requiere en medio magnético, e impreso en papel.