Ein Logik-Analysator ist ein elektronisches Messgerät, das mehrere Signale aus einem digitalen Design erfasst und anzeigt. Es ist ein ausgezeichnetes Werkzeug zur Überprüfung und Fehlersuche bei IC`s, digitalen Systemen und digitalen Schaltungen wie z.B. bei embedded Systemen, elektronischer Steuergeräte, Computern usw. Ein moderner Logikanalysator kann die erfassten Daten in Zeitdiagramme, Protokoll-Dekodierungen, Statemachine Traces und Assemblersprache umwandeln.
Timing Ansicht
Statemachine Ansicht
Protokoll Ansicht
Während der Software/Hardware-Integration verfolgen Logikanalysatoren die Ausführung der Embedded-Software und analysieren die Leistungsfähigkeit der Programme. Einige Logik-Analysatoren können auch den Quellcode mit bestimmten Hardware-Aktivitäten in Ihrem Design korrelieren.
Grundsätzliche Verwendung eines Logik-Analysators:
Fehlersuche und Überprüfung des Funktionsablaufs digitaler Systeme.
Viele digitale Signale gleichzeitig verfolgen und korrelieren.
Erkennen und Analysieren von Timing-Verletzungen und Störungen auf Bussen.
Die Ausführung embedded Software verfolgen.
Die Fehlersuche in mikroprozessorbasierten Designs benötigt mehr Eingänge, als die meisten herkömmliche analoge Oszilloskope bieten können. Ein typischer Logikanalysator verfügt über 8 oder mehr Kanäle und eignet sich besonders für die Untersuchung des Zeitverlaufs von digitalen Signalen oder Daten auf einem Bus. Zum Beispiel einen Adress-, Daten- oder Steuer-Bus eines Mikroprozessors. Sie können die Informationen auf Mikroprozessorbussen dekodieren und in einer aussagekräftigen Form anzeigen.
Ein Logikanalysator misst und analysiert Signale anders als ein Oszilloskop. Der Logik-Analysator misst keine analogen Daten. Stattdessen erkennt er logische Schwellenwerte. Wenn ein Logikanalysator an eine digitale Schaltung angeschlossen wird, sind nur zwei logische Zustände des Signals interessant. Ein Logikanalysator sucht also nur nach zwei logischen Pegeln. Wenn der Eingang über der Schwellenspannung (V) liegt, wird der Pegel als „high“ oder „1“ bezeichnet; umgekehrt ist der Pegel unter Vth ein „low“ oder „0“. Wenn ein Logikanalysator den Eingang abtastet, speichert er eine „1“ „wahr“ oder eine „0“ „falsch“, je nachdem, wie hoch der Pegel des Signals im Verhältnis zum Spannungsschwellenwert ist.
Historische Entwicklung des Logikanalysators
Nach der Erfindung des integrierten Schaltkreises (Integrated Circuit – IC) in den frühen 60er Jahren wurden die Schaltkreise immer kleiner. Während sich die Technologie im Laufe der Jahre immer weiterentwickelte, stiegen auch die Rechenleistung und die Geschwindigkeit der IC’s. Aus diesem Grund erwies sich das Testen und Debuggen elektronischer Geräte als schwierig, da Tausende und Millionen von Transistoren in einem einzigen Chip untergebracht werden konnten, was ihre Gesamtgröße verringerte und die Anzahl der Pins erhöhte. Daher erwiesen sich Logik-Analysatoren als wichtiges Werkzeug für die Analyse elektronischer Schaltungen, da sie eine große Anzahl von Signalen auf einem einzigen Display zeitlich korrelieren konnten, was es einfacher machte, die Datenbewegung und -verarbeitung in vielen embedded Systemen oder in der Peripherie kleiner Computersysteme zu beobachten.
Hewlett Packard kündigte 1973 die Erfindung des ersten Logikanalysators an, der in der Lage war, logische Zustände über eine Reihe von LEDs zu messen und darzustellen. Der HP 5000A war der erste kommerziell erhältliche Logikanalysator und hatte zwei Kanäle.
Welche Arten von Logikanalysatoren gibt es?
Es gibt drei verschiedene Formen von Logikanalysatoren: modulare Logikanalysatoren, tragbare Logikanalysatoren und PC-basierte Logikanalysatoren. Jeder Formfaktor hat dabei Vor- und Nachteile.
Modulare Logik-Analysatoren
Modulare Logic Analyzer sind aus einem Gehäuse oder Mainframe und Logic-Analyzer-Modulen zusammengesetzt. Das Gehäuse enthält die Display- und Bedienelemente, den Computer und mehrere Steckplätze, in denen die eigentliche Messhardware eingebaut wird. Die Module haben jeweils eine gewisse Anzahl von Kanälen, von denen man auch sehr viele Module, um eine sehr hohe Kanalzahl zu erreichen, miteinander verbinden kann. Sie gehören zu den teureren Geräten und bieten dem Benutzer durch die hohe Kanalzahl ein hohes Maß an Funktionalität.
Tragbare Logik-Analysatoren
Portable Logikanalysatoren (Stand-alone Logic Analyzer) sind mobiler als modulare Logikanalysatoren, da sie aus einem Gerät inklusiv eines Bildschirms bestehen. In der Regel sind sie weniger leitungsfähig als die modularen Logic Analyzer.
PC-basierte Logik-Analysatoren
PC-basierte Logikanalysatoren sind kompakt und werden über ein Ethernet- oder ein USB-Kabel direkt an einen Computer angeschlossen. Dadurch sind sie preiswerter, da sie die vorhandene Tastatur, den Bildschirm und die Rechenleistung des PCs nutzen. Sie haben aber im Vergleich zu modularen und tragbaren Logik-Analysatoren eine geringere Leistung.
Verschiedene Analyseansichten
Mit modernen Logikanalysatoren kann man die Zeit- und Zustandsanalyse gleichzeitig vornehmen. Dies hat den Vorteil das man nur einmal messen muss und die Ergebnisse korrelieren. Hat man in der Zustandsanalyse einen Fehler gefunden, kann man in der Zeitanalyse nachkontrollieren ob eine Störung wie z.B. ein Glitch zu finden ist. Optimalerweise ist im Logikanalysator auch die Protokollanalyse integriert, somit lassen sich Fehler auch auf System- bzw. Busebene schnell finden.
Zeitanalyse (asynchrone Messung, Timing Analysis)
Die Signale werden mit einem internen Taktsignal aufgenommen und gespeichert. In dieser Analyseart verhält sich der Logikanalysator wie ein Oszilloskop mit einer Amplituden-Auflösung von einem Bit je Kanal.
In dieser allgemeinen Form stellt die horizontale Achse die Zeit und die vertikale Achse die Spannungsamplitude dar. Dabei befindet sich die jeweilige Anzeige im Zeitbereich, da die Wellenformen beider Instrumente zeitabhängig sind. Dies wird als „asynchrone“ Messung bezeichnet, da der interne Takt asynchron zum geprüften System läuft.
Zustandsanalyse (synchrone Messung, State Analysis)
Die Zustandsanalyse, auch synchrone Messung oder State Analysis genannt, ist eine Methode zur Untersuchung und Analyse von elektronischen Systemen. Dabei werden die Zeitpunkte der Abtastung und Speicherung der Daten durch ein Taktsignal bestimmt. Dieses Taktsignal stammt direkt vom DUT (Prüfobjekt), also dem zu analysierenden Objekt selbst.
Die Aufzeichnung der Daten erfolgt spezifisch dann, wenn die jeweils vorgegebene Flanke (High-Low / Low-High) des Taktsignals auftritt. Zusätzlich müssen die zugehörigen Qualifier-Signale gültig sein. Diese Signale sind bestimmte Bedingungen oder Parameter, die erfüllt sein müssen, um die Aufzeichnung zu starten.
Der große Vorteil dieser Methode liegt darin, dass nur die Vorgänge aufgezeichnet werden, die wirklich von Interesse sind. So wird vermieden, dass unnötige oder irrelevante Daten gesammelt werden, was den Analyseprozess vereinfacht und beschleunigt.
Um diese Methode zu implementieren, wird ein Signal aus der zu prüfenden Schaltung verwendet. Ein externer Taktgeber, eine Art Timer oder Zähler, bestimmt dabei, wann das Logiksignal gespeichert werden soll. Dieses Timing ist entscheidend, um sicherzustellen, dass die relevanten Daten korrekt erfasst und gespeichert werden.
Insgesamt ermöglicht die Zustandsanalyse eine effiziente und zielgerichtete Untersuchung von embedded Systemen, indem sie die Datenerfassung auf die wirklich relevanten Vorgänge konzentriert.
Protokollanalyse (I2C, I3C, SPI, UART, RFFE, CAN, SPMI)
Bei der Protokollanalyse werden die dekodierten Paketinformationen in jedem Status und alle Paketdetails
mit Fehlerinformationen in den Paketen angezeigt. Dadurch erhält man einen Einblick auf die Systemebene. Ausgewählte Frames können dann automatisch mit der Timing-Ansicht korreliert werden, um die Timing-Informationen des Pakets zu sehen.
Logik- und Protokollanalysator für Embedded Systeme
PGY-LA-EMBD ist der erste Logikanalysator der es Ihnen ermöglicht, Timing-Probleme zu debuggen und gleichzeitig Protokollanalysen von I2C, SPI, UART oder I3C, SPMI und RFFE durchzuführen. Dadurch können Probleme auf Schaltkreis- und Systemebene schnell debuggt und gefunden werden.