Warum gibt es in Fahrzeugen mehrere CAN-Busse?

17

Es gibt eine Reihe von Fragen zum CAN-Bus, aber keine (soweit ich das beurteilen kann), die erklären, warum es in einem Fahrzeug mehrere CAN-Busse gibt. Soweit ich weiß, können viele verschiedene Knoten an einen einzelnen CAN-Bus angeschlossen werden. Ich bin mir also nicht sicher, warum Sie mehr als einen benötigen. Meine einzigen Gedanken sind, dass:

A. Es gibt eine relativ kleine Grenze für die Anzahl der Knoten, die an einen einzelnen CAN-Bus angeschlossen werden können. Aber wenn das der Fall ist, würde ich mir vorstellen, dass es eine Inter-CAN-Verbindung geben muss, damit Arbitrierung und Fehlerprüfung stattfinden können (CAN SPEC 2.0).

-- oder --

B. Knoten werden als primäre, sekundäre und tertiäre Systeme priorisiert, und jede Ebene verfügt über einen eigenen CAN-Bus, und diese Ebenen enthalten nur Geräte, die hinsichtlich der Funktionalität voneinander unabhängig sind. IE-Bremsen, Motorsteuerung, Außenbeleuchtung, Schlösser sind auf dem Primärbus. Radio, Klimaanlage, Sitzsteuerung, sind auf dem sekundären Bus usw. usw.

Wenn jemand erklären / klarstellen könnte, würde ich es wirklich schätzen. Danke im Voraus.

Moeman69
quelle
1
Ich weiß zugegebenermaßen nicht viel darüber, aber ich dachte, dass es nur einen Bus gibt, da es nur eine Verbindung gibt - den OBDII-Port. Wie werden die einzelnen Busse angesprochen? Was unterscheidet sie?
JPhi1618
@ JPhi1618 Ehrlich gesagt weiß ich selbst nicht so viel, deshalb frage ich rum. Ich habe mit einem Kollegen über die Fahrzeugsicherheit über den CAN-Bus gesprochen, nachdem er von einer Hackathon-Veranstaltung zurückgekehrt war, bei der es zur Sprache kam, und wir fanden eine Anzahl von Personen, die erwähnten, dass die meisten Fahrzeuge mehrere CAN-Busse hatten. Ich bin damit einverstanden, dass die einzige mir bekannte Verbindung der OBDII-Port ist. Es gibt hier mehrere Posts, bei denen die Leute erwähnt haben, dass es mehrere gibt. ( mechanics.stackexchange.com/questions/8559/obd2-and-can-bus - am6sigma erwähnt dies in der Antwort).
Moeman69
Wir haben die folgende Diskussion gefunden : Um Daten anzufordern, die Sie mit dem CAN-Gateway per Handshake senden müssen, müssen Sie die Verbindungseinstellungen aushandeln, einen Datensatz von einem bestimmten CAN-Gerät anfordern und die zurückgegebenen Daten lesen. Mit den richtigen Anforderungen können Sie über eine Verbindung auf Daten von jedem der 3 Busse zugreifen. So kann Ihr CBT die Drehzahl vom Motorsteuergerät, den Kilometerzähler vom Kombiinstrument, die Fensterposition vom vorderen rechten Türsteuergerät usw. abfragen Ein "Gateway" ist der Schlüssel.
JPhi1618
@ JPhi1618 Ahh danke. Ich habe diese Seite nie gesehen. Es sieht auch so aus, als ob mein Gedanke B darin richtig war, dass Instrumente in Clustern mit verschiedenen Bussen verbunden sind. Das CAN-Gateway scheint jedoch für VW-Fahrzeuge einzigartig und nicht unbedingt ein Standard zu sein. Ich kann mir nur vorstellen, dass andere Fahrzeuge ein ähnliches Gerät und Setup haben, aber das ist reine Spekulation. Ich wünschte, ich könnte Leute PM, da es Leute wie ich erwähnte, die scheinen, Wissen von mehreren Bussen aus erster Hand zu haben.
Moeman69

Antworten:

17

Die CAN-Busse sind in erster Linie zu trennen

  • Überlastung verwalten
  • Reduzieren Sie behördliche Bedenken hinsichtlich sicherheitskritischer Systeme
  • üben mehr Kontrolle darüber aus, wer auf die verschiedenen Busse zugreifen kann

Einfache Fahrzeuge verfügen über zwei CAN-Busse, einen für Motor und Sicherheitssysteme und einen für Karosseriesteuerungen (Beleuchtung, Benutzererfahrung usw.).

Komplexe Fahrzeuge verfügen über einen separaten Bus für Systeme, die die Fahrzeugbewegung beeinflussen, z. B. radarunterstützte Geschwindigkeitsregelung, Parksysteme, Spurführung usw., sowie über zusätzliche Systeme für Benutzermerkmale, die über einfache Karosseriesteuerungen hinausgehen, z. B. in Fahrzeugunterhaltungssystemen.

Während die Busse geteilt werden könnten , gibt es einige Gründe, dies nicht zu tun:

Überlastung

Selbst Hochgeschwindigkeits-CAN-Busse haben keine unbegrenzte Bandbreite und sind im Vergleich zu modernen Kommunikationssystemen sehr langsam. Es müssen jedoch noch viele Daten mitgeführt werden, und die meisten sind zeitkritisch. Wenn Sie also eine niedrige Auslastung beibehalten, können Nachrichten schneller zugestellt werden (weniger Kollisionen), sodass Echtzeitnachrichten nicht zu spät, sondern pünktlich eingehen .

Testen

Sicherheitskritische Systeme sind oft von anderen Systemen getrennt, so dass das Testen reduziert wird. Alle an den sicherheitskritischen Bus angeschlossenen Geräte müssen einen höheren Betriebsstandard aufweisen und daher getestet werden, um sicherzustellen, dass sie auf einem sicherheitskritischen Bus keine Probleme verursachen. Mit einem separaten Karosseriebus können Sie geringfügig niedrigere Standards festlegen, da ein Ausfall keine Sicherheitsprobleme verursacht und die Tests daher reduziert werden.

Anstatt alles in einem Bus zu kombinieren und sicherzustellen, dass alles den höheren Standards entspricht, können die Designer den Bus durch separate Busse segmentieren und die Kosten senken.

Branchenvorschriften sind schwierig, insbesondere, weil die Branche in der Vergangenheit Probleme mit der Drosselklappe und anderen Drive-by-Wire-Problemen hatte. Indem kritische Systeme von nicht kritischen Systemen getrennt gehalten werden, wird es viel einfacher und weniger wahrscheinlich, herauszufinden, was nachträglich schief gelaufen ist, und das Problem zu lösen, da es weniger Geräte gibt, die den ordnungsgemäßen Betrieb des Sicherheitssystems beeinträchtigen könnten.

Steuerung

Sobald Modder festgestellt haben, dass sie das Motormanagement und andere Computer über eine einzige Schnittstelle ändern können, haben die Fahrzeughersteller daran gearbeitet, den Diagnosestecker und seinen Bus vom Rest der Fahrzeugbusse zu trennen und ein Gateway zu verwenden, um nur die zulässigen Nachrichten weiterzuleiten Benutzer und Garage Zugang zu. In der Regel verfügen sie über zusätzliche Funktionen, die ihren eigenen Technikerzugriff ermöglichen, und viele fügen dem Diagnosestecker sogar einen weiteren Bus hinzu, ohne jedoch Nachrichtendetails zu veröffentlichen. Auf diese Weise können sie schneller zugreifen und gleichzeitig die Abwärtskompatibilität mit den Vorschriften für Diagnoseabgase aufrechterhalten.

Durch die Trennung der Busse können sie jedoch mit dem einfachen Diagnosestecker ein wenig mehr Kontrolle darüber ausüben, wer einfachen Zugriff auf die Bordcomputer hat.

Zusätzliche Komplexität

Die durch zusätzliche Busse verursachte Komplexität wird von einem Gateway-Controller übernommen. In einigen Fahrzeugen ist dies der Body Controller und hat oft andere Busverbindungen, wie z. B. LIN. Dieser leitet Nachrichten zwischen Bussen weiter, sodass das Gerät beispielsweise bei Anschluss eines Diagnosegeräts auf alle relevanten Diagnoseinformationen im gesamten Fahrzeug zugreifen kann.

Adam Davis
quelle
1
Ich bin mit Ihren Punkten einverstanden, würde aber "Sicherheit" mehr betonen als "Testen". Die sicherheitskritischen Steuerungen sind durch das Gateway von den anderen Steuerungen isoliert, wodurch die Kommunikation zwischen den Bussen auf eine definierte Teilmenge gefiltert und eingeschränkt wird. Der DVD-Player sollte nicht in der Lage sein, die Pausen oder Airbags zu kontrollieren (nachdem Sie sie mit einem gut gefertigten USB-Stick entführt haben) oder versehentlich ihren CAN-Bus logisch oder elektrisch zu gefährden. Die Strategie ist dieselbe wie für jedes LAN mit geschäftskritischen Servern, die Sie dem Internet nicht aussetzen würden. Testen geht nur so weit; Isolation ist narrensicher.
Peter - Reinstate Monica
@ PeterA.Schneider Ich bin mit Ihnen nicht einverstanden, aber ich habe am Karosseriemodul für große Ford-Fahrzeuge des Modelljahres '09 gearbeitet, und während das gewünschte Ergebnis möglicherweise die erhöhte oder überprüfbare Sicherheit gewesen ist, wurden die Beweise geprüft und in dem Fall dieses Moduls verkürzt die Testzeit. Die Realität ist, dass das Testen eines einzelnen komplexen Moduls in all seinen internen Permutationen Monate dauern kann und das Testen eines einzelnen kompletten Fahrzeugbusses Jahre dauern kann. Dies kann bis zu einem gewissen Grad mit erheblichen Kosten einhergehen, aber selbst einige Wochen sind nicht akzeptabel. Die Trennung der Busse ermöglicht einfachere und schnellere Tests.
Adam Davis
@ PeterA.Schneider Dadurch können die Module und Busse vollständiger getestet werden, was die Sicherheit erhöht. Das Hauptziel bestand jedoch darin, die Entwicklungszeit zu verkürzen und gleichzeitig einen bestimmten Sicherheitsstandard beizubehalten - und nicht die Sicherheit zu erhöhen. Aufgrund der Art und Weise, wie die Module entworfen wurden und die Nachrichtenübermittlung geplant ist, besteht kaum die Möglichkeit, dass ein erneut geflashter DVD-Player am Motorbus ein Problem verursacht. Die Hardware, die den Bus verbindet, verhindert DOS-Angriffe auf Siliziumebene, und die Mikrocontroller, die mit dieser Hardware verbunden sind, können nicht über Software programmiert werden.
Adam Davis
@ PeterA.Schneider Vielleicht ist dies eine Semantik oder eine Unterscheidung ohne Unterschied, aber wenn der Hersteller einen einzelnen Bus verlangt, können die Systeme mit dem gleichen Sicherheitsniveau ausgelegt werden, das in separaten Bussen vorhanden ist. Die Entwicklungszeit ist das einzige, was wirklich leiden würde. Glücklicherweise sind die zusätzlichen Kosten für separate Busse gering, andernfalls würden wir für einen einzelnen Bus planen, wenn die Kosten für separate Busse zu hoch wären.
Adam Davis
8

Wenn es speziell um CAN geht, lautet die Antwort keines der oben genannten.

In einem CAN-System sprechen die Knoten nicht direkt miteinander, sondern das System ist nachrichtenbasiert. Jede Nachricht hat eine Priorität, die auf ihrer Adresse basiert und bestimmt, wer zum Sprechen kommt. Wer immer die Prioritätsnachricht hat, überträgt die Nachricht an alle und wer immer sie benötigt, liest sie ein.

Es gibt einige Grenzen für die Anzahl der Knoten, aber diese Grenze ist elektrisch und keine Funktion des tatsächlichen Busses.

Der Grund ist, dass High-Speed-CAN aufgrund seiner Geschwindigkeit elektrisch sehr kompliziert ist. (Ich kann über Übertragungsleitungen, Signalintegrität, Stichleitungen und Terminierung weitermachen, aber dies geht weit über das hinaus, was diese Antwort erfordert.) Dies macht das Design kompliziert und die Module, die es verwenden, teurer. Weiterhin braucht nicht alles die Break Neck Speed ​​von High Speed ​​CAN. Das CAN-Bussystem ist normalerweise in drei Busse unterteilt: niedrige Geschwindigkeit, mittlere Geschwindigkeit und hohe Geschwindigkeit.

  • High-Speed-CAN verbindet alle wichtigen Systeme. Motor, ABS, Airbag, Getriebe, Karosserie. Der Body-Computer dient dann als Gateway zwischen den anderen Bussen.
  • Mittelgeschwindigkeits-CAN wird normalerweise für Fahrzeugfunktionen wie Außenbeleuchtung, elektrische Schlösser, elektrische Spiegel usw. verwendet.
  • Low-Speed-CAN übernimmt den Rest der unkritischen Systeme. Dazu können Innenbeleuchtung, Unterhaltung usw. gehören.

Wie bereits erwähnt, verwendet der CAN-Bus Nachrichtenadressen anstelle von Knotenadressen. Zum Beispiel wäre die Fahrzeuggeschwindigkeit eine Nachricht. Diese Nachricht wird von der ABS-Einheit gesendet und hat eine ziemlich hohe Priorität. Der Motor, der Airbag, das Getriebe und die Karosserie sind alle an der Nachricht interessiert und lesen sie ein. Nachdem die Nachricht empfangen wurde, überträgt die Karosserie die Nachricht erneut über die anderen Busse. Die Busse mit niedrigerer Geschwindigkeit müssen normalerweise nicht so häufig aktualisiert werden wie die Busse mit hoher Geschwindigkeit, sodass der Body sie nur gelegentlich aktualisiert.

Wenn ein Modul Informationen benötigt, die üblicherweise nicht übertragen werden, kann ein Modul Informationen anfordern. Der Bus ist so ausgelegt, dass das Modul, das über die Informationen verfügt, bei der Datenanforderung nur weiß, dass die Informationen benötigt werden, und nicht, wer die Informationen benötigt.

Das Gateway muss nicht der Body sein, es kann sich um das Kombiinstrument oder einen anderen Computer handeln.

vini_i
quelle
Danke für die solide Antwort. Ich bin ziemlich gut mit den CAN-Nachrichten und der Nachrichtenentscheidung vertraut. Ich vermute, die Frage, nach der ich wirklich suche, ist, ob Nachrichten auf einem CAN (z. B. dem nicht-kritischen CAN mit niedriger Geschwindigkeit) von Knoten gesehen werden, die an einem anderen CAN angeschlossen sind (z. B. dem CAN des kritischen Systems mit hoher Geschwindigkeit). Ich würde mir vorstellen, dass das System einwandfrei funktionieren könnte, wenn alle Geräte an einen einzigen CAN angeschlossen wären, da das Vermittlungssystem von Natur aus die Nachrichtenpriorität handhaben würde. Oder auch wenn die verschiedenen CAN's miteinander verbunden wären. Ist es nur eine Frage der Notwendigkeit und des Aufwands, dass sie getrennt sind?
Moeman69
@ Moeman69 Ja. In einem Auto können sich über hundert verschiedene Knoten befinden. Es wäre unerschwinglich, sie alle mit Hochgeschwindigkeits-CAN auszustatten. Es würde auch den Bus überlasten und viel mehr Fehlerpunkte im kritischen System ergeben.
vini_i
2

Einer der Gründe ist in diesem Cartoon aus dem Jahr 2003 zusammengefasst:

Bildbeschreibung hier eingeben

("Neues Gerät gefunden: Airbus A310. Automatische Konfiguration starten? [Start] [Abbrechen]")

Ähnliche Angriffe wurden in der Tat kürzlich gemeldet. Die sicherheitskritischen Komponenten auf einem separaten Bus zu haben, auf den nur über ein gut konfiguriertes Gateway zugegriffen werden kann, verringert die Wahrscheinlichkeit von versehentlichen Problemen wie dem oben beschriebenen erheblich und erschwert das Hacken erheblich.

Peter - Setzen Sie Monica wieder ein
quelle