Grundsätzlich ja, zur Erzeugung der Abstimmfrequenz gibt es 2
Möglichkeiten:
1.: Der AVR wird als DDS programmiert, in einem sehr kleinen
Assemblerprogramm gibt er nacheinander Werte aus einer Sinustabelle aus.
Leider kommt man dabei nicht sehr hoch, einige hundert kHz bei 20MHz
Takt. Siehe hier: http://www.myplace.nu/avr/minidds/index.htm
2.: Der AVR ist Teil einer PLL-Schleife. Nehmen wir mal einen
ATTiny2313, der hat 2 Zähler/Timer, die beide eine Outputcompare-Einheit
besitzen und daher in der Lage sind, die heruntergeteilte Frequenz an
einem Ausgang herauszugeben. Timer 0 wird so programmiert, das am
OC0-Ausgang eine feste Frequenz ansteht, z.B. 1kHz, dieses Signal geht
an den Referenzeingang des PLL-Vergleichers. Timer 1 bekommt vom VCO
über den externen Eingang T1 seinen Takt, dessen OC1-Ausgang geht an den
2 Eingang des PLL. Je nachdem, welcher Ablaufwert in Timer 1 geladen
wird, wird am Ende Referenz * Timer1 herauskommen. Bei 20MHz Takt kann
Timer 1 immerhin bis 8MHz verdauen. Als PLL/VCO kannst du zum Testen den
74HC4046 verwenden, da ist der Aufbau erstmal relativ unkritisch, zumal
alles schon auf Logikpegel abläuft. Diese Outputcompare-Geschichte läuft
beim AVR automatisch in Hardware ab, man stellt es einmal ein und gut
is'.(siehe Datenblatt)
Kurzerklärung PLL: http://senderbau.egyptportal.ch/pll.htm
Wikipedia hat auch was: http://de.wikipedia.org/wiki/Phasenregelkreis
Die dritte Möglichkeit, einfach den CPU-Takt herunterzuteilen, lasse ich
mal außen vor, da die Frequenzsprünge schlicht zu groß sind und nur
Frequenzen herauskommen, die meistens nicht passen.
Gruß
Jadeclaw.