-
HINTERGRUND DER ERFINDUNG
-
Eine Ausführungsform bezieht sich allgemein auf eine fahrzeuginterne Kommunikationsdiagnose.
-
Ein Controller Area Network (CAN) ist ein Fahrzeug-Multiplexbus-Standard, der dazu vorgesehen ist, elektronischen Steuereinheiten (ECUs) und anderen Einrichtungen zu ermöglichen, miteinander ohne einen zentralen oder Host-Controller des Busses zu kommunizieren. Fahrzeugsysteme und -subsysteme weisen zahlreiche ECUs auf, die Aktoren steuern oder Fahrzeugbetriebsdaten von Erfassungseinrichtungen empfangen.
-
CAN-Systeme sind asynchrone serielle Rundsendungsbusse, die Nachrichten seriell übermitteln. Zu einem Zeitpunkt wird nur eine einzige Nachricht an einen Kommunikationsbus übermittelt. Wenn eine Nachricht bereit ist, um an dem Kommunikationsbus übertragen zu werden, steuert der CAN-Controller den Nachrichtentransfer an dem Bus. Da Nachrichten seriell übertragen werden, warten verschiedene Knoten an dem Kommunikationsbus für eine Zeitdauer bis zum Übertragen. Wenn eine Nachricht zur Übertragung an dem Kommunikationsbus bereit ist, steuert der Buscontroller den Nachrichtentransfer an dem Bus. Wenn mehr als eine Nachrichtenübertragung gleichzeitig durch mehrere Sender initiiert wird, wird die dominantere Nachricht übertragen. Dies ist als Arbitrierungsprozess bekannt. Eine Nachricht mit einer höchsten Priorität dominiert die Arbitrierung, und eine Nachricht, die mit der niedrigeren Priorität übertragen wird, erfasst dies und wartet. Daher ist es sachdienlich, einen Arbeitszyklus zum Übertragen von Nachrichten aufrechtzuerhalten, so dass kein Rückstand auftritt.
-
Ein Fehler in dem fahrzeuginternen Kommunikationssystem wird durch den Empfänger auf der Grundlage dessen, dass eine Zeitüberschreitung auftritt, detektiert. Das heißt, da Nachrichten auf der Grundlage eines Arbeitszyklus (z. B. 10 ms) übertragen werden, kann, wenn ein Empfänger eine Nachricht nicht in der zugeteilten Zeit empfängt, angenommen werden, dass ein Fehler in dem System aufgetreten ist. Der Fehler kann an dem übertragenden Knoten oder in dem Kommunikationsbus auftreten; in dem herkömmlichen fahrzeuginternen Kommunikationssystem gibt es jedoch unter Verwendung der Zeitüberschreitungstechnik kein effektives Verfahren zum Identifizieren, an welcher Stelle der Fehler exakt aufgetreten ist.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ein Vorteil einer Ausführungsform ist eine Identifikation eines eingegrenzten Fehlers in einem fahrzeuginternen Kommunikationssystem unter Verwendung einer Knotenniveaudiagnose und einer Netzwerkniveaudiagnose. Das System analysiert einzeln Kommunikationsschichten in jeder ECU eines CAN-Systems. Nachdem jede Kommunikationsschicht analysiert wurde und potentielle Fehler detektiert wurden, werden alle Diagnoseergebnisse für die Kommunikationsschichten einer ECU kollektiv analysiert, um den Fehler weiter einzugrenzen. Ferner wird eine Fehlerdetektion an einem Kommunikationsbus zum Identifizieren eines potentiellen Fehlers in dem Kommunikationsbus durchgeführt. Es wird eine integrierte Netzwerkniveaudiagnoseanalyse an Daten einer integrierten Diagnose, die an dem ECU-Niveauknoten erhalten werden, und den Netzwerkniveaudiagnosedaten durchgeführt, um den Fehler in dem fahrzeuginternen Kommunikationssystem kollektiv einzugrenzen.
-
Eine Ausführungsform zieht ein Verfahren zum Diagnostizieren eines Fehlers in einem fahrzeuginternen Kommunikationssystem in Betracht, wobei das fahrzeuginterne Kommunikationssystem einen Übertragungsknoten, zumindest einen Empfangsknoten und einen Netzwerkkommunikationsbus umfasst, der den Übertragungsknoten mit dem zumindest einen Empfangsknoten koppelt. Der Übertragungsknoten und der zumindest eine Empfangsknoten umfassen mehrere Kommunikationsschichten, um Nachrichten in jedem der Knoten in dem fahrzeuginternen Kommunikationssystem zu bedienen. Die mehreren Kommunikationsschichten jedes Knotens umfassen zumindest eine Anwendungsschicht, eine Interaktionsschicht, eine Verbindungsschicht und eine physikalische Schicht. Eine Nachricht wird von dem Übertragungsknoten an den zumindest einen Empfangsknoten über den Kommunikationsbus übertragen. Es wird eine Fehlerdetektionstechnik in dem Übertragungsknoten zum Detektieren eines Fehlers in dem Übertragungsknoten angewandt. Es wird eine Fehlerdetektionstechnik auf den zumindest einen Empfangsknoten angewandt, um einen Fehler in dem zumindest einen Empfangsknoten zu detektieren. Es wird eine Fehlerdetektionstechnik in dem Netzwerkkommunikationsbus angewandt, um einen Fehler in dem Kommunikationsbus zu detektieren. Eine Analyseeinrichtung analysiert kollektiv Ergebnisse von jeder jeweiligen Detektionstechnik, um einen Fehler in dem fahrzeuginternen Kommunikationssystem einzugrenzen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine beispielhafte Schematik eines Blockdiagramms eines Controller Area Network-Kommunikationssystems.
-
2 ist ein Blockdiagramm des Detektionssystems einer integrierten Fehleranalyse.
-
3 ist ein Flussdiagramm zum Durchführen einer integrierten Diagnose- und Prognoseanalyse für das fahrzeuginterne Kommunikationssystem.
-
DETAILLIERTE BESCHREIBUNG
-
In 1 ist ein Controller Area Network-System (CAN-System) 10 gezeigt. Das CAN-System 10 umfasst mehrere elektronische Steuereinheiten (ECUs von electronic control units) 12–18, die mit einem Kommunikationsbus 20 gekoppelt sind, der den ECUs ermöglicht, miteinander zu kommunizieren. Jede der mehreren ECUs 12–18 ist mit einem/einer oder mehreren Sensoren, Aktoren oder Steuereinrichtungen (z. B. Anwendungskomponenten) gekoppelt. Die Anwendungskomponenten sind nicht direkt mit dem Kommunikationsbus 20 verbunden, sondern sind über die jeweiligen ECUs gekoppelt. Die Anwendungskomponenten könnten auch Softwarekomponenten in ECUs sein. Ein einzelnes Steuermerkmal kann sich über mehrere Anwendungskomponenten erstrecken und Steuernachrichten von einer Quell- zu einer Ziel-ECU über eine oder mehrere dazwischen liegende Verarbeitungs-/Steuer-ECUs, die an dem gleichen Kommunikationsbus angebracht sind, umfassen. Für die Zwecke dieser Erfindung ist zu verstehen, dass CAN-Systeme in der Technik bekannt sind und dass ECUs, Anwendungseinrichtungen, CAN-Controller und Transceiver als Knoten bezeichnet werden und die Details ihres Aufbaus hierin nicht ausführlich erläutert sind.
-
In 1 werden Nachrichten seriell über den Kommunikationsbus 20 an jede ECU 12–18 übermittelt, wie es gezeigt ist. Das heißt, zu einem Zeitpunkt kann nur eine einzelne Nachricht über den Kommunikationsbus 20 übertragen werden. Beispielsweise überträgt Knoten N1 in 1 eine Nachricht an dem Kommunikationsbus 20 und wird sie von den Knoten N2, N3 und N4 empfangen. Jeder der Knoten N2, N3 und N4 empfängt und verarbeitet die durch den Knoten N1 übertragene Nachricht. Jede seriell über den Kommunikationsbus übermittelte Nachricht wird auf einer periodischen Basis (z. B. 10 ms) übertragen. Folglich erwartet ein jeweiliger Knoten im Wesentlichen alle 10 ms, eine Nachricht zu empfangen.
-
Jede der elektronischen Steuereinheiten (ECUs) in jedem Knoten umfasst mehrere Kommunikationsschichten zum Bedienen von Nachrichten, die von anderen Knoten empfangen werden oder die für eine Übertragung an andere Knoten vorbereitet werden. Die mehreren Kommunikationsschichten für jede ECU umfassen eine Anwendungsschicht 22, eine Interaktionsschicht 24, eine Verbindungsschicht 26 und eine physikalische Schicht 28. Jede der mehreren Schichten stellt eine Funktion zum Bedienen der Nachricht bereit.
-
Die Anwendungsschicht 22 steht mit einer jeweiligen Softwareanwendung zum Realisieren einer Kommunikationseinrichtung in Interaktion. Die Anwendungsschicht 22 identifiziert eine Kommunikationsentität zum Ermitteln ihrer Identität; zum Ermitteln einer Ressourcenverfügbarkeit, was das Ermitteln umfasst, ob ein Netzwerk für eine Kommunikation vorhanden ist; und zum Synchronisieren von Kommunikationen zwischen den Anwendungen, die kooperative Kommunikationen erfordern.
-
Die Interaktionsschicht 24 fügt das Signal von der Anwendungsschicht in einen Frame ein, der an die Verbindungsschicht 26 weitergegeben wird.
-
Die Verbindungsschicht 26 stellt sowohl funktionale als auch prozesstechnische Prozesse, Protokolle und Spezifikationen bereit, um Daten zwischen jeweiligen ECUs in dem fahrzeuginternen Kommunikationsnetzwerk zu transferieren.
-
Die physikalische Schicht 28 legt die elektrische und physikalische Hardware und Spezifikationen für die kommunizierenden Einrichtungen dar. Die physikalische Schicht definiert den Übertragungsmodus (z. B. optisch, Kupfer), den Verbindertyp, die Verbinderform, die Ausgestaltung elektrischer Anschlüsse, Spannungen, Kabelspezifikationen, Netzwerkadapter und Busadapter.
-
Jeder Knoten N1, N2, N3 und N4 umfasst einen Satz von Kommunikationsschichten zum Bedienen einer Nachricht, die durch einen anderen Knoten empfangen wird, oder einer Nachricht zur Übertragung durch den Knoten selbst.
-
An jeder Stelle in dem CAN-System 10 einschließlich der ECUs, Verbindungen oder dem Kommunikationsbus können Fehler auftreten. Solche Fehler können Hardwarefehler umfassen, die einen Controller, einen Verbinder, einen Transceiver, Leitungen und Software umfassen, jedoch nicht darauf beschränkt sind. Daher werden Fehlerdiagnosetechniken auf einem ECU-Knotenniveau und einem Netzwerkniveau ausgeführt.
-
2 zeigt die Fehlerdetektionsanalyse, die auf sowohl dem ECU-Knotenniveau als auch dem Netzwerkniveau ausgeführt wird. Die erste ECU 12 kommuniziert mittels Nachrichten mit der zweiten ECU 14 über den Kommunikationsbus 20. Die erste ECU 12 ist Teil des Übertragungsknotens, und die zweite ECU 14 ist Teil des Empfangsknotens.
-
Für eine ECU-Knotenniveaudiagnose und -prognose wird an jeder Kommunikationsschicht unabhängig eine Fehlerdetektionsanalyse durchgeführt, um einen Fehler zu detektieren. Beispielsweise wird eine erste Fehlerdetektionstechnik 30 an der Anwendungsschicht 22 durchgeführt, wird eine zweite Diagnosetechnik 32 an der Interaktionsschicht 24 durchgeführt, wird eine dritte Diagnosetechnik 34 an der Verbindungsschicht 26 durchgeführt und wird eine vierte Diagnosetechnik 36 an der physikalischen Schicht 28 durchgeführt.
-
Diagnosetechniken, die an der physikalischen Schicht 28 durchgeführt werden können, umfassen Zeitbereichsreflektometrie (TDR von time-domain reflectometry), Frequenzbereichsreflektometrie (FDR von frequency-domain reflectometry), Spread Spectrum (TDR), Rauschbereichsreflektometrie (NDR von noise-domain reflectometry), Schaltkreisunterbrechung/Kurzschluss, Fehlerlokalisierung und Zeitpunkt des Auftretens, sind jedoch nicht darauf beschränkt.
-
Diagnosetechniken, die an der Verbindungsschicht 26 durchgeführt werden können, umfassen zyklische Redundanzprüfungen (CDC von cyclic redundancy checks), Rückmeldung, Bitstopfen, Fehlernachrichten-ID und Zeitpunkt des Auftretens, sind jedoch nicht darauf beschränkt.
-
Diagnosetechniken, die an der Interaktionsschicht und der Anwendungsschicht durchgeführt werden können, umfassen Zeitüberschreitung, Sequenznummer, CRC, Verzögerung, Funktionsunfähigkeit, sind jedoch nicht darauf beschränkt.
-
Jede jeweilige Schicht berichtet ihre Detektionen einem ECU-Knotenniveaudiagnosemodul 38 für eine integrierte Knotenniveaudiagnose. Die ECU 12 und die ECU 14 umfassen jeweils ein ECU-Knotenniveaudiagnosemodul 38, das die Knotenniveaumehrschichtdiagnosedaten sammelt und verwaltet. Jedes ECU-Knotenniveaudiagnosemodul 38 führt eine Diagnose an den Kommunikationsschichtdaten durch und grenzt alle Sender-, Empfänger- oder Busfehler in der ECU ein. Beispielsweise wird eine Zeitüberschreitungsdiagnosetechnik an der Anwendungsschicht durchgeführt, die angibt, dass in dem zugeteilten Zeit-Frame keine Information empfangen wurde. Typischerweise umfasst die Zeitdauer für eine Zeitüberschreitung die erwartete Dauer der Zeit zwischen Nachrichtenübertragungen. Die Diagnosedaten von jeder Kommunikationsschicht werden dann dem ECU-Knotenniveaumodul 38 bereitgestellt, so dass alle Diagnoseergebnisse von den Kommunikationsschichten kollektiv analysiert werden können. Das Durchführen einer Analyse auf einem integrierten Knotenniveau unterstützt das Eingrenzen des Fehlers. Das heißt, eine Fehlerdetektion an der Kommunikationsschicht kann identifizieren, dass ein Fehler in dem fahrzeuginternen Kommunikationssystem vorliegt, sie identifiziert jedoch nicht notwendigerweise exakt die Stelle, an der der Fehler vorliegt. Ferner unterstützt das kollektive Durchführen einer integrierten Analyse an den Diagnosedaten der Kommunikationsschichten in einer jeweiligen ECU das Eingrenzen des Fehlers.
-
Nachdem alle ECUs eine integrierte Knotenniveaudiagnoseanalyse durchgeführt haben, werden die Diagnoseanalysedaten von jeder der ECUs für eine integrierte Netzwerkanalyse an eine Netzwerkniveaudiagnoseanalyseeinrichtung 40 übertragen. Die Netzwerkniveaudiagnoseanalyseeinrichtung 40 stellt einen zentralisierten Knoten zum Sammeln aller anderen Diagnoseergebnisse aller ECUs in dem fahrzeuginternen Kommunikationssystem und Durchführen der integrierten Netzwerkniveauanalyse dar. Alternativ kann eine verteilte Technik verwendet werden, bei der es keinen zentralisierten vorgesehenen Knoten zum Durchführen der Netzwerkniveauanalyse gibt. Bei der verteilten Technik umfasst die Netzwerkniveaudiagnoseanalyseeinrichtung mehrere ECUs, die an einem Durchführen der integrierten Netzwerkniveauanalyse über Vorwärts-Rückwärts-Kommunikationen zwischen den ECUs, bis eine Übereinstimmung zwischen den kommunizierenden ECUs erreicht wird, beteiligt sind.
-
Beim Verwenden des zentralisierten Knotens sammelt und verwaltet die Netzwerkniveaudiagnoseanalyseeinrichtung 40 die Diagnosedaten von dem fahrzeuginternen Kommunikationssystem kollektiv. Die Netzwerkniveaudiagnoseanalyseeinrichtung 40 führt eine Netzwerkniveaudiagnose durch, die die Diagnosen des Kommunikationsbusses 20 und der mit dem Kommunikationsbus gekoppelten Knoten umfasst. Die Netzwerkniveaudiagnoseanalyseeinrichtung 40 sammelt die Knotenniveaudiagnosedaten von jeder der ECUs und auch der Netzwerkdiagnose, die an dem Kommunikationsbus durchgeführt wird, um kollektiv eine integrierte Netzwerkniveaudiagnose durchzuführen, um den Fehler weiter einzugrenzen. Die Fehlerdetektion auf dem Netzwerkniveau kann angeben, ob der Fehler auf den Kommunikationsbus eingegrenzt ist, oder ob die Fehler auf eine Kopplung zwischen dem Kommunikationsbus und dem Übertragungsknoten oder Empfangsknoten eingegrenzt sind.
-
Es kann auch eine Prognose auf dem Kommunikationsschichtniveau, dem integrierten ECU-Niveau und dem integrierten Netzwerkniveau durchgeführt werden. Die auf dem Netzwerkniveau durchgeführte integrierte Prognose kann nach der Detektion einer Fehlereingrenzung verwendet werden, um intermittierende Fehler abzuschätzen.
-
3 zeigt ein Flussdiagramm zum Durchführen einer integrierten Diagnose- und Prognoseanalyse für das fahrzeuginterne Kommunikationssystem. In Schritt 50 wird die Routine initiiert. Es wird eine Diagnoseanalyse auf sowohl dem ECU-Knotenniveau als auch dem Netzwerkniveau durchgeführt.
-
In Schritt 51 wird eine Fehlerdetektionsanalyse an jeder jeweiligen Kommunikationsschicht für jede analysierte ECU durchgeführt. Die Fehlerdetektion für jede Kommunikationsschicht auf dem Knotenniveau wird unabhängig von den anderen Kommunikationsschichten analysiert. Die Fehlerdetektion für jede Kommunikationsschicht wird vorzugsweise gleichzeitig durchgeführt; die Fehlerdetektion für jede Kommunikationsschicht kann jedoch sequentiell durchgeführt werden. Nach der Durchführung der Fehlerdetektion an jeder der Kommunikationsschichten fährt die Routine mit Schritt 52 fort.
-
In Schritt 52 wird eine Fehlerdetektionsanalyse auf einem integrierten ECU-Knotenniveau durchgeführt. Für jede ECU werden die Diagnosedaten, die aus der Analyse jeder der Kommunikationsschichten erhalten werden, kollektiv auf dem ECU-Knotenniveau analysiert. Dies umfasst die integrierte Diagnose und Prognose von Fehlerdetektionsdaten an den mehreren Kommunikationsschichten.
-
In Schritt 53 wird eine Netzwerkniveaufehlerdetektionsanalyse an dem Kommunikationsbus durchgeführt. Die Netzwerkniveaufehlerdetektionsanalyse kann gleichzeitig mit einer Knotenniveauanalyse und/oder einer integrierten Knotenniveauanalyse durchgeführt werden. Alternativ kann die Netzwerkniveaufehlerdetektionsanalyse sequentiell durchgeführt werden, entweder vor oder nach der Knotenniveauanalyse oder der integrierten Knotenniveauanalyse. Dies umfasst das Überwachen und Detektieren von Fehlern des Kommunikationsbusses.
-
In Schritt 54 wird eine integrierte Netzwerkniveaudiagnose und -prognose unter Verwendung der Daten durchgeführt, die in den Schritten 51–53 erhalten werden. Die Diagnose und Prognose verwenden die ECU-Knotenniveaudiagnose- und -prognosedaten, die Daten der integrierten Knotenniveaudiagnose und -prognose und die Netzwerkniveaukommunikationsbusfehlerdetektionsdaten zum kollektiven Analysieren des fahrzeuginternen Kommunikationssystems und Eingrenzen der Fehler in dem System.
-
In Schritt 55 werden eingegrenzte Fehler zum Identifizieren der Fehler ausgegeben. Die identifizierten Fehler können sofort an einen Benutzer, wie beispielsweise einen Fahrer eines Fahrzeugs, oder einen Servicetechniker, der das Fahrzeug wartet, ausgegeben werden. Alternativ können die identifizierten Fehler in einem Speicher für ein späteres Abrufen durch einen Servicetechniker oder eine andere Entität durch eine Konstruktionsgruppe gespeichert werden, um das fahrzeuginterne Kommunikationssystem zu korrigieren und zu verbessern. Ferner können die eingegrenzten Fehler verwendet werden, um eine Prognose intermittierender Fehler in dem fahrzeuginternen Kommunikationssystem durchzuführen.
-
Während bestimmte Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurden, werden Fachleute, die diese Erfindung betrifft, verschiedene alternative Entwürfe und Ausführungsformen zum Ausführen der Erfindung wie durch die folgenden Ansprüche definiert erkennen.