Sie sind auf Seite 1von 56

CONTENIDO

CAPITULO 1 Paquete DEO.………………………………………………………....................................1


Contenido del paquete ………………………………………………….........................................1
El conjunto de la tarjeta DE0..…………………………………………........................................2
Obteniendo ayuda ………………………………………………………...........................................2
CAPITULO 2 Tarjeta DE0 Altera……………………………………………………………………..………………4
2.1 Diseño y componentes………………………………………………………………………………4
2.2 Diagrama de bloques de la tarjeta DE0……………………………………………………..5
2.3 Encender la tarjeta DE0…………………………………………………………………………….8
CAPITULO 3 Panel de control DE0……………………………………………………………………………….10
3.1 Configuración del panel de control…………………………………………………………..10
3.2 Controlando los LED’s y el display de 7 segmentos…………………………………..12
3.3 Interruptores y botones………………………………………………………………………………………14
3.4 SDRAM y controlador Flash y programador………………………………………………………..15
3.5 Dispositivo PS2……………………………………………………………………………………………………16
3.6 tarjeta SD……………………………………………………………………………………………………………17
3.7 VGA…………………………………………………………………………………………………………………….18
CAPITULO 4 Usando la tarjeta DE0.………………………………………………………………………………………….20
4.1 Configurando el Cyclone III FPGA……………………………………………………………………….20
4.2 Usando los LED’s e interruptores……………………………………………………………………….23
4.3 Usando el display de 7 segmentos……………………………………………………………………..26
4.4 Circuitos de reloj………………………………………………………………………………………………..28
4.5 Usando el modulo LCD……………………………………………………………………………………….29
4.6 Usando la cabecera de expansión………………………………………………………………………31
4.7 Usando el VGA…………………………………………………………………………………………………...34
4.8 RS-232 Puerto serial…………………………………………………………………………………………..37
4.9 PS/2 Puerto serial………………………………………………………………………………………………38
4.10 Conector de tarjeta SD……………………………………………………………………………………….39
4.11 Usando SDRAM y Flash……………………………………………………………………………………...39
CAPITULO 5 Ejemplos de demostraciones avanzadas……………………………………………………………….44
5.1 Configuración de fábrica de la DE0…………………………………………………………………….44
5.2 Tarjeta SD…………………………………………………………………………………………………………..45
5.3 VGA Demostración de patrones de color……………………………………………………………49
CAPITULO 6 Apéndice………………………………………………………………………………………………………………53
6.1 Revisión histórica……………………………………………………………………………………………….53
6.2 Declaración de derechos de autor………………………………………………………………………53
Capítulo 1
Paquete DE0
El Paquete DE0 contiene todos los componentes necesarios para usar la tarjeta DE0 en
conjunto con una computadora que tenga el sistema operativo Microsoft Windows.

1.1 Contenidos del paquete


Figura 1-1 Muestra una fotografía del paquete DE0.

Figura 1-1 Contenido del paquete DE0


El paquete DE0 incluye:

 La tarjeta DE0
 Cable USB para programar y controlar el FPGA
 El CD del sistema DE0 contiene:
o Altera’s Quartus® II Web Edition adn the Nios® II
Embedded Design Suit Evaluation Edition software
o La documentación de DE0 y materiales de apoyo, incluyendo
el manual de usuario, la utilidad del panel de control,
referencia de diseños y demostraciones, datasheets de
dispositivos, tutoriales, y un conjunto de ejercicios de
laboratorio
 Cubierta de plástico transparente que cubre la tarjeta
 Fuente de alimentación de pared 7.5 DC

1.2 El conjunto de la tarjeta DE0


Para montar los soportes incluidos para la tarjeta CE0:
 Monte una cubierta de goma (silicón), como se muestra en la Figura 1-2,
para cada uno de los cuatro soportes de cobre en la tarjeta DE0
 La cobertura de plástico transparente provee protección extra, y se monta
sobre la parte superior de la tarjeta utilizando soportes y tornillos
adicionales

Figura 1-2 Los pies para la tarjeta DE0.


 Obteniendo ayuda
Aquí están las direcciones donde puedes conseguir ayuda si
encuentras problemas:
 Altera Corporation
101 Innovation Drive
San Jose, California, 95134 USA
Email: university@altera.com

 Terasic Technologies
No. 356, Sec. 1, Fusing E. Rd.
Jhubei City, HsinChu Country, Taiwan, 302
Email: support@terasic.com
Web: DE0.terasic.com
Capítulo 2
Tarjeta Altera DE0
Este capítulo presenta las características y la característica de diseño de la tarjeta DE0.

2.1 Diseño y componentes


En la Figura2-1 se muestra una fotografía de la tarjeta DE0. Representa el diseño de la
tarjeta e indica la localización de los conectadores y de los componentes clave

Figura 2-1 La tarjeta DE0

LA tarjeta DE0 tiene muchas características que permiten al usuario implementar una amplia gama
de circuitos diseñados, de simples circuitos a varios proyectos multimedia.

El siguiente hardware es proporcionado en la placa DE0:

 ®
Dispositivo FPGA Altera Cyclone III 3C16
 Dispositivo de configuración serial Altera-EPCS4
 Blaster USB (en la tarjeta) para programas y el control API de usuario; tanto
JTAG como Active Serial (AS) modos de programación son soportados.
 8-Mbyte SDRAM
 4-Mbyte Memoria Flash
 Conector de tarjeta SD
 3 interruptores pushbutton
 10 interruptores de palanca
 10 leds de usuario verdes
 Oscilador de 50-MHz para fuentes de reloj
 VGA DAC (red de resistencias de 4-bits) con conector VGA
 Transceptor RS-232
 Conector de ratón /teclado PS/2
 Dos cabezales de expansión de 40 pines

2.2 Diagrama de bloque de la tarjeta DE0

Figura 2-2 muestra el diagrama de bloques de la tarjeta DE0. Para proveer máxima
flexibilidad para el usuario, todas las conexiones están hechas a través del dispositivo
FPGA Cyclone IIII. Así, el usuario puede configurar el FPGA para implementar cualquier
diseño de sistema.
Figura 2-2 Diagrama de bloque de la tarjeta DE0

Lo siguiente es información más detallada acerca de los bloques en la Figura 2-2:

FPGA Cyclone IIII 3C16

 15,408 Les
 56 M9K Bloques de memoria incorporados
 504K bits de RAM totales
 56 multiplicadores incrustados
 4 PLLs
 346 pines de E/S del usuario
 FineLine BGA paquete de 484 pastillas

Circuito Blaster de USB incorporado

 USB Blaster incorporado para programación y API de usuario ( Interfaz de programación


de aplicaciones) para control
 Uso de Altera EPM240 CPLD

SDRAM

 Una memoria RAM dinámica síncrona de 8-Mbyte de velocidad de datos única


 Soporta bus de datos de 16 bits

Memoria Flash

 Memoria Flash NOR de 4-Mbyte


 Modo de Byte de soporte (8bits)/ Palabra (16 bits)

Conector de tarjeta SD

 Proporciona acceso SPI y SD de 1 bit mod SD Card

Interruptores Pushbutton

 3 interruptores pushbutton
 Normalmente alto; Genera un pulso de baja activa cuando se pulsa el interruptor

Interruptores deslizantes

 10 interruptores deslizantes
 Un interruptor ocasiona un 0 lógico cuando el interruptor esta abajo y un 1 lógico cuando
está arriba

Interfaces generales de usuario

 10 LED’s color verde (activos en alto)


 4 displays de 7 segmentos (activos en bajo)
 Interfaz LCD de 16X2 (No incluye el modulo LCD)

Entradas de reloj

 Oscilador 50-MHz

Salida VGA

 Utiliza una red de resistencias de 4-bits


 Con conector D-sub de alta densidad de 15 patillas
 Admite hasta 1280x1024 a una frecuencia de actualización de 60 Hz

Puertos seriales

 Un puerto RS-232 (sin conector serial DB-9)


 Un puerto PS/2 (puede utilizara través de un cable PS/2 y para permitirle conectar un
teclado y ratón a un puerto)
Dos cabezales de expansión de 40 pines

 72 clavijas Cyclone III de E / S, así como 8 líneas de alimentación y de tierra, se


llevan a dos bornes de 40 pines conectores de expansión

 El encabezado de 40 pines está diseñado para aceptar un cable plano estándar de


40 pines utilizado para discos duros IDE

2.3 Encienda la tarjeta DE0


La tarjeta DE0 viene con una configuración precargada de flujo de bits para demostrar algunas
características de la tarjeta. Este flujo de bits también permite a los usuarios ver rápidamente si la
tarjeta está trabajando apropiadamente. Para encender la tarjeta realice los siguientes pasos:

1. Conecte el cable USB suministrado desde la computadora al conector USB Blaster


de la tarjeta DE0. Para que haya comunicación entre el host y la tarjeta DE0, esto
es necesario para instalar el programa manejador Altera USB Blaster. Si este
manejador no está correctamente instalado en la computadora, este puede ser
instalado como se explica en el tutorial “Getting Started with Altera’s DE0 Board”.
Este tutorial está disponible en el directorio DE0/DE0_user_manual en el CD-ROM
del sistema DE0.
2. Conecte el adaptador de 7.5V a la tarjeta DE0
3. Conecte un monitos VGA a el puerto VGA en la tarjeta DE0
4. Gire el interruptor RUN / PROG en el borde izquierdo de la tarjeta DE0 a la
posición RUN; La posición PROG se utiliza sólo para la programación del modo AS
5. Encienda la alimentación pulsando el interruptor ON / OFF de la tarjeta DE0

En este punto deberás observar lo siguiente:


 Todos los LED’s de usuario están destellando
 Todos los displays de 7 segmentos están ciclando a través de los números del 0 a
la F
 El monitor VGA mostrara la imagen que se muestra en la Figura 2-3.
Figura 2-3 El patrón de salida VGA predeterminado
Capítulo 3

DE0 Panel de Control


La tarjeta DE0 viene con un panel de control que permite a los usuarios acceder a los diferentes
componentes de la tarjeta desde la computadora. La computadora se comunica con la tarjeta a
través de una conexión USB. El panel de control puede ser usado para verificar la funcionalidad de
los componentes en la tarjeta o puede ser usada como una herramienta de depuración mientras
se desarrolla código RTL.

Este capítulo presenta primero algunas funciones básicas del panel de control, luego describe su
estructura en diagrama de bloques, y finalmente describe sus capacidades.

3.1 Configuración del panel de control

El panel de control está ubicado en la carpeta “DE0_Control_panel” en el CD-ROM del sistema


DE0. Para instalarlo, solo copie todo el folder a su computadora.

Para activar el panel de control, realice los siguientes pasos:


1. Asegúrese que Quartus II y el manejador USB-Blaster están instalados
correctamente en su computadora.
2. Conecte el cable USB al puerto USB Blaster, conecte la alimentación de poder de
7.5V, y gire el interruptor de encendido en ON.
3. Coloque el interruptor RUN/PROG en la posición de RUN.
4. Ejecute el programa DE0_ControlPanel.exe en la computadora. Aparecerá la
interfaz del usuario del panel de control mostrada en la Figura 3-1.

Cuando la ventana del panel de control aparezca, esta descargara automáticamente el archivo
de flujo de bits .sof dentro de la FPGA. Si se muestra algún mensaje de error como el que se
muestra en la Figura 3-2, por favor revisa que los pasos 1 a 3 hayan sido realizados. A
continuación, haga clic en el botón Descargar código para volver a programar FPGA.Nota, el
panel de control ocupara el puerto USB hasta que tu cierres el puerto, no puedes usar Quartus II
para descargar un archivo de configuración dentro de la FPGA hasta que cierre el puerto USB.
5. El panel de control ahora está listo para ser usado; Experimente ajustando el valor
de visualización de los LED’s y observe el resultado en la tarjeta DE0.
Figura 3-1. El panel de control DE0.

Figura 3-2. El mensaje de error del panel de control DE0.

El concepto del panel de control DE0 está ilustrado en la Figura 3-3. El “código control” que hace la
función de controlar esta implementado en la tarjeta FPGA. Este se comunica con la ventana del
panel de control. El cual está activo en la computadora host, a través del enlace Blaster USB. La
interfaz gráfica se utiliza para emitir comandos al código de control. Se encarga de todas las
solicitudes y realiza transferencias de datos entre el ordenador y la tarjeta DE0.
Figura 3-3. Concepto del panel de control DE0.

El panel de control DE0 puede ser usado para prender los LED’s, cambiar el valor del display de 7
segmentos, monitorear los estados de los botones/ interruptores, leer/escribir en la SDRAM y en
la memoria Flash, leer datos de un teclado PS/2, realizar patrones de colores de salida en el
monitor LCD a través de la conexión VGA, y leer información específica de las tarjetas SD. LA
característica de leer/escribir una palabra o un archivo entero desde/en la memoria Flash permite
a los usuarios desarrollar aplicaciones multimedia (visor de imágenes flash) sin la preocupación de
cómo construir un programador de memoria.

3.2 Controlando los LED’s y el display de 7


segmentos

Una función simple del panel de control es la de permitir establecer los valores mostrados en los
LED’s y los display de 7 segmentos.

Elija la pestaña LED mostrada en la ventana en la Figura 3-4. Aquí, puedes activar o desactivar los
LEDs individualmente seleccionándolos o haciendo clic en “Encender todo (Light All)” o en
“Apagar todo (Unlight All)”.
Figura 3-4. Controlando LEDs.

Elija la pestaña 7-SEG en la ventana mostrada en la Figura 3-5. En la hoja de la pestaña,


directamente use el control Up-Down y el check box Dot para especificar el patrón deseado, el
display de 7 segmentos en la tarjeta se actualizara inmediatamente.

Figura 3-5. Controlando display de 7 segmentos.


La capacidad de establecer valores arbitrarios en dispositivos de visualización sencillos no es
necesaria en las actividades típicas de diseño. Sin embargo, esto proporciona al usuario un
mecanismo simple para verificar que esos dispositivos están funcionando correctamente en caso
de que se sospeche de un mal funcionamiento. Así, esto puede utilizarse para propósitos de
resolución de problemas.

3.3 Interruptores y Botones


Eligiendo la pestaña de Button conduce a las ventanas de la Figura 3-6. La función está diseñada
para supervisar el estado de los interruptores y botones en tiempo real y mostrar el estado en una
interfaz gráfica de usuario. Esto se puede utilizar para verificar la funcionalidad de los
interruptores y botones.

Presiona el botón Start para iniciar el proceso de monitorear el estado de los


bonotes/interruptores, y el botón de Start cambiara a Stop. En el proceso de monitoreo, el estado
de los botones e interruptores en la tarjeta se muestra en la ventana de GUI y se actualiza en
tiempo real. Presiona Stop para terminar el proceso de monitoreo.

Figura 3-6. Monitoreo de interruptores y botones.

La habilidad para checar el estatus de un botón y un interruptor no es necesaria en las actividades


típicas de diseño. Sin embargo, esto provee a los usuarios un mecanismo simple para verificar si
los botones y los interruptores están funcionando correctamente. Así, puede usarse para
propósitos de resolución de problemas.
3.4 SDRAM , controlador Flash y Programador.
El panel de control puede usarse para escribir/leer datos en/desde los chips SDRAM y FLASH que
están en la tarjeta DEO. Click en la pestaña Memory y selecciona “SDRAM” para movernos a la
ventana mostrada en la Figura 3-7. Por favor recuerde borrar la memoria flash antes de escribir
datos en ella.

Figura 3-7. Accesando a la SDRAM

Una palabra de 16-bits puede escribirse en la SDRAM introduciendo la dirección de la ubicación


deseada, especificando el dato a ser escrito, y presionando el botón Write. Los contenidos de la
locación pueden ser leídos presionando el botón Read. La Figura 3-7 representa el resultado de
escribir el valor hexadecimal 7eff en la locación 000000, seguido por la lectura de la misma
locación.

La función de la escritura secuencial del panel de control es usada para escribir el contenido de un
archivo en la SDRAM como sigue:
1. Especificar la dirección de comienzo en el espacio Address.
2. Especifica el numero de byte para ser escritos en el espacio Length. Si el archivo entero se
va a cargar, entonces se puede colocar una marca de verificación en el File Length en lugar
de dar el número de bytes.
3. Para iniciar la escritura de los datos, click en el botón Write a File to Memory.
4. Cuando el panel de control responda con la ventana estándar de dialogo solicitando el
archivo fuente, especifique el archivo deseado de la manera habitual.
El panel de control también admite la carga de archivos con extensión .hex. Los archivos con una
extensión .hex son archivos de texto ASCII que especifican valores de memoria utilizando
caracteres ASCII para representar valores hexadecimales. Por ejemplo, un archivo con la línea
0123456789ABCDEF
Define 4 calores de 8-bits: 01, 23, 45, 67, 89, AB, CD, EF. Esos valores serán cargados
consecutivamente en la memoria.

La función de lectura secuencial es usada para leer el contenido de la SDRAM y colocarlos en un


archivo en la memoria como sigue:
1. Especifica la dirección de inicio en el espacio Address.
2. Especifica el número de bytes que van a copiarse dentro del archivo en el espacio
Length. Si el contenido entero de la SDRAM será copiado (el cual incluye todos los 8
Mbytes), entonces coloca una marca de verificación en el checkbox Entire Memory.
3. Presiona el botón Load Memory Contents to a File.
4. Cuando el panel de control responda con la ventana estándar de dialogo solicitando por
el archive destino, especifica el archive deseado de la manera habitual.

Los usuarios pueden usar una manera similar para acceder a la memoria FLAS. Por favor recuerde
que los usuarios necesitan borrar la memoria flash antes de escribir en ella.

3.5 Dispositivo PS2.


El panel de control provee a los usuarios herramientas para recibir las entradas desde un teclado
PS2 en tiempo real. Los códigos de exploración recibidos se traducen a código ASCII y se visualizan
en la ventana de control. Sólo se muestran los códigos ASCII visibles. Para la tecla de control, sólo
se aplica la tecla "Retorno de carro / ENTRAR". Esta función puede ser usada para verificar la
funcionalidad de la interfaz PS2. Por favor siga los pasos de abajo como ejercicio del dispositivo
PS2.

1. Al seleccionar la pestaña PS2 se accede a la ventana de la Figura 3-8.


2. Enchufe un teclado PS2 a la tarjeta FPGA. Entonces,
3. Presione el botón Start para comenzar el proceso de recibir las entradas del teclado PS2;
el botn Start cambiara a Stop.
4. En el proceso de recibimiento, los usuarios pueden comenzar a presionar el teclado
adjunto. Los datos de entrada se mostraran en la ventana de control en tiempo real. Pulse
Stop para finalizar la supervisión del proceso.
Figura 3-8. Leyendo el teclado PS2.

3.6 Tarjeta SD
La función esta diseñada para leer la identificación y especificación de la tarjeta SD. El SD MODE de
1 bit se utiliza para acceder a la tarjeta SD. Esta función puede usarse para verificar la
funcionalidad de la interfaz SD-CARD. Siga los pasos de abajo como ejercicio de SD card.

1. Al elegir la pestaña SD-CARD se accede a la ventana de la Figura 3-9.


2. Inserte una tarjeta SD en la tarjeta SD, entonces presione el botón Read para leer la
tarjeta SD. La identificación y especificación de la tarjeta SD se mostrara en la ventana
de control.
Figura 3-9. Leyendo la identificación y especificación de la tarjeta SD.

3.7 VGA
El panel de control DE0 proporciona la función de patrón VGA que permite a los usuarios emitir el
patrón de color al monitor LCD / CRT usando la tarjeta DE0 FPGA. Por favor siga los paso s de abajo
para generar la función de patrón VGA.

1. Eligiendo la pestaña de VGA nos mostrara la ventana en la Figura 3-10.


2. Enchufe un cable D-sub al conector VGA de la tarjeta DE0 y al monitor LCD/CRT.
3. El monitor LCD/CRT mostrara el mismo patrón de color que en la ventana del panel de
control.
4. Haga clic en el menú desplegable que se muestra en la Figura 3-10 donde puede
imprimir el color seleccionado de forma individual.
Figura 3-10. Controlando la visualización VGA.
Capítulo 4

Usando la tarjeta DE0


Este capítulo da instrucciones de uso de la tarjeta DE0 y describe cada uno de estos dispositivos
de entrada/salida.

4.1 Configurando el Cyclone III FPGA


El procedimiento para descargar un circuito desde una computadora host a la tarjeta DE0 se
describe en el tutorial “Getting Started with Altera’s DE0 Board”, Este tutorial se encuentra en el
folder manual de usuario (user_manual) en el DE0 System CD-ROM. El usuario es alentado para
leer este tutorial primero, y a tratar la información de abajo como una pequeña referencia.

La tarjeta DE0 contiene un chip EEPROM serie que almacena los datos de configuración para la
FPGA Cyclone III. Estos datos de configuración se cargan automáticamente desde el chip EEPROM
en el FPGA, cada vez que se aplica potencia a la tarjeta. Utilizando el software Quartus II, es
posible reprogramar el FPGA en cualquier momento, y también es posible cambiar los datos no
volátiles que se almacenan en el Chip EEPROM. Ambos tipos de métodos de programación se
describen a continuación.
1. Programación de JTAG: En este método de programación, nombrado después de las
normas IEEE Joint Test Action Group, el tren de bits de configuración se descarga
directamente en el Cyclone III FPGA. El FPGA conservará esta configuración siempre
que se aplique potencia a la placa; La configuración se pierde cuando se desconecta la
alimentación.
2. AS: En este método, denominado programación en serie activa, se descarga la
corriente de bits de configuración en el chip EEPROM serie EPCS4 de Altera.
Proporciona un almacenamiento no volátil de la corriente de bits, de modo que la
información se conserva incluso cuando la alimentación de la tarjeta DE0 está
desactivada. Cuando se enciende la tarjeta, los datos de configuración El dispositivo
EPCS4 se carga automáticamente en el FPGA Cyclone III.

Las secciones siguientes describen los pasos utilizados para realizar la programación JTAG y AS.
Para ambos métodos, la tarjeta DE0 está conectada a un ordenador central a través de un cable
USB. Mediante esta conexión, la placa será identificada por el ordenador anfitrión como un
dispositivo Altera USB Blaster. El proceso para Instalar en el equipo host el controlador de
dispositivo de software necesario que se comunica con el USB Blaster se describe en el tutorial
Getting Started with Altera's DE0 Board. Este tutorial está disponible en el CD-ROM del sistema
DE0.
Configurando el FPGA en modo JTAG

La Figura 4-1 ilustra la configuración de la JTAG. Para descargar una secuencia de bits de
configuración en el FPGA Cyclone III, realice el siguiente paso.

 Asegúrese de que la tarjeta DE0 esta energizada.


 Conecte el cable USB suministrado en el puerto USB Blaster de la tarjeta DE0 ( ver
figura 2-1)
 Configure el circuito de programación JTAG ajustando el interruptor RUN / PROG
(ver figura 4-2) en la posición RUN.
 Ahora se puede programar el FPGA utilizando el módulo Programador Quartus II
para seleccionar un archivo de secuencia de bits de configuración con la extensión
de nombre de archivo .sof

Figura 4-1. Esquema de configuración del JTAG

Figura 4-4. El interruptor RUN / PROG está ajustado en modo AS


Configurando la EPCS4 en modo AS

La figura 4-3 ilustra las configuraciones del AS. Para descargar una secuencia de bits de
configuración en el dispositivo EPCS4 serie EEPROM, realice los siguientes pasos:
 Asegúrese de que la tarjeta DE0 esta energizada
 Conecte el cable USB suministrado en el puerto USB Blaster de la tarjeta DE0 (ver
figura 2-1)
 Configure el circuito de programación JTAG ajustando el interruptor RUN / PROG
(ver Figura 4-4) en la posición PROG.
 El chip EPCS4 ahora puede ser programado usando el modulo Quartus II
Programmer para seleccionar un archivo de flujo de bits de configuración con la
extensión de nombre de archivo .prof
 Una vez finalizada la operación de programación, ponga el interruptor RUN /
PROG de nuevo en la posición RUN y luego reinicie la tarjeta apagando y
prendiendo el interruptor de alimentación; Esta acción hace que los nuevos datos
de configuración en el dispositivo EPCS4 se carguen en el chip FPGA.

Figura 4-3. Esquema de configuración AS


Figura 4-4. El interruptor RUN/PROG (SW11) puesto en modo AS

Además de su uso para la programación JTAG y AS, el puerto USB Blaster en la tarjeta DE0 también
se puede utilizar para controlar algunas de las características de la placa de forma remota desde
un ordenador host. Los detalles que describen este método de uso del puerto USB Blaster se
proporcionan en el Capítulo 3.

4.2 Usando los LEDs e Interruptores


La placa DE0 dispone de tres botones. Las tres salidas denominadas BUTTON0, BUTTON 1 y
BUTTON2 están conectadas directamente al Cyclone III FPGA. Cada interruptor proporciona un
nivel lógico alto (3,3 voltios) cuando no se presiona, y proporciona un nivel lógico bajo (0 voltios)
cuando deprimido.

También hay 10 interruptores deslizantes (deslizadores) en el tablero DE0. Estos conmutadores no


se están destinados a ser utilizados como entradas de datos sensibles al nivel a un circuito. Cada
interruptor está conectado directamente a un pin en el Cyclone III FPGA. Cuando un interruptor
está en la posición DOWN (más cercana al borde de la placa), proporciona un nivel lógico bajo (0
voltios) al FPGA, y cuando el interruptor está en la posición UP Proporciona un alto nivel lógico
(3.3 voltios).

Hay 10 LED’s controlables por el usuario en la placa DE0. Cada LED es impulsado directamente por
un pin en el Cyclone III FPGA; La conducción de su pasador asociado a un nivel lógico alto enciende
el LED, y al activar el pin bajo lo apaga. La Figura 4-5 y la Figura 4-7 muestran las conexiones entre
el pulsador, los interruptores deslizantes y el Cyclone III FPGA.
Como se indica en la figura 4-6, cada uno de estos conmutadores se dispara usando un circuito de
disparo de Schmitt. Las Tres salidas denominadas BUTTON0, BUTTON1 y BUTTON2 de los
dispositivos Schmitt Trigger son conectado directamente al Cyclone III FPGA (sólo la versión PCB
10-0100730-A0 contiene Circuito rebotado).

En la Tabla 4.1 se da una lista de los nombres de pin que están conectados a los interruptores de
palanca en el Cyclone III FPGA. Del mismo modo, se muestran los pines utilizados para conectar los
botones interruptores y los LED en la Tabla 4.2 y Tabla 4.3, respectivamente.

Figura 4-5. Conexiones entre los botones y el Cyclone III FPGA

Figura 4-6. Interruptor rebotado.


Figura 4-7. Conexión entre los conmutadores de los interruptores y el Cyclone III FPGA.

Figure 4-8. Conexión entre los LED’s y el Cyclone III FPGA.


Tabla 4.1. Asignaciones de pines para los interruptores deslizantes.

Tabla 4.2 Asignaciones de pines para los botones interruptores.

Tabla 4.3. Asignaciones de pines para los LED’s.


4.3 Usando el display de 7 segmentos

La placa DE0 tiene cuatro pantallas de 7 segmentos. Estas pantallas están dispuestas en dos pares
y un grupo De cuatro, con la intención de mostrar números de varios tamaños. Como se indica en
la figura 4-9, los siete Segmentos están conectados a clavijas en el Cyclone III FPGA. Aplicando un
nivel lógico bajo a un segmento Hace que se ilumine, y la aplicación de un nivel lógico alto lo
apaga.

Cada segmento en una pantalla es identificado por un índice de 0 a 6, con las posiciones dadas en
la Figura 4-10. Además, el punto decimal se identifica como DP. La Tabla 4.4 muestra las
conexiones entre el FPGA en las pantallas de 7 segmentos.

Figura 4-9. Conexiones entre el display de 7 segmentos y la Cyclone III FPGA

Figura 4-10 Posición e índice de cada segmento en un display de 7 segmentos.


Tabla 4.4. Asignaciones de pines para el display de 7 segmentos
4.4 circuito de reloj

La tarjeta DE0 incluye señales de reloj de 50 MHz. Esta señal de reloj está conectada a la FPGA y se
utilizan para sincronizar la lógica del usuario. Además, todas estas entradas de reloj están
conectadas al pin de entrada de reloj de los bucles de bloqueo de fase (PLL) el pin de entrada de
reloj de la FPGA permite a los usuarios utilizar estos relojes como un reloj fuente para el circuito
PLL.

La distribución del reloj en la tarjeta DE0 se muestra en la Figura 4-11. Las asignaciones de pines
asociadas para las entradas de reloj a los pines I / O de FPGA se enumeran en la Tabla 4.5.

Figura 4-11 Diagrama de bloque de la distribución del reloj.

Tabla 4.5. Asignaciones de pines para las entradas de reloj


4.5 Usando el modulo LCD

La tarjeta DE0 proporciona una interfaz LCD de 2x16. Para utilizar la interfaz LCD, los usuarios
deben soldar un módulo LCD en la tarjeta DE0 mostrada en la Figura 4-12. La referencia detallada
del componente se muestra en la Tabla 4.6. Además, los usuarios pueden comprar este módulo
desde el sitio web de Terasic (http://de0.terasic.com).

Tabla 4.6. La información listada en el módulo LCD.

El módulo LCD tiene fuentes incorporadas y se puede utilizar para mostrar texto enviando
comandos apropiados al controlador de pantalla, que se denomina HD44780. La información
detallada para utilizar la pantalla está disponible en su hoja de datos, que se puede encontrar en el
sitio web del fabricante, y desde la carpeta de hojas de datos / LCD del CD-ROM del sistema DE0.
En la figura 4-13 se muestra un diagrama esquemático del módulo LCD que muestra las
conexiones con el FPGA Cyclone III. Las asignaciones de pines asociadas aparecen en la Tabla 4.7.
Figura 4-12 Modulo LCD en la tarjeta DE0.

Figura 4-13 Conexiones entre el modulo LCD y el Cyclone III FPGA.


Tabla 4.7. Asignaciones de pines para el modulo LCD

Tenga en cuenta que algunos módulos LCD no tienen retroiluminación. Por lo tanto, la señal
LCD_BLON no debe utilizarse en los proyectos de diseño de los usuarios.

4.6 Utilizando el cabezal de expansión

La placa DE0 proporciona dos cabezales de expansión de 40 pines. Cada cabezal se conecta
directamente a 36 pines de la FPGA Cyclone III, y también proporciona DC + 5V (VCC5), DC + 3,3V
(VCC33), y dos pines GND. Entre estos 36 pines de E / S, 4 pines están conectados a los pines de
entrada y salida de reloj PLL del FPGA permitiendo que las tarjetas de expansión de la hija para
acceder a los bloques PLL en el FPGA.

Finalmente, la Figura 4-14 muestra los esquemas relacionados. La figura muestra el circuito de
protección para sólo dos de los pines en cada cabecera, pero este circuito está incluido para todos
los 72 pines de datos. En la tabla 4.8 se indican las asignaciones de pines.
Figura 4-14 Distribución de las entradas y salidas de los cabezales de expansión.

Tabla 4.8. Asignaciones de pines para los cabezales de expansión.


GPIO0_D[16] PIN_V14 GPIO Connection 0 IO[16]
GPIO0_D[17] PIN_U14 GPIO Connection 0 IO[17]
GPIO0_D[18] PIN_Y13 GPIO Connection 0 IO[18]
GPIO0_D[19] PIN_W13 GPIO Connection 0 IO[19]
GPIO0_D[20] PIN_U13 GPIO Connection 0 IO[20]
GPIO0_D[21] PIN_V12 GPIO Connection 0 IO[21]
GPIO0_D[22] PIN_R10 GPIO Connection 0 IO[22]
GPIO0_D[23] PIN_V11 GPIO Connection 0 IO[23]
GPIO0_D[24] PIN_Y10 GPIO Connection 0 IO[24]
GPIO0_D[25] PIN_W10 GPIO Connection 0 IO[25]
GPIO0_D[26] PIN_T8 G PIO Connection 0 IO[26]
GPIO0_D[27] PIN_V8 G PIO Connection 0 IO[27]
GPIO0_D[28] PIN_W7 G PIO Connection 0 IO[28]
GPIO0_D[29] PIN_W6 G PIO Connection 0 IO[29]
GPIO0_D[30] PIN_V5 G PIO Connection 0 IO[30]
GPIO0_D[31] PIN_U7 G PIO Connection 0 IO[31]
GPIO0_CLKIN[0] PIN_A B12 GPIO Connection 0 PLL In
GPIO0_CLKIN[1] PIN_A A12 GPIO Connection 0 PLL In
GPIO0_CLKOU T[0] PIN_ AB3 GPIO Connection 0 PLL Out
GPIO0_CLKOU T[1] PIN_ AA3 GPIO Connection 0 PLL Out
GPIO1_D[0] PIN_AA20 GPIO Connection 1 IO[0]
GPIO1_D[1] PIN_AB20 GPIO Connection 1 IO[1]
GPIO1_D[2] PIN_AA19 GPIO Connection 1 IO[2]
GPIO1_D[3] PIN_AB19 GPIO Connection 1 IO[3]
GPIO1_D[4] PIN_AB18 GPIO Connection 1 IO[4]
GPIO1_D[5] PIN_AA18 GPIO Connection 1 IO[5]
GPIO1_D[6] PIN_AA17 GPIO Connection 1 IO[6]
GPIO1_D[7] PIN_AB17 GPIO Connection 1 IO[7]
GPIO1_D[8] PIN_Y17 G PIO Connection 1 IO[8]
GPIO1_D[9] PIN_W17 G PIO Connection 1 IO[9]
GPIO1_D[10] PIN_U15 GPIO Connection 1 IO[10]
GPIO1_D[11] PIN_T15 GPIO Connection 1 IO[11]
GPIO1_D[12] PIN_W15 GPIO Connection 1 IO[12]
GPIO1_D[13] PIN_V15 GPIO Connection 1 IO[13]
GPIO1_D[14] PIN_AB9 GPIO Connection 1 IO[14]
GPIO1_D[15] PIN_AA9 GPIO Connection 1 IO[15]
GPIO1_D[16] PIN_AA7 GPIO Connection 1 IO[16]
4.7 Utilizando el VGA
La tarjeta DE0 incluye un conector D-SUB de 16 pines para la salida VGA. Las señales de
sincronización VGA se proporcionan directamente desde el FPGA Cyclone III, y usa una red de
resistencias DAC de 4 bits que se utilizan para producir las señales de datos analógicos (rojo,
verde y azul). El esquema asociado se muestra en la Figura 4-15 y puede admitir la resolución VGA
estándar (640x480 píxeles, a 25 MHz).

Figura 4-15 Conexión entre circuito VGA y el FPGA Cyclone III.


La especificación de tiempo para la sincronización VGA y los datos RGB (rojo, verde, azul) se
pueden encontrar en varios sitios web educativos (por ejemplo, busque "tiempo de señal VGA").
La Figura 4-16 ilustra los requisitos básicos de sincronización para cada fila (horizontal) que se
muestra en un monitor VGA. Un pulso activo-bajo de duración específica (tiempo a en la figura) se
aplica a la entrada de sincronización horizontal (hsync) del monitor, que significa el final de una fila
de datos y el inicio de la siguiente. Las entradas de datos (RGB) en el monitor deben estar
apagadas (impulsadas a 0 V) durante un período de tiempo denominado the back porche (b)
después de que se produzca el impulso de sincronización, seguido del intervalo de visualización
(c). Durante el intervalo de visualización de datos, los datos RGB conducen cada píxel a su vez a
través de la fila que se muestra. Finalmente, hay un periodo de tiempo denominado the front
porche (d) donde las señales RGB deben estar de nuevo apagadas antes de que pueda producirse
el siguiente impulso de sincronización. La sincronización vertical (vsync) es la misma que se
muestra en la figura 4-16, excepto que un impulso vsync significa el final de una trama y el inicio
de la siguiente y los datos se refieren al conjunto de filas en el marco (Sincronización horizontal).
La Tabla 4.9 y la Tabla 4.10 muestran diferentes resoluciones de las duraciones de los períodos de
tiempo a, b, c y d para la sincronización tanto horizontal como vertical.

La información detallada sobre el uso del DAC de vídeo ADV7123 está disponible en su hoja de
datos, que se puede encontrar en el sitio web del fabricante o en la carpeta Datasheet / VGA DAC
del CD-ROM del sistema DE0. Las asignaciones de pin entre el Cyclone III FPGA y el conector VGA
se enumeran en la Tabla 4.11. Un ejemplo de código que controla una pantalla VGA se describe en
las secciones 5.3.

Figura 4-16 Especificación de tiempo horizontal VGA

Tabla 4.9. Especificación de tiempo horizontal VGA.

Tabla 4.10. Especificación de tiempo vertical VGA.


Tabla4.11. Asignaciones de pines VGA.

4.8 Puerto serial RS-232

La tarjeta DE0 utiliza el chip transceptor ADM3202 para comunicaciones RS-232. Tenga en cuenta
que las señales RS-232 asociadas están conectadas para usarlas como punto de prueba como se
muestra en la Figura 4-17. Para utilizar esta interfaz, los usuarios deben conectar estas señales al
conector D-sub de 9 pines o al cable RS-232. Para obtener información detallada sobre cómo
utilizar el transceptor, consulte la hoja de datos, que está disponible en el sitio web del fabricante
o en la carpeta de hojas de datos / RS-232 del CD-ROM del sistema DE0. La Figura 4-18 muestra los
esquemas relacionados, y la Tabla 4.12 enumera las asignaciones de clavijas FPGA Cyclone III con
el puerto serie RS-232.
Figura 4-17 La colocación de las señales RS-232

Figura 4-18 Conexiones entre el chip ADM232(RS-232) y la FPGA Cyclone III


Tabla 4.12. Asignación de pines RS-232

4.9 Puerto serial PS/2

La tarjeta DE0 incluye una interfaz PS / 2 estándar y un conector para un teclado o ratón PS / 2.
Además, los usuarios pueden usar el teclado y el ratón PS / 2 en el tablero DE0 simultáneamente
conectando una extensión PS / 2 Y-Cable. Tenga en cuenta que tanto las señales PS_MSDAT como
PS_MSCLK sólo se pueden utilizar cuando el cable PS / 2 Y está conectado al conector PS / 2. La
Figura 4 muestra las conexiones entre el circuito PS / 2 y FPGA. Las instrucciones para usar un
ratón o teclado PS / 2 se pueden encontrar realizando una búsqueda apropiada en varios sitios
web educativos. Las asignaciones de pines para la interfaz asociada se muestran en la Tabla 4.13.

Figura 4-19 Conexiones entre el circuito PS/2 y la FPGA Cyclone III


Tabla 4.13. Asignaciones de pines PS/2

4.10 Entrada para tarjeta SD

La tarjeta DE0 tiene un conector de tarjeta SD y se puede acceder como memoria externa opcional
en SPI y modo SD de 1 bit. En la tabla 4.14 se muestran las asignaciones de clavijas para el
conector de tarjeta SD con el FPGA Cyclone III.

Figura 4-20 Conexiones entre la tarjeta SD y la FPGA Cyclone III.


Tabla 4.14 Asignaciones de pines SD Card.

4.11 Usando SDRAM y FLASH


La tarjeta DE0 proporciona una memoria Flash de 4 MB y chips SDRAM de 8 MB. La Figura 4-21 y la
Figura 4-22 muestran las conexiones entre los chips de memoria y el Cyclone III FPGA. Las
asignaciones de pines para cada dispositivo se enumeran en las Tablas 4.15 y 4.16. Las hojas de
datos para los chips de memoria se proporcionan en la carpeta Datasheet/Memory del CD-ROM
del sistema DE0.

Figura 4-21 conexiones entre el circuito de la SDRAM y la FPGA Cyclone III


Figura 4-22 conexiones entre los circuitos de la memoria Flash y la FPGA Cyclone III.
Tabla 4.15. Asignaciones de pines SDRAM
Signal Name FPGA Pin No Description
DRAM_ADDR[0] PIN_C4 SDRAM Address[0]
DRAM_ADDR[1] PIN_A3 SDRAM Address[1]
DRAM_ADDR[2] PIN_B3 SDRAM Address[2]
DRAM_ADDR[3] PIN_C3 SDRAM Address[3]
DRAM_ADDR[4] PIN_A5 SDRAM Address[4]
DRAM_ADDR[5] PIN_C6 SDRAM Address[5]
DRAM_ADDR[6] PIN_B6 SDRAM Address[6]
DRAM_ADDR[7] PIN_A6 SDRAM Address[7]
DRAM_ADDR[8] PIN_C7 SDRAM Address[8]
DRAM_ADDR[9] PIN_B7 SDRAM Address[9]
DRAM_ADDR[10 ] PIN_B 4 SDRAM Address[10]
DRAM_ADDR[11 ] PIN_A 7 SDRAM Address[11]
DRAM_ADDR[12 ] PIN_C 8 SDRAM Address[12]
DRAM_DQ[0] P IN_D10 SDRAM Data[0]
DRAM_DQ[1] P IN_G10 SDRAM Data[1]
DRAM_DQ[2] P IN_H10 SDRAM Data[2]
DRAM_DQ[3] P IN_E9 S DRAM Data[3]
DRAM_DQ[4] P IN_F9 S DRAM Data[4]
DRAM_DQ[5] P IN_G9 S DRAM Data[5]
DRAM_DQ[6] P IN_H9 S DRAM Data[6]
DRAM_DQ[7] P IN_F8 S DRAM Data[7]
DRAM_DQ[8] P IN_A8 S DRAM Data[8]
DRAM_DQ[9] P IN_B9 S DRAM Data[9]
DRAM_DQ[10] PIN_A9 SDRAM Data[10]
DRAM_DQ[11] PIN_C10 SDRAM Data[11]
DRAM_DQ[12] PIN_B10 SDRAM Data[12]
DRAM_DQ[13] PIN_A10 SDRAM Data[13]
DRAM_DQ[14] PIN_E10 SDRAM Data[14]
DRAM_DQ[15] PIN_F10 SDRAM Data[15]
DRAM_BA_0 PI N_B5 SD RAM Bank Address[0]
DRAM_BA_1 PI N_A4 SD RAM Bank Address[1]
DRAM_LDQM PI N_E7 SD RAM Low-byte Data Mask
DRAM_UDQM PI N_B8 SD RAM High-byte Data Mask
DRAM_RAS_N P IN_F7 S DRAM Row Address Strobe
DRAM_CAS_N P IN_G8 S DRAM Column Address Strobe
DRAM_CKE PIN _E6 SDR AM Clock Enable
DRAM_CLK PIN _E5 SDR AM Clock
DRAM_WE_N PI N_D6 SD RAM Write Enable
DRAM_CS_N PI N_G7 SD RAM Chip Select
Tabla 4.16. Asignaciones de pines Flash
Signal Name FPGA Pin No. Description
FL_ADDR[0] PIN_P7 FLASH Address[0]
FL_ADDR[1] PIN_P5 FLASH Address[1]
FL_ADDR[2] PIN_P6 FLASH Address[2]
FL_ADDR[3] PIN_N7 FLASH Address[3]
FL_ADDR[4] PIN_N5 FLASH Address[4]
FL_ADDR[5] PIN_N6 FLASH Address[5]
FL_ADDR[6] PIN_M8 FLASH Address[6]
FL_ADDR[7] PIN_M4 FLASH Address[7]
FL_ADDR[8] PIN_P2 FLASH Address[8]
FL_ADDR[9] PIN_N2 FLASH Address[9]
FL_ADDR[10] PIN_N1 FLASH Address[10]
FL_ADDR[11] PIN_M3 FLASH Address[11]
FL_ADDR[12] PIN_M2 FLASH Address[12]
FL_ADDR[13] PIN_M1 FLASH Address[13]
FL_ADDR[14] PIN_L7 FLASH Address[14]
FL_ADDR[15] PIN_L6 FLASH Address[15]
FL_ADDR[16] PIN_AA 2 FLASH Address[16]
FL_ADDR[17] PIN_M5 FLASH Address[17]
FL_ADDR[18] PIN_M6 FLASH Address[18]
FL_ADDR[19] PIN_P1 FLASH Address[19]
FL_ADDR[20] PIN_P3 FLASH Address[20]
FL_ADDR[21] PIN_R2 FLASH Address[21]
FL_DQ[0] PI N_R7 FL ASH Data[0]
FL_DQ[1] PI N_P8 FL ASH Data[1]
FL_DQ[2] PI N_R8 FL ASH Data[2]
FL_DQ[3] PI N_U1 FL ASH Data[3]
FL_DQ[4] PI N_V2 FL ASH Data[4]
FL_DQ[5] PI N_V3 FL ASH Data[5]
FL_DQ[6] PI N_W1 FL ASH Data[6]
FL_DQ[7] PIN_Y1 FLASH Data[7]
FL_DQ[8] PIN_T5 FLASH Data[8]
FL_DQ[9] PIN_T7 FLASH Data[9]
FL_DQ[10] PIN_T4 FLASH Data[10]
FL_DQ[11] PIN_U2 FLASH Data[11]
FL_DQ[12] PIN_V1 FLASH Data[12]
FL_DQ[13] PIN_V4 FLASH Data[13]
FL_DQ[14] PIN_W2 FLASH Data[14]
FL_DQ15_AM1 PIN_Y2 FLASH Data[15]
FL_BYTE_N PIN_AA1 FLASH Byte/Word Mode Configuration
FL_CE_N PIN_N8 FLASH Chip Enable
FL_OE_N PIN_R6 FLASH Output Enable
FL_RST_N PIN_R1 FLASH Reset
FL_RY PIN_M7 LASH Ready/Busy output
FL_WE_N PIN_P4 FLASH Write Enable
FL_WP_N PIN_T3 FLASH Write Protect /Programming Acceleration
Capítulo 5

Ejemplos y demostraciones avanzadas


Este capítulo proporciona una serie de ejemplos de circuitos avanzados implementados en la placa
DE0. Estos circuitos proporcionan demostraciones de las principales características de la placa,
como sus capacidades de vídeo y almacenamiento de tarjetas SD. Para cada demostración se
proporciona el archivo de configuración Cyclone III FPGA (o EPCS4 serial EEPROM), así como el
código fuente completo en el código Verilog HDL. Todos los archivos asociados se pueden
encontrar en la carpeta DE0 \demonstrations del CD-ROM del sistema DE0. Para cada una de las
demostraciones descritas en las siguientes secciones, le asignamos el nombre del directorio del
proyecto para sus archivos, que son subdirectorios de la carpeta DE0_demonstrations.

Instalando las demostraciones


Para instalar las demostraciones en tu computadora, realiza lo siguiente:

1. Copia el directorio DE0_demostrations en un directorio local de tu elección. Es


importante asegurarse de que la ruta de acceso a su directorio local no contiene
espacios; de lo contrario, el software Nios II no funcionará.

5.1 Configuración de fábrica DE0

La tarjeta DE0 se envía desde la fábrica con una configuración predeterminada que demuestra
algunas de las características básicas de la placa. La configuración requerida para esta
demostración y las ubicaciones de sus archivos se muestran a continuación.

Configuración de demostración, ubicaciones de archivos e instrucciones

 Directorio de proyectos: DE0_Default


 Flujo de bits utilizado: DE0_Default.sof o DE0_Default.pof
 Encienda la tarjeta DE0, con el cable USB conectado al puerto USB Blaster. Si (Es
decir, si la configuración predeterminada de fábrica de la tarjeta DE0 no está
almacenada en el dispositivo EPCS4), descargue el flujo de bits a la placa utilizando
programación JTAG o AS
 Ahora debería ser capaz de observar que las pantallas de 7 segmentos muestran
una secuencia de caracteres y los LED verdes parpadean.
 Opcionalmente, conecte una pantalla VGA al conector VGA D-SUB. Cuando está
conectado, la pantalla VGA debe mostrar un patrón de colores

El código fuente de Verilog para esta demostración se proporciona en la carpeta DE0_Default, que
también incluye los archivos necesarios para el proyecto Quartus II correspondiente. El archivo
Verilog de nivel superior, denominado DE0_Default.v, puede utilizarse como plantilla para otros
proyectos, ya que define los puertos que corresponden a todos los pines accesibles por el usuario
del FPGA Cyclone III.

5.2 Tarjeta SD

Muchas aplicaciones utilizan un dispositivo de almacenamiento externo grande, como una tarjeta
SD o una tarjeta CF, para almacenar datos. La placa DE0 proporciona el hardware y el software
necesarios para el acceso a la tarjeta SD. En esta demostración mostraremos cómo navegar por los
archivos almacenados en el directorio raíz de una tarjeta SD y cómo leer el contenido de un
archivo específico. El tamaño de la tarjeta SD debe ser menor o igual a 2 GB. Además, debe
formatearse como sistema de archivos FAT (FAT16 o FAT 32) con antelación. Los nombres de
archivo largos se admiten en esta demostración.

La Figura 5-1 muestra el diagrama de bloques del sistema de hardware de esta demostración. El
sistema requiere un reloj de 50 MHz proporcionado desde la placa. Cuatro clavijas PIO están
conectadas a la toma de la tarjeta SD. Son SD_CLK, SD_CMD, SD_DAT y SD_WP_N. Los tres pines
SD_CLK, SD_CMD y SD_DAT se utilizan para implementar el protocolo SD de modo de 1 bit para
acceder al contenido de la tarjeta SD. El protocolo SD de 1 bit y la función de sistema de archivos
FAT son implementados por el software NIOS II. El software se almacena en la memoria SDRAM
integrada.
Figura 5-1 Diagrama de bloques de la demostración de la tarjeta SD

La Figura 5-2 muestra la pila de software de esta demostración. El bloque NIOS PIO proporciona
funciones IO básicas para acceder al hardware directamente. Las funciones se proporcionan desde
el sistema NIOS II y el prototipo de la función se define en el archivo de encabezado <io.h>. El
bloque SD-CARD implementa el protocolo de modo SD 1-bit para la comunicación con la tarjeta
SD. El bloque FAT File System implementa la función de lectura para el sistema de archivos FAT16
y FAT 32. Se admite nombres de archivo largos. Al llamar a las funciones FAT exportadas, los
usuarios pueden buscar archivos en el directorio raíz de la tarjeta SD. Además, los usuarios pueden
abrir un archivo especificado y leer el contenido del archivo.

El bloque principal implementa el control principal de esta demostración. Cuando se ejecuta el


programa, detecta si se inserta una tarjeta SD. Si se encuentra una tarjeta SD, comprobará si la
tarjeta SD está formateada como sistema de archivos FAT. Si se encuentra un sistema de archivos
FAT, busca todos los archivos en el directorio raíz del sistema de archivos FAT y muestra sus
nombres en el nios2-terminal. Si se encuentra un archivo de texto denominado "test.txt", volcará
el contenido del archivo. Si reconoce correctamente el sistema de archivos FAT, se activará el LED
verde. Por otro lado, desactivará el LED verde si no logra analizar el sistema de archivos FAT. La
mitad del LED verde se encenderá si no hay una tarjeta SD en el conector de la tarjeta SD. Si los
usuarios presionan BUTTON2 del tablero DE0, el programa volverá a realizar el proceso anterior.
Figura 5-2. Diagrama del reloj de la demostración de la tarjeta SD

* Código fuente de demostración


* Directorio de proyecto: DE0_MIOS_SDCARD
* Bit stream usado: DE0_TOP_SDCARD.sof
* NIOS II Workspace: DE0_NIOS_SDCARD\Software

* Demostración de archivo por lotes


Demo Batch File Folder: DE0_NIOS_SDCARD \ Demo_Batch
El archivo de proceso por lotes de demostración incluye los siguientes archivos:
 Archivo por lotes: test.bat, test_bashrc
 FPGA archivo de configuración: DE0_TOP_SDCARD.sof
 Programa NIOS II: DE0_SDCARD.elf

* Configuración de la demostración
 Asegúrese de que Quartus II y NIOS II están instalados en su PC.
 Cambie el interruptor al modo "PROG" al modo "RUN" en la tarjeta DE0.
 Encienda la tarjeta DE0.
 Conecte USB Blaster a la tarjeta DE0 e instale el controlador USB Blaster si es necesario.
 Ejecute el archivo de proceso de demostración "test.bat" en la carpeta de archivos por
lotes, DE0_NIOS_SDCARD \ demo_batch.
 Después de descargar y ejecutar correctamente el programa NIOS II, aparecerá un
mensaje de aviso en nios2-terminal
 Copie los archivos de prueba en el directorio raíz de la tarjeta SD.
 Inserte la tarjeta SD en el conector SD Card de DE0, como se muestra en la Figura 5-3.
 Pulse el botón 2 de la tarjeta DE0 para comenzar a leer la tarjeta SD.
 El programa mostrará la información de la tarjeta SD, como se muestra en la Figura 5-4.
Figura 5-3. Insertar tarjeta SD para la demostración de la tarjeta SD
Figura 5-4. Información mostrada por la tarjeta SD para la demostración de la tarjeta SD

5.3 Demostración de patrones de colores VGA

La placa DE0 proporciona un circuito VGA de resistencia de 4 bits y un conector VGA D-SUB que
permiten a los usuarios emitir señales VGA al monitor LCD / CRT utilizando Cyclone III FPGA. Esta
demostración implementará un generador de patrones de color VGA en el FPGA. Este generador
de patrones de color puede generar 2 patrones de color utilizando la resolución 640x480. Además,
con SW0 puede cambiar el patrón de color de salida al monitor LCD / CRT.
La Figura 5-5 muestra el diagrama de bloques básico de esta demostración. Hay dos bloques
principales en el circuito, llamados VGA_Pattern y VGA_Ctr. El bloque VGA_Pattern controla cada
valor de píxel para cada línea horizontal y vertical; Por lo tanto el bloque VGA_Pattern puede
generar muchos patrones de color. El bloque VGA_Ctr genera señales de control VGA HS y VS que
dependen de la configuración de resolución del usuario que se utilizan para la salida al monitor
LCD / CRT.

Figura 5-5. Diagrama de bloques de la demostración del patrón de color VGA.

Configuración de demostración, ubicaciones de archivos e instrucciones


 Directorio de proyectos: DE0_VGA
 Flujo de bits utilizado: DE0_VGA.sof o DE0_VGA.pof
 Conecte la salida VGA de la tarjeta DE0 a un monitor VGA (los monitores LCD y CRT
deberían funcionar)
 Cargue la secuencia de bits en FPGA.
 El monitor LCD / CRT debe mostrar el patrón de color como se muestra en la Figura 5-6.
 El conmutador SW0 puede cambiar el patrón de color (consulte la Figura 5-7).

La Figura 5-6 ilustra la configuración de esta demostración.


Figura 5-6. La configuración de la demostración de patrón de color VGA

Figura 5-7. El tipo de patrón de color de salida para la demostración


Capítulo 6

Apéndice
6.1 revisión histórica

6.2 Declaración de derechos de autor

Copyright © 2011 Terasic Technologies. All rights reserved.

Das könnte Ihnen auch gefallen