Schaltkreistester

Zu dieser Zeit wurden unzählige Projekte mit Schaltkreisen der sogenannten 74'er Serie realisiert. So sammelte sich mit der Zeit ein entsprechender Fundus, es wurden auch ständig IC aus alten Platinen wiederverwertet.

Hier ergaben sich 2 Aufgabenstellungen, welche sich nun erstmals dank Computerunterstützung umsetzen liesen:

1. Schaltkreise auf Funktion überprüfen:
gerade bei ausgelöteten Schaltkreisen oder älteren Beständen ist es mehr als ein "nice to have", vor dem einlöten in eine neue Schaltung zu wissen, ob alle Gatter bzw Logikfunktionen funktionieren

2. Schaltkreise ohne Beschriftung identifizieren:
es war nicht ungewöhnlich, sogenannt Bastlerschaltkreise ohne Beschriftung zu bekommen, oder die Beschriftung hat sich im Laufe der Zeit oder bei Reinigung aufgelöst, oder es waren unlesbar kyrillisch gelabelte IC. Hier war es bislang kaum möglich, den IC zu identifizieren.

Meine Lösung verfolgte den Ansatz, einfach alle einprogrammierten IC der Reihe nach durchzugehen, und mit dem im Testsockel steckenden Schaltkreis zu vergleichen. Hierfür wurde jede PIN des Sockels über einen Widerstand mit einem PIO-Port verbunden. So konnte programmtechnisch jeder Pin einzeln sowohl gelesen als auch mit Pegel beaufschlagt werden. Die Schaltung war so ausgelegt, dass nichts zerstört werden konnte.

Um jeglichen Verwechselungen beim Stecken der Prüfschaltkreise zu umgehen, habe ich einen 14 poligen und einen 16 poligen Sockel eingesetzt, wobei natürlich immer nur einer verwendet werden durfte.

 

Im Programm  habe ich eine strikte Trennung zwischen Code und IC-Testdaten umgesetzt, um Schaltkreise variabel ergänzen zu können und um kostbare Bytes zu sparen. Die Testdatentabelle wurde vom Programm der Reihe nach interpretiert, bis es ein Ergebnis gab.

So begann der Datensatz für einen IC immer mit 2 Byte (14 Bit=14 Pins + VCC + GND), welche die Zuordnung Ein/Ausgänge enthielten. Danach kamen in Folge jeweils in 2 Bytes für die Pegel der IC-Eingänge und gleichzeitig die erwarteten Rückgabewerte.

Die Belegung der PIO-Bits zu IC-Pins erklärt sich aus folgender Tabelle:

Byte_1  7  6  5  4  3  2  1  0
Pin_Sockel_14  x   x  06 05 04 03 02 01
Pin_Sockel_16  x  07 06 05 04 03 02 01
Pin_Sockel_16  x 
09 10 11 12 13 14 15
Pin_Sockel_14  x   x  08 09 10 11 12 13
Byte_2  7  6  5  4  3  2  1  0


Hier im Beispiel ein 2fach D-Flipflop 7474, dieses wird nach der Pinbelegung mit 4 Ausgängen und 8 Eingängen erst mit Reset=L belegt, und gleichzeitig geschaut, ob die Ausgänge und negierten Ausgänge entsprechend antworten, dann der der L-Pegel weggenommen, und geprüft, ob die Ausgänge auch den Zustand speichern, dann in Folge das selbe mit dem Setzeingängen und Takteingängen.

 

Als letztes Byte der Testdaten folgte eine eindeutige Endekennung ( 80h) , gefolgt von einem Byte mit der Schaltkreisbezeichung. Für das Programm gab es nur 2 Ergebnisse: entweder ein Beschreibungsdatensatz eines IC stimmte komplett mit den Erwartungen überein, und das Ergebnis konnte angezeigt werden, oder das Ende des IC-Datenbereiches wurde erreicht, und somit war der IC entweder defekt oder unbekannt. Den Fall, ob womöglich einzelne Gatter eines IC noch funktionierten habe ich nicht betrachtet, solche IC sollte man sowieso in keine Schaltung mehr einlöten.

 

Für die optisch ansprechende Ausgabe der identifizierten und geprüften Schaltkreisese auf dem Bildschirm setzte ich einen solchen aus Klötzchengrafik zusammen:

 

Die Testdatensätze wurden nach und nach entsprechend der in der DDR verfügbaren Basis für diverse  damals gängigen IC geschrieben:

7400 = D100 = 4 NAND mit je 2 Eingängen
7403 = D103 = 4 NAND open Kollektor
7404 = D104 = 6 Inverter
7408 = D108 = 4 AND mit je 2 Eingängen
7410 = D110 = 3 NAND mit je 3 Eingängen
7420 = D120 = 2 NAND mit je 4 Eingängen
7430 = D130 = 1 NAND mit 8 Eingängen
7450 = D150 = 2 Exclusiv OR mit je 4 Eingängen
7472 = D172 = JK-FlipFlop
7474 = D174 = 2 D-Flipflop
7492 = D192 = 4 bit Vor/Rückwärts Dezimalzähler
7493 = D193 = 4 bit Vor/Rückwärts Binärzähler
7495 = D195 = 4 bit Links/Rechts Schieberegister
74164 = D164 = 8 bit Schieberegister
74347 = D347 = 7 Segment Dekoder
7442 =           = BCD zu Dezimaldekoer

Messbar waren natürlich auch später folgende DL/DS/HCT-Serie.