Schaltkreis-Tester am KC85
von Mario Müller und Göran Heinze
Schaltkreise halten eigentlich einiges aus, doch auch in unserem KC geht schon mal einer in die “ewigen Jagdgründe“ ein. Nun steht man meistens mit dem defekten KC da und versucht, die Fehlerquelle einzukreisen: Man fängt an, den ersten verdächtigen Schaltkreis auszulöten. Und nun? Ist der defekt? Meistens hat man Ersatz da, doch manche hat man eben nicht. Um die ausgelöteten ICs zu prüfen, habe ich deshalb diese Schaltung entwickelt. Die Idee kam beim vorletzten Clubtreffen und beim letzten Mal war schon mein erster Prototyp zu sehen.
Was kann der Schaltkreis-Tester? Er kann Schaltkreise auf ihre logische Funktion prüfen. Zwar kann er nicht zwischen ICs mit gleicher Funktion (z.B. 74LS04 und 74LS14) unterscheiden, kann aber auch solche mit Open-collector- und Tristate-Ausgängen prüfen. Zur Zeit sind etwa 40 ICs in der Datenbank, die jedoch von mir noch erweitert wird, sobald ich entsprechende ICs zum Vergleichstest da habe. Leider war das bis jetzt noch nicht bei allen der Fall. Einige ICs sind im Programm mit einem Stern hinter dem Namen gekennzeichnet. Diese sind ungeprüft in die Datenbank gewandert und die Prüfmuster könnten noch fehlerhaft sein.
Zur Schaltung: Eigentlich ist das Schaltungsprinzip aus einem alten Funkamateur. Dort war die Schaltung allerdings in einen freien Adressbereich direkt am CPU-Bus eingebunden (ich glaube für den AC1). Ersten ist das schlecht realisierbar (da der KC vollen Speicherausbau hat) und zweitens wäre das Gerät nicht so universell einsetzbar.
Am KC ist die Schaltung an einem M001 angeschlossen, wobei nur die PIO genutzt wird. Der Kanal A wird zur Datenein- und -ausgabe, Kanal B zur Steuerung verwendet. IC1 wird zur hardwaremäßigen Selektion genutzt. IC2...4 dienen der Datenpufferung und IC5...7 lesen die Informationen zurück. Mein erster Prototyp war mit TTL-ICs bestückt. Das hatte den Nachteil, dass nur TTL-ICs geprüft werden konnten. Deshalb habe ich mich entschlossen, alle ICs durch HCT-Typen zu ersetzen, wodurch auch eine geringere Stromaufnahme erreicht wird.
Zur Funktion: Das Prinzip ist einfach. Man legt über Widerstände Pegel (z.B. überall H-Pegel) an den Prüfling und dieser stellt am Ausgang je nach Funktion einen anderen Pegel ein (z.B. L-Pegel bei NAND-Gatter). Dieser wird dann über IC5...7 zurückgelesen und ausgewertet. Damit sind wir aber schon beim Hauptproblem einer solchen Schaltung: Das sind die Widerstände an den Ausgängen von IC2...4. Die haben die Funktion der Strombegrenzung, wenn ein Pin des Prüflings ein Ausgang ist, und sollten deshalb nicht zu niedrig sein. Das ist relativ einfach zu meistern. An einem Eingang des Prüfling liegt dieser Widerstand aber in Reihe im Eingangsstromkreis und sollte deshalb nicht zu hoch sein (insbesondere bei L-Pegel). Für LS-TTL-Schaltkreise habe ich einen Wert von 1 kΩ verwendet und es haben bis jetzt fast alle getesteten ICs damit funktioniert. Für CMOS-ICs geht das nicht, denn dort wird der Ausgangsstrom durch die Betriebsspannung des ICs begrenzt. Bei 5 V und 1 kΩ Widerstand waren keine sauberen Pegel zu erreichen (ca. 2,4 V stellten sich am Ausgang ein). Deshalb habe ich alle Widerstände auf einer separaten Leiterplatte untergebracht, die einfach ausgetauscht werden kann. Für CMOS-ICs sollte der Wert nicht unter 3 kΩ liegen, ich habe 4,7 kΩ verwendet, wobei ich sagen muß, dass ich nur drei CMOS-Typen zum Testen (4000-Serie) hatte.
Im Schaltbild sieht man eine 24-polige Testfassung, ich habe allerdings eine 40-polige verwendet, um eventuell den IC-Tester noch auszubauen (von Enrico kam der Vorschlag, 28-polige SRAMs zu testen).
Über die DIP-Schalter wird der Prüfling mit Spannung versorgt, je nach dem, an welchem Pin die 5 V Betriebsspannung anliegen soll. DIP10 ist standartmäßig umgelegt (für Masse). Über das Relais wird die Betriebsspannung eingeschaltet.
Es gibt ein paar Ausnahmen: Wenn ein 74090 oder 74093 (DL090/DL093) getestet werden soll, muß dieser entgegengesetzt eingesetzt werden und DIP 1 und 9 umgelegt werden (DIP 10 ausschalten!). Diese ICs sind im Programm mit einem Ausrufezeichen gekennzeichnet. Also vorher Menüpunkt “Liste“ aufrufen und nachschauen.
Noch ein Wort zur Stromversorgung. Die erste Schaltung – mit LS-TTL-ICs aufgebaut – nahm etwa 200 mA Ruhestrom ohne die beiden LEDs auf. Mit HCT-Typen liegt der Wert bei etwa 10 mA (mit LED etwa bei 30 mA). Ich habe mein M001 umgebaut und einen Massekontakt (erster oben neben A0) geopfert, um die 5 V Betriebsspannung herauszuführen. Bei einigen BUS-Treibern (8212) brach die Spannung zusammen, aber das war noch mit den alten TTL-IC. Deshalb hole ich die Spannung über die alte Tastaturbuchse (da meine Tastatur am M053 angeschlossen ist). Außerdem habe ich noch eine Sicherung eingebaut (dieser Vorschlag kam von Enrico) und habe erst mal eine für 800 mA eingesetzt.
Zur Software: Zur Zeit belegt sie den Speicherbereich 0200h...1FFFh, wobei da noch einige Reserven vorhanden sind. Das Programm ist in zwei Teile gegliedert. Ab 0200h (bis etwa 0A00h belegt) liegt die eigentliche Steuersoftware und ab 1000h die Daten für die einzelnen ICs. Deshalb habe ich das Programm in zwei Assembler-Dateien zerlegt. Erwartet bitte aber keinen “Supercode“ im Programmteil – aber er geht!
Der Datenteil ist ähnlich wie eine Datenbank aufgebaut und muß immer auf Startadresse 1000h übersetzt bzw. geladen werden. Es ist darauf zu achten, dass das Programm immer das erste M001 (also höchstpriorisierte) einschaltet. Findet es kein M001, kommt es zu einer Fehlermeldung und das Programm kehrt ins CAOS zurück. Auch zum Programmtest muß immer ein M001 gesteckt sein. Wenn jemand noch weitere Informationen für den Datenbank braucht, um selbst ICs aufzunehmen, dann kann er mich kontaktieren.
Zum Abschluß: Der IC-Tester funktioniert mit vielen IC-Familien (TTL, LS-TTL, HCT, HC, CMOS4000), aber ich kann nicht garantieren, dass man alle ICs damit prüfen kann (die mit externer Zusatzbeschaltung sowieso nicht). Manche ICs bereiten Probleme, meisten an den Eingängen, wenn der Strom bei L-Pegel zu gering ist (z.B. alte TTL-IC oder S-Typen). Aber dadurch, dass die Widerstände herausnehmbar sind (Adapterplatine), erschließen sich auch andere Anwendungen, z.B. über einen Adapter als Kabeltester. Man könnte auch DIP-Schalter auf die Adapterplatine setzen, um die Widerstände überbrücken zu können. Auch eine Adapterplatine mit Dioden und Pull-Up-Widerständen wäre möglich. Enrico wollte gleich wieder eine “eierlegende Wollmilchsau“ daraus machen, aber vielleicht haben auch andere noch Ideen, was verbessert werden könnte. Göran Heinze hat schon ein Leiterplattenlayout entworfen. Wenn genug Interessenten da sind, kann man das auch als Bausatz zusammenstellen. Man könnte noch zwei zusätzliche ICs verwenden (am Dekoder sind noch zwei Ausgänge frei) und käme auf 32 Pins (oder vier ICs mit einem zusätzlichen Decoder zum Beschalten aller Pins einer 40-poligen Fassung).
Also meldet Euch bei mir oder Göran, damit wir bis zum nächsten Clubtreffen schon mehr sagen können.
Bild 10: Der Prototyp des IC-Testers, wie er auf dem Clubtreffen 2005 zu sehen war.
Bild 11: Layout-Entwurf für den IC-Tester.
(volle Größe)
Bild 12: Schaltplan des IC-Testers.
