Forum: Mikrocontroller und Digitale Elektronik CAN id wechselt den Wert


von Viktor (Gast)


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?

von Peter D. (peda)


Lesenswert?

Viktor schrieb:
> Das Problem ist, dass die id der empfangenen Nachricht machmal nicht den
> selben Wert hat, wie die gesendete Nachricht.

Das geht bei CAN nicht. Entweder die Nachricht stimmt komplett oder es 
gibt einen Errorframe.

Du hast einen Fehler in Deinem Programm, vermutlich falsche Reihenfolge.

von Viktor (Gast)


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.

von Bronco (Gast)


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.

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