Algunos enlaces relacionados:
Escuela Técnica Superior de Ingenieros de Telecomunicación
Universidad de Las Palmas de Gran Canaria
Trabajo sobre diseño
hardware de efectos digitales. Agradecimiento especial a Angela Viola, por la revisión del documento.
Trabajo sobre la energía solar y los sistemas fotovoltaicos. Agradecimiento especial a Agostino Giliberti, por la revisión del documento.
Las prácticas de esta asignatura están orientadas al diseño de
hardware y programación de FPGAs haciendo uso del lenguaje VHDL. Aquí están los documentos de prácticas, elaborados con mi compañero Juan Carlos Molina:
- Práctica 1 [06/11/06]: Modelado y simulación de un microcontrolador (MiniCPU) en VHDL. Partiendo de la descripción funcional, implementamos todo el repertorio de instrucciones y simulamos el funcionamiento.
- Práctica 2 [14/12/06]: Implementación de la MiniCPU en Xilinx ISE y comprobación en la FPGA. Partiendo del diseño anterior, modificamos la MiniCPU para hacer que fuera sintetizable, y comprobamos el funcionamiento en la placa.
- Práctica 3 [11/02/07]: Microprocesador empotrado. Esta práctica consistió en tomar como referencia un procesador conocido (el PicoBlaze de Xilinx) y realizar un dispositivo de loopback a través del puerto serie (es decir, se envía lo mismo que se ha recibido), al mismo tiempo que se controlan 8 leds mediante 8 switches. Cuando se recibe o envía información por el puerto serie se activa un movimiento circular en los displays de 7 segmentos de la placa. Mi compañero y yo dividimos el diseño en dos partes para utilizar nuestra FPGA y la del laboratorio al mismo tiempo, conectadas entre sí a través de un puerto de expansión. El fichero comprimido no incluye el código VHDL del PicoBlaze ni de las UARTs de transmisión y recepción, ya que son propiedad intelectual de Xilinx. No obstante pueden descargarse gratuitamente (es necesario registrarse) en su web. Los ficheros necesarios son:
- kcpsm3.vhd
- uart_rx.vhd
- uart_tx.vhd
- kuart_rx.vhd
- kuart_tx.vhd
- bbfifo_16x8.vhd
Las prácticas de esta asignatura son pequeños programas en C para comprobar ciertas funciones del sistema operativo. Todos están preparados para compilar:
En esta asignatura estudiamos en profundidad el microcontrolador MC68HC11 y el microprocesador MC6800. Aquí tengo el código de algunos programas en ensamblador para al el MC68HC11, que hemos hecho en prácticas (con mis compañeros Juan Carlos Molina y Laura Perera):
- Práctica 1 [25/10/06]: "El coche fantástico". Para ejecutar este programa, se conecta el puerto B del microcontolador a un array de LEDs, que se iluminan de un lado hacia otro, como los del coche fantástico.
- Práctica 2 [09/11/06]: "Reloj digital". En esta práctica hemos hecho un cronómetro, que cuenta desde 0 a 59 segundos con precisión de centésimas. El dato se muestra en 4 displays, conectados al puerto B, con una tasa de refresco elevada para que no se aprecie el parpadeo. Además conectamos un teclado hexadecimal por el puerto C, y programamos cuatro botones con las siguientes funciones:
- Reset (puesta a cero)
- Set (se establece un valor arbitrario. En nuestro caso: "50.00")
- Parada
- Marcha
- Práctica 3 [14/01/07]: "Monitor de puertos y memoria". Esta práctica se basa en la implementación de varias operaciones a través del puerto serie asíncrono, para lo cual se utiliza una interfaz con el usuario, quien podrá realizar las siguientes operaciones (que aparecerán en un menú):
- Lectura del puerto de entrada: Se introduce programa un valor en hexadecimal que será introducido a través del puerto C, y se muestra dicho valor en pantalla.
- Escritura en el puerto de salida: Se pide al usuario que teclee un valor en hexadecimal a través del teclado, y se muestra el mismo valor a través de los leds conectados al puerto B.
- Escribir un valor en memoria: Se dispone de 32 posiciones de memoria reservadas para caracteres ASCII. En primer lugar se pide al usuario el valor de la dirección, y luego el valor que se quiere almacenar (todo en hexadecimal).
- Lectura de la memoria: Se muestra por pantalla una plantilla con la localización de las posiciones de memoria, y se muestra su valor en hexadecimal, y también el carácter ASCII correspondiente a dicho valor (siempre que sea un valor imprimible, si no se muestra un punto).
Este programa, al ser más grande que los anteriores no puede guardarse todo en la memoria RAM del MC68HC11-E9, así que previamente tendremos que guardar la parte correspondiente en la memoria EEPROM.
La evaluación de esta asignatura se realiza mediante la realización de una o varias prácticas de programación que deben entregarse al profesor a lo largo del curso. Yo le propuse elaborar un
manual con los contenidos de la asignatura, y le pareció buena idea. Los tres grandes temas que abarca son: Programación orientada a objetos (utilizando C++), programación gráfica (con C++ y Qt-3) y bases de datos (con MySQL):
Aquí tengo las memorias de prácticas de esta asignatura, realizadas conjuntamente con
Juan Carlos Molina:
- Práctica 1 [06/12/05]: Implementación de un CFB (Current-feedback. Amplificador operacional realimentado en corriente)
- Práctica 2 [25/01/06]: Implementación de un modulador AM, con etapa amplificadora, etapa de predistorsión, casocodo doblado y salida asimétrica.
- Práctica 3 [25/01/06]: Bucles enganchados en fase (PLL)
Aquí tengo las memorias de prácticas de esta asignatura:
- Práctica 1 [06/03/06]: Introducción al Network Simulator
- Práctica 2 [06/03/06]: Simulación del protocolo TCP en Network Simulator
- Práctica 3 [17/04/06]: Aplicaciones sobre TCP y UDP
- Práctica 4 [08/05/06]: Configuración de emulación RDSI, adaptadores de terminales RDSI y transferencia de voz y datos
- Práctica 5 [15/05/06]: Análisis del nivel de enlace RDSI. Q.921
- Práctica 6 [29/05/06]: Análisis del nivel de red RDSI. Q.931
Aquí tengo las memorias de prácticas de esta asignatura:
- Práctica 1 [17/10/05]: Introducción a la interconexión de ordenadores
- Práctica 2 [07/11/05]: Estudio de protocolos de aplicación
- Práctica 3 [05/12/05]: Estudio de acceso al medio con CSMA/CD
Aquí tienen una tabla-resumen con las ecuaciones de Análisis y Síntesis de señales; el documento también incluye una tabla con una clasificación de señales, y su relación con su espectro, según sean éstas continuas/discretas o bien periódicas/aperiódicas. La tabla ha sido revisada y corregida, en principio carece de erratas.
Para esta asignatura, mi compañera Lara González y yo hicimos un trabajo de investigación sobre cómo resolver las ecuaciones de la Física-Matemática, haciendo uso de un paquete de cálculo que viene con Matlab, el Pde-ToolBox. Incluye la resolución de algunas ecuaciones vistas en clase:
Nota: Todos los circuitos que se describen a continuación han sido montados y funcionan correctamente.
Los siguientes diagramas pertenecen a la tercera práctica de Circuitos Digitales. El primero consiste en un sumador-restador completo de 3 bits en complemento a 2 (SC2), es decir, incluye un cuarto bit que nos indica el signo. Si el punto del display se enciende, habremos obtenido en la operación un número negativo. También dispone de un detector de desbordamiento que se encarga de apagar el display cuando el resultado de la suma o resta excede de un número que se pueda representar con 3 bits.
El segundo circuito calcula, en código BCD, el valor absoluto de la diferencia de dos números (de 4 bits, lógicamente, por ser BCD). Tiene una unidad adicional que se encarga de comprobar que ambos números sean BCD, es decir, desde 0000 (0 en decimal) hasta 1001 (9 en decimal). Si esta condición resultara falsa, el circuito se encargaría de apagar el display.
Este otro circuito pertenece a la cuarta práctica, y se trata de un contador, construido con biestables de tipo JK, que generan una secuencia de números: 2,3,5,1,7, de manera cíclica. Este circuito está acompañado de un generador de impulsos de reloj que controla el tiempo que transcurre entre que el display muestra un número, hasta que muestra el siguiente.
El siguiente fichero comprimido contiene los las prácticas de esta asignatura, realizadas con el simulador
IDaSS. En una subcarpeta están las prácticas de la primera parte de la asignatura (pueden servir como introducción y familiarización con el manejo del simulador). En las demás prácticas se trata de implementar un procesador CISC.
El siguiente documento contiene una recopilación de todas las prácticas realizadas para esta asignatura.
Para esta asignatura, mis compañeros Lara González, Eri Medina,
Juan Carlos Molina y yo hicimos una práctica donde comprobamos el funcionamiento del "Protocolo ARQ de parada y espera". Conectamos dos ordenadores por el puerto serie, con un cable EIA-232 e hicimos dos programas en (Builder) C++ para la transmisión y recepción de tramas de información de uno a otro.
Aquí tengo algunos programas que me ha facilitado Pedro Saavedra, con las simulaciones que ha hecho en clase.
He hecho un resumen de las fórmulas de la parte de oscilaciones y ondas de esta asignatura.
Las prácticas eran precisamente del mismo temario. El documento ha sido elaborado con mis compañeros Leandro Cabrera y Héctor García.
Aquí pueden descargar el programa que hice en primero para esta asignatura, para resolver sistemas de ecuaciones por el método recurrente de Gauss-Seidel:
ecuaciones.zip (0.7 MB) [25/01/04]. El fichero ''Leame.txt'' incluye información sobre el contenido.
Estas son las diapositivas sobre el margen dinámico de los amplificadores, que algún profesor no quiso poner en su web:
margen.zip [25/01/04].
© Himar Alonso