viernes, 7 de diciembre de 2012

Proceso de Descarga en CPLD XC9572


En esta entrada vamos a explicar cómo descargar la programación en nuestro CPLD.

Hardware
En primer lugar vamos a analizar desde el punto de vista Hardware nuestro CPLD y los dispositivos que vamos a emplear así como su conexionado.

TAD XC9572

La tarjeta de aplicación didáctica TAD XC9572 es una tarjeta para el estudio de los CPLD’s en este caso el modelo XC9572, desarrollada por la empresa ABRA Telecom S.L.
La tarjeta está compuesta por  un LCD de 2x16, el CPLD XC9572,  4 bloques de función ( 2 display BCD 7 seg,un teclado matricial de 4x4, cuatro circuitos antirrebote, y una barra de 10 leds)
También cuenta con un oscilador externo a cristal con 25 frecuencias de trabajo.
Estos son los componentes principales que forman la tarjeta, pero ademas cuenta con mas elementos, como el conector atx de alimentación, pulsador GSR, interruptor de arranque, interruptor de selección...
Se puede observar en la siguiente imagen, el diagrama de bloques que representa la estructura interna de la tarjeta.


En la siguiente imagen  se muestra la arquitectura de la placa en función de los elementos integrados.




Platform Cable Usb(Jtag)


Para realizar la comunicación de nuestro Pc con la tarjeta, utilizamos este dispositivo que es un elemento desarrollado por Xilinx,el cual nos permite realizar la depuración y descarga del programa a la tarjeta utilizando Boundary-Scan(Jtag) .
Este dispositivo se conecta vía Usb a nuestro Pc, y mediante unos conectores del mismo a los Header de la TAD.


Una vez conectados nos quedará de la siguiente forma.


El siguiente paso será conectar la fuente ATX al conector de alimentación, pues para realizar la descarga del programa, necesitamos tener una tensión de 5v en la placa.


Explicados los componentes y realizadas estas conexiones, nos quedaría nuestro esquemático de conexiones de la siguiente forma.





Software
Una vez que hemos analizado la tarjeta con la que vamos a trabajar, vamos a pasar a desarrollar el objetivo de esta entrada, que es la programación de nuestro CPLD.
El software empleado para la descarga es Impact la versión 10.1, debo añadir, que utilizo Windows 7 de 32 bits, ya que algunas personas tienen incompatibilidad para realizar la comunicación cuando el SO es de 64 bits.

En primer lugar estableceremos la tarjeta en modo configuración moviendo el pulsador en la posición configurar, como se puede observar. 

En la posición configurar, estamos alimentando con 5 voltios el cable de descarga, en cambio, en modo ejecutar, estamos suministrando Vcc (+5 voltios) a todos los dispositivos de la tarjeta.


A continuación, encenderemos el conector que alimenta la placa mediante la fuente ATX.


Ahora abriremos Impact y nos aparecerá el siguiente cuadro, donde seleccionamos créate “New Project” y hacemos click en Ok.


Ahora tenemos  que seleccionar la configuración del dispositivo, escogiendo la opción usando Boundary-Scan(Jtag) y pulsamos Ok de nuevo.


Si todo ha salido correctamente y se ha establecido la comunicación nos quedará la ventana de Impact de la siguiente forma y nos aparecerá una pequeña ventana donde seleccionaremos el archivo de configuración que queremos descargar *.jed, que ya habíamos creado con Xilinx anteriormente.


El siguiente paso lo dejamos por defecto.




En la ventana de procesos (abajo a la izquierda), nos aparecen todas las opciones que tenemos disponibles. Programar, verificar, borrar, función de prueba, chequeo vacío, y obtener datos del dispositivo.



Entonces vamos a dividir el proceso en las siguientes partes:
  1. Borrado
  2. Programación
  3. Verificación
Simplemente hacemos un doble click en Erase, y si todo ha salido correctamente, este es el resultado. Importante que la placa este en modo configurar en los 3 procesos, ya que si no nos va a dar error.


Repetimos la misma operación con la programación, para que se efectúe la descarga al CPLD.

Por último realizamos la verificación en la opción “verify”.


Si todas las operaciones han sido exitosas, ya tenemos programada nuestra tarjeta, ahora cambiaríamos el interruptor de control a la posición EJECUTAR, y ya podemos realizar el conexionado de las I/O que sean necesarias en función de nuestro programa, lógicamente tenemos que hacerlo en función de cómo hayamos establecido las restricciones en PACE.


No hay comentarios:

Publicar un comentario