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
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.