Si estás interesado te recomiendo que empieces por la primera entrada.
http://ecalamartronico.blogspot.com.es/2016/08/introduccion-al-kit-open3s250e-1_30.html
En el siguiente enlace el lector podrá ver que ahí se hace una breve descripción del hardware, en dicha descripción se incluyen los periféricos que vienen en los kits más completos.
http://www.waveshare.com/open3s250e-standard.htm
Dentro de esta página, también se describe el núcleo principal de
todo el kit que es la placa Core3S250E (dónde se encuentra la FPGA de XILINX
de tipo Spartan-3E).
En la mencionada página - la que se abre al hacer clic en el último enlace de este post, el de waveshare -, encontramos los componentes principales
de dicha tarjeta Core3S250E en dos figuras como las que muestro a continuación.
Si ha ojeado la pagina, verá que justo debajo de las figuras hay una lista.
En esa lista se da nombre a esos componentes -enumerados en las figuras-, y da sus características más importantes (la capacidad en Megabytes de la memoria flash, la velocidad del reloj... etc) :
Entre los distintos componentes encontramos –numerado como
5- el siguiente:
5- XCF02S, onboard FLASH-memory, for storing code.
5- XCF02S, onboard FLASH-memory, for storing code.
Es la memoria flash del sistema. Recordemos que las memorias flash (al igual que las ROM, EPROM o EEPROM), son memorias no-volatiles, es decir, su contenido se mantiene inalterado incluso aunque el sistema deje de alimentarse de corriente eléctrica (en las memorias volátiles, en esos casos se pierde el contenido).
Como las memorias flash son reprogramables, podemos usar un mismo dispositivo con dicha memoria no volátil (como puede ser un micro-controlador o una FPGA), un número grande de veces para programarlo y/o depurar el contenido, con todas las ventajas que esto conlleva.
En este apartado vamos a hacer uso de la memoria flash mediante el ISE iMPACT.
Además por si alguien está interesado en estudiar un poco más a fondo está tarjeta Core3S250E desde el punto de vista del esquema electrónico, dejo el siguiente enlace (también en inglés).
http://www.waveshare.com/wiki/Open3S250E
Para tratar con la memoria flash volvemos a la interfaz gráfica del iMPACT:
Hacemos clic en “Create Prom File (to Launch Mode)”:
Como las memorias flash son reprogramables, podemos usar un mismo dispositivo con dicha memoria no volátil (como puede ser un micro-controlador o una FPGA), un número grande de veces para programarlo y/o depurar el contenido, con todas las ventajas que esto conlleva.
En este apartado vamos a hacer uso de la memoria flash mediante el ISE iMPACT.
Además por si alguien está interesado en estudiar un poco más a fondo está tarjeta Core3S250E desde el punto de vista del esquema electrónico, dejo el siguiente enlace (también en inglés).
http://www.waveshare.com/wiki/Open3S250E
Para tratar con la memoria flash volvemos a la interfaz gráfica del iMPACT:
Hacemos clic en “Create Prom File (to Launch Mode)”:
Se lanza la
siguiente ventana donde hacemos clic donde señalo:
Abrimos el
desplegable del campo Storage Device Bits, y ahí seleccionamos “xcf02s” que es
la memoria flash de la placa Core3S250E.
Activamos la
casilla Auto Select PROM.
Tras ello hacemos
clic en la siguiente flecha vertical verde que nos llevará al “Step 3”:
Hacemos clic en
el icono con forma de carpeta:
Navegamos hasta
situarnos en la carpeta LED_blog dónde estamos trabajando,
Es decir al path:
C:\Users\Nombre_usuario\Desktop\Proyectos XILINX del
blog\LED_blog
Ahora clic en ok
y rellenamos el campo “Output File Name”, dando le el nombre que queramos,
conviene darle un nombre ilustrativo porque lo usaremos más adelante, yo le he
llamado “flash_LEDA_blog”:
Clic en Ok.
Tenemos lo siguiente dónde haremos clic en OK en el cuadro de diálogo
emergente:
Obteniendo un
nuevo cuadro de diálogo dónde seleccionamos el archivo leda_blog.bit y hacemos
clic en open:
En la siguiente
ventana que nos aparece clic en NO:
Ahora clic en OK
en la siguiente (aun tenemos otra ventana más que sólo nos da información). Nos
queda lo que se muestra en la figura siguiente dónde haremos clic en la
operación “Generate File...”.
Teniendo:
Hacemos clic
derecho en el icono nombrado como xc17v01 (el de la PROM), aparece un mensaje
con el titulo “Edit PROM” que a su vez nos da dos opciones: Modify PROM... y
Delete PROM. Seleccionamos Modify PROM...
Con esto tenemos:
Veamos que
hacemos con la ventana emergente “Add XILINX PROM”
Clic en OK y
tenemos:
Se puede observar
que la nueva PROM es una xcf02s que es exactamente la nuestra. Ahora volvemos
ha hacer clic en Generate File:
Con esto ya hemos
generado el archivo para la memoria PROM.
Volvemos haciendo
clic en su icono a la izquierda en la ventana iMPACT Flows en Boundary Scan y
hacemos clic derecho el icono del xcf02s, al hacer esto sale una lista de
opciones de la cual seleccionamos “Assign New Configuration File...”.
Se lanza una
nueva ventana emergente dónde seleccionamos el archivo flash_LEDA_blog.mcs.
Clic en Open.
Con el icono de
la memoria flash seleccionado (en color verde) hacemos clic de nuevo en
Program.
Si pulsamos el
botón nCONFIG del hardware, ahora vemos que el programa si se reinicia, esto es
porque es esta ocasión si hemos programado la memoria flash y la información si
se conserva.
Si deseas borrar
la memoria flash bastaría con darle al icono correspondiente a Erase en el área
de iMPACT Process,
Luego verás que los LEDs se apagan, y si quieres
puedes volver a programar la memoria flash o sólo la RAM de la FPGA, para
comprobar como en un caso se pierde la información tras una apagado de la
alimentación, y en otro caso no.
En resumen:
- El pulsador RESET, solo reinicia el chip FPGA
manteniendo lo que hay en su memoria RAM.
- El pulsador nCONFIG, reinicia la tarjeta
Core3S250E completa manteniendo lo que hay en la memoria flash de la tarjeta
(si está vacía el resultado es que no se ejecuta ningún programa).
Aquí introduzco un clip de demostración:
Aquí introduzco un clip de demostración:
Thats all folks!! (por el momento)
0 comentarios: