DE112012006879T5 - Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off - Google Patents

Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off Download PDF

Info

Publication number
DE112012006879T5
DE112012006879T5 DE112012006879.3T DE112012006879T DE112012006879T5 DE 112012006879 T5 DE112012006879 T5 DE 112012006879T5 DE 112012006879 T DE112012006879 T DE 112012006879T DE 112012006879 T5 DE112012006879 T5 DE 112012006879T5
Authority
DE
Germany
Prior art keywords
bus
controller
reset
ecu
time interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112012006879.3T
Other languages
English (en)
Other versions
DE112012006879B4 (de
Inventor
Michael A. Sowa
Shengbing Jiang
Katrina M. Schultz
Mutasim A. Salman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE112012006879T5 publication Critical patent/DE112012006879T5/de
Application granted granted Critical
Publication of DE112012006879B4 publication Critical patent/DE112012006879B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

Ein System und ein Verfahren zum Bestimmen, wann ein Controller in Antwort auf einen Bus-Off Zustand zurückzusetzen ist. Das Verfahren weist ein Bestimmen, dass der Controller in einen ersten Bus-Off Zustand eingetreten ist, und ein sofortiges Zurücksetzen des Controllers auf. Das Verfahren weist ferner ein Setzen eines Rest-Timers in Antwort darauf, dass der Controller zurückgesetzt ist, auf, ein Bestimmen, ob der Controller in einen nachfolgen Bus-Off Zustand eingetreten ist, und ein Bestimmen einer Reset-Zeit. Das Verfahren setzt den Controller in Antwort auf den nachfolgenden Bus-Off Zustand sofort zurück, falls die Reset-Zeit größer als das ein erstes vorbestimmtes Zeitintervall ist, und setzt den Controller in Antwort auf den nachfolgenden Bus-Off Zustand zurück, nachdem ein zweites vorbestimmtes Zeitintervall abgelaufen ist, falls die Rest-Zeit kleiner als das erste vorbestimmte Zeitintervall ist.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich im Allgemeinen auf ein System und ein Verfahren zum Zurücksetzen beziehungsweise Resetten eines Controllers in Antwort auf einen Controller-Area-Network (CAN) Bus-Off Zustand, und insbesondere auf ein System und ein Verfahren zum Zurücksetzen beziehungsweise Resetten eines elektronischen Steuergeräts (ECU) in einem Fahrzeug in Antwort auf einen CAN-Controller Bus-Off Zustand, das ein Unterscheiden zwischen internen ECU Fehlern und zufälligen äußeren Störungen umfasst.
  • Diskussion des Standes der Technik
  • Die meisten modernen Fahrzeuge umfassen viele elektronische Steuergeräte (ECUs) oder Controller, welche den Betrieb von verschiedenen Fahrzeugsystemen, wie beispielsweise einem Antriebssystem, einer Klimaanlage, einem Infotainmentsystem, einer Karosseriesteuerung, einem Fahrwerksystem, und so weiter steuern. Derartige Controller und ECUs unterliegen einem bestimmten Verwendungszweck und benötigen speziell entwickelte Software, welche diesen ermöglichen ihre Steuerungsfunktion wahrzunehmen. Viele oder alle der einem jeweiligen Fahrzeugsystem zugeordneten ECUs sind typischerweise Teil eines verteilten Controller-Area-Network (CAN), welches einen mit den einzelnen ECUs in elektrischer Verbindung stehenden CAN-Bus verwendet, der die Übertragung von Nachrichten zwischen den ECUs ermöglicht. Jedes ECU umfasst eine als CAN-Controller bekannte Hardwareschaltung, die die Übertragung von Nachrichten auf den CAN-Bus sowie den Empfang von Nachrichten von dem CAN-Bus steuert. Der CAN-Controller liefert Signale für eine Host-Anwendungsschicht auf dem ECU, die die Software zum Betreiben des ECU für den jeweiligen Zweck umfasst.
  • Fehlermeldungen treten auf, wenn der CAN-Controller feststellt, dass die Nachricht ein unzulässiges Kopfformat oder eine andere unzulässige Konfiguration aufweist. Fehler können als Resultat von zufälligen äußeren Störungen, wie beispielsweise EMI Impulsen, oder internen Controller Störungen, auftreten. Falls der Controller in einem ECU eine Nachricht von dem CAN-Bus erhält und feststellt, dass die Nachricht einen Fehler aufweist, kann dieser CAN Controller die Nachricht zerstören um diese für andere, mit dem Bus gekoppelte ECUs unbrauchbar zu machen. Falls ein fehlerhafter CAN-Controller unzulässigerweise eine Nachricht zerstört, da er annimmt, dass diese einen Fehler aufweist, obwohl dies nicht so ist, können die anderen ECUs in dem CAN Netzwerk diese Nachricht zu dem Zeitpunkt, zu dem sie diese verwenden sollten, nicht mehr verwenden.
  • Jeder CAN-Controller in einem CAN Netzwerk arbeitet typischerweise in einem von drei Zuständen, nämlich in einem fehleraktiven Zustand, in einem fehlerpassiven Zustand, oder einem Bus-Off Zustand. Falls sich ein CAN-Controller in seinem aktiven Modus oder seinem fehleraktiven Zustand befindet und Nachrichten an den CAN-Bus liefert sowie Nachrichten von dem CAN-Bus empfängt, können Fehler in der oben beschriebenen Form dort auftreten, wo die Übertragung von Nachrichten auf oder der Empfang von Nachrichten von dem Bus fehlgeschlagen ist. Der CAN-Controller kann eine Fehlerzustandsmarke auf den Bus schicken, um andere Nachrichten auf dem Bus wie oben erwähnt zu zerstören. Der CAN-Controller akkumuliert die Fehler über die Zeit und kann in den fehlerpassiven Zustand eintreten, falls die Anzahl von Fehlern für den Empfang von Nachrichten, die von einem Empfangsfehlerzähler (REC) in dem CAN-Controller akkumuliert wurden, oder falls die Anzahl von Fehlern für die Übertragung von Nachrichten, die von einem Übertragungsfehlerzähler (TEC) in dem CAN-Controller akkumuliert wurden, einen vorbestimmten Wert erreicht, wie beispielsweise 127. Während des fehlerpassiven Zustands kann der TEC fortfahren, Übertragungsfehler zu akkumulieren, wobei der CAN-Controller in einen Bus-Off Zustand eintritt und von dem CAN-Bus abgetrennt wird, sobald ein zweiter Zählerwert erreicht ist, wie beispielsweise 255. Folglich kann der CAN-Controller, durch überführen des CAN-Controllers in den fehlerpassive Zustand sobald dieser eine vorbestimmte Anzahl von Fehlern akkumuliert hat, von dem Zerstören von Nachrichten, die ansonsten für andere ECUs in dem Netzwerk gültig wären, abgehalten werden, und der CAN-Controller wird anschließend, sobald die Übertragung von Fehlern einen anderen vorbestimmten Wert erreicht, daran gehindert, Fehlermeldungen auf den Bus zu übertragen, die ansonsten durch andere ECUs in dem Netzwerk bearbeitet werden würden.
  • Der CAN-Controller benachrichtigt die Anwendungsschicht, sobald der Bus-Off Zustand eintritt. Die Anwendungsschicht ist mit einem bestimmten Protokoll programmiert, das es dieser erlaubt, den CAN-Controller nach Auftreten eines Bus-Off Zustands zurückzusetzen, so dass der CAN-Controller erneut aktiv werden kann, um Nachrichten auf dem CAN-Bus zu senden und zu empfangen. Folglich kann der CAN-Controller in dem Bus-Off Zustand verbleiben, bis die Anwendungsschicht ein Zurücksetzen des CAN-Controllers in den fehleraktiven Zustand initiiert. Verschiedene CAN Netzwerke verwenden verschiedene Typen von Bus-Off Resetstrategien, um zu bestimmen, wie und wann die Anwendungsschicht den CAN-Controller zurücksetzt.
  • Bei einer bekannten Bus-Off Resetstrategie, auf welche als Autoresetstrategie Bezug genommen wird, initiiert die Anwendungsschicht das Reset des CAN-Controllers unmittelbar nachdem der CAN-Controller in den Bus-Off Zustand getreten ist, und der Can-Controller kehrt unmittelbar nachdem der CAN-Controller eine vorbestimmte Anzahl von Malen ein vorbestimmte Anzahl vorn rezessiven Bits empfängt, wie beispielsweise 11 mal 128 rezessive Bits, in den fehleraktiven Zustand zurück. Jedoch würde, falls der CAN-Controller selber fehlerhaft ist und die Anwendungsschicht diesen sofort zurücksetzt, der CAN-Controller die normale Fahrzeugsteuerung wiederholt unterbrechen.
  • Bei einer weiteren bekannten Bus-Off Resetstrategie, auf die als Warte-dann-Reset Strategie Bezug genommen wird, wird die Anwendungsschicht eine gewisse Zeitspanne nachdem Auftreten des Bus-Off Zustands warten, um dem CAN-Controller Zeit zu geben, sich nach dem Fehlerzustand wiederherzustellen. Jedoch gibt es, wie erwähnt, einige durch äußere Beeinträchtigungen, wie beispielsweise elektromagnetischer Strahlung, verursachte CAN-Controller Fehlerzustände, die zufällig und periodisch sind und nicht allzu lange anhalten. Falls die Bus-Off Resetstrategie ist, abzuwarten, und dann den CAN-Controller in den fehleraktiven Zustand zurückzusetzen, und die Ursache des Fehlers eine äußere Störung ist, dann wird der CAN-Controller für eine gewisse Zeitdauer offline sein, zu der die Beeinträchtigung wahrscheinlich noch keine Probleme verursacht. Während dieser Zeitdauer wird der spezielle CAN-Controller nicht fähig sein, Nachrichten auf den Bus zu geben, welche möglicherweise den Fahrzeugbetrieb oder Fahrzeugleistung beeinflussen. Deshalb kann ein CAN-Controller, der auf eine Nachricht eines anderen, sich in der Wartezeit für eine Bus-Off Resetstrategie befindenden CAN-Controller wartet, einen Diagnose-Fehlercode (DTC) auslösen, der angibt, dass der CAN-Controller zum Verschicken von Nachrichten nicht verfügbar ist.
  • Bei einer anderen bekannten Bus-Off Resetstrategie, auf die als Frequenzlimitierende Resetstrategie Bezug genommen wird, ist es erforderlich, dass eine Zeitspanne zwischen jeweils zwei aufeinanderfolgenden Resets länger als ein vorbestimmtes Zeitintervall ist. Für diesen Fall setzt die Anwendungsschicht den CAN-Controller sofort zurück, falls ein zweiter Bus-Off Zustand nach dem vorbestimmten Zeitintervall ab dem Reset des ersten Bus-Off Zustands auftritt. Jedoch würde bei einem fehlerhaften Controller ein zu kleines Zeitintervall zwischen den Resets in einem sofortigen Zurücksetzen des CAN-Controllers bei einem Bus-Off Zustand resultieren, und der CAN-Controller würde keine Zeit haben, sich nach dem Fehlerzustand wiederherzustellen, was in kontinuierlichen Beeinträchtigungen der normalen Kommunikation über den Bus resultieren würde, und es würde ein zu langes Zeitintervall in einer unnötigen Unterbrechung des CAN-Controllers, bei der dieser nicht mit dem Bus verbunden ist, resultieren. Untersuchungen haben ergeben, dass kein geeignetes Zeitintervall zwischen einem Bus-Off Zustand und einem Reset die obigen Situationen zufriedenstellend lösen kann.
  • In Übereinstimmung mit den Lehren der vorliegenden Erfindung werden ein System und ein Verfahren zum Bestimmen, wann ein Controller in Antwort auf einen Bus-Off Zustand zurückzusetzen ist, der als Resultat von Fehlern auftritt, die in Nachrichten identifiziert werden, die über einen Controller-Area-Network (CAN)-Bus übertragen werden oder aus einem Controller-Area-Network (CAN)-Bus empfangen werden, wobei der Bus-Off Zustand bewirkt, dass der Controller von dem CAN-Bus getrennt wird. Das Verfahren umfasst ein Bestimmen, dass der Controller in einen ersten Bus-Off Zustand eingetreten ist, und ein sofortiges Zurücksetzen des Controllers in Antwort auf das Bestimmen, dass der Controller in den ersten Bus-Off Zustand eingetreten ist. Das Verfahren weist ferner ein Setzen eines Reset-Timers in Antwort darauf auf, dass der Controller zurückgesetzt ist, und ein Bestimmen, ob der Controller in einen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem der Controller zurückgesetzt worden ist, und ein Bestimmen, ob eine Reset-Zeit von einer Zeit, von wann der Controller zurückgesetzt ist bis zu dem nachfolgenden Bus-Off Zustand, größer ist als ein erstes vorbestimmtes Zeitinterfall. Das Verfahren setzt den Controller in in Antwort auf den nachfolgenden Bus-Off Zustand sofort zurück, falls die Reset-Zeit größer als das erste vorbestimmte Zeitintervall ist, und setzt den Controller in Antwort auf den nachfolgenden Bus-Off Zustand zurück, nachdem ein zweites vorbestimmtes Zeitintervall abgelaufen ist, falls die Reset-Zeit kleiner als das erste vorbestimmte Zeitintervall ist.
  • Zusätzliche Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen, in Verbindung mit den begleitenden Zeichnungen betrachtet, ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Darstellung einer Vielzahl von mit einem CAN-Bus gekoppelten ECUs;
  • 2 ist ein Zustandsdiagramm, das die Zustände eines CAN-Bus Controllers in den in 1 gezeigten ECUs zeigt;
  • 3 ist ein Zeitdiagramm, das eine erste Lösung einer Bus-Off Resetstrategie zeigt;
  • 4 ist ein Zeitdiagramm, das eine zweite Lösung für eine Bus-Off Resetstrategie zeigt;
  • 5 ist ein Flussdiagramm, das einen Prozess zum Implementieren der in 3 dargestellten Bus-Off Resetstrategie zeigt; und
  • 6 ist ein Flussdiagramm, das einen Prozess zum Implementieren der in 4 dargestellten Bus-Off Resetstrategie zeigt.
  • Ausführliche Beschreibung der Ausführungsformen
  • Die folgende Diskussion von Ausführungsformen der auf ein System und ein Verfahren zum Bestimmen einer CAN-Controller Bus-Off Resetstrategie gerichteten Erfindung sind lediglich beispielhafter Natur, und ist keineswegs dazu vorgesehen, die Erfindung oder deren Anwendungen und Verwendungen zu beschränken. Zum Beispiel hat die vorliegende Erfindung eine Anwendung bei Zurücksetzen von CAN-Bus-Controllern in ECUs, die mit einem Fahrzeug assoziiert sind. Jedoch wird ein Fachmann würdigen, dass die Erfindung auch bei anderen Controllern Anwendung findet.
  • 1 ist eine Darstellung eines CAN-Netzwerks 10, das eine Vielzahl von mit einem CAN-Bus 14 gekoppelten ECUs 12 aufweist. Das CAN-Netzwerk 10 ist dazu vorgesehen, allgemein irgendein CAN-Netzwerk in einem Fahrzeug zu repräsentieren, das irgendeine Anzahl von ECUs für irgendein geeignetes Fahrzeugsystem aufweist. Nachrichten, die durch eine bestimmte ECU 12 übertragen oder empfangen werden, werden auf dem Bus 14 bereitgestellt, um durch eine andere ECU 12 in dem Netzwerk 10 auf eine Art und Weise empfangen und behandelt zu werden, die von einem Fachmann gut verstanden wird. Wie oben diskutiert, weist jedes ECU 12 einen Hardwarechip auf, der als ein CAN-Controller 16 bezeichnet wird, der die Übertragung von Nachrichten auf den CAN-Bus 14 und den Empfang von Nachrichten aus dem CAN-Bus 14 steuert. Der CAN-Controller 16 stellt Signale zu einer Host-Anwendungsschicht 18 auf der ECU 12 bereit, die die Software aufweist, die das ECU 12 für den speziellen Zweck betreibt. Wenn der CAN-Controller 16 in einen Bus-Off Zustand eintritt, benachrichtigt er die Host-Anwendungsschicht 18 von dieser Bedingung.
  • 2 ist eine Darstellung eines CAN-Controller-Zustandsdiagramms 20, das die oben bezeichneten CAN-Controller Zustände zeigt. Insbesondere zeigt das Zustandsdiagramm 29 einen fehleraktiven Zustand 22, einen fehlerpassiven Zustand 24, und einen Bus-Off Zustand 26.
  • Die vorliegende Erfindung schlägt eine Bus-Off Resetstrategie vor, die effektiv zwischen Fehlern unterscheidet, die durch äußere zufällige Störungen verursacht werden, und Fehlern, die durch interne Controller-Fehler verursacht werden. Eine Analyse hat gezeigt, dass ein durch einen internen Controller-Fehler verursachter Bus-Off Zustand schnell erreicht wird, zum Beispiel in weniger als 1 Sekunde, das heißt, der TEC erreicht den vorbestimmten Fehler-Zählerstand ausgehend von TEC = 0 nach einem Reset zu dem fehleraktiven Zustand 22, und ein Bus-Off Zustand, der durch eine äußere zufällige Störung verursacht wird, wird langsamer erreicht, zum Beispiel in mehr als 100 Sekunden. Um diese Unterscheidung bereitzustellen, betrachtet die vorliegende Erfindung die Zeit von einem ersten Bus-Off Zustand bis zu einem nächsten Bus-Off Zustand, und falls diese Zeit größer als ein vorbestimmte kalibrierbares Zeitintervall ist, bestimmt der CAN-Controller, dass die Fehler durch eine äußere Störung verursacht werden, und falls diese Zeit kleiner oder gleich dem Zeitintervall ist, bestimmt der CAN-Controller, dass die Fehler durch einen internen Controller-Fehler verursacht werden. Wie hier diskutiert, falls der Bus-Off Zustand durch einen internen Controller-Fehler verursacht wird, dann ist einiges an Resetzeit erwünscht, um dem CAN-Controller 16 die Gelegenheit zu geben, sich von dem Fehler zu erholen. Falls jedoch der Bus-Off Zustand durch äußere Störungen verursacht wird, dann ist diese Störung typischerweise sehr schnell, und der CAN-Controller 16 kann sofort zurückgesetzt werden.
  • Für den Fall, dass der Bus-Off Zustand durch einen internen Controller-Fehler verursacht wird, hat sich gezeigt, dass die Zeit von einem Bus-Off Zustand Reset, TEC = 0, bis zu dem nächsten Bus-Off Zustand 26, für einen schnellen CAN-Controller, zum Beispiel 500 Kb/s, kleiner als 10 Sekunden ist, wenn die Rahmen-Fehlerrate größer als 0,12 ist, und kleiner eine 1 Sekunde ist, wenn die Rahmen-Fehlerrate größer als 0,21 ist. Es hat sich auch gezeigt, dass die Zeit von einem Bus-Off Zustand, TEC = 0, bis zu dem nächsten Bus-Off Zustand 26, für einen langsamen CAN-Controller, zum Beispiel 33,3 Kb/s, kleiner als 10 Sekunden ist, wenn die Rahmen-Fehlerrate größer als 0,25 ist, und kleiner als 1 Sekunde, wenn die Rahmen-Fehlerrate größer als 0,7 ist.
  • Für durch äußere Störungen verursachte Bus-Off Zustände in einem schnellen CAN-Controller hat es sich gezeigt, dass die Zeit von einem Bus-Off Zustand Reset bis zu dem nächsten Bus-Off Zustand 26 in einer rauen EMI (elektromagnetische Störungen) Umgebung mehr als 1300 Sekunden beträgt, einschließlich einer Bitfehlerrate von 103. Für einen langsamen CAN-Controller beträgt die Zeit von einem Bus-Off Zustand Reset bis zu dem nächsten Bus-Off Zustand 26 in einer rauen EMI Umgebung mehr als 19000 Sekunden.
  • Die oben angegeben Werte gelten für die Zeit von wann der CAN-Controller 16 in den fehleraktiven Zustand 22 eintritt bis zu wenn er in den Bus-Off Zustand 26 eintritt. Für diese CAN-Controller, die auch den fehlerpassiven Zustand 24 benutzen, können von der Zeit zwischen wenn der CAN-Controller 16 in den fehlerpassiven Zustand 22 eintritt bis wenn er in den Bus-Off Zustand 26 eintritt dieselben Werte berechnet werden. Insbesondere für Bus-Off Zustände, die durch einen internen Controller-Fehler verursacht werden, hat es sich gezeigt, dass für einen schnellen CAN-Controller die Zeit zwischen wenn der Controller 16 in den fehlerpassiven Zustand eintritt bis wenn er in den Bus-Off Zustand eintritt typischerweise kleiner als 10 Sekunden ist, wenn die Rahmenfehlerrate größer als 0,11 Sekunden ist, und kleiner als 1 Sekunde ist, wenn die Rahmenfehlerrate größer als 0,16 ist. Für langsame CAN-Controller hat es sich gezeigt, dass die Zeit zwischen wenn der Controller 16 in den fehlerpassiven Zustand 24 eintritt bis wenn er in den Bus-Off Zustand 26 eintritt, kleiner als 10 Sekunden ist, wenn die Rahmenfehlerrate größer als 0,18 Sekunden ist, und kleiner als 1 Sekunde ist, wenn die Rahmen-Fehlerrate größer als 0,55 ist.
  • Für Bus-Off Zustände, die durch äußere Störungen verursacht werden, hat es sich gezeigt, das für einen schnellen CAN-Controller die Zeit zwischen wenn der Controller 16 in den fehlerpassiven Zustand 24 eintritt bis wenn er in den Bus-Off Zustand 26 eintritt in einer rauen EMI Umgebung typischerweise größer als 35 Sekunden ist, und für eine langsamen CAN-Controller in einer rauen EMI Umgebung typischer größer als 510 Sekunden ist.
  • Wenn basierend auf dem Vorhergehenden der Bus-Off Zustand 26 in dem CAN-Controller 16 als ein Resultat der Akkumulation von Fehlern wie oben beschrieben auftritt, berichtet der CAN-Controller 16 den Bus-Off Zustand 26 an die Anwendungsschicht 18, welche in eine Unterbrechungsroutine übergeht, die ein Starten eines Timers einschließt, um zu bestimmen, wann der nächste Bus-Off Zustand auftritt, und wenn diese Zeit kleiner oder gleich einem kalibrierten Zeitintervall X ist, dann kann der Bus-Off Zustand als ein Resultat von Fehlern angenommen werden, die durch einen fehlerhaften Controller verursacht sind, und wenn die Zeit größer als das Zeitintervall X ist, dann kann angenommen werden, dass der Bus-Off Zustand 26 ein Resultat der Fehler ist, die durch äußere Störungen verursacht sind. Wenn die Zeit kleiner als das Zeitintervall X ist, dann kann die Anwendungsschicht 18 ein kalibrierbares Resetwartezeit-Intervall Y vor einem Zurücksetzen des CAN-Controllers 16 einstellen, um dem CAN-Controller 16 zu ermöglichen, sich von dem Fehler zu erholen. Wenn die Zeit größer als das Zeitintervall X ist, dann kann die Anwendungsschicht 18 unmittelbar den CAN-Controller 16 zurücksetzen. Beide Zeitintervalle X und Y sind für langsame und schnellen CAN-Controller kalibrierbar, zum Beispiel kann das Zeitintervall für einen schnellen CAN-Controller X 1 Sekunde sein und für einen langsamen CAN-Controller 10 Sekunden, und das Zeitintervall Y kann für einen schnellen CAN-Controller 100 ms und für einen langsamen CAN-Controller 1 Sekunde sein.
  • 3 ist ein Zeitdiagramm 30, das eine erste Lösung einer Bus-Off Resetstrategie für einen CAN-Controller zeigt, die nicht einen fehlerpassiven Zustand an die Anwendungsschicht 18 berichtet. Wenn der erste Bus-Off Zustand 26 zu dem Zeitpunkt 32 auftritt, wird der CAN-Controller 16 unmittelbar zurückgesetzt, und ein Timer wird gestartet. Falls der Timer eine Zeitspanne T1 bis zum Zeitpunkt 34 bereitstellt, bei dem der nächste Bus-Off Zustand 26 auftritt, bestimmt die Anwendungsschicht 18, ob die Zeitspanne T1 größer als oder kleiner als das Zeitintervall X ist. Wenn die Zeitspanne T1 größer als das Zeitintervall X ist, bedeutet dies, dass der Bus-Off Zustand 26 wegen einer zufälligen Störung auftritt, und dann setzt die Anwendungsschicht 18 unmittelbar beziehungsweise sofort den CAN-Controller 16 zurück, und wenn die Zeitspanne T1 kleiner als oder gleich dem Zeitintervall X ist, bedeutet dieses, dass der Bus-Off Zustand 26 auf Grund eines fehlerhaften Controllers auftritt, und dann wartet die Anwendungsschicht 18 das Zeitintervall Y ab, bevor sie den CAN-Controller 16 zurücksetzt, um dem Controller 16 Zeit zu geben, sich von dem Fehler zu erholen. Der gleiche Prozess wird für die Zeitspannen T2 und T3 durchgeführt, die mit dem Bus-Off Resetzeitpunkt 36 und dem nächsten Bus-Off Zustand 38 und dem Bus-Off Resetzeitpunkt 40 und dem nächsten Bus-Off Zustand 42 jeweils assoziiert sind.
  • Die oben beschriebene Bus-Off Resetstrategie hat den Nachteil, da der erste Bus-Off Zustand zum Zeitpunkt 32 immer als ein sofortiges Zurücksetzen behandelt wird, und selbst wenn es ein fehlerhafter Controller ist, kann der fehlerhafte Controller immer noch für die Zeitspanne T1, zum Beispiel für 1 Sekunde, betrieben werden, bevor der nächste Bus-Off Zustand auftritt, wenn die Zeitspanne T1, zum Bestimmen, ob der Bus-Off Zustand durch einen fehlerhaften Controller oder durch eine äußere Störung verursacht wird, verwendet werden kann, was auf dem Zeitintervall X basiert, in welchem Fall die Zeitspanne T1 kleiner oder gleich dem Zeitintervall X sein würde, da der Bus-Off Zustand durch den fehlerhaften Controller verursacht wird und nur nach dem zweiten Bus-Off Zustand bei dem Zeitpunkt 34 eine Wartezeit zu seiner Rücksetzung bereitgestellt wird. Als ein Resultat wird die Störung von der fehlerhaften ECU für die Zeitspanne T1, bis zu dem nächsten Bus-Off Zustand 26 bei dem Zeitpunkt 34 fortgesetzt. Somit erscheint die Bus-Unterbrechung um zusätzlich 1 Sekunde später als erwünscht.
  • Dieser Nachteil kann durch Zählen der Zeit zwischen dem Erreichen des fehlerpassiven Zustands 24 und dem Erreichen des Bus-Off Zustands 26 angesprochen werden, was typischerweise schnell ist. Diese sekundenschnelle Lösung der Bus-Off Resetstrategie wird durch das Zeitdiagramm 50 in 4 dargestellt, wobei ein Zeitgeber gestartet wird, wenn der CAN-Controller 16 in den ersten fehlerpassiven Zustand 24 eintritt, bevor der erste Bus-Off Zustand 26 auftritt. Von der Zeitspanne T0, wenn der erste passive Zustand 24 bei dem Zeitpunkt 52 eintritt und der erste Bus-Off Zustand 26 bei dem Zeitpunkt 54 auftritt wird mit dem Zeitintervall X verglichen wird, um zu bestimmen, ob der Bus-Off Zustand 26 durch einen fehlerhaften Controller oder durch eine äußere Störung verursacht ist. Wenn der Bus-Off Zustand 26 durch einen fehlerhaften Controller verursacht ist, dann wird die Zeitspanne T0 kleiner oder gleich zu dem Zeitintervall X sein, und die Anwendungsschicht 18 behandelt den Bus-Off Zustand 26 als einen internen Fehler und setzt den CAN-Controller 16 nach der Verzögerung des Zeitintervalls Y zurück. Wenn der Bus-Off Zustand 26 durch eine äußere Störung verursacht wird, wird die Zeitspanne T0 größer als das Zeitintervall X sein, und die Anwendungsschicht 18 wird den CAN-Controller 16 sofort zurücksetzen. Der gleiche Prozess wird für die Zeitspannen T1, T2 und T3 für den passiven Zustandszeitpunkt 56 und den Bus-Off Zustandszeitpunkt 58, den passiven Zustandszeitpunkt 60 und den Bus-Off Zustandszeitpunkt 62, den fehlerpassiven Zustandszeitpunkt 64 und den Bus-Off Zustandszeitpunkt 66 entsprechend ausgeführt.
  • Wenn somit der CAN-Controller 16 den fehlerpassiven Zustand 24 an die Anwendungsschicht 18 berichtet, dann kann die ECU 12 die zweite Lösung für ihre Bus-Off Resetstrategie verwenden, und wenn der CAN-Controller 16 nicht den fehlerpassiven Zustand 24 an die Anwendungsschicht 18 berichtet, dann kann die ECU 12 die erste Lösung für ihre Bus-Off Resetstrategie verwenden.
  • Für die erste Lösung, bei der die Bus-Off Zustandsbestimmung auf der Zeit von der letzten Bus-Off Resetzeit basiert, ist die Ausführung etwas reduziert, weil die Anwendungsschicht 18 nicht in der Lage ist, den ersten Bus-Off Zustand für eine fehlerhafte ECU zu identifizieren. Es entsteht jedoch für den CAN Bus-Controller 16 kein zusätzlicher Aufwand, den fehlerpassiven Zustand 24 zu berichten. Für die zweite Lösung für die auf der Zeit von dem fehlerpassiven Zustand 24 basierende Bus-Off Zustandsdifferenzierung wird die Ausführung der Bus-Off Resetstrategie verbessert, weil von der korrekten Identifikation des ersten Bus-Off für eine fehlerhafte ECU es jedoch zusätzlichen Aufwand für den CAN-Controller 16 gibt, um den fehlerpassiven Zustand 24 zu berichten.
  • 5 ist ein Flussdiagramm 80, das einen Prozess zum Implementieren der Bus-Off Resetstrategie der ersten Lösung zeigt, die oben in 3 dargestellt wird. Wenn der CAN-Controller 16 in den Bus-Off Zustand übergeht, benachrichtigt er die Anwendungsschicht 18 durch eine CAN Unterbrechungsroutine, welche eine Bus-Off Zustandsmarke setzt, die den Bus-Off Zustand 26 anzeigt. Der Algorithmus in der Anwendungsschicht 18 führt den CAN Bus-Off Handhabungsalgorithmus periodisch in einer Zeitperiode Ta durch, wie 10 bis 20 Millisekunden, welche kleiner als die Zeitintervalle X und Y ist, um die Bus-Off Zustandsmarke zu überwachen und die Bus-Off Resetstrategie für ein Zurücksetzen des CAN-Controllers 16 in einen fehleraktiven Zustand 22 auszuführen. In dieser Ausführungsform zählen die Timer für die Zeitintervalle X und Y von ihrem Wert aus nach Null abwärts, wenn sie gestartet werden und wenn der Bus-Off Zustand 26 eintritt. Anfänglich werden beide Timer für die Zeitintervalle X und Y auf Null gesetzt. Wenn der Algorithmus in den Prozess eingreift, sobald die Zeitperiode Ta vorüber ist, bestimmt der Algorithmus, ob der Timer für das Zeitintervall X auf Null gesetzt ist, und falls nicht, vermindert er den Timer für das Zeitintervall X durch die Zeitperiode Ta am Block 82 und bestimmt, ob der Timer für das Zeitintervall Y auf Null gesetzt ist, und falls nicht, wird der Timer für das Zeitintervall Y durch die Zeitperiode Ta bei Block 84 herabgesetzt. Wenn somit entweder einer oder beide der Timer für die Zeitintervalle X und Y am Laufen sind, wenn der Prozess beginnt, werden sie in der Zeitperiode Ta auf ihrem Weg nach Null abfallen.
  • An der Entscheidungsraute 86 bestimmt der Algorithmus, ob die Bus-Off Marke auf 1 gesetzt wurde, was bedeutet, dass ein Bus-Off Zustand aufgetreten ist, und wenn nicht, endet der Algorithmus bei dem Block 88, um auf die nächste Zeitperiode Ta zu warten. Wenn die Bus-Off Marke bei der Entscheidungsraute 86 auf 1 gesetzt wurde, bestimmt der Algorithmus, ob der Timer für das Zeitintervall X bei der Entscheidungsraute 90 gleich Null ist. Wenn das Zurücksetzen eines Bus-Off Zustands 26 auftritt, wird der Timer für das Zeitintervall X gesetzt und beginnt in Inkrementen von Ta von dem Zeitwert X auf Null herunterzuzählen, um zu bestimmen, ob der nächste Bus-Off Zustand 26 relativ zu der Zeit aufgetreten ist. Wenn der Timer für das Zeitintervall X nicht gleich Null ist, dann erscheint der Bus-Off Zustand 26, bevor das Ende des Zeitintervalls X erreicht ist, hier 1 Sekunde, was bedeutet, dass der Bus-Off Zustand 26 auf Grund eines fehlerhaften ECU auftritt. In dieser Situation wird der Timer für das Zeitintervall X auf Null gesetzt, und der Timer für das Zeitintervall Y wird bei dem Block 92 gesetzt auf ein Zeitintervall Y, um den Controller 16 zu veranlassen, nachdem das Zeitintervall Y vorüber ist, zurückgesetzt zu werden, und der Algorithmus endet bei dem Block 88.
  • Wenn der Timer für das Zeitintervall X gleich Null bei der Entscheidungsraute 90 ist, was bedeutet, dass der Bus-Off Zustand 26 nachdem der Timer für das Zeitintervall X vorüber ist erscheint und der Bus-Off Zustand 26 ein Resultat von zufälligen Störungen ist und der Timer für das Zeitintervall Y für eine Wartezeit des Zurücksetzens prozessiert wird, bestimmt der Algorithmus dann, ob der Timer für das Zeitintervall Y Null an der Entscheidungsraute 94 ist. Wenn der Timer für das Zeitintervall Y an der Entscheidungsraute 90 nicht Null ist, dann wird der Algorithmus noch warten, bis die Wartezeit für ein Zurücksetzen vorüber ist, und der Algorithmus endet bei dem Block 88. Wenn der Timer für das Zeitintervall Y an der Entscheidungsraute 94 gleich Null ist, bedeutet dies, dass das ECU 12 in dem Bus-Off Zustand für die gewünschte Zeitperiode gewesen ist, um sich von dem Fehler zu erholen, so dass der Algorithmus zu der Box 96 weitergeht, um das Zurücksetzen des CAN-Controllers 16 in den fehleraktiven Zustand 22 zu starten, die Bus-Off Marke auf Null zu setzen und den Timer für das Zeitintervall X auf sein Zeitintervall zurückzusetzen, und der Algorithmus endet bei dem Block 88.
  • 6 ist ein Flussdiagramm 100, das den Betrieb für die Bus-Off Resetstrategie für die zweite Lösung, die oben mit Bezug auf die Seite 4 erörtert wurde, zeigt, wobei ähnliche Blöcke des Flussdiagramms 80 die gleiche Referenznummer aufweisen. Für die Bus-Off Resetstrategie setzt die Unterbrechungsroutine sowohl die Bus-Off Marke, wenn die ECU 12 in dem Bus-Off Zustand 26 ist, als auch eine passive Fehlerzustandsmarke, wenn der CAN-Controller 16 in einem fehlerpassiven Zustand 24 ist. In diesem Prozess bestimmt der Algorithmus, nach dem die Timer für die Zeitintervalle X und Y durch die Periode Ta vermindert wurden, ob der CAN-Controller 16 in einem fehlerpassiven Zustand 24 ist, durch Bestimmen, ob die passive Fehlerzustandsmarke bei der Entscheidungsraute 102 gesetzt wurde, bevor bestimmt wurde, ob die Bus-Off Marke auf 1 gesetzt wurde. Wenn der passive Fehlerzustand 24 noch nicht bei der Entscheidungsraute 102 eingetreten ist, dann fährt der Algorithmus direkt mit der Entscheidungsraute 86 fort, um zu bestimmen, ob die Bus-Off Zustandsmarke gesetzt ist. Wenn jedoch der passive Fehlerzustand 24 bei der Entscheidungsraute 102 eingetreten ist, dann setzt der Algorithmus den Timer für das Zeitintervall X auf seinen Wert, der hier 1 Sekunde ist bei dem Block 104, weil das Zurücksetzen auf der Zeit basiert, bei welcher der CAN-Controller 16 in den fehlerpassiven Zustand 24 eintritt. Der Algorithmus setzt bei dem Block 104 auch die passive Fehlermarke auf Null, bevor er weitergeht, um zu bestimmen, ob die Bus-Off Marke bei der Entscheidungsraute 86 gesetzt wurde. Der CAN-Controller wird zurückgesetzt, und bei dem Block 106 wird die Bus-Off Marke auf Null gesetzt, wo das Zeitintervall X nicht bei dem Block 106 gesetzt wird, wenn der CAN-Controller 16 zurückgesetzt ist, weil er bei dem Block 104 zurückgesetzt worden ist.
  • Wie es für den Fachmann in der Technik verständlich ist, können die verschiedenen und unterschiedlichen Schritte und Prozesse, die hierin erörtert werden, um die Erfindung zu beschreiben, sich auf Operationen beziehen, die durch einen Computer, einen Prozessor oder andere elektronische Rechengeräte durchgeführt werden, die unter Verwenden von elektrischen Phänomenen Daten manipulieren und/oder transformieren. Derartige Computer und elektronische Geräte können unterschiedliche flüchtige und nichtflüchtige Speicher verwenden, die ein nichttransitorisches computerlesbares Medium mit einem ausführbaren Programm, das darin gespeichert ist, verwenden, die verschiedene Codes oder ausführbare Instruktionen einschließen, die in der Lage sind, durch den Computer oder Prozessor durchgeführt zu werden, wobei der Speicher und/oder das computerlesbare Medium alle Formen und Arten von Speichern und anderen computerlesbaren Medien einschließen.
  • Die vorhergehende Diskussion offenbart und beschreibt nur beispielhafte Ausführungsformen der vorliegenden Erfindung. Ein Fachmann der Technik wird bereits von einer derartigen Diskussion und von den begleitenden Zeichnungen und Ansprüchen erkennen, dass verschiedene Änderungen, Modifikationen und Variationen darin ausgeführt werden können, ohne von dem Geist und dem Rahmen der Erfindung, wie sie in den folgenden Ansprüchen definiert ist, abzuweichen.

Claims (16)

  1. Ein Verfahren zum Bestimmen, wann ein Controller in Antwort auf einen Bus-Off, der als Resultat einer Akkumulation einer ersten vorbestimmten Anzahl von Fehlern auftritt, die in Nachrichten identifiziert werden, die über einen Controller-Area-Network (CAN)-Bus übertragen werden oder aus einem Controller-Area-Network (CAN)-Bus empfangen werden, zurückzusetzen ist, wobei der Bus-Off Zustand dazu führt, das der Controller von dem Can-Bus getrennt wird, wobei das Verfahren aufweist: Bestimmen, dass der Controller in einen ersten Bus-Off Zustand eingetreten ist; sofortiges Zurücksetzen des Controllers in Antwort auf das Bestimmen, dass der Controller in den ersten Bus-Off Zustand eingetreten ist; Setzen eines Reset-Timers in Antwort darauf, dass der Controller zurückgesetzt worden ist; Bestimmen, ob der Controller in einen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem der Controller zurückgesetzt wurde; Bestimmen, ob eine Reset-Zeitspanne ab einer Zeit, zu der oder nach der der Controller zurückgesetzt wird, bis zu dem nachfolgenden Bus-Off Zustand größer ist als ein erstes vorbestimmtes Zeitinterfall; sofortiges Zurücksetzen des Controllers in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist; und Zurücksetzen des Controllers in Antwort auf den nachfolgenden Bus-Off-Zustand, nachdem ein zweites vorbestimmtes Zeitintervall abgelaufen ist, falls die Reset-Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist.
  2. Das Verfahren nach Anspruch 1, ferner aufweisend Setzen des Reset-Timers in Antwort darauf, dass der Controller zurückgesetzt worden ist, Bestimmen, ob der Controller in einen anderen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem der Controller zurückgesetzt wurde, Bestimmen, ob die Reset-Zeitspanne von ab oder nach dem der Controller zurückgesetzt wird, bis zu dem nachfolgenden Bus-Off Zustand größer als das erste vorbestimmte Zeitintervall ist, sofortiges Zurücksetzen des Controllers in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist, und Zurücksetzen des Controllers in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist, nachdem das zweite Zeitintervall für alle anderen Bus-Off Zustände nach dem nachfolgenden Bus-Off Zustand abgelaufen ist.
  3. Das Verfahren nach Anspruch 1, wobei das Bestimmen, ob eine Reset-Zeitspanne ab einer Zeit, zu der oder nach der der Controller zurückgesetzt wird, bis zu dem nachfolgenden Bus-Off Zustand größer als ein erstes vorbestimmten Zeitintervall ist, ein Bestimmen, ob eine Reset-Zeitspanne ab wann der Controller zurückgesetzt wird bis zu dem nachfolgenden Bus-Off Zustand größer als ein erstes vorbestimmtes Zeitintervall ist, aufweist.
  4. Das Verfahren nach Anspruch 1, weiter aufweisend Bestimmen, dass der Controller in einen fehlerpassiven Zustand eingetreten ist, der als ein Resultat einer Akkumulation einer zweiten vorbestimmten Anzahl von Fehlern auftritt, die in Nachrichten identifiziert werden, die über den CAN-Bus übertragen werden oder von dem CAN-Bus empfangen werden, wobei die zweite vorbestimmte Anzahl von Fehlern kleiner als die erste vorbestimmte Anzahl von Fehlern ist, wobei das Bestimmen, ob eine Reset-Zeitspanne ab einer Zeit, zu der oder nach der der Controller zurückgesetzt wird, bis zu dem nachfolgenden Bus-Off Zustand größer als ein erstes vorbestimmtes Zeitintervall ist, ein Bestimmen, ob eine Reset-Zeitspanne ab wann der Controller in den fehlerpassiven Zustand eingetreten ist bis zu dem nachfolgenden Bus-Off Zustand größer als ein erstes vorbestimmtes Zeitintervall ist, aufweist.
  5. Das Verfahren nach Anspruch 1, wobei das erste vorbestimmte Zeitintervall bestimmt ist um zwischen Fehlern, die durch einen fehlerhaften Controller verursacht werden, und Fehlern, die durch äußere elektromagnetische Störungen verursacht werden zu unterscheiden.
  6. Das Verfahren nach Anspruch 5, wobei das erste vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr eine Sekunde beträgt, und für einen Controller, das eine Geschwindigkeit von ungefähr 33Kb/s hat, ungefähr 10 Sekunden beträgt.
  7. Das Verfahren nach Anspruch 5, wobei das zweite vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr 100 Millisekunden beträgt, und für einen Controller, der eine Geschwindigkeit von ungefähr 33 Kb/s hat, ungefähr eine Sekunde beträgt.
  8. Das Verfahren nach Anspruch 1, wobei der Controller ein elektronisches Steuergerät (ECU) in einem Fahrzeug ist.
  9. Ein Verfahren zum Bestimmen wann ein elektronisches Steuergerät (ECU) in eienm Fahrzeug, das Teil eines Controller-Area-Networks (CAN) ist, in Antwort auf einen Bus-Off Zustand, der als Resultat einer Akkumulation einer ersten vorbestimmten Anzahl von Fehlern auftritt, die in Nachrichten identifiziert werden, die über einen CAN-Bus übertragen werden oder von einem CAN-Bus empfangen werden, zurückzusetzen ist, wobei der Bus-Off Zustand bewirkt, dass das ECU von dem CAN-Bus getrennt wird, das Verfahren aufweisend: Bestimmen, dass das ECU in einen ersten Bus-Off Zustand eingetreten ist; sofortiges Zurücksetzen des Controllers in Antwort auf ein Bestimmen, dass das ECU in den ersten Bus-Off Zustand eingetreten ist; Setzen eines Reset-Timers in Antwort darauf, dass das ECU zurückgesetzt worden ist; Bestimmen, ob das ECU in einen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem das ECU zurückgesetzt worden ist; Bestimmen, ob eine Reset-Zeitspanne ab einer Zeit zu der das ECU zurückgesetzt ist bis zu dem nachfolgenden Bus-Off Zustand größer als ein vorbestimmtes Zeitinterfall ist, wobei das erste vorbestimmte Zeitintervall bestimmt ist um zwischen Fehlern, die durch ein fehlerhaftes ECU verursacht werden, und Fehlern, die durch äußere elektromagnetische Störungen der ECU verursacht werden, zu unterscheiden; sofortiges Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist; und Zurücksetzen des ECU, nachdem ein zweites vorbestimmtes Zeitintervall in Antwort auf den nachfolgenden Bus-Off Zustand abgelaufen ist, falls die Reset-Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist.
  10. Das Verfahren nach Anspruch 9, weiter aufweisend Setzen des Reset-Timers in Antwort darauf, dass das ECU zurückgesetzt worden ist, Bestimmen, ob das ECU in einen anderen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem das ECU zurückgesetzt wurde, Bestimmen, ob die Reset-Zeitspanne ab wann das ECU zurückgesetzt wird bis zu dem nachfolgenden Bus-Off Zustand größer als das erste vorbestimmte Zeitintervall ist, sofortiges Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist, und Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist, nachdem das zweite Zeitintervall für alle anderen Bus-Off Zustände nach dem nachfolgenden Bus-Off Zustand abgelaufen ist.
  11. Das Verfahren nach Anspruch 10, wobei das erste vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr eine Sekunde beträgt, und für einen Controller, der eine Geschwindigkeit von ungefähr 33Kb/s hat, ungefähr 10 Sekunden beträgt.
  12. Das Verfahren nach Anspruch 10, wobei das zweite vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr 100 Millisekunden beträgt, und für einen Controller, der eine Geschwindigkeit von ungefähr 33 Kb/s hat, ungefähr eine Sekunde beträgt.
  13. Ein Verfahren zum Bestimmen wann ein elektronisches Steuergerät (ECU) in einem Fahrzeug, das Teil eines Controller-Area-Networks (CAN) ist in Antwort auf einen Bus-Off Zustand, der als Resultat einer Akkumulation einer ersten vorbestimmten Anzahl von Fehlern auftritt, die in Nachrichten identifiziert werden, die über einen CAN-Bus übertragen werden oder von einem CAN-Bus empfangen werden, zurückzusetzen ist, wobei der Bus-Off Zustand bewirkt, dass das ECU von dem CAN-Bus getrennt wird, das Verfahren aufweisend: Bestimmen, dass das ECU in einen fehlerpassiven Zustand eingetreten ist, der als ein Resultat einer Akkumulation einer zweiten vorbestimmten Anzahl von Fehlern auftritt, die in Nachrichten identifiziert werden, die über den CAN-Bus übertragen werden oder von dem CAN-Bus empfangen werden, wobei die zweite vorbestimmte Anzahl von Fehlern kleiner als die erste vorbestimmte Anzahl von Fehlern ist; Bestimmen, dass das ECU in einen ersten Bus-Off Zustand eingetreten ist; sofortiges Zurücksetzen des Controllers in Antwort auf das Bestimmen, dass das ECU in den ersten Bus-Off Zustand eingetreten ist; Setzen eines Reset-Timers in Antwort darauf, dass das ECU in einemn nachfolgenden fehlerpassiven Zustand eingetreten ist, nachdem das ECU zurückgesetzt wird; Bestimmen, ob das ECU in einen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem das ECU in den fehlerpassiven Zustand eingetreten ist; Bestimmen, ob eine Reset-Zeitspanne ab einer Zeit zu der das ECU in den fehlerpassiven Zustand eingetreten ist bis zu dem nachfolgenden Bus-Off Zustand größer als ein erstes vorbestimmtes Zeitinterfall ist, wobei das erste vorbestimmte Zeitintervall zum Unterscheiden zwischen Fehlern, die durch ein fehlerhaftes ECU verursacht werden, und Fehlern, die durch äußere elektromagnetische Störungen des ECU verursacht werden, bestimmt ist; sofortiges Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist; und Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, nachdem ein zweites vorbestimmtes Zeitintervall abgelaufen ist, falls die Reset-Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist.
  14. Das Verfahren nach Anspruch 13, weiter aufweisend Setzen eines Reset-Timers in Antwort darauf, dass das ECU in einen nachfolgenden fehlerpassiven Zustand eintritt nachdem das ECU zurückgesetzt wurde, Bestimmen, ob das ECU in einen nachfolgenden Bus-Off Zustand eingetreten ist, nachdem das ECU in den fehlerpassiven Zustand eingetreten ist, Bestimmen, ob die Reset-Zeitspanne ab dem Zeitpunkt zu dem das ECU in den fehlerpassiven Zustand zurückgesetzt worden ist, bis zu dem nachfolgende Bus-Off Zustand größer als das erste vorbestimmte Zeitintervall ist, sofortiges Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Reset-Zeitspanne größer als das erste vorbestimmte Zeitintervall ist, und Zurücksetzen des ECU in Antwort auf den nachfolgenden Bus-Off Zustand, falls die Zeitspanne kleiner als das erste vorbestimmte Zeitintervall ist, nachdem das zweite Zeitintervall für alle anderen Bus-Off Zustände nach dem nachfolgenden Bus-Off Zustand abgelauffen ist.
  15. Das Verfahren nach Anspruch 13, wobei das erste vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr eine Sekunde beträgt, und für einen Controller, das eine Geschwindigkeit von ungefähr 33Kb/s hat, ungefähr 10 Sekunden beträgt.
  16. Das Verfahren nach Anspruch 13, wobei das zweite vorbestimmte Zeitintervall für einen Controller, der eine Geschwindigkeit von ungefähr 500 Kb/s hat, ungefähr 100 Millisekunden beträgt, und für einen Controller, der eine Geschwindigkeit von ungefähr 33 Kb/s hat, ungefähr eine Sekunde beträgt.
DE112012006879.3T 2012-09-05 2012-09-05 Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off Active DE112012006879B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/053791 WO2014039035A1 (en) 2012-09-05 2012-09-05 New approach for controller area network bus off handling

Publications (2)

Publication Number Publication Date
DE112012006879T5 true DE112012006879T5 (de) 2015-05-21
DE112012006879B4 DE112012006879B4 (de) 2022-01-20

Family

ID=50237494

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006879.3T Active DE112012006879B4 (de) 2012-09-05 2012-09-05 Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off

Country Status (4)

Country Link
US (1) US9600372B2 (de)
CN (1) CN104782082B (de)
DE (1) DE112012006879B4 (de)
WO (1) WO2014039035A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3331732A4 (de) * 2015-08-06 2019-02-27 Tower-Sec Ltd. Mittel und verfahren zur regelung von can-kommunizieren
US20200412756A1 (en) * 2018-05-23 2020-12-31 Panasonic Intellectual Property Corporation Of America Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015008318A2 (pt) 2013-09-23 2017-07-04 Farmobile Llc dispositivo de retransmissão, e, sistemas de troca de dados de agricultura e de servidor
CN107710657B (zh) * 2015-07-22 2021-04-13 阿瑞路资讯安全科技股份有限公司 用于通信总线的实时数据安全的方法和装置
US10992705B2 (en) * 2016-01-20 2021-04-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
DE102016005928B4 (de) * 2016-05-14 2020-11-19 Audi Ag Beobachtungsvorrichtung und Verfahren zum Ermitteln einer Resetdauer eines Resets eines Steuergeräts eines Kraftfahrzeugs
US11055615B2 (en) 2016-12-07 2021-07-06 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
US10462161B2 (en) * 2017-06-21 2019-10-29 GM Global Technology Operations LLC Vehicle network operating protocol and method
WO2019123447A1 (en) 2017-12-24 2019-06-27 Arilou Information Security Technologies Ltd. System and method for tunnel-based malware detection
CN107959594B (zh) * 2018-01-16 2020-09-18 成都雅骏新能源汽车科技股份有限公司 Can通信故障诊断方法
DE102018203705A1 (de) * 2018-03-12 2019-09-12 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Datenübertragung in einem seriellen Bussystem
CN110505131B (zh) * 2018-05-18 2020-12-01 中国科学院声学研究所 一种主从式can总线应用层通信方法
KR102646674B1 (ko) * 2018-09-04 2024-03-13 현대자동차주식회사 차량 및 그 제어 방법
US11165794B2 (en) * 2019-09-30 2021-11-02 Infineon Technologies Ag Alert system for controller area networks
CN114679374B (zh) * 2020-12-24 2024-08-06 上海汽车集团股份有限公司 一种重置控制方法、装置及电子设备
CN115396293A (zh) * 2022-08-23 2022-11-25 科东(广州)软件科技有限公司 一种通信异常处理系统、方法、装置和存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3928537A1 (de) 1989-08-29 1991-03-07 Bosch Gmbh Robert Verfahren zur fehlererkennung und/oder fehlerlokalisation bei datenuebertragungen
US5574848A (en) * 1993-08-24 1996-11-12 National Semiconductor Corporation Can interface selecting one of two distinct fault recovery method after counting a predetermined number of recessive bits or good can frames
US6484082B1 (en) * 2000-05-24 2002-11-19 General Motors Corporation In-vehicle network management using virtual networks
JP3939961B2 (ja) * 2001-10-31 2007-07-04 株式会社デンソー 車両用電子制御装置
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
US8213321B2 (en) 2007-02-01 2012-07-03 Deere & Company Controller area network condition monitoring and bus health on in-vehicle communications networks
JP4368902B2 (ja) * 2007-04-20 2009-11-18 富士通テン株式会社 エコラン制御装置及び制御方法
US20080273527A1 (en) * 2007-05-03 2008-11-06 The University Of Leicester Distributed system
JP4407752B2 (ja) * 2008-01-10 2010-02-03 トヨタ自動車株式会社 故障箇所検出装置及び通信装置並びに故障箇所検出方法
US8564400B2 (en) * 2008-10-27 2013-10-22 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8774210B2 (en) 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8892797B2 (en) * 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8452906B2 (en) * 2008-10-27 2013-05-28 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8874815B2 (en) * 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US8352081B2 (en) * 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8560125B2 (en) * 2008-10-27 2013-10-15 Lennox Industries Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US20100106326A1 (en) * 2008-10-27 2010-04-29 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8352080B2 (en) * 2008-10-27 2013-01-08 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
WO2014039032A1 (en) * 2012-09-05 2014-03-13 GM Global Technology Operations LLC Method and apparatus for isolating a fault-active controller in a controller area network
US20150312123A1 (en) * 2012-09-05 2015-10-29 Yilu Zhang Method and apparatus for isolating a fault in a controller area network
US9009523B2 (en) * 2012-11-27 2015-04-14 GM Global Technology Operations LLC Method and apparatus for isolating a fault in a controller area network
US9110951B2 (en) * 2013-09-16 2015-08-18 GM Global Technology Operations LLC Method and apparatus for isolating a fault in a controller area network
US9524222B2 (en) * 2013-09-16 2016-12-20 GM Global Technology Operations LLC Method and apparatus for fault detection in a controller area network
US9354965B2 (en) * 2013-10-18 2016-05-31 GM Global Technology Operations LLC Method and apparatus for isolating a fault in a controller area network
US9678131B2 (en) * 2014-05-27 2017-06-13 GM Global Technology Operations LLC Method and apparatus for short fault isolation in a controller area network
US9568533B2 (en) * 2014-05-27 2017-02-14 GM Global Technology Operations LLC Method and apparatus for open-wire fault detection and diagnosis in a controller area network
US9678847B2 (en) * 2014-05-27 2017-06-13 GM Global Technology Operations LLC Method and apparatus for short fault detection in a controller area network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3331732A4 (de) * 2015-08-06 2019-02-27 Tower-Sec Ltd. Mittel und verfahren zur regelung von can-kommunizieren
US10530605B2 (en) 2015-08-06 2020-01-07 Tower-Sec Ltd. Means and methods for regulating can communication
US10992495B2 (en) 2015-08-06 2021-04-27 Red Bend Ltd. Means and methods for regulating CAN communication
US20200412756A1 (en) * 2018-05-23 2020-12-31 Panasonic Intellectual Property Corporation Of America Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium
US12063235B2 (en) * 2018-05-23 2024-08-13 Panasonic Intellectual Property Corporation Of America Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium

Also Published As

Publication number Publication date
US20150220401A1 (en) 2015-08-06
WO2014039035A1 (en) 2014-03-13
CN104782082A (zh) 2015-07-15
CN104782082B (zh) 2018-06-19
DE112012006879B4 (de) 2022-01-20
US9600372B2 (en) 2017-03-21

Similar Documents

Publication Publication Date Title
DE112012006879B4 (de) Neuer Ansatz zum Handhaben eines Controller-Area-Network Bus-Off
DE112016003908B4 (de) Kommunikationsvorrichtung
DE102008002738B4 (de) Verfahren zum Erkennen eines fehlerhaften Knotens
DE102018122152A1 (de) Systeme und verfahren zur eindringungserkennung in das netzwerk im fahrzeug
DE3201768C2 (de)
DE10152235B4 (de) Verfahren zum Erkennen von Fehlern bei der Datenübertragung innerhalb eines CAN-Controllers und ein CAN-Controller zur Durchführung dieses Verfahrens
EP3684015B1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
DE102019217030A1 (de) Zuweisen von bus-off-angriffen auf der basis von error-frames
DE102018114739A1 (de) Betriebsprotokoll und -verfahren des Fahrzeugnetzwerks
EP3523941A1 (de) Kommunikationsdaten-authentifizierungsvorrichtung für ein fahrzeug
EP3682610A1 (de) Verfahren und vorrichtung zum erkennen eines angriffs auf ein serielles kommunikationssystem
DE102007029116A1 (de) Verfahren zum Betreiben eines Mikrocontrollers und einer Ausführungseinheit sowie ein Mikrocontroller und eine Ausführungseinheit
WO2021001096A1 (de) Verfahren zum übertragen eines oder mehrerer datenelemente von einem fahrzeug an einen server, computerlesbares medium, system, und fahrzeug
EP1574004A2 (de) Verfahren zur übertragung von daten auf einem bus
EP1686732A1 (de) Verfahren und System zur Übertragung von Telegrammen
DE102015108005A1 (de) Mechanismen und Geräte für neu konfigurierbare Interprozessorkommunikationen mit eingebettetem Controller
WO2018007050A1 (de) Verfahren und vorrichtung zum verarbeiten von signalen aus nachrichten auf wenigstens zwei datenbussen, insbesondere can-bussen; vorzugsweise in einem fahrzeug; sowie system
EP2359254B1 (de) Verfahren und system zur steuerung einer kommunikation zwischen einem funktionsrechner und einem überwachungsmodul
EP3871393B1 (de) Verfahren zur überwachung eines datenübertragungssystems, datenübertragungssystem und kraftfahrzeug
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE102020121542A1 (de) Kommunikationseinrichtung, Kommunikationssystem und Protokollumschaltverfahren
DE102010028485B4 (de) Verfahren und Vorrichtung zur Absicherung von über eine Schnittstelle zu übertragenden Datenpaketen
DE102016208435A1 (de) Fahrzeuginternes Netzwerksystem
DE112016006679T5 (de) Steuerungsvorrichtung und Recovery-Verarbeitungsverfahren für Steuerungsvorrichtung
DE102015218890A1 (de) Verfahren und Vorrichtung zum Generieren eines Ausgangsdatenstroms

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: SCHWEIGER, MARTIN, DIPL.-ING. UNIV., DE