Hi paar blöde Fragen zu CAN: Ich habe 50 CAN Steuergeräte an meinem CAN Bus: 1. wird das acknowledge bit von allen runter gesetzt? 2. Wenn ja, wo ist der Sinn, warum alle? 3. Ack Feld hat 2 bits. ack und delimiter. Wozu ist der Delimiter gut? 4. Aus wiki: "Der Acknowledge-Slot wird verwendet, um den Empfang eines korrekten CAN-Frames zu quittieren". Was heisst hier Korrekt? Dass CRC stimmt? 5. Wenn eine falsche Message geschickt wird, und ein einziger der 50 Teilnehmer aufgrund einer Frequenzproblematik das ACK fälschlicherweise runterzieht, gilt die Nachricht für den Sender dann als korrekt? Danke
H. R. schrieb: > Ich habe 50 CAN Steuergeräte an meinem CAN Bus: > > 1. wird das acknowledge bit von allen runter gesetzt? Theoretisch ja, da alle die Nachricht empfangen. Praktisch reicht aber einer. Das ACK dient ja in erster Linie dem Absender der Nachricht um festzustellen ob wenigstens einer am Bus lauscht. > 2. Wenn ja, wo ist der Sinn, warum alle? Das liegt im Design des CAN-Bus. Der ist ja Nachrichtenorientiert und es gibt daher für den Absender keine Möglichkeit festzustellen ob jemand sich für seine Info interessiert hat. > 3. Ack Feld hat 2 bits. ack und delimiter. Wozu ist der Delimiter gut? > 4. Aus wiki: "Der Acknowledge-Slot wird verwendet, um den Empfang eines > korrekten CAN-Frames zu quittieren". Was heisst hier Korrekt? Dass CRC > stimmt? Siehe oben. Mit "korretem Empfang" ist halt gemeint, das nur wenn wenigstens EIN Teilnehmer an Deinem Bus das Paket vollständig, also mit gültiger CRC empfangen hat, dieses Bit gesteuert wird und zwar vom Empfänger. > 5. Wenn eine falsche Message geschickt wird, und ein einziger der 50 > Teilnehmer aufgrund einer Frequenzproblematik das ACK fälschlicherweise > runterzieht, gilt die Nachricht für den Sender dann als korrekt? Kommt drauf an was Du als "falsche Message" definierst. Wenn es einen Übertragungsfehler aufgrund Störeinstrahlung oder elektrischem einwirken gegeben hat, stimmt die CRC nicht und dann wird auch kein ACK gesteuert. Und ob nun ALLE Teilnehmer am Bus die Nachricht korrekt empfangen haben oder nicht, ist aus Sicht der Nachricht egal. Wenn es aufgrund des darüberliegenden Protokolls oder Anwendung wichtig ist dies sicherzustellen, muss hier eine Transportsicherungsschicht implementiert werden. Das ist nicht Bestandteil von CAN. In Netzwerktopologie ausgedrückt ist CAN zu sehen wie Ethernet, es definiert nur die elektrische Übertragung (OSI Layer 1) und Adressierung (OSI Layer 2).
Olli Z. schrieb: > ob nun ALLE Teilnehmer am Bus die Nachricht korrekt empfangen haben > oder nicht, ist aus Sicht der Nachricht egal. Wenn es aufgrund des > darüberliegenden Protokolls oder Anwendung wichtig ist dies > sicherzustellen, muss hier eine Transportsicherungsschicht implementiert > werden. Das ist nicht Bestandteil von CAN. In Netzwerktopologie Hmm, die Error-Frames sind doch Bestandteil von CAN..
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.