mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN2.0B Nachricht an CAN2.0A Gerät schicken?


Autor: Maik Staberock (Firma: Elektro-Automatik) (mstaberock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Wer kann sagen, was passiert, wenn ich eine Nachricht nach CAN2.0B 
extended Format an ein Gerät schicke, das nur CAN2.0A base Format 
versteht?
Gibt es dann Probleme mit den Messagebuffern?

Danke schon mal im Voraus.

Autor: Maik Staberock (Firma: Elektro-Automatik) (mstaberock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zusatz:
Habe rausgefunden, daß das schon vom Mikrocontroller aussortiert wird. 
Wir haben einen Atmel AT89C51CC03, der kann 2.0A und 2.0B und betrachtet 
die extended frames als Fehler, wenn er im standard frame mode arbeitet.
Große Frage ist nun: was macht er mit dem Fehler? Das sagt das 
Datenblatt von Atmel nicht. Legt er ihn als Wert/Zähler in einem der 
Register ab und dann ist es für ihn erledigt? Wäre logisch. Brauche nur 
Gewißheit.

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
normalerweise wird bei einem fehler nur der error counter inkrementiert, 
die message boxes bleiben dann davon unberührt, zumindest bei at90can128

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Maik Staberock schrieb:
> Große Frage ist nun: was macht er mit dem Fehler?

Er wird einen Errorframe ranhängen und damit das Paket für alle als 
ungültig markieren.
Die Nachricht wird zerstört, keiner kann sie empfangen.


Peter

Autor: Maik Staberock (Firma: Elektro-Automatik) (mstaberock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Maik Staberock schrieb:
>> Große Frage ist nun: was macht er mit dem Fehler?
>
> Er wird einen Errorframe ranhängen und damit das Paket für alle als
> ungültig markieren.
> Die Nachricht wird zerstört, keiner kann sie empfangen.
>
>
> Peter

Ist das definitiv? Wie könnte man dann Geräte mit 2.0A und 2.0B 
gleichzeitig am Bus betreiben?

In Atmels Datenblatt steht
There are three different types of CAN modules available:
– 2.0A - Considers 29 bit ID as an error
– 2.0B Passive - Ignores 29 bit ID messages
– 2.0B Active - Handles both 11 and 29 bit ID Messages
woraus ich lese, daß also 2.0B passiv die bessere Betriebsart für 
gemischten Betrieb wäre. Nur, wie kriegt man den Prozessor dazu? Das 
CANCONCH Registerbit 4 läßt nur Wahl zwischen 2.0A und 2.0B zu.

Autor: Carlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Maik,
die drei verschiedenen Arten der erwähnten CAN-Module gelten zunächst 
ganz allgemein(!) für alle möglichen CAN-Controller und nicht speziell 
für den CC03er.
Der CC03er kann eben 2.0A und 2.0B unterscheiden. Ist er auf 2.0A 
programmiert, so erkennt auch auch 2.0B-Frames, sendet aber eben KEIN 
Error-Frame, sonderen ignoriert das 2.0B-Frame.
Anders herum wäre es ja Unsinn, denn dann würde der µC ja jede 
Kommunikation auf dem Bus kaputt machen.
Somit hat der CC03er also, wenn er auf 2.0A programmiert ist, 
2.0B-Passives Verhalten.
Damit können auch 2.0A und 2.0B-Stationen in einem System 
zusammenarbeiten.
Das gilt aber nur beim Einsatz dieses µC´s in allen Stationen.
Andere CAN-Controller können dann eben unter Umständen nur reines 
2.0A-Protokoll und die machen dann die 2.0Ber-Frames mit Error-Frames 
platt, so daß hier eine Mischung nicht möglich ist.

Bei den Fehler-Zählern bin ich mir nicht sicher was passiert, das haben 
wir auch noch nicht näher untersucht (wir hatten noch nicht so viele 
Fehler und haben noch nicht oft 2.0A und 2.0B gemischt).

Carlos

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.