CAN2.0B Nachricht an CAN2.0A Gerät schicken?

OP (Firma: Elektro-Automatik) #1340968
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.
OP (Firma: Elektro-Automatik) #1341168
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
1
There are three different types of CAN modules available:
2
– 2.0A - Considers 29 bit ID as an error
3
– 2.0B Passive - Ignores 29 bit ID messages
4
– 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.
Gast #1341243
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren