mikrocontroller.net

Forum: Haus & Smart Home CAN Frage zu Schichten und Informationen


Autor: Nicole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute :-),

habe diese Forum bei Google gefunden. Ich bin noch blutige Anfängerin
in Sachen Bussysteme und versuche grad eine Fragenstellung zu 
bearbeiten, die ich aber so nicht ganz verstehe.

Die Frage lautet: Welche Informationen (außer den 
Variablenwerten/Signalen) werden noch bei CAN-Bussystemen übertragen und 
welche Methoden stellen die Softwareschichten dafür zur Verfügung? (Zum 
Beispiel bei einem Automobil)


Ich dachte es geht nur um die Signale. Und was für Schichten???

Hat vielleicht jemand von euch eine Idee oder weiß wo ich das 
rausbekommen kann?

Liebe Grüße
Nicole

Autor: Marco Beffa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahrscheinlich sind noch irgendwelche Steuerinformationen gemeint. 
Informationen welche für den reibungslosen Betrieb des Busses notwendig 
sind.

Kenne den CAN Bus nicht, aber z.B. könnte das sein an wenn das Telegramm 
gehen soll etc etc.

Mit den Schichten ist bestimmt das OSI Schichten Modell gemeint.

http://de.wikipedia.org/wiki/OSI-Modell

Autor: Иван S. (ivan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicole wrote:
> Hallo Leute :-),

Hallo liebe Nicole...

> habe diese Forum bei Google gefunden. Ich bin noch blutige Anfängerin
> in Sachen Bussysteme und versuche grad eine Fragenstellung zu
> bearbeiten, die ich aber so nicht ganz verstehe.
>
> Die Frage lautet: Welche Informationen (außer den
> Variablenwerten/Signalen) werden noch bei CAN-Bussystemen übertragen

Im Prinzip überträgt CAN an sich Telegramme die sich (vereinfacht) aus 
Identifier, Datenfeld und Prüfsumme (CRC) zusammensetzen.

> welche Methoden stellen die Softwareschichten dafür zur Verfügung?

Die in dieser Software jeweils implementierten. Sprich: Schau' in die 
Dokumentation der Software, sonst kann es keiner wissen.

> (Zum Beispiel bei einem Automobil)

In einem Automobil übertragene Daten könnten zum Beispiel Drehzahl, 
Motortemperatur und gewählter Gang sein. Ein wie und wo auch immer 
vorhandenes Software-API koennte möglicher Weise eine Methode 
Get_Fuel_Consumption() sein.

> Ich dachte es geht nur um die Signale. Und was für Schichten???

Du hast mit dem Schichtenmodell angefangen. CAN ist relativ Low-Level, 
von CAN selbst werden nur die Schichten 1 (Physical) und 2 (Link) 
tangiert, wenn man dazu unbedingt das OSI-Modell heranziehen moechte.

> Hat vielleicht jemand von euch eine Idee oder weiß wo ich das
> rausbekommen kann?

Ich verstehe deine Fragestellung/Problematik nicht genau. Also: Wo genau 
liegt das Problem bzw. was verstehst Du nicht?

> Liebe Grüße

Selbiges. Übrigens: Gehe ich recht in der Annahme (=dem Wunschgedanken), 
daß Du als blutige Anfängerin auch einigermassen "blutjung" bist? 
Weiters hoffe ich auch, daß Du eventuell noch zu haben wärst, kannst mir 
ja mal eine PM schicken, falls dies der Fall sein sollte. 
Elektrotechnisch interessierte Weibchen sind nämlich leider noch immer 
der Ausnahmefall.

Glück auf, Iwan
(fast dreißig, Österreicher, kinderlos und ungebunden)

Autor: Kinderloser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Iwan, wie bist du deine Kinder denn los geworden?
Habe gehört, daß Russen immer Kinder haben.

Autor: JoLe64 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Nicole,

ich habe grade zufällig Deine Anfrage gelesen und dachte mir, ich 
antworte mal kurz. Also, CAN funktioniert ungefähr so:

CAN ist meistens nach ISO11898 implementiert, mit 2 Drähten (High-Low), 
wobei die Bits durch die Spannungsdiffernz dargestellt werden. Es können 
mehrere gleichberechtigte Teilnehmer angeschlossen sein. Die Baudrate 
ist konfigurierbar, bis zu 1 MBaud.

Jeder Teilnehmer darf jederzeit senden, alle hören mit. Das Senden 
erfolgt in Form von Telegrammen bzw. Messages, auch "Frames" genannt. 
Ein Frame enthält enthält hauptsächlich eine ID, entweder 11bit (CAN2-A) 
oder 29bit (CAN2-B). Die ID legt die Priorität des Frames fest, 
0=höchste Prio. Wenn 2 gleichzeitig anfangen zu senden, hört der mit der 
kleineren Prio automatisch wieder auf - das machen die CAN controller 
automatisch.

Jede ID sollte nur von einem 1 Sender benutzt werden. Wenn keiner senden 
will, ist Ruhe auf dem Bus. Dadurch ergibt sich dann eine gewisse 
Buslast, die immer < 100% bleiben sollte.

Jeder Frame enthält ausserdem 0..8 Datenbyts. Das bezeichnet man auch 
als "Message-Länge". Beim Aufsetzen des Bussystems wird festgelegt, 
welcher Sender welche Message-ID sendet, welche Länge (0..8) zugeordnet 
wird und wie die Datenbytes belegt sind - meistens irgendwelche 
Messwerte im Fix-Point Format. Alle Teilnehmer müssen diese Vereinbarung 
kennen, um die Messages verstehen zu können. Es haben sich verschiedene 
Dateiformate etabliert, um diese Information abzulegen (z.B. das 
DBC-Format)

Jede Message enthält ausserdem eine Menge an Verwaltungs- und 
Redundanz-bits - aber die werden vom CAN Controller Baustein automatisch 
ausgewertet.

Genauere informationen findest du z.B. in der CAN-Spezifikation von 
BOSCH oder auch auf der website von vector-informatik (googlen)

Viel Erfolg!

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.