Lätt Atmel Xmega sinusvåg / vågform Generator (9 / 9 steg)
Steg 9: Vad nästa? Vad kan det här?
Så, detta är ett enkelt exempel på hur du kan använda den Atmel XMega microcontroller för att generera sinustoner. Här är några saker du kan göra med smärre ändringar till firmware:1) gå högre! Den maximala frekvensen begränsas av de 50 prov sine vågform och 1Msps DAC. Du kan ändra funktionen LoadSineWave() och ange antalet prover ska säga 10: LoadSineWave(10). Detta orsakar 5 x fler cykler. Nu kan du använda SetWaveFreq() för att gå längre än 20KHz till 100KHz!
2) godtyckliga vågformer. LoadSineWave() laddar en enkel sinusvåg. Men du kan sätta någon vågform som du vill i data12 [] array. I C kan du göra detta i deklarationen:
int data12 [10] = {1,2,3,4,5,6,7,8,9,10}.
3) variera amplitud. Output vågformen är 0-3.3V men du kan göra detta mindre genom att skala data laddas i data12 [].
4) öka upplösningen av Freq justering potentiometer. Beståndet koden använder ADC i 8-bitars läge (256 diskret frekvens inställningar). Du kan ändra detta till 12 bitar och tillåta 2 ^ 12 = 4096 olika frekvenser