PROYECTO CURSO 2008-2009: El bus serie microWire
El objetivo del proyecto para este curso es conocer y manejar un protocolo de comunicaciones muy utilizado por dispositivos electrónicos, denominado microWire.Diseñado por National Semiconductor, es un modo de conexionado tipo serie que consta de tres líneas que se comunican de forma síncrona (es decir, los datos se reciben y se envían sincronizados con una señal de reloj) y es bidireccional (envío y recepción). Su uso es la conexión entre microchips, periféricos, memorias EEPROM u otro tipo de circuitos integrados que requieran una intercomunicación digital.
Consta de tres señales:
- SI (Entrada de datos serie).
- SO (Salida de datos serie).
- SK (Señal de reloj, CLK).
SI y SO transportan paquetes de datos de 8 bits sincronizados por su señal de reloj, CLK.
Para el uso del protocolo microWire se dispone de una memoria EEPROM serie, conectada al PC a través del puerto paralelo. Este memoria es del tipo 93LC66C, de Microchip. Es una memoria EEPROM de 4Kbits, organizados como 512x8 bits ó 256x16 bits, con acceso serie tipo microWire.
Para el desarrollo del proyecto se propone la realización de un editor de memorias EEPROM, conectadas al PC a través del puerto paralelo según un esquema que se detallará más adelante.
El acceso a la memoria se realizará a través de un driver, programa residente que por un lado atiende las peticiones de la aplicación y por otro genera las señales necesarias para leer la memoria, que estará conectada al puerto paralelo. Se recomienda leer con especial atención las páginas de la hoja de datos de la memoria, donde se describe la forma de acceso, tanto para lectura como para escritura, de la memoria.
PC
Para definir el contenido de la memoria se utilizará el formato binario (como opción avanzada se puede utilizar también el formato s19). Estos formatos determinan el contenido de cada posición de memoria, el formato binario como copia exacta de cada posición de memoria y el formato s19 en un formato de texto, más sencillo de editar.
Práctica 1
Descripción:
El alumno realiza un programa complejo en ensamblador, dividido en varias librerías. Este programa será un editor de memoria, que no sólo permitirá editar un fichero en memoria sino que permitirá tanto leer como escribir dichos datos en una EEPROM conectada por el puerto paralelo. Para la primera práctica. este programa accederá a un simulador, proporcionado y documentado por nosotros, que se comportará como una memoria microWire conectada al puerto paralelo. Sin dicha memoria, el programa no podrá funcionar.(Pulsar para ver más grande)
Objetivos:
- Realizar un primer programa COMPLEJO en ensamblador
- Aprender el uso de librerías
- Acceso a servicios propios
- Uso del teclado
- Creación de ficheros Makefiles (PERO MAKEFILES DE VERDAD)
Elementos que se le proporcionan al alumno
- Creación de librerías
- Formato de ficheros binarios
- Edición de Makefiles y ejemplos
- Simulador que se comporta como una memoria microWire (con documentación). El simulador leerá un fichero binario que representará el contenido de la memoria. Este fichero deberá proporcionarlo el alumno, cada uno con el contenido de memoria correspondiente.
- Librería grafica de uso opcional
Elementos que entrega el alumno
Ficheros fuente (.asm), contenido de la memoria (fichero binario) y Makefile
Práctica 2
Descripción:
El alumno dispondrá de una placa hardware conectada al puerto paralelo y diseñará un driver de acceso a dicha placa. El driver debe de poder interactuar con el programa de la práctica 1. El diseño hardware se podrá adquirir de dos formas. Bien se lo construye el alumno (se le proporcional a documentación completa, publicada en la práctica 2), o bien lo puede tomar prestado de la Escuela, quedándoselo hasta que finalice el curso, devolviéndolo al final.
Objetivos:
- Creación de ficheros .com
- Instalación/Desinstalación de interrupciones
- Uso del puerto paralelo- Formato de ficheros binarios
- Uso del RTC (Real Time Clock o Reloj de Tiempo Real)
Elementos que se le proporcionan al alumno
- Creación de ficheros .COM
- Documentación del Puerto Paralelo
- Documentación del RTC
- Planos de la placa, tanto eléctricos como del Circuito Impreso, así como lista de componentes.
- Aplicación software que programa la EEPROM a partir de un fichero binario que se le proporcione.
Elementos que entrega el alumno
Ficheros fuente (.asm) y Makefile de la Práctica 1 (Pueden haber cambiado)
Ficheros fuente (.asm) y Makefile del driver
Pequeña memoria explicando cómo ha diseñado el acceso a la memoria.
Fichero binario del contenido que ha de tener la EEPROM
Práctica 3
Descripción:
El alumno diseñará un programa en C que escribe/lee EEPROMs a través de su driver. Programador de memorias EEPROM microWire.
Objetivos:
- Interacción C/ASM
- USO DEL DEBUGGER
Elementos que se le proporcionan al alumno
Documentación del interfaz entre C y ASM
Elementos que entrega el alumno
Ficheros fuentes (.c y .asm) que escribe/lee EEPROMs
Memoria detallando cómo lo ha hecho
Driver: Un driver es un programa (generalmente residente) que accede directamente a ciertos recursos, ofreciendo la interfaz entre estos y el programa de usuario. La ventaja en el uso de drivers es que independiza el funcionamiento del programa de usuario de los recursos que se utilicen. Cobra una mayor importancia cuando los recursos son hardware que se conecta al PC, ya que si el circuito cambia (por ejemplo se actualiza una tarjeta), basta con actualizar también el driver y todos los programas que lo utilizaran seguirán funcionando (siempre que el driver siga cumpliendo con la interfaz anterior, lógicamente). Suponer lo que sería diseñar un programa diferente para cada tarjeta gráfica que hay en el mercado. Lo que se hace es definir una interfaz común para todos y cada fabricante, al diseñar el driver de su tarjeta, se ocupará de cumplir con esos requerimientos, mientras el acceso a su tarjeta puede cambiar en cualquier momento para obtener el máximo rendimiento. En nuestra aplicación, el driver es el que realmente va a acceder a la memoria, gestionando la lectura y escritura de los datos, la temporización, etc.
Bibliografía recomendada para este proyecto.
Además de la bibliografía recomendada para la asignatura, se incluyen unas referencias que describen el funcionamiento del puerto paralelo: