Forum: Mikrocontroller und Digitale Elektronik Plug-Off-Erkennung


von Plug (Gast)


Lesenswert?

Hallo,

Gegeben sind mehrere Platinen, die alle an demselben Pin an einer 
Schnittstelle erkennen können sollen, ob eine neue Platine hinzugekommen 
ist, oder auch entfernt wurde, bzw. genauer gesagt würde es reichen, 
wenn die Hauptplatine weiß, welche Peripheriemodule angeschlossen werden 
und welche wieder entfernt werden.
Ist das möglich?


An der Hauptplatine hätte ich einen Eingang. Dort wird überwacht, ob der 
Pegel auf Low liegt.
Nun wird eine Platine auf das Bus-System aufgesteckt. Die neue Platine 
zieht den Pin auf high-Pegel, daran erkennt die Hauptplatine, dass eine 
neue Platine angeschlossen wurde.
Nachdem über die Kommunikation geklärt ist, um welche neue Platine es 
sich handelt, setzt diese ihren Pin wieder auf 0 zurück.
Dann herrscht erstmal wieder Ruhe auf der Leitung, aber wie erkenne ich 
aus dieser Situation nun, wann die Platine wieder getrennt wird, also 
quasi eine Plug-Off-Erkennung, bei der aber mehrere Teilnehmer sich 
denselben Pin teilen?


Danke!

von Peter II (Gast)


Lesenswert?

Plug schrieb:
> Dann herrscht erstmal wieder Ruhe auf der Leitung, aber wie erkenne ich
> aus dieser Situation nun, wann die Platine wieder getrennt wird, also
> quasi eine Plug-Off-Erkennung, bei der aber mehrere Teilnehmer sich
> denselben Pin teilen?

über Bus regelmäßig ein Heartbeat senden, wenn er ausbleibt ist das 
Modul weg.

von Plug (Gast)


Lesenswert?

ok danke,
das ist natürlich eine Möglichkeit, setzt aber wohl voraus, dass sich 
jedes Modul um einen anderen Heartbeat kümmert. sollen ja alle an der 
gleichen Leitung hängen.

Weitere Möglichkeiten?

von Peter II (Gast)


Lesenswert?

Plug schrieb:
> das ist natürlich eine Möglichkeit, setzt aber wohl voraus, dass sich
> jedes Modul um einen anderen Heartbeat kümmert. sollen ja alle an der
> gleichen Leitung hängen.

ich dachte du hast ein Bus? Da hat doch wohl jeder Teilnehmer eine 
Adresse.

von Jürgen D. (poster)


Lesenswert?

Peter II meint bestimmt eine Kommunikation über denn BUS und nicht über 
den Pin.
Also z.B. ein pollen vom BUS Master aus.

Oder doch bei Verwendung deinen einen Pins:
Bei der Initialisierung nach dem Aufstecken einer Baugruppe bekommt 
diese eine fortlaufende Nummer.
Der Busmaster sendet ein bestimmtes Signal auf den PIN.
Baugruppe 1 antwortet mit einen kürzen Puls auf dem PIN.
Jede Baugruppe zählt die Pulse mit und sendet dann in Abhängigkeit ihrer 
Nummer einen weiten Puls.
Fehlt eine Baugruppe fehlt auch der Puls und es gibt ein Timeout.
Die Baugruppen nach der Fehlenden Baugruppe müssen dann jedoch neu 
initialisiert werden damit es wieder eine Reihe fortlaufender Nummern 
gibt.

von Plug (Gast)


Lesenswert?

Nun, das Problem ist, dass die Module eigentlich möglichst wenig auf dem 
Bus senden sollen ich aber gerne frühzeitig erkennen können möchte, wenn 
ein Modul fehlt.

von Peter II (Gast)


Lesenswert?

Plug schrieb:
> Nun, das Problem ist, dass die Module eigentlich möglichst wenig auf dem
> Bus senden sollen ich aber gerne frühzeitig erkennen können möchte, wenn
> ein Modul fehlt.

warum? sind die Fahrscheine zu teuer? Oder ist der Bus schon zu 100% 
ausgelastet?

von wolkenlos (Gast)


Lesenswert?

Plug schrieb:
> Nun, das Problem ist, dass die Module eigentlich möglichst wenig
> auf dem
> Bus senden sollen ich aber gerne frühzeitig erkennen können möchte, wenn
> ein Modul fehlt.

Mit einem einzelnen Pin ohne OneWire o.ä. wird das so nicht gehen.
Verpasse also allen Modlen eine ID die via OneWire übertragen wird und 
Du kannst sicher erkennen ob ein Modul fehlt.
Gab es nicht auch eine Möglichkeit über die Stromversorgung zu erkennen 
welches Modul wo steckt ?

von eagle user (Gast)


Lesenswert?

Wenn es nicht allzu viele Module sind und auf der Hauptplatine noch ein 
ADC-Eingang frei ist, geht's analog: Die Hauptplatine bekommt einen 
Pull-Up, jedes Modul bekommt einen Widerstand nach Masse. Je mehr Module 
eingesteckt sind, umso niedriger wird die Spannung auf dieser Leitung.

Man weiß dann jederzeit, wie viele Module eingesteckt sind. Auch wenn 
zwei gleichzeitig gesteckt werden, bekommt man das eindeutig mit. Die 
Module müssen dazu nichts weiter tun, es reicht ein Widerstand und ein 
Pin.

In der Luxusversion schaltet der Rechner auf dem Modul den Widerstand 
erst nach seiner Initialisierung ein. Dann merkt man auch sowas wie 
einen Watchdog-Reset.

von Amateur (Gast)


Lesenswert?

Hat eigentlich jedes Modul einen eigenen Grübler, oder sind die passiv?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.