../../icons/Logo.png

Praktische Elektronik


Details zur Funktion der LogicProbe mit PIC


Home

Projekte

LogicProbe mit PIC

Beschreibung der LogicProbe mit PIC

Inhalt

Programmierung des PIC

Bauteilliste und Aufbau

Weitere Infos zur LogicProbe


Beschreibung der LogicProbe mit PIC

Versionen

2.2 erste freigegebene Version

2.3 Universal-Modus neben CMOS und TTL

2.4 Erkennung von Impulsen geringer Flankensteilheit

Übersicht

Die LogicProbe (Logikstift, Logiktester) ist ein einfaches Messgerät, mit dem man den Zustand eines Anschlusses in einer Logikschaltung einfach und schnell messen kann.

LogicProbePIC.jpg
Bild 1: LogicProbe auf Lochrasterplatine im Vergleich zu einem Prüfclip
Attention pin Ein Logiktester ist nicht nur der Logikanalysator des kleinen Mannes. Ein guter Logiktester ist in vielen Fällen hilfreicher als ein Logikanalysator und vor allem wesentlich schneller bereit.

Logiktester

Die LogicProbe verwendet einen PIC12F629.

Natürlich gibt es eine Reihe von Vorschlägen für Logiktester:

  • Aus grauer Vorzeit Seite 15
  • Suchmaschinen kennen noch mehr.

Für einfache Messung von Pegeln reichen 2 LED und 2 Widerstände: einfache Logiktester

Eigenschaften der LogicProbe

  • Zeigt Low-Pegel (grün), High-Pegel (high) und Impulse (gelb) an
  • Erkennt einzelne Impulse unter 20ns und über 20MHz
  • Arbeitet mit externer Versorgungsspannungen von 3V bis 15V
  • Ist gegen Eingangsspannungen und Versorgungsspannungen von +- 30V gesichert
  • Erkennt offenen Eingang
  • Schätzt das Tastverhältnis von Impulsen ab
  • Ist auf CMOS, TTL und Universal umschaltbar
  • Bei CMOS und TTL sollte die Versorgungsspannung der LogicProbe der Versorgungsspannung der Logik entsprechen
  • Prüft, ob die Pegel in dem für die Logik-Familie spezifizierten Bereich liegt (bei CMOS und TTL)
  • Im Modus Universal wird bei einer Versorgungsspannung von 3V bei allen Logiken von CMOS 1,8V über TTL zu CMOS 15V sowohl der Zustand als auch Impulse erkannt. Die Pegel-Bereiche werden allerdings lax behandelt.
  • Erkennt, ob Versorgungsspannung für TTL geeignet ist
  • Erkennt Impulse:
  • LED (gelb) zeigt an, dass Impulse erkannt wurden
  • LED (gelb) kann zurückgesetzt werden
  • dauerndes Blinken der LED (gelb) bei Impulsfolgen
  • kurzes Blinken der LED (gelb) bei Einzelimpulsen
  • Impulse mit wenigen ns Breite werden erkannt
  • Frequenzen über 40MHz werden erkannt
  • sehr langsame Impulsflanken ( > 1s ) werden erkannt
  • Der Eingangswiderstand liegt bei 180kOhm und hat dadurch geringen Einfluss auf die gemessene Schaltung
  • Stromverbrauch unter 10mA
  • Ist klein: 10mm x 90mm inklusive Messspitze
  • Die Bauelemente kosten unter 5,00 Euro

Aufbau

Die LogicProbe ist mit einem PIC12F629 aufgebaut. Die Stromversorgung erfolgt über den LDO-Regler LM2936.

Funktionsbeschreibung

Nach dem Anschließen der Versorgungsspannung läuft eine Sequenz ab, bei der die LED leuchten. Man kann erkennen, ob alle LED anzeigen können. Die Sequenz selbst ist unten beschrieben. Die LogicProbe ist auf Universal geschaltet.

Stromversorgung

Die LogicProbe sollte an die Versorgungsspannung der untersuchten Logik angeschlossen werden. Die LogicProbe ist gegen falsche Polung und Spannungen bis +- 30V geschützt. Über 5V arbeitet die LogicProbe intern mit 5V.

Wenn gemischte Logik verwendet wird, sollte diejenige mit der niedrigsten Spannung, aber nicht unter 3V verwendet werden. Bei gemischter Logik sollte der Universal-Modus verwendet werden.

Nach dem Anschließen der Versorgungsspannung läuft eine Sequenz ab, bei der die LED leuchten. Man kann erkennen, ob alle LED anzeigen können. Die Sequenz ist unten beschrieben. Die LogicProbe läuft im Universal-Modus.

Modus Universal

Der Modus Universal ist dann zu empfehlen, wenn die Zustände einer Logik untersucht werden. Er eignet sich insbesondere für die Messung bei Logiken mit verschiedener Versorgungsspannung. Grundsätzlich können Logiken zwischen 1,8V und 15V untersucht werden. Die LogicProbe sollte an die niedrigste Versorgung der Schaltung angeschlossen werden. Allerdings muss die Spannung nicht kleiner als 3V sein. Nur bei 3V werden Pegel von 1,8V-Logik erkannt.

Es werden sowohl die Pegel als auch Impulse angezeigt.

Natürlich können die Pegel der Logiken nicht exakt gemessen werden. Dazu muss auf CMOS oder TTL geschaltet werden und die korrekte Versorgungsspannung verwendet werden.

Anzeige der Logikpegel

Die LogicProbe hat 3 LED.

  • Die grüne LED zeigt an, dass LOW anliegt,
  • die rote zeigt HIGH an und
  • die gelbe, dass Impulse erkannt wurden.
  • Wenn Impulse anliegen blinkt die gelbe LED.
  • Die grüne und rote können dann auch leuchten:
  • Die grüne bzw. rote LED leuchten hell, wenn Low- bzw High- mit kurzen Impulsen anliegen.
  • Die grüne bzw. rote LED leuchten schwach, wenn Low- bzw High-Impulse mit ungleichem Tastverhältnis anliegen.
  • Die grüne und die rote LED leuchten schwach, wenn Low- bzw High-Impulse mit etwa gleichen Tastverhältnis anliegen.

Wenn weder die grüne noch die rote LED leuchten,

  • liegt entweder kein korrekter Logikpegel an,
  • befindet sich die Logik im Tristate
  • ist der Eingang der LogicProbe offen

Genauere Messungen sind nur im CMOS- oder TTL-Modus möglich

Impuls-Erkennung

Wenn Impulse erkannt wurden, schaltet die LogicProbe die gelbe Impuls-LED für etwa 80ms ein und dann für 80ms aus. Impulse, die während dieser Zeit einlaufen, werden anschließend angezeigt. Bei laufenden Impulsen blinkt die gelbe LED. Während Impulse anstehen, werden die grüne LOW- und die rote HIGH-LED entsprechend dem Tastverhältnis angezeigt. Wegen der Verzögerung kann es zu einem Blinken der LEDs kommen, nachdem die LogicProbe vom Messpunkt genommen wurde.

Ein Impuls ist ein LOW-HIGH-Übergang. Ein HIGH-LOW-Übergang wird nicht angezeigt. Das ist kein Problem, weil langsame Impulse durch die LOW- oder HIGH-LED angezeigt werden. Außerdem ist zu beachten, dass ein Tristate Auswirkung auf die Impulserkennung hat. Mehrere Tristate-HIGH-Tristate-Übergänge sind eben kein LOW-HIGH-Übergang.

Impuls-Erkennung zurücksetzen

Bei vielen Messungen ist es wichtig, einzelne Impulse zu erkennen. Die LogicProbe kann dafür mit einem Taster zurückgesetzt werden. Die gelbe Impuls-LED erlischt. Am besten schließt man dazu die LogicProbe bereits an den Anschluss an und betätigt dann kurz den Taster. Der erste einlaufende Impuls aktiviert dann die gelbe Impuls-LED. Genau genommen zeigt diese LED an, dass mindestens ein LOW-HIGH-Übergang erkannt wurde.

Bedeutung der Anzeige

LOW-LED grün HIGH-LED rot Impuls-LED gelb Zustand
x x aus noch keine Impuls empfangen
x x an Impuls(e) empfangen
x x blinkt Impulse werden empfangen
aus aus blinkt nicht offen
hell aus blinkt nicht LOW
aus hell blinkt nicht HIGH
hell aus blinkt LOW mit sehr kurzen Impulsen
wenig hell aus blinkt LOW mit kurzen Impulsen
wenig hell wenig hell blinkt Impulse mit 1:1
aus wenig hell blinkt HIGH mit kurzen Impulsen
aus hell blinkt HIGH mit sehr kurzen Impulsen
blinkt aus blinkt Langsame sehr kurze HIGH Impulse
blinkt blinkt blinkt Langsame Impulse
aus blinkt blinkt Langsame sehr kurze LOW Impulse

CMOS- und TTL-Modus

Die LogicProbe kann in die Modi

  • Universal
  • 1,8V bis 15V Logiken CMOS und TTL
  • Versorgungsspannung >= 3V, möglichst 3V
  • keine exakte Bestimmung der Pegel
  • CMOS
  • 3V bis 5V
  • Versorgungsspannung entspricht der der Logik
  • exakte Bestimmung der Pegel
  • TTL
  • 4,75V bis 5,25V
  • Versorgungsspannung entspricht der der Logik
  • exakte Bestimmung der Pegel

Umschaltung zwischen Universal- CMOS- und TTL-Modus

Die LogicProbe ist nach dem Einschalten immer in den Universal-Modus geschaltet. Der Modus kann durch langes Drücken des Tasters umgeschaltet werden. Das Umschalten sollte erfolgen, wenn der Eingang der LogicProbe nicht angeschlossen ist. Durch den Taster wird zunächst die gelbe LED ausgeschaltet. Nach etwa einer Sekunde blinken dann die LED im selben Takt.

LOW-LED
grün
HIGH-LED
rot
Impuls-LED
gelb
Modus
aus aus aus warten bis LEDs blinken
blinkt aus aus Universal
blinkt aus blinkt CMOS
aus blinkt blinkt TTL
blinkt blinkt blinkt TTL, Versorgungsspannung zu niedrig

Wenn die Versorgungsspannung für TTL zu niedrig ist, ist dennoch auf TTL umgestellt.

Die Logik-Familie kann auch, während der Eingang angeschlossen ist, umgeschaltet werden. Dann kann allerdings die Versorgungsspannung nicht überprüft werden. Der Eingang kann einen geringen Einfluss auf die gemessene Schaltung haben. Es wird kurzzeitig über einen 100 kOhm Widerstand die Versorgungsspannung auf den Eingang gelegt.

Messung hoher Frequenzen oder sehr kurzer Impulse

Hohe Frequenzen oder kurze Impulse kann man natürlich nicht mit langen Leitungen messen. Die LogicProbe wird über einen Stecker mit drei Pins an die Stromversorgung angeschlossen. Man kann einen der beiden U- (Gnd) Pins über eine kurze Leitung an die Masse in der Nähe des Messobjekts anschließen.

Einstellung der minimalen Versorgungsspannung für TTL

Der PIC der LogicProbe ist auf einen typischen Wert für die untere Versorgungsspannung für TTL eingestellt. Aufgrund der Streuung der verwendeten Bauelemente, insbesondere der LEDs und der Kondensatoren, ist es für jede LogicProbe besser, sie speziell zu eichen.

Vorgehensweise:

1.
Der Eingang muss offen sein.
2.
Eine Versorgungsspannung von möglichst genau 4,70V anlegen.
Der Wert sollt etwas unter 4,75V sein, weil sonst 4,75V als fehlerhaft angesehen werden könnte.
Die meisten TTL-Chips laufen übrigens ohne Probleme bei 4,5V. Man kann also auch 4,45 einstellen.
3.
Beim Einschalten der Versorgungsspannung die Taste halten.
4.
Während die normale Einschaltsequenz abläuft, die Taste halten bis die LEDs flackern.
5.
Taste loslassen und 2 Sekunden warten.

Der gemessene Wert wird im EEPROM des PIC12F629 gespeichert. Wenn die Versorgungsspannung unter diesem Wert liegt, wird sie als für TTL unzulässig angesehen.

Sequenz beim Einschalten der LogicProbe

Wenn die Versorgungsspannung an die LogicProbe angelegt wird, leuchten alle LEDs für 2 Sekunden auf und blinken dann kurz.

LOW-LED
grün
HIGH-LED
rot
Impuls-LED
gelb
Bedeutung
aus aus aus Initiale Pause von 1 Sekunde
an an an Test der LEDs während der ersten 2 Sekunden
aus aus aus Pause für 1/2 Sekunde
x x x mindestens eine LED ist an,
Anzeige der primären Version,
x x x ist binär kodiert, gelb = Bit 0
aus aus aus Pause für 1/2 Sekunde
x x x mindestens eine LED ist an,
Anzeige der sekundären Version,
x x x ist binär kodiert, gelb = Bit 0
aus aus aus Pause für 1/2 Sekunde
blinkt aus aus Anzeige des Universal-Modus 2 Sekunden
aus aus aus Pause für 1 Sekunde, Ende der Sequenz