Forum: Mikrocontroller und Digitale Elektronik CANoe Rx Errorframe


von marshall (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Community,

habe im moment zwei at90can über can_h und can_l miteinander verbunden 
und greife dieses signal über ein cancase xl ab.
habe die universelle can-bibliotehk implementiert und wollte nun eine 
testnachricht von uC1 an uC2 verschicken, damit bei erfolgreichem 
empfang eine LED zu blinken beginnt.
Leider bekomme ich nur ein Errorframe.

Woran kann das liegen?

Ich freue mich auf eure Antworten

von Jochen S. (jochen_s)


Lesenswert?

Hallo,

der Klassiker: Terminierung??

Gruß
Jochen

von marshall (Gast)


Lesenswert?

Da wurde auf beiden boards ein Jumper gesetzt.
Daran kann es schonmal nicht liegen.

von Steffen R. (steffen_rose)


Lesenswert?

Fehler2.png zeigt den virtuellen CAN. CANcaseXL dürfte der Reale sein.

Wenn das Problem weiterhin besteht, erstemal mit einer kleinere Bitrate 
anfangen, z.b. 125k.

Ansonsten mal mit dem Osziloskop schauen, was real auf dem Bus los ist.

von marshall (Gast)


Lesenswert?

Kleinere Bitrate bringt leider auch nichts.
Es wäre doch theoretisch auch möglich, was von CANoe an meine 
Mikrocontroller zu senden oder? Wenn ja wie?

von Steffen R. (steffen_rose)


Lesenswert?

Hab kein CANoe.
Einer deiner Knoten scheint ja zu senden. Ggf. den anderen im Reset 
halten.
Solange du die Nachricht nicht empfängst, nützt dir das Senden auch 
nichts.

Falls es nicht so rüberkam: Die kleinere Bitrate muss natürlich bei 
allen Beteiligten eingestellt sein.
Wenn deine Jumper wirklich die Terminierung sind, ist es bei dieser 
Konstellation selten der Aufbau selbst, der das Problem ist.

Eher:
- falsche Bitrate deiner Controller, z.B. weil der Eingangstakt schon 
nicht der Erwartete ist.
- CAN-H und CAN-L vertauscht?

von marshall (Gast)


Lesenswert?

Die Bitrate ist bei beiden gleich gesetzt.

Da ich langsam matschig in der Birne werde, eine generelle 
Verständnisfrage um wirklich sicher zu gehen, dass der HW Aufbau i.O. 
ist:

Muss ich für high und low je eine verdrillte zweidrahtleitung nehmen 
oder genügt es wenn ich aus einem paar ein draht für high und ein draht 
für low nehme (letzteres habe ich so umgesetzt) ?

von Steffen R. (steffen_rose)


Lesenswert?

marshall schrieb:
> Die Bitrate ist bei beiden gleich gesetzt.

2 Controller und ein Analyzer sind 3, die übereinstimmen müssen.
Möglich, dass die beiden Controller aufgrund eines Fehlers gleich falsch 
eingestellt sind. Dann würden die sich verstehen, aber der Analyzer 
stört das ganze.

Vielleicht hat einer auch 'ne Macke (Quarz schwingt nicht an o.ä.). Dann 
würde dieser das ganze Netz stören.

Da hilft dann nur messen.

Bekommst Du bei den Controllern einen Fehler? Error Passive, Error 
Busoff?

marshall schrieb:
> Muss ich für high und low je eine verdrillte zweidrahtleitung nehmen
> oder genügt es wenn ich aus einem paar ein draht für high und ein draht
> für low nehme (letzteres habe ich so umgesetzt) ?

Je höher die Bitrate, desto höher die Anforderungen. Daher auch der Tipp 
mit der niedrigeren Bitrate. Da klappts dann auch mit der Wäscheleine. 
;-)
GND ist nicht notwendig. Aber es stabilisiert unter Umständen das Signal 
etwas.

Aber auch das sieht man ganz gut auf dem Oszi.

Sag jetzt nicht, du hast Vector Tools, aber keinen Zugang zu einem Oszi?

von Soul E. (Gast)


Lesenswert?

marshall schrieb:

> Muss ich für high und low je eine verdrillte zweidrahtleitung nehmen
> oder genügt es wenn ich aus einem paar ein draht für high und ein draht
> für low nehme (letzteres habe ich so umgesetzt) ?

Im Labor ist das einigermassen wurst. Zwischen CAN_H und CAN_L sollten 
sich in Summe 40..180 Ohm befinden (ideal an jedem Ende 120 Ohm, also 60 
gesamt).


Häng mal einen Teilnehmer dran, von dem Du weisst das er funktioniert. 
Egal was, hauptsache die Bitrate passt. Wenn Deine beiden 
selbstgebastelten Knoten aus irgendwelchen Gründen kein Acknowledge 
senden, kommst Du aus dem Fehlerzustand nie raus.

Im CANOoe bei Netzwerk-Hardwarekonfiguration sollte auch erstmal der 
Haken bei "Acknowledge an" gesetzt sein.

von Steffen R. (steffen_rose)


Lesenswert?

soul e. schrieb:
> Wenn Deine beiden
> selbstgebastelten Knoten aus irgendwelchen Gründen kein Acknowledge
> senden, kommst Du aus dem Fehlerzustand nie raus.

Den Acknowledge Fehler habe ich momentan ausgeschlossen, da dieser 
normalerweise auch als solcher angezeigt wird.
Einem Fehler im Error Delimiter -- mmh? Ich nehme an, dieser ist zu 
kurz. Daraus würde ich schließen, dass die Knoten entweder eine zu hohe 
Bitrate haben oder ständig resetten.

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.