| Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier. |
|

Home Experimente Aufbau einfacher mikroprozessorgesteuerter Geräte Sinusgenerator, Version A |
|||
| Siehe auch: Experiment: Sinusgenerator, Version B, Experiment: Parallel ablaufende Programme: Sinusgenerator und Lauflicht | |||
|
|||
Experiment: Sinusgenerator, Version A
Im folgenden Experiment soll ein sehr einfacher digitaler Sinusgenerator aufgebaut werden, der es ermöglicht, bei fixer Amplitude niederfrequente Sinuskurven mit unterschiedlicher Frequenz zu erzeugen. Dazu wird der digitale Eingang des Mikrocomputers (PIN) an die Tastatur der Platine DIGMLT angeschlossen; die Ausgabe der Analogspannung erfolgt über den DA-Wandler (DAC1) der Karte ADAC12.
Das Prinzip des Sinusgenerators beruht auf der periodischen Ausgabe einer im ROM abgespeicherten Sinustabelle. Die Güte des Sinussignals hängt von der Länge der Tabelle und der Zahl der Bits, die pro Stützpunkt verwendet werden, ab. Die Zahl der Stützstellen sollte nicht größer sein als die Zahl der möglichen diskreten Spannungspegel des DA-Wandlers. Für die meisten Anwendungen wird aber die Zahl der Stützstellen ohnehin kleiner als die Zahl der möglichen analogen Werte sein. Die Frequenz des Sinusgenerators wird durch eine Verzögerungsschleife bestimmt, die nach jeder Ausgabe eines Wertes an den DA-Wandler aktiviert wird. Die Dauer der Verzögerung wird über den Port PIN eingelesen. Mit dieser einfachen Methode kann ein Sinusgenerator mit einer Maximalfrequenz von etwa 40 Hz (bei 256 Stützstellen) erzeugt werden. Seine Frequenz lässt sich bis auf etwa 0.5 Hz durch die Tasten einstellen. Die Periodendauer des Ausgangssignals ist proportional zum eingestellten Verzögerungswert. Das unten abgedruckte Steuerprogramm funktioniert folgendermaßen: Zuerst wird in einem Initialisierungsschritt das Register IX mit der Anfangsadresse der Sinustabelle geladen, das Register DE mit der Endadresse. In der Ausführungsphase wird nun von der durch das Register IX bezeichneten Adresse der Sinustabelle jeweils ein Wert für den DA-Wandler gelesen und an diesen ausgegeben. Dabei wird das Register IX auf die Adresse des nächsten Wertes erhöht und geprüft, ob das Ende der Tabelle erreicht ist. Falls dies geschieht, wird IX wieder mit der Startadresse geladen, so dass sich eine zyklische Ausgabe der gespeicherten Tabelle ergibt. Bei jedem Durchlauf der Programmschleife wird außerdem der Wert am Port PIN abgefragt und der ermittelte Wert als Parameter für eine Verzögerungsschleife verwendet. Dadurch wird die Frequenz des Ausgangssignals des DA-Wandlers verändert.
Das in diesem Experiment vorgestellte Programm hat allerdings einige Schwachpunkte: Zum einen ist die Frequenz des Ausgangssignals nicht auf beliebige Werte und nicht einmal in gleichen Abständen einzustellen, und zum anderen ergibt sich beim Rücksetzen des Adressregisters IX auf den Startwert eine etwas längere Zeit, bis der nächste Wert der Tabelle ausgegeben werden kann. Dadurch erhöht sich natürlich der Klirrfaktor des Signals. Abhilfe zu diesen Problemen schafft eine geänderte Version des Sinusgenerators, die im folgenden Experiment gezeigt werden soll.
|
|||
Home Experimente Aufbau einfacher mikroprozessorgesteuerter Geräte Sinusgenerator, Version A |
|||