(Numerically Controlled Oscillator)

Slides:



Advertisements
Presentaciones similares
Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Advertisements

Métodos de diseño en VHDL.
SENTENCIAS SECUENCIALES
Modulación de pulsos.
RESUMEN: Softmicro de 8 bits Xilinx
1. Algoritmo 2. Arquitectura 3. Implementación 4. Conclusiones  IMPLEMENTACIÓN VLSI DEL ALGORITMO CORDIC EN MODO VECTORIZACIÓN UTILIZANDO RADIX ALTO 
Interfaces de entrada / salida
Interfases de Entrada / Salida
GESTION DE LA JERARQUIA
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
SISTEMAS DIGITALES SECUENCIALES
VHDL Breve introducción.
Diseño lógico combinacional mediante VHDL
Introducción Electrónica Digital
Introducción a las Interfaces de entrada / salida.
Diseño Lógico Combinacional con VHDL
Librerías y packages (paquetes)
Capítulo.3 - Diseño Lógico Combinacional con VHDL
DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez.
FPGA - Flujo de Diseño UBA - Sistemas Embebidos - FPGA – SoftCores – 2010 – Franco Ferrucci, Sebastián García.
Universidad Nacional de Ingeniería
NOCIONES BÁSICAS COMPUTO II
RESUMEN: Softmicro de 8 bits Xilinx
BANCOS DE PRUEBAS CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES ING. GERARDO A. LEAL, MSC Unidad 3: Sistemas Combinacionales.
NCO (Numerically Controlled Oscillator). NCO: Oscilador controlado numéricamente Aplicaciones Conversores digitales up/down PLLs digitales Sistemas de.
1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO.
BANCOS DE PRUEBA CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
EL-4005 Principios de Comunicaciones: Introducción a las Radios Definidas por Software (SDR) Javier Rojas Catalán Cesar Azurdia.
Asignación de señales en VHDL. VHDL: Asignación de señales La asignación a una señal establece una o más transacciones sobre la misma Cada señal tiene.
Conclusiones: Los resultados obtenidos hasta ahora mediante simulación, demuestran que con esta técnica se mejora la eficiencia y se disminuye el consumo.
U.M.S.A. ETN-601 Sistemas Digitales Decodificador 3 a 8 Aux. David Marza Herrera.
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE SISTEMAS DE COMUNICACIONES MYR. MANOLO PAREDES GANCINO KATHERINENRC: 2188 MORA CARLOS RUIZ GUSTAVO VILA ANDRÉS.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Sensores digitales La creciente presencia de sistemas digitales para el tratamiento y presentación de la información en los sistemas de medida y control,
ARQUITECTURA BÁSICA DE UN ORDENADOR
Multiplexación y encriptación
Microprocesador Estructura interna.
5. Análisis y diseño de sistemas secuenciales (I)
Filtros FIR e IIR EQUIPO. Un filtro es un sistema o una red que cambia selectivamente la forma de onda, o las características amplitud-frecuencia o fase-
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Registros y Contadores
Exígete mucho a ti mismo y espera poco de los demás.
DISCRETIZACION DE SISTEMAS CONTINUOS. Diagrama de bloques de control en lazo cerrado de sistemas continuos.
TRANSFORMADA DE FOURIER DE TIEMPO DISCRETO (DTFT)
T5-Conversión A/D y D/A. Teorema de Muestreo
PICOBLAZE RESUMEN.
Hardware Description Language
Programación en VHDL.
1 Introducción Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.
Introducción a los Sistemas Digitales Tema 1 1. ¿Qué sabrás al final del tema? n Diferencia entre analógico y digital n Cómo se usan niveles de tensión.
Ing. Diego Barragán Guerrero Máquinas de estado con VHDL.
MULTIVIBRADORES MULTIVIBRADOR BIESTABLE (dos estados estables)
PICOBLAZE RESUMEN.
Amplificador Lock-in Josefina Catoni Matías Herzkovich
CHUMBIPUMA CHUMBIMUNE, JORGE JESÚS FIM - UNI ENERO 2019 CONTROL DIGITAL.
CIRCUITOS CONVERTIDORES DE SEÑAL DISPOSITIVOS ANALÓGICOS. OCTUBRE/2016.
NOMBRE : Daniel Lima Cachi DOCENTE : ING. HENRY GOMEZ DEL CARPIO CURSO : CIRCUITOS ELECTRONICOS 3.
El procesador Datapath y control.
5.Análisis y diseño desistemas secuenciales (III) Fundamentos de los Computadores Grado en Ingeniería Informática.
 Diseñar y armar un inversor de corriente de DC a AC que produzca una onda sinusoidal con una frecuencia de 60Hz.
RESPUESTA EN FRECUENCIA DE LOS FILTROS ACTIVOS FERNÁNDEZ PIZARRO AARON SMITH SANDOVAL ANCCO LUIS ENRIQUE VILCA VILLANUEVA JOEL.
Introducción al procesamiento digital de señales Ing. José Arturo Marín Thames
COMUNICACIÓNES DIGITALES ERICK TOAPANTA DANIEL YAUTIBUG RICHAR YUNGAN.
Pipelining Peligros de control.
Unidad 5: Sistemas de Comunicación ARREOLA SANDOVAL FERNANDO | HUERTA MONCADA ALONSO | SÁNCHEZ R. HUGO RENÉ.
Sistemas Secuenciales Electrónica Digital. Combinacional: las salidas dependen de las entradas Secuencial: las salidas dependen de las entradas y de valores.
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

(Numerically Controlled Oscillator) NCO (Numerically Controlled Oscillator)

Qué es un NCO Aplicaciones NCO: Oscilador controlado numéricamente Qué es un NCO Es un sistema electrónico digital utilizado para sintetizar señales de frecuencias variadas, a partir de una base de tiempo Aplicaciones - Conversores digitales up/down - PLLs digitales - Sistemas de radar - Moduladores/Demoduladores - Drivers para transmisiones ópticas o acústicas - Software-defined radios (SDR) Sistemas Digitales - UBA

Se elimina la necesidad del ajuste de los componentes NCO: Oscilador controlado numéricamente Ventajas Se elimina la necesidad del ajuste de los componentes analógicos, debido al paso del tiempo La interfaz digital facilita el control del sistema de manera remota Sistemas Digitales - UBA

Diagrama en bloques básico NCO: Oscilador controlado numéricamente Diagrama en bloques básico RCF + RF CFA Registro de Control de Frecuencia Sumador (Módulo N) Acumulador de fase Registro de Fase Convertidor Fase-Amplitud Lookup table Sistemas Digitales - UBA

- Se comienza con el Registro de Fase inicializado en cero NCO: Oscilador controlado numéricamente Funcionamiento - Se comienza con el Registro de Fase inicializado en cero - En el Registro de Control de Frecuencia se graba un número I - Con el primer ciclo de reloj el Registro de Fase toma el valor I - Con los siguientes ciclos de reloj el RF se incrementa en I, tomando los valores 2I, 3I, …, y así sucesivamente, hasta el desborde del contador. 001 101 110 001 100 101 001 000 001 011 100 001 111 000 001 110 111 001 000 001 010 011 001 010 RCF + RF CFA Sistemas Digitales - UBA

La salida del registro de Fase se utiliza para acceder a la NCO: Oscilador controlado numéricamente Funcionamiento La salida del registro de Fase se utiliza para acceder a la memoria que contiene las muestras de la señal El período de la señal de salida es igual al tiempo que le lleva al contador alcanzar su cuenta máxima. En este tiempo se tienen que obtener todas las muestras de la señal, guardadas en la memoria - De lo anterior se desprende que si el incremento de fase aumenta, el período de la señal de salida disminuye. Por Ej.: si el incremento es 1 se necesitan 2N ciclos de reloj para que el contador desborde, y si es 2 se necesitan 2N/2 Sistemas Digitales - UBA

Funcionamiento I1 Salida de la LUT Acumulador I2 = 2.I1 Salida de NCO: Oscilador controlado numéricamente Funcionamiento I1 Salida de la LUT Acumulador I2 = 2.I1 Salida de la LUT Acumulador Sistemas Digitales - UBA

De lo anterior se desprende: NCO: Oscilador controlado numéricamente Funcionamiento De lo anterior se desprende: [seg] I N 2 . Tclock To = (Período de la señal de salida) [Hz] N 2 I . Fclock Fo = (Frecuencia de la señal de salida) - A su vez, la memoria posee las muestras de un ciclo de una señal senoidal. El salto de fase entre cada posición es: N 2 360 ° = d Sistemas Digitales - UBA

- El Registro de Fase es de N bits, lo que le permite acceder NCO: Oscilador controlado numéricamente Funcionamiento - El Registro de Fase es de N bits, lo que le permite acceder a cualquier dirección de la memoria. El valor a la entrada del Registro de Control de Frecuencia, que se suma al valor del Registro de Fase en cada ciclo de reloj representa un incremento de fase de: N 2 .I 360 Δ ° = F - Finalmente la resolución en frecuencia se obtiene para I=1: [Hz] N 2 Fclock Tclock.2 1 Δf = Sistemas Digitales - UBA

N debe ser un número entero, por lo tanto: NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 1. Cálculo del número de bits necesarios del acumulador N debe ser un número entero, por lo tanto: N = 18 Sistemas Digitales - UBA

Fo (Frecuencia de salida) = 500 Hz NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 2. Recálculo de la resolución en frecuencia Df = 0,0305 Hz Sistemas Digitales - UBA

Fo (Frecuencia de salida) = 500 Hz NCO: Oscilador controlado numéricamente Ejemplo de diseño Fo (Frecuencia de salida) = 500 Hz Df = Resolución en frecuencia <= 0,05 Hz Ts = Período de muestreo = 1/8000 seg 3. Cálculo del incremento de fase I = 16384 Sistemas Digitales - UBA

Lookup table (memoria) NCO: Oscilador controlado numéricamente Arquitectura Lookup table (memoria) LUT cos Incremento de fase DF N FFD + FFD 2N-1 sen clk La LUT tiene 2N entradas (siendo N el número de bits de las direcciones generadas por el acumulador) La precisión de los datos de salida de la LUT es independiente de N Sistemas Digitales - UBA

Lookup table (memoria) NCO: Oscilador controlado numéricamente Arquitectura Lookup table (memoria) La LUT puede ser cargada con: - Todos los puntos de la senoide (ciclo completo) - La mitad de los puntos de la senoide (medio ciclo) - Un cuarto de los puntos de una senoide (cuarto ciclo) LUT 2N-1 Sistemas Digitales - UBA

Fo (Frecuencia de salida requerida) = 5MHz NCO: Oscilador controlado numéricamente Ejemplo 2 Fo (Frecuencia de salida requerida) = 5MHz Cantidad de valores en memoria = 256 Fs = Frecuencia de muestreo = 20MHz Fs . I Fo 5MHz Fo = [Hz] I = . 2N = . 256 = 64 2N Fs 20MHz Sistemas Digitales - UBA

Fo (Frecuencia de salida requerida) = 4.8MHz NCO: Oscilador controlado numéricamente Ejemplo 3 Fo (Frecuencia de salida requerida) = 4.8MHz Cantidad de valores en memoria = 256 Fs = Frecuencia de muestreo = 20MHz [Hz] 2N I . Fs Fo = 20MHz 256 4,8MHz 61,44 256 round(I) . 20MHz Fo = 4,76MHz ≠ 4,8MHz Sistemas Digitales - UBA

Arquitectura (uso de punto fijo) NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Diagrama general Lookup table Incremento de fase DF Qm,r Qm,r Qm,r Qm,r Qm FFD + FFD Q() clk El incremento de fase está representado en punto fijo (Qm,r) El acumulador opera con punto fijo -> aumenta su complejidad pero se logra un mejor control sobre la frecuencia deseada Para acceder a la LUT se descarta la parte fraccionaria Si se aumenta la cantidad de bits r se aumenta la resolución en frecuencia Sistemas Digitales - UBA

Ejemplo 3 (Continuación) NCO: Oscilador controlado numéricamente Ejemplo 3 (Continuación) Retomamos el ejemplo 3 pero esta vez utilizamos 4 bits fraccionales Con este nuevo formato el incremento puede ser representado como: I = 61,4375d = 00111101,0111b 20MHz . 61,4375 Fo = = 4,799MHz 256 La frecuencia resultante es mucho más cercana a la requerida Sistemas Digitales - UBA

Mínimo incremento (I) posible NCO: Oscilador controlado numéricamente Mínimo incremento (I) posible 1 Imin = 2r Resolución de frecuencia para el Imin 20MHz . Imin DFo = = 78125Hz 256 Sistemas Digitales - UBA

Resolución en frecuencia [Hz] NCO: Oscilador controlado numéricamente Resolución de frecuencia obtenible para 8 bits y una frecuencia de muestreo de 20MHz Bits p/parte fracc Incremento mínimo Resolución en frecuencia [Hz] 1 78.125 0,5 39.062,5 2 0,25 19.531,25 3 0,125 9.765,625 4 0,0625 4.882,8125 5 0,03125 2.441,40625 10 0,00097656 76,29394531 15 0,000030518 2,384185791 20 0,00000095367 0,074505806 Sistemas Digitales - UBA

Acceso a la memoria de valores de la señal (LUT) NCO: Oscilador controlado numéricamente Acceso a la memoria de valores de la señal (LUT) Sólo se utiliza la parte entera del acumulador (truncado) Este truncamiento atenta contra la pureza espectral de la señal generada Las muestras almacenadas en la LUT también presentan un grado de cuantización en amplitud. Esto también degrada la señal generada. Sistemas Digitales - UBA

Componentes espúreas debido al truncamiento de fase NCO: Oscilador controlado numéricamente Componentes espúreas debido al truncamiento de fase Sistemas Digitales - UBA

Componentes espúreas debido a la cuantización de amplitud NCO: Oscilador controlado numéricamente Componentes espúreas debido a la cuantización de amplitud Sistemas Digitales - UBA

Componentes espúreas debido a la cuantización de NCO: Oscilador controlado numéricamente Componentes espúreas debido a la cuantización de amplitud y al truncamiento de fase Sistemas Digitales - UBA

Rango dinámico libre de espúreos (SFDR) NCO: Oscilador controlado numéricamente Rango dinámico libre de espúreos (SFDR) SFDR Sistemas Digitales - UBA

influencia sobre el rendimiento del NCO. NCO: Oscilador controlado numéricamente Recapitulando … Tanto los bits representantes de la parte entera del acumulador, como los representantes de la parte fraccionaria y la resolución de la LUT tienen influencia sobre el rendimiento del NCO. Si se aumenta el número de bits de la parte entera se tiene: - Una LUT más grande - Un efecto menor debido al truncamiento de la fase Si se aumenta el número de bits de la parte fraccionaria se tiene: - Un salto incremental más pequeño y una mejor resolución en frec. - Un acumulador más caro Si se aumenta la resolución de la salida de la LUT se tiene: - Un efecto menor debido a la cuantización de las muestras de la señal. - Mayores requerimientos para la LUT Sistemas Digitales - UBA

Arquitectura (uso de punto fijo) NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither Lookup table Incremento de fase DF Qm,r Qm,r Qm,r Qm,r Qm,r Qm FFD + FFD + Q() clk Generador de dither Sistemas Digitales - UBA

Arquitectura (uso de punto fijo) NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (poca cantidad de bits) SFDR = 73dB Sistemas Digitales - UBA

Arquitectura (uso de punto fijo) NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (excesiva cantidad de bits) SFDR = 81dB Sistemas Digitales - UBA

Arquitectura (uso de punto fijo) NCO: Oscilador controlado numéricamente Arquitectura (uso de punto fijo) Agregado de dither (cantidad correcta de bits) SFDR = 105dB Sistemas Digitales - UBA

Código VHDL Estructura NCO: Oscilador controlado numéricamente Código VHDL Estructura Incremento de fase DF sin_o acum_fase sin_cos cos_o clk Sistemas Digitales - UBA

Ejemplo de implementación en VHDL y simulación NCO: Oscilador controlado numéricamente Ejemplo de implementación en VHDL y simulación entity Acum_Fase is generic( P: natural := 3; -- incremento Q: natural := 14; -- módulo N: natural := 4 -- cantidad de bits ); port( clk: in std_logic; acum_reg: out std_logic_vector(N-1 downto 0) end entity Acum_Fase; Sistemas Digitales - UBA

Ejemplo de implementación en VHDL y simulación NCO: Oscilador controlado numéricamente Ejemplo de implementación en VHDL y simulación architecture BEH of Acum_Fase is signal mod_reg: unsigned(N-1 downto 0) := (others => '0'); signal rem_nc: unsigned(N-1 downto 0) := (others => '0'); signal term_add: unsigned(N-1 downto 0) := (others => '0'); begin rem_nc <= to_unsigned(Q,N) - mod_reg; term_add <= to_unsigned(P,N); Modular_Addition: process(clk) is if rising_edge(clk) then if (rem_nc<=to_unsigned(P,N)) then mod_reg <= to_unsigned(P,N) - rem_nc; else mod_reg <= mod_reg + term_add; end if; end process Modular_Addition; acum_reg <= std_logic_vector(mod_reg); end architecture BEH; Sistemas Digitales - UBA

NCO: Oscilador controlado numéricamente FIN Sistemas Digitales - UBA