Hallo,
ich arbeite bereits seit einiger Zeit an einem universellen Programmiergerät für EPROMS, Microcontroller etc. Das ganze funktioniert jetzt bereits ganz gut, sprich ich kann EPROMs, 20V8-GALs und zwei verschiedene PIC-Controllertypen damit lesen und schreiben.
Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von Bausteinen. Ich vermute dass es an der Ansteuerung des ZIF-Sockels liegt; jeder Pin des ZIF-Sockels kann auf logisch 0 oder 1 und je nach Pin über Transistoren auf eine variable Spannung oder auf Masse gelegt werden. Ausserdem kann der Logik-Pegel jedes Pins ausgelesen werden. Die Schaltung basiert grundsätzlich auf einem Artikel aus der ELRAD 4/1993. Die prinzipielle Beschaltung eines einzelnen Pins ist hier zu sehen:
Ganz rechts ist der Pin am ZIF-Sockel, links sind die Steuersignale zu sehen. Die Transistoren sind jeweils pro Pin optional, es gibt auch Pins mit zwei Transistoren für eine von zwei verschiedenen variablen Programmierspannungen (im Schaltplan nicht gezeichnet).
Das Problem dabei ist, dass bei den GALs z.B. Pull-Up-Widerstände an den
244er-Eingängen nötig waren (habe ich im Schaltplan noch nicht eingezeichnet), was ja wegen des CMOS-244ers noch verständlich wäre. Beim PIC war dann allerdings für ein sauberes Signal ein Pull-Down direkt am ZIF-Pin des Datensignals nötig. Ich weiss allerdings nicht ob ein Pull- Down-Widerstand an jedem ZIF-Pin (momentan 40-polig) wirklich eine sinnvolle Lösung ist...Kurz gesagt: hat jemand eine Idee wie das ganze besser und verlässlicher gemacht werden könnte?
(In Zukunft sollen die einzelnen Logikbausteine irgendwann durch ein PLD ersetzt werden, momentan ist das ganze für einen 40-poligen ZIF-Sockel aufgebaut doch ein rechtes IC-Grab... Und, was ebenfalls noch nicht beachtet wurde sind 3,3V - Bausteine; wenn jemand einen Tip hat wie diese gleich mit beachtet werden können, um so besser :-) )
Ich bin für alle Anregungen dankbar :-)
Vielen Dank und schöne Grüße,
Andreas