CAN-Bus: Empfangen geht, Senden nicht

Apr 14, 2006 9 Replies

Hi NG, ich habe ja schon wiederholt mal Fragen zum Thema CAN-Bus gestellt.



Leider habe ich immer noch Probleme - speziell beim Senden von Messages - die ich mir nicht erklären kann.



Hardware: MCP2515 (16MHz Keramik-Resonoator)+ 82C251 (Rs mit 10k gegen Masse)



Konfiguration: 125kbps; CNF1-3 berechnet mit dem Intrepid-Kalkulator (0x03,0xb8,0x05)



Ich kann Messages von anderen Nodes problemlos und fehlerfrei empfangen, daher gehe ich davon aus, dass die Hardwareschaltung, Verkabelung und Konfiguration des MCP korrekt funktionieren. Zwischen CANL und CANH messe ich 60 Ohm, Terminierung müsste also auch gut sein.



Versuche ich nun eine Nachricht zu senden, dann geht sofort das MERRF-Flag im MCP2515 an, das TXERR-Flag im TX0 geht an. Ausserdem geht ERRIF an, in EFLG wird TXEP und EWARN signalisiert. Das geht dann nicht mehr weg !



Was mich besonders wundert: Der REC-Zähler geht hoch, nicht der TEC !


Ich vermute ein Software-Problem, da das Empfangen gut geht.



Jetzt noch ein, zwei Fragen:



- Angenommen ich sende eine Message mit einem Identifier der von keinem anderen Node empfangen werden will (Filter); kriege ich als Sender dann einen Fehler oder verhallt die Message ungehört ?



- Sende ich eine Message mi Standard oder Extended Identifier udn die übrigen Nodes unterhlaten sich jeweils mit umgekehrten Identifiern, gibt das eine Fehlermeldung ?


Gruss Nico und viel Spass bei Ostereier suchen !!


Die Message wird einfach verworfen. Die Controller empfangen erst und filtern erst anschließend.

Hab ich noch nicht ausprobiert, sollte man aber nicht machen.

Mit freundlichen Grüßen

Frank-Christian Krügel

Frank-Christian Kruegel schrieb:

Ergänzend: Wenn kein anderer Teilnehmer die Nachricht empfängt (z.B. wegen Kabelbruch, Stromausfall etc.), bekommst Du natürlich einen Sendefehler-Status. Sobald auch nur ein einziger weiterer aktiver Teilnehmer vorhanden ist, wird der das "Acknowledge" senden - unabhängig davon, ob der Filter das Telegramm anschließend akzeptiert oder nicht.

IIRC (ohne nachgelesen zu haben), verhalten sich die Teilnehmer wie beim Filtern der IDs: Es werden korrekte ACKs gesendet, die Nachrichten aber verworfen.

Dipl.-Ing. Tilmann Reh http://www.autometer.de - Elektronik nach Maß.

Nicolas Nickisch schrieb:

Hast Du Dir denn mal die Signale auf dem Bus mit einem Oszilloskop angesehen? Da kannst Du sehr genau sehen, was der MCP2515 überhaupt sendet, ob er ein ACK von den anderen Nodes bekommt, ob er den Sendevorgang wiederholt etc...

Dipl.-Ing. Tilmann Reh http://www.autometer.de - Elektronik nach Maß.

Muss ich das mit abgestecktem Kabel machen ? "Tilmann Reh" schrieb im Newsbeitrag news:e1q973$p74$ snipped-for-privacy@online.de...

Gleich noch eine Frage: Habe hier nur ein uraltes, kleines Hameg-Oszilloskop. Braucht man spezielles Equipment um die Signale zu sehen. Das SIgnal wiederholt sich ja eigentlich nicht, oder ?

"Tilmann Reh" schrieb im Newsbeitrag news:e1q973$p74$ snipped-for-privacy@online.de...

Nicolas Nickisch schrieb:

Nein, natürlich nicht - dann bekommt der CAN-Controller definitiv kein ACK und sendet kontinuerlich (bis der Fehlerzähler dem Einhalt gebietet). So etwas mißt man im laufenden Betrieb.

Ein Speicheroszilloskop ist ausgesprochen nützlich zur Untersuchung einzelner oder seltener Signale... Ohne Speicher wirst Du hier leider kaum weiterkommen.

[TOFU beseitigt. Bitte lies und beachte und . Danke.]
Dipl.-Ing. Tilmann Reh http://www.autometer.de - Elektronik nach Maß.

Auf einmal bin ich mir =FCber meiner Konfiguration nicht mehr so sicher: Die Werte f=FCr 125kbps/16Mhz habe ich mit dem Intrepid-Tool berechnet (CNF1-3 03,b8.05) Ich habe alle Einstellungen =FCbernommen "as is" und keinerlei =C4nderungen vorgenommen.

Wie bereits geschildert kann ich mit diesen Einstellungen prima empfangen aber nicht senden.

Nun bin ich auf ein weiteres Tool von kvaser.com gestossen

Dort bekomme ich mit den gleichen Parametern bestimmt 20 verschiedene Einstellungen, alle f=FCr 125kbps/16Mhz.

Ist also 125kbps 125kbps ?

K=F6nnte dies meine Probleme erkl=E4ren, dass die anderen Nodes die

125kbps aber mit anderen Einstellungen erzeugen und ich deswegen h=F6re aber nicht von den anderen verstanden werde ?

snipped-for-privacy@gmx.de schrieb:

[Konfigurations-Berechnung mit "tools"]

Wäre durchaus denkbar. Ich kenne diese Tools nicht und habe mir die Konfigurationswerte für SJA1000 und MCP2515 immer "zu Fuß" ausgerechnet.

Ich könnte Dir meine Tabellen für den 2515 ja mal mailen.

Dipl.-Ing. Tilmann Reh http://www.autometer.de - Elektronik nach Maß.

Das w=E4re nett ! Das kvaser-Tool its =FCbrigens hier:

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required