Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Spartan-3E de arranque
Junta Kit
R
R
Xilinx está revelando este documento y de la Propiedad Intelectual (en adelante “el diseño”) a usted para su uso en el desarr ollo de
diseños para operar en, o interactuar con los FPGA Xilinx. Excepto como se indica en este documento, ninguno de los Diseño puede
ser copiado, reproducido, distribuido, republicado, descargado, exhibido, publicado o transmitido en cualquier forma o por cu alquier
medio, incluyendo, pero no limitado a, electrónico, mecánico, fotocopia, grabación, o de otro modo, sin el consentimi ento previo por
escrito de Xilinx. Cualquier uso no autorizado del diseño puede violar las leyes de derechos de autor, las marcas comerciales , las
leyes de privacidad y publicidad, y regulaciones y estatutos de comunicación.
Xilinx no asume ninguna responsabilidad derivada de la aplicación o uso del diseño; ni transmitir Xilinx ninguna licencia de sus
patentes, derechos de autor o cualquier derecho de los demás. Usted es responsable de obtener los derechos que pueda requerir
para su uso o aplicación del diseño. Xilinx se reserva el derecho de hacer cambios en cualquier momento, con el diseño que se
considere deseable en el exclusivo criterio de Xilinx. Xilinx no asume ninguna obligación de corregir los errores contenidos en este
documento o de aconsejarle de cualquier corrección si tales hacerse. Xilinx no asume ninguna responsabilidad por la exactitud o
corrección de cualquier soporte de ingeniería o técnico o asistencia proporcionada a usted en relación con el diseño.
EL DISEÑO SE ENTREGA “tal cual” fallas con todos, y TODO EL RIESGO EN CUANTO A SU FUNCIÓN Y APLICACIÓN está
contigo. USTED RECONOCE Y ACEPTA QUE NO ha basado en ninguna oral o información escrita o consejo, si se administra POR
Xilinx, o sus agentes o empleados. Xilinx no hace ninguna otra garantía, expresa, IMPLÍCITA O ESTATUTARIA, relativos al diseño,
incluyendo cualquier garantía de comerciabilidad, aptitud para un DETERMINADO FIN, TÍTULO Y NO INFRACCIÓN DE DERECHOS
DE TERCEROS.
IN NO CASO Xilinx RESPONSABLE DE CUALQUIER consecuente, indirecto ejemplares, especiales, O FORTUITOS, incluyendo
cualquier dato PERDIDO Y GANANCIAS, derivados de o relacionados con el uso del diseño, incluso si ha sido aconsejado de la
posibilidad de tales daños. EL responsabilidad total acumulada DE Xilinx EN RELACIÓN CON SU USO DEL DISEÑO, SEA EN
CONTRATO O de lo contrario, en ningún caso superior LA CANTIDAD DE FEES pagado por usted a Xilinx PRESENTE
DOCUMENTO PARA USO DE LA DESIGN. Usted reconoce que los honorarios, de haberlos, REFLEJAN LA ASIGNACIÓN DE
RIESGO ADELANTE EN ESTA acuerdo y que Xilinx ¿No poner a disposición el diseño usted sin estas limitaciones de responsabilidad.
El diseño no está diseñado ni pensado para su uso en el desarrollo de equipos de control en línea en entornos peligrosos que
requieran un control a prueba de fallos, como en la operación de instalaciones nucleares, sistemas de navegación de aeronaves o
comunicaciones, control del tráfico aéreo, de salvamento o cualquier sistemas de armas ( “Aplicaciones de Alto riesgo”). Xili nx niega
específicamente cualquier garantía explícita o implícita de idoneidad para tales aplicaciones de alto riesgo. Usted declara que el u so
del diseño en este tipo de aplicaciones de alto riesgo está totalmente bajo su propio riesgo.
© 2002-2006 Xilinx, Inc. Todos los derechos reservados. Xilinx, el logotipo de Xilinx, y otras marcas designadas incluidos en este
documento son marcas comerciales de Xilinx, Inc. Todas las demás marcas comerciales son propiedad de sus respectivos dueños.
Revisión histórica
La siguiente tabla muestra el historial de revisión de este documento.
Apéndice A: Esquemas
FX2 Expansión Header, Headers 6 pines, y Connectorless sonda Encabezamiento 132
Puertos RS-232, puerto VGA y PS / 2 Puerto ........................................................... 134
Ethernet PHY, Magnetics, y RJ-11 conector ............................................................. 136
voltaje reguladores ....................................................................................................... 138
FPGA Configuraciones Configuración, plataforma Flash PROM, SPI flash de
serie, conexiones JTAG ............................................................................................ 140
FPGA I / O Bancos 0 y 1, osciladores ......................................................................... 142
FPGA I / O bancos 2 y 3 ............................................................................................... 144
Fuente de alimentación desacoplamiento ................................................................ 146
XC2C64A CoolRunner-II CPLD ................................................................................. 148
Prefacio
Agradecimientos
Xilinx desea agradecer a las siguientes empresas por su apoyo de la junta Spartan-3E
Starter Kit:
Intel Corporation para la memoria de 128 Mbit StrataFlash
Linear Technology para el compatible-SPI A / D y D / A convertidores,
el pre-amplificador programable, y los reguladores de potencia para los
componentes no FPGA
Micron Technology, Inc. para el 32M x 16 DDR SDRAM
SMSC para el PHY de Ethernet 10/100
STMicroelectronics para el 16M x 1 serie SPI flash PROM
Texas Instruments Incorporated para el regulador TPS75003 de tres rail suministrar
la mayor parte de las tensiones de alimentación FPGA
Xilinx, Inc. División de configuración de soluciones para la plataforma XCF04S
flash PROM y su apoyo para el programador USB incorporado
Xilinx, Inc. División CPLD para el XC2C64A CoolRunner ™ -II CPLD
Guía de Contenido
Este manual contiene los siguientes capítulos:
Capítulo 1, “Introducción y Visión General” proporciona una visión general de las
características clave de la junta Spartan-3E Starter Kit.
Capítulo 2, “interruptores, botones, y el mando,” define los interruptores, botones,
y perillas presente en el tablero Spartan-3E Starter Kit.
Capítulo 3, “Fuentes de reloj” describe las diversas fuentes de reloj disponibles
en el tablero Spartan-3E Starter Kit.
Capítulo 4, “Opciones de configuración de la FPGA,” describe las opciones de
configuración de la FPGA en el tablero Spartan-3E Starter Kit.
Recursos adicionales
Para encontrar información adicional, consulte el sitio web de Xilinx en:
http://www.xilinx.com/literature.
Para buscar en la base de datos de respuesta de silicio, software y preguntas y respuestas
IP, o para crear una WebCase asistencia técnica, consulte el sitio web de Xilinx en:
http://www.xilinx.com/support.
Capítulo 1
Compromisos de
diseño
Compromisos de diseño
Se requiere un par de compromisos de diseño a nivel de sistema con el fin de
proporcionar al tablero Spartan-3E Starter Kit con la mayor funcionalidad.
Recursos Relacionados
Procesador Xilinx MicroBlaze suave
http://www.xilinx.com/microblaze
Procesador Xilinx PicoBlaze suave
http://www.xilinx.com/picoblaze
Xilinx Embedded Development Kit
http://www.xilinx.com/ise/embedded_design_prod/platform_studio.ht
m
tutoriales de software Xilinx
http://www.xilinx.com/support/techsup/tutorials/
Texas instrumentos TPS75003
http://focus.ti.com/docs/prod/folders/print/tps75003.htm
l
Capitulo 2
Ubicaciones y etiquetas
La junta Spartan-3E Starter Kit tiene cuatro interruptores deslizantes, como se muestra en
Figura 2-1. Los interruptores deslizantes se encuentran en la esquina inferior derecha de
la placa y se etiquetan SW3 a través SW0. Interruptor SW3 es el extremo izquierdo del
interruptor, y SW0 es la más a la derecha del interruptor.
ALTO
BAJO
Operació
n
Cuando está en la posición superior o en ON, un conmutador conecta la clavija de FPGA
a 3,3 V, una lógica alta. Cuando ABAJO o en la posición OFF, el conmutador conecta la
clavija de FPGA a tierra, una lógica baja. Los interruptores presentan típicamente
alrededor de 2 ms de rebote mecánico y no hay circuitos de supresión de rebotes activo,
aunque tal circuitería fácilmente se podría añadir al diseño FPGA programado en el
tablero.
Interruptores PULSADOR
Ubicaciones y etiquetas
La junta Spartan-3E Starter Kit tiene cuatro interruptores de botón de contacto
momentáneo, que se muestran en Figura 2-3. Los pulsadores están situados en la esquina
inferior izquierda de la tabla y se etiquetan BTN_NORTH, BTN_EAST, BTN_SOUTH y
BTN_WEST. Los pines FPGA que se conectan a los pulsadores aparecen entre paréntesis
enFigura 2-3 y la UCF asociado aparece en Figura 2-5.
BTN_WEST BTN_EAST
(D18) (H13)
BTN_SOUTH
(K17) UG230_c2_02_021206
notas:
1. Todos BTN_ * entradas de pulsador requieren una resistencia interna desplegable.
2. BTN_SOUTH también se utiliza como un restablecimiento parcial en algunas aplicaciones FPGA.
Operación
Al pulsar un botón pulsador conecta el pin FPGA asociada a 3,3 V, como se muestra en
Figura 2-4. Utilice una resistencia interna desplegable dentro de la clavija de FPGA para
generar una lógica baja cuando el botón no está presionado.Figura 2-5 muestra cómo
especificar una resistencia pull-down dentro de la UCF. No hay ningún circuito de
supresión de rebotes activa el pulsador.
Presionar el FPGA de E /
3.3V S Pin
botón
BTN_ * Señal
UG230_c2_03_021206
Ubicaciones y etiquetas
El interruptor de botón giratorio está situado en el centro de los cuatro interruptores de
pulsador individuales, como se muestra en Figura 2-3. El interruptor produce tres salidas.
Las dos salidas del codificador de eje son ROT_A y ROT_B. El interruptor pulsador centro
es ROT_CENTER.
Operación
El interruptor pulsador giratorio integra dos funciones diferentes. Gira y salidas valores
de árbol de conmutación siempre que las vueltas del eje. El eje también puede ser
presionado, actuando como un interruptor de pulsador.
FPGA de E /
3.3V S Pin
ROT_CENTER señal
UG230_c2_05_021206
A = '0'
VCCO
Codificador
rotatorio
del eje
B = '1' UG230_c2_06_030606
GND
El cierre de un interruptor que conecta a tierra, generando una baja lógica. Cuando el
interruptor está abierto, una resistencia de pull-up en el pin FPGA tira de la señal a un
nivel lógico alto. Las limitaciones en la UCFFigura 2-9 describir cómo definir la
resistencia pull-up.
El sistema de circuitos FPGA para decodificar el 'A' y 'B' entradas es simple, pero debe
tener en cuenta el ruido mecánico de conexión en las entradas, también llamado charla.
Como se muestra enFigura 2-8, La charla puede indicar falsamente eventos de rotación
adicionales o incluso indicar rotaciones en el frente
UN
Fijador
Fijador
si
Figura 2-8: Las salidas del codificador rotatorio del eje mecánico puede incluir Chatter
LEDs
discretos
Ubicaciones y etiquetas
La junta Spartan-3E Starter Kit tiene ocho individuo de montaje en superficie LED
situados por encima de los interruptores deslizantes como se muestra en Figura 2-10. Los
LED están etiquetados LED7 través LED0.
LED7 es la más a la izquierda del LED, LED0 más a la derecha LED.
LED5: (D11)
LED4: (C11)
LED2: (E11)
LED1: (E12)
LED3: (F11)
LED0: (F12)
LED6: (E9)
LED7: (F9)
UG230_c2_04_021206
Discrete LEDs
Operación
Cada LED tiene un lado conectado a tierra y el otro lado conectado a un pin en el
dispositivo Spartan-3E a través de una resistencia de limitación de 390Ω actual. Para la
luz de un LED individual, conducir la señal de control FPGA asociado alta.
Recursos Relacionados
Codificador rotatorio interfaz para Spartan-3E Starter Kit (diseño de
referencia) http://www.xilinx.com/s3estarter
Capítulo 3
Fuentes de reloj
Visión
general Como se muestra en Figura 3-1, El tablero Spartan-3E Starter Kit es compatible con tres
fuentes de entrada de reloj primaria, todos los cuales están ubicados debajo del logotipo
de Xilinx, cerca del logotipo de Spartan-3E.
La junta incluye un oscilador de reloj de a bordo 50 MHz.
Los relojes pueden ser suministrados fuera del vehículo a través de un conector de
tipo SMA. Alternativamente, el FPGA puede generar señales de reloj u otras señales
de alta velocidad en el conector de tipo SMA.
Opcionalmente instalar un 8-pin oscilador de reloj de estilo DIP separada en el zócalo
suministrado.
Conexiones de reloj
Cada una de las entradas de reloj se conectan directamente a una entrada de búfer global
en I O Banco / 0, a lo largo de la parte superior de la FPGA. Como se muestra enMesa 3-
1, Cada una de las entradas de reloj también se conecta de manera óptima a un DCM
asociada.
Tabla 3-1: Las entradas de reloj y Asociados Global tampones y MCD
entrada de FPGA Pin Buffer asociada DCM
reloj mundial
CLK_50MHZ C9 GCLK10 DCM_X0Y1
CLK_AUX B8 GCLK8 DCM_X0Y1
CLK_SMA A10 GCLK7 DCM_X1Y1
Control de tensión
El voltaje para todos los pines de E / S en FPGA I O Banco / 0 es controlado por JP9
puente. En consecuencia, estos recursos de reloj también son controlados por JP9 puente.
Por defecto, se establece para JP9 3.3V. El oscilador de a bordo es un dispositivo de 3.3V
y podría no funcionar como se espera cuando JP9 puente está definido para 2.5V.
Restricciones UCF
Las fuentes de entrada de reloj requieren dos tipos diferentes de limitaciones. Las
limitaciones de ubicación definen la asignación de pines de E / S y los estándares de E /
S. Las limitaciones del período definen el período del reloj y en consecuencia la
frecuencia de reloj y el ciclo de trabajo de la señal de reloj entrante.
Ubicación
Figura 3-2 proporciona las limitaciones UCF para las tres fuentes de entrada de reloj,
incluyendo la I / O asignación de pines y el estándar de E / S utilizado. Los ajustes
suponen que JP9 puente se establece para 3.3V. Si JP9 se establece para 2,5V, ajuste la
Recursos Relacionados
Epson SG-8002JF Hoja Series Oscilador de datos (50 MHz del oscilador)
http://www.eea.epson.com/go/Prod_Admin/Categories/EEA/QD/Crystal_Oscillators/
prog_oscillators / go / Recursos / TestC2 / SG8002JF
Capítulo 4
kit de
inicio
Figura 4-1: Opciones de configuración de la FPGA Spartan-3E
Spartan-3E Starter Kit Board User Guide www.xilinx.com 25
UG230 (v1.0) March 9, 2006
R
UG230_c4_01_022006
Los puentes de modo de configuración de determinar qué modo los usos FPGA
cuando se aplica primero de potencia, o cada vez que se pulsa el botón PROG
configuración.
El pasador DONE luces LED cuando la FPGA finaliza correctamente
configuración. Al pulsar el botón PROG fuerzas de la FPGA para reiniciar el
proceso de configuración.
El 4 Mbit Xilinx plataforma Flash PROM proporciona almacenamiento de configuración
fácil, JTAG-programable para la FPGA. Los configura FPGA de la plataforma Flash
utilizando el modo de serie Maestro.
El 64-macrocelda XC2C64A CoolRunner II CPLD proporciona capacidades adicionales de
programación y flexibilidad cuando se utilizan los modos configuración de arranque
múltiple BPI arriba, BPI hacia abajo, o y la carga de la FPGA de la StrataFlash paralelo
flash PROM. El CPLD es el usuario programable.
El conector más ancho y más estrecho Tipo A se ajusta al conector USB en la parte
posterior del equipo.
Después de instalar el software de Xilinx, conectar el conector de tipo B perpendicular a
la placa de Spartan-3E Starter Kit, como se muestra en Figura 4-4. El conector USB se
encuentra en el lado izquierdo de la placa, inmediatamente al lado del conector Ethernet.
Cuando la tarjeta está encendida, el sistema operativo Windows debería reconocer e
instalar el software del controlador asociado.
UG230_c4_05_030306
Figura 4-4: Conectar el USB tipo B conector a la placa del conector Starter Kit
Cuando el controlador del cable USB está instalado correctamente y la junta está
UG230_c4_06_022406
UG230_c4_07_022406
Figura 4-6: Haga clic para asignar un archivo de configuración para el Spartan-3E FPGA
UG230_c4_08_022406
Figura 4-7: impacto Emite una advertencia si el reloj de inicio No Era CCLK
UG230_c4_09_022406
Cuando el FPGA programas con éxito, el software de impacto indica el éxito, como se
muestra en Figura 4-9. La aplicación FPGA está ejecutando en el tablero y el pasador
DONE LED (verFigura 4-2) Se ilumina.
UG230_c4_10_022406
UG230_c4_11_022706
Haga clic en Opciones de configuración como se muestra en Figura 4-11. Usando la lista
desplegable de configuración Rate, seleccione 25 para aumentar el oscilador interno de
aproximadamente CCLK
25 MHz, la frecuencia más rápida cuando se utiliza una plataforma XCF04S flash PROM. Haga clic en
Aceptar
cuando esté terminado.
UG230_c4_12_022706
Para generar el archivo de programación, haga doble clic en Generar Programación del
archivo, como se muestra en Figura 4-12.
UG230_c4_13_022706
UG230_c4_14_022706
Figura 4-13: Haga doble clic en Generar PROM, ACE, o Archivo JTAG
Después de iniciar el impacto, haga doble clic en Archivo PROM formateador, como se muestra en
Figura 4-14.
UG230_c4_15_022706
Elija Xilinx PROM PROM como el tipo de destino, como se muestra en Figura 4-15.
Seleccione cualquiera de los formatos de archivos RPM; el formato Intel Hex (MCS) es
popular. Introduzca la ubicación del directorio y el nombre del archivo RPM. Haga clic
en Siguiente> cuando haya terminado.
UG230_c4_16_022706
Figura 4-15: Elegir el tipo de destino PROM, la, formato de datos y la ubicación del archivo
La junta Spartan-3E Starter Kit tiene un XCF04S plataforma Flash PROM. Seleccione xcf04s
de la lista desplegable, como se muestra en Figura 4-16. Haga clic en Agregar, haga clic en Siguiente>.
UG230_c4_17_022706
La PROM formateador continuación, se hace eco de la configuración, como se muestra en Figura 4-17.
Haga clic en Finalizar.
UG230_c4_18_022706
Figura 4-17: Haga clic en Finalizar después de entrar en la PROM Ajustes formateador
La PROM formateador luego pide el nombre (s) del archivo de flujo de bits de
configuración de la FPGA. Como se muestra enFigura 4-18, Haga clic en OK para iniciar
la selección de archivos. Seleccione un archivo de flujo de bits FPGA (* .bit). Elija No
después de seleccionar el último archivo FPGA. Por último, haga clic en OK para
continuar.
UG230_c4_19_022706
Figura 4-18: Introduzca la configuración de FPGA de flujo de bits del archivo (s)
Cuando se completa el formateo PROM, los presentes software impacto de los ajustes
actuales que muestra la PROM, seleccione el flujo de bits FPGA (s), y la cantidad de
espacio PROM consumida por el flujo de bits. Figura 4-19 muestra un ejemplo para un
único flujo de bits XC3S500E FPGA almacenada en un flash PROM Plataforma XCF04S.
UG230_c4_20_022706
A generar el archivo RPM real, haga clic en Operaciones € generar el archivo como se
muestra en Figura 4-20.
UG230_c4_21_022706
Figura 4-20: Haga clic en Operaciones € Generar archivo para crear el archivo con formato
PROM
UG230_c4_22_022706
UG230_c4_23_022706
Asignar el archivo PROM a la Plataforma XCF04S flash PROM en la cadena JTAG, como
se muestra en Figura 4-23. Haga clic en el icono de la PROM, a continuación, haga clic en
Archivo de configuración nuevo Asignar. Seleccionar un archivo de formato RPM
generado anteriormente y haga clic en OK.
UG230_c4_24_022806
Para iniciar la programación de la PROM, haga clic en el icono de la RPM y haga clic en Programa de
..
UG230_c4_25_022806
El software de programación solicita de nuevo por el tipo PROM para programar. Seleccione
xcf04s y haga clic en OK, como se muestra en Figura 4-25.
UG230_c4_26_022806
UG230_c4_27_022806
Capítulo 5
Intel StrataFlash
D [11:
'1'
SF_CE0 8] CE0
UG230_c5_01_022006
Una vez dominado, la pantalla LCD es una manera práctica de mostrar una variedad de
información mediante caracteres ASCII y personalizados estándar. Sin embargo, estas
pantallas no son rápidos. Desplazamiento de la pantalla a intervalos de medio segundo a
prueba el límite práctico para mayor claridad. En comparación con el
50 MHz de reloj disponible en la placa, la pantalla es lento. procesador A PicoBlaze
controla eficientemente temporización de visualización más el contenido real de la
pantalla.
Compatibilidad de voltaje
La pantalla LCD es el poder por el carácter + 5V. La FPGA de E / S de señales son
alimentados por 3.3V. Sin embargo, los niveles de salida de la FPGA se reconocen como
bajo o alto niveles lógicos válidos por la pantalla LCD. El controlador LCD acepta niveles
de señal de 5V TTL y la 3.3V LVCMOS salidas proporcionado por el FPGA se reúnen los
requisitos de nivel de voltaje de 5V TTL.
Los 390Ω resistencias en serie en las líneas de datos evitan el exceso de esfuerzo en la
FPGA y StrataFlash I pines E / S cuando las unidades de LCD de caracteres un valor
lógico alto. El carácter LCD impulsa las líneas de datos cuando LCD_RW es alta. La
mayoría de las aplicaciones tratan el LCD como contra escritura única periférica y nunca
leer de la pantalla.
Mapa de memoria
El controlador tiene tres regiones de memoria internos, cada uno con un propósito
específico. La pantalla debe ser inicializado antes de acceder a cualquiera de estas
regiones de memoria.
RAM DD
La visualización de datos RAM (DD RAM) almacena el código de caracteres que se
mostrará en la pantalla. La mayoría de las aplicaciones interactúan principalmente con
DD RAM. El código de caracteres almacenada en una memoria RAM DD referencias de
ubicación de mapa de bits almacenado carácter específico, ya sea en el predefinidoCG
ROM conjunto de caracteres o en la facilidad de uso definido CG RAM conjunto de
caracteres.
Figura 5-3Muestra la dirección predeterminada para las ubicaciones de caracteres 32 en
la pantalla. La línea superior de caracteres se almacena entre las direcciones 0x00 y 0x0F.
La segunda línea de caracteres se almacena entre las direcciones 0x40 y 0x4F.
Undisplayed
visualización de los caracteres direcciones
direccione
s
1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 ... 27
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
44 www.xilinx.com Spartan-3E Starter Kit Board User Guide
UG230 (v1.0) March 9, 2006
R
2 50 ... 67
1234567891011121314151617 ... 40
Físicamente, hay 80 lugares de caracteres totales en DD RAM con 40 caracteres por línea
disponible. Ubicaciones 0x10 a través de 0x27 y 0x50 a través de 0x67 se pueden utilizar
para almacenar otros datos que no son de pantalla. Alternativamente, estos sitios
también pueden almacenar caracteres que sólo se muestran utilizando la pantalla
cambiando las funciones del controlador.
los Conjunto DD RAM Dirección comando inicializa el contador de direcciones antes de
leer o escribir en la memoria RAM DD. DD escribir datos RAM utilizando elEscribir datos
de CG RAM o RAM DD mando y leer DD RAM usando el Leer datos de CG RAM o RAM
DD mando.
La constante de RAM dirección de contador DD bien permanece después de las
operaciones de lectura o escritura, o auto-incrementos o decrementos de automóviles por
un lugar, tal como se define por el conjunto I / D por el Entrada modo de Programación
mando.
CG ROM
El generador de caracteres ROM (CG ROM) contiene el mapa de bits fuente para cada
uno de los caracteres predefinida que la pantalla LCD puede mostrar, que se muestra en
Figura 5-4. El código de caracteres almacenado enRAM DD para cada ubicación
personaje hace referencia posteriormente una posición con la ROM CG. Por ejemplo, un
código de carácter hexadecimal de 0x53 almacena en unaRAM DD ubicación se muestra
el carácter 'S'. La parte superior nibble de 0x53 equipara a DB [7: 4] =”0101” binario y los
más bajos equipara nibble a DB: =‘0011’binario [3 0]. Como se muestra enFigura 5-4,
Aparece el carácter 'S' en la pantalla.
personajes Inglés / romanos se almacenan en CG ROM en su dirección de código ASCII equivalente.
LCD Controller
Baja de datos
Nibble
DB0
DB3
DB2
DB1
UG230_c5_02_030306
La ROM contiene el carácter ASCII Inglés juego de caracteres y caracteres kana japoneses.
El controlador también proporciona mapas de bits de caracteres de ocho personalizados,
almacenados en CG RAM. Estos ocho caracteres personalizados se visualizan mediante
el almacenamiento de códigos de caracteres 0x00 0x07 a través de unaRAM DD
ubicación.
CG RAM
El generador de caracteres RAM (CG RAM) proporciona espacio para crear mapas de
bits de ocho caracteres personalizados. Cada ubicación de carácter personalizado
consiste en un mapa de bits de 5 puntos por 8 líneas, como se muestra enFigura 5-5.
los Conjunto CG RAM Dirección comando inicializa el contador de direcciones antes de
leer o escribir en CG RAM. CG escribir datos RAM utilizando elEscribir datos de CG
RAM o RAM DD mando y leer CG RAM usando el Leer datos de CG RAM o RAM DD
mando.
Command Set
Table 5-3 summarizes the available LCD controller commands and bit definitions.
Because the display is set up for 4-bit operation, each 8-bit command is sent as two 4-bit
nibbles. The upper nibble is transferred first, followed by the lower nibble.
Table 5-3: LCD Character Display Command Set
Upper Nibble Lower Nibble
LCD_RW
LCD_RS
Function
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
Clear Display 0 0 0 0 0 0 0 0 0 1
Return Cursor Home 0 0 0 0 0 0 0 0 1 -
Entry Mode Set 0 0 0 0 0 0 0 1 I/D S
Display On/Off 0 0 0 0 0 0 1 D C B
Cursor and Display Shift 0 0 0 0 0 1 S/C R/L - -
LCD Controller
LCD_RW
LCD_RS
Function
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
Function Set 0 0 0 0 1 0 1 0 - -
Set CG RAM Address 0 0 0 1 A5 A4 A3 A2 A1 A0
Set DD RAM Address 0 0 1 A6 A5 A4 A3 A2 A1 A0
Read Busy Flag and Address 0 1 BF A6 A5 A4 A3 A2 A1 A0
Write Data to CG RAM or DD RAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0
Read Data from CG RAM or DD RAM 1 1 D7 D6 D5 D4 D3 D2 D1 D0
Disabled
If the LCD_E enable signal is Low, all other inputs to the LCD are ignored.
Clear Display
Clear the display and return the cursor to the home position, the top-left corner.
This command writes a blank space (ASCII/ANSI character code 0x20) into all DD RAM
addresses. The address counter is reset to 0, location 0x00 in DD RAM. Clears all option
settings. The I/D control bit is set to 1 (increment address counter mode) in the Entry
Mode Set command.
Execution Time: 82 s – 1.64 ms
This bit either auto-increments or auto-decrements the DD RAM and CG RAM address
counter by one location after each Write Data to CG RAM or DD RAM or Read Data from
CG RAM or DD RAM command. The cursor or blink position moves accordingly.
0 Shifting disabled
1 During a DD RAM write operation, shift the entire display value in the direction
controlled by Bit DB1 (I/D). Appears as though the cursor position remains constant
and the display moves.
Display On/Off
Display is turned on or off, controlling all characters, cursor and cursor position character
(underscore) blink.
Execution Time: 40 s
0 No cursor
1 Display cursor
0 No cursor blinking
1 Cursor blinks on and off approximately every half second
LCD Controller
Function Set
Sets interface data length, number of display lines, and character font.
The Starter Kit board supports a single function set with value 0x28.
Execution Time: 40 s
Operation
CLOCK
LCD_RW
LCD_E
230 ns
40 ns10 ns
Upper Lower
4 bits 4 bits
LCD_RS
SF_D[11:8]
LCD_RW
LCD_E
1 s 40 s
UG230_c5_03_022006
Operation
The data values on SF_D<11:8>, and the register select (LCD_RS) and the read/write
(LCD_RW) control signals must be set up and stable at least 40 ns before the enable
LCD_E goes High. The enable signal must remain High for 230 ns or longer—the
equivalent of 12 or more clock cycles at 50 MHz.
In many applications, the LCD_RW signal can be tied Low permanently because the
FPGA generally has no reason to read information from the display.
Power-On Initialization
The initialization sequence first establishes that the FPGA application wishes to use the
four-bit data interface to the LCD as follows:
Wait 15 ms or longer, although the display is generally ready when the FPGA
finishes configuration. The 15 ms interval is 750,000 clock cycles at 50 MHz.
Write SF_D<11:8> = 0x3, pulse LCD_E High for 12 clock cycles.
Wait 4.1 ms or longer, which is 205,000 clock cycles at 50 MHz.
Write SF_D<11:8> = 0x3, pulse LCD_E High for 12 clock cycles.
Wait 100 s or longer, which is 5,000 clock cycles at 50 MHz.
Write SF_D<11:8> = 0x3, pulse LCD_E High for 12 clock cycles.
Wait 40 s or longer, which is 2,000 clock cycles at 50 MHz.
Write SF_D<11:8> = 0x2, pulse LCD_E High for 12 clock cycles.
Wait 40 s or longer, which is 2,000 clock cycles at 50 MHz.
Display Configuration
After the power-on initialization is completed, the four-bit interface is now established.
The next part of the sequence configures the display:
Issue a Function Set command, 0x28, to configure the display for operation on
the Spartan-3E Starter Kit board.
Issue an Entry Mode Set command, 0x06, to set the display to automatically
increment the address pointer.
Issue a Display On/Off command, 0x0C, to turn the display on and disables
the cursor and blinking.
Finally, issue a Clear Display command. Allow at least 1.64 ms (82,000 clock cycles)
after issuing this command.
Related Resources
Initial Design for Spartan-3E Starter Kit (Reference
Design) http://www.xilinx.com/s3estarter
PowerTip PC1602-D Character LCD (Basic Electrical and Mechanical Data)
http://www.powertipusa.com/pdf/pc1602d.pdf
Sitronix ST7066U Character LCD Controller
http://www.sitronix.com.tw/sitronix/product.nsf/Doc/ST7066U?OpenDocument
Detailed Data Sheet on PowerTip Character LCD
http://www.rapidelectronics.co.uk/images/siteimg/57-0910e.PDF
Samsung S6A0069X Character LCD Controller
http://www.samsung.com/Products/Semiconductor/DisplayDriverIC/MobileDDI/BWSTN
/S6A0069X/S6A0069X.htm
Chapter 6
Pin 5 Pin 1
Pin 10 Pin 6
Pin 15 Pin 11
DB15 VGA Connector
(front view)
DB15
Connector
270
Red
1 (H14) VGA_RED
6
11 Green
270
2 (H15) VGA_GREEN
7
12 Blue 270
3 (G15) VGA_BLUE
8 Horizontal Sync 82.5
13 (F15) VGA_HSYNC
4
9 Vertical Sync 82.5
14 (F14) VGA_VSYNC
5
10 (xx) = FPGA pin number
15
GND UG230_c6_01_021706
The Spartan-3E FPGA directly drives the five VGA signals via resistors. Each color line
has a series resistor, with one bit each for VGA_RED, VGA_GREEN, and VGA_BLUE.
The series resistor, in combination with the 75Ω termination built into the VGA cable,
ensures that the color signals remain in the VGA-specified 0V to 0.7V range. The
VGA_HSYNC and VGA_VSYNC signals using LVTTL or LVCMOS33 I/O standard
drive levels. Drive the VGA_RED, VGA_GREEN, and VGA_BLUE signals High or Low
to generate the eight colors shown in Table 6-1.
0 1 1 Cyan
1 0 0 Red
1 0 1 Magenta
1 1 0 Yellow
1 1 1 White
VGA signal timing is specified, published, copyrighted, and sold by the Video Electronics
Standards Association (VESA). The following VGA system and timing information is
provided as an example of how the FPGA might drive VGA monitor in 640 by 480 mode.
For more precise information or for information on higher VGA frequencies, refer to
documents available on the VESA website or other electronics websites (see “Related
Resources,” page 57).
VGA Display
Retrace: No
Current information
through the pixel 479,0pixel 479,639 is displayed
horizontal during
deflection this time
coil
Stable current ramp: Information is
displayed during this time
HS
The display resolution defines the size of the beams, the frequency at which the beam
traces across the display, and the frequency at which the electron beam is modulated.
Modern VGA displays support multiple display resolutions, and the VGA controller
dictates the resolution by producing timing signals to control the raster patterns. The
controller produces TTL-level synchronizing pulses that set the frequency at which
current flows through the deflection coils, and it ensures that pixel or video data is
applied to the electron guns at the correct time.
Video data typically comes from a video refresh memory with one or more bytes
assigned to each pixel location. The Spartan-3E Starter Kit board uses three bits per pixel,
producing one of the eight possible colors shown in Table 6-1. The controller indexes into
the video data buffer as the beams move across the display. The controller then retrieves
and applies video data to the display at precisely the time the electron beam is moving
across a given pixel.
As shown in Figure 6-2, the VGA controller generates the horizontal sync (HS) and
vertical sync (VS) timings signals and coordinates the delivery of video data on each
pixel clock. The pixel clock defines the time available to display one pixel of information.
The VS signal defines the refresh frequency of the display, or the frequency at which all
information on the display is redrawn. The minimum refresh frequency is a function of
the display’s phosphor and electron beam intensity, with practical refresh frequencies in
the 60 Hz to 120 Hz range. The number of horizontal lines displayed at a given refresh
frequency defines the horizontal retrace frequency.
TS
Tfp
Tdisp
Tpw Tbp
UG230_c6_03_021706
Generally, a counter clocked by the pixel clock controls the horizontal timing. Decoded
counter values generate the HS signal. This counter tracks the current pixel display
location on a given row.
A separate counter tracks the vertical timing. The vertical-sync counter increments with
each HS pulse and decoded values generate the VS signal. This counter tracks the current
display row. These two continuously running counters form the address into a video
display buffer. For example, the on-board DDR SDRAM provides an ideal display buffer.
No time relationship is specified between the onset of the HS pulse and the onset of the
VS pulse. Consequently, the counters can be arranged to easily form video RAM
addresses, or to minimize decoding logic for sync pulse generation.
Related Resources
VESA
http://www.vesa.org
VGA timing information
http://www.epanorama.net/documents/pc/vga_timing.html
Chapter 7
Pin 9 Pin 6
DB9 Serial Port Connector
(front view)
DCE DTE
Female Male DB9
DB9
54321
54321
9 8 7 6
9 8 7 6 J10
J9
GND GND
RS232_DCE_TXD
RS232_DTE_TXD
Figure 7-1 shows the connection between the FPGA and the two DB9 connectors. The
FPGA supplies serial output data using LVTTL or LVCMOS levels to the Maxim device,
which in turn, converts the logic value to the appropriate RS-232 voltage level. Likewise,
the Maxim device converts the RS-232 serial input data to LVTTL levels for the FPGA. A
series resistor between the Maxim output pin and the FPGA’s RXD pin protects against
accidental logic conflicts.
Hardware flow control is not supported on the connector. The port’s DCD, DTR, and
DSR signals connect together, as shown in Figure 7-1. Similarly, the port’s RTS and CTS
signals connect together.
Figure 7-2: UCF Location Constraints for DTE RS-232 Serial Port
Figure 7-3: UCF Location Constraints for DCE RS-232 Serial Port
Chapter 8
270
PS2_DATA: (G13)
2 1
4 3
6 5 270
PS2_CLK: (G14)
UG230_c8_01_021806
3 GND GND
4 +5V —
6 Reserved G13
Both a PC mouse and keyboard use the two-wire PS/2 serial bus to communicate with a
host device, the Spartan-3E FPGA in this case. The PS/2 bus includes both clock and
data. Both a mouse and keyboard drive the bus with identical signal timings and both
use 11-bit words that include a start, stop and odd parity bit. However, the data packets
are
TCK TCK
Edge 0 Edge 10
CLK (PS2C)
THLD
TSU
DATA (PS2D)
Keyboard
The keyboard uses open-collector drivers so that either the keyboard or the host can
drive the two-wire bus. If the host never sends data to the keyboard, then the host can
use simple input pins.
A PS/2-style keyboard uses scan codes to communicate key press data. Nearly all
keyboards in use today are PS/2 style. Each key has a single, unique scan code that is sent
whenever the corresponding key is pressed. The scan codes for most keys appear in
Figure 8-3.
If the key is pressed and held, the keyboard repeatedly sends the scan code every 100 ms
or so. When a key is released, the keyboard sends an “F0” key-up code, followed by the
scan code of the released key. The keyboard sends the same scan code, regardless if a key
has different shift and non-shift characters and regardless whether the Shift key is
pressed or not. The host determines which character is intended.
Some keys, called extended keys, send an “E0” ahead of the scan code and furthermore,
they might send more than one scan code. When an extended key is released, an “E0 F0”
key-up code is sent, followed by the scan code.