Fui yo quien sugirió el dispositivo al OP en el otro hilo.
AD5668 es un DAC de salida de voltaje SPI octal de 16 bits con 5 ppm / ° C de referencia en el chip. Primero debe seleccionar una frecuencia de muestreo que sea varias veces más que la frecuencia de la señal de destino. Luego, puede simplemente conducir el DAC, utilizando una interfaz SPI, con un conjunto de muestras previamente rellenado.
Lo que hice para generar una forma de onda es que escribí una función de propósito general, que solo agrega la magnitud de los componentes armónicos respectivos a la fundamental, junto con la información de la fase. Esto genera la matriz que se utiliza para conducir el DAC. El temporizador que se usa para hacer el SPI periódico está configurado para controlar la frecuencia fundamental.
Acabo de escribir un código para prototipo de la misma. La llamada a la función para generar la matriz, por ejemplo, para una forma de onda de diente de sierra es
GenSamplesHarmonics(20000,0,10000,180,6666,0,5000,180,4000,0,3333,180,2856,0,2500,180,2222,0,2000,180,1818,0,1666,180,1538,0,1428,180,1332,0);
Voy a tratar de explicar:
Una onda de diente de sierra es esencialmente todos los armónicos en amplitud 1 / n, incluso armónicos negativos. La amplitud fundamental es 20000 (elegida arbitrariamente). El siguiente argumento es la relación de fase con el fundamental (obviamente cero en este caso). Cada par de argumentos subsiguientes es el 1 / n del fundamental, con cada par alterno 180 grados fuera de fase.
Espero que ayude.