Está en la página 1de 4

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <

DISEO E IMPLEMENTACIN DE UN FILTRO DIGITAL PASA-BAJO CON SUS INETRFACES SPI PARA EL ADC Y DAC EN FPGA UTILIZANDO VHDL
Mauricio Barrios1, Gisella Borja1 y Meglys Perez2, Member, IEEE

ResumenLos filtros electrnicos es una parte del procesamiento de seales que por lo general hay en todo sistema de seales. Pero a la hora de realizar una modificacin se debe cambiar el circuito. Pero gracias a la FPGA se puede implementar filtros de alto orden que al momento de hacer un cambio, solo se necesita reconfigurar la FPGA. Este proyecto aclara el tema de implementacin de filtros digitales en FPGA y de sus interfaces con el mundo exterior. Palabras ClavesFiltro Digital, DAC, ADC, VHDL, aliasing, cuantizacion, frecuencia de muestreo.

Para la realizacin del proyecto se dividi en tres fases. Ver figura 1.

Figura 1. Diagrama General De las cueles son: 1. interfaz de conversin A/D 2. Filtrado de de la seal(implementacin de la funcin de transferencia) 3. Interfaz de la conversin D/A La Interfaz de la conversin ADC. Esta interfaz esta compuesta por el convertidor MCP3301 de Microchip que es un convertidor de Anlogo a Digital de aproximaciones sucesivas de entrada diferencial de 12bits y un bit de signo. Filtrado de la seal Esta etapa se implemento una descripcin a nivel de Hardware de un filtro butterworth de segundo orden y con frecuencia de corte igual a 0.3*pi con ganancia unitaria en la banda de paso. La interfaz de la conversin DAC. Esta interface est compuesta por el convertidor MCP4921, de la casa fabricante Microchip que es un convertidor de digital a anlogo de arquitectura de resistencia en cascada con 12 bits de conversin y la posibilidad de entregar ganancia. Implementacin de Hardware La implementacin fsica se hace en la FPGA Spartan 3E de Xilinx, ver figura 2, la cual trabaja con una frecuencia de reloj de 50MHz, este es dividido en dos frecuencias a travs de un contador de de 22 bits. Una frecuencia de aproximadamente

I. INTRODUCTION Un FPGA es un dispositivo cuyas caractersticas pueden ser modificadas, manipuladas o almacenadas mediante la programacin en hardware. La arquitectura de un FPGA consiste en arreglos de celdas lgicas, las culeas contienen arreglos de compuertas lgicas, as como registros y multiplexores. Mediante estos recursos se puede implementar funciones matemticas y almacenamiento de datos. Dada a la gran densidad de compuertas con las que cuentan, es posible implementar sistemas digitales muy complejos, entre los que se destaca el filtrado digital. Adems, en una FPGA es posible realizar modificaciones de ltimo minuto sin que esto implique grandes alteraciones en hardware o en el software [1]. Los filtros digitales son sistemas lineales e invariantes en el tiempo que modifica el espectro en frecuencia de la seal de entrada X(w), segn la respuesta que tenga en frecuencia H(w), para dar lugar a una seal de salida con espectro Y(w)=H(w)*X(w). En cierto sentido, H(w) acta como una funcin de ponderacin o funcin de conformacin espectral para las diferentes frecuencias de la seal de entrada[2]. Los sistemas LTI se clasifican como: FIR que se caracteriza por ser sistemas no recursivos e IIR que se distingue por tener retroalimentacin en la seal [3]. II. METODOLOGIA

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < de 1,5MHz para el reloj de los ADC y DAC para tener una sincrona entre ellos y conocer cada pulso. Otra es la frecuencia de muestreo de 12,5kHz.

Diseo del Filtro Calculo de la funcin de transferencia Para los clculos se empleo el FDA Tool de Matlab, herramienta que permite obtener la funcin de transferencia del sistema, es decir, los coeficientes y los parmetros como la respuesta de frecuencia, la respuesta de fase, diagrama de polos y ceros y la respuesta al impulso, entre otros. El diseo se realizo bajo las siguientes especificaciones, ver Tabla 1.

Figura 2. Implantacin del filtro. Implementacin del ADC Se diseo en forma jerrquica a travs de tres componentes. Un registro de serial a paralelo, un contador de 5 bits y una maquina de estado. El contador ayuda a dividir la frecuencia del reloj de 50MHz a 1,5MHz aproximadamente, para enviarlo por el reloj del ADC y tener una secuencia del pulso y la finalizacin de la toma de muestra de un valor. El registro serial a paralelo, permite que los datos provenientes del ADC en forma serial sean transformado en paralelo. La mquina de estado mantiene un control secuencial de los diferentes estados que posee el ADC. Tabla 1. Requisitos del filtro. La funcin de transferencia es la siguiente: y[n]=b0*x[n]+b1*x[n-1]+b2*x[n-2]-a1*y[n-1]-a2*y[n-2] La forma directa II se muestra en la figura 4.

Fig. 4. Forma directa II Siendo los coeficientes del filtro en punto flotante y punto fijo en formato 16Q8 los que se muestran en la Tabla 2.

Coeficientes bo b1 b2 a1 a2
Figura 3. Maquina de estado del ADC. En la figura 3 se muestra la mquina de estado, la cual el estado inicial es 1 y C es el contador de los estados del la comunicacin del ADC y est incorporado el contador en la descripcin del hardware del la mquina de estado. Las seales H es la habitacin a convertir A/D y cs es el chip select del ADC y enr es el habilitador del registro serial al paralelo.

DP 0,13111 0,26221 0,13111 -0,74779 0,27221

PF16Q8 0021h 0043h 0021h FF41h 0045h

Tabla 2. Coeficientes en formato DP y PF16Q8 Descripcin del filtro en VHDL El sistema se diseo mediante una estructura comportamental algortmica y jerrquica por entidades, el circuito se describi mediante procesos secuenciales e incluyo el uso de maquinas de estados. Para la descripcin de las multiplicaciones, fue necesaria la conversin de los

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < coeficiente obtenidos aun formato digital. El esquema que se desarrollo para el filtro fue el que se muestra en la figura 5, primero se diseo un grupo de 5 registros, tres sumadores y cinco multiplicadores, ver figura 6. Todo aquello funcione en sincrona a travs de una maquina de estado o unidad de control para controlar los procesos del filtrado digital, la cual se muestra su carta ASM en la figura 7.

Tambin conocer la finalizacin de la conversin de los datos. El registro paralelo a serial, permite que los datos provenientes del filtro en forma paralela sean transformado en serial para enviarlo al SDK del DAC. La mquina de estado mantiene un control secuencial de los diferentes estados que posee el DAC para la escritura del dato a convertir. En la figura 8 se muestra la mquina de estado, la cual el estado inicial es 1 y C es el contador de los estados del la comunicacin del DAC, est incorporado el contador en la descripcin del hardware del la mquina de estado. Las seales H es la habitacin a convertir D/A y sc es chip select del DAC y enr es el habilitador del registro paralelo a serial.

Figura 5. Diagrama comportamental del Filtro

Figura 6. Circuito interno del filtro.

Figura 8. Maquina de estado del DAC. III. RESULTADOS En la prueba del filtro se utiliza una seal senoidal de 1Vpp con un frecuencia variable entre la banda de paso y de rechazo. Como se muestra en la figura 9, a frecuencias por debajo de 1,8KHz la seal de entrada pasa sin ninguna distorsin. En cambio a frecuencias por encima de 1,8KHz, la seal de salida tiende a ser cero dependiendo de la banda de transicin. Ver figura 10. En la tabla 3, se muestra los voltajes de salida con respecto a la frecuencia de la seal. Es interesante que a una frecuencia de 1,8KHz el voltaje de salida es 0,78V, es decir, -3dB. A una frecuencia de 6kHz o 7kHz la seal es muy atenuada, en cambio a seales por encima de la mitad de la frecuencia de muestreo presenta una recuperacin del voltaje, debido a que se presenta el fenmeno de aliasing.

Figura 7. Carta ASM de la unidad de control En esta carta indica, que en el estado RESET se enva un alto a la salida RDY y se pregunta el valor de RST, si es cero, vuelve al estado de RESET, si es 1, va al estado READY, el cual enva un alto a RDY y LDX, que significa cargar el valor del registro X y estoy listo para el prximo y pregunta, si go es 0, para seguir en este estado o si es uno, va al estado IIR, el cual enva un alto al primer registro de los coeficientes para despus ir a cargar los datos de los dems registros para obtener la salida a travs de la bandera de LDY. Implementacin del DAC Se diseo en forma jerrquica a travs de dos componentes. Un registro de paralelo a serial y una maquina de estado que tiene incorporado un contador de 5bits. El contador ayuda a tener una secuencia de los pulso del DAC y de esa forma conocer cuando enviar los datos y el cdigo.

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < IV. DISCUSION

Figura 9. Grafica de la seal en la banda de paso.

Los filtros digitales cuentan con muchas ventajas que lo hacen ms atractivos que sus predecesores analgicos. Al utilizar dispositivos programables, como un FPGA, la funcin de transferencia del filtro puede ser transformada sin ms modificaciones que la reconfiguracin del dispositivo. Por lo que un simple diseo en hardware de un filtro digital puede implementar una gran variedad de filtros, sin que esto implique modificaciones en el circuito. Las funciones de transferencia de los filtros digitales cuentan con rigurosas especificaciones, como las frecuencias que se desea, sean rechazadas o puedan ser extremadamente atenuadas sin sacrificar el ancho de banda que se est filtrando. Tambin existe el grave problema del ruido provocado por la cuantizacion, que se puede resolver con un filtro de reconstruccin, pero este es analgico. Igualmente sucede con la seal de entrada, sino pasa antes por un filtro de antialiasing, la seal saldr por la salida del filtro digital con sus componentes de aliasing. Un esquema propuesto para realizar un filtro y evitar los fenmenos de cuantizacion y aliasing es el que se muestra en la figura 11.

Figura 11. Diagrama de un filtro completo V. CONCLUSIONES Figura 10. Grafica de la seal en la banda de rechazo.
Out(Vpp) 1 1 1 1 1 1 1 1 0,94 0,9 0,8 0,78 0,64 0,61 0,54 0,22 0,16 0,12 0,1 0,12 0,24 0,36 0,46 0,84 1 Frecuency(Hz) 2 4 10 50 100 200 400 1000 1330 1425 1600 1800 2000 2500 3333 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000

El procedimiento de diseo de los filtros digitales, incluye el clculo de una funcin de transferencia, que es la base del proceso. Este paso, puede ser facilitado y optimizado, mediante el uso de Matlab. VHDL es una herramienta de descripcin de Hardware muy verstil, que incluye todas las ventajas de los HDL, como la modificacin de estructura y rediseo de circuitos de forma rpida , lo cual permite la realizacin de mltiples pruebas y variaciones, hasta conseguir el diseo ideal. El uso de estructuras secuenciales como los process y las maquinas de estado permite describir el comportamiento del circuito en forma abreviada. El uso de una FPGA, para la implementacin fsica de circuitos digitales, facilita la etapa de pruebas del circuito, debido a que puede ser reconfigurada mltiples veces, lo cual evita sobre costos en la maquina. REFERENCIAS
[1] BOLUDA, Jose y PARDO, Fernando. VHDL Lenguaje para Sintesis y Modelado de Circuitos. Segunda edicin Actualizada. Espeaa: Alfaomega 2004 p251. MANOLAKIS, Dimitris G y PROAKIS, Jhon G. Ttatamiento digital de Seales Principio, Algoritmos y aplicaciones Tercera edicion. Madrid: Prentice Hall, 1998. p.976. NAWAB, S. Hamid, OPPENHEIM, Alan V. y WILLSKY, Alan S.Seales ySistemas, Segunda edicio nMexico: Prentice Hall, 1998. p.956.

[2]

[3]

Tabla 3. Estudio de la respuesta en frecuencia Vs voltaje

También podría gustarte