Wie funktioniert dies im Einzelnen:
Der
gewünschte Signalverlauf wird zunächst in mehrere Abtastwerte
unterteilt. Für eine Sinusfunktion gilt die Funktionsgleichung y = sin
(x), wobei x der Winkel im Bogenmaß zwischen 0 und 2*Pi ist. Wenn wir
nun eine Sinusperiode in 16 Werte unterteilen, dann gilt:
y = sin (2 *
Pi * n/16), wobei n die Abtastwerte zwischen 0 und 15 sind. Einen
Funktionsgenerator realisieren wir nun in der Form, dass wir 16
Speicherzellen in aufsteigender Reihenfolge mit den Abtastwerten belegen
und diese Speicherzellen zyklisch über einen Zähler ansprechen. Den
Speicherinhalt geben wir über einen Digital-Analog-Wandler in Form eines
R2R Netzwerkes aus und erhalten somit die gewünschte Funktion. Ein
nachgeschaltetes RC-Glied glättet die 16 (oder mehr) Stufen zu einem
kontinuierlichen Signalverlauf.
Über einen einfachen Rechteckgenerator wird ein 4-Bit Zähler
angesteuert, welcher über die Adressleitungen A0 bis A3 16
aufeinanderfolgende Speicherzellen adressiert. Über die 4 Mikroschalter
an den Adressleitungen A4 bis A7 können 16 unterschiedliche Blöcke zu
jeweils 16 Speicherzellen angesprochen werden. In jeden Speicherblock
kann eine andere Kurvenform hinterlegt sein. Tabelle 1 gibt an, welche
Speicherzellen durch den 4 Bit Zähler in Abhängigkeit von den
Mikroschaltern angesprochen werden. Da es sich bei den eingesetzten
EPROMs um 8 Bit Speicher handelt, bedeutet dies, dass sich in jeder
Speicherzelle ein Wert zwischen 0 und 255 hinterlegen läßt. Dazu müssen
wir unsere Sinusfunktion, welche ja Werte zwischen –1 und +1 liefert,
in diesen Bereich verschieben.
Tabelle 2 gibt dazu die Werte für die 16 Abtastwerte an. Ebenso sind
die Werte für eine Dreiecks- und Sägezahnfunktion aufgeführt. Unser
Funktionsgenerator funktioniert letztendlich in der Form, dass wir eine
Periode der gewünschten Funktion als 16 Werte im Speicher abgelegt
haben und die Werte kontinuierlich auslesen. Dies bedeutet aber auch,
dass die Frequenz unseres Taktgebers 16 mal höher als die gewünschte
Ausgangsfrequenz sein muß. Für 10kHz muss unser Rechteckgenerator also
auf 160 kHz eingestellt sein.
Tabelle 3 gibt einige Dimensionierungshinweise für den
Rechteckgenerator und die dabei erzielbaren Frequenzen. Ergänzend
möchte ich noch feststellen, dass EPROMs wie hier eines verwendet wird
heute nur noch selten eingesetzt werden. Möglicherweise schlummert
daher das eine oder andere EPROM in mancher Bastelkiste und wartet auf
eine neue Aufgabe. Wie ein EPROM programmiert werden kann, wurde in
einem anderen Beitrag auf der ELO ja schon veröffentlicht. Es ist aber
natürlich auch möglich statt des EPROMs ein Mikrocontroller zu
verwenden und die Funktionswerte über einen Port (8 Bit) an den
AD-Wandler zu liefern.