Mittlerweile läuft die in der vorigen Seite vorgestellte Programmierschaltung schon über ein Jahr. Dabei konnten reichhaltige Erfahrungen gesammelt und die Stärken und Schwachpunkte des Geräts genau bestimmt werden. Nun ist es an der Zeit, etwas Modellpflege zu betreiben und die gesammelten Anregungen umzusetzen. | ||
Die Programmierschaltung |
||
Beim Zusammenbau sowie beim Einsatz des Programmiergerätes ergaben sich mehrere
Probleme, die nun gelöst wurden: Zum einen der Zusammenbau. Der Einsatz vieler verschiedener Widerstandswerte ist größtenteils unnötig und konnte auf relaiv wenige Werte reduziert werden. Schließlich ist es fast egal, ob nun ein 4k7 oder ein 10k Widerstand als Pullup eingesetzt wird. Desweiteren wurde die Spannungsversorgung geändert. Solange man über mehrere verschiedene Spannungsquellen am Arbeitsplatz verfügt, ist auch das Arbeiten mit der alten Schaltung komfortabel möglich. Allerdings verfügen viele Nachbauer nicht darüber. Und so wurden schon etliche Controller in den Siliziumhimmel befördert, weil beim Umstecken der Spannungsversorgung vom Programmiergerät zur Zielschaltung die Spannung nicht umgeschaltet wurde. Desweiteren gab es schon die wildesten Lötereien, um die Schaltung direkt mit 12V zu versorgen und so ein preiswertes Steckernetzteil anzuschließen. Nun ist die Programmierschaltung für die direkte Versorgung mit 12V stabilisierter Gleichspannung vorgesehen, und die Bohrungen auf der Platine nehmen eine Buchse für oft an Steckernetzteilen zu findende Hohlstecker auf. Die meisten Steckernetzteile sind irgendwo unter dem Tisch an schlecht zugänglichen Steckdosen zu finden. Daher befindet sich nun ein kleiner Schiebeschalter zum Ein- und Ausschalten auf der Platine, zusammen mit weiteren einer Leuchtdiode, die den Versorgungszustand signalisiert. ![]() |
![]() Ein Problem ist es, dass die Programmierschaltung beim Versuch, einen in einer bestimmten Weise durchgebrannten Controller zu programmieren, beschädigt werden kann. Wenn ein Controller derart durchgebrannte Pins besitzt, dass diese nach Vcc niederohmigen Durchgang haben, so schließt dies die IO-Ports des Steuercontrollers ebenso wie die Gatter des 7414 kurz, und beide können dabei zerstört werden. Um dieses Problem zu umgehen, wurde eine Sicherung vom Typ 'Picofuse' mit der Auslösecharakteristik 'flink' und einem Auslösestrom von 63mA eingesetzt, die hoffentlich immer schnell genug reagieren kann, bevor permanente Schäden auftreten. Zumindest wird sie das Gröbste vom Steuercontroller abwehren können. Die Gatter des 7414 brennen leichter durch, dafür lässt sich dieser Chip aber auch leicht ersetzen. Es ist trotz der Sicherung empfehlenswert, einen At89C2051-Controller mit dem Steuerprogramm, einen 74LS/HCT14 sowie eine Picofuse bei Gelegenheit in Reserve zu legen, um auf den Worst Case vorbereitet zu sein. zurück zum Anfang |
|
Einbau eines Umschalters zur Zielschaltung |
||
Ein oft genannter Kritikpunkt des Programmiergerätes war es, dass man zum reprogrammieren
immer den Chip aus seinem Sockel ziehen, ihn in das Programmiergerät stecken und nach
erfolgter Programmierung wieder in die Zielschaltung stecken musste. Um dieses Problem zu lösen gibt es mehrere Ansätze. Eine Möglichkeit besteht darin, wie auf der vorigen Seite dargestellt die Zielschaltung über Widerstände vom eigentlichen Controller abzukoppeln und den Controller mit Tri State - Bustreibern zu programmieren, die sich im Normalbetrieb 'unsichtbar' verhalten. Das funktioniert auch, allerdings muss dabei der Quarz des Zielcontrollers 'brutal' von dem Bustreiber überwunden werden, und durch die Widerstände im Signalweg zur Zielschaltung wird der Signalpegel verschlechtert. Eine saubere Lösung ist das daher nicht. Aufwändiger, aber auch technisch eleganter ist der Einsatz von Schaltern wie dem 4066 - Chip. Damit lassen sich die Verbindungen des Controllers zur Schaltung auf elektronischem Wege herstellen oder unterbrechen. Leider ist der Innenwiderstand des 4066 (100 bis 300 Ohm) nicht grade gering, zudem sind in einem 4066 nur 4 dieser Schalter. Zu allem Übel sind die 4066 nicht für das Schalten von Bussen designt, sodass eine Lösung auf Basis dieser Chips eine ganze Menge 4066 enthalten müsste, die zudem noch unzählige Durchkontaktierungen oder Leiterbahnbrücken erfordern. Aus diesem Grunde wurde diese Variante verworfen, noch bevor die Leiterplatte dafür fertiggezeichnet wurde. |
![]() Diese Umschalter besitzen zwei Vorteile: zum einen einen echten Umschalter, der für eine vollkommene Potentialtrennung von Ziel- und Programmierschaltung sorgen kann, und zum anderen ein stabiles Stahlblechgehäuse, das auch die Schaltung aufnehmen kann. Neben dem Umschalter (25polig für serielle oder parallele Verbindung) benötigt man weiterhin einen Flachband-IC-Sockel, also einen Stecker, der in einen IC-Sockel passt, sowie etliche weitere Stecker je nach persönlichen Vorlieben zum Anschluß von serieller Schnittstelle und Stromversorgung des Programmiergerätes. Weiterhin werden zwei LED Einbau-Fassungen benötigt. Über das lange Flachbandkabel, mit dem das fertige Gerät dann mit der Zielschaltung verbunden wird, läuft natürlich der Schwingquarz nicht mehr. Daher muss dieser auf einem kleinen Platinchen am besten direkt am Zielcontroller angebracht werden, und über ein möglichst kurzes Kabel mit dem Umschalter verbunden werden. Darum gehört also ein 24 MHz-Quarz, zwei 33pF-Kondenssatoren und eine Lochrasterplatine (sofern man nicht gern ätzt) mit auf die Einkaufsliste. zurück zum Anfang |
|
Der Umschalter besitzt zwei Stellungen, von denen nun die eine den Programmiervorgang und die andere die Arbeit des Controllers übernehmen soll. Daher sind mit wenigen Ausnahmen alle Pins des Zielcontrollers einfach zwischen Programmierschaltung und dem Flachbandkabel, das über einen Stecker mit der Zielschaltung verbunden wird, hin- und herzuschalten. Eine Ausnahme ist der Quarz. Für eine hochohmige Hochfrequenz-Schaltung wie dem Taktgenerator ist das Flachbandkabel zu lang und zu Störanfällig. Darum werden die beiden XTAL-Leitungen direkt im Gerät auf einer kleinen Platine beschaltet. XTAL2 wird dabei direkt mit dem Quarz verbunden, da dieser Pin für den Programmiervorgang nicht von Bedeutung ist. XTAL1 hingegen wird zwischen Programmierschaltung und dieser Hilfsplatine hin- und hergeschaltet. Eine weitere Ausnahme ist GND. Die Masse wird der Einfachheit halber überall im Gerät fest verdrahtet. So erziehlt man zwar keine vollständige Potentialtrennung mehr, spart sich aber etwas Arbeit. |
||
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
|
![]() ![]() zurück zum Anfang |
![]() |
![]() |
![]() |
---|