Re: VHDL para NCO

S

Sheriff Welsen

Guest
Hola cada cuerpo,

¿Podría alguien me de una aplicación de código VHDL el control numérico Osc.NCO "DDS".Creado después de 2 minutos:¿Podría proporcionarme con una descripción de los recursos NCO, ejemplo típico TUS o utilizando cualquier otro método que podría aplicarse en FPGAs.

 
Hola,
Aquí está un ejemplo de oscilador Qadrature construir y yo testted sobre FPGA.
Es un oscilador de onda sinusoidal.
Me envió este código aquí algún tiempo atrás también lo fue en Verilog.

Código:

biblioteca ieee;

ieee.std_logic_1164.all uso;

ieee.std_logic_unsigned.all uso;

entidad es sine_cospuerto (

clk: en std_logic;

restablecer: en std_logic;

es: en std_logic;

sine: buffer std_logic_vector (7 downto 0);

cos: buffer std_logic_vector (7 downto 0));sine_cos final;

behave_sine_cos de la arquitectura es sine_cos

señal sine_r, cos_r: std_logic_vector (7 downto 0);

comenzar - behave_sine_cos

sine <= sine_r (cos_r (7) y cos_r (7) y cos_r (7) y cos_r (7 downto 3));

cos <= cos_r - (sine (7) y condición (7) y condición (7) y condición (7 downto 3));registros: proceso (clk, reset)

comenzar - proceso de registros

si reset ='0 'y luego - restablecer asíncrono (activo bajo)

sine_r <= "00000000";

cos_r <= "01111000";

y clk'event elsif clk ='1 'y luego - el aumento de reloj borde

if (en ='1 ') then

sine_r <= sine;

cos_r <= cos;

END IF;

END IF;

proceso de fin de registros;

behave_sine_cos final;-------------------------------------------------- -----------------------------

- Testbench

-------------------------------------------------- -----------------------------biblioteca ieee;

ieee.std_logic_1164.all uso;entidad es sine_cos_tbsine_cos_tb final;

se comportan de la arquitectura es sine_cos_tb

componente sine_cos

puerto (

clk: en std_logic;

restablecer: en std_logic;

es: en std_logic;

sine: buffer std_logic_vector (7 downto 0);

cos: buffer std_logic_vector (7 downto 0));

componente final;

señal clk: std_logic: ='0 ';

restablecimiento de la señal: std_logic: ='0 ';

señal es: std_logic: ='1 ';

señal sinusoidal: std_logic_vector (7 downto 0);

cos señal: std_logic_vector (7 downto 0);comenzar - comportarse

clk <= clk transporte no después de 5 ns;u1: sine_cos

Mapa del puerto (

clk,

restablecimiento,

en,

sine,

cos);

proceso

comenzar - proceso

esperar 50 ns;

restablecer <='1 ';

esperar a 10000 ns;

esperar;

proceso final;final se comportan;

 
Hola Sherif,
Un suboficial de diseño solo tiene 2 grandes bloques.
Acumulador de fase, TUS ROM (para almacenar el seno de los ángulos de fase y lechuga romana).
He adjuntado un documento de diseño del suboficial, esto da una explicación detallada de los bloques que he mencionado anteriormente.
Espero que esta ayuda
Lo sentimos, pero necesita acceso para ver este archivo adjunto

 
Gracias, por ejemplo.
Pero yo no puedo entender cómo el pecado y cos obtenidos.
CORDIC u otros métodos?
¿Podría compartir con esta información (aprox. notas, hoja de datos, libros)

Saludos cordiales,
Victor

 
Hola,

Sine cos y las olas son generadas utilizando cuadratura oscilador.
Si integrar la onda sinusoidal te coseno ola Usted integrar este coseno
olas para generar onda senoidal de entrada ...
Esto se hace con filtro digital techniqe aquí en el código VHDL ...
Siguiente figura se explicará bien ....Código:

---- ----

sine | / |-cos | / |

--->| | |----->| | |---

| | / | | / | |

| ---- ---- |

| |

-------------------------
 
Por favor, colegas, quiero recoger cada detalle sobre el sintetizador digital directo (NCO).Por favor, envíe toda la información que usted tenga.

Gracias inadvance, sigo.

 
Sheriff Welsen escribió:

Por favor, colegas, quiero recoger cada detalle sobre el sintetizador digital directo (NCO).
Por favor, envíe toda la información que usted tenga.Gracias inadvance, sigo.
 
Gato Negro escribió:

Tengo este libro "Sintetizador de frecuencia digital directa"

por F. Venceslav Kroupa y el asesoramiento que usted lea esto.
 
Sheriff Welsen escribió:Gato Negro escribió:

Tengo este libro "Sintetizador de frecuencia digital directa"

por F. Venceslav Kroupa y el asesoramiento que usted lea esto.
 
en primer lugar, me gustó su código
pero no pocos lo
1.how has couculate la fase diffrance al principio?
2.how ¿sabía usted que a subscart este spacific vector?

 
Necesito un diagrama de detalle NCO arquitectura.Cualquier persona que tienes?En caso afirmativo,
por favor, para compartir conmigo?Muchas gracias.

 
NCO es en realidad un acumulador y una tabla de búsqueda

usted puede realizar un acumulador como este

proceso (clk) comenzar
si rising_edge (clk)
y luego
acc (23 downto 0) <= acc (23 downto 0) entrada;
END IF; proceso final;

entonces, se puede abordar la tabla de búsqueda como este

proceso (clk) comenzar
si rising_edge (clk)
y luego
nco_out (7 downto 0) <= ROM (conv_integer (acc (23 downto 14));
END IF; proceso final;

la señal de "rom" es una tabla de búsqueda, una condición o forma de onda coseno es en ella.puede generar una forma de onda sinusoidal con matlab:

paso = 1 / 1024;
t = 0: paso: 1-paso;
seno = sin (2 * pi * t);

 
ir a codesearch.google.com y la búsqueda de los códigos.Tengo los códigos fot NCO acumulador, TUS there.You puede seleccionar desde el código de idioma en la Búsqueda avanzada OptIn

 
Necesito el método de utilización de CORDIC TEORÍA, ¿Quién me puede ayudar? GRACIAS ...Creado después de 11 minutos:AYUDA ....

 
nardo520, he aquí algo de información sobre CORDIC:
http://www.andraka.com/cordic.htm

 

Welcome to EDABoard.com

Sponsor

Back
Top