"konstruktive Kollisionserkennung"?

Gast #7190048
Lesenswert?

In Beitrag "Re: DALI Adressierung: Konfliktbeherrschung bei Antwort mehrerer Slaves" schrieb Guido 
Körber:

> Grundsätzlich sollte man so eine langsame Kommunikation mit einer konstruktiven 
Kollisionserkennung aufbauen, also so, dass eine Kollision auf dem Bus durch zwei 
gleichzeitig sendende Knoten nicht dazu führt, dass das ganze Paket kaputt geht, 
sondern, dass Knoten als unterlegen aus der Kommunikation ausscheiden.

Wie soll das elektronisch gehen (Dominanz des ersten Senders)?
Oder ist damit gemeint, dass die Sender prüfen, ob was auf dem Bus ist?
Das geht aber wahrscheinlich nicht bitweise, sondern paketweise?

https://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access/Collision_Detection 
sendet offenbar ein JAM und macht die laufende Übertragung kaputt.
#7190060
Lesenswert?

genau:
* Der Bustakt ist bekannt, der Bus ist kurz
* jeder hört auf das Medium und sendet nur, wenn es frei ist.
* jede Nachricht beginnt mit einer sender-id, die die Priorität 
darstellt
* sollten zwei Teilnehmer gleichzeitig senden, "gewinnt" der Teilnehmer 
mit der höheren Priorität. Das ist z.B. elektrisch mittels 
Treiberwiderständen gelöst.
* der andere Teilnehmer erkennt (bitweise), dass das Medium nun doch 
belegt ist und muss sofort warten.
* Das hochpriore Paket kann unbeeinträchtigt gesendet werden
#7190066
Lesenswert?

Man kann z.B. in der Arbitrierungsphase immer nur ein Bit je Byte 
senden, also nur 0xFF oder 0x00. Dann hat der unterlegene Master Zeit, 
sich beim nächsten Byte abzuschalten.

Etwas ähnliches wird auch bei CAN-FD gemacht. Die Datenrate wird erst 
nach erfolgter Arbitrierung hochgesetzt. Nur macht das komplett die 
CAN-Hardware.
Gast #7190084
Lesenswert?

Danke, jetzt hab ich's.

Siehe auch: 
https://de.wikipedia.org/wiki/Controller_Area_Network#Arbitrierung,_Priorit%C3%A4t

https://de.wikipedia.org/wiki/I%C2%B2C#Arbitrierung_im_Multimaster-Betrieb

Der Bus ist so langsam, dass auch ohne Synchronisierung eine laufende 
Sendung erkannt werden dürfte (und falls wirklich mal exakt gleichzeitig 
gesendet wird, dann die dominante Adresse gewinnt).
Moderator (Firma: Titel) Persönliche Seite #7190095
Lesenswert?

giga schrieb:
> Der Bus ist so langsam, dass auch ohne Synchronisierung eine laufende
> Sendung erkannt werden dürfte
So ist die Sicht technisch korrekt: der Bus ist physikalisch so kurz, 
dass auf der gesamten Buslänge nur 1 Bit "Platz" hat und alle parallel 
angeschlossenen Teilnehmer das selbe Bit auswerten und manipulieren.

Je kürzer der Bus ist, um so schneller darf sich dieses eine Bit ändern.

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