Leistungsmerkmale eines Logikanalysators

Ein Logikanalysator hat verglichen mit einem Oszilloskop vollkommen andere Leistungsmerkmale. Der größte Unterschied ist der recht simple Eingangsverstärker. Da es nicht darum geht, das binäre Signal möglichst hoch aufzulösen, reicht ein einfacher Komparator wie im 1. Kapitel beschrieben. Im Folgenden möchte ich die wichtigsten Aspekte erläutern, die bei der Anschaffung eines Logikanalysators berücksichtig werden sollten

Anzahl der Kanäle:

Bei alten 8-bit-Systemen waren 16- oder 24-Kanal-Analysatoren schon das Minimum, später waren 64 oder selbst 128 Kanäle keine Ausnahme (wenn auch eine sehr teure). Mit einem 24-Kanal-Analysator konnten alle 8 Datenbits und gleichzeitig der komplette 16-bit-Adressbus eines 8-bit-Controllers überwacht werden. Da allerdings in heutigen Mikrocontrollern der Programmspeicher allerdings im Baustein integriert ist, kann und muss der Adressbus gar nicht mehr aufgezeichnet werden und da ist ein 16-Kanal-System wie der LA1016 schon richtig brauchbar. Abtastrate (sample rate):

Wie schon beschrieben ist die Abtastrate nicht gleich der maximalen Bandbreite. Es ist natürlich äußerst wünschenswert, dass ein Logikanalysator eine möglichst hohe Samplerate aufweist. Aber wie das oft so ist im Leben, solche Wünsche haben ihren Preis. In einem Logikanalysator arbeiten in der Regel FPGAs oder sogar ASICS, die nicht zu den billigsten Bauteilen gehören. Aber auch alle anderen Bauteile müssen auf solch hohe Taktraten ausgelegt sein. Bei Frequenzen weit über 100 MHz können auch die Messleitungen und deren Kapazitäten zu erheblichen Problemen führen. Das Fazit ist also eindeutig: Je höher desto besser, aber auch desto teurer!

Speichertiefe (sample depth):

Wenn Sie einen Logikanalysator mit 100 MHz und 16 Kanälen betreiben, dann brauchen Sie für jede Sekunde, die Sie aufzeichnen 1,6 Gbit. Da ein Kanal nur 1 bit tief ist, wird die Speicherkapazität von Logikanalysatoren in der Regel in bit und nicht byte angegeben. Wir der Wert hingen ohne Einheit angegeben (z. B. 1 M so ist damit die gesamte Kanalanzahl gemeint, also 1 M x 16 bit oder 1 M x 24 bit). Aber 1,6 Gbit erscheinen erst einmal nicht viel, doch 1 Sekunde ist eben auch nicht viel und außerdem werden an den Speicher schon gewisse Anforderungen gestellt. Zum einen muss er sehr schnell beschreibbar sein und vor allem auch einzeln und nicht blockweise. Also gilt auch hier: je mehr desto besser, aber ...

Komprimierung:

Binäre Logiksignale lassen sich sehr gut komprimieren und so der Speicherplatz besser ausnutzen. Im unkomprimierten Fall speichert der Logikanalysator ein komplettes Logikmuster (z. B. 16 Werte) für jeden Zeitpunkt ab. Nun ist es aber in realen Systemen so, dass die meisten Signale sich im Verhältnis zum Taktsignal nur sehr langsam ändern.

Beispiel:

Sie erhalten für einen Kanal 2000 Mal den Pegel 0 und danach 1000 Mal den Pegel 1. Sie müssten also für diese kurze Messsequenz insgesamt 3000 Speicherplätze opfern. Komprimiert könnten Sie das ganze wesentlich kürzer abspeichern, indem Sie den Pegelzustand und die Anzahl der Taktzyklen abspeichern (0:2000 und 1:1000), dann kämen Sie mit 2 bit für die Pegel und 2 x 16 bit für die Anzahl aus.


Triggerlogik:

Einer der wichtigsten Kriterien für einen Logikanalysator ist die Triggerlogik. Wenn Sie z. B. mit 8 MHz abtasten und eine Speichertiefe von 1 MSamples zur Verfügung haben, dann beträgt Ihr Zeitfenster gerade einmal 125 ms. Das ist für Logikabläufe schon eine ansehnliche Zeit, nicht aber für die Reaktionsfähigkeit Ihres Zeigefingers, mit dem Sie den Start-Button in der Software drücken. Sie brauchen also einen Mechanismus, um die Aufzeichnung gezielt starten zu können. Diese Aufgabe übernimmt die Triggerlogik.

Hier ist die Bandbreite des Angebotes mit am größten. Im einfachsten Fall geben Sie bestimmte Bitmuster an, bei denen die Aufzeichnung beginnt.

Beispiel: Wenn D0 = 1 UND D1 = 0 UND D2 = 1 etc.

Eine Steigerung davon ist eine freie logische Verknüpfung. Sie können also nicht nur per UND verknüpfen, sondern per ODER, EXKLUSIV ODER usw. Noch eine Stufe weiter gehen sequenzielle Trigger. Dabei können Sie mehrere Muster angeben, die hintereinander auftreten müssen. Sie können evtl. sogar auch noch angeben, in wie vielen Taktzyklen das 2., 3. oder n. Muster eingetroffen sein muss. Der Fantasie ist hier kaum eine Grenz gesetzt und wieder der Dämpfer: diese Fantasie kostet sehr viel Geld, denn die Logik muss in Echtzeit überprüft werden und das geht nicht in einer eleganten softwarebasierten if-Abfrage, sondern nur in schneller Hardware. Aber: in der Praxis sind fast immer die einfachen Triggerungen ausreichend und manchmal sucht man länger nach einer absolut genialen Triggereinstellung als nach dem eigentlichen Fehler.

Im Zusammenhang mit der Triggerlogik stoßen wir auch auf die Begriffe "Pre- und Post-Trigger". In vielen Fällen interessiert uns nämlich auch das, was direkt vor dem Triggereignis (pre trigger) passiert ist und eventuell auch noch ein Bereich direkt dahinter (post trigger). In diesem Fall zeichnet der Logikanalysator kontinuierlich einen bestimmten Bereich, z. B. 100 ms, in einem Ringspeicher auf. Löst der Trigger aus, bleibt dieser Bereich erhalten und wir können analysieren, was sich vorher abgespielt hat. Zeichnet er auch nach dem Auslösen noch eine gewisse Zeit auf, haben wir auch den Bereich dahinter.