Zustandsdiagramm und Programmablaufplan
Das Programm im Mikrocontroller ist als endlicher
Zustandsautomat (engl. Finite State Machine, FSM) ausgeführt. Dem Hardware-Reset
bzw. dem Anschalten folgen die Initialisierung der Hardware und der Eintritt
in eine Endlosschleife, in der der Zustandsautomat realisiert wurde. In der
Endlosschleife führt das Programm abhängig vom aktuellen Status
die zugehörigen Funktionen aus. Als Status existieren die Zustände
„Warten“, „Optionen empfangen“ und „Sweep durchführen“.
Zustandsdiagramm für den endlichen Zustandsautomaten
Das Programm verharrt solange im Zustand „Warten“, bis im Empfangspuffer
des UART ein Zeichen anliegt, das vom LabVIEW-Programm vom PC aus an den
Mikrokontroller gesendet wurde. Wenn dies der Fall ist, wird in den Zustand
„Optionen empfangen“ übergangen und aus dem UART-Buffer dreimal 4 Byte
eingelesen. Diese Bytes werden in 3 Longs konvertiert und als ∆Phase-Werte
für die Anfangs-, Endfrequenz und Frequenzschrittweite interpretiert.
Alle Frequenzangaben im Programm des Mikrokontrollers sind den Frequenzen
entsprechende ∆Phase-Werte. Die Umrechnung von Frequenzen in ∆Phase-Werte
wird durch das LabVIEW-Programm vorgenommen. Es wird aufgrund der Proportionalität
trotzdem von Frequenzen gesprochen.
Nachdem die Frequenzwerte empfangen wurden,
nimmt das Programm den Zustand „Sweep durchführen“ an. In diesem Zustand
verweilt das Programm in einer While-Schleife, bis die nächste aktuelle
Frequenz größer als die Endfrequenz werden würde. In der
Schleife wird jeweils die aktuelle Frequenz neu berechnet und in den DDS programmiert.
Das zur Frequenz gehörige Messdatum wird aus dem ADU ausgelesen und
das aufgenommene digitale Messdatum an den PC geschickt. Anschließend
wechselt das Programm wieder in den Zustand „Warten“ und ist bereit für
einen erneuten Programmdurchlauf.
Darstellung der beschriebene Ablauf des Programms
als Programmablaufplan
Programmablaufplan für die Steuerung und Verarbeitung der Messung
durch den ATMEL-Mikrokontroller