Danke,
Gegebenenfalls auch alle Signalleitungen gegen ESD schützen
(z.B. mit Transzorbdioden oder mit schnellen Si.-Dioden nach
Betriebsspannung und Masse klemmen.
Was ist ESD?
electro static discharge = elektrostische Entladungen,
das sind diese häßlichen kleinen Blitze, mit denen man
IC’s so effektiv in den Schaltkreishimmel schicken kann.
Außerdem sollte eine Erkennung des gesteckten Moduls
eingebaut werden (Brücke über zwei Pins).
Dann kann der Prozessor vor jedem Zugriff erstmal prüfen,
ob das Modul steckt und dann erst die Signalleitungen
aktivieren.
Da habe ich doch wieder das gleiche Problem - ich muß Spannung
auf eine Signalleitung zum Testen geben.
Nö, ist doch bloß ne Signalspannung. Du brauchst dafür doch
nur 2 Kontakte des Modulsteckerstecker, die Du an die
Prozessorelektronik wie folgt beschaltest:
An den einen legst Du Masse. An den anderen eine Signalleitung,
die an einen Dig-In des Prozessors geht. Die Signalleitung wird
über einen Pullup-R (z.B.10KOhm) auf Betriebsspannung (+5V)
gezogen. Auf dem Modul werden die beiden Pins nur gebrückt.
Wenn Du nun das Modul steckst, dann wird das Erkennungssignal
am Prozessor von H nach L gezogen (ganz sichere Sache Das
.
Ein weiteres Problem ist die Betriebsspannung des Moduls.
Auf dem Modul sollten ja zumindest Block-C (z.B.
100nF-Kermamik)
drauf sein. Damit im Moment des Steckens nicht die
Betriebsspannung am Prozessor einbricht, muß die Spannung
für’s
Modul von der restlichen Stromversorgung entkoppelt werden.
Diese Betriebsspannung also entweder separat erzeugen oder
zumindest im Layout separat von der Spannungsstabilisierung
mit
den größeren Block-C (Tantal, einige uF) wegführen.
Die paar mA wollte ich eigentlich über den Stecker zuführen,
was ich aber wohl nochmal überdenke.
Habe ich was davon gesagt, daß Du das nicht machen sollst?
Nö,
Du solltest nur die Betriebsspannungszuführung zum Modul
von der restlichen Schaltung entkoppeln.
Am sichersten z.B. so:
Mache eine Spannungsstabilisierung mit z.B. mit LM7805 oder Äquivivalent für den Prozessor und eine zweite z.B. mit einem
LM78L05 zur das Modul. Wenn jetzt mal durch das Stecken des
Moduls die 5V des 78L05 mal für paar ns zusammenbrechen, dann
hat das keinerlei Rückwirkungen auf die Stromversorgung des
Prozessors. Das ist dann perfekt entkoppelt.
Noch sicherer ist es, wenn Du auch die Betriebsspannung für das
Modul erst freischaltest, wenn das Modul gesteckt ist.
Das könnte mit dem gleichen Signal erfolgen, wie das
Freischalten der Signalleitungen. Natürlich sollte der
Prozessor dann auch so programmiert werden, daß er überhaupt nur
für die kurze Zeit des Datenaustausches mit dem Modul die
Freischaltung von Signalleitungen (und Betriebsspannung)
realisiert. So wird sichergestellt, daß das Modul fast immer
spannungfrei ist und deshalb problemlos gesteckt und abgezogen
werden kann. Das Abziehen ist aber eher unproblematisch, weil
dann noch die Kapazität der Block-C dafür sorgt, daß die
Betriebsspannung über dem Pegel der Signalleitungen liegt.
Im Zweifelsfall können aber auch die Eingänge auf dem Modul
an Masse und Betriebsspannung geklemmt werden.
Mit gewissem Aufwand bekommt man so fast jede Elektronik
Idiotensicher entworfen.
Was Du auf keinen Fall machen darfs, ist die +5V-Leitung erstmal
durch das Layout zu führen, dann mal bischen am Prozessor
vorbeischauen und hintendran ganz zuletzt noch zum Modul
den Strom anliefern. Da brauchst Du Dich dann nicht wundern,
wenn beim Stecken des Moduls der Prozessor ins Stolpern kommt
bzw. der Watchdog jedesmal ein Reset auslöst.
Gruß Uwi
PS: Die Idee mit den vorauseilenden Kontakten halte ich für
sehr elegant zumal solche speziellen Steckverbinder teurer sind
und nicht in beliebiger Bauform existieren.
Das ist nur Bekämpfung von Symtomen, aber besse ist es die
Ursachen von Fehlern zu beseitigen.