Logikanalysator
von Bukhard Kainka, Lernpaket MSR mit dem PC, Kap. 7.8
Ein Logikanalysator zeichnet digitale Signale auf und ermöglicht eine Betrachtung schneller Vorgänge. Hier wird ein Kanal über den Eingang CTS eingelesen und dargestellt. Ein Messergebnis kann in unterschiedlichen Zeitmaßstäben betrachtet werden. Die Messung kann einmal ausgeführt oder automatisch einmal pro Sekunde wiederholt werden.

Die Darstellung eines digitalen Signals
Die zeitliche Auflösung der Aufnahme beträgt 20 µs. Insgesamt werden 5500 Messpunkte erfasst, die Messung dauert also 110 ms. Die Darstellung der Daten erfolgt in Abhängigkeit von der eingestellten Zeitbasis zwischen einer und zehn Millisekunden pro Skalenteil.
REALTIME
TIMEINIT
For n = 1 To 5500
Ch1(n) = CTS
While TIMEREAD < (n * 0.02)
Wend
Next n
NORMALTIME
Plot
Die Aufzeichnung der Eingangszustände
Ganzen Artikel lesen...
Falls eine geeignete Signalquelle fehlt, kann das Programm wieder mit einem Vorverstärker getestet werden, dessen Eingang man mit dem Finger berührt. Die gemessenen 50-Hz-Signale zeigen eine Periodendauer von 20 ms, die man mit der Zeitbasis 10 ms/Skt leicht abmessen kann.
Triggerung
Bei der Beobachtung digitaler Signale benötigt man oft eine definierte Anfangsbedingung wie z. B. eine steigende oder fallende Flanke. Damit lassen sich auch seltene Ereignisse untersuchen, weil die Messung erst im richtigen Moment gestartet wird. Das Beispiel zeigt ein über eine RS232-Schnittstelle gesendetes Byte 65 (ASCII "A") bei einer Übertragungsrate von 1200 Baud. Durch die positive Triggerflanke beginnt die Messung mit dem Startbit des ersten Bytes.

Die Triggerung auf eine steigende Flanke
Die Triggerung benötigt zwei zusätzliche Schleifen, um an den Anfang der gewünschten Flanke zu gelangen. Der folgende Ausschnitt aus dem Gesamtprogramm zeigt die Triggerung auf eine positive Flanke. REALTIME wird erst vor Eintritt in die eigentliche Messschleife aufgerufen, damit das Programm bedienbar bleibt, auch wenn das Triggerereignis ausbleibt.
While CTS = 1
DoEvents
Wend
While CTS = 0
DoEvents
Wend
REALTIME
TIMEINIT
For n = 1 To 5500
Ch1(n) = CTS
While TIMEREAD < (n * 0.02)
Wend
Next n
NORMALTIME
Plot
Die Flankenerkennung während der Messung
Mit Triggerung bei einer positiven oder negativen Flanke beginnt die Darstellung immer erst einige Mikrosekunden nach dem Triggerereignis. Um den wahren Beginn eines Signals zu zeigen, verwendet man die Vortriggerung. Tatsächlich wird die Messung laufend wiederholt, bis ein Signal aufgetreten ist. Erst nachträglich wird der dargestellte Zeitrahmen festgelegt. Die eigentliche Messung ist daher länger, sodass ein geeigneter Abschnitt an den Anfang kopiert werden kann.
Alt = CTS
Trigger = 0
While Trigger = 0
REALTIME
TIMEINIT
For n = 1 To 12000
Ch1(n) = CTS
If Alt <> Ch1(n) Then Trigger = n
While TIMEREAD < (n * 0.02)
Wend
Next n
NORMALTIME
DoEvents
Wend
If Trigger > 100 Then
If Trigger > 6000 Then Trigger = 6000
For n = 1 To 5500
Ch1(n) = Ch1(n + Trigger - 100)
Next n
End If
Plot
Die Vortriggerung

Die Messung mit Vortriggerung

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen