Hi, Ich habe eine spezifische Frage zum CAN Protokoll: Ich habe 2 Knoten A und B wobei Knoten A Nachrichten mit Message ID 1 sendet und B empfängt nur Nachrichten mit Message ID 1. Wenn nun A eine Nachricht mit Message ID 2 schickt, dann wird ja diese vom Knoten B nicht bestätigt, gibt das dann ein ACK Fehler oder ist das auf Transceiver Ebene, wo die Nachricht trotzdem bestätigt wird, obwohl B damit nichts anfangen kann?
Wenn der Knoten die Message richtig empfängt macht er ein ACK egal ob sie ihn interessiert oder nicht. Außer man hat den Knoten so konfiguriert, dass er nur ein "stiller Beobachter" ist.
Ok, danke dir. ACK wird also von jedem Teilnehmer gesendet, egal ob die Nachricht relevant für ihn ist? Wie weiss aber der Sender der Nachricht, wie viele ACKs er zu erwarten hat, meldet sicher jeder Knoten zu Beginn an?
Bert S. schrieb: > Wie weiss aber der Sender der Nachricht, wie viele ACKs er zu erwarten hat So lange der Bus mindestens 2 Teilnehmer hat und funktioniert, reicht es aus, wenn 1 einziger Teilnehmer die Message korrekt empfängt und (s)ein ACK sendet. Im Normalfall werden aber alle Teilnehmer gleichzeitig das ACK senden. Nur, wenn alle Teilnhemer einen Übertragungsfehler feststellen, wird keiner ein ACK senden.
:
Bearbeitet durch Moderator
Bert S. schrieb: > Wie weiss aber der Sender der Nachricht, wie viele > ACKs er zu erwarten hat.. Das weiß er nicht und will es auch nicht wissen. Ein ACK besagt für den Sender lediglich dass die Botschaft gültig an mindestens einem Knoten angekommen ist. Ist die Botschaft am Bus gültig so haben die Empfänger selber dafür zu sorgen dass sie diese auch verarbeiten.
Kann man auch schön am Scope beobachten, dass das ACK bei mehreren Teilnehmern etwas deutlicher in der Amplitude ausfällt, da eben mehrere Teilnehmer parallel "ziehen".
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.