Forum: Mikrocontroller und Digitale Elektronik CAN: was wenn die Knoten nicht synchron sind?


von Tyrone R. (bastier)


Lesenswert?

Servus

CAN ist soweit verständlich, wenn alle Knoten !gleichzeitig!
senden/lesen. Nur dann kann ja Arbitrierung stattfinden. Ist das immer
so mit dem gleichzeitig? Wie wird das realisiert - per Synchron-Info
über den Bus?

von jbo (Gast)


Lesenswert?

Die Knoten "lauschen" auf den Bus.
Ist dieser frei (Eine gewisse Zeit kein Tranfer),
fängt der Knoten zu senden an.
Nur wenn gleichzeitig auch ein anderer Knoten senden will,
greift die Arbitritierung.
Jeder Knoten empfängt seine ausgesendeten Daten wieder.
Stellt er eine Abweichung fest, unterbricht er die Übertragung.
So setzt sich nur der Knoten mit dem kleinsten Idendifer durch.
(höchste Priorität)

von Thomas L. (tom)


Lesenswert?

im Prinzip gibts 2 Synchronisationsmechanismen - hier nachzulesen:
http://www.markt-technik.de/topics/automatisieren/fachthemen/artikel/1997/ek9721a_1.htm#zu_4

:)

von Simon K. (simon) Benutzerseite


Lesenswert?

Hört sich an wie CSMA/CD wie es bei Ethernet verwendet wird. Vielleicht
kann man hier bei der Erklärung auf diese Norm zurückgreifen.

von Peter Mahler (Gast)


Lesenswert?

Hallo,


Die Norm heisst beim CAN CSMA/CA -> CA steht dabei für Collision
Avoidance, Kollisionsverhinderung. Die höchst-priore Botschaft kommt
'immer'  zerstörungsfrei durch.  Immer bedeutet dabei natürlich, dass
der Bus physikalisch i.O. ist und alle Knoten mit demselben Bit-Timing
(Baudrate ) arbeiten.

Gruss

Peter

von cazy horse (Gast)


Lesenswert?

ist anders als bei ethernet - dort gibts auf jeden Fall eine Kollision,
falls 2 oder mehr gleichzeitig senden, alle Botschaften sind verloren
und müssen wiederholt werden. Bei CAN kommt die Botschaft mit der
höchsten Priorität zerstörungsfrei durch.

von 123 (Gast)


Lesenswert?

bei ethernet gibt es auch keien prioritäten. nach einer kollision warten
die knoten und senden neu. die wartezeit ist eine zufallszahl.

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.