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?
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)
im Prinzip gibts 2 Synchronisationsmechanismen - hier nachzulesen: http://www.markt-technik.de/topics/automatisieren/fachthemen/artikel/1997/ek9721a_1.htm#zu_4 :)
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.