Synchron oder Asynchron

 

Prinzipiell gibt es 2 unterschiedliche Verfahren, die bei der Logikanalyse zum Einsatz kommen: die asynchrone und die synchrone Abtastung

Synchrone Logikanalyse

Sehr viele digitale Systeme arbeiten streng synchron, die zeitliche Basis für alle Vorgänge ist ein einziges Taktsignal. Es kann zwar ganzzahlige Teilfrequenzen oder sogar Vielfache geben, aber es gibt eben einen Mastertakt. Außerdem wissen wir, dass sich die Zustände in einem logischen System nur immer bei der Pegeländerung des zugehörigen Taktes ändern können. Um logische Fehler erkennen zu können reicht es also im Grunde aus, alle Daten-, Adress- und Steuerleitungen zu diesen Zeitpunkten abzufragen. Dieses Verfahren bezeichnet man als synchron.

synchrones System

Der Zustand am Eingang von E1 wird erst mit der nächsten steigenden Taktflanke ins System eingelesen (E') und auch erst dann wieder zurück gesetzt, wenn bei einer der folgenden steigenden Taktflanken E1 wieder als low erkannt wird.

Das führt natürlich auch dazu, dass die Pegel immer mit einer gewissen Zeitverzögerung erfasst werden, die im schlimmsten Fall (das Signal ändert sich direkt nach der steigenden Flanke) einen Taktzyklus betragen kann. Ändert sich der Signalpegel wieder, bevor die nächste steigende Flanke eintrifft (E2), wird es überhaupt nicht erkannt.

Das ist aber kein Fehler eines synchronen Logikanalysators, sondern ein generelles Problem getakteter Systeme, denn sowohl das System selbst wie auch der Logikanalysator würden das kurzzeitige Signal ignonieren.

Bei der synchronen Betriebsart generiert der Logikanalysator selbst kein Taktsignal, er verfügt über einen externen Takteingang. Ihre Aufgabe ist es, eine geeignete Frequenz im System zu finden. Das ist in der Regel der Systemtakt bzw. wenn vorhanden ein Vielfaches davon. Würde der Takt schwanken (Jitter) bekommen Sie davon nichts mit, denn die zeitliche Darstellung ist nicht real, sondern lediglich ein Abbild. Allerdings verfügen einige Produkte über eine Umrechnungsfunktion, bei der Sie die Taktfrequenz eingeben und der Analyser daraus Zeiten berechnet. Er misst aber nicht, sondern "behauptet" einfach, die Zeit zwischen 2 Flanken wäre der Wert, den er errechnet hat. Sehr hochwertige Logic Analyzer verfügen allerdings zum Teil über exakte Zeitmesser, mit denen tatsächliche Frequenzen ermittelt werden können.

Asynchrone Logikanalyse

Ein asynchroner Logikanalysator ist ein vollkommen autarkes Messgerät. Er erzeugt ein eigenes Taktsignal, das mit den Abläufen im Zielsystem zunächst einmal gar nichts zu tun hat. Er hat deshalb auch keinen Takteingang. Dadurch entfällt natürlich erst einmal die Suche nach einem passenden Eingangstakt. Allerdings müssen Sie sich auch mehr Gedanken über die Aussagekraft eines solchen Messergebnisses machen. Dazu ein Extrembeispiel:

 
Signalverlust durch asynchrone Abtastung

Die Messgenauigkeit eines asynchronen Logikanalysators ist also direkt von seiner Abtastrate abhängig. Liegt seine Frequenz doppelt so hoch wie das zu messende Signal ist sichergestellt, dass es keinen kompletten Signalverlust geben kann, wirklich aussagekräftig sind die Messungen allerdings noch nicht. Die Faustregel besagt, dass die Abtastrate mindestens 5 Mal so hoch sein sollte wie das Messsignal. Ein Analyser mit einer Abstastrate von 1 GHz hat also eine Bandbreite von ca. 200 MHz.

Wenn diese Tatsache gegeben ist, dann hat ein asynchroner Analysator allerdings einige Vorteile, denn er arbeitet praktisch objektiver und er kann - da er seine eigene exakte Frequenz vorgibt - echte Zeitmessungen durchführen. Sehr schnelle Analysatoren können in langsamen Zielsystemen sogar Taktverschiebungen und Signalverzögerungen feststellen. Außerdem ist das synchrone Verfahren für einige Abläufe wie der Datenübertragung auf asynchronen Schnittstellen (UART, I2C etc.) überhaupt nicht einsetzbar, weil es eben keinen Synchrontakt gibt.