Forum: Offtopic Master-Slave verfahren


von Mark (Gast)


Lesenswert?

Hi,
ich habe eine Frage, bezüglich des Master-Slaves verfahren als 
Buszugriffsverfahren.
Master sendet Befehl an Slave 1 -> Empfange Daten
Master sendet Befehl an Slave 2 -> Sende Daten
Slave 1 empfängt Befehl -> ist auf emfpang-Modus
Slave 2 empfängt Befehl -> Sendet Daten
Slave 1 empfängt Daten
Slave 2 ist fertig -> Meldung mit "ende" an Slave 1
Slave 1 gibt Meldung mit "ende" an Master
neuer Datenaustausch möglich

meine Frage ist jetzt zum Vorgang beim Senden und Empfangen.
Werden erst alle Daten gesendet, bevor Slave 1 die Daten empfangen kann? 
Oder passiert das Senden und empfangen gleichzeitig?

Und zwar möchte ich das wissen, da ich das Master-Slave verfahren als 
Petri-Netz darstellen möchte. Und da bin ich mir jetzt unschlüssig, wo 
die Verbindung zwischen Slave 2 und Slave 1 hinkommt.

: Verschoben durch User
von Karl H. (kbuchegg)


Lesenswert?

Mark schrieb:

> meine Frage ist jetzt zum Vorgang beim Senden und Empfangen.
> Werden erst alle Daten gesendet, bevor Slave 1 die Daten empfangen kann?
> Oder passiert das Senden und empfangen gleichzeitig?

So wie praktisch bei jeder Datenübertragung. Das geht gleichzeitig ab. 
Das Kabel wird wohl kaum zwischenspeichern. Wenn es einen Sender gibt, 
der auf einer Leitung winkt, dann ist es sinnvoll wenn ein Beobachter 
gleichzeitig die Leitung beobachtet.

Alles darüber hinausgehende ist dann Sache des Protokolls, welches den 
Datenverkehr regelt.

: Bearbeitet durch User
von Mark (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe noch einmal eine NAchfrage,
könnte mal eine drüber-gucken ob das so passt?
Desweiteren könnte man dieses Thema jetzt ins Off-Topic verschieben? Hat 
ja jetzt doch nichts mehr mit µC oder Elektronik zu tun.

von Peter D. (peda)


Lesenswert?

Mark schrieb:
> Slave 2 ist fertig -> Meldung mit "ende" an Slave 1

???
Üblicher Weise senden Slaves nie was untereinander. Es geht immer nur 
zwischen einem Slave und dem Master.

Wann was zeitlich passiert, hängt vom konkreten Bus ab und nennt sich 
OSI-Schicht 1.
Bei RS-485 muß die Software die Richtung umschalten.
Und für den Fehlerfall muß es ein Timeout geben, wann wieder der Master 
senden darf.

Bei CAN macht das die Hardware automatisch und Slave/Master können 
Sendepakete bereitstellen, wann sie lustig sind.

von Pandur S. (jetztnicht)


Lesenswert?

Master-Slave bedeutet, eine Kommunikation besteht zwischen Master und 
Slave, Der Slave macht nichts von sich aus. Der Master sendet etwas, der 
Slave antwortet dem Master. Es duerfen mehrere Slaves da sein, die haben 
aber keine logische Verbindung zueinander, alles laeuft ueber den 
Master.
Der Master spricht nie 2 Slaves miteinander an die antworten sollen. 
Erst der Eine, dann der Andere. Denn was geschieht, wenn der Zweite die 
Meldung nicht erkennt.

Ich empfehle die Slaves zustandsfrei laufen zu lassen. Eine Anfrage, 
eine Antwort, keine Zustaende. Denn was geschieht wenn ein Packet 
verloren geht.

Man kann natuerlich auch etwas anderes implementieren. Muss sich aber 
immer vergewaertigen, ein Slave kann ausfallen, und wieder kommen. zB 
wenn er umgesteckt/ersetzt/erneuert wird. Und es kann ein Paket verloren 
gehen.
Wie wird wieder aufgesetzt? Wo macht man Timeouts, wo macht man Retries?

: Bearbeitet durch User
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.