www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wer entscheidet den Wert des 29-Bit-Identifier im CAN-Rahmen


Autor: Hauser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Wer entscheidet den Wert des 29-Bit-Identifier im CAN-Rahmen?

Danke
Hauser

Autor: DirkD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

der Entwickler.

Er bestimmt welche Nachrichten von den CAN-Knoten gesendet werden und
welche IDs sie erhalten.

Zumindest wenn nur von CAN die Rede ist.

Bei CANOpen, DeviceNet oder anderen Protokollen, die auf dem CAN-Bus
basieren, sieht das anders aus.

Gruß

 Dirk

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi @All,

dazu habe ich auch noch eine kleine Frage!!

Kann ich mit der gleichen ID senden und empfangen!?

Ich habe ein Board, das sendet mir alle 5Sec einen Wert an den PC!
Ich sende aber vom PC aber auch zu meinem Board mir der gleichen ID!

Kann das Probleme geben!?

Mfg

Klaus

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich ja nicht, da alle Nachrichten von allen Empfängern auch
gelesesen werden können.
Die ID sorgt eigentlich nur für eine Priorisierung der Nachrichten auf
dem Bus(je mehr Nullen in der ID vorhanden sind, um so höher ist die
Priorität [zumindest habe ich das so verstanden, da die 0 nach das
dominante Bit ist; sollte ich falsch liegen, möge man mich
berichtigen]). Jeder Empfänger hat eine gewisse Anzahl von
Empfangsregistern, denen wiederum Filter vorgeschaltet werden können,
was zu einer Adressierung des einzelnen CAN-Knotens führen kann.

Somit müsste es IMHO möglich sein, mit nur einem einzigen Identifier
mehrere Knoten am Bus zu betreiben. Effizient ist das aber nicht...

Autor: André (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann das Probleme geben!?
ja! Denn wenn gleichzeitig von mehreren Sendern die gleiche CanId
verschickt wird (und der Datenteil unterschiedlich ist), so gewinnen
alle Teilnehmer die Busarbitrierung (da ja alle zurücklesen, daß Sie
alleinig den Bus treiben). Allerdings unterscheidet sich der Datenteil,
was dann zu einem Protokollfehler führt, da die Arbitrierung nur auf die
CanId selbst angewendet wird. Der canhardwareinterne Fehlerzähler steigt
und das Telegramm wird wiederholt... natürlich auch von allen
gleichzeitig. usw.

Praktisch wird's allerdings meistens gut gehen...

Also: don't do this athome... ;-)

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Kann ich mit der gleichen ID senden und empfangen!?"


Auf keinen Fall !!!

Damit ist ja eine Arbitrierung unmöglich !

D.h. sobald beide gleichzeitig den gleichen ID senden, wird in den
Datenbytes die Sendung fehlerhaft sein und abgebrochen, ein Retry
gestartet, wieder fehlerhaft ... bis die Errorcounter überlaufen und
beide in den Passiv-Status gehen. Dein CAN-Netz ist zusammengebrochen
(->Watchdog-Reset).


Um sowas zu vermeiden, sende ich im 29Bit-Identifier auch die einmalige
Senderadresse mit, dann gibt es keine Konflikte, auch wenn mal 2 Sender
den gleichen Empfänger adressieren.


Peter

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.