Das LeCroy I2CBus TD-Paket enthält leistungsstarke Triggeroptionen, einschließlich der Möglichkeit, bedingte Kriterien für Ihre Datenmuster festzulegen. Mit diesen Funktionen können Sie bestimmte Busereignisse isolieren und identifizieren, sodass Sie Ihr Design schnell debuggen und verifizieren können.

Ein Beispiel für eine Anwendung, bei der dies nützlich wäre, ist die Überwachung der Ausgabe eines I2C-basierter Temperatursensor. Durch Beobachten des Busses auf Temperaturmesswerte über einem ausgewählten Wert kann das Verhalten Ihres Designs bei Übertemperaturbedingungen beobachtet werden. In einem Ich2C-basierter Temperatursensor wie der LM75, die aktuelle Temperatur wird durch ein I gelesen2C-Bus-Master, beispielsweise ein Mikrocontroller, als 2-Byte-Wort. Dieses Wort enthält eine Temperaturablesung, deren Bitlänge von Gerät zu Gerät unterschiedlich ist. Beim LM75 ist der Temperaturmesswert ein 2er-Komplementwert, der 9 Bit lang ist und auf die höchstwertige Bitposition innerhalb des Wortes ausgerichtet ist (siehe Abbildung 1).

Abbildung 1:

Ein Diagramm des Busverkehrs beim Auslesen der aktuellen Temperatur aus dem LM75 durch die I2C-Bus-Master.

Betrachten wir ein Beispiel für das Auslösen bei einer Temperatur über einem bestimmten Schwellenwert, z. B. 40 °C. Beachten Sie, dass, da die I2CBus-TD-Triggerfunktion davon ausgeht, dass die Datentriggerbedingungen vorzeichenlose Zahlen darstellen, eine Obergrenze erforderlich ist, um die Bedingungen für das Triggern auf eine Zweierkomplementzahl, die größer als ein bestimmter Wert ist, vollständig zu beschreiben. Glücklicherweise ermöglichen die in I2CBus TD enthaltenen Bereichsauslöseoptionen, dass diese Bedingung leicht berücksichtigt werden kann.

Wie in Abbildung 1 gezeigt, würde die Temperatur 40 °C durch den 9-Bit-Binärwert 001010000 dargestellt, der auf das 2-Byte-Wort 0x2800 abgebildet wird (da der Binärwert innerhalb des Wortes linksbündig angeordnet ist). Da die Temperaturdaten im Zweierkomplement dargestellt werden, wird der höchste positive Temperaturwert durch den Binärwert 2 dargestellt, der dem Wort 011111111x0F7 entspricht. Daher wird jede Temperatur über 80 °C durch ein Wort dargestellt, das zwischen 40x0 und 2800x0F7 liegt.

Unter Verwendung des I2CBus TD-Pakets kann diese Bedingung durch Verwendung eines ADDR+DATA-Triggers ausgelöst werden. Die ADDR sollte auf binär „1001xxx“ mit Leserichtung gesetzt werden. um das richtige I2C-Gerät zu identifizieren. Für den DATA-Teil des Triggers kann diese Bedingung mithilfe eines INRANGE-Triggers mit einer Untergrenze von 0x2800 und einer Obergrenze von 0x7F80 identifiziert werden, wie in Abbildung 2 auf der nächsten Seite gezeigt.

Abbildung 2:

Ein Beispiel für das I2C-Trigger-Setup-Schnittstelle unter Verwendung der im Beispiel beschriebenen Parameter. Beachten Sie die „4$“-Adresse – das $ gibt an, dass einige (aber nicht alle) Bits in diesem Nibble auf „egal“ gesetzt sind. Wenn Sie in den Binärmodus wechseln, können Sie die Einstellungen für jedes Bit sehen.

Um die Eingabe komplexer Datenmuster zu erleichtern, ermöglicht Ihnen die I2CBus TD-Trigger-Setup-Schnittstelle die direkte Eingabe von Adressen und Daten im Binär- oder Hexadezimalformat. Die Eingabe der richtigen Parameter ist so einfach wie das Eintippen der Muster auf dem Touchscreen, sodass Sie Ihre Triggermuster schnell einrichten können, ohne viel Zeit mit dem Drehen der Knöpfe verbringen zu müssen.

Stellen Sie nach Eingabe der richtigen Triggermuster sicher, dass Sie die I2CBus TD-Decodierungsoptionen aktivieren, um den decodierten Busverkehr anzuzeigen. Aktivieren Sie einfach die serielle Dekodierungsfunktion, wählen Sie I2C decodieren und Ihre Takt- und Datenkanäle einrichten. Die entsprechenden Adress- und Datenmuster werden den Takt- und Datenwellenformen überlagert (Abbildung 3).

Abbildung 3:

Da der Wert 0x3180 innerhalb der Grenzen 0x2800 bis 0x7F80 liegt, die im INRANGE-Trigger-Setup festgelegt wurden, wird ein Trigger erzeugt.

Durch die Verwendung der bedingten Datentriggeroptionen, die Teil des I2CBus TD-Pakets sind, werden bestimmte Ereignisse auf dem I2C-Bus ist einfach und leicht und ermöglicht es Ihnen, die Bedingungen zu finden, nach denen Sie suchen.