Forum: Fahrzeugelektronik CAN-Daten-Frame


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von thomas (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab eine Aufgabenstellung die mich überfordert.

https://de.wikipedia.org/wiki/Controller_Area_Network#/media/Datei:CAN-Bus-frame_in_base_format_without_stuffbits.svg

Diese Abbildung ist gegeben und die frage lautet:

Wie lange dauert die Übertragung einer CAN-Botschaft mit der Hälfte der 
maximalen Nutzdatenlänge bei 250 kbit/s?

Könnte mir jemand bitte erklären wie ich vorgehen muss. Vielen Dank

mfg thomas

von Programmierer (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hängt vom Inhalt der Nachricht und damit den Stuff-Bits ab, kann nicht 
pauschal berechnet werden.

von thomas (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es ist nichts weitergegeben und die Musterlösung ist 316 mikrosekunden.

von Guest (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Die rechnen wohl kaum mit Stuff-Bits....

Du hast bei halbem payload 4*8 Bit plus 47 Bit von ID, CRC , SOF , EOF , 
etc.

Das sind 79 Bit. Bei 250kBit/s sind das 79/250000=316us

von Volker S. (vloki)


Bewertung
1 lesenswert
nicht lesenswert
thomas schrieb:
> mit der Hälfte der
> maximalen Nutzdatenlänge bei 250 kbit/s?

Die max. Nutzdatenläne wären hier 8 Byte. Die Hälfte sind 4, also ist 
der rote Block 4x so groß wie in der Abbildung. (Die Stuff-Bits muss man 
wohl ignorieren, da man die Daten ja nicht kennt)

-> Alle Bits aufsummieren und mit 4us multiplizieren.
(Sollten 316/4 Bits sein)

: Bearbeitet durch User
von thomas (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Guest schrieb:
> Die rechnen wohl kaum mit Stuff-Bits....
>
> Du hast bei halbem payload 4*8 Bit plus 47 Bit von ID, CRC , SOF , EOF ,
> etc.
>
> Das sind 79 Bit. Bei 250kBit/s sind das 79/250000=316us

oke.. also falls die aufgabenstellung geändert wird..beispielsweise mit 
zwei Byte bei einer Nutzdatenlänge von 125 kbit/s..wäre die lösung doch:

504 us oder?

Und wie berechne ich die dauer wenn die übertragung bei Verwendung von 
"extended" Indentifiern stattfindet?

von Guest (Gast)


Bewertung
0 lesenswert
nicht lesenswert
thomas schrieb:
> 504 us oder?

Richtig.

thomas schrieb:
> Und wie berechne ich die dauer wenn die übertragung bei Verwendung von
> "extended" Indentifiern stattfindet?

Dann hast du 29 Bit statt 11 für die ID. Also hast du 65Bit statt 47 
plus die payload.

von OMG! (Gast)


Bewertung
4 lesenswert
nicht lesenswert
thomas schrieb:
> Und wie berechne ich die dauer wenn die übertragung bei Verwendung von
> "extended" Indentifiern stattfindet?

Mal ehrlich kann heute keiner mehr den einfachsten Scheiß nachlesen?
Kein Wunder das alle immer jammern, dass das Abi so schwer ist und im 
Studium unmögliches verlangt wird.....

von Cable (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Das ist sicher kein Student der hier fragt....
Eher ein Kfz- oder Mechatronikazubi..

von Florian (Gast)


Bewertung
-5 lesenswert
nicht lesenswert
Äh.
Die Nutzdaten sind immer gleich viele. Sie werden nur mit 00 gefüllt. 
Also ändert sich rein gar nichts an der Zeit.

von Dunno.. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Florian schrieb:
> Die Nutzdaten sind immer gleich viele. Sie werden nur mit 00 gefüllt.
> Also ändert sich rein gar nichts an der Zeit.

Bare Metal can..?

 Was uds, xcp oder oder oder dann veranstalten, steht auf nem anderen 
Blatt..

von Heinz (Gast)


Bewertung
3 lesenswert
nicht lesenswert
Florian schrieb:
> Die Nutzdaten sind immer gleich viele. Sie werden nur mit 00 gefüllt.
> Also ändert sich rein gar nichts an der Zeit.

Das ist nicht richtig. Wenn dem Controller im DLC-Register nur 4 Byte 
angesagt werden, sendet er tatsächlich nur 4 Byte Nutz-Daten.

Anders verhält es sich, wenn man ein Protokoll nutzt. Bei UDS z.B. wird 
i.d.R. mit 0xAA aufgefüllt (bspw. VW macht das so).

von Florian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Asche auf mein Haupt. Ich stecke zu sehr in den Diagnoseprotokollen. :-/

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.