CAN-Bus kurz und einfach erklärt

  • Moin,
    ich habe mal auf dem angehängten Bild kurz und einfach erklärt wie ein CAN-BUS im Auto funktioniert. Alle Feinheiten und Sonderfunktionen habe ich weggelassen, so das es auch ein Leihe verstehen sollte. :friends:


    Gruß
    Ulli


    .CANBUS.JPG

  • Wenn es dazu Fragen gibt, stehe ich auch gerne bereit.


    Bin da schon seit Jahren mit beschäftigt.
    GM hat als einziger Hersteller noch die Besonderheit, dass der Komfort-CAN nur über ein Kabel geht.


    Grüße

  • Moin VierB,
    ich hoffe ich habe den Can-Bus so einiger Maßen für den Leihen verständlich beschrieben.


    Sind die Steuergeräte von der Stange (z.B. Bosch)?


    Nun zur eigentlichen Frage: Kommt man in das Programm rein, vermutlich über die OBD Schnittstelle? Wenn ja welche Software braucht man dafür? Die ist bestimmt nicht frei :(
    Wäre ja schon mal Interessant da rein zu gucken.....


    Gruß
    Ulli

  • Hallo,


    Ja am einfachsten kommt man über den Diagnosestecker rein, aber dadurch, dass die Leitung physikalisch ja das selbe Potenzial ist, kann man sich praktisch überall verbinden.
    Andere Hersteller bauen vor den Diagnosestecker ein sogenanntes Diagnosegateway. Dadurch hat man nur einen bedingten Zugriff auf die Daten. Dies ist bei GM noch nicht der Fall.


    Die Steuergeräte werden von GM spezifiziert und ausgeschrieben. Es kann durchaus sein, dass sich der Zulieferer während des Modelzykluses ändert, aber dadurch das die Spezifikation gleich bleibt und von GM validiert wird, sollten sich die Steuergerät gleich Verhalten (in der Theorie).
    Oder leider wie bei TPMS schmeißt man ein Steuergerät raus, sodass die Reifendrucksensoren manuell angelernt werden müssen.


    Unser Mokka basiert, wie alle aktuellen Autos von GM seit Insignia A, auf der Global A Architektur. Auch aufgrund dessem war der avisierte Verkauf an Magna ein abgesprochener Witz.
    GM hätte dadurch sein gesamtes Know-How verkauft, oder der neue Opel, hätte das Fahrzeug nicht bauen können.


    Davor gab es unterschiedliche Architekturen (Astra H, Vectra C), die natürlich höhere Kosten verursachten. In den heutigen Fahrzeugen kann es durchaus sein, dass ein Chevrolet Spark dasselbe Steuergerät wie eine neue Corvette hat. Durch diese Skaleneffekte spart man natürlich jede Menge Geld und auch der Service wird einfacher.


    Es gibt keine spezielle Software für den CAN-Bus. Man kann mit jedem Gerät die Daten auslesen, nur weis man dann noch lange nicht, was Sie bedeuten, denn jeder Hersteller macht dies anders (außer z.b. EOBD, das ist genormt). Mit etwas Erfahrung kann man bestimmte Dinge reverse engineeren (sorry für das Denglisch).


    Gruß


  • Man kann mit jedem Gerät die Daten auslesen, nur weis man dann noch lange nicht, was Sie bedeuten,

    I.d.R. sind die (interessanten) Daten verschlüsselt


    Gruß
    SK

    Mokka X, 152 PS Benziner, Automatik, 4x4 in Onyx Schwarz
    Innovation, Premium Paket, Navi 900, 4,2" Fahrerinfodisplay, Frontkamera, Rückfahrkamera, BiColor Leichtmetallräder
    Nicht-Original-Zubehör: Mini-Kurzstabantenne, Gummimatten, Crossland-Armlehne
    EZ 07/2017

  • Einer der urprünglichen Gedanken der zum CAN-Bus geführt hat war es Kabel zu sparen und trotzdem alle Daten zwischen den Steurgeräten austauschen zu können um z.B. Komfortfunktionen zu ermöglichen.


    Man beachte den Kabelsatz eines vollausgestatteten Omega B, wo jede Funktion "hart" verkabelt ist.


    Das erste CAN-Bus Auto von Opel, der Vectra C verfolgte diese Linie. Erklärt an der Funktion des Warnblinklichts:


    Der Schalter vom Warnblinklicht hängt am Tacho (IPC), die vorderen Blinker hängen am UEC (Sicherungskasten Motorraum), die hinteren am REC (Sicherungskasten Kofferraum).
    D.H. Auswertung findet im Instrument statt und dieses schickt dann die Information über CAN raus (an alle Steuergerät und die die diese Information brauchen reagieren intern dann darauf) und die beiden Steuergeräte schalten dann die Blinker an/aus. Ist ganz interessant, wenn man das Warnblinklicht längere Zeit anlässt erkennt man, dass die Blinktakte mit der Zeit unsynchron werden (Vgl. Vorne und hinten).


    Vorteile:
    -Dicke Leistungskabel werden weniger -> Weniger Kosten
    Nachteil:
    - Bei Ausfall des Busses können die Leuchtmittel nicht gezielt angesteuert werden. I.d.R. werden alle Lampen angesteuert um eine Notbeleuchtung zu realisieren



    Bei unserem Mokka ist GM ein Schritt zurückgegangen.
    Der Lichtschalter hängt nun am BCM (Karosseriesteuergerät = Herz des Autos) und auch die Leuchtmittel werden von hier aus angesteuert
    Vorteile:
    -Alle Lampen können auch bei Busausfall angesteuert werden
    Nachteil:
    -Wieder mehr Kabel


    Ich denke ausschlaggebend hierfür waren Sicherheitsbedenken und auch Synergien, weil mehr in der Entwicklung zusammengefasst wurde.
    Technisch gesehen, aber eher ein Rückschritt.

  • I.d.R. sind die (interessanten) Daten verschlüsselt
    Gruß
    SK

    Die Daten auf dem CAN-Bus sind niemals verschlüsselt (Im Sinne von maskiert über ein Verschlüsselungsalgorithmus).
    Kennfelder oder auch hinterlegte Einstellungen von Steuergeräten (z.B. CAL-Files) sind über Kennwörter verriegelt, sodass nicht jeder darin rumprogrammieren kann.
    Der normale Datenverkehr (z.B. Drehzahl, Gurt angelegt Fahrerseite, Drehmoment, Blinkerhebel, etc...) wird 1 zu 1 übertragen.
    Die Hersteller geben lediglich nicht die "Belegung" der Signale bekannt.


    Der CAN-Bus mit seiner niedrigen Übertragungsrate eignet sich garnicht dafür (im Gegensatz zu z.B. Ethernet).


    Gruß

  • Die Erklärung ganz oben stimmt nicht ganz


    https://www.me-systeme.de/de/s…dlagen/can-bus-grundlagen




    Zitat

    Prinzip des Datenaustausches im CAN Netzwerk


    Bei der Datenübertragung in einem CAN-Bus werden keine Knoten adressiert, sondern der Inhalt einer Nachricht (z. B. Drehzahl oder Motortemperatur) wird durch einen eindeutigen Identifier gekennzeichnet. Neben der Inhaltskennzeichnung legt der Identifier auch die Priorität der Nachricht fest.
    Mit der dann folgenden Akzeptanzprüfung stellen alle Stationen nach korrektem Empfang der Nachricht anhand des Identifiers (ID) fest, ob die empfangenen Daten für sie relevant sind oder nicht. Durch die inhaltsbezogene Adressierung wird eine hohe Flexibilität erreicht: Es lassen sich sehr einfach Stationen zum bestehenden CAN-Netz hinzufügen.
    Alle Nachrichten sind von allen Teilnehmer gehört (englisch: „broadcast“) und abhängig von der ID-Akzeptanzfilterung zur Verarbeitung an den Hostcontroller weiter geleitet. Messgrößen, die von mehreren Steuergeräten als Information benötigt werden, können über das CAN-Netz so verteilt werden, so dass nicht jedes Steuergerät einen eigenen Sensor benötigt.


    Der der sendet sagt vorher wer zuhören soll ;)

  • Der der sendet sagt vorher wer zuhören soll


    Man muss sich das so vorstellen.


    Es ist ein Raum voller Leute (Steuergeräte).
    Jeder hat seine Informationen die er mitteilen oder darauf reagieren soll (Per Software in den Steuergeräten festgelegt).
    Der der die Wichtigste Information (Niedrigste CAN-ID) hat fängt an zu brüllen, alle hören zu.
    Die welche die Information wichtig finden reagieren darauf. Alle für die die Information irrelevant sind zucken mit den achseln und machen nichts.
    Danach schreit ein anderer, usw.


    Es gibt Leute die schreien zyklisch (z.B.: alle 100ms), andere schreien nur wenn sich ihre Information geändert hat (OnChange)
    Die Empfänger entscheiden (aufgrund ihrer Software), ob sie die Information benötigen oder nicht. Der Sender schreit prinzipiell einfach nur wild in den Raum :) .