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