../icons/Logo.pngPraktische Elektronik

Logikanalysator mit FX2LP

Ein Logikanalysator ist in der Digitaltechnik sehr hilfreich. Preiswerte Logikanalysatoren kommunizieren über den USB-2-Bus mit einem PC.

Sie sind sehr einfach mit dem FX2LP aufgebaut. Deren Stärken und Schwächen werden hier vorgestellt.

Der Logikanalysator besteht eigentlich aus zwei Teilen:

  • einem Adapter mit den Logikeingängen und
  • der Software auf einem PC.

Wir betrachten hier einen einfachen Adapter, der unter Verwendung des FX2LP von Cypress.

Passende Software ist der Logikanalysator mit PulseView.

FX2LP basierte Logikanalysatoren

Die ersten Logic-Geräte von Saleae verwendeten den High-Speed USB Peripheral Controller (FX2LP) von Cypress

Mit dem CY7C6801X lassen sich leicht Saleae kompatible Geräte bauen.

SaleaClone.png
  • Betrieb über USB am PC
  • 8 Kanäle
  • Maximale Abtastrate 24MHz
  • Daten werden im PC aufgezeichnet, d.h. lange Sequenzen sind möglich.
  • Eingang 2,8V bis 5,5V (max unbekannt)
  • Die Eingänge sind meistens weitgehend ungeschützt.
  • Beim Anschließen der Geräte ist Vorsicht geboten, damit weder Gerät noch der Logikanalysator beschädigt werden.
  • Freie Software PuseView von sigrok für Windows, Mac OS X, Linux (auch auf Raspberry Pi)
  • Bedienung einfach
  • Zeitmessungen / viele Möglichkeiten
  • Trigger-Logik auf Flanken und Zustände der Eingänge
  • Anzeige übersichtlich
  • Derartige Geräte nennen sich Saleae kompatibel
  • Es sind aber nur einfache Nachbauten
  • Preis ~ 20€

Schaltung des Logikanalysators

Logikanalysatoren auf Basis des FX2LP von Cypress werden oft als Saleae kompatible Geräte angeboten. Sie sind mit den ersten Logikanalysatoren von Saleae insofern kompatibel, als sie

  • auf dem FX2LP basieren
  • acht Logikeingänge haben und
  • vom PC aus wie dieser alte Logikanalysator von Saleae aussehen.

Sie unterscheiden sich von dem Saleae-Gerät

  • durch einen einfacheren Aufbau und vor allem
  • durch weitgehend ungeschützte Eingänge.
Saleae-kompatible.png
Bild 1: Prinzipschaltung eines FX2LP basierten Logikanalysators

Die Schaltung in Bild 1 stimmt bis auf wenige Details mit allen FX2LP basierten Logikanalysatoren überein.

FX2LP

Herz der Schaltung ist der FX2LP.

Der FX2LP ist ein USB 2.0 Mikrocontroller mit

  • 16-Bit Interface, das frei programmierbar ist (GPIF)
  • einem integrierten 8051 Mikroprozessor
  • 16 kByte RAM
  • 4 kByte FIFO mit 8 bzw 16 bit Breite
  • I²C Interface
  • USB 2.0 Bus Interface
  • 24MZ Quarzgenerator

Über das I²C Interface wird das Programm des FX2LP von einem EEPROM geladen.

FX2LP-Logikanalysator.png
Bild 2: Der geöffnete Logikanalysator

Der Spannungsregler befindet sich auf der Unterseite.

Aufbau des Logikanalysators

Der FX2LP, der 24MHz Quarz und das EEPROM sind der Controller des Logikanalysators.

Acht Leitungen des FX2LP bilden den Eingang des Logikanalysators.

Diese Eingänge sind über einen acht Bit breiten Bus-Treiber 74HC245 entkoppelt. Sie werden über einen Widerstand (R11) nach 3,3V gezogen. Damit sind offene Eingänge in dem definierten Zustand 1. Die 100Ω (R21) Widerstände bilden einen gewissen Schutz vor fehlerhaften Spannungen am Eingang. Eine LED zeigt den Zustand des ersten Messeingangs an.

Die Stromversorgung von 3,3V stellt ein Spannungsregler aus der 5V-Versorgung des USB-Busses bereit. Eine LED zeigt an, dass die 3,3V Versorgung steht.

  • Auf den ersten Blick sieht die Schaltung brauchbar aus.
  • Das Gerät ist laut Hersteller zum Messen an 5V- und 3,3V-Logik geeignet.
  • Die maximale Eingangsspannung ist mit 5,5V angegeben.

Problematischer Aufbau

Bei näherer Betrachtung erweist sich der Aufbau als problematisch.

Ein Logikanalysator ist ein Messgerät.

  • Es kann zu fehlerhafter Bedienung kommen:
  • In Schaltungen können Spannungen über 5,5V, z.B 12V und
  • negative Spannungen, z.B. -5V vorkommen.
  • Der Masse-Anschluss des Logikanalysators kann fehlerhaft z.B an +5V angeschlossen werden.
  • Die Logikanschlüsse können bereits angeschlossen werden, bevor das Gerät über den USB-Bus an einen PC angeschlossen wurde.

Diese Fälle werden wir im Folgenden näher betrachten.

Schutzschaltung des 74HC245

Der 74HC245 ist ein Standard 74HC-Bauelement mit der üblichen Schutzschaltung für Ein- und Ausgänge.

74HC-Schutzschaltung.png
Bild 3: Prinzipielle Schutzschaltung für 74HC

Bei 74HC-Bauelementen sind die beiden Widerstände am Eingang etwa 100Ω.

Eine negative Spannung wird über die untere Diode nach GND abgeleitet, eine positive über die obere nach VDD. Dabei fließt ein Strom über die beiden Widerstände. Dieser Strom darf laut Datenblatt maximal 20mA betragen - für einen Eingang , aber auch für alle Eingänge insgesamt.

Damit darf die negative Spannung nicht 2,6V (2V+Flussspannung der Diode) überschreiten, wie auch die positive Spannung maximal 2,6V höher als die Versorgungsspannung sein darf.

Eingänge des Logikanalysators

In den Eingängen des Logikanalysators liegen noch 100Ω Widerstände. Damit ist

  • maximal -4,6V an einem Eingang erlaubt und
  • maximal +7,9V (3,3V+4,6V).

Schon bei einer Spannung über +3,9V am Eingang greift die Schutzschaltung ein.

  • 5V ist die Ausgangsspannung eines CMOS- oder HC-Gatters im 1 (H) Zustand.
  • Die Eingänge des Logikanalysators sind nicht mit 5V kompatibel.

Problem Versorgungsspannung

Wenn am Eingang eine Spannung über 3,3V liegt, fließt ein Strom nach VDD. Dieser Strom muss über die Schaltung abgeleitet werden. Er kann nur über die ICs U2 bis U4 fließen und über die beiden LEDs. Die beiden LEDs nehmen etwa 1mA auf. Das EEPROM U1 ist meistens inaktiv und braucht wenige µA. Wenn keine Impulse an den Eingängen liegen braucht der Bus-Treiber 74HC245 nur wenige µA. Der FX2LP braucht maximal 85mA, normalerweise nur wenige mA.

Liegt an den Eingängen eine hohe Spannung, können 20mA und mehr fließen. Dann kann die Versorgungsspannung VDD über 3,3V gezogen werden. VDD ist die Versorgungsspannung des FX2LP. Diese darf nicht über 4V liegen.

USB nicht angeschlossen

Der Logikanalysator wird über den USB-Bus mit Strom versorgt. Wenn der USB-Anschluss nicht angeschlossen ist, ist VDD=0V.

Wird in diesem Fall an einen Eingang gelegt, gelangt über die Schutzdiode am Eingang des 74HC245 eine Spannung nach VDD. Der FX2LP und das EEPROM werden mit Strom versorgt. Der FX2LP startet. Wird später der USB-Anschluss angeschlossen, spinnt der FX2LP und die Software im PC erkennt den Logikanalysator nicht.

Messungen

Die folgenden Messungen wurden an einem Eingang des Logikanalysators durchgeführt.

Ue Ie
+5V 0,85mA
+4V 0,05mA
+3V 0,003mA
-0,6V -0,1mA
-1V -0,36mA
-2V -1,2mA

Höhere Spannungen wurden nicht angelegt, um den Logikanalysator nicht zu beschädigen.

Der fatale Fall

Besonders negativ kann sich auswirken, wenn der Masseanschluss des Logikanalysators an die positive Stromversorgung, z.B. +5V der gemessenen Schaltung angeschossen wird. Dann sind die Spannungen aller Eingänge negativ.

Fatal ist der Fall, dass der Masseanschluss des untersuchten Gerätes geerdet ist. Der USB-Bus vom PC ist meistens auch geerdet.

Wird die Masseleitung des Logikanalysators auf z.B. +5V gelegt, wird die Versorgungsspannung des gemessenen Gerätes über den USB-Bus kurzgeschlossen. Das kann fatale Folgen für das gemessenen Gerät aber auch für den PC haben.

Attention attention

Messgeräte per USB an einen PC anzuschließen ist gefährlich!

  • Der USB-Bus sollte isoliert sein.
  • Es gibt isolierte USB-Koppler, um 100€

Fazit

Mit Vorsicht zu genießen

  • Mit seiner Abtastrate von 24MHz ist ein Logikanalysator mit FX2LP für den Amateur durchaus interessant.
  • Selbstverständlich kann ein Logikanalysator mit FX2LP mit einem professionellen Gerät nicht mithalten oder gar ersetzen.
  • Es gibt eine gute Software für die Anzeige und Steuerung.
  • Die Eingangsschaltung des Logikanalysator ist für ein Messgerät ungeeignet.
  • Selbst für 5V-Systeme ist die Eingangsschaltung mangelhaft.
  • Für die Kopplung eines 5V-Systems an ein 3,3V-System soll der SN74LVC245 verwendet werden!
  • Er ist mit dem 74HC245 Pin-kompatibel. Er verträgt am Eingang bis zu 6,5V und entkoppelt diesen von der übrigen Schaltung.
  • Dieser SN74LVC245 ist allerdings etwas teurer als der 74HC245. Vermutlich liegt die Ursache auch an im Internet kursierenden Behauptungen, der 74HC245 sei für eine Pegelanpassung von 5V nach 3,3V geeignet.
Attention work

Empfehlung

Wer diesen Logikanalysator einsetzt, sollte wissen, was er tut!

  • Diesen Logikanalysator nicht verwenden.
  • Höchste Vorsicht beim Einsatz des Logikanalysators
  • Schutzschaltung vor den Logikanalysator setzen.
  • Logikanalysator am Raspberry Pi mit WLAN betreiben.
  • Auf dem Raspberry Pi läuft die Analysator-Software PulseView und
  • die Verbindung zwischen PC und Raspberry Pi erfolgt über ssh (Secure Shell).
  • Dieser ferne PC übernimmt die Anzeige und Steuerung von PulseView.

Auswege

Die maximale Sampling-Frequenz des Logikanalysators mit 24MHz erlaubt, vor die Eingänge bessere Pegelkonverter zu schalten, nämlich 74HC4050. Damit sind Eingangsspannungen bis zu +15V kein Problem. Negative Spannungen können durch kräftige Dioden ferngehalten werden.