Forum: Mikrocontroller und Digitale Elektronik CAN kaputt? (Bit recessive Error)


von RS485 (Gast)


Lesenswert?

Hilfe,
eine Linux CAN Rechner meldet:
1
 (2018-07-13 20:00:15.844795)  can0  RX - -  2000008C   [8]  00 04 04 00 00 00 00 87   ERRORFRAME
2
        controller-problem{rx-error-warning}
3
        protocol-violation{{bit-stuffing-error}{}}
4
        bus-error
5
        error-counter-tx-rx{{0}{135}}
Und ein STM32 bxcan meldet viele:
LEC 100: Bit recessive Error


Was ist kaputt gegangen?

von pegel (Gast)


Lesenswert?

Keine Ahnung.

Hier:
https://fabiobaltieri.com/2013/07/23/hacking-into-a-vehicle-can-bus-toyothack-and-socketcan/

gibt es einen Absatz:

If your bitrate is wrong, you should receive a stream of errors from the 
CAN bus interface:

$ candump -cae can0,0:0,#FFFFFFFF
  can0  20000008  [8] 00 00 04 00 00 00 00 00   ERRORFRAME
        protocol-violation{{bit-stuffing-error}{}}
...

In this case, bring the interface back down, and try with a different 
bit-rate. Most common ones are 500kbps, 250kbps and 50kbps.

usw.

Vielleicht hilft das etwas weiter.

von abc. (Gast)


Lesenswert?

bitstuffing-error heisst i.d.r falsche baud rate eingestellt. ansonnsten 
guck mal nach der terminierung oder passiven sternen, falls jmd. an der 
verkabellung etwas gemacht hat.

von rcc (Gast)


Lesenswert?

RS485 schrieb:
> Und ein STM32 bxcan meldet viele:
> LEC 100: Bit recessive Error

Er versucht zu senden  bekommt aber kein dominantes Bit auf dem 
pysical-layer erzeugt, also CAN-H und CAN-L bleiben auf gleichem 
Potentil. Mal die CAN-Leitungen durchmessen ob der Abschlusswiderstand 
passt bzw. ob kein Kurzschluss vorhanden ist.

von Thomas (kosmos)


Lesenswert?

keine Ahnung wieviel Aufwand es bei dir ist. Du könntest alle CAN-Nodes 
vom Bus trennen und dann unter Beobachtung nach und nach wieder 
anstecken um den Verursacher zu finden.

von Rolf M. (rmagnus)


Lesenswert?

Die Klassiker, die man immer als erstes untersucht:

Bitrate, Terminierung, irgendwo CAN high/low vertauscht.

von RS485 (Gast)


Lesenswert?

Rolf M. schrieb:

> Bitrate, Terminierung, irgendwo CAN high/low vertauscht.
  ^^^^^^^
Die Bitrate wars.
 (Indirekt via toller stromspar Automatismen die den Takt absenken..)

Danke an alle für die vielen Debug-Ideen!

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.