Forum: Mikrocontroller und Digitale Elektronik CAN priorisierung von Identifieren


von maxl (Gast)


Lesenswert?

Hallo,

ich habe eine Frage zu der ich bisher keine Antwort gefunden habe, 
deswegen wende ich mich ans forum. Es geht um die priorisierung der 
sendenen Steuergeräte beim CAN-Bus.

Ich weiß, dass jedes Steuergerät einen Identifier hat und wenn mehrere 
Steuergeräte gleichzeitig zu senden beginnen, darf das weitersenden, 
dass den niedrigsten Identifier besitzt. So wie ich das verstehe sendet 
dann jedes SG seinen Identifier auf den beiden CAN Leitungen und zwar 
binär kodiert. Angenommen
SG1 hat den Identifier 0001
SG2 hat den Identifier 1111

jetzt zieht SG2 die Leitung auf High für 4 Zyklen und SG1 bleibt für 
drei Zyklen auf LOW und geht dann auch auf High. SG1 wäre priorisiert 
weil niedrigerer Identifier. Woher weiß jetzt aber SG2 dass SG1 einen 
geringeren Identifier hat, wenn es doch selbst die Leitung auf High 
zieht??


Vielen Dank im Voraus
Max

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der Sendet nicht nur, sondern hört auch gleichzeitg mit.

CAN sendet nach dem Open-Collector Prinzip, sozusagen OR verknüpft.
Wenn nun das zurückgelesene Bit nicht passt, sendet die andere Stelle 
weiter und die eine legt sich schlafen bis der bis frei wieder ist.

von Bronco (Gast)


Lesenswert?

maxl schrieb:
> Ich weiß, dass jedes Steuergerät einen Identifier hat

Nur so am Rande:
Nicht ein SG hat einen Identifier, sondern eine CAN-Nachricht hat einen 
Identifier.
D.h. ein SG sendet unwichtige Nachrichten mit hoher ID, und wichtige 
Nachrichten mit niedriger ID.

Das ist so, wie wenn Du einen Brief mit der Post per Eilsendung 
schickst:
Daß es eine Eilsendung ist, ergibt sich daraus, daß "Eilsendung" 
draufsteht, und nicht, weil Deine Adresse als Absender draufsteht.

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.