Está en la página 1de 6

A. DISEÑO DE UN DDS (DIRECT DIGITAL SYNTHESIS) PARA GENERACIÓN DE SEÑALES.

Para la implementación del generador de señales se hace indispensable la utilización de la primera parte de
este laboratorio pues es de vital importancia la utilización de la señal de reloj del ADC 0808 y de la señal de
muestreo.

Para almacenar la información de las señales (senoidal, triangular y emulación de un circuito de media onda y
onda completa) en las memorias ROM se hace necesario la creación de archivos. mif en el software matlab;
los cuales llevan la información para la construcción de las ondas:

A continuación, la ecuación característica de la señal senoidal y la gráfica 1 evidenciando el correcto


funcionamiento

Grafica 1. Grafica de la función senoidal con amplitud de 255 y frecuencia de 1024

A continuación, la descripción de la señal rectificador onda completa en Matlab y la gráfica 2 evidenciando el


correcto funcionamiento de la señal
Grafica 2. Grafica de la función rectificador onda completa con amplitud de 255 y frecuencia de 1024

A continuación, la ecuación característica de la señal triangular y la gráfica 3 evidenciando el correcto


funcionamiento de la señal:

Grafica 3. Grafica de la función triangular con amplitud de 255 y frecuencia de 1024

A continuación, la descripción realizada en Matlab para la señal rectificador-media onda con la gráfica 4
evidenciando el correcto funcionamiento de la señal:
Grafica 4. Grafica de la función media onda con amplitud de 255 y frecuencia de 1024
1) Funcionamiento del generador de señales

Para el generador de señales se utilizó el ADC0808 y un DAC0808 para generar las señales triangulares,
rectificador onda completa, sinusoidal y rectificador media onda, también se utilizaron dos potenciómetros
uno para variar la frecuencia entre 100 Hz y 10KHZ y otro para la amplitud de las señales generadas. A
continuación, se describe el diseño y funcionamiento del generador:
El generador de señales implementado consta de 5 bloques principales los cuales son:
Acondicionamiento para el NCO de frecuencia, antes de proceder al acumulador de fase (NCO) el cual es el
encargado de variar la frecuencia, se hace necesario acondicionar el dato proveniente del ADC para ello se
toma la ecuación con la que se describe las variaciones de frecuencia necesarias y el rango de salida, para este
caso el NCO está construido con un registro de 32 bits.

fo
∆ ACM = 2N [ fclk
+0.5 ] (1)

Para 100Hz se obtuvo:


100 Hz
∆ ACM = 232 [ 50 MHz ]
+ 0.5 = 8590

Para 10KHz se obtuvo:


10 kHz
∆ ACM = 232 [ 50 MHz ]
+ 0.5 = 858993

se obtuvo la recta de estos valores con respecto al dato máximo del ADC0808 que es 255.

1000000
900000
dato acondicionado(NCo)

800000
700000
600000
500000
400000
300000
200000
100000
0
0 51 102 153 204 255
dato dac
Grafica 5. Relación el dato entrada ADC y el de salida acondicionada al NCO.

858993−8590
m= =3334
255

dat ofrecuecuencia =datoADC∗3334 +8590

Para hacer este valor más preciso se multiplico m por 216 y se tomaron los bits mas significativos de esta
multiplicación para sumarlos con b q es 180. En la siguiente figura se muestran los componentes del bloque
de acondicionamiento:

Diagrama 3, acondicionamiento para obtener el FWC

1) Posteriormente se realizó un acumulador de fase donde es sabido que una onda senoidal continua se
puede desarrollar mediante un vector giratorio. El acumulador de fase es un contador de módulo 2N que
incrementa su número almacenado cada vez que recibe un impulso de reloj. Esto se realizó sumando los
datos del FCW con los datos de un registro de desplazamiento PIPO de 32 bits y el resultado de esta
suma va al mismo registro PIPO, la frecuencia de salida “fO” estará determinada por la palabra FCW, es
decir, por el salto ACM de acuerdo con la siguiente ecuación 3 de sintonía del DDS:

ACM
fo= ∗fclk (2)
2N

Diagrama 4, NCO para la variación de frecuencia.

2) Luego se crearon 4 memorias ROM de 1024 bits con 10 líneas de selección para almacenar los datos de
la señal triangular, senoidal, onda completa y media onda obtenidos de un archivo .mif creado en Matlab
para cada señal, las líneas de dirección o address provienen de los 10 bits más significativos del registro
PIPO de 32 bits del acumulador de fase.
Diagrama 5, memorias para cada una de las señales.

3) Para seleccionar el dato de las memorias contenido en 8 bits se realizó mediante multiplexores
comparando con el dato de entrada de selección que puede ser 00, 01, 10 o 11, estos datos se envían al
siguiente bloque el cual es el NCO para la variación de amplitud.

Diagrama 6, selección de la señal de salida.

4) Finalmente, para la variación de amplitud se multiplican los datos provenientes de la memoria


seleccionada con los datos del ADC0808 de la entrada analógica para amplitud que proviene de un
potenciómetro y se toman los 8 bits más significativos del resultado de esta multiplicación y estos datos
se envían al DAC0808 para obtener la señal de salida.
Diagrama 7, acondicionamiento para la variación de amplitud.

Es de aclarar que los datos provenientes del AD0808 para variar frecuencia y amplitud son utilizados
solamente o por el NCO de frecuencia o por el de amplitud; y el reset y la señal de reloj es común con todos
los bloques; para el control del ADC0808 es decir las señales de reloj se utilizó de 500KHz y la de muestreo
de 5KHz.

También podría gustarte