DISEÑO DE UN MÓDULO IP DE UN SINTETIZADOR … · Dispositivos Lógicos Programables,...

13
Página 1 de 13 INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES DISEÑO DE UN MÓDULO IP DE UN SINTETIZADOR DIGITAL DIRECTO SOBRE TECNOLOGÍA FPGA. (Traducción al español del documento original en idioma inglés). Ing. Abdel Martínez Alonso Email: [email protected] RESUMEN Muchos de los sistemas de Telecomunicaciones en la actualidad requieren para desarrollar sus procesos de ondas sinusoidales que se obtienen, en general, a partir de osciladores locales. Una de los métodos más rápidos y eficientes para generar señales es a través de los denominados DDS (Direct Digital Synthesizer). Los DDS presentan una excelente resolución de frecuencia, pueden ser fácilmente modulados, se los puede combinar con el PLL (Phase- Locked Loop) para ampliar su rango de trabajo y, con los procesos de integración actuales, son chips de pequeño tamaño que se instalan fácilmente en cualquier placa impresa. Algunas de las aplicaciones dentro de las cuales puede resultar ventajoso el empleo de los DDS son los Generadores de Función, Radios y Modems digitales, Moduladores Digitales, Sintonizadores, entre otras. El objetivo del presente trabajo es la proyección, diseño e implementación de un Sistema para la Síntesis Digital de Frecuencia mediante la utilización de Dispositivos Lógicos Programables, específicamente FPGAs y Lenguaje de Descripción de Hardware. Todo el proceso de diseño se ha realizado sobre la plataforma ISE 8.1 proporcionada por el fabricante Xilinx. Este paquete de programas nos permite, mediante código VHDL, implementar los distintos bloques que componen el dispositivo, permitiéndonos sintetizar el código y comprobar en todo momento que este pueda funcionar en un FPGA. Además, como soporte para la verificación del funcionamiento del módulo diseñado se ha utilizado la Tarjeta de Desarrollo Spartan 3E la cual posee el dispositivo FPGA XC3S500E de Xilinx.

Transcript of DISEÑO DE UN MÓDULO IP DE UN SINTETIZADOR … · Dispositivos Lógicos Programables,...

Página 1 de 13      

 

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

DISEÑO DE UN MÓDULO IP DE UN SINTETIZADOR DIGITAL DIRECTO SOBRE TECNOLOGÍA FPGA.

(Traducción al español del documento original en idioma inglés).

Ing. Abdel Martínez Alonso Email: [email protected]

RESUMEN

Muchos de los sistemas de Telecomunicaciones en la actualidad requieren para desarrollar sus procesos de ondas sinusoidales que se obtienen, en general, a partir de osciladores locales.

Una de los métodos más rápidos y eficientes para generar señales es a través de los denominados DDS (Direct Digital Synthesizer). Los DDS presentan una excelente resolución de frecuencia, pueden ser fácilmente modulados, se los puede combinar con el PLL (Phase-Locked Loop) para ampliar su rango de trabajo y, con los procesos de integración actuales, son chips de pequeño tamaño que se instalan fácilmente en cualquier placa impresa.

Algunas de las aplicaciones dentro de las cuales puede resultar ventajoso el empleo de los DDS son los Generadores de Función, Radios y Modems digitales, Moduladores Digitales, Sintonizadores, entre otras.

El objetivo del presente trabajo es la proyección, diseño e implementación de un Sistema para la Síntesis Digital de Frecuencia mediante la utilización de Dispositivos Lógicos Programables, específicamente FPGAs y Lenguaje de Descripción de Hardware.

Todo el proceso de diseño se ha realizado sobre la plataforma ISE 8.1 proporcionada por el fabricante Xilinx. Este paquete de programas nos permite, mediante código VHDL, implementar los distintos bloques que componen el dispositivo, permitiéndonos sintetizar el código y comprobar en todo momento que este pueda funcionar en un FPGA. Además, como soporte para la verificación del funcionamiento del módulo diseñado se ha utilizado la Tarjeta de Desarrollo Spartan 3E la cual posee el dispositivo FPGA XC3S500E de Xilinx.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 2 de 13      

 

   

1

CARACTERÍSTICAS FUNDAMENTALES DEL MÓDULO IP:

• Interfaz de comunicación serie

RS232. • Memoria ROM interna de

16Kx12. • Registro acumulador de 32 bits. • 8 perfiles de usuario con registros

de 32 bits pre-programables. • 12 bits de resolución de salida. • Reducción de niveles de espurias

mediante difuminado de fase.

DESCRIPCIÓN GENERAL:

La Síntesis Digital Directa es un método empleado para la generación de señales a partir de las muestras de amplitud de una señal sinusoidal que son almacenadas en memoria ROM. Un integrador digital o acumulador genera la información de fase que es utilizada como direcciones para mapear la ROM y obtener la forma de onda de salida deseada. El módulo diseñado incluye un acumulador de 32 bits, una ROM interna de 16Kx12 bits, un generador de secuencia pseudoaleatoria de 7 bits así como un bloque cuantificador. Todos estos módulos son interconectados de manera que al incorporar un conversor D/A en el bus de salida de 12 bits se obtiene la onda sinusoidal deseada.

EL LCT3212B ha sido diseñado para proveer saltos de frecuencia rápidos y una resolución de frecuencia fina (palabra binaria de sintonía de 32 bits). Los Comandos de Control y las Palabras Binarias de Sintonía son cargados en el dispositivo mediante un interfaz serie asíncrona compatible con el estándar RS232.

TEORÍA DE OPERACIÓN:

La generación de la señal comienza por la sintonía de una determinada frecuencia, el valor de la misma se encuentra en una Palabra Binaria de Sintonía FTW (Frequency Tunning Word) que se carga mediante el interfaz de comunicación serie.

Los componentes básicos del módulo IP LCT3212B son:

1) Acumulador de Fase: es el componente principal del DDS, tiene una resolución de 32 bits, genera una rampa lineal que contiene la información de fase de la señal que se desea generar. El acumulador de fase es un contador módulo 232 que incrementa el número almacenado cada vez que recibe un pulso de reloj. La magnitud del incremento del valor del acumulador es controlada mediante la FTW.

MÓDULO IP LCT3212B  

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 3 de 13      

 

2) Memoria ROM: Posee un tamaño de 16Kx12 bits, en ella se realiza la operación de conversión fase- amplitud. A esta memoria suele denominársele “lookup table” (LUT). Es en este bloque donde a cada uno de los valores discretos de fase se la hace corresponder un valor de amplitud de una sinusoide. La LUT sólo utilizará los 16 bits de mayor peso o más significativos de la salida del acumulador debido a que si tuviera que manejar 232 valores (4 294 967 296 direcciones de memoria) las dimensiones de la ROM serían demasiado grandes. Resulta así obvio que la salida del acumulador de fase debe “truncarse” y, de los 32 bits que salen del acumulador, sólo se utilizarán 16. Para reconstruir la onda completa entre 0 y 2π se utilizan los dos bits de mayor peso, es decir, los dos MSB del acumulador de fase, el primero de ellos, para fijar el signo, mientras que el segundo resuelve si la amplitud del seno va a ser creciente o decreciente. En esta aproximación se utilizan sólo 214 entradas de la ROM, hecho que conduce a una compresión de 4:1. Este método reduce significativamente el consumo de recursos del FPGA por concepto de memoria ROM.

3) Cuantificador: La cuantificación de fase es consecuencia del proceso de truncado debido a que el tamaño de la memoria debe reducirse de 232×12 a 216×12. El inconveniente de esta cuantificación es que introduce ruido de

fase y frecuencias espurias a la salida del DDS.

La integridad de la señal formada a partir de las muestras de amplitud de una sinusoide almacenadas en la ROM se ve afectada por los efectos de las cuantificaciones de fase y amplitud inherentes a la estructura del Sinterizador Digital Directo. La cantidad limitada de bits de los buses de dirección y datos de la ROM afectan la resolución de fase del DDS así como su resolución de amplitud; producto de este hecho aparecen efectos indeseados como el “jitter” y la cuantificación en amplitud de la señal lo que acarrea la aparición de líneas espectrales indeseadas y ruido blanco en toda la banda de trabajo. Adicionalmente, debido a la naturaleza binaria de todo el procesamiento de datos en el sistema, se realizan redondeos y aproximaciones en los valores obtenidos, siempre despreciando la parte fraccional de estos; como resultado se obtiene un jitter de fase que es causa también de la líneas indeseadas que aparecen en el espectro de la señal de salida de este dispositivo DDS.

La frecuencia de salida del DDS se obtiene en función de la frecuencia de reloj “REFCLK” del sistema, la palabra FTW y la cantidad de bits del acumulador de acuerdo con la siguiente ecuación de sintonía del DDS:

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 4 de 13      

 

La resolución de frecuencia se obtiene en función de la frecuencia de reloj “CLK” del sistema y la cantidad de bits del acumulador

Puede ser determinada utilizando la siguiente ecuación:

Siguiendo esta ecuación la resolución de frecuencia del LCT3212B sería de ¡¡ 0.012 Hz !! si se tomara como reloj de referencia una señal de 50 MHz.

REDUCCIÓN DE NIVELES DE ESPURIA UTILIZANDO DIFUMINADO

DE FASE:

Como se aprecia en la arquitectura del DDS, el cuantificador Q introduce un error en la pendiente de fase al despreciarse los 16 bits menos significativos de la salida del acumulador.

Este error de fase tiene la forma de una serie periódica la cual aparece reflejada en el espectro de salida del DDS como señales espurias. Las siguientes figuras ilustran lo expresado con anterioridad.

La figura superior representa el error de fase obtenido al tomar la diferencia entre la entrada y la salida del cuantificador, la misma sigue una distribución periódica con forma de “diente de sierra”. La figura inferior es el espectro de salida del DDS, pueden observarse claramente las señales espurias resultantes del proceso de cuantificación.

Esta estructura puede ser suprimida al romper la regularidad del error en las direcciones de entrada a la ROM producido por el proceso de cuantificación, este efecto puede lograrse al adicionar una señal aleatoria a la salida del acumulador.

Esta señal aleatoria denominada “dither” no es más que una secuencia de ruido con una varianza aproximadamente igual al peso del bit menos significativo de los 16 tomados como bus de direcciones de la memoria ROM. Esta secuencia es añadida a la señal de salida del acumulador antes de ingresar al bloque cuantificador Q.

Al utilizar esta técnica es posible mejorar el SFDR (Spurious-Free Dynamic Range) en aproximadamente 12dB en comparación con un diseño que no contara con un método de reducción de niveles de espurias. Los recursos lógicos adicionales requeridos para la implementación de este bloque no resultan significativos comparados con los recursos empleados por el resto del diseño.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 5 de 13      

 

La principal ventaja obtenida al emplear la técnica de difuminado de fase es que la estructura de líneas espectrales indeseadas en el espectro de la señal de salida desaparece, surgiendo en su lugar un piso de “ruido blanco” el cual es generalmente más deseable que la aparición de espurias en aplicaciones como los receptores digitales que emplean DDS como generadores de señal en las etapas de mezcla.

INTERFAZ SERIE RS232:

El puerto de comunicaciones serie RS232 diseñado consta de un pin para la selección del reloj SC y dos 2 pines para la recepción y transmisión de los datos DTI y DTO respectivamente. El pin DTI opera como la entrada de los datos serie, y el pin DTO como la salida de datos serie, tanto la entrada como la salida son totalmente compatibles con el estándar RS232.

El intercambio de datos en la comunicación serie se divide en dos fases: la Fase 1 es un ciclo de instrucción consistente en el envío de una palabra de 8 bits. EL bit más significativo (MSB) de la palabra de instrucción identifica la operación a realizar como de escritura o de lectura, los 6bits menos significativos (LSBs) se utilizan para indicar la dirección del registro según se define en el mapa de direcciones de registros.

Durante la Fase 2 la información es ruteada desde o hacia el registro direccionado. El byte de datos contiene parte de la información de la FTW la cual será almacenada a leída según corresponda.

Para lograr una correcta operación de transferencia o lectura de datos es necesario que se transmitan la totalidad de los bits comprendidos en ambas fases.

BANCO DE REGISTROS:

A continuación se listan todos los registros que componen el banco y sus respectivas direcciones:

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 6 de 13      

 

DESCRIPCIÓN DE LOS REGISTROS:

Cuando CLEAR (BX) = 1: Se realiza un reset sincrónico de los registros asociados a la FTW del correspondiente perfil de usuario (carga ceros en todos los registros).

FTWX: La frecuencia de salida del DDS es determinada por los 32 bits cargados en los cuatro registros que contienen la FTW del correspondiente perfil de usuario.

PERFILES DE USUARIO:

Un Perfil de Usuario consiste en un grupo específico de registros del banco de memoria. En cada Perfil de Usuario del LCT3212B se almacena una palabra binaria de Sintonía, FTW. Los perfiles son seleccionados a través de la decodificación de los valores que poseen tres pines de entrada (P1, P2 and P3) según se define en la siguiente tabla.

P0/P1/P2  PERFIL DE USUARIO

0/0/0  0 0/0/1  1 0/1/0  2 0/1/1  3 1/0/0  4 1/0/1  5 1/1/0  6 1/1/1  7

De esta forma es posible establecer un cambio rápido de los parámetros de DDS a través de la conmutación entre

Perfiles de Usuario lo cual elimina las demoras impuestas por la transmisión de datos a través del puerto serie.

INTERFAZ:

Diagrama externo del LCT3212B.

DESCRIPCIÓN DE LOS PINES:

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 7 de 13      

 

FORMATO DE TRANSMISIÓN SERIE:

La transmisión serie emplea un formato de paquetes de 8 bits. Los bits son transmitidos de forma asíncrona con 1 bit de inicio y 1 bit de parada, no se utiliza chequeo de paridad. Los bits son transmitidos de b1 a b8, siendo b8 el bit más significativo (MSB) y b1 el menos significativo (LSB).

SINCRONIZACIÓN DEL SISTEMA:

La señal de sincronía del sistema es suministrada a través del pin de entrada REFCLK, este reloj sirve de referencia para la señal interna SYNCLK cuya frecuencia es una función de la frecuencia de REFCLK y puede obtenerse según la siguiente ecuación:

El usuario determina si la señal de referencia para el interfaz serie RS232 será provista internamente o desde un dispositivo externo mediante el pin de selección SC. Cuando se establece un nivel bajo en la entrada SC el reloj de referencia del interfaz de comunicación serie será interno.

Este modo de trabajo debe establecerse solo cuando REFCLK posea alguno de los valores mostrados en la siguiente tabla:

De manera adicional, la señal puede ser suministrada a través del pin de entrada SYSCLK al poner un nivel lógico alto en el pin de selección SC, esta señal de referencia debe tener alguno de los valores de frecuencia que a continuación se tabulan.

El pin de salida SYNCLK es utilizado para proveer al usuario de una señal de referencia de 50 % de ciclo útil y valor de frecuencia igual al de la señal de sincronía interna SYNCLK.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 8 de 13      

 

ARQUITECTURA

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 9 de 13      

 

DIAGRAMA DE FLUJO. INTERCAMBIO DE MENSAJES EN EL

LCT3212B:

Escritura

Lectura

PALABRAS DE CONTROL:

• ACK, del inglés Acknowledge: Carácter de control de transmisión transmitido por un

receptor como respuesta afirmativa al emisor.

• IS1, del inglés Information Separator One: Carácter de control utilizado para separar y calificar datos en un sentido lógico; recepción válida del primer byte de datos.

• IS2, del inglés Information Separator Two: Carácter de control utilizado para separar y calificar datos en un sentido lógico; recepción válida del segundo byte de datos.

• IS3, del inglés Information Separator Three: Carácter de control utilizado para separar y calificar datos en un sentido lógico; recepción válida del tercer byte de datos.

• IS4, del inglés Information Separator Four: Carácter de control utilizado para separar y calificar datos en un sentido lógico; recepción válida del cuarto byte de datos.

• NAK, del inglés Negative Acknowledge: Carácter de control de transmisión transmitido por un receptor como respuesta negativa al emisor.

• EOT, del inglés End of Transmission: Carácter de control de transmisión utilizado para indicar el fin de la transmisión de uno o más textos.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 10 de 13      

 

Todas las palabras de control han sido definidas según la Especificación del juego de caracteres C0 del Alfabeto Internacional de Referencia especificado en la Recomendación T.50 del Comité Consultivo Internacional Telegráfico Y Telefónico (CCIT).

DISEÑO E IMPLEMENTACIÓN:

Para el diseño del sistema utilizando

VHDL (Vhsic Hardware Description

Language) se ha empleado el conjunto

integrado de herramientas que ofrece el

software ISE™ 8.2i. ISE™ es el paquete

de software de Xilinx que permite

realizar todo el flujo del diseño del

sistema digital cualquiera sea el método

utilizado para diseñar el circuito (HDLs,

esquemáticos, etc.), el proceso pasa

desde la definición del circuito por el

desarrollador hasta tenerlo funcionando

sobre un FPGA e implica varios pasos

intermedios y en general se utilizan una

variedad de herramientas.

Como soporte para la implementación del diseño del sistema se utiliza la tarjeta de desarrollo “Spartan-3E Starter Kit” la cual constituye un medio idóneo para la creación de prototipos de sistemas digitales.

Tarjeta de desarrollo Spartan 3E

Los componentes de esta tarjeta que se

emplearon en el diseño fueron:

• Integrado XC3S500E (FPGA

Spartan-3E), fabricante Xilinx.

• Conector DB9 para la interfaz

serie RS232.

• Generador de señal de reloj a 50

MHz, utilizada como señal de

entrada REFCLK.

• Conectores de expansión Digilent

de 6 pines empleados como

salidas del módulo hacia el

conversor D/A.

• 1 Interruptor para generar la

señal de reset del sistema.

• 3 teclas conectadas a los pines

P1, P2 y P3 para conmutar entre

los diferentes Perfiles de usuario.

• 1 tecla para la señal de entrada

OEN.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 11 de 13      

 

Montaje del sistema.

CONVERSOR D/A:

La matriz R/2R constituye una forma barata y sencilla de realizar la conversión digital-analógica. Estas redes son conformadas a partir de resistencias de dos valores solamente, sin importar la cantidad de bits de entrada, el valor particular de las resistencias no es crítico siempre y cuando se mantenga la relación R/2R.

Esquemático de la matriz R2R.

Layout de la matriz R/2R.

VERIFICACIÓN Y VALIDACIÓN DEL DISEÑO.

Una vez finalizada la parte del diseño

correspondiente a la programación

mediante el uso del lenguaje de descripción

de hardware VHDL se pasa a la

comprobación del código mediante el uso

de la herramienta ModelSim soportada por

Xilinx. ModelSim es un entorno de

modelización y simulación que permite la

verificación de los diseños generados con

código VHDL y a partir de la cual se

depuraron y corrigieron los errores

cometidos durante el diseño.

Simulación funcional

Luego de la depuración de errores en el

código y montado el diseño en la tarjeta de

desarrollo de Xilinx “Spartan-3E Starter Kit”

se procede a la comprobación práctica del

diseño. Para enviar mensajes de datos

hacia la tarjeta a través del interfaz RS232

de la PC se utiliza el software LookRS232.

Además, se realizaron mediciones con el

objetivo de comprobar las características

del espectro y forma de onda de la señal de

salida utilizando como herramienta el

osciloscopio digital HM1508.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 12 de 13      

 

Señal de salida, frecuencia 5MHz, REFCLK = 50 MHz.

Espectro de la señal de salida, frecuencia 5MHz, REFCLK = 50 MHz.

CONCLUSIONES

Se encontró la técnica de Sintesis Digital Directa como válida para dar solución al problema de la generación de patrones de onda sinusoidal.

Se diseñó y puso a punto el módulo IP de generación de señales a tal efecto y se implementó en la Tarjeta de Desarrollo Spartan 3E para su comprobación. En las pruebas realizadas se evidenció el buen funcionamiento del diseño propuesto así como la repetitividad en las mediciones realizadas. Además, por la propia naturaleza del método de generación, se garantizan una elevada exactitud y estabilidad en el tiempo de los parámetros de interés.

INSTITUTO DE INVESTIGACIÓN Y DESARROLLO DE TELECOMUNICACIONES

 

Página 13 de 13      

 

BIBLIOGRAFÍA BÁSICA:

1. Xilinx. Hoja de datos.Spartan-3E FPGA Family:Complete Data Sheet. [Online] abril 2008.

2. Xilinx. Spartan-3E Starter Kit Board User Guide. [Online]. March 9, 2006

3. Técnica y Diseño. Síntesis Digital

Directa de Frecuencias, DDFS.

[Online].2004.

4. Analog Devices DDS Tutorial. 1999.

(3) A Technical Tutorial on Digital Signal

Synthesis.- Analog Devices.- 1999.

5. Bar-Giora Goldberg. Digital Frequency Synthesis Demystified. LLH Technology Publishing, 1999. ISBN

1-878707-47-7

6. Analog Devices Inc. Sitio Web de la IEEE. [En línea]

7. Analog device. AD9858 1 GSPS Direct Digital Synthesizer. Sitio web

de Analog device. [En línea]. 2003

8. Xilinx. Hoja de datos. DDS v5.0. [En línea]. April 28, 2005 

9. Juan Antonio Guerrero Balmori. Diseño e implementación con FPGA de un demodulador para comunicaciones digitales. 2006.

10. Pedroni, Volnei A. Circuit Design

with VHDL. Cambridge : Massachusetts

Institute of Technology, 2004. ISBN 0-

262-16224-5.

11. Kilts, Steve. Advanced FPGA

design: Architecture, Implementation,

and Optimization. New Jersey : John

Wiley & Sons, Inc., Hoboken, 2007.

ISBN 978-0-470-05437-6.

12. Wilson, Peter R. Design recipes for

FPGAs. 2007. ISBN: 978-0-7506-6845-

3.

13. Kraig Mitzner. Complete PCB Design Using OrCad Capture and Layout. Elsevier Inc. 2007.