Hallo, ich bin gerade dabei mit dem CAN-Bus etwas rumbasteln und bin gerade der Meinung, dass der CAN-Frame zu kurz ist (siehe Bild). Ich habe mit einem Logic-Analyzer 4 Frames aufgezeichnet und mit Excel analysiert (weil irgendwas mit der Baudrate noch nicht stimmt, deswegen geht's nicht automatisch). Farben sind unten im Bild erklärt. Beim Identifier habe ich im Code nur ein Byte geändert und erst später gesehen, dass an einer anderen Stelle noch die letzten 3 Bit gesetzt werden. Jetzt mein Problem: Ich hätte 15 CRC-Bits erwartet, was aber nicht hinkommt. (Nach Ende des Screenshots ist der Pegel die ganze Zeit high). Hat jemand eine Erklärung dafür? Es gibt nur einen Busteilnehmer, der einfach nur sendet. Vielen Dank und viele Grüße Tobias
Der sender erwarrtet dass ein 2. das ack auf 0 zieht. Wenn das nicht passiert bricht er die Übertragungen ab. Sg
Vergiss meinen letzten beitrag. Du liest das frame ende falsch. 2 mal 1 ack ubd delim (kein ok von 2. teilnehmer) 1 mal 1 crc delim 7 mal 1 als ende Deine crc darf also mit 5 mal 1 enden (siehe stuffingregel für crc u delimiter u ack) und du siehst am ende nur noch high Berechne mal die crc die da stehen musd und vergleiche sie mit deiner excel. Dann siehst du dass du das graue feld falsch plaziert hast
Hallo, danke für deinen Hinweis. Du hast recht. Ich habs nochmal nachvollzogen (siehe Excel im Anhang). Das erste Beispiel kommt hin, beim zweiten Beispiel stimmt ein Bit nicht, aber das würde ich mal auf einen Rechenfehler zurückführen. Ist mir aber auch nicht so wichtig, ich wollte nur wissen, ob die Botschaft an sich ok ist. Also Danke :)
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.