mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik wie lang ist die kleinstmögliche CAN Nachricht?


Autor: RodYler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

ist ein Standard-Frame mit 1 Byte Daten die kleinste Nachricht oder geht 
auch 0 Byte?
Oder gar ein ganz anderer Frame?

Danke

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0 Byte Datenlänge ist ok.

Beim Frame kannste sonst nur noch zwischen 11 und 29 bit ID wählen,
falls dein System nicht vorgegeben ist.

Autor: RodYler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in welchem Fall schickt man eigentlich 0 Byte? ist das dann der Remote ?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne, wird auch für "life guarding" benutzt, jeder Teilnehmer muss sich 
innerhalb eines bestimmten Zeitrasters melden, auch wenn es aktuell 
nichts sinnvolles mitzuteilen gibt. Und ein Frame mit 0Byte Daten ist 
eben kürzer als einer mit Daten. Insofern macht ein Frame ohne Daten 
Sinn. Eingesetzt habe ich es aber noch nicht.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im CAN-Frame-Aufbau gibt es ein sogenanntes Remote- oder Request-Bit. 
Damit schickt man sozusagen eine Anfrage, dass ein bestimmter Knoten 
einem Daten schicken soll. In solch einer Nachricht müssen natürlich 
keine weiteren Daten enthalten sein und deshalb kann man auch eine 
CAN-Nachricht mit 0Byte Daten schicken.

Wird verwendet um Sensoren abzufragen.

Gruß Fred

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man die ID-Bits nicht alle braucht, kann man auch die restlichen 
für Daten benutzen.

Man kann also durchaus 11 Byte pro Nachricht senden.


Peter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Och nö, nicht sowas.
Klar geht das prinzipiell, aber warum sollte man sich sowas antun? Ich 
glaube kaum, dass es Applikationen gibt, bei denen das nötig ist.

Autor: Stefan May (smay4finger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum? Die Nachrichten-ID (keine Adresse!) trägt ja schon Informationen. 
Bei CANopen ist eine Nachricht mit der ID 0x00 z.B. ein SYNC-Frame. Von 
wem das kommt und wer der Empfänger ist, ist total uninteressant.

mfg, Stefan.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
crazy horse wrote:

> Klar geht das prinzipiell, aber warum sollte man sich sowas antun? Ich
> glaube kaum, dass es Applikationen gibt, bei denen das nötig ist.

Weil das von den CAN-Entwicklern so vorgesehen ist.
Deshalb gibts ja die Maskierungsregister, um ID-Bits vor der Erkennung 
zu maskieren.
Es ist durchaus üblich, daß Bits im ID eine bestimmte Bedeutung haben.

Ich wollte auch nur darauf hinweisen, daß eine CAN-Nachricht mit 0 Bytes 
im Datenfeld schon 3 Datenbytes beinhalten kann.
Das muß also keinesfalls eine Null-Nachricht sein.


Peter

Autor: RodYler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, ich nehme mal eine 0 Byte Nachricht als kleinste "normale" Nachricht 
an.
Wie viele Bits sind das dann?
Nach meiner Rechnung im optimalen Fall: Kein Bitstuffing
mit 3 IFS Bits
8*0+44+3 = 47Bit

47 Bit ist die kürzeste Nachricht. Stimmts?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt.

Autor: Flex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..da möchte ich mal anknüpfen (bei 47 stimme ich zu) und nach eurer 
Meinung fragen, was die kleinstmögliche abgebrochene CAN Nachricht ist. 
Klingt vielleicht komisch, was ich meine ist:
Wenn die Nachricht abgebrochen wird, durch nen Fehlerframe, dann werden 
mindestens 6 Bit Errorflag, plus 8 Bit Errordelimiter gesendet, das ist 
klar. Aber ab welchem Zeitpunkt kann ein Fehler erkannt werden, bzw, 
gilt, wenn ein Teilnehmer ein SOF Bit schickt, und das auf dem Bus nicht 
abtastet, dass ein Bitfehler vorliegt, oder gibts da das für SOF 
irgendne Sonderreglung?

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.