Logic Analyzer |
kurze Einführung Möchte man die Signale einer Schaltung visualisieren, so gibt es dazu zwei Möglichkeiten: 1. ein Oscilloscope (oder deutsch Oszillograph), früher funktionierten sie rein analog, heute zumeist digital. Sie stellen gemessene Signale in ihrer Form im zeitlichen Bereich dar. Signale werden also in ihrer Form exakt dargestellt. Es gibt 1-Kanal, oder auch mehr-Kanal Oszillographen. 2. Logic Analyzer (oder deutsch Logik Analysator) dient dazu Signalpegel logisch zu analysieren. Anders als bei einem Oszillographen werden gemessene Signale nicht exakt in ihrer Form dargestellt, sondern stetes in Rechteckform als "High"-"Low"-Signale. Wann ein gemessenes Signal als "High" (H) oder als "Low" (L) zur Anzeige kommt, kann i. A. durch einen "Schwellwert" eingestellt werden. Logik Analysatoren verfügen über 8, 16, 32, oder mehr Kanäle, welche Signale gleichzeitig messen und dies über einstellbare Zeitdauer. |
Abb.1 |
Ein Vergleich: Signalmessungen mit
einem Oszillographen und einem Logik Analysator. Ein Oszillograph zeigt alle Spannungsverläufe der Signale. Ein Logik Analysator zeigt "nur" die logischen Pegel der Spannungsverläufe. |
Abb.2 Nachteile des elektor-Logic-Analyser: - Treiberprobleme - Eingänge nur 0V bis +5V - keine CD im Lieferumfang - kein Zubehör |
Da im Internet jede Menge Information über Logik Analysatoren zu finden
ist, verweise ich auf diese, um auf diesen Seiten Platz zu sparen.
Natürlich findet man auch Literatur, so z. B. von "elektor" (Abb.2); das
Buch führt gut in die Thematik ein. Von einer Bestellung des dortigen
Logic Analyzer würde ich hingegen abraten; unter Windows 7 ist es mir
nicht gelungen einen funktionsfähigen Treiber zu finden! Auch sind nur 8
Kanäle verfügbar, die für meine nachfolgenden Beschreibungen nicht
ausreichen. Für einen Einstig empfehlenswert ist "Kingst Logic Analyzer LA1010" (Abb.3), welcher über 16 Kanäle verfügt und zu dem noch 2 PWM-Ausgänge hat. Im Lieferumfang ist alles enthalten, was man braucht: Anschlusskabel (angebrachte 10-ner Buchsenleiste, Pins für Prüfspitzen auf der Gegenseite), Prüfspitzen, CD mit Software, Treiber und Handbuch (englisch, von mir auf deutsch übersetzt und kann auf Anfrage übermittelt werden). |
|
Abb.3 auch mit mehr als 16 Kanälen erhältlich |
Vorteile: Eingangsspannungsbereiche: -50V bis +50V maximale Komprimierungstiefe 10GSa maximale Abtastraten bei Kanaleinstellungen: 100M bei 3 Kanälen 50M bei 6 Kanälen 32M bei 9 Kanälen 16M bei 16 Kanälen |
Ein Anwendungsbeispiel in der Praxis
Abb.4 |
Auf der Seite ARDUINO =>
Decoder,
dort unter "Teil 2: ein Decoder für Magnetartikel, Servos und
Anzeigen" beschreibe ich eine Decoder-Schaltung für
Digitalsteuerungen einer Modellbahnanlage im MÄRKLIN Motorolaformat,
Schaltplan Abb.28 auf der dortigen Seite. Diese Schaltung habe ich auf
meinen Test-Boards aufgebaut (siehe Abb.4) und mit einer
Uhlenbrock-Zentrale zur Ansteuerung verbunden. Am Testaufbau sind , wie
im Schaltplan dargestellt, folgende Komponenten angeschlossen: - ein doppelflügeliges Signal mit einer Weiche, welche mittels eines Servos der Stellung des Signals folgt. - ein Servo - ein Gleissperrsignal Der Kingst Logic Analyzer LA1010 (siehe Abb.3) wurde mit seinen Eingängen an das IC2 und IC5 angeschlossen und per USB mit einem Rechner verbunden. Danach wird die Software des LA1010 aufgerufen (Software und Treiber wurden natürlich zuvor installiert). Keyboard-Tastenbelegung sowie die Verbindungen der Analyzereingänge zu den Abgriffen in der Schaltung sind in der unten stehenden Tabelle 1 zu entnehmen. Tabelle 1 |
Abb.5 Keyboard-Tastenbelegung |
1 Signal HP0 |
2 Signal HP 2 Weichenservo Abzweig |
3 Servo rechts |
4 Sperrsignal HP0 |
5 Funktion gesperrt, da S1 in der Schaltung auf "Sig.1 HP2" steht |
6 Signal HP1 Weichenservo Gerade |
7 Servo links |
8 Sperrsignal HP1 |
Abb.6 |
Abb.6 zeigt Anschlüsse des LA1010 an die Zentrale. LA1010 GND an GND der Schaltung (=Bahnstrom 0) LA1010 0 an Dateneingang der Schaltung (=Bahnstrom B), oder an TP2 Anmerkung: der LA1010 verträgt am Eingang die hohe Spannung der Zentrale (bis ca. +/- 19,5 V); andere Analysatoren, welche maximal nur +5V an ihrem Eingang vertragen, müssen dafür an TP2 angeschlossen werden! In den Kreisen sind die Kanäle der Eingänge des LA1010 angegeben. Die Farben der Kreise korrespondieren mit den Kabelfarben vom LA1010 und damit ebenfalls mit den Farben, welche bei Aufruf der LA1010-Software bei den jeweiligen Kanälen (Channel) zu sehen sind. |
Abb.7 |
Abb.7 zeigt Anschlüsse des LA1010 am Decoder IC2 |
Abb.8 |
Abb.8 zeigt Anschlüsse des LA1010 am FlipFlop IC5 |
Nachdem die Anschlüsse des Logic Analyzer LA1010 mit der Testschaltung verbunden wurden (siehe Tabelle 1), wird die Software gestartet. Wir wählen eine Probentiefe von 20KSa, eine Probenrate von 1 MHz, und stellen den Trigger von Channel 0 auf negative Flanke. Dann klicken wir auf "Start Messung". Zunächst passiert noch nichts, da der LA1010 noch kein Triggersignal empfängt. Nun versorgen wir die Zentrale mit Strom, welche nun Daten liefert und der LA1010 sein erstes Triggersignal empfängt. Der LA1010 zeichnet daraufhin die von der Zentrale gesendeten Daten auf. Siehe folgende Abbildung 9: |
Abb.9 |
Die Messung mit unserem Logik Analysator liefert uns mit einem einzigen Knopfdruck mehr Informationen auf einen Schlag, als es mit einem Oszillograph möglich wäre! So können wir leicht die Impulse der Datenpakete zählen und interpretieren. Die Software des Analysators bietet zudem noch vielfältige Messmöglichkeiten. So können Marker gesetzt werden und ihre Zeiten werden in einem Fenster angezeigt. Wird der Mauszeiger auf die Daten eines Kanals (hier Channel 0) bewegt, so werden Zeiten zwischen und zu einzelnen Datenimpulsen in einem Fenster angezeigt. Natürlich können die gemessenen Daten auch in einem Verzeichnis gespeichert werden und aus ihm wieder aufgerufen werden, wobei dann Marker, Mauszeiger, Zoombereiche für weitere Messinformationen gewählt werden können! Dies soweit nur für einen ersten Überblick. Beschreibungen aller Möglichkeiten der Software befinden sich in der Bedienungsanleitung auf der CD des LA1010. |
Folgen wir den Beschreibungen des
Decoders (auf der Seite ARDUINO =>
Decoder),
so können wir natürlich im Schaltplan (dort z.B. die Abb.28) H
(high) und L (Low) Pegel nachvollziehen, die bei jeweiligen Signal- und
Servo-Stellungen auftreten müssen. Funktioniert die Schaltung wirklich
ordnungsgemäß? Dies kann natürlich dadurch überprüft werden, indem die
Stellungen angeschlossene Signale und Servos bei jeweiligen
Schaltbetätigungen beobachtet werden. Funktioniert dies aber nicht, wo
liegt der Fehler?! Jede Stufe der Schaltung zu untersuchen ist ohne
geeignete Messmittel mühevoll. Teilweise treten nur kurzzeitige
Schaltimpulse auf, wo die Messungen mittels eines einfachen Multimeters
versagen. Hier ist ein Logik Analysator die richtige Wahl. Wir wollen
einmal die Funktionszustände des Dekoder-IC2 und das FlipFlop-IC5 (IC5
ist ja das Speicher-IC für die betätigten Keyboard-Tasten 1 bis 8) mit
dem LA1010 überprüfen (die Anschlüsse des LA1010 zur Schaltung erfolgen
gemäß obiger Tabelle 1). Die Einstellungen der Analysatorsoftware sind
die die gleichen, wie bei obiger Abb.9, lediglich der Trigger wir auf
Channel 1 gesetzt (Pin 6 von IC2 Eingang E3, an dem ein Impuls auftritt,
sowie am Keyboard eine Taste betätigt wird); dadurch beginnt die
Analysatorsoftware erst eine Messung, wenn eine Keyboard-Taste gedrückt
wird. Im Folgenden führen wir damit nacheinander 7 Messungen durch und
speichern jeweils die gewonnenen Daten. Tabelle 2 |
Messung A | Keyboard-Taste 1 | Signal HP0 | Keyboard |
Messung B | Keyboard-Taste 6 | Signal HP1 & Weiche Gerade | |
Messung C | Keyboard-Taste 2 | Signal HP2 & Weiche Abzweig | |
Messung D | Keyboard-Taste 3 | Servo dreht rechts | |
Messung E | Keyboard-Taste 7 | Servo dreht links | |
Messung F | Keyboard-Taste 4 | SperrsignalHP0 | |
Messung G | Keyboard-Taste 8 | Sperrsignal HP1 |
Abb.10 |
Die obige Abbildung 10 gibt
zusammengefasst die 7 Messergebnisse
wieder, d.h. jede Spalte von A bis G stellt
eine der 7 Messungen dar. Aus jeder Messung wurde also der relevante
Messbereich ausgeschnitten und in in Spalten eingefügt, um eine komplette
übersichtliche Abbildung wiedergeben zu können. Ebenfalls habe ich
manuell Bezeichnungen zur Verdeutlichung eingefügt. So sieht man
deutlich hervorgehoben die jeweiligen kurzen Impulse bei E3 bei
Betätigung einer Keyboard-Taste. Y0 bis Y7 zeigen die dabei entstehenden
kurze Impulse des Decoder IC2. FF1 bis FF4 zeigen die jeweils
eingenommenen Schaltzustände, welche im FlipFlop IC5 dabei gespeichert
werden. Die durch farbige Umrandungen hervorgehobenen Bereiche
kennzeichnen die angeschlossenen Komponenten: hellblau das 2-flügelige
Signal in den Stellungen HP0,HP1 und HP2; hellgrün den Servo; weiß das
Sperrsignal. So erkennt man z.B. beim 2-flügeligen Signal: FF1=H & FF2=H => HP0 | FF1=L & FF2=L => HP1 | FF1=L & FF2=H => HP2 Die Dekoderschaltung arbeitet als korrekt. Mit einem Logic Analyzer kann also eine Digitalschaltung schnell und komfortabel überprüft werden und auch ihre Funktionsweise erkannt werden! |
Die gleichen Messungen in einem "Rutsch"
Abb.11 |
Keyboard-Tasten |
Bei den obigen Messungen (Abb.10)
wurden 7 Messungen von A bis G einzeln nacheinander durchgeführt. In Abb.11 wurden in einem einzigen Messablauf 7 Schaltvorgänge A bis G, sowie 3 weitere FDA ausgeführt: F => Sperrsignal wieder auf Rot D=> Servo wieder auf Rot A=> Signal wieder auf Rot Dazu wurde die Messzeit länger eingestellt: Probentiefe = 50 MSa Probenrate = 2 MHz Innerhalb der eingestellten Messzeit wurden 10 Tasten betätigt (A bis G und danach F, D, A), siehe Abb.12. Die Software bietet also die Möglichkeit durch entsprechende Einstellungen Schaltvorgänge in einem einzigen Durchgang aufzuzeichnen, statt in einzelnen Messungen. Die Abb.11 zeigt die Messung als Bildschirm-Kopie wie sie von der Software zur Anzeige kommt (also ohne meine veranschaulichenden Einfügungen). |
Abb.12 |
Keyboard-Tasten |
Die Abb.12 zeigt das Gleiche, wie Abb.11, nur dass ich wieder überarbeitend veranschaulichende Informationen eingefügt habe. Y1 ist hier stets Low (L) und würde den Zustand nur bei Betätigung der Keyboardtaste 5 ändern, welche aber durch den Schalter S1 gesperrt wird, wenn dieser in Stellung für 2-begriffige Signale steht. Wenn der Schalter S1 hingegen auf Stellung "normal" steht, also für 1-begriffige Signale, ist die Keyboardtaste 5 nicht mehr gesperrt, und bei Betätigung der Keyboardtaste 5 würde Y1 auch von Low (L) auf High (H) wechseln. Durch die höher eingestellte Messzeit werden natürlich die aufgezeichneten Daten auf dem Bildschirm "gedrängt" dargestellt (vergleiche "Daten" der Abb.10 mit Abb.11 oder 12). Möchte man die Impulse dieser Daten aufgelöster sehen, so bietet die Software dafür die Zoomfunktion. |
Zusätzlich zu den Darstellungen und Beschreibungen meines Selbstbaudecoders mögen die hier beschriebenen Messungen mittels eines Logic Analyzer an der Schaltung einen tieferen Einblick in die Funktionsweise geben. Auch wenn kein Logic Analyzer angeschafft wird, so können die hier gezeigten Messungen doch mit dem Schaltplan verglichen werden und die Signalverläufe der H- und L-Pegel noch besser nachvollzogen werden. Entschließt man sich zur Anschaffung eines Logic Analyzer, so bietet dieser natürlich nicht nur Anwendungsmöglichkeiten für die Selbstbauschaltungen auf meinen Seiten. Selbst entwickelte Schaltungen (seien es Programmierungen eines ADRUINO, oder Anderes) können effizient überprüft werden. Auch käuflich erworbene Produkte (wie beispielsweise Zentralen, Decoder, etc.) können untersucht werden und daraus Schlüsse abgeleitet werden, wie sie funktionieren, was dazu dienen kann, eigene Komponenten entwickeln zu können. Es würde mich freuen damit Anregungen und Hilfe gegeben zu haben. |