La primera vez en mi vida estoy usando este chip DDS (AD9850) para crear una onda sinusoidal en una frecuencia deseada, donde subo el código de la tabla de búsqueda y la frecuencia deseada. comando a través de un con microcontrolador. Entonces mi conocimiento en este momento es muy limitado.
La cosa parece estar bien hasta ahora, pero el problema está en frecuencias muy bajas. A 1Hz e incluso 0.5Hz parece estar bien. Pero también necesito bajar a 0.1Hz.
Aquí está la salida de DDS cuando envío el número 0.1 al DDS a través del microcontrolador:
En mi código, envío el comando de PC a micro como cadena y lo convierto a doble. Pero para simplificar y verificar utilizo este código , y para 0.1Hz configuré sendFrequency (0.1) en el bucle.
Pero como puede ver, el período es de alrededor de 11.5 segundos en lugar de 10 segundos para el comando de 0.1Hz.
Espero poder explicar bien el problema. ¿Hay alguna manera de calibrar o ajustar esto para obtener un resultado más preciso? ¿O debería vivir con la precisión? Por cierto, ¿en qué parte de la hoja de datos se puede referir a dicha incertidumbre relativa?
Respuestas:
No es una cosa de precisión, es resolución.
El frente de la hoja de datos especifica una resolución de sintonía de 0.0291Hz con un reloj de 125MHz.
Entonces eso es aproximadamente el 30% de la frecuencia de salida deseada. Eso viene del resultado de agregar el LSB de la palabra de sintonización al acumulador de fase a 125MHz, para una frecuencia de reloj dada, es inherente al chip y al número de bits que eligieron para el acumulador de fase y la palabra de sintonización.
Puede intentar reducir la frecuencia del reloj: el mínimo es de 1MHz, por lo que debería poder mejorar la resolución en más de dos órdenes de magnitud, hasta alrededor de +/- 0.23% a 0.1Hz.
Desafortunadamente, otras cosas tendrán que cambiar para un rendimiento óptimo (especialmente el filtro de salida, que generalmente es un filtro LC elíptico de séptimo orden en estos módulos).
Si nunca necesita ir más allá, digamos, 1Hz, simplemente puede agregar un filtro RC con un corte de, digamos, 100Hz a la salida existente y será aceptable para muchos propósitos.
fuente
Lo que está buscando en la hoja de datos es la resolución de ajuste de frecuencia. Para este chip es 0.0291 Hz para una entrada de reloj de referencia de 125 MHz. Su frecuencia se redondeará a un múltiplo de este número. Este número se basa en la frecuencia de la entrada del reloj del chip.
Por ejemplo, 0.1 Hz se redondeará a 0.0873 Hz (0.0291 * 3). El período para 0.0873 Hz es de 11.5 segundos, que es lo que está viendo.
Una frecuencia de reloj de entrada más baja dará mayor precisión a frecuencias más bajas. Entonces, si desea una mejor precisión a frecuencias más bajas, baje la frecuencia del reloj.
fuente