Información Preliminar
Taller de
Diseño de Circuitos Digitales y Programación de Computadoras Ing. Arturo J. Miguel de Priego Paz Soldán www.tourdigital.net
[email protected] Chincha, Perú, 4 de febrero de 2012
En el mundo tecnológico actual, la gran mayoría de artefactos utilizados por las personas incluyen algún tipo de computador, como ocurre en los automóviles, máquinas industriales, electrodomésticos, robots, dispositivos médicos, aviones, sistemas de comunicaciones, etc. Entender cómo operan y qué pueden hacer las computadoras y otros sistemas digitales es importante para profesionales, académicos, artesanos y técnicos pues les permite analizar y prever las ventajas y limitaciones de las tecnologías que utilizan diariamente. Por ejemplo, en El Ingeniero del 2020: Visiones de la Ingeniería en el Nuevo Siglo se menciona que “debido al esperado rol de las computadoras en el futuro, es esencial que los ingenieros de todas las disciplinas tengan un conocimiento práctico de los fundamentos de los sistemas digitales así como destreza en el empleo de sistemas y herramientas de cómputo contemporáneos.” En tal contexto, este taller ha sido planificado para familiarizar a los participantes con las técnicas, herramientas, dispositivos y recursos de diseño y de programación de computadoras. Particularmente, este taller se enfoca en el diseño de circuitos digitales con descripciones de hardware en el lenguaje VHDL y síntesis sobre circuitos de lógica programable, y en la programación orientada a objetos usando el lenguaje C++ para crear programas en DOS y Windows. La fecha prevista para el inicio del taller es el 20 de febrero de 2012. Se desarrollará en diez semanas. Las actividades requerirán un promedio de cuatro horas semanales de dedicación personal. Para inscribirse en este taller consulte la tercera página de este documento.
La instrucción toma en cuenta el aprendizaje basado en proyectos descrito en Diseño y Descubrimiento, el alineamiento constructivo mencionado en Enseñando a Enseñar y Entendiendo Entendimiento y el método 5E. A lo largo del taller, los estudiantes: Aplicarán métodos de investigación científica para descubrir reglas y propiedades de los circuitos digitales y de la programación de computadoras. Aprenderán a reconocer patrones y a modelar circuitos y programas con varios paradigmas, técnicas y estilos. Estudiarán varios casos de diseño digital y de programación. Realizarán circuitos y programas con principios de diseño en ingeniería. Aprenderán a establecer interfaces entre hardware y software desde un punto de vista funcional y algorítmico, con previsión de los detalles de construcción de los circuitos y de la codificación de los programas. Conocerán muchas fuentes importantes para profundizar y ampliar sus conocimientos, entendimientos y habilidades de diseño y programación. Los estudiantes serán atendidos de acuerdo a sus capacidades, logros y aprovechamientos, y serán evaluados formativamente para ayudarles a alcanzar los objetivos de aprendizaje. Con tal propósito, mantendrán al día un blog o página en Internet para compartir sus circuitos, diseños, programas, preguntas, etc. Asimismo, serán animados a criticar constructivamente y a apreciar agradecidamente el trabajo, resultados y productos de los demás.
Contenido 1. Funciones Lógicas y Algoritmos a. Experimentos con circuitos digitales b. Representaciones de funciones lógicas c. Algoritmos y lenguajes d. Introducción a VHDL e. Introducción a C++ Control del nivel de agua en un tanque Detección de ingreso Votación por mayoría 2. Herramientas de Diseño y Programación a. Introducción a Quartus II b. Introducción a Dev-C++ c. Funciones lógicas típicas d. Programas básicos típicos Semáforo en cruce de avenidas Reloj con despertador Estacionamiento de autos 3. Diseño Digital. a. Circuitos de lógica programable (FPGA, CPLD) b. Microprocesadores c. Memorias d. Microcontroladores Ascensor de cuatro pisos Tráfico bidireccional por un carril Mezclado de líquidos Regulación de temperatura Experimentos de cinemática 4. Programación Orientada a Objetos a. Programación en DOS y en Windows b. Tipos de datos, bucles y funciones c. Clases, herencia y polimorfismo d. La biblioteca de plantillas estándar Simulador de movimiento semiparabólico Suma de vectores Simulador de circuitos lógicos 5. Comunicación de Datos mediante el Puerto Paralelo de la PC a. Escritura y lectura de puertos. b. Bibliotecas DLL. Control PWM del brillo de un led Emulador de un ADI
6. Máquinas de estados finitos a. Tipos de máquinas de estados b. Diseño con flip-flops c. Síntesis con chips TTL Expendedora automática Detector de secuencia de números 7. Programación de Mensajes en un LCD a. Interfaz de un LCD b. Interfaz entre PC y CPLD mediante el puerto paralelo. c. Transmisión de archivos Sistema de mensajería en una escuela Mensajería para cocineros 8. Máquinas de estados algorítmicas a. Diagramas de estados algorítmicas b. Modelo de unidad de control y unidad de ejecución. c. Descripciones de las unidades de control d. Descripciones de caminos de datos Juego de números de cuatro dígitos diferentes Semáforo con sensores de paso de automóviles 9. Diseño de un Microprocesador a. Definición de funciones e interfaces b. Conjunto de instrucciones c. Interfaz de memoria d. Descodificación, control y ejecución e. Prototipo en C++ f. Descripción en VHDL g. Síntesis sobre un FPGA Calculadora para experimentos de cinemática 10. Diseño de un Microcontrolador a. Definición de la aplicación b. Instrucciones c. Requerimientos de memoria d. Especificaciones de las interfaces e. Diseño del microprocesador f. Prototipos con FPGA g. Introducción a los compiladores h. Programación del microcontrolador Módulo de experimentos cinemáticos Alimentador de mascotas Robot explorador
Actividades Previas Para participar en este taller, responda las siguientes preguntas en dos fases: 1) Por propia cuenta, sin ayuda de otra persona y sin recurrir a otras fuentes. 2) Con ayuda externa, habiendo respondido o intentado responder a todas las preguntas. Indique claramente a qué fase corresponde cada respuesta.
Envíe sus respuestas en un documento PDF incluyendo su nombre, correo electrónico y grado de instrucción académica, así como el tiempo dedicado para completar este reporte y las referencias de las fuentes utilizadas en la segunda fase de respuestas. Esta información ayudará a formar una idea inicial sobre varias habilidades, conocimientos y actitudes académicas de cada participante.
Electricidad y Circuitos Eléctricos 1. Observa el segmento del vídeo www.youtube.com/watch?v=doasHPsROqQ que va desde 3:45 hasta 5:25. a) ¿Qué fenómenos eléctricos han sido remplazados por situaciones humorísticas? b) ¿Qué problemas puede causar este tipo de modificaciones? 2. Observa el siguiente vídeo prestando atención a los materiales utilizados por los actores y a las reacciones de las personas que forman parte de los experimentos. www.teachertube.com/viewVideo.php?title=Brainiac___electric_fence&video_id=180509 a) ¿Por qué algunas personas del vídeo muestran más dolor que otras? b) ¿Cuáles elementos actúan como aislantes o bloqueadores de la corriente eléctrica? c) ¿Qué entiendes por resistencia eléctrica? d) ¿Cuáles son las diferencias entre resistencias, conductores y aislantes? e) ¿Qué o quiénes desempeñan roles de resistencias en el vídeo? Circuitos digitales y computadoras 3. Responde al menos tres de las cinco preguntas siguientes: a) ¿Para qué sirve, cómo funciona y qué contiene una linterna? b) ¿Para qué sirve, cómo funciona y qué contiene un cronómetro digital? c) ¿Para qué sirve, cómo funciona y qué contiene un semáforo? d) ¿Para qué sirve, cómo funciona y qué contiene un reloj digital? e) ¿Para qué sirve, cómo funciona y qué contiene una computadora? Comunicación y Procesamiento de Datos e Información 4. Define las siguientes operaciones de la lógica proposicional y de conjuntos a) Conjunción, negación y disyunción de proposiciones. b) Unión, intersección y complemento de conjuntos. 5. Escribe todas tus respuestas concisamente y con el mayor detalle posible: a) Cuando se envía un mensaje mediante el correo postal ¿Qué ocurre desde que se escribe una carta hasta que es leída por el destinatario? b) En el caso del correo electrónico ¿Qué ocurre desde que se comienza a escribir un mensaje hasta que es leído por el destinatario? c) ¿Cuáles son las partes comunes de estos sistemas de comunicaciones? Ciencia, Matemática, Ingeniería y Tecnología 6. Observa La Historia del Número 1, que inicia en www.youtube.com/watch?v=FCAzdjaHkR4. c) ¿Cómo se desarrolló la aritmética? d) ¿Qué hizo al sistema arábigo mejor que el sistema romano? e) ¿Qué ocurrió para que fuera aceptado y popularizado en Europa? f) ¿Cómo se utilizan los conceptos de 0 y 1 actualmente? 7. ¿En qué orden cronológico aparecieron la ciencia, la matemática, la ingeniería y la tecnología en la historia de la humanidad? Menciona algunos ejemplos.