Forum: Mikrocontroller und Digitale Elektronik CAN Problem (ACK)


von hmmmm (Gast)


Lesenswert?

Hallo,

ich habe ein Problem mit dem CAN-Bus. Ich  habe zwei STM32 Controller 
mittels CAN verbunden. Die Daten werden von STM32-1 an STM32-2 gesenden. 
STM32-2 empfängt die Daten auch ohne Probleme und die Daten sind ok, nur 
setzt der Sender (STM32-1) immer ein Acknowledgment Error .. egal ob 
STM32-2 (also der Empfänger) dran ist oder nicht. Beide enden sind mit 
120Ohm abgeschlossen, Transferrate liegt bei 100kBit und wie gesagt die 
Daten an sich sind ok.

Wenn ich STM32-1 jetzt in LocalLoop Mode setzte, also intern wird der 
CAN-TX Pin an den CAN-RX Pin geschaltet, CAN-TX wird aber trotzdem 
ausgegeben, dann ist der Fehler weg und STM32-2 empfängt die DAten 
trotzdem ordentlich.

Hat einer ne Idee?

Danke!!

von Helmut -. (dc3yc)


Lesenswert?

hmmm, ist doch ganz einfach: der sendende CAN-Knoten muss seine Daten 
und auch das ACK richtig enpfangen. Aber anscheinend empfängt er das ACK 
nicht richtig (oder garnichts). Wie sieht denn deine Busankopplung aus?

Servus,
Helmut.

von Thomas (Gast)


Lesenswert?

Ist STM32-2 vielleicht im Listen-Only Modus?
Es ist seine Aufgabe das Acknowledge-Bit dominant zu setzen, wenn wenn 
er die Nachricht korrekt empfangen hat.
Im LocalLoop Modus (kenne ich nicht) scheint das ja der Sender selber zu 
machen, was aber nicht die Idee dahinter ist.

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.