../icons/Logo.pngPraktische Elektronik


Ein einfacher Logikanalysator.


list.png

Logikanalysator mit FX2LP

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

Sie sind mit dem FX2LP sehr einfach aufgebaut. Ihre 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 mit dem FX2LP von Cypress aufgebaut ist.

Attention pin

Software PulseView

Im Praktikum Logikanalysator mit PulseView wird beschrieben, wie ein FX2LP basierter Logikanalysator mit PulseView bedient wird.

FX2LP basierte Logikanalysatoren

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

Mit dem CY7C6801X können Saleae-kompatible Geräte einfach aufgebaut werden.

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 angebotenen Geräte unterscheiden sich meistens in der Eingangsschaltung.
  • Die Eingänge sind meistens weitgehend ungeschützt.
  • Beim Anschluss der Geräte ist Vorsicht geboten, damit weder das Gerät noch der Logikanalysator beschädigt werden.
  • Freie Software PuseView von sigrok für Windows, Mac OS X, Linux (auch auf Raspberry Pi)
  • Einfache Bedienung
  • Zeitmessung mit vielen Möglichkeiten
  • Trigger-Logik auf Flanken und Zustände der Eingänge
  • Übersichtliche Anzeige
  • Solche Geräte werden als Saleae-kompatibel bezeichnet.
  • Meistens handelt es sich um einfache Nachbauten.
  • Die Verwendung der Software von Saleae ist gemäß den Nutzungsbedingungen auf den Nachbauten illegal.
  • und die freie Software PuseView ist genauso gut.
  • Ein Saleae-kompatibler Logikanalysator kostet ca. 20€.

Schaltung des Logikanalysators

Logikanalysatoren, die auf dem FX2LP von Cypress basieren, 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 vom Saleae-Gerät

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

Die Schaltung in Bild 1 entspricht bis auf wenige Details allen FX2LP-basierten Logikanalysatoren.

Eingangsschaltung

Attention >

THT und SMD

Montage von Bauelemente auf Leiterplatten

THT (Through Hole Technology) Durchsteckmontage

  • Die Anschlüsse von THT-Bauelementen werden durch Löcher in der Platine gesteckt und von unten verlötet.
  • THT-Bauelemente werden auf der Oberseite der Platine montiert.
  • Bedrahtete Bauelemente wie Widerstände und Kondensatoren werden in THT montiert. Dazu müssen die Anschlussdrähte entsprechend gebogen werden.

SMD (Surface Mounted Device) Oberflächenmontage

  • SMD-Bauelemente benötigen keine Bohrungen, sondern werden direkt auf Kupferpads gelötet.
  • SMD-Bauelemente können auf beiden Seiten einer Platine montiert werden.

Die meisten Geräte unterscheiden sich in der Eingangsschaltung.

Die in Bild 1 gezeigte Eingangsschaltung ist nicht geeignet:
Der 74HC245 schützt die Schaltung kaum und ist eigentlich nur für 3,3V-Logik geeignet.

FX2LP-Logikanalysator_74LVC245.png

Ein 74LVC245 ist besser:
Er ist für 3,3V- und 5V-Logik geeignet. Es gibt auch keine Probleme, wenn keine Versorgungsspannung vom USB-Anschluss kommt.

FX2LP-Logikanalysator_Dioden.png

Kein 74xx245, sondern nur eine Diodenschaltung, die die Eingangsspannung des FX2LP begrenzt:
Die Eingänge sind noch weniger geschützt als beim 74HC245.

Minimalversion

  • Siehe Bild 2
  • Die Minimalversion enthält nur einen 74HC245 im SMD-Gehäuse
  • und keine Diodenschaltung.

In diesem Fall könnte der 74HC245 gegen einen 74LVC245 ersetzt werden.

  • Wir müssen zwei SMD-Bausteine austauschen.
  • Das ist ohne Heißluftlöter ist das kaum zu schaffen.

FX2LP

Herz der Schaltung ist der FX2LP.

Der FX2LP ist ein USB 2.0 Mikrocontroller mit

  • einem 16-Bit Interface, das frei programmierbar ist (GPIF),
  • einem integrierten 8051 Mikroprozessor
  • mit 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 aus einem EEPROM geladen.

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

Auf der Unterseite befindet sich der Spannungsregler.

Aufbau des Logikanalysators

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

Acht Leitungen des FX2LP bilden die Eingänge des Logikanalysators.

Diese Eingänge sind über einen acht Bit breiten Bustreiber 74HC245 entkoppelt. Sie werden über einen Widerstand (R11) auf 3,3V gezogen. Offene Eingänge sind somit im definierten Zustand 1. Die 100Ω (R21) Widerstände bilden einen gewissen Schutz gegen fehlerhafte Spannungen am Eingang. Die LED2 zeigt den Zustand des ersten Messeingangs an.

Die Stromversorgung von 3,3V erfolgt über einen Spannungsregler aus der 5V-Versorgung des USB-Busses. Die LED1 zeigt an, dass die 3,3V Versorgung besteht.

  • Die Schaltung sieht auf den ersten Blick brauchbar aus.
  • Das Gerät ist laut Hersteller für Messungen an 5V- und 3,3V-Logik geeignet.
  • Die maximale Eingangsspannung wird mit 5,5V angegeben.

Problematischer Aufbau

Bei näherer Betrachtung erweist sich die Konstruktion 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, auftreten.
  • Der Masseanschluss des Logikanalysators kann falsch sein, z.B. an +5V.
  • Die Logikanschlüsse können bereits angeschlossen werden, bevor das Gerät über den USB-Bus mit dem PC verbunden wurde.

Auf diese Fälle werden wir weiter unten näher eingehen.

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Ω.

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

Die negative Spannung darf 2,6V (2V+Flussspannung der Diode) nicht überschreiten. Ebenso darf die positive Spannung maximal 2,6V größer als die Versorgungsspannung sein.

Eingänge des Logikanalysators

In den Eingängen des Logikanalysators befinden sich noch 100Ω Widerstände. Damit sind

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

Die Schutzschaltung spricht bereits an, wenn die Spannung am Eingang +3,9V überschreitet.

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

Problem Versorgungsspannung

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

Wenn eine hohe Spannung an den Eingängen anliegt, können 20mA und mehr fließen. Die Versorgungsspannung VDD kann dann über 3,3V gezogen werden. VDD ist die Versorgungsspannung des FX2LP. Sie darf 4V nicht überschreiten.

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 eine Spannung an einen Eingang angelegt, gelangt über die Schutzdiode am Eingang des 74HC245 eine Spannung an VDD. Der FX2LP und das EEPROM werden mit Spannung 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 nachteilig kann es sich auswirken, wenn der Masseanschluss des Logikanalysators mit der positive Stromversorgung, z.B. +5V der gemessenen Schaltung verbunden wird. In diesem Fall sind die Spannungen aller Eingänge negativ.

Fatal ist es, wenn der Masseanschluss des untersuchten Gerätes geerdet ist. Der USB-Bus vom PC ist in der Regel auch geerdet.

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

Attention attention

Messgeräte über USB

Der Anschluss von Messgeräten an einen PC über USB ist gefährlich!

Vor dem Anschließen:

  • Kopf einschalten
Attention idea

Masseleitungen rot

Die Leitungen/Stecker zu den Masseanschlüssen des Logikanalysators kennzeichnen:

  • roter Schrumpfschlauch um den Stecker
  • roter Testclip Testclip.png

Fazit

Mit Vorsicht zu genießen

  • Mit einer Abtastrate von 24MHz ist ein Logikanalysator mit FX2LP für den Einsteiger durchaus interessant.
  • Natürlich kann ein Logikanalysator mit FX2LP mit einem professionellen Gerät nicht mithalten oder es gar ersetzen.
  • Es gibt eine gute Software zur Anzeige und Steuerung.
  • Die Eingangsschaltung des Logikanalysators ist für ein Messgerät ungeeignet.
  • Selbst für 5V-Systeme ist die Eingangsschaltung unzureichend.
  • Um eine 5V-Systems an ein 3,3V-System zu koppeln, sollte der SN74LVC245 verwendet werden!
  • Er ist Pin-kompatibel zum 74HC245. Er verträgt bis zu 6,5V am Eingang und entkoppelt diesen vom Rest der Schaltung.
  • Dieser SN74LVC245 ist allerdings etwas teurer als der 74HC245.
  • Dieses liegt vermutlich auch an Behauptungen, die im Internet kursierenden, der 74HC245 sei für eine Pegelanpassung von 5V nach 3,3V geeignet.

Was tun?

  • Den Logikanalysator öffnen und prüfen, ob ein SN74LVC245 verwendet wurde.
  • Zurückschicken, wenn kein SN74LVC245 verwendet wurde.
  • 74HC245 durch SN74LVC245 ersetzen.
Attention work

Empfehlung

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

  • Diesen Logikanalysator nicht verwenden.
  • Höchste Vorsicht bei der Verwendung des Logikanalysators
  • Eine Schutzschaltung vor den Logikanalysator setzen: Siehe hier.
  • Den 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).
  • Der 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 Dioden ferngehalten werden.

Attention idea

Im Projekt Schutzschaltung für einen Logikanalysator wird eine solche Schaltung vorgestellt.