TECHNISCHES GEBIETTECHNICAL AREA
Diese Erfindung bezieht sich auf ein Verfahren zum Überwachen eines Controller Area Network gemäß dem Oberbegriff des Anspruchs 1, wie es der Art nach im Wesentlichen aus der DE 100 29 642 B4 bekannt ist.This invention relates to a method of monitoring a controller area network according to the preamble of claim 1, as it appears essentially from FIG DE 100 29 642 B4 is known.
HINTERGRUNDBACKGROUND
Fahrzeugsysteme umfassen mehrere Subsysteme, die beispielsweise Motor, Getriebe, Fahrgefühl/Handhabung, Bremsung, HLK und Insassenschutz umfassen. Es können mehrere Controller eingesetzt werden, um den Betrieb der Subsysteme zu überwachen und zu steuern. Die Controller können ausgestaltet sein, um über ein Controller Area Network (CAN) zu kommunizieren, um den Betrieb des Fahrzeugs in Ansprechen auf Bedienerbefehle, Fahrzeugbetriebszustände und externe Bedingungen zu koordinieren. In einem der Controller kann ein Fehler auftreten, der Kommunikationen über einen CAN-Bus beeinflusst.Vehicle systems include multiple subsystems including, for example, the engine, transmission, drive feel / handling, braking, HVAC, and occupant protection. Multiple controllers can be used to monitor and control the operation of the subsystems. The controllers can be configured to communicate over a Controller Area Network (CAN) to coordinate the operation of the vehicle in response to operator commands, vehicle operating states, and external conditions. An error can occur in one of the controllers that affects communications over a CAN bus.
Eine Topologie eines Netzes, wie beispielsweise eines CAN, bezieht sich auf eine Anordnung von Elementen. Bekannte CAN-Systeme setzen eine Bustopologie für die Kommunikationsverbindung zwischen allen Controllern ein, die eine Linientopologie, eine Sterntopologie oder eine Kombination aus Stern- und Linientopologie umfassen kann. Bekannte CAN-Systeme für hohe Geschwindigkeit setzen eine Linientopologie ein, wohingegen bekannte CAN-Systeme für niedrige Geschwindigkeit eine Kombination aus Stern- und Linientopologie einsetzen. Bekannte CAN-Systeme setzen separate Leistungs- und Massetopologien für die Leistungs- und Masseleitungen zu allen Controllern ein. Bekannte Controller kommunizieren über Nachrichten miteinander, die in verschiedenen Perioden an dem CAN-Bus gesendet werden. Eine physikalische Topologie beschreibt die Anordnung oder Aufteilung physikalischer Elemente, die Verbindungen und Knoten umfassen. Eine logische Topologie beschreibt den Fluss von Datennachrichten oder Leistung in einem Netz zwischen Knoten, wobei Verbindungen eingesetzt werden.A network topology, such as a CAN, relates to an arrangement of elements. Known CAN systems use a bus topology for the communication link between all controllers, which can include a line topology, a star topology or a combination of star and line topology. Known CAN systems for high speed use a line topology, whereas known CAN systems for low speed use a combination of star and line topology. Known CAN systems use separate power and ground topologies for the power and ground lines to all controllers. Known controllers communicate with one another via messages that are sent on the CAN bus in different periods. A physical topology describes the arrangement or division of physical elements that comprise links and nodes. A logical topology describes the flow of data messages or performance in a network between nodes using links.
Bekannte Systeme detektieren Fehler an einem Nachrichtenempfangscontroller, wobei die Fehlerdetektion für die Nachricht unter Verwendung einer Signalkontrolle und einer Signalzeitüberschreitungsüberwachung an einer Interaktionsschicht des Controllers erreicht wird. Die Fehler können als Verlust von Kommunikationen berichtet werden. Solche Detektionssysteme sind im Allgemeinen nicht dazu in der Lage, eine Grundursache eines Fehlers zu identifizieren, und sind nicht dazu in der Lage, transiente und intermittierende Fehler zu unterscheiden. Ein bekanntes Detektionssystem erfordert eine separate Überwachungshardware und dimensionale Details einer physikalischen Topologie eines Netzes, um Fehler in dem Netz effektiv zu überwachen und zu detektieren.Known systems detect errors on a message reception controller, the error detection for the message being achieved using signal control and signal timeout monitoring at an interaction layer of the controller. The errors can be reported as loss of communications. Such detection systems are generally not able to identify a root cause of a fault and are not able to differentiate between transient and intermittent faults. A known detection system requires separate monitoring hardware and dimensional details of a physical topology of a network in order to effectively monitor and detect faults in the network.
ZUSAMMENFASSUNGSUMMARY
Ein Controller Area Network (CAN) weist mehrere CAN-Elemente auf, die einen Kommunikationsbus und mehrere Controller umfassen. Erfindungsgemäß wird ein Verfahren zum Überwachen des CAN vorgestellt, das die Merkmale des Anspruchs 1 aufweist.A controller area network (CAN) has several CAN elements that include a communication bus and several controllers. According to the invention, a method for monitoring the CAN is presented which has the features of claim 1.
FigurenlisteFigure list
Nachstehend werden eine oder mehrere Ausführungsformen beispielhaft beschrieben, wobei auf die begleitenden Zeichnungen Bezug genommen wird, in denen:
- 1 ein Fahrzeug, das ein Controller Area Network (CAN) mit einem CAN-Bus und mehrere Knoten, z.B. Controller, umfasst, gemäß der Offenbarung zeigt;
- 2 ein integriertes Controller Area Network, das analog zu dem CAN von 1 ist und einen CAN-Bus mit Kabeln, mehrere Knoten, z.B. Controller, und eine Datenverbindungssteuerung umfasst, gemäß der Offenbarung zeigt;
- 3 schematisch eine beispielhafte CAN-Überwachungsroutine zum Detektieren und Isolieren eines intermittierenden Fehlers in einem CAN gemäß der Offenbarung zeigt;
- 4 eine Controller-Aktiv-Kontrollroutine zum Überwachen des Controllerstatus einschließlich eines Detektierens, ob einer der mit dem CAN-Bus verbundenen Controller inaktiv ist, gemäß der Offenbarung zeigt;
- 5, die die 5-1 und 5-2 umfasst, eine Zeitachse, die einen Controllerstatus für mehrere CAN-Elemente, die mehrere Controller umfassen, in Relation zur Zeit angibt, gemäß der Offenbarung zeigt; und
- 6 ein beispielhaftes CAN, das Controller, einen Überwachungscontroller, eine Leistungsversorgung, eine Batteriesterneinrichtung und eine Masse, die jeweils über eine Verbindung verbunden sind, umfasst, gemäß der Offenbarung zeigt.
One or more embodiments are described below by way of example, reference being made to the accompanying drawings, in which: - 1 shows a vehicle comprising a controller area network (CAN) with a CAN bus and multiple nodes, eg controllers, according to the disclosure;
- 2 an integrated controller area network, which is analogous to the CAN from 1 Figure 3 shows a CAN bus with cables, multiple nodes, e.g. controllers, and a data link controller in accordance with the disclosure;
- 3 schematically depicts an exemplary CAN monitor routine for detecting and isolating an intermittent fault in a CAN in accordance with the disclosure;
- 4th Figure 12 shows a controller active control routine for monitoring controller status including detecting whether any of the controllers connected to the CAN bus is inactive, in accordance with the disclosure;
- 5 who the 5-1 and 5-2 comprises a timeline showing controller status for multiple CAN elements comprising multiple controllers in relation to time, according to the disclosure; and
- 6th An exemplary CAN including controllers, a supervisory controller, a power supply, a battery star device, and a ground, each connected via a link, according to the disclosure.
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Nun auf die Zeichnungen Bezug nehmend, wobei die Darstellungen lediglich dem Zweck des Erläuterns bestimmter beispielhafter Ausführungsformen dienen, zeigt 1 schematisch ein Fahrzeug 8, das ein Controller Area Network (CAN) 50 mit einem CAN-Bus 15 und mehreren Knoten, d.h. Controllern 10, 20, 30 und 40, umfasst. Der Begriff „Knoten“ bezieht sich auf jede aktive elektronische Einrichtung, die über Signale mit dem CAN-Bus 15 verbunden ist und eine Information über den CAN-Bus 15 senden, empfangen oder weiterleiten kann. Jeder der Controller 10, 20, 30 und 40 ist über Signale mit dem CAN-Bus 15 verbunden und elektrisch mit einem Leistungsnetz 60 und einem Massenetz 70 verbunden. Jeder der Controller 10, 20, 30 und 40 umfasst einen elektronischen Controller oder eine andere fahrzeugeigene Einrichtung, die ausgestaltet ist, um den Betrieb eines Subsystems des Fahrzeugs 8 zu überwachen oder zu steuern und über den CAN-Bus 15 zu kommunizieren. Bei einer Ausführungsform ist einer der Controller, z.B. Controller 40, ausgestaltet, um das CAN 50 und den CAN-Bus 15 zu überwachen, und er kann hierin als CAN-Controller bezeichnet werden. Die dargestellte Ausführungsform des CAN 50 ist ein nicht einschränkendes Beispiel eines CAN, die bei einer beliebigen einer Vielzahl von Systemausgestaltungen eingesetzt werden kann.Referring now to the drawings, the representations being for the purpose of explaining certain exemplary embodiments, FIG 1 schematically a vehicle 8th , which is a Controller Area Network (CAN) 50 with a CAN bus 15th and multiple nodes, ie controllers 10 , 20th , 30th and 40 , includes. The term "node" refers to any active electronic device that has signals on the CAN bus 15th connected and information about the CAN bus 15th can send, receive or forward. Each of the controllers 10 , 20th , 30th and 40 is via signals with the CAN bus 15th connected and electrically connected to a power grid 60 and a mass network 70 connected. Each of the controllers 10 , 20th , 30th and 40 includes an electronic controller or other on-vehicle device configured to operate a subsystem of the vehicle 8th to monitor or control and via the CAN bus 15th to communicate. In one embodiment, one of the controllers is, for example, controllers 40 , designed to use the CAN 50 and the CAN bus 15th monitor, and it may be referred to herein as a CAN controller. The illustrated embodiment of the CAN 50 is a non-limiting example of a CAN that can be used with any of a variety of system configurations.
Der CAN-Bus 15 umfasst mehrere Kommunikationsverbindungen, die eine erste Kommunikationsverbindung 51 zwischen den Controllern 10 und 20, eine zweite Kommunikationsverbindung 53 zwischen den Controllern 20 und 30 und eine dritte Kommunikationsverbindung 55 zwischen den Controllern 30 und 40 umfassen. Das Leistungsnetz 60 umfasst eine Leistungsversorgung 62, z.B. eine Batterie, die elektrisch mit einem ersten Leistungsbus 64 und einem zweiten Leistungsbus 66 verbunden ist, um den Controllern 10, 20, 30 und 40 über Leistungsverbindungen elektrische Leistung bereitzustellen. Wie gezeigt ist die Leistungsversorgung 62 mit dem ersten Leistungsbus 64 und dem zweiten Leistungsbus 66 über Leistungsverbindungen, die in einer seriellen Ausgestaltung angeordnet sind, verbunden, wobei eine Leistungsverbindung 69 den ersten und den zweiten Leistungsbus 64 und 66 verbindet. Der erste Leistungsbus 64 ist mit den Controllern 10 und 20 über Leistungsverbindungen, die in einer Sternkonfiguration angeordnet sind, verbunden, wobei Leistungsverbindung 61 den ersten Leistungsbus 64 und den Controller 10 verbindet und Leistungsverbindung 63 den ersten Leistungsbus 64 mit dem Controller 20 verbindet. Der zweite Leistungsbus 66 ist mit den Controllern 30 und 40 über Leistungsverbindungen, die in einer Sternkonfiguration angeordnet sind, verbunden, wobei Leistungsverbindung 65 den zweiten Leistungsbus 66 und den Controller 30 verbindet und Leistungsverbindung 67 den zweiten Leistungsbus 66 mit dem Controller 40 verbindet. Das Massenetz 70 umfasst eine Fahrzeugmasse 72, die mit einem ersten Massebus 74 und einem zweiten Massebus 76 verbunden ist, um den Controllern 10, 20, 30 und 40 über Masseverbindungen eine elektrische Masse bereitzustellen. Wie gezeigt ist die Fahrzeugmasse 72 über Masseverbindungen, die in einer seriellen Ausgestaltung angeordnet sind, mit dem ersten Massebus 74 und dem zweiten Massebus 76 verbunden, wobei Masseverbindung 79 den ersten und zweiten Massebus 74 und 76 verbindet. Der erste Massebus 74 ist mit den Controllern 10 und 20 über Masseverbindungen verbunden, die in einer Sternkonfiguration angeordnet sind, wobei Masseverbindung 71 den ersten Massebus 74 und den Controller 10 verbindet und Masseverbindung 73 den ersten Massebus 74 mit dem Controller 20 verbindet. Der zweite Massebus 76 ist mit den Controllern 30 und 40 über Masseverbindungen verbunden, die in einer Sternkonfiguration angeordnet sind, wobei Masseverbindung 75 den zweiten Massebus 76 und den Controller 30 verbindet und MasseVerbindung 77 den zweiten Massebus 76 mit dem Controller 40 verbindet. Andere Topologien für die Verteilung von Kommunikationen, Leistung und Masse für die Controller 10, 20, 30 und 40 und den CAN-Bus 15 können mit einer ähnlichen Auswirkung eingesetzt werden.The CAN bus 15th comprises several communication links that have a first communication link 51 between the controllers 10 and 20th , a second communication link 53 between the controllers 20th and 30th and a third communication link 55 between the controllers 30th and 40 include. The power network 60 includes a power supply 62 , e.g. a battery that is electrically connected to a first power bus 64 and a second power bus 66 connected to the controllers 10 , 20th , 30th and 40 provide electrical power via power connections. As shown is the power supply 62 with the first performance bus 64 and the second power bus 66 connected via power connections that are arranged in a serial configuration, wherein a power connection 69 the first and second power buses 64 and 66 connects. The first performance bus 64 is with the controllers 10 and 20th connected via power connections which are arranged in a star configuration, wherein power connection 61 the first performance bus 64 and the controller 10 connects and power connection 63 the first performance bus 64 with the controller 20th connects. The second performance bus 66 is with the controllers 30th and 40 connected via power connections which are arranged in a star configuration, wherein power connection 65 the second power bus 66 and the controller 30th connects and power connection 67 the second power bus 66 with the controller 40 connects. The mass network 70 includes a vehicle mass 72 with a first mass bus 74 and a second ground bus 76 connected to the controllers 10 , 20th , 30th and 40 provide an electrical ground via ground connections. As shown is the vehicle mass 72 via ground connections, which are arranged in a serial configuration, with the first ground bus 74 and the second ground bus 76 connected, with ground connection 79 the first and second ground bus 74 and 76 connects. The first mass bus 74 is with the controllers 10 and 20th connected via ground connections arranged in a star configuration, with ground connection 71 the first mass bus 74 and the controller 10 connects and ground connection 73 the first mass bus 74 with the controller 20th connects. The second ground bus 76 is with the controllers 30th and 40 connected via ground connections arranged in a star configuration, with ground connection 75 the second ground bus 76 and the controller 30th connects and ground connection 77 the second ground bus 76 with the controller 40 connects. Other topologies for distributing communications, power, and ground for the controllers 10 , 20th , 30th and 40 and the CAN bus 15th can be used with a similar effect.
Steuermodul, Modul, Steuerung, Controller, Steuereinheit, Prozessor und ähnliche Begriffe umfassen eines oder verschiedene Kombinationen eines/r oder mehrerer anwendungsspezifischen/r integrierten/r Schaltkreise(s) (ASIC), elektronischen/r Schaltkreise(s), zentralen/r Verarbeitungseinheit(en) (vorzugsweise Mikroprozessor(en)) und einen zugeordneten Speicher (Nur-Lese-Speicher, programmierbarer Nur-Lese-Speicher, Direktzugriffsspeicher, Festplatte etc.), die ein(e) oder mehrere Software- oder Firmwareprogramme oder Routinen ausführen, Schaltkreise(s) einer kombinatorischen Logik, Eingabe/Ausgabe-Schaltkreise(s) und -Einrichtungen, geeigneten Signalkonditionierungs- und -pufferschaltung und andere Komponenten, um die beschriebene Funktionalität bereitzustellen. Software, Firmware, Programme, Anweisungen, Routinen, Code, Algorithmen und ähnliche Begriffe umfassen jegliche Anweisungssätze, die Kalibrierungen und Nachschlagetabellen umfassen. Das Steuermodul weist einen Satz von Steuerroutinen auf, die ausgeführt werden, um die gewünschten Funktionen bereitzustellen. Routinen werden beispielsweise durch eine zentrale Verarbeitungseinheit ausgeführt und dienen dazu, Eingänge von Erfassungseinrichtungen und anderen vernetzten Steuermodulen zu überwachen und Steuer- und Diagnoseroutinen auszuführen, um den Betrieb von Aktoren zu steuern. Routinen können in regelmäßigen Intervallen, beispielsweise alle 100 Mikrosekunden, 3,125, 6,25, 12,5, 25 und 100 Millisekunden, während des fortwährenden Maschinen- und Fahrzeugbetriebs ausgeführt werden. Alternativ können Routinen in Ansprechen auf das Vorkommnis eines Ereignisses ausgeführt werden.Control module, module, controller, controller, control unit, processor and similar terms include one or various combinations of one or more application-specific integrated circuits (ASIC), electronic circuit (s), central processing unit (s) (preferably microprocessor (s)) and an assigned memory (read-only memory, programmable read-only memory, random access memory, hard disk, etc.), which execute one or more software or firmware programs or routines, Combinational logic circuit (s), input / output circuit (s) and devices, suitable signal conditioning and buffering circuitry, and other components to provide the functionality described. Software, firmware, programs, instructions, routines, code, algorithms, and similar terms encompass any instruction set that includes calibrations and look-up tables. The control module has a set of control routines that are executed to provide the desired functions. Routines are executed, for example, by a central processing unit and are used to monitor inputs from detection devices and other networked control modules and to execute control and diagnostic routines in order to control the operation of actuators. Routines can be executed at regular intervals, such as every 100 microseconds, 3.125, 6.25, 12.5, 25, and 100 milliseconds, during continued machine and vehicle operation. Alternatively, routines can be executed in response to the occurrence of an event.
Jeder der Controller 10, 20, 30 und 40 überträgt und empfängt Nachrichten über das CAN 50 über den CAN-Bus 15, wobei Nachrichtenübertragungsraten für verschiedene der Controller mit verschiedenen Perioden erfolgen. Eine CAN-Nachricht weist ein bekanntes, vorbestimmtes Format auf, das beispielsweise einen Frame-Start (SOF von start of frame), einen Identifikator (11-Bit-Identifikator), eine einzelne Fernübertragungsanforderung (RTR von remote transmission request), eine dominante einzelne Identifikatorerweiterung (IDE von identifier extension), ein Reservebit (r0), einen Datenlängencode (DLC von data length code) mit 4 Bit, bis zu 64 Bit Daten (DATA), eine zyklische Redundanzprüfung (CDC von cyclic redundancy check) mit 16 Bit, eine Bestätigung (ACK von acknowledgement) mit 2 Bit, ein Frame-Ende (EOF von end-of-frame) mit 7 Bit und einen Zwischen-Frame-Raum (IFS von interframe space) mit 3 Bit umfasst. Eine CAN-Nachricht kann beschädigt sein, wobei bekannte Störungen Füllstörungen, Formstörungen, ACK-Störungen, Bit-1-Störungen, Bit-0-Störungen und CRC-Störungen umfassen. Die Störungen werden verwendet, um einen Störungswarnungsstatus zu erzeugen, der einen Störung-Aktiv-Status oder einen Störung-Passiv-Status oder einen Bus-Aus-Störungsstatus umfasst. Der Störung-Aktiv-Status, der Störung-Passiv-Status und der Bus-Aus-Störungsstatus werden auf der Grundlage einer zunehmenden Menge an detektierten Busstörungs-Frames, d.h. eines sich erhöhenden Bus-Störungszählwerts, zugeordnet. Bekannte CAN-Busprotokolle umfassen das Bereitstellen einer Netzweitendatenkonsistenz, was zu einer Globalisierung von lokalen Störungen führen kann. Dies ermöglicht einem fehlerhaften, nicht stillstehenden Controller, eine Nachricht an dem CAN-Bus 15 zu beschädigen, die von einem anderen der Controller stammt. Ein fehlerhafter, nicht stillstehender Controller wird hierin als aktiver Controller mit Fehler bezeichnet. Wenn einem der Controller der Bus-Aus-Störungsstatus zugeordnet wird, wird ihm für eine Zeitdauer verboten, an dem CAN-Bus zu kommunizieren. Dies umfasst, dass dem betroffenen Controller verboten wird, Nachrichten zu empfangen und Nachrichten zu übertragen, bis ein Rücksetzereignis stattfindet, was nach einer Zeitdauer, wenn der Controller inaktiv ist, stattfinden kann. Somit wird einem aktiven Controller mit Fehler, wenn ihm der Bus-Aus-Störungszustand zugeordnet ist, für eine Zeitdauer verboten, an dem CAN-Bus zu kommunizieren, und er kann während der Zeitdauer keine anderen Nachrichten an dem CAN-Bus beschädigen, wenn er inaktiv ist.Each of the controllers 10 , 20th , 30th and 40 transmits and receives messages via the CAN 50 via the CAN bus 15th , with message transfer rates for different ones of the controllers with different periods. A CAN message has a known, predetermined format that includes, for example, a frame start (SOF from start of frame), an identifier (11-bit identifier), a single remote transmission request (RTR), a dominant single one Identifier extension (IDE from identifier extension), a reserve bit (r0), a data length code (DLC from data length code) with 4 bits, up to 64 bits of data (DATA), a cyclic redundancy check (CDC from cyclic redundancy check) with 16 bits, an acknowledgment (ACK of acknowledgment) with 2 bits, a frame end (EOF of end-of-frame) with 7 bits and an interframe space (IFS of interframe space) with 3 bits. A CAN message can be damaged, known faults including fill faults, shape faults, ACK faults, bit 1 faults, bit 0 faults and CRC faults. The faults are used to generate a fault warning status comprising a fault active status or a fault passive status or a bus off fault status. The fault active status, the fault passive status and the bus off fault status are assigned on the basis of an increasing number of detected bus fault frames, ie an increasing bus fault count. Known CAN bus protocols include the provision of network-wide data consistency, which can lead to a globalization of local disturbances. This enables a faulty controller that is not standing still to send a message to the CAN bus 15th damage that came from another of the controllers. A faulty controller that is not idle is referred to herein as an active controller with a fault. If one of the controllers is assigned the bus-off fault status, it is prohibited from communicating on the CAN bus for a period of time. This includes prohibiting the affected controller from receiving messages and transmitting messages until a reset event occurs, which can occur after a period of time when the controller is inactive. Thus, an active controller with a fault, if it is assigned the bus-off fault condition, is forbidden from communicating on the CAN bus for a period of time, and it cannot damage any other messages on the CAN bus during the period of time if it is inactive.
2 zeigt schematisch ein integriertes Controller Area Network 250, das dem in Bezug auf 1 gezeigten CAN 50 ähnlich ist und einen CAN-Bus 215 mit zwei Leitungen, der die Kabel CAN+ 201 und CAN- 203 umfasst, und mehrere Knoten, z.B. die Controller 210, 220, 230 und 240, umfasst. Wie gezeigt ist der Controller 240 ein Überwachungscontroller. Ein Leitungsunterbrechungsfehler bei einem der Kabel, z.B. ein Leitungsunterbrechungsfehler bei CAN+ 201 zwischen Controller 210 und 220, unterbricht die Buskommunikationen von Controller 210 an die Controller 220, 230 und 240. Dies kann bewirken, dass sich die Controller 220, 230 und 240 in einen Bus-Aus-Zustand begeben und als inaktive Knoten detektiert werden. 2 shows schematically an integrated controller area network 250 that related to 1 shown CAN 50 is similar and a CAN bus 215 with two wires that connect the CAN + cables 201 and CAN 203 includes, and several nodes, e.g. the controller 210 , 220 , 230 and 240 , includes. As shown is the controller 240 a supervisory controller. A line break fault on one of the cables, e.g. a line break fault on CAN + 201 between controller 210 and 220 , interrupts the bus communications from the controller 210 to the controller 220 , 230 and 240 . This can cause the controllers 220 , 230 and 240 put in a bus-off state and detected as an inactive node.
Ein CAN-Fehler ist eine Fehlfunktion, die zu einer verlorenen oder beschädigten Nachricht an dem CAN-Bus führt, wodurch Kommunikationen zwischen Controllern in dem CAN unterbrochen werden. Ein CAN-Fehler kann durch eine unterbrochene Kommunikationsverbindung, eine unterbrochene Leistungsverbindung, eine unterbrochene Masseverbindung, einen Kommunikationsverbindung-Leistung- oder -Masse-Kurzschluss, einen Leistung-Masse-Kurzschluss oder einen Fehler bei einem Controller verursacht werden. Ein Fehler kann ortsspezifisch sein. Ein Kommunikationsfehler kann das Ergebnis eines Fehlers bei einem der Controller, eines Fehlers bei einer der Kommunikationsverbindungen des CAN-Busses, eines Fehlers bei einer der Leistungsverbindungen des Leistungsnetzes oder eines Fehlers bei einer der Masseverbindungen des Massenetzes sein. Es können Topologiediagramme entwickelt werden, die eine Kommunikationstopologie, eine Leistungstopologie und eine Massetopologie umfassen. Es wird eine Erreichbarkeitsanalyse für jedes der Topologiediagramme mit entfernter Verbindungsunterbrechung durchgeführt. Eine Ausführungsform einer Erreichbarkeitsanalyse eines Topologiediagramms wird in Bezug auf 6 beschrieben.A CAN fault is a malfunction that results in a lost or damaged message on the CAN bus, thereby interrupting communications between controllers in the CAN. A CAN error can be caused by an interrupted communication connection, an interrupted power connection, an interrupted ground connection, a communication connection-power or ground short-circuit, a power-ground short-circuit or a fault in a controller. An error can be site-specific. A communication error can be the result of an error in one of the controllers, an error in one of the communication connections of the CAN bus, an error in one of the power connections of the power network or an error in one of the ground connections of the ground network. Topology diagrams can be developed that include a communication topology, a power topology, and a ground topology. A reachability analysis is carried out for each of the topology diagrams with remote connection interruption. One embodiment of a reachability analysis of a topology diagram is described with respect to FIG 6th described.
Ein kurz dauernder CAN-Fehler ist als jegliche Fehlfunktion kurzer Dauer definiert, die einen temporären Fehler bewirkt, was zu einer verlorenen oder beschädigten Nachricht an dem CAN-Bus führt. Die Fehlfunktion mit kurzer Dauer hält für eine kurze Zeitdauer, z.B. weniger als eine Sekunde, an und kann selbstkorrigierend sein. Ein intermittierender CAN-Fehler ist als kurz dauernder CAN-Fehler definiert, der zumindest zwei Mal innerhalb eines vordefinierten Zeitfensters auftritt, welches bei einer Ausführungsform zehn Sekunden umfassen kann. Ein transienter CAN-Fehler ist als kurz dauernder Fehler definiert, der innerhalb des vordefinierten Zeitfensters nur einmal auftritt.A short duration CAN error is defined as any short duration malfunction that causes a temporary error, resulting in a lost or damaged message on the CAN bus. The short duration malfunction lasts for a short period of time, for example less than a second, and can be self correcting. An intermittent CAN error is defined as a brief CAN error that occurs at least twice within a predefined time window, which in one embodiment is ten Seconds. A transient CAN error is defined as a short-term error that occurs only once within the predefined time window.
Das Detektieren und Ausfindigmachen eines intermittierenden CAN-Fehlers umfasst bei einer Ausführungsform eines Controller Area Network (CAN) das periodische Identifizieren jedes der Controller entweder als aktiv oder als inaktiv, indem Kommunikationen und eine Nachrichtenübertragung an dem CAN-Bus überwacht werden. Während des laufenden Betriebs können mehrere kurz dauernde CAN-Fehler detektiert werden, was umfasst, dass mehrere kurz dauernde CAN-Fehler innerhalb des vordefinierten Zeitfensters, z.B. innerhalb eines Zeitfensters von zehn Sekunden, auftreten. Vorzugsweise wird für jeden der kurz dauernden CAN-Fehler in dem vordefinierten Zeitfenster ein Controllerfehlersatz identifiziert, der einen oder mehrere inaktive Controller umfasst. Wenn mehr als ein kurz dauernder CAN-Fehler in dem vordefinierten Zeitfenster auftritt, wird der kurz dauernde CAN-Fehler als intermittierend betrachtet. Die Controllerfehlersätze, die die identifizierten inaktiven Controller für jeden der kurz dauernden CAN-Fehler umfassen, werden einer Filterung unterzogen, was eine Fehlersatzintegration, eine Fehlersatzüberschneidungsanalyse oder eine andere geeignete analytische Technik umfassen kann, die einen oder mehrere inaktive Controller identifiziert, die allen Controllerfehlersätzen gemein sind. Der identifizierte eine oder die identifizierten mehreren der inaktiven Controller, der/die allen Controllerfehlersätzen gemein ist/sind, kann/können bei der Erreichbarkeitsanalyse eines Kommunikationstopologiediagramms eingesetzt werden, um den intermittierenden Fehler in dem CAN zu detektieren, ausfindig zu machen und zu isolieren.Detecting and locating an intermittent CAN fault in one embodiment of a controller area network (CAN) includes periodically identifying each of the controllers as either active or inactive by monitoring communications and messaging on the CAN bus. Several short CAN errors can be detected during ongoing operation, which means that several short CAN errors occur within the predefined time window, e.g. within a time window of ten seconds. For each of the short-term CAN errors in the predefined time window, a controller error set is preferably identified, which includes one or more inactive controllers. If more than one brief CAN error occurs in the predefined time window, the brief CAN error is considered to be intermittent. The controller error sets, which include the identified inactive controllers for each of the short-term CAN errors, are subjected to filtering, which may include error set integration, error set overlap analysis or other suitable analytical technique that identifies one or more inactive controllers that all controller error sets have in common are. The identified one or more of the inactive controllers, which is / are common to all controller fault sets, can be used in the reachability analysis of a communication topology diagram in order to detect, locate and isolate the intermittent fault in the CAN.
3 zeigt schematisch eine beispielhafte CAN-Überwachungsroutine 300 zum Detektieren und Isolieren eines intermittierenden Kommunikationsfehlers in einem CAN. Tabelle 1 wird als Legende zu Routine 300 von 3 bereitgestellt, wobei die numerisch bezeichneten Kasten und die entsprechenden Funktionen wie folgt ausgeführt werden.
Tabelle 1 KASTEN KASTENINHALTE
302 Start
304 Setze int_timer = int_timer - 1 wenn nicht Null Setze busoff timer = busoff timer - 1 wenn nicht Null
306 Rufe Controller-Aktiv-Kontrollroutine auf
308 Sind irgendwelche der Controller inaktiv, d.h. ist Inactive[i] = 1 für irgendeinen Controller[i]?
310 Ist fflag = 1?
312 Setze Fehler-Flag: fflag = 1 Setze busoff timer zurück Setze aktiven Controller auf unbekannten Status zurück Speichere aktuelle Fehlerinformation
314 Aktualisiere Fehlerinformation der Vergangenheit Aktualisiere aktuelle Fehlerinformation
320 Ist fflag = 1?
322 Setze fflag = 0
324 Ist int_timer = 0?
326 Setze Fehlerzählwert zurück (fcount =0) Setze integrierte Fehlerinformation zurück
328 Ist busoff_timer = 0?UND Ist int inactive[i][M] =1 für einen Controllerfi]?
330 Aktualisiere Fehlerzählwert Setze Zwischenankunfts-Timer zurück Führe Datenfilterung durch und aktualisiere integrierte Fehlerinformation
332 Ist fcount = COUNT_TO_REPORT_FAULT?
334 Berichte integrierte Fehlerinformation für Diagnose
340 Ende
3 shows schematically an exemplary CAN monitoring routine 300 for detecting and isolating an intermittent communication error in a CAN. Table 1 becomes routine as a legend 300 of 3 where the numerically labeled boxes and corresponding functions are performed as follows. Table 1 BOX BOX CONTENTS
302 begin
304 Set int_timer = int_timer - 1 if not zero. Set busoff timer = busoff timer - 1 if not zero
306 Call the controller active control routine
308 Are any of the controllers inactive, ie is Inactive [i] = 1 for any controller [i]?
310 Is fflag = 1?
312 Set error flag: fflag = 1 Reset busoff timer Reset active controller to unknown status Save current error information
314 Update past error information. Update current error information
320 Is fflag = 1?
322 Set fflag = 0
324 Is int_timer = 0?
326 Reset error count value (fcount = 0) Reset integrated error information
328 Is busoff_timer = 0? AND Is int inactive [i] [M] = 1 for a controllerfi]?
330 Update error count. Reset inter-arrival timer. Perform data filtering and update built-in error information
332 Is fcount = COUNT_TO_REPORT_FAULT?
334 Reports built-in error information for diagnosis
340 end
Die der Ausführung der CAN-Überwachungsroutine 300 zugehörigen kalibrierbaren Parameter umfassen die folgenden:
- Td, was das Ausführungsintervall der CAN-Überwachungsroutine 300 ist und ein kalibrierbarer Wert mit einem Voreinstellungswert von 50 ms ist;
- N, was die Gesamtmenge an Controllern in dem CAN ist;
- BUSOFF_RECOVERY_TIME, was eine kalibrierbare Menge an Ausführungszyklen der CAN-Überwachungsroutine 300 ist, die eine verstrichene Zeit für eine Wiederherstellung von Kommunikationen angibt;
- INTER_ARRIVAL_TIME, was eine kalibrierbare Schwellenwertmenge von Zyklen der CAN-Überwachungsroutine 300 ist, die eine verstrichene Zeit zwischen zwei kurz dauernden Fehlern angibt. Wenn die verstrichene Zeit zwischen den beiden kurz dauernden Fehlern kleiner als INTER_ARRIVAL_TIME ist, werden die kurz dauernden Fehler als intermittierende Fehler betrachtet. Wenn die verstrichene Zeit zwischen den beiden kurz dauernden Fehlern größer als INTER_ARRIVAL_TIME ist, werden die kurz dauernden Fehler als transiente Fehler betrachtet, die nicht berichtet werden. Bei einer Ausführungsform wird INTER_ARRIVAL_TIME auf 10 Sekunden gesetzt; und COUNT_TO_REPORT_FAULT, was eine kalibrierbare minimale Schwellenwertmenge kurz dauernder CAN-Fehler ist, die erforderlich ist, um das Vorkommnis eines intermittierenden Fehlers zu berichten.
The execution of the CAN monitoring routine 300 Associated parameters that can be calibrated include the following: - T d , which is the execution interval of the CAN monitoring routine 300 and is a calibratable value with a default value of 50 ms;
- N, which is the total amount of controllers in the CAN;
- BUSOFF_RECOVERY_TIME, which is a calibratable number of execution cycles of the CAN monitoring routine 300 is that indicates an elapsed time for restoration of communications;
- INTER_ARRIVAL_TIME, which is a calibratable threshold amount of cycles of the CAN monitoring routine 300 which indicates an elapsed time between two short-term errors. If the elapsed time between the two short-term errors is less than INTER_ARRIVAL_TIME, the short-term errors are regarded as intermittent errors. If the elapsed time between the two brief errors is greater than INTER_ARRIVAL_TIME, the brief errors are considered transient errors and are not reported. In one embodiment, INTER_ARRIVAL_TIME is set to 10 seconds; and COUNT_TO_REPORT_FAULT, which is a calibratable minimum threshold amount of short duration CAN errors required to report the occurrence of an intermittent error.
Die Variablen, die der Ausführung der CAN-Überwachungsroutine 300 zugehörig sind, umfassen die folgenden:
- fflag, was ein Flag ist, das angibt, dass ein Fehler auftritt;
- int_timer, was ein Timer ist, der die verstrichene Zeit zwischen Vorkommnissen von zwei der kurz dauernden CAN-Fehler misst, d.h. das vordefinierte Zeitfenster;
- busoff_timer, was ein Bus-Aus-Wiederherstellungs-Timer ist;
- fcount, was eine Menge kurz dauernder CAN-Fehler ist;
- int_inactive[i][j], was den Status eines intermittierenden Fehlers für jeden Controller [i] und für M Zyklen angibt, wobei i = 1, ..., N, Menge an Controllern, und j = 1, ..., M, wobei M = BUSOFF_RECOVERY_TIME-Zyklen + 1; und
- finactive[i] ist eine integrierte Fehlerinformation für jeden Controller nach dem Ausführen einer Datenfilterung von mehreren kurz dauernden CAN-Fehlern und i = 1, ..., N, Menge an Controllern.
The variables that the execution of the CAN monitoring routine 300 include the following: - fflag, which is a flag indicating that an error is occurring;
- int_timer, which is a timer that measures the elapsed time between occurrences of two of the brief CAN errors, ie the predefined time window;
- busoff_timer, which is a bus-out recovery timer;
- fcount, which is a bunch of short-lived CAN errors;
- int_inactive [i] [j], which indicates the status of an intermittent failure for each controller [i] and for M cycles, where i = 1, ..., N, amount of controllers, and j = 1, ..., M, where M = BUSOFF_RECOVERY_TIME cycles + 1; and
- finactive [i] is an integrated error information for each controller after a data filtering of several short-term CAN errors and i = 1, ..., N, number of controllers.
Beim Einschalten werden die Variablen wie folgt initialisiert: fflag = 0, int_timer = 0; busoff_timer = 0; fcount = 0, finactive[i] = -1 für i = 1, ..., N, int_inactive[i][j] = -1 für i = 1, ..., N und j = 1, ..., M, wobei -1 einen unbekannten Status angibt.When switching on, the variables are initialized as follows: fflag = 0, int_timer = 0; busoff_timer = 0; fcount = 0, finactive [i] = -1 for i = 1, ..., N, int_inactive [i] [j] = -1 for i = 1, ..., N and j = 1, ... , M, where -1 indicates an unknown status.
Beim Starten der Ausführung der aktuellen Iteration (302) werden mehrere Operationen ausgeführt, die das Dekrementieren des Timers (int_timer), der die verstrichene Zeit zwischen den Vorkommnissen zweier Fehler misst, und das Dekrementieren des Timers (busoff_timer), der die Bus-Aus-Wiederherstellungszeit misst, umfassen (304).When starting the execution of the current iteration ( 302 ) several operations are performed including decrementing the timer (int_timer), which measures the elapsed time between the occurrences of two errors, and decrementing the timer (busoff_timer), which measures the bus-off recovery time ( 304 ).
Es wird eine Controller-Aktiv-Kontrollroutine aufgerufen, um Controller-Aktiv-Berichte für die CAN-Controller zu erhalten (306). Eine Ausführungsform einer Controller-Aktiv-Kontrollroutine ist hierin in Bezug auf 4 beschrieben.A controller active control routine is called to receive controller active reports for the CAN controllers ( 306 ). One embodiment of a controller active control routine is herein with respect to FIG 4th described.
Die Controller-Aktiv-Berichte werden ausgewertet (308), und wenn keiner der Controller inaktiv ist (Inactive[i]=1?) (308)(0), wird das Fehler-Flag ausgewertet, um zu ermitteln, ob es gesetzt wurde (fflag = 1?) (320). Wenn das Fehler-Flag nicht gesetzt wurde (320)(0), endet diese Iteration (340). Wenn das Fehler-Flag gesetzt wurde (320)(1), wird das Fehler-Flag zurückgesetzt (fflag = 0) (322). Der Timer, der die verstrichene Zeit zwischen zwei kurz dauernden Fehlern misst (int_timer), wird ausgewertet (324), um zu ermitteln, ob er abgelaufen ist, was angibt, dass kein intermittierender Fehler aufgetreten ist. Wenn der Timer, der die verstrichene Zeit zwischen zwei kurz dauernden Fehlern misst (int_timer), abgelaufen ist (324)(1), wird der Fehlerzählwert zurückgesetzt (fcount = 0) und wird die integrierte Fehlerinformation zurückgesetzt, um anzugeben, dass der Fehlerstatus aller Controller unbekannt ist (finactive[i] = -1 für i = 1, ..., N) (326). Wenn der Timer, der die verstrichene Zeit zwischen zwei kurz dauernden Fehlern misst (int_timer), nicht abgelaufen ist (324)(0), werden die Aktionen von Schritt 326 übersprungen.The controller active reports are evaluated ( 308 ), and if none of the controllers is inactive (Inactive [i] = 1?) ( 308 ) (0), the error flag is evaluated to determine whether it was set (fflag = 1?) ( 320 ). If the error flag was not set ( 320 ) (0), this iteration ends ( 340 ). If the error flag has been set ( 320 ) (1), the error flag is reset (fflag = 0) ( 322 ). The timer, which measures the elapsed time between two short-term errors (int_timer), is evaluated ( 324 ) to see if it has expired, indicating that no intermittent error has occurred. When the timer that measures the time elapsed between two brief errors (int_timer) has expired ( 324 ) (1), the error count is reset (fcount = 0) and the integrated error information is reset to indicate that the error status of all controllers is unknown (finactive [i] = -1 for i = 1, ..., N) ( 326 ). If the timer that measures the time elapsed between two brief errors (int_timer) has not expired ( 324 ) (0), the actions are from step 326 skipped.
Der Bus-Aus-Wiederherstellungs-Timer und der Status eines intermittierenden Fehlers werden für jeden Controller[i] für M Zyklen ausgewertet (328). Wenn entweder der Bus-Aus-Wiederherstellungs-Timer nicht abgelaufen ist (busoff_timer ≠ 0) oder es dem Status eines intermittierenden Fehlers für alle Controller für den M-ten Zyklus nicht gelingt, einen Fehler in irgendeinem der Controller anzugeben (int_inactive[i][M]=0) (328)(0), endet diese Iteration (340). Wenn der Bus-Aus-Wiederherstellungs-Timer abgelaufen ist (busoff_timer = 0) und der Status eines intermittierenden Fehlers einen Fehler für einen oder mehrere der Controller für den M-ten Zyklus angibt (int_inactive[i][M]=1) (328)(1), fährt der Betrieb mit den folgenden Aktionen fort, die umfassen, dass der Fehlerzählwert aktualisiert wird (fcount = fcount + 1), der Zwischenankunfts-Timer zurückgesetzt wird (int_timer = INTER_ARRIVAL_TIME) und eine Datenfilterung durchgeführt wird und jegliche integrierte Fehlerinformation aktualisiert wird (330).The bus-off recovery timer and the status of an intermittent error are evaluated for each controller [i] for M cycles ( 328 ). If either the bus-off recovery timer has not expired (busoff_timer ≠ 0) or the status of an intermittent error for all controllers for the M-th cycle fails to indicate an error in any of the controllers (int_inactive [i] [M] = 0) ( 328 ) (0), this iteration ends ( 340 ). If the bus-off recovery timer has expired (busoff_timer = 0) and the status of an intermittent error indicates an error for one or more of the controllers for the M-th cycle (int_inactive [i] [M] = 1) ( 328 ) (1), operation continues with the following actions which include updating the error count value (fcount = fcount + 1), resetting the inter-arrival timer (int_timer = INTER_ARRIVAL_TIME) and performing data filtering and any built-in error information is updated ( 330 ).
Das Durchführen einer Datenfilterung und das Aktualisieren der integrierten Fehlerinformation für jeden Controller von mehreren intermittierenden Fehlern umfasst folgendes:
- für i = 1 bis N,
- wenn int_inactive[i][M]=0
- dann finactive[i]=0,
- ansonsten wenn int_inactive[i][M]=1 und finactive[i]= -1
- dann finactive[i]=1.
Performing data filtering and updating the built-in fault information for each controller from multiple intermittent faults includes the following: - for i = 1 to N,
- if int_inactive [i] [M] = 0
- then finactive [i] = 0,
- otherwise if int_inactive [i] [M] = 1 and finactive [i] = -1
- then finactive [i] = 1.
Der Fehlerzählwert (fcount) wird ausgewertet, und wenn er gleich einem minimalen Fehlerzählwert ist (fcount = COUNT_TO_REPORT_FAULT) (332)(1), berichtet das System die integrierte Fehlerinformation für eine Diagnose unter Verwendung der Topologiedaten (Berichte (finactive[i], i = 1, ..., N) (334), und diese Iteration endet (340). Wenn der Fehlerzählwert kleiner als ein minimaler Fehlerzählwert, d.h. kleiner als COUNT_TO_REPORT_FAULT ist (332)(0), endet diese Iteration ohne weitere Aktion (340).The error count value (fcount) is evaluated, and if it is equal to a minimum error count value (fcount = COUNT_TO_REPORT_FAULT) ( 332 ) (1), the system reports the integrated error information for a diagnosis using the topology data (reports (finactive [i], i = 1, ..., N) ( 334 ), and this iteration ends ( 340 ). If the error count is less than a minimum error count, i.e. less than COUNT_TO_REPORT_FAULT ( 332 ) (0), this iteration ends without further action ( 340 ).
Wenn irgendeiner oder mehrere der Controller inaktiv ist oder sind (Inactive[i]=1) (308)(1), wird das Fehler-Flag ausgewertet, um zu ermitteln, ob es gesetzt wurde (fflag = 1?) (310). Wenn das Fehler-Flag nicht gesetzt wurde (310)(0), wird das Fehler-Flag gesetzt (fflag = 1), wird der Bus-Aus-Timer zurückgesetzt (busoff_timer = BUSOFF_RECOVERY_TIME), werden jegliche aktiven Controller auf den unbekannten Status zurückgesetzt (für i=1 bis N, inactive[i]= -1, wenn inactive[i]=0), und wird die Fehlerinformation des aktuellen Zyklus gespeichert (für i=1 bis N, wenn inactive[i] = 1, dann int_inactive[i][1]=1, ansonsten int_inactive[i][1] = -1) (312). Diese Iteration endet ohne weitere Aktion (340).If any one or more of the controllers is or are inactive (Inactive [i] = 1) ( 308 ) (1), the error flag is evaluated to determine whether it has been set (fflag = 1?) ( 310 ). If the error flag was not set ( 310 ) (0), if the error flag is set (fflag = 1), if the bus off timer is reset (busoff_timer = BUSOFF_RECOVERY_TIME), all active controllers are reset to the unknown status (for i = 1 to N, inactive [ i] = -1, if inactive [i] = 0), and the error information of the current cycle is saved (for i = 1 to N, if inactive [i] = 1, then int_inactive [i] [1] = 1, otherwise int_inactive [i] [1] = -1) ( 312 ). This iteration ends without further action ( 340 ).
Wenn das Fehler-Flag gesetzt wurde (310)(1), wird die erste Fehlerinformation der Vergangenheit aktualisiert (für i=1 bis N, j=M bis 2, int_inactive[i][j] = int_inactive[i][j-1]) und wird die aktuelle Fehlerinformation gespeichert (wenn inactive[i]=0, dann int_inactive[i][1]=0, ansonsten, wenn inactive[i]=1 und int_inactive[i][1]= -1, dann int_inactive[i][1]=1) (314). Die aktuelle Fehlerinformation und die Fehlerinformation der Vergangenheit sind Fehlersätze, die einen aktuellen inaktiven Controller/aktuelle inaktive Controller bzw. einen inaktiven Controller/inaktive Controller der Vergangenheit angeben. Diese Iteration endet ohne weitere Aktion (340).If the error flag has been set ( 310 ) (1), the first error information from the past is updated (for i = 1 to N, j = M to 2, int_inactive [i] [j] = int_inactive [i] [j-1]) and the current error information is saved (if inactive [i] = 0, then int_inactive [i] [1] = 0, otherwise, if inactive [i] = 1 and int_inactive [i] [1] = -1, then int_inactive [i] [1] = 1) ( 314 ). The current error information and the error information of the past are error records which indicate a current inactive controller / current inactive controller or an inactive controller / inactive controller of the past. This iteration ends without further action ( 340 ).
4 zeigt schematisch die Controller-Aktiv-Kontrollroutine 400 zum Überwachen des Controllerstatus, was umfasst, dass detektiert wird, ob einer der Controller, die mit dem CAN-Bus verbunden sind, inaktiv ist. Die Controller-Aktiv-Kontrollroutine 400 wird ausgeführt, um auf der Grundlage des Überwachens von Kommunikationen, die von den Controllern in dem CAN stammen, Controller-Aktiv-Berichte zu erhalten. Die Controller-Aktiv-Kontrollroutine 400 wird periodisch durch die CAN-Überwachungsroutine 300 aufgerufen. Tabelle 2 wird als Legende für die Controller-Aktiv-Kontrollroutine 400 von 4 bereitgestellt, wobei die numerisch bezeichneten Kasten und die entsprechenden Funktionen wie folgt ausgeführt werden.
Tabelle 2 KASTEN KASTENINHALTE
402 Initialisiere Terme
404 Setze T[i] = T[i] - 1 wenn T[i] > 0 für jeden Controller[i]
406 Frage Controller ab - wurde eine neue Nachricht von Controller[i] empfangen?
408 Setze Inactive[i] = 0 Setze T[i] = Th[i] zurück
410 Ist T[i] = 0 für irgendeinen Controller[i]?
412 Setze inactive[i] = 1 für alle Controller[i]
415 Gib inactive[i] = 1 für alle Controller[i] zurück
4th shows schematically the controller active control routine 400 for monitoring the controller status, which includes detecting whether any of the controllers connected to the CAN bus is inactive. The controller active control routine 400 is executed to obtain controller active reports based on monitoring communications originating from the controllers in the CAN. The controller active control routine 400 is periodically carried out by the CAN monitoring routine 300 called. Table 2 is used as a legend for the controller active control routine 400 of 4th where the numerically labeled boxes and corresponding functions are performed as follows. Table 2 BOX BOX CONTENTS
402 Initialize terms
404 Set T [i] = T [i] - 1 if T [i]> 0 for each controller [i]
406 Query controller - was a new message received from controller [i]?
408 Set Inactive [i] = 0 Reset T [i] = Th [i]
410 Is T [i] = 0 for some controller [i]?
412 Set inactive [i] = 1 for all controllers [i]
415 Return inactive [i] = 1 for all controllers [i]
Die Parameter umfassen folgende:
- i bezeichnet einen spezifischen Controller[i], wobei i = 1, ...., N,
- N ist die Gesamtanzahl an Controllern in dem CAN; und
- Th[i] ist der Zeitüberschreitungswert für eine Aktiv-Kontrolle der Controller[i], der durch die Anzahl von Zyklen der CAN-Überwachungsroutine 300 gemessen wird und kalibrierbar ist.
The parameters include the following: - i denotes a specific controller [i], where i = 1, ...., N,
- N is the total number of controllers in the CAN; and
- Th [i] is the timeout value for active control of the controller [i], which is determined by the number of cycles of the CAN monitoring routine 300 is measured and can be calibrated.
Die Variablen umfassen die folgenden:
- T[i] ist ein Timer für die Aktiv-Kontrolle von Controller[i]; und
- inactive[i] gibt einen interaktiven Status von Controller[i] an, wo bei i=1, ..., N.
The variables include the following: - T [i] is a timer for the active control of controller [i]; and
- inactive [i] indicates an interactive status of controller [i], where i = 1, ..., N.
Bei der ersten Ausführung der Controller-Aktiv-Kontrollroutine 400 (402) in jedem Zündzyklus wird ein Zeitüberschreitungswert Ti für die Aktiv-Kontrolle der Controller gemäß T[i] = Th[i], inactive[i]= -1, wobei -1 einen unbekannten Status darstellt und i=1, ..., N, initialisiert. Somit werden die Controller zu Beginn der ersten Ausführung dieser Routine in jedem Zündzyklus weder als sich in dem aktiven Zustand noch in dem inaktiven Zustand befindend bezeichnet.When executing the controller active control routine for the first time 400 ( 402 ) in each ignition cycle a timeout value Ti for the active control of the controller according to T [i] = Th [i], inactive [i] = -1, where -1 represents an unknown status and i = 1, ..., N, initialized. Thus, at the beginning of the first execution of this routine in each ignition cycle, the controllers are not designated as being in the active state or in the inactive state.
Der Zeitüberschreitungswert T[i] wird um 1 dekrementiert, d.h. T[i] = T[i]-1, wenn T[i] für einen der Controller größer als Null ist (404), und das System führt eine Überwachung durch, um zu ermitteln, ob irgendeine neue Nachricht von irgendeinem der Controller empfangen wurde (406). Wenn dies der Fall ist (406)(1), wird das Inaktiv-Flag inactive[i] für den spezifischen Controller[i], von dem eine Nachricht empfangen wurde, zurückgesetzt (=0) und wird der Zeitüberschreitungswert T[i] mit Th[i] neu initialisiert (408). Ferner, oder wenn keine neue Nachricht von irgendeinem der Controller empfangen wurde (406)(0), wird der Zeitüberschreitungswert T[i] ausgewertet, um zu ermitteln, ob er für irgendeinen der Controller einen Wert von Null erreicht hat (410), und wenn dies der Fall ist (410)(1), wird das Inaktiv-Flag Inactive[i] für jeden spezifischen Controller, von dem keine Nachricht empfangen wurde, gesetzt (=1) (412). Wenn dies nicht der Fall ist (410)(0), endet diese Iteration, wobei die an die Kenn-Überwachungsroutine 300 zurückgegebenen Ergebnisse angeben, welcher der mit dem CAN-Bus verbundenen spezifischen Controller, falls es einen gibt, inaktiv ist (inactive[i] für alle Controller[i]) (415).The timeout value T [i] is decremented by 1, i.e. T [i] = T [i] -1 if T [i] is greater than zero for one of the controllers ( 404 ), and the system monitors to see if any new message has been received from any of the controllers ( 406 ). If this is the case ( 406 ) (1), the inactive flag inactive [i] for the specific controller [i] from which a message was received is reset (= 0) and the timeout value T [i] is reinitialized with Th [i] ( 408 ). Furthermore, or if no new message has been received from any of the controllers ( 406 ) (0), the timeout value T [i] is evaluated to determine whether it has reached a value of zero for any of the controllers ( 410 ), and if so ( 410 ) (1), the inactive flag Inactive [i] is set for each specific controller from which no message was received (= 1) ( 412 ). If not ( 410 ) (0), this iteration ends, passing to the identification monitoring routine 300 The returned results indicate which of the specific controllers connected to the CAN bus, if there is one, is inactive (inactive [i] for all controllers [i]) ( 415 ).
5, die aus den 5-1 und 5-2 besteht, zeigt schematisch eine Zeitachse 500, die für mehrere CAN-Elemente, die die Controller 502, 504 und 506 umfassen, den Controllerstatus, d.h. aktiv oder inaktiv, in Relation zur Zeit angibt. Die Zeitachse 500 zeigt den Betrieb der CAN-Überwachungsroutine 300, was den Controllerstatus aktiv (1) und inaktiv (0) für jeden der Controller 502, 504 und 506 umfasst. Der Betrieb eines Überwachungscontrollers ist nicht gezeigt. Die Controller 502, 504 und 506 sind zu Beginn eines ersten Fehlerdetektionsfensters aktiv (1), wie es zu Zeitpunkt 512 gezeigt ist. Zu Zeitpunkt 513 tritt ein erster Fehler auf. Der Ort des ersten Fehlers ist für einen Überwachungscontroller unbekannt, ist jedoch zu Erläuterungszwecken als unterbrochene Leitung an der positiven Leitung (CAN+) zwischen den Controllern 502 und 504 gezeigt. Zu Zeitpunkt 514 wird Controller 504 aufgrund der durch den ersten Fehler verursachten Störung der Bus-Aus-Störungszustand zugeordnet und er begibt sich in einen Bus-Aus-Wiederherstellungsmodus und wechselt zu dem inaktiven (0) Status. Das erste Fehlerdetektionsfenster endet zu Zeitpunkt 516, und beide Controller 502 und 504 sind aufgrund der durch den Fehler verursachten Störung inaktiv (0). Controller 506 bleibt aktiv (1). Während eines zweiten Fehlerdetektionsfensters wird die unterbrochene Leitung an der positiven Leitung (+) zwischen Controller 502 und 504 zu Zeitpunkt 517 wieder verbunden, wodurch das Vorkommnis des ersten Fehlers endet. Das zweite Fehlerdetektionsfenster endet zu Zeitpunkt 518, wobei der Controller 502 zu diesem Zeitpunkt aktiv (1) wird. Aufgrund der Operation des Bus-Aus-Wiederherstellungsmodus bleibt der Controller 504 inaktiv (0). Der Controller 506 bleibt unverändert und aktiv (1). 5 that from the 5-1 and 5-2 exists, shows schematically a time axis 500 that for several CAN elements that control the controller 502 , 504 and 506 indicate the controller status, ie active or inactive, in relation to the time. The timeline 500 shows the operation of the CAN monitoring routine 300 what the controller status is active (1) and inactive (0) for each of the controllers 502 , 504 and 506 includes. The operation of a supervisory controller is not shown. The controllers 502 , 504 and 506 are active at the beginning of a first fault detection window (1), as it was at point in time 512 is shown. At the time 513 a first error occurs. The location of the first error is unknown to a monitoring controller, but for explanatory purposes it is shown as an interrupted line on the positive line (CAN +) between the controllers 502 and 504 shown. At the time 514 becomes controller 504 assigned to the out-of-bus fault state due to the fault caused by the first fault, and it goes into a out-of-bus recovery mode and changes to the inactive (0) status. The first fault detection window ends at this point in time 516 , and both controllers 502 and 504 are inactive (0) due to the malfunction caused by the error. Controller 506 remains active (1). During a second fault detection window, the broken line on the positive line (+) between the controller 502 and 504 at the time 517 reconnected, thereby ending the occurrence of the first failure. The second fault detection window ends at this point in time 518 , where the controller 502 becomes active at this point in time (1). Due to the operation of the bus-out recovery mode, the controller remains 504 inactive (0). The controller 506 remains unchanged and active (1).
Die nachfolgenden Fehlerdetektionsfenster finden zwischen den Zeitpunkten 518 und 520 ohne Änderung des Status für die Controller 502, 504 und 506 statt. Zu Zeitpunkt 522 läuft die Bus-Aus-Wiederherstellungszeit ab, und der Controller 504 wird aktiv (1), wodurch das Vorhandensein eines ersten kurz dauernden Fehlers angegeben wird. Zwischen den Zeitpunkten 522 und 524 tritt eine Abfrageverzögerung auf, die erfolgt, wenn das aktuelle Fehlerdetektionsfenster endet. Der Überwachungscontroller identifiziert die inaktiven Controller, die dem ersten kurz dauernden Fehler zugehörig sind, indem die Controller identifiziert werden, die am Ende eines Fehlerdetektionsfensters inaktiv sind, das zu Beginn der Bus-Aus-Wiederherstellungszeit stattfindet, und zwar unter Berücksichtigung der Abfrageverzögerung. Somit sind die dem ersten kurz dauernden Fehler zugehörigen inaktiven Controller die Controller, die zu Zeitpunkt 516 inaktiv sind, wie es gezeigt ist. The following error detection windows take place between the points in time 518 and 520 without changing the status for the controllers 502 , 504 and 506 instead of. At the time 522 the bus-out recovery time expires, and the controller 504 becomes active (1), which indicates the existence of a first short-term error. Between the points in time 522 and 524 there is an interrogation delay that occurs when the current error detection window ends. The supervisory controller identifies the inactive controllers associated with the first short-term fault by identifying the controllers that are inactive at the end of a fault detection window that occurs at the beginning of the bus-out recovery time, taking into account the polling delay. Thus, the inactive controllers associated with the first short-term error are the controllers that at the time 516 are inactive as shown.
Zu Zeitpunkt 524 sind die Controller 502, 504 und 506 alle aktiv und bleiben über Zeitpunkt 526 aktiv.At the time 524 are the controllers 502 , 504 and 506 all active and stay over time 526 active.
Zu Zeitpunkt 527 tritt ein zweiter Fehler auf. Eine Differenz zwischen Zeitpunkt 527 und Zeitpunkt 513 liefert eine verstrichene Zeit zwischen zwei kurz dauernden Fehlern (int_timer), welche ausgewertet wird und das Vorkommnis eines intermittierenden Fehlers angibt. Der Ort des Fehlers ist für einen Überwachungscontroller unbekannt, umfasst jedoch zu Erläuterungszwecken wieder eine unterbrochene Leitung an der positiven Leitung (CAN+) zwischen den Controllern 502 und 504. Zu Zeitpunkt 528 wird Controller 506 der Bus-Aus-Störungszustand zugeordnet, wechselt er in den inaktiven (0) Status und begibt er sich in den Bus-Aus-Wiederherstellungsmodus, und zwar aufgrund der durch den Fehler verursachten Störung. Dieses Fehlerdetektionsfenster endet zu Zeitpunkt 530, und beide Controller 502 und 506 sind aufgrund der durch den Fehler verursachten Störung inaktiv (0). Der Controller 504 bleibt aktiv (1). Während eines nachfolgenden Fehlerdetektionsfensters wird die unterbrochene Leitung bei der positiven Leitung (CAN+) zwischen den Controllern 502 und 504 zu Zeitpunkt 531 wieder verbunden, wodurch das Vorkommnis des Fehlers endet. Das nachfolgende Fehlerdetektionsfenster endet zu Zeitpunkt 532, wobei der Controller 502 zu diesem Zeitpunkt aktiv wird (1). Controller 506 bleibt aufgrund der Operation des Bus-Aus-Wiederherstellungsmodus inaktiv (0). Controller 504 bleibt unverändert und aktiv (1).At the time 527 a second error occurs. A difference between point in time 527 and timing 513 returns an elapsed time between two short-term errors (int_timer), which is evaluated and indicates the occurrence of an intermittent error. The location of the error is unknown to a monitoring controller, but for explanatory purposes it again includes an interrupted line on the positive line (CAN +) between the controllers 502 and 504 . At the time 528 becomes controller 506 associated with the out-of-bus fault condition, it changes to the inactive (0) state and goes into out-of-bus recovery mode due to the fault caused by the fault. This error detection window ends at this point in time 530 , and both controllers 502 and 506 are inactive (0) due to the malfunction caused by the error. The controller 504 remains active (1). During a subsequent error detection window, the interrupted line becomes the positive line (CAN +) between the controllers 502 and 504 at the time 531 reconnected, thereby ending the occurrence of the fault. The subsequent error detection window ends at this point in time 532 , where the controller 502 becomes active at this point in time (1). Controller 506 remains inactive (0) due to the bus-out recovery mode operation. Controller 504 remains unchanged and active (1).
Die nachfolgenden Fehlerdetektionsfenster finden zwischen den Zeitpunkten 532 und 534 ohne Änderung des Status für die Controller 502, 504 und 506 statt. Zu Zeitpunkt 536 läuft die Bus-Aus-Wiederherstellungszeit ab, was Controller 506 ermöglicht, den Bus-Aus-Störungszustand zu verlassen und aktiv (1) zu werden, wodurch das Vorhandensein eines zweiten kurz dauernden Fehlers angegeben wird. Zwischen den Zeitpunkten 536 und 538 findet eine Abfrageverzögerung statt, was erfolgt, wenn das aktuelle Fehlerdetektionsfenster endet. Der Überwachungscontroller identifiziert die inaktiven Controller, die dem zweiten kurz dauernden Fehler zugehörig sind, indem die Controller identifiziert werden, die am Ende eines Fehlerdetektionsfensters inaktiv sind, das zu Beginn der Bus-Aus-Wiederherstellungszeit stattfindet, wobei die Abfrageverzögerung berücksichtigt wird. Somit sind die dem zweiten kurz dauernden Fehler zugehörigen inaktiven Controller die Controller, die zu Zeitpunkt 530 inaktiv sind, wie es gezeigt ist. Zu Zeitpunkt 538 sind die Controller 502, 504 und 506 alle aktiv und bleiben aktiv. Die CAN-Überwachungsroutine 300 erhält eine genaue Fehlerinformation, indem die Bus-Aus-Wiederherstellungszeit und die Abfrageverzögerung berücksichtigt werden, um den ersten Fehlersatz zu identifizieren, der die Controller 502 und 504 umfasst, die dem ersten intermittierenden Fehler zu Zeitpunkt 516 zugehörig sind, und um einen zweiten Fehlersatz zu identifizieren, der die Controller 502 und 506 umfasst, die dem zweiten intermittierenden Fehler zu Zeitpunkt 530 zugehörig sind. Die nachfolgende Filterung und Integration des ersten und zweiten Fehlersatzes identifiziert Controller 502 als den inaktiven Controller, der sowohl dem ersten als auch dem zweiten Fehlersatz gemein ist, was für eine Diagnose unter Verwendung von Topologiedaten und eine Erreichbarkeitsanalyse zum Identifizieren des Orts des intermittierenden Fehlers verwendet werden kann.The following error detection windows take place between the points in time 532 and 534 without changing the status for the controllers 502 , 504 and 506 instead of. At the time 536 the bus-out recovery time is running out, whatever controller 506 enables the bus-off fault status to be exited and to become active (1), which indicates the presence of a second short-term error. Between the points in time 536 and 538 there is an interrogation delay which occurs when the current fault detection window ends. The supervisory controller identifies the inactive controllers associated with the second short-term fault by identifying the controllers that are inactive at the end of a fault detection window that occurs at the beginning of the bus-out recovery time, taking the polling delay into account. Thus, the inactive controllers associated with the second short-term error are the controllers at the point in time 530 are inactive as shown. At the time 538 are the controllers 502 , 504 and 506 all active and remain active. The CAN monitoring routine 300 gets accurate error information by taking the bus out recovery time and polling delay into account to identify the first set of errors affecting the controllers 502 and 504 includes the time of the first intermittent fault 516 and to identify a second set of errors that the controllers 502 and 506 includes the second intermittent fault at time 530 are associated. The subsequent filtering and integration of the first and second sets of errors identifies controllers 502 as the inactive controller that is common to both the first and second sets of faults, which can be used for diagnosis using topology data and reachability analysis to identify the location of the intermittent fault.
6 zeigt eine Netztopologie für ein beispielhaftes CAN 600, die die Controller 602, 604 und 606, einen Überwachungscontroller 608, eine Leistungsversorgung 610, eine Batteriesterneinrichtung 612 und eine Masse 614 umfasst, die jeweils über eine Kommunikationsverbindung wie gezeigt verbunden sind. Der Überwachungscontroller 608 beobachtet Symptome, die verschiedene Fehlersätze angeben, wobei jeder Fehlersatz eine entsprechende Fehlersignatur aufweist, die einen Satz von inaktiven Controllern umfasst. Der Überwachungscontroller 608 kann jeden der oder alle Controller an dem Kommunikationsbus umfassen, d.h., alle Controller können ausgestaltet sein, um eine Fehlerdiagnose auszuführen, da jede Nachricht an dem CAN-Bus an einem beliebigen der und allen Controllerknoten beobachtet werden kann. 6th shows a network topology for an exemplary CAN 600 who have favourited the controller 602 , 604 and 606 , a surveillance controller 608 , a power supply 610 , a battery star device 612 and a crowd 614 which are each connected via a communication link as shown. The supervisory controller 608 observes symptoms indicating different sets of errors, each set of errors having a corresponding error signature that includes a set of inactive controllers. The supervisory controller 608 may include any or all of the controllers on the communication bus, that is, all of the controllers may be configured to perform fault diagnosis, since any message on the CAN bus can be observed at any of and all of the controller nodes.
Für die Netztopologie wird ein Fehlermodell erzeugt, das mehrere Symptome, die durch einen Überwachungscontroller für jeden mehrerer Netz- oder CAN-Fehler beobachtet werden, und einen entsprechenden Fehlersignaturvektor Vf inactive umfasst, der einen Satz von beobachteten zugehörigen inaktiven Controllern umfasst. Ein beispielhaftes Fehlermodell, das der Netztopologie von 6 zugehörig ist, umfasst folgendes in Bezug auf Tabelle 3, wobei die Netztopologie für das CAN 600 die Controller 602 [1], 604 [2] und 606 [3], den Überwachungscontroller 608 [0], die Leistungsversorgung 610 [4], die Batteriesterneinrichtung 612 [5] und die Masse 614 [6] umfasst. Das Fehlermodell wird unter Einsatz einer Erreichbarkeitsanalyse der Netztopologie abgeleitet, wobei das Symptom hervorgerufen wird und Kommunikationen überwacht werden, um zu ermitteln, welcher der Controller bei diesem Symptom inaktiv ist.
Tabelle 3 Fehlersatz Symptom Inhalte von Fehlersiqnaturvektor Vfinactive
f1 Unterbrochene Verbindung [1]-[2] [1]
Unterbrochene Verbindung [1]-[5]
Unterbrochene Verbindung [1]-[6]
[1]-Fehler
f2 Unterbrochene Verbindung [2]-[4] [2]
Unterbrochene Verbindung [2]-[6]
[2]-Fehler
f3 Unterbrochene Verbindung [3]-[5] [3]
Unterbrochene Verbindung [3]-[6]
[3]-Fehler
f4 Unterbrochene Verbindung [2]-[3] [1], [2]
f5 Unterbrochene Verbindung [4]-[5] [1], [3]
f6 Unterbrochene Verbindung [1]-[2] [1], [2], [3]
CAN-Bus-Kurzschluss
A fault model is generated for the network topology that includes multiple symptoms that are observed by a monitoring controller for each of several network or CAN faults, and a corresponding fault signature vector V f inactive that includes a set of observed associated inactive controllers. An exemplary fault model that corresponds to the network topology of 6th Associated with, includes the following in relation to Table 3, the network topology for the CAN 600 the controllers 602 [1], 604 [2] and 606 [3], the supervisory controller 608 [0], the power supply 610 [4], the battery star device 612 [5] and the crowd 614 [6] includes. The error model is created using an accessibility analysis of the network topology deriving the symptom and monitoring communications to determine which of the controllers is inactive on that symptom. Table 3 Set of errors symptom Contents of error nature vector Vf inactive
f1 Broken connection [1] - [2] [1]
Broken connection [1] - [5]
Broken connection [1] - [6]
[1] error
f2 Broken connection [2] - [4] [2]
Broken connection [2] - [6]
[2] error
f3 Broken connection [3] - [5] [3]
Broken connection [3] - [6]
[3] error
f4 Broken connection [2] - [3] [1], [2]
f5 Broken connection [4] - [5] [1], [3]
f6 Broken connection [1] - [2] [1], [2], [3]
CAN bus short circuit
Ein erster Fehlersatz f1 kann ein Symptom einer unterbrochenen Verbindung zwischen Controller 602 und Batteriesterneinrichtung 612 oder Controller 602 und Masse 614 oder Controller 602 und Controller 604 und einen Fehler bei Controller 602 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive Controller 602 als inaktiv umfasst. Ein zweiter Fehlersatz f2 kann ein Symptom einer unterbrochenen Verbindung zwischen Controller 604 und Batterie 610 oder Controller 604 und Masse 614 und einen Fehler bei Controller 604 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive Controller 604 als inaktiv umfasst. Ein dritter Fehlersatz f3 kann ein Symptom einer unterbrochenen Verbindung zwischen Controller 606 und Batteriesterneinrichtung 612 oder Controller 606 und Masse 614 und einen Fehler bei Controller 606 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive Controller 606 als inaktiv umfasst. Ein vierter Fehlersatz f4 kann ein Symptom einer unterbrochenen Verbindung zwischen Controller 604 und Controller 606 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive die Controller 602 und 604 als inaktiv umfasst. Ein fünfter Fehlersatz f5 kann ein Symptom einer unterbrochenen Verbindung zwischen Batterie 610 und Batteriesterneinrichtung 612 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive die Controller 602 und 606 als inaktiv umfasst. Ein sechster Fehlersatz f6 kann ein Symptom einer unterbrochenen Verbindung zwischen Überwachungscontroller 608 und Controller 606 umfassen, wobei ein entsprechender Fehlersignaturvektor Vf inactive die Controller 602, 604 und 606 als inaktiv umfasst. Ein anderer Fehlersignaturvektor Vf inactive kann gemäß einer spezifischen Architektur eines CAN-Systems entwickelt werden, wobei eine Erreichbarkeitsanalyse eines Topologiediagramms des CAN eingesetzt wird.A first set of errors f1 can be a symptom of a broken connection between controllers 602 and battery star device 612 or controller 602 and mass 614 or controller 602 and controller 604 and a bug with controller 602 include, with a corresponding fault signature vector V f inactive controller 602 as inactive. A second set of errors f2 can be a symptom of a broken connection between controllers 604 and battery 610 or controller 604 and mass 614 and a bug with controller 604 include, with a corresponding fault signature vector V f inactive controller 604 as inactive. A third set of errors f3 can be a symptom of an interrupted connection between controllers 606 and battery star device 612 or controller 606 and mass 614 and a bug with controller 606 include, with a corresponding fault signature vector V f inactive controller 606 as inactive. A fourth set of errors f4 can be a symptom of a broken connection between controllers 604 and controller 606 include, with a corresponding fault signature vector V f inactive the controller 602 and 604 as inactive. A fifth set of errors f5 can be a symptom of a broken connection between the battery 610 and battery star device 612 include, with a corresponding fault signature vector V f inactive the controller 602 and 606 as inactive. A sixth error record f6 can be a symptom of an interrupted connection between the monitoring controller 608 and controller 606 include, with a corresponding fault signature vector V f inactive the controller 602 , 604 and 606 as inactive. Another fault signature vector V f inactive can be developed according to a specific architecture of a CAN system, using an accessibility analysis of a topology diagram of the CAN.
Eine CAN-Überwachungsroutine kann einen Fehler isolieren, indem ein Systemmodell erzeugt wird, das einen oder mehrere Controller und/oder einen Überwachungscontroller umfasst. Jeder der Controller überträgt einen Satz von Nachrichten, die verschiedene Perioden oder Wiederholungsraten aufweisen können. Topologiediagramme wie z.B. in Bezug auf 6 gezeigt umfassen die Topologien Gbus, Gbat und Ggnd, die mit dem Kommunikationsbus, dem Leistungsbus bzw. dem Massebus in Verbindung stehen. Ein Fehlersatz F kann jeden Controllerknotenfehler, jeden Busverbindungsunterbrechungsfehler, jeden Leistungsverbindungsunterbrechungsfehler, jeden Masseverbindungsunterbrechungsfehler und andere Fehler für die Topologiediagramme umfassen. Eine Vorbetriebsanwendung erzeugt einen Fehlersignaturvektor Vf inactive,der aus einem Satz von inaktiven Controllern, die jedem Fehler f zugehörig sind, besteht, für jeden Fehler f in dem Fehlersatz F. Der Fehlersignaturvektor Vf inactive wird eingesetzt, um einen Fehler eines oder einer der Controller, Busverbindungen, Leistungsverbindungen, Masseverbindungen, etc. zu isolieren.A CAN monitoring routine can isolate a fault by generating a system model that includes one or more controllers and / or a monitoring controller. Each of the controllers transmits a set of messages that can have different periods or repetition rates. Topology diagrams such as in relation to 6th The topologies shown include G bus , G bat and G gnd associated with the communication bus, the power bus and the ground bus, respectively. A fault set F may include any controller node fault, bus link break fault, power link break fault, ground link break fault, and other faults for the topology diagrams. A pre-operational application generates a fault signature vector V f inactive, which consists of a set of inactive controllers associated with each fault f, for each fault f in fault set F. The fault signature vector V f inactive is used to identify a fault in one of the Isolate controllers, bus connections, power connections, ground connections, etc.