NCO

Written by: Holguer A Becerra

Requerimientos:

Para entender el modulo del NCO debemos tener como referencia la documentación que brinda Altera:

  1. http://www.altera.com/literature/ug/ug_nco.pdf

  2. DDS Tutorial en Espanol Revista Espanol de Electronica.

Desarrollo:

    • Tenga una plantilla generada desde el system builder de la DE0-NANO.

    • Ahora en Quartus II abra el megawizard y cree un elemento "DSP->Signal Generation->NCO" nuevo que usted llamara "mi_nco" y lo creara en Verilog HDL.

    • Ahora se debe parametrizar el modulo para esto debe oprimir en el boton "Parameterize" de la nueva ventana emergente.

    • Modifique las diferentes pestañas de la ventana emergente para que se vea como aparece a continuación y luego oprima el botón finish

    • Ahora oprima el boton "Generate", espere y oprima el boton "Exit" y nuevamente espere y oprima "yes"

    • Ahora instancia el modulo en la plantilla del proyecto Quartus de la siguiente manera, descargue el archivo "mono_dac.v":

    • Al bus de 32 bits "div_freq_nco" se le están asignando unos valores fijo que variaran a la entrada del "mi_nco->phi_inc_i" de acuerdo a esto se generara una señal a la salida "f_sin" y "f_cos" a una determinada frecuencia en forma de SENO o COSENO, la formula para calcular la frecuencia de salida es la siguiente y se puede encontrar en detalle el datasheet del NCO.

    • Una vez entienda la relación de los valores, genere el proyecto y programe la FPGA con el respectivo .SOF, se dará cuenta que al variar los SW usted escuchara 1 Octava del Piano, en variaciones de SENO y COSENO, si conecta un audífono a la salida GPIO[11].

    • Puede utilizar el siguiente software para usar la entrada de audio "Line In" de su PC como Osciloscopio o Analizador de espectro, para ver la señal de salida de mono_dac(varie Volume a 3'd5 para no saturar el canal de audio).

Puede Descargar la Solución para guiarse.