CAN id wechselt den Wert

Gast #3114714
Lesenswert?

Hallo,

ich habe eine Platine gebaut, die Nachichten von dem CAN-Bus empfängt 
und diese darstellt.

Ich kann Nachrichten üben einen CAN-Hacker an die Platine senden und die 
gesendeten Nachrichten darstellen.

Das Problem ist, dass die id der empfangenen Nachricht machmal nicht den 
selben Wert hat, wie die gesendete Nachricht.
Oder machmal passiert es auch, dass die id der empfangenen Nachricht 
stimmt aber der Wert 0 ist.

Frage ist, ob es an der Elektronik liegen kann, also an den 
Widerständen.
Habe gamerkt, dass die von mir verbaute Widerstände leicht, von den 
geforderten Werten abweichen.
Z.B. 990 von 1000 Ohm oder 56 anstatt von 60 Ohm oder 68 anstatt von 60 
Ohm.

Kann es daran liegen?
Gast #3114876
Lesenswert?

Ja, der Fehler ist offenbar in dem Programm.
Denn ich habe jetzt die Widerstände ausgetauscht und der Fehler ist 
geblieben.

Ich benutze einen MCP2515 um den CAN-BUS auszulesen.

Dann gehe ich so vor, dass ich erst den Staus des MCP2515 abfrage
ob eine neue Nachricht im empfangsregister geladen wurden ist.
Falls ja, dann lese icg die ID und die Daten aus.
Zum schluss sage ich dem MCP2515, dass er neue Nachricht empfangen soll.
Gast #3114901
Lesenswert?

Ich hatte mal ein ähnliches Problem mit dem CAN-Controller in einem 
PIC24H.
Die Ursache war ein Bug im Baustein, der in einem entsprechenden Erratum 
auch dokumentiert war.
Guck Dir mal das Errata-Sheet von Deinem CAN-Controller an, vielleicht 
findest Du dort etwas.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren