Plug-Off-Erkennung

Gast #4487877
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!
Gast #4487879
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.
Gast #4487883
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?
Gast #4487892
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.
#4487893
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.
Gast #4487926
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?
Gast #4487949
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 ?
Gast #4487975
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren