../../../icons/Logo.pngPraktische Elektronik

Logikanalysator triggern

Im Praktikum Digitale Impulse anzeigen hatten wir bei der einfachen Schaltung das Problem, dass sie angezeigte Folge der Impulse (vom Zähler) nicht immer gleich begann. Manchmal wurde mit einer 0, ein andermal mit der 1.

Digiscope-SR-2.png
Bild 1: Digitale Impulse eines Zählers messen

Wir werden jetzt eine Schaltung betrachten, die dieses Problem löst: Eine Triggerschaltung.

Digiscope-SR-3.png
Bild 2: Digitale Impulse synchron anzeigen

Die Schaltung in Bild 1 entspricht der von Bild 2 in Digitale Impulse anzeigen. Wir haben allerdings eine einfache Schaltung mit einem D-Register U3A hinzugefügt.

Das D-Register wird durch die steigende Flanke ↑ des Eingangssignals getaktet und speichert dann eine 1. Wenn diese 1 übernommen wurde, wird das Reset für den Zähler U1A zurückgenommen. Das entspricht dem Loslassen des Start-Tasters in Bild 2 von Digitale Impulse anzeigen. Die Sequenz der im Schieberegister gespeicherten Impulse beginnt.

Die Start-Taste setzt das D-Register U3A zurück. Der Ausgang Q wird 1 und setzt den Zähler U1A zurück. Der Zähler U1A startet allerdings nicht sofort, sondern erst, durch eine positive Flanke ↑ des Eingangssignals startet der Zähler. Dieser Start des Aufzeichnung wird als Trigger bezeichnet, Die Schaltung um U3A als Triggerschaltung.

Wir haben die Aufzeichnung der Eingangssignale zu dem Eingangssignal durch die Triggerschaltung synchronisiert. Dieses ist besonders wichtig, wenn nicht wie in unserer Schaltung die Eingangssignale eine andere Taktquelle haben - und das ist bei Messungen meistens der Fall.

Unsere Schaltung in Bild 2 soll das Prinzip erklären. In einer realen Schaltung mit mehr Anzeigekanälen, brauchen wir oft komplexere Triggerbedingungen. Wenn wir beispielsweise all vier Ausgänge des gemessenen Zählers U1B anzeigen wollen, wäre es sinnvoll, dass die Aufzeichnung immer dann beginnt, wenn der Zähler U1B 0 ist. Wir brauchten eine Logik, die dieses erkennt. Wir brauchen eine Logik für den Trigger. Eine derartige Schaltung werden hier nicht betrachten, wir sehen uns vielmehr an, wie wir eine Triggerbedingung in PulseView einstellen.

Triggerbedingung in PuseView

Wir messen die gleiche Schaltung wie in Logikanalysator mit PulseView. Na, ja den Fehler mit dem falschen Takt für den zweite BCD-Zähler haben wir korrigiert.

Logik-anzeigen-2.png
Bild 3: Messschaltung mit Logikanalysator

Wir wiederholen die Messung.

PulseView_8.png
Bild 4: Einfache Anzeige mit PulseView

Wir wollen, dass die angezeigte Folge mit 0 für beide Zählstufen beginnt. Das ist dann der Fall, wenn alle Ausgänge von U1A und U1B 0 sind. Dieser Zustand dauert genau betrachtet etwa 2ms. Wir müssen auf die Flanke der Bedingung Q1(U1A)=0 ... Q4(U1B)=0 triggern. Das ist genau dann der Fall, wenn Q4 von U1B eine fallende Flanke hat :-)

Im Fenster von PulseView klicken wir mit der linken Maustaste auf D7, das ist Q4(U1B). Das Fester

PulseView_9.png
Bild 5: Menü zur Einstellung eines Eingangs

erscheint.

In der untersten Zeile können wir die Triggerbedingung einstellen.

  • ignorieren (aktuell gewählt)
  • Wert 0 (Low)
  • Wert 1 (High)
  • steigende Flanke
  • fallende Flanke
  • beliebige Flanke ↓↑

Wir wählen die fallende Flanke .

In dem Menü können wir außerdem

  • die Bezeichnung des Eingangs,
  • Farbe der Darstellung und
  • die Höhe der Anzeige ändern.

Wir tragen den Ausgang des Zählers als Bezeichner ein.

Dann starten wir Run.

PulseView_10.png
Bild 6: PulseView mit aktivem Trigger

In Bild 6 sehen wir dass, die Leitungen passend beschriftet sind. Für die Leitung Q4(U1B) wird rechts die Triggerbedingung angezeigt. Wir können erkennen, dass die Folge der Impulse links mit allen Leitungen auf 0 beginnt.

Wir hätten es lieber etwas komfortabler und wollen die fallende Flanke von Q4(U1B) sehen. Dann müssten die Zustände der Messleitungen vor der fallende Flanke aufgezeichnet werden. Das kann PulseView natürlich.

Wir klicken in der Menüleiste (nicht neben Run) auf das Werkzeugsymbol. Das Pre-trigger capture ratio, also wie viel % der Anzeige vor dem Trigger aufgezeichnet werden soll, kann eingestellt werden. Wir wählen 1%. Nach Run haben wir

PulseView_11.png
Bild 7: PulseView mit Pre-trigger capture

Die fallende Flanke von Q4(U1B) - und aller Leitungen - ist gut zu erkennen.

PulseView

An dieser Stelle betrachten wir ein paar weitere Fähigkeiten von PulseView.

  • Null der Zeitscala setzen:
    Rechte Maustaste auf Zeitscala an dem neuen Nullpunkt -> Set as zero point.
  • Zeit-Markierung setzen
    Rechte Maustaste auf Zeitscala -> Create here marker.
  • Der Marker kann mit der Maus verschoben werden.
  • Löschen mit: Rechte Maustaste über Marker -> Delete
  • Mit der rechten Maustaste auf das Symbol für eine Leitung kann sie deaktiviert werden.
  • Aktivieren können wir Leitungen in dem Menü unter PulseView_12.png
  • Wir können eine Leitung verschieben, indem wir das Symbol einer Leitung mit der Maus halten und verschieben.
  • Inhalt einer Messung kann in einer Datei gespeichert und wieder angezeigt werden.
  • Unter PulseView_13.png können Protokolle, d.h. bestimmte Sequenzen von Impulsen untersucht werden.
  • Wir werden später gegebenenfalls darauf eingehen.

Grenzen eines Logikanalysators

  • Bei PulseView und dem Saleae-kompatiblen Analysator kann der Logikpegel nicht eingestellt werden.
  • Die Pegel sind eigentlich undefiniert.
  • Es kann nicht auf die Pegel von Logikfamilien eingestellt werden.
  • Zu langsame Flanken werden nicht erkannt / können nicht erkannt werden.
  • Spikes / Glitches werden oft nicht erkannt.

Beispiel Spikes

Im Praktikum Impulse erzeugen sind wir auf sehr kurze Impulse, Spikes eingegangen.

Spike-2.png
Bild 8: Erzeugung von Spikes

Eine Schaltung mit zwei Nand-Gattern erzeugt sehr kurze Impulse, wenn der Takt von 1 nach 0 geht.

Wenn wir die Schaltung mit dem 74HC00 (U1) mit PulseView und dem Saleae-kompatiblen Analysator untersuchen, werden die Spikes nicht erkannt. Der 74HC00 ist zu schnell für die 24MHz des Analysators.

Ersetzen wir den 74HC00 durch einen CMOS-Baustein 4011 (U2) können die Spikes bei einer Samplingrate von 24MHz angezeigt werden.

PulseView_14.png
Bild 8: Erzeugung von Spikes

Der Spike ist beim 4011 deutlich zu erkennen. Die Breite des Spikes ist natürlich nicht genau 41,67µs, sondern kann aufgrund der Samplingrate von 24MHz nicht besser aufgelöst werden.