Hotpluging

Hallo,
ich will an einen Mikrocomputer (genauer CControl) wechselbare Speicherbausteine (wahrscheinlich serielle EEProms) per Stecker anschließen. Normalerweise geht das ja nicht, z.B. bei USB geht es aber doch, soweit ich weiß ohne Optokoppler etc. Kann mir jemand Tipps geben, wie man das ganze sicher trennt?

Cu Rene

Hallo,
so kritisch sehe ich das nicht , wenn einige Randbedingungen
eingehalten werden.

  1. Es ist meist nicht gut für den IC, wenn an Signalpins eher
    Spannung anliegt, als an den Betriebsspannungspins.
  2. Während des Steckvorganges dürfen keine Rückwirkungen auf
    die restliche Schaltung entstehen.

Um diesen Problemen grundsätzlich aus dem Weg zu gehen,
sollten alle Signalleitungen über Treiber entkoppelt werden.
Für die Richtung Prozessor->Modul Tri-State-Treiber verwenden.
Außerdem alle Signale zum Modul mit Pull-Down-Widerst.
beschalten, damit keine statischen Aufladungen entstehen können.
Gegebenenfalls auch alle Signalleitungen gegen ESD schützen
(z.B. mit Transzorbdioden oder mit schnellen Si.-Dioden nach
Betriebsspannung und Masse klemmen.

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.

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.
Gruß Uwi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich hätte noch den Tip , Steckverbinder mit voreilenden Kontakten zu verwenden . Damit kann man die Masseverbindung und die Betriebsspannung herstellen , bevor die empfindlichen Signalleitungen zusammenkommen .
MfG

Hallo,

Ich hätte noch den Tip , Steckverbinder mit voreilenden
Kontakten zu verwenden . Damit kann man die Masseverbindung
und die Betriebsspannung herstellen , bevor die empfindlichen
Signalleitungen zusammenkommen .

Ist das bei Sub-D Steckern nicht auch so? Ich habe nämlich mal eine serielle Schnittstelle geliefert, als ich eine Maus (mal eben) austauschen wollte.

Cu Rene

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?

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.

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.

Cu Rene

nein , spezial

Ist das bei Sub-D Steckern nicht auch so ?

Nein , das sind spezielle Steckverbinder , mit welchen das Risiko einer Hardwareschaden stark verringern kann .
Mit SUB-D must Du zusätzliche elektrische Methoden anwenden .
MfG

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 :smile:.

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.

Noch ein kleiner Trick
Hallo

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:

Wenn du einen Rechteckigen Stecker verwendest ist es am besten wenn man die Kontakte der äussertesten beiden Ecken nimmt (als bei einem 10 poligen Header Pin 1 und 10). Dadurch kannst du einigermassen sicherstellen, dass die Verbindung erst geschlossen ist wenn der Stecker auf der ganzen Breite einigermassen kontakt macht.

MfG Peter(TOO)

ich auch noch einen
Hallo,
kann man natürlich so machen. Um aber sicherzustellen, daß
nicht schon im Moment des Steckens Saft auf’s Modul gegeben wird,
sollte softwaremäßig abgesichert werden, daß nach der

  1. Feststellung der Steckung für eine Weile wiederholend die
    Kontrolle der Steckung gemacht wird bevors richtig losgeht.
    Gruß Uwi

Danke nochmal,

kann man natürlich so machen. Um aber sicherzustellen, daß
nicht schon im Moment des Steckens Saft auf’s Modul gegeben
wird,
sollte softwaremäßig abgesichert werden, daß nach der

  1. Feststellung der Steckung für eine Weile wiederholend die
    Kontrolle der Steckung gemacht wird bevors richtig losgeht.

Keine schlechte Idee.
Mit allen Vorschlägen werde ich mich mal ans Layout machen und melde mich wieder, wenn ich den ersten Prozessor trotzdem geliefert habe :smile:

Cu Rene