Xilinx Spartan 3A
La familia de FPGA Spartan-3A resuelve los desafíos de diseño en la mayoría electrónica de alto
volumen, sensible a los costos y con aplicaciones de uso intensivo de E/S.
Las nuevas características en comparación con otros FPGA mejoran el rendimiento del sistema y
reducen el costo de configuración. Estas mejoras de la familia Spartan-3A combinado con
tecnología de proceso probada de 90 nm, ofrece más funcionalidad y ancho de banda por dólar
que nunca antes estableciendo el nuevo estándar en la industria de la lógica programable.
Debido a su costo excepcionalmente bajo, los FPGA Spartan-3A son ideales para una amplia gama
de aplicaciones de electrónica de consumo, incluido el acceso de banda ancha, redes domésticas,
visualización/proyección y equipos de televisión digital.
La arquitectura de la familia Spartan-3A consta de cinco elementos funcionales programables
fundamentales:
• Los bloques lógicos configurables (CLB) contienen tablas de búsqueda (LUT) flexibles que
implementan lógica además de elementos de almacenamiento utilizados como flip-flops o
pestillos. Los CLB realizan una amplia variedad de funciones lógicas además de almacenar datos.
• Los bloques de entrada/salida (IOB) controlan el flujo de datos entre los pines de E/S y la lógica
interna del dispositivo. Los IOB admiten flujo de datos bidireccional más operación de 3 estados.
Admite una variedad de estándares de señal, incluidos varios estándares diferenciales de alto
rendimiento. Se incluyen registros de doble velocidad de datos (DDR).
• Block RAM proporciona almacenamiento de datos en forma de bloques de doble puerto de 18
Kbit.
• Los bloques multiplicadores aceptan dos números binarios de 18 bits como entradas y calculan
el producto.
• Los bloques Digital Clock Manager (DCM) proporcionan soluciones totalmente digitales y
autocalibrantes para distribuir, retrasar, multiplicar, dividir y desfasar señales de reloj.
Arquitectura interna Spartan 3A
El Spartan 3A incluye consigo mismo distintos periféricos conectados a los pines de E/S con los
cuales el propio chip puede interactuar , como lo son puertos VGA, salida auxiliar de audio y un
DAC (convertidor digital analógico) el cual se utiliza para generar una señal digital dentro del chip y
posteriormente convertirla a digital (sonido, imagen, etc.) por medio del DAC.
Chip Spartan 3A con sus periféricos integrados.
DAC LTC2624
La placa FPGA Spartan-3A incluye un convertidor digital a analógico (DAC) serial de cuatro canales
compatible con SPI. El dispositivo DAC es un DAC cuádruple Linear Technology LTC2624 con
resolución sin signo de 12 bits. Las cuatro salidas del DAC aparecen en el header J21, que utiliza el
formato del módulo periférico de seis pines de Digilent. El DAC y el encabezado están ubicados
inmediatamente debajo del conector Ethernet RJ-45, como se muestra en la Figura
Comunicación SPI
Como se muestra en la Figura, la FPGA utiliza una interfaz periférica en serie (SPI) para comunicar
valores digitales a cada uno de los cuatro canales DAC. El bus SPI es un canal full-duplex, síncrono y
orientado a caracteres que emplea una interfaz simple de cuatro cables. Un bus maestro (en este
ejemplo, FPGA) controla la señal de reloj del bus (SPI_SCK) y transmite datos en serie (SPI_MOSI)
al bus esclavo seleccionado (el DAC en este ejemplo). Al mismo tiempo, el bus esclavo proporciona
datos en serie (SPI_MISO) al bus maestro.
diagrama conexiones DAC-
FPGA
La salida de datos en serie del DAC se utiliza principalmente para conectar en cascada varios DAC.
Esta señal se puede ignorar en la mayoría de las aplicaciones, aunque demuestra comunicación
full-duplex a través del bus SPI.
Protocolo de comunicación
La Figura muestra el protocolo de comunicaciones necesario para interactuar con el DAC LTC2624.
El DAC admite protocolos de 24 y 32 bits. Se muestra el protocolo de 32 bits. Dentro del DAC, la
interfaz SPI está formada por un registro de desplazamiento de 32 bits. Cada comando de 32 bits
La palabra consta de un comando y una dirección, seguidos de un valor de datos. Cuando un
nuevo comando ingresa al DAC, la palabra de comando anterior de 32 bits se transmite al maestro.
La respuesta del DAC se puede ignorar, aunque es útil para confirmar la comunicación correcta.
La FPGA primero envía ocho bits ficticios o no importa, seguidos de un comando de cuatro bits. El
comando más comúnmente utilizado con la placa es COMMAND[3:0] = 0011 binario, que actualiza
inmediatamente la salida DAC seleccionada con el valor de datos especificado. Después del
comando, la FPGA selecciona uno o todos los canales de salida del DAC a través de un campo de
dirección de cuatro bits. Después del campo de dirección, la FPGA envía un valor de datos sin signo
de 12 bits que el DAC convierte en un valor analógico en las salidas seleccionadas. Finalmente,
cuatro bits ficticios o no importantes adicionales rellenan la palabra de comando de 32 bits.
Diagrama a bloques
DAC LTC2624
Interfaz de serie
La entrada CS/LD se activa por nivel. Cuando esta entrada se baja, actúa como una señal de
selección de chip, activando los buffers SDI y SCK y habilitando el registro de desplazamiento de
entrada. Los datos (entrada SDI) se transfieren en los siguientes 24 flancos ascendentes SCK.
Primero se carga el comando de 4 bits, C3-C0; luego la dirección DAC de 4 bits, A3-A0; y finalmente
la palabra de datos de 16 bits. La palabra de datos comprende el código de entrada de 16, 14 o 12
bits, ordenado de MSB a LSB, seguido de 0, 2 o 4 bits no importa.
Tabla de códigos de comandos y direcciones
Codificación de
entrada.
También es bueno observar los tiempos en que las señales dentro del DAC trabajan, para esto se
tiene el diagrama de tiempos que muestra los pulsos de las entradas y salidas.
Diagrama de tiempos.