DE102016112864B4 - Ermittlung der Ursache für einen Masseversatz in einem Controller Area Network - Google Patents

Ermittlung der Ursache für einen Masseversatz in einem Controller Area Network Download PDF

Info

Publication number
DE102016112864B4
DE102016112864B4 DE102016112864.3A DE102016112864A DE102016112864B4 DE 102016112864 B4 DE102016112864 B4 DE 102016112864B4 DE 102016112864 A DE102016112864 A DE 102016112864A DE 102016112864 B4 DE102016112864 B4 DE 102016112864B4
Authority
DE
Germany
Prior art keywords
voltage
message
timestamp
ground offset
processing routine
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.)
Active
Application number
DE102016112864.3A
Other languages
English (en)
Other versions
DE102016112864A1 (de
Inventor
David B. Gumpert
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 DE102016112864A1 publication Critical patent/DE102016112864A1/de
Application granted granted Critical
Publication of DE102016112864B4 publication Critical patent/DE102016112864B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/50Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
    • G01R31/52Testing for short-circuits, leakage current or ground faults
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/005Testing of electric installations on transport means
    • G01R31/006Testing of electric installations on transport means on road vehicles, e.g. automobiles or trucks
    • G01R31/007Testing of electric installations on transport means on road vehicles, e.g. automobiles or trucks using microprocessors or computers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/02Registering or indicating driving, working, idle, or waiting time only
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0816Indicating performance data, e.g. occurrence of a malfunction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/46Monitoring; Testing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)

Abstract

Verfahren zum Auffinden der Ursache eines Masseversatzes in einem Netzwerk mit elektronischen Geräten, die durch einen Kommunikationsbus (106) verbunden sind, und die Folgendes umfasst:
Feststellen der Signalspannungen auf dem Kommunikationsbus (106), die auf einen Masseversatz-Zustand schließen lassen;
Speichern der Spannungs-Zeitstempel für die erfassten Signalspannungen, wobei jeder erkannten Signalspannung ein entsprechender Spannungs-Zeitstempel zugeordnet ist;
Versehen der Nachrichten (212, 214, 216, 218) am Kommunikationsbus (106) mit einem Nachrichten-Zeitstempel, wobei jeder Nachricht (212, 214, 216, 218) ein entsprechender Nachrichten-Zeitstempel zugeordnet wird;
Vergleichen des Nachrichten-Zeitstempels mit dem Spannungs-Zeitstempel; und
Identifikation von zumindest einem der elektronischen Geräte, die die Ursache des Masseversatzes sind, basierend auf diesem Vergleich.

Description

  • TECHNISCHER BEREICH
  • Ausführungsformen des hierin beschriebenen Gegenstands betreffen im Allgemeinen Diagnosesysteme für Fahrzeuge. Genauer gesagt beziehen sich Ausführungsformen des Gegenstands auf die Methodik für die Lokalisierung von Masseversatz, der mit einem elektronischen Gerät in Zusammenhang steht, beispielsweise mit einem elektronischen Steuergerät eines Fahrzeugs.
  • HINTERGRUND
  • Ein modernes Automobil besitzt zahlreiche elektronische Steuergeräte (ECUs), die so konfiguriert sind, dass sie verschiedene Teilsysteme des Fahrzeugs steuern, wie Motor, Getriebe, Airbags, Antiblockiersystem, Tempomat, elektrische Servolenkung, Audiosysteme, Fenster, Türen und Spiegelverstellung, um nur einige zu nennen. Einige dieser Teilsysteme sind unabhängig voneinander, während bei anderen im normalen Betrieb des Fahrzeugs ein Datenaustausch mit anderen nötig ist. Wenn ein ECU versagt oder nur mangelhaft funktioniert, kann dies zu einer Verschlechterung der Fahrzeugleistung führen oder das Fahrzeug komplett manövrierunfähig machen.
  • Ein ECU an Bord eines Fahrzeugs kann von einem Masseversatz-Zustand betroffen sein. Ein Masseversatz bedeutet, dass sich eine erwartete Referenzspannung (z. B. null Volt) eines ECU verschoben hat. Wenn daher dieselbe Signalspannung bezogen auf verschiedene Referenzspannungen gemessen wird, werden unterschiedliche Messwerte erzielt. In einem idealen ECU-Netzwerk sind alle Referenzspannungen identisch, sodass alle Spannungssignalmessungen zueinander konsistent sind. Masseversätze in Fahrzeug-ECUs können durch die wechselnde elektrische Ladung zu inkonsistentem Fahrzeugbetrieb führen. Außerdem haben Masseversätze die Tendenz, sich mit der Zeit zu verschlechtern (und vielleicht das betroffene ECU unbrauchbar machen).
  • Es ist folglich wünschenswert, ein Bordsystem und/oder ein Diagnosewerkzeug zu haben, das die Masseintegrität der ECUs an Bord des Fahrzeugs prüfen kann. Außerdem ist es wünschenswert, eine effiziente und automatische Methodik für die Ermittlung und Lokalisierung der Ursache für einen Masseversatz in einem ECU-Netzwerk zu haben. Weiterhin werden weitere wünschenswerte Funktionen und Merkmale aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen und dem vorangegangenen technischen Gebiet und Hintergrund offensichtlich.
  • Die DE 103 49 600 A1 offenbart ein Verfahren zur Überprüfung von Leitungsfehlern in einem Bussystem und Bussystem.
  • Die WO 2003 / 104 038 A1 offenbart eine Schaltung zur Erkennung des Masseversatzes von Teilen eines Netzwerks.
  • KURZE ZUSAMMENFASSUNG
  • Hierin wird eine Methode für die Lokalisierung der Ursache für einen Masseversatz in einem Netzwerk von elektronischen Geräten, die durch einen Kommunikationsbus miteinander verbunden sind, präsentiert. Die Methode erkennt Signalspannungen am Kommunikationsbus, die auf einen Masseversatz schließen lassen und speichert Spannungen mit Zeitstempel für die erkannten Signalspannungen. Dementsprechend hat jede erkannte Signalspannung einen ihr zugeordneten entsprechenden Spannungswert-Zeitstempel. Die Methode ordnet weiter den Nachrichten auf dem Kommunikationsbus Zeitstempel zu, sodass jede Nachricht einen entsprechenden Zeitstempel hat, der ihr zugeordnet ist. Die Zeitstempel der Nachrichten werden mit den Zeitstempeln der Spannungen verglichen, um zumindest eines der elektronischen Geräte als Ursache für den Masseversatz zu identifizieren.
  • Außerdem wird hierin ein System für die Diagnose eines Controller Area Network (CAN) an Bord des Host-Fahrzeugs präsentiert. Das CAN beinhaltet eine Vielzahl elektronischer Steuergeräte (ECUs), die über einen CAN-Kommunikationsbus miteinander verbunden sind. Das System beinhaltet einen Prozessor und ein Speichermedium, das mit dem Prozessor verbunden ist. Das Speichermedium speichert vom Prozessor ausführbare Befehle, die, wenn sie vom Prozessor ausgeführt werden, in der Lage sind, die Methode der Lokalisierung einer Ursache für einen Masseversatz im CAN auszuführen.
  • Ebenso wird hierin ein physisches und nicht vorübergehendes computerlesbares Datenspeichermedium, auf dem ausführbare Anweisungen gespeichert sind, die, wenn sie durch einen Prozessor ausgeführt werden, in der Lage sind, eine Methode zum Lokalisieren der Ursache eines Masseversatzes auszuführen, präsentiert.
  • Diese Zusammenfassung ist bereitgestellt, um eine Auswahl von Konzepten in einer vereinfachten Form einzuführen, die nachfolgend in der detaillierten Beschreibung beschrieben werden. Diese Zusammenfassung ist nicht dazu gedacht, Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstands zu identifizieren, noch ist sie beabsichtigt, als Hilfsmittel verwendet zu werden, um den Umfang des beanspruchten Gegenstands zu bestimmen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verständnis des Gegenstands kann durch Bezugnahme auf die detaillierte Beschreibung und die Ansprüche abgeleitet werden, wenn in Verbindung mit den folgenden Figuren betrachtet, in denen gleiche Bezugszeichen auf ähnliche Elemente in den Figuren verweisen.
    • 1 ist eine vereinfachte schematische Darstellung eines Netzwerks von ECUs und eines Diagnosesystems;
    • 2 ist eine vereinfachte schematische Darstellung des in 1 gezeigten Diagnosesystems;
    • 3 ist ein Diagramm, das die Signalspannungseigenschaften eines gesunden ECU-Netzwerks darstellt;
    • 4 ist ein Diagramm, das die Signalspannungseigenschaften eines Netzwerks mit ECUs, in dem ein Masseversatz-Zustand herrscht, darstellt;
    • 5 ist ein Flussdiagramm, das eine exemplarische Ausführungsform eines Busspannungs-Überwachungsverfahrens darstellt; und
    • 6 ist ein Flussdiagramm, das eine exemplarische Ausführungsform der Zuordnung eines Zeitstempels zu einer Nachricht und ein Analyseverfahren darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende ausführliche Beschreibung ist lediglich exemplarischer Natur und nicht auf die Anwendung und Verwendungen der hierin beschriebenen Ausführungsformen zu beschränken. Wie hier verwendet, bedeutet das Wort „exemplarisch“ „dient als ein Beispiel, eine Instanz oder Veranschaulichung.“ Jede hierin als exemplarisch beschriebene Implementierung ist gegenüber anderen Implementierungen nicht notwendigerweise als bevorzugt oder vorteilhaft auszulegen. Weiterhin besteht keine Absicht, an eine in vorstehendem technischem Bereich, Hintergrund, Kurzzusammenfassung oder der folgenden detaillierten Beschreibung ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein.
  • Die Techniken und Technologien können hier in Bezug auf die funktionellen und / oder logischen Blockkomponenten beschrieben werden, und unter Bezugnahme auf symbolische Darstellungen von Operationen, Verarbeitungsaufgaben, und Funktionen, die von verschiedenen Computerkomponenten oder Vorrichtungen durchgeführt werden können.
  • Solche Operationen, Aufgaben und Funktionen werden manchmal als Computer-ausgeführt, computerisiert, Software-implementiert oder Computer-implementiert bezeichnet. Es sollte erkannt werden, dass derartige Blockkomponenten aus einer beliebigen Anzahl von Hardware, Software und/oder Firmware-Komponenten aufgebaut sein können, die konfiguriert sind, um die spezifizierten Funktionen auszuführen. Zum Beispiel kann eine Ausführungsform eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder dergleichen, einsetzen, die eine Vielzahl von Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können.
  • Wenn in Software implementiert, sind verschiedene Elemente der hierin beschriebenen Systeme im Wesentlichen die Codesegmente oder vom Computer ausführbaren Anweisungen, die die verschiedenen Aufgaben ausführen. In bestimmten Ausführungsformen werden das Programm oder die Code-Segmente in einem physischen und nicht vorübergehenden computerlesbaren Datenspeichermedium gespeichert, das jedes Medium, das Informationen speichern oder übertragen kann, beinhalten kann. Beispiele für ein nicht vorübergehendes und prozessorlesbares Medium beinhalten einen elektronischen Schaltkreis, einen Mikrocontroller, einen anwendungsspezifischen integrierten Schaltkreis (ASIC), eine Halbleiterspeichereinrichtung, eine ROM, einen Flash-Speicher, eine löschbare ROM (EROM), eine Diskette, eine CD-ROM, eine optische Diskette, eine Festplatte, oder Ähnliches.
  • Das System und die Methodik, die weiter unten beschrieben werden, können verwendet werden, um die Masseversätze in einem Netzwerk von elektronischen Geräten, die über einen Kommunikationsbus, wie beispielsweise ein Fahrzeugkommunikationsnetzwerk an Bord, miteinander verbunden sind, zu lokalisieren. Die Technik für die Lokalisierung des Masseversatzes beruht auf Messungen der Busspannung und Zuordnung von Zeitstempeln zu diesen Spannungsmessungen. Während der Ansatz und die Methodik bezüglich der Fahrzeugkommunikation weiter unten beschrieben sind, versteht sich für Experten, dass die Anwendung in der Fahrzeugindustrie nur ein Beispiel ist und dass die hierin dargestellten Konzepte auf alle anderen Kommunikationssysteme, wie beispielsweise allgemeine industrielle Automatisierung, oder Spiele, um nur wenige zu nennen, angewendet werden.
  • Der Begriff „Fahrzeug“, der ebenfalls hierin beschrieben ist, ist auch weit auszulegen, und umfasst nicht nur Pkw sondern alle anderen Fahrzeuge, unter anderem auch Motorräder, Lkw, SUV, Wohnmobile, Wasserfahrzeuge und Flugzeuge. Das System und die Methode, die hierin beschrieben sind, können an Bord eines Host-Fahrzeugs (z. B. in einem ECU oder jedem Datenverarbeitungsmodul an Bord implementiert werden) oder in Diagnosewerkzeugen, - geräten, oder -komponenten außerhalb des Fahrzeugs, die mit einer entsprechend konfigurierten Schnittstelle an das Fahrzeugnetzwerk angekoppelt werden können, implementiert werden. Mit anderen Worten: Die hierin beschriebene Methode kann eher in einem Servicewerkzeug als in einem ECU oder Gateway-Modul implementiert werden. Obwohl das System weiter unten in Bezug auf ein Kommunikationssystem, das ECU enthält, die in einem Controller Area Network (CAN), angeordnet sind, beschrieben ist, versteht sich für Fachleute, dass die hierin dargestellte Methode gleichermaßen für jedes Kommunikationssystem, das einen nicht isolierten Multidrop Bus verwendet, anwendbar ist.
  • Bezugnehmend auf die Zeichnungen, ist 1 eine vereinfachte schematische Darstellung eines Netzwerks elektronischer Geräte. Obwohl es nicht immer erforderlich ist, beinhaltet die hier beschriebene exemplarische Ausführungsform ein Netzwerk von ECUs 102 an Bord eines Host-Fahrzeugs (nicht abgebildet). Die ECUs können unter anderem die folgenden gebräuchlichen Module beinhalten: ein Motorsteuergerät; ein Getriebesteuergerät; ein Bordnetzsteuergerät; ein Telematiksteuergerät; ein Differentialsteuerungsmodul hinten; ein elektronisches Parkbremsmodul; ein Modul für die Mensch-Maschine-Schnittstelle und ein elektronisches Bremskontrollmodul. 1 zeigt auch ein Diagnosesystem 104, das unter anderem als eines der folgenden Systeme realisiert werden kann: ein Bordmodul (wie beispielsweise ein weiteres ECU); ein zentrales Gateway-Modul an Bord, das mit einer Vielzahl von verschiedenen Netzwerken an Bord des Fahrzeugs kommuniziert; ein externes bzw. nicht im Fahrzeug befindliches Diagnosewerkzeug, -gerät, oder -teilsystem; oder jeder entsprechend konfigurierte und kompatible Computer. Die ECUs 102 sind über einen Kommunikationsbus 106 miteinander verbunden. 1 stellt den Kommunikationsbus 106 als einzelne Linie dar. In der Praxis kann der Kommunikationsbus 106 jedoch als zweiadrige Busleitung realisiert werden, wie jener, der in einem zweiadrigen CAN-Bus verwendet wird. Der Einfachheit halber und zur einfacheren Darstellung zeigt 1 einen CAN, der drei ECUs hat. In der Praxis kann ein Fahrzeug jedoch viel mehr als drei ECUs beinhalten (30 oder mehr ECUs sind nicht unüblich). Es versteht sich, dass das Host-Fahrzeug eine Vielzahl von unterschiedlichen CANs beinhalten kann und dass eine beliebige ECU 102 ein Teil eines oder mehrerer CANs sein kann.
  • In Fahrzeugen ist das am weitesten verbreitete Netzwerk-Busprotokoll CAN, ein Multimaster serieller Übertragungs-Busstandard, der entwickelt wurde, damit Mikrocontroller und Geräte miteinander innerhalb des Host-Fahrzeugs kommunizieren können. Der gebräuchlichste physische Layerstandard im CAN-Protokoll, der hier als ein passendes Beispiel verwendet wird, ist das zweiadrige Balanced Signaling Scheme (ausgewogenes Signalisierungs-Schema) gemäß ISO-11898-2 (das als Highspeed-CAN bezeichnet wird). Diese Norm spezifiziert einen zweiadrigen differenziellen Bus, worin die Anzahl der Knoten begrenzt ist durch die elektrische Buslast. Die beiden Busleitungen werden als CAN High und CAN Low bezeichnet und jedes ECU, das ein Teil des CAN ist, ist mit den beiden Busadern verbunden. In bestimmten Ausführungsformen, die als Beispiel gedacht sind, liegt die Gleichtaktspannung bei -2,0 Volt auf CAN Low und bei 7,0 Volt auf CAN High. Konkret ist die Spannung auf CAN Low im Allgemeinen im Bereich von ungefähr 1,5 bis 2,5 Volt, während die Spannung auf CAN High im Allgemeinen im Bereich von ungefähr 2,5 bis 3,5 Volt liegt.
  • Jeder Knoten (d. h. ein ECU 102) am Kommunikationsbus 106 ist in der Lage, Nachrichten zu senden und zu empfangen, jedoch nicht gleichzeitig. Jede Nachricht (diese werden auch als CAN-Telegramm bezeichnet) beinhaltet Daten, gemeinsam mit einigen Informationen zur Identifikation, die je nach Bedarf gelesen und interpretiert werden können. Die Informationen zur Identifikation werden im Arbitrations-Feld der Nachricht übermittelt. Das Arbitrations-Feld dient auch als Prioritätsbezeichner, der die Priorität der Nachricht darstellt, worin die Nachrichten mit niedrigeren Prioritätswerten eine höhere Priorität haben als die Nachrichten mit höheren Prioritätswerten und daher zuerst übertragen werden. Ein Prioritätsbezeichner muss einem ECU eindeutig zugewiesen sein, ansonsten könnten zwei unterschiedliche ECUs die Arbitration zur gleichen Zeit erhalten, was zu Busfehlern führen würde. Folglich fungiert der Prioritätsbezeichner auch als Quellbezeichner, der einem ECU eindeutig zugeordnet ist (sodass ein bestimmtes ECU mehr als einen Quellbezeichner haben kann, der ihm eindeutig zugeordnet ist).
  • Das CAN-Protokoll spezifiziert zwei logische Zustände: rezessiv und dominant. Eine Differenzspannung wird verwendet, um den rezessiven und dominanten Zustand darzustellen (d. h. Bits). Im rezessiven Zustand (logisch 1), ist die Differenzspannung auf CAN High und CAN Low niedriger als der Schwellwert. Im dominanten Zustand (logisch 0), ist die Differenzspannung auf CAN High und CAN Low höher als der Schwellwert. In einem CAN-Netzwerk werden die Daten in Form von Nachrichten übertragen, die häufig als CAN-Telegramme bezeichnet werden. Ein bestimmtes CAN-Telegramm wird vom vorhergehenden Telegramm durch ein Bitfeld getrennt, das als Interframe Space bekannt ist, der zumindest drei aufeinanderfolgende rezessive Bits beinhaltet. Wenn nach diesen aufeinanderfolgenden rezessiven Bits ein dominantes Bit erkannt wird, wird dieses als „Start of Frame“ Bit betrachtet, das den Beginn eines Telegramms signalisiert.
  • Jedes ECU 102 beinhaltet im Allgemeinen einen Prozessor oder einen Mikrocontroller, ein entsprechend konfiguriertes Speichermedium, einen CAN-Controller, und einen Empfänger. Der ECU Mikrocontroller steuert die Übertragung der Nachrichten und ist oft mit den Sensoren, Aktoren und Steuergeräten verbunden. Der CAN-Controller ist oft ein integraler Bestandteil des Mikroprozessors und so konfiguriert, dass die vom Kommunikationsbus 106 empfangenen seriellen Bits gespeichert werden, bis eine gesamte Nachricht verfügbar ist, die dann vom ECU-Mikrocontroller abgerufen werden kann. Der CAN-Controller ist auch dafür konfiguriert, Nachrichten, die vom Mikroprozessor übertragen werden, zu empfangen. Diese werden dann seriell als Bits auf den Kommunikationsbus 106 übertragen. Der Empfänger konvertiert die Datenströme von den Ebenen, die vom CAN verwendet werden auf Ebenen, die der CAN-Controller verarbeiten kann und umgekehrt.
  • Das Diagnosesystem 104 ist ein Ausführungsbeispiel eines Systems für die Diagnose eines CAN an Bord eines Host-Fahrzeugs für die Lokalisierung der Ursache des Masseversatzes. 2 ist eine vereinfachte schematische Darstellung des Diagnosesystems 104. Wie zuvor erwähnt, kann das Diagnosesystem 104 als Bordkomponente, Teilsystem oder Modul realisiert sein, oder als Gerät oder Komponente außerhalb des Fahrzeugs, das/die nach Bedarf an den Kommunikationsbus 106 gekoppelt werden kann, um die weiter unten detaillierter beschriebenen Funktionen auszuführen. Dementsprechend stellt 2 eine sehr vereinfachte schematische Darstellung des Diagnosesystems 104 dar, die unabhängig von der Art, in der das Diagnosesystem 104 implementiert ist, Gültigkeit hat. In einigen Ausführungsformen ist das Diagnosesystem 104 als zentrales Gateway-Modul an Bord des Host-Fahrzeugs, worin das zentrale Gateway-Modul mit den ECUs 102 über den Kommunikationsbus 106 verbunden ist, realisiert (oder darin implementiert). Das zentrale Gateway-Modul kann auch als zentrale Schnittstelle dienen, die mit einer Vielzahl unterschiedlicher CANs an Bord des Host-Fahrzeugs kommuniziert. So kann das zentrale Gateway-Modul Diagnoseverfahren (inklusive Masseversatz-Erkennung) für mehr als einen CAN an Bord des Fahrzeugs durchführen. In anderen Ausführungsformen ist das Diagnosesystem 104 als Diagnosewerkzeug außerhalb des Host-Fahrzeugs (d. h. als Off-Board-Gerät) realisiert (oder darin implementiert). Das Diagnosewerkzeug beinhaltet eine entsprechend konfigurierte Schnittstelle, um die Kommunikation mit dem Kommunikationsbus 106 aufzubauen, wie in 1 abgebildet ist. Das Diagnosewerkzeug kann beispielsweise als Computersystem realisiert sein (z. B. ein Laptop, Tablet oder ein Mobilgerät) mit einem Verbindungskabel, das mit einem Stecker, einer Buchse oder einer Schnittstelle an Bord des Host-Fahrzeugs kompatibel ist.
  • Das Diagnosesystem 104 beinhaltet im Allgemeinen zumindest einen Prozessor 110 und zumindest ein Speichermedium 112, das mit dem Prozessor 110 verbunden ist, ist aber nicht darauf beschränkt. In einigen Ausführungsformen sind der Prozessor 110 und das Speichermedium 112 in einer einzigen integrierten Schaltungskomponente realisiert, wie beispielsweise ein Mikrocontroller oder ein ASIC. Das Diagnosesystem 104 kann auch bestimmte Input/Output (I/O)-Funktionen 114 beinhalten. In der Praxis kann das Diagnosesystem 104 zusätzliche Elemente, Geräte, Komponenten oder Funktionen, die zusätzliche Funktionalität oder die hierin beschriebenen Techniken und Methodiken unterstützen, beinhalten oder damit zusammenwirken.
  • Das Speichermedium 112 (oder ein anderes Speichergerät oder eine Komponente) kann ein physisches und nicht vorübergehendes elektronisches Speichermedium darstellen, auf dem von einem Prozessor ausführbare Anweisungen gespeichert sind. Wenn derartige Anweisungen von einer Prozessorarchitektur, die zumindest einen Prozessor beinhaltet (wie beispielsweise der Prozessor 110), ausgeführt werden, sind sie in der Lage, die verschiedenen Methoden, Verfahren und Funktionen, die hierin detaillierter beschrieben werden, auszuführen. Genauer gesagt, der Prozessor 110 führt Anweisungen aus, die im Speichermedium 112 gespeichert sind, um eine Methode der Lokalisierung einer Ursache für Masseversatz in einem Netzwerk von elektronischen Geräten (z. B. ein fahrzeugbasiertes CAN) durchzuführen. In dieser Hinsicht kann das Diagnosesystem 104 so programmiert werden, dass Anweisungen ausgeführt werden, die das, was eine allgemeine Computerplattform sein könnte, effektiv in einen spezialisierten Ausrüstungsteil, der die hierin präsentierten Techniken, Technologien und Methodiken unterstützt, umwandeln. Dies gilt insbesondere für eine externe Implementierung außerhalb des Fahrzeugs, die einen Computer unterstützen könnte.
  • Die I/O-Funktionen 114 können verwendet werden, um die Funktionalität des Diagnosesystems 104 zu initiieren oder zu steuern und/oder nach Bedarf entsprechend formatierte Ausgaben zu generieren. In der Praxis können die I/O-Funktionen 114 zum Beispiel einen CAN-Transceiver, einen Analog-Digital-Wandler und Ähnliches beinhalten. In dieser Hinsicht können die I/O-Funktionen 114 eine oder mehrere ECUs als potenzielle Ursache des Masseversatzes identifizieren. In bestimmten Ausführungsformen können die I/O-Funktionen 114 Diagnosefehler-Codes generieren, die Masseversatz-Zustände, die vom Diagnosesystem 104 erkannt wurden, anzeigen können. In einigen Ausführungsformen werden die I/O-Funktionen 114 verwendet, um Alarme oder Warnmeldungen zu generieren, Diagnoseberichte zu erstellen, Testergebnisse anzuzeigen oder Ähnliches. Diese und andere Reporting-Funktionen können wenn nötig vom Diagnosesystem 104 und gemäß der speziellen Ausführungsform unterstützt werden.
  • Das Diagnosesystem 104 führt computerlesbare Anweisungen aus, um die Spannungscharakteristika der Nachrichten am Kommunikationsbus 106 zur Ermittlung eines ECU mit einem Masseversatz zu überwachen. In dieser Hinsicht ist 3 ein Diagramm, das die Signalspannungseigenschaften eines gesunden CAN mit mehreren ECUs darstellt. In 3 entspricht die obere „Hälfte“ des Spannungssignals dem CAN High, und die untere „Hälfte“ des Spannungssignals entspricht dem CAN Low (was das Gegenteil von CAN High ist). 3 zeigt eine typische und erwartete CAN-Spannungssignatur, wenn alle ECU-Erdungen normal sind mit einer durchschnittlichen Telegramm-Spannung und einer Spannung zwischen den Telegrammen von ungefähr 2,5 Volt.
  • 3 zeigt die Signalspannungseigenschaften für vier CAN-Nachrichten: eine erste Nachricht 202; eine zweite Nachricht 204; eine dritte Nachricht 206 und eine vierte Nachricht 208. Das Ende jeder Nachricht wird durch eine Spitze im Spannungssignal markiert, die dadurch entsteht, dass andere ECUs das Telegramm bestätigen und auf die der Interframe Space folgt, der vor der nächsten Nachricht erscheint. Insbesondere liegt die Spitzenspannung im Telegramm in jeder der vier Nachrichten relativ stabil und konsistent bei ungefähr 3,5 Volt für CAN High und ungefähr 2,5 Volt für CAN Low. Darüber hinaus liegt die durchschnittliche Telegramm-Spannung für jede der Nachrichten relativ stabil und konsistent bei ungefähr 2,5 Volt. Diese Eigenschaften lassen auf richtig geerdete ECUs schließen. Mit anderen Worten, es gibt in keinem ECU einen Masseversatz, der die in 3 abgebildeten vier Nachrichten generiert hat.
  • Für die exemplarische Ausführungsform, die hierin beschrieben ist, werden CAN-Telegramme mit einer Rate von 500 kBd. übertragen. In anderen Ausführungsformen können jedoch unterschiedliche Raten, z. B. 92,5 kBd, 125 kBd, 250 kBd, verwendet werden. Die tatsächlich vom System verwendet Rate kann von einer zur nächsten Anwendung variieren. Darüber hinaus muss die Länge der CAN-Nachrichten, die von den ECUs generiert werden, nicht gleich sein. Die Länge der CAN-Nachricht kann vielmehr zwischen null und acht Bytes variieren, abhängig von der Datenmenge, die übertragen werden muss. Das ist in 3 abgebildet. Bei 500 kBd, benötigt ein CAN-Telegramm, das acht Datenbytes mit Standardadressierung enthält und aus 128 Gesamtbit besteht, 216 Mikrosekunden für die Übertragung. Ein CAN-Telegramm, das acht Datenbytes enthält, erweiterte Adressierungsvorgänge verwendet und aus 108 Gesamtbit besteht, benötigt 256 Mikrosekunden für die Übertragung. Die hierin präsentierte exemplarische Ausführungsform geht davon aus, dass CAN-Nachrichten in 250 Mikrosekunden oder weniger übertragen werden können. In der Praxis sind die CAN-Nachrichten, die von dem hierin beschriebenen System verarbeitet werden, zumindest 88 Mikrosekunden lang.
  • 3 zeigt zum besseren Verständnis vier Nachrichten in rascher Abfolge. In der Praxis übertragen die unterschiedlichen ECUs im CAN ihre jeweiligen Nachrichten in Übereinstimmung mit unterschiedlichen Zeitplänen. Weiterhin kann die Nachrichtenübertragungsrate der einzelnen ECU unterschiedlich sein. Ein bestimmtes ECU kann beispielsweise eine bestimmte Nachricht alle 25, 50, 100 oder 250 Millisekunden übertragen. Diese Übertragungszeiten sind jedoch rein exemplarisch und eine Ausführungsform des Systems kann andere Zeiten verwenden, wenn das gewünscht wird. Dementsprechend generieren einige ECUs einen höheren Prozentsatz an Nachrichten, die an das CAN übertragen werden und andere ECUs generieren eine relativ geringe Menge an Nachrichtenverkehr.
  • Im Gegensatz zur Darstellung in 3, ist 4 ein Diagramm, das Signalspannungseigenschaften, die auf einen Masseversatz-Zustand schließen lassen, darstellt. Hier sind die erste Nachricht 212, die dritte Nachricht 216 und die vierte Nachricht 218 repräsentativ für korrekt geerdete Bedingungen (sie ähneln den gesunden Spannungseigenschaften, die in 3 gezeigt werden). Die zweite Nachricht 214 jedoch, hat Spannungseigenschaften, die auf einen Masseversatz-Zustand schließen lassen. Für dieses Beispiel hat sich bei dem ECU, von dem die Nachricht 214 stammt, die Massespannung erhöht (seine Massespannung ist höher als Null). Dieser Masseversatz bewirkt, dass sowohl CAN High als auch CAN Low steigen, wenn das defekte ECU eine Nachricht überträgt. Der Masseversatz-Zustand bewirkt, dass die zweite Nachricht 214 nach oben verschoben wird, in Richtung der Werte der anderen Nachrichten. Für dieses besondere Beispiel ist die Telegramm-Spitzenspannung der zweiten Nachricht 214 ungefähr 4,0 Volt für CAN High (verglichen mit dem gesunden Wert von 3,5 Volt) und 3,0 Volt für CAN Low (verglichen mit dem gesunden Wert von 2,5 Volt). Die durchschnittliche Telegramm-Spannung der zweiten Nachricht 214 wurde auch um ungefähr 0,5 Volt nach oben verschoben auf einen Wert von beinahe 3,0 Volt.
  • Obwohl der in 4 gezeigte Masseversatz visuell einfach festzustellen ist, wenn die gesamte Signalspannung abgebildet wird, kann es sehr schwierig sein, ihn mit einer kostengünstigen und praktischen Hard- und Software automatisch festzustellen. Die hier vorgestellte Methodik stellt eine praktische Lösung dar, die die Ursache (Position) des Masseversätze in einem CAN an Bord eines Fahrzeugs durch Stichprobenmessung der CAN Busspannung in einer angemessenen Häufigkeit erkennen und lokalisieren kann. In dieser Hinsicht ist 5 ein Flussdiagramm, das eine exemplarische Ausführungsform eines Busspannungs-Überwachungsverfahrens 500 illustriert und 6 ist ein Flussdiagramm, das eine exemplarische Ausführungsform eines Nachrichten-Zeitstempels und eines Analyseverfahrens 600 illustriert. Die verschiedenen im Zusammenhang mit einem abgebildeten Verfahren durchgeführten Aufgaben können durch Software, Hardware, Firmware oder eine beliebige Kombination davon durchgeführt werden. Zu Veranschaulichungszwecken kann die folgende Beschreibung der Verfahren 500, 600 sich auf Elemente beziehen, die weiter oben in Verbindung mit den 1-4 erwähnt wurden. Es versteht sich, dass ein illustriertes Verfahren eine beliebige Anzahl an zusätzlichen oder alternativen Aufgaben beinhalten kann. Die Aufgaben in den Abbildungen müssen nicht in der angegebenen Reihenfolge ausgeführt werden und ein illustriertes Verfahren kann in ein größeres Verfahren oder einen größeren Prozess, die zusätzliche Funktionalität aufweisen und die hier nicht im Detail beschrieben ist, integriert werden. Darüber hinaus könnte eine oder mehrere Aufgaben von einer Ausführungsform eines beschriebenen Verfahrens ausgelassen werden, solange die beabsichtigte Gesamtfunktionalität erhalten bleibt.
  • In bestimmten exemplarischen Ausführungsformen werden die Verfahren 500, 600 unabhängig und parallel zueinander ausgeführt (unter der Annahme, dass das Verfahren 600 initiiert wurde). In dieser Hinsicht können die dem Verfahren 500 zugeordneten Aufgaben durch eine erste Verarbeitungsroutine oder einen Thread ausgeführt werden und die Aufgaben, die dem Verfahren 600 zugeordnet sind, können durch eine zweite Verarbeitungsroutine oder einen Thread ausgeführt werden, worin die zwei Routinen/Threads unabhängig voneinander, gleichzeitig und parallel ausgeführt werden. Das Verfahren 500 macht Stichproben von der Signalspannung, die im CAN-Bus vorhanden ist, prüft die gemessene Spannung auf einen Hinweis auf Masseversatz-Zustand und speichert die Zeitstempel für Spannungsmessungen, die auf einen Masseversatz hinweisen. Das Verfahren 600 ordnet den Nachrichten Zeitstempel zu, vergleicht die Nachrichten-Zeitstempel mit den gespeicherten Spannungs-Zeitstempeln versucht, die „abnormalen“ Spannungsmessungen einer bestimmten Nachricht und einem ECU, das diese bestimmte Nachricht generiert hat, zuzuordnen.
  • Bezugnehmend auf 5, misst das Busspannungs-Überwachungsverfahren 500 die Signalspannung im Kommunikationsbus (Aufgabe 502) und ordnet der gemessenen Spannung bei der Ablesung einen Zeitstempel zu (Aufgabe 504). Für die Erstellung der Zeitstempel wird ein Referenztakt verwendet, der vom Diagnosesystem 104 oder von einem Modul an Bord des Host-Fahrzeugs erzeugt werden kann. Der Spannungs-Zeitstempel, der mit Aufgabe 504 erzeugt wird, gibt die Zeit an, zu der die gemessene Spannung abgelesen wurde. Das Verfahren 500 fährt fort und überprüft, ob die gemessene Signalspannung auf eine/n Masseversatz-Zustand oder -Eigenschaft (Abfragetask 506) schließen lässt oder nicht. Für diese besondere Ausführungsform vergleicht das Verfahren 500 die gemessene Signalspannung mit einem vorbestimmten Spannungsschwellwert. Von den gemessenen Signalspannungen, die den festgelegten Schwellwert übersteigen, wird angenommen, dass sie durch einen Masseversatz verursacht werden. Für das Szenario, dass in 4 dargestellt ist, wird eine Schwellenspannung von 3,7 Volt für CAN High und 2,8 Volt für CAN Low verwendet, um abweichende Nachrichten zu erfassen.
  • Wenn die gemessene Signalspannung höher ist als die Schwellenspannung (der „Ja“-Zweig der Abfragetask 506), dann nimmt das Verfahren 500 an, dass die erfasste Signalspannung auf einen Masseversatz-Zustand schließen lässt. Das Verfahren 500 kann überprüfen, ob der erfasste Masseversatz-Zustand die „erste“ Erfassung ist (Abfragetask 508). Wenn ja, (der „Ja“-Zweig der Abfragetask 508), dann kann das Verfahren für die Zuordnung eines Zeitstempels zur Nachricht und die Analyse 600 initiiert werden (Aufgabe 510) und das Verfahren 500 setzt fort mit Aufgabe 512. Wenn nein (der „Nein“-Zweig der Abfragetask 508), dann überspringt das Verfahren 500 Aufgabe 510 und fährt fort mit Aufgabe 512. Es versteht sich, dass Aufgabe 510 (die optional ist), als Trigger für den Start von Verfahren 600 dient. Dieser Trigger kann wünschenswert sein, um unter normalen Betriebsbedingungen, wenn alle gemessenen Signalspannungen normal sind, Verarbeitungsressourcen und Speicher zu schonen. So wird das Verfahren 600 nur ausgeführt, wenn es gebraucht wird, d. h. nur wenn eine Abweichung der Signalspannung festgestellt wurde.
  • In diesem Beispiel wird angenommen, dass die Messung der Signalspannung über dem Schwellwert liegt und daher das Verfahren 500 damit fortfährt, die Messung der Signalspannung zu identifizieren und den entsprechenden Zeitstempel (der hierin als „Spannungs-Zeitstempel“ bezeichnet wird) in einen Puffer oder eine geeignete Speicherstruktur speichert (Aufgabe 512). Der Puffer kann nach Bedarf verwaltet werden und jede beliebige Anzahl Spannungs-Zeitstempel enthalten. Obwohl dies nicht erforderlich ist, können die Messungen der Signalspannung auch gemeinsam mit ihrem entsprechenden Spannungs-Zeitstempel gespeichert werden, sodass die gemessenen Signalspannungen gespeichert werden, als Werte, die auf einen Masseversatz-Zustand schließen lassen.
  • Das Verfahren 500 wird laufend und iterativ durchgeführt, bis der Diagnosevorgang abgeschlossen ist. Dementsprechend zeigt 5 Aufgabe 512, die zurückführt auf Aufgabe 502, die wiederum die Signalspannung beim nächsten Abtastzeitpunkt misst. So kann das Verfahren 500 wiederholt werden, um mehrere Spannungs-Zeitstempel zu erfassen, die den erfassten Signalspannungen, die auf einen Masseversatz-Zustand schließen lassen, entsprechen. Insbesondere muss das Verfahren 500 nicht versuchen, jede einzelne Nachricht, die im Bus erscheint, zu erfassen. Obwohl das möglich ist, wäre das Messen der Signalspannungen aller Nachrichten weder praktisch noch wirtschaftlich. In Übereinstimmung mit bestimmten Ausführungsformen wird Aufgabe 502 in einer Frequenz durchgeführt, die vier oder fünf Mal geringer ist, als die durchschnittliche Häufigkeit der Nachrichtenübertragung. Wenn das Verfahren 500 über einen ausreichend langen Zeitraum wiederholt wird (beispielsweise einige Minuten), dann ist die Wahrscheinlichkeit, einen Masseversatz festzustellen, sehr hoch, auch wenn nicht alle Nachrichten in diesem Zeitraum gemessen werden. Mit anderen Worten, Aufgabe 502 wird schließlich Versatz-Signalspannungen erfassen, weil ein Masseversatz in einem ECU fortbestehen oder sich mit der Zeit verschlechtern wird.
  • Bezugnehmend auf 6 kann das Versehen der Nachrichten mit Zeitstempeln und das Analyseverfahren 600 mit dem Lesen von Nachrichten am Bus und dem Zuordnen der entsprechenden Zeitstempel (die hierin als „Nachrichten-Zeitstempel“ bezeichnet werden) beginnen (Aufgabe 602). Das Versehen mit einem Zeitstempel in Aufgabe 602 verwendet den Referenztakt, der auch für den Spannungs-Zeitstempel verwendet wird, und/oder eine Uhr, die mit dem Referenztakt synchronisiert ist. Der Nachrichten-Zeitstempel, der in 602 hinzugefügt wurde, gibt die Uhrzeit an, zu der eine Nachricht empfangen wurde. Für das hierin beschriebene Ausführungsbeispiel wird der Nachrichten-Zeitstempel mit dem Ende der Nachricht abgestimmt. Bezugnehmend auf 3 tritt das Ende jeder Nachricht unmittelbar nach der Spitze im Spannungssignal ein, die dadurch entsteht, dass andere ECUs das Telegramm bestätigen. In alternativen Ausführungsformen kann der Nachrichten-Zeitstempel hinzugefügt werden, sodass er jeder geeigneten Position während der Dauer der Nachricht entspricht, vorausgesetzt, der Ort ist bekannt und/oder konsistent.
  • Aufgabe 602 führt dazu, dass eine oder mehrere Nachrichten einen eigenen Nachrichten-Zeitstempel haben, der ihnen zugeordnet ist. Das Verfahren 600 fährt fort, die gespeicherten Spannungs-Zeitstempel mit den Nachrichten-Zeitstempeln zu vergleichen (Aufgabe 604). Wie weiter oben in Bezug auf Verfahren 500 erwähnt, entspricht der gepufferte Spannungs-Zeitstempel den Ablesungen der Spannungsabweichungen, die möglicherweise durch ein ECU mit einem Masseversatz verursacht werden. Dementsprechend, wiederholt Aufgabe 604 nochmals den Vergleich mit dem Puffer, der den Spannungs-Zeitstempel enthält, um den gespeicherten Spannungs-Zeitstempel mit einem bestimmten Nachrichten-Zeitstempel zu vergleichen. Alternativ kann das Verfahren 600 eine Vielzahl von verschiedenen Nachrichten-Zeitstempeln nochmals prüfen und diese mit einem bestimmten Spannungs-Zeitstempel vergleichen. Ungeachtet der Art, wie die Zeitstempel verglichen werden, sucht das Verfahren 600 nach zugehörigen Zeitstempeln (Abfragetask 606).
  • In diesem Beispiel bestimmt Abfragetask 606, ob die Abweichung zwischen dem Nachrichten-Zeitstempel für eine bestimmte Nachricht und dem gespeicherten Spannungs-Zeitstempel geringer ist als ein vordefinierter Schwellwert. Der Schwellwert wird basierend auf der gewünschten Genauigkeit, Verarbeitungszeit, Effizienz, Nachrichtenübertragungsrate, durchschnittlichen Nachrichtenlänge und Ähnlichem gewählt. Das hierin präsentierte Ausführungsbeispiel verwendet einen Schwellwert von 250 Mikrosekunden für 500 kBd CANs, obwohl effektive und genaue Ergebnisse mit längeren Schwellwerten erzielt werden. Der Schwellwert stellt ein „Zeitstempel-Fenster“ dar, das anzeigt, ob zwei Zeitstempel nahe genug beisammen liegen, um einen Versatz bei der Spannungsmessung mit einer bestimmten Nachricht in Zusammenhang zu bringen. Wenn also der Unterschied zwischen einem Nachrichten-Zeitstempel und einem Spannungs-Zeitstempel geringer als 250 Mikrosekunden ist, nimmt das Verfahren 600 an, dass die Zeitstempel zur selben Nachricht gehören. Wenn dies nicht der Fall ist, nimmt das Verfahren 600 an, dass die Zeitstempel zu unterschiedlichen Nachrichten gehören.
  • Wenn die Zeitstempel sich nicht decken (der „Nein“-Zweig der Abfragetask 606), dann überprüft das Verfahren 600 das Alter der Spannungs-Zeitstempel. Wenn der Spannungs-Zeitstempel zu alt ist (der „Ja“-Zweig der Abfragetask 607), dann wird der entsprechende Spannungs-Zeitstempel aus dem Pufferspeicher entfernt (Aufgabe 608) und das Verfahren 600 kehrt zur Aufgabe 602 zurück, um das Lesen und Versehen der Nachrichten mit Zeitstempeln fortzusetzen. Wenn der Spannungs-Zeitstempel nicht zu alt ist (der „Nein“-Zweig der Abfragetask 607), dann bleibt sein Puffereintrag erhalten und das Verfahren 600 kehrt zur Aufgabe 602 zurück, um das Lesen und Versehen der Nachrichten mit Zeitstempeln fortzusetzen. In bestimmten Ausführungsformen bleiben Spannungs-Zeitstempel nur für 800 Millisekunden im Puffer. Daher enthält der Zeitstempel-Puffer selten mehr als fünf bis zehn Einträge zur selben Zeit. Es versteht sich, dass der Schwellwert von 800 Millisekunden rein exemplarisch ist und dass bei Bedarf andere Zeitlimits verwendet werden können.
  • In dieser Beschreibung wird angenommen, dass das Verfahren 600 einen gespeicherten Spannungs-Zeitstempel findet, der zeitlich nahe bei einem Nachrichten-Zeitstempel liegt (der „Ja“-Zweig der Abfragetask 606). Wenn dieser Fall eintritt, wird die zugehörige Nachricht, d. h. die Nachricht, die diesen bestimmten Nachrichten-Zeitstempel hat, analysiert, um einen Bezeichner zu generieren (Aufgabe 610). Wie weiter oben erwähnt, beinhaltet jede Nachricht einen Bezeichner, der nur einem Ursprung eindeutig zugeordnet ist (einem ECU). So überprüft Aufgabe 610 den Inhalt der Nachricht und ermittelt den entsprechenden Bezeichner. Das Verfahren 600 fährt fort und ordnet den ermittelten Bezeichner dem zugehörigen elektronischen Gerät zu, das für dieses Beispiel ein bestimmtes Gerät der ECUs an Bord ist (Aufgabe 612).
  • Das System besitzt einen Masseversatz-Zähler für jedes ECU, das eine mögliche Ursache für einen Masseversatz sein kann. Das Verfahren 600 erhöht den Zählerwert für das ECU, das in Aufgabe 612 identifiziert wurde. Der Zählerwert kann bei jedem „Treffer“ um einen beliebigen Wert erhöht werden, es wird jedoch empfohlen, bei jedem Treffer um eins hochzuzählen. Während der Diagnoseprüfung kann ein bestimmter Zähler in Folge einer korrekten Erfassung eines Masseversatzes weiter zählen, er kann aber auch irrtümlich weiter zählen, in Folge von Rauschen, Timing-Problemen, Übertragungsverzögerungen oder Ähnlichem. Dennoch sollte eine Diagnoseprüfung, die zumindest einige Minuten umfasst, effektiv genaue Statistiken (die Zählwerte für jedes ECU) erfassen, die interpretiert werden können, um korrekt zu sagen, welche ECU einen Masseversatz aufweisen, wenn dies überhaupt der Fall ist.
  • Das Verfahren 600 kann zumindest ein ECU als Ursache für einen Masseversatz identifizieren (Aufgabe 616). Diese Identifikation basiert auf dem Vergleich der Zeitstempel und sie kann auf einer statistischen Analyse der Zählwerte beruhen. Außerdem kann das Verfahren 600 eine entsprechend formatierte Ausgabe, die kennzeichnet, welches ECU einen Masseversatz aufweist, erstellen, erzeugen und generieren (Aufgabe 618). Abhängig von der jeweiligen Implementierung des Diagnosesystems kann Aufgabe 618 eines oder mehrere der folgenden Dinge generieren: einen Bericht, der die Ergebnisse zusammenfasst, einen Diagnosefehler-Code, der den Masseversatz-Zustand angibt; eine Anzeige, die die Ergebnisse enthält, die eine schriftliche Zusammenfassung enthalten können, die Zählerwerte oder eine Grafik und eine Warnmeldung oder einen Warnhinweis.
  • Während mindestens ein Ausführungsbeispiel in der vorstehenden detaillierten Beschreibung dargestellt wurde, versteht sich, dass es eine große Anzahl an Varianten gibt. Es versteht sich weiterhin, dass das Ausführungsbeispiel oder Ausführungsbeispiele lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenlegung nicht in irgendeiner Weise einschränken sollen. Vorstehende detaillierte Beschreibung bietet Fachleuten vielmehr eine zweckmäßige Roadmap zur Implementierung des Ausführungsbeispiels oder von Ausführungsbeispielen. Es sollte verstanden werden, dass verschiedene Änderungen in der Funktion und Anordnung von Elementen möglich sind, ohne von dem durch die Ansprüche definierten Schutzbereich abzuweichen, der die zum Zeitpunkt der Einreichung dieser Patentanmeldung bekannten Äquivalente und vorhersehbare Äquivalente beinhaltet.

Claims (10)

  1. Verfahren zum Auffinden der Ursache eines Masseversatzes in einem Netzwerk mit elektronischen Geräten, die durch einen Kommunikationsbus (106) verbunden sind, und die Folgendes umfasst: Feststellen der Signalspannungen auf dem Kommunikationsbus (106), die auf einen Masseversatz-Zustand schließen lassen; Speichern der Spannungs-Zeitstempel für die erfassten Signalspannungen, wobei jeder erkannten Signalspannung ein entsprechender Spannungs-Zeitstempel zugeordnet ist; Versehen der Nachrichten (212, 214, 216, 218) am Kommunikationsbus (106) mit einem Nachrichten-Zeitstempel, wobei jeder Nachricht (212, 214, 216, 218) ein entsprechender Nachrichten-Zeitstempel zugeordnet wird; Vergleichen des Nachrichten-Zeitstempels mit dem Spannungs-Zeitstempel; und Identifikation von zumindest einem der elektronischen Geräte, die die Ursache des Masseversatzes sind, basierend auf diesem Vergleich.
  2. Verfahren nach Anspruch 1, worin der Vergleich umfasst: Feststellen, ob ein Unterschied zwischen einem Nachrichten-Zeitstempel einer bestimmten Nachricht und einem Spannungs-Zeitstempel unter einem Schwellwert liegt.
  3. Verfahren nach Anspruch 1, worin die Erfassung Folgendes umfasst: Messen der Signalspannungen im Kommunikationsbus (106); Vergleichen der gemessenen Signalspannungen mit einer Schwellenspannung; und wenn eine gemessene Signalspannung größer ist als die Schwellenspannung, Protokollierung, dass die gemessene Signalspannung auf einen Masseversatz-Zustand schließen lässt.
  4. Verfahren nach Anspruch 1, worin: die Erfassung der Signalspannungen durch eine erste Verarbeitungsroutine erfolgt; das Speichern der Spannungs-Zeitstempel durch die erste Verarbeitungsroutine erfolgt; die Zuordnung des Nachrichten-Zeitstempels durch die zweite Verarbeitungsroutine erfolgt; der Vergleich der Zeitstempel durch die zweite Verarbeitungsroutine erfolgt; und die Methode die erste Verarbeitungsroutine und die zweite Verarbeitung unabhängig voneinander und parallel zueinander ausführt.
  5. System für die Diagnose eines Controller Area Networks (CAN) an Bord eines Host-Fahrzeugs, wobei das CAN eine Vielzahl elektronischer Steuergeräte (ECUs) umfasst, die über einen CAN-Kommunikationsbus (106) miteinander verbunden sind und das System Folgendes umfasst: einen Prozessor (110); und ein Speichermedium (112), das mit dem Prozessor (110) verbunden ist, wobei das Speichermedium (112) von einem Prozessor (110) ausführbare Anweisungen enthält, die, wenn Sie vom Prozessor (110) ausgeführt werden, in der Lage sind, eine Methode zum Auffinden einer Ursache für einen Masseversatz im CAN auszuführen, und die Folgendes umfasst: Erkennen von Signalspannungen am CAN-Kommunikationsbus (106), die darauf schließen lassen, dass ein Masseversatz-Zustand vorliegt; Speichern der Spannungs-Zeitstempel für die erfassten Signalspannungen, wobei jeder erkannten Signalspannung ein entsprechender Spannungs-Zeitstempel zugeordnet ist; Versehen der Nachrichten (212, 214, 216, 218) am CAN-Kommunikationsbus (106) mit einem Nachrichten-Zeitstempel, wobei jeder Nachricht (212, 214, 216, 218) ein entsprechender Nachrichten-Zeitstempel zugeordnet wird; Vergleichen des Nachrichten-Zeitstempel mit dem Spannungs-Zeitstempel; und Identifikation von zumindest einem der ECUs, die, basierend auf diesem Vergleich, die Ursache des Masseversatzes sind.
  6. System nach Anspruch 5, worin der Vergleich umfasst: Feststellen, ob der Unterschied zwischen einem Nachrichten-Zeitstempel einer bestimmten Nachricht und einem Spannungs-Zeitstempel unter einem Schwellwert liegt.
  7. System nach Anspruch 5, worin die Erfassung umfasst: Messung der Signalspannungen auf dem CAN-Kommunikationsbus; Vergleich der gemessenen Signalspannungen mit einer Schwellenspannung; und wenn eine gemessene Signalspannung größer ist als die Schwellenspannung, Protokollierung, dass die abgefragte Signalspannung auf einen Masseversatz-Zustand schließen lässt.
  8. System nach Anspruch 5, worin: das Erfassen der Signalspannungen durch eine erste Verarbeitungsroutine erfolgt, die durch die vom Computer ausführbaren Anweisungen definiert werden; das Speichern der Spannungs-Zeitstempel durch die erste Verarbeitungsroutine erfolgt; das Versehen der Nachrichten mit einem Zeitstempel durch eine zweite Verarbeitungsroutine, die durch die vom Computer ausführbaren Anweisungen definiert werden, erfolgt; der Vergleich der Zeitstempel durch die zweite Verarbeitungsroutine erfolgt; und die erste Verarbeitungsroutine und die zweite Verarbeitung unabhängig voneinander und parallel zueinander ausgeführt werden.
  9. System nach Anspruch 5, weiter umfassend: ein zentrales Gateway-Modul an Bord des Host-Fahrzeugs und gekoppelt mit den ECUs über den CAN-Kommunikationsbus (106), worin das zentrale Gateway-Modul den Prozessor (110) und das Speichermedium (112) umfasst.
  10. System nach Anspruch 5, weiter umfassend: ein Diagnosewerkzeug außerhalb des Host-Fahrzeugs, das eine Schnittstelle für die Kommunikation mit dem CAN-Kommunikationsbus (106) besitzt, worin das Diagnosewerkzeug den Prozessor und das Speichermedium umfasst.
DE102016112864.3A 2015-07-16 2016-07-13 Ermittlung der Ursache für einen Masseversatz in einem Controller Area Network Active DE102016112864B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/800,796 US9589394B2 (en) 2015-07-16 2015-07-16 Determining the source of a ground offset in a controller area network
US14/800,796 2015-07-16

Publications (2)

Publication Number Publication Date
DE102016112864A1 DE102016112864A1 (de) 2017-01-19
DE102016112864B4 true DE102016112864B4 (de) 2023-10-12

Family

ID=57630066

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016112864.3A Active DE102016112864B4 (de) 2015-07-16 2016-07-13 Ermittlung der Ursache für einen Masseversatz in einem Controller Area Network

Country Status (3)

Country Link
US (1) US9589394B2 (de)
CN (1) CN106354117B (de)
DE (1) DE102016112864B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462155B2 (en) 2017-03-17 2019-10-29 Cylance Inc. Electronic control unit protection framework using security zones
US10757113B2 (en) * 2017-03-17 2020-08-25 Cylance Inc. Communications bus signal fingerprinting
US10275615B2 (en) 2017-03-17 2019-04-30 Cylance Inc. Communications bus data transmission using relative ground shifting
GB202002906D0 (en) * 2020-02-28 2020-04-15 Eaton Intelligent Power Ltd A message ID decoding method
CN114363107B (zh) * 2021-12-29 2024-05-07 上海联影医疗科技股份有限公司 一种控制器局域网总线的分时调度方法和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003104038A1 (en) 2002-06-10 2003-12-18 Philips Intellectual Property & Standards Gmbh Circuit for detecting ground offset of parts of a network
DE10349600A1 (de) 2002-10-25 2004-05-13 Infineon Technologies Ag Verfahren zur Überprüfung von Leitungsfehlern in einem Bussystem und Bussystem

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646865A (en) * 1994-10-27 1997-07-08 General Motors Corporation Automotive diagnostic communications
US7124019B2 (en) * 2004-08-06 2006-10-17 Ford Global Technologies, Llc Powertrain control module spark duration diagnostic system
US7188597B2 (en) * 2005-06-07 2007-03-13 International Engine Intellectual Property Company, Llc Engine cold start aid malfunction alert
JP3985002B2 (ja) * 2005-07-15 2007-10-03 三菱電機株式会社 車載電子制御装置
MY191823A (en) * 2007-08-03 2022-07-18 Omarco Network Solutions Ltd A system and a method of handling a multifunction transaction
JP4849164B2 (ja) * 2009-09-29 2012-01-11 株式会社デンソー 電圧監視装置
FR2953983B1 (fr) * 2009-12-15 2012-01-13 Areva T & D Sas Procede de commande d'un appareil d'interruption de courant dans un reseau electrique haute tension
US10541533B2 (en) * 2011-09-16 2020-01-21 Varentec, Inc. Systems and methods for edge of network voltage control of a power grid
JP5472276B2 (ja) * 2011-12-14 2014-04-16 株式会社デンソー 車両用通信制御装置
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
KR102146707B1 (ko) * 2012-08-09 2020-08-21 삼성전자주식회사 부하 전류 제어 방법, 부하 전류 제어 장치 및 이를 구비하는 모바일 기기
CN103941068B (zh) * 2013-01-22 2017-06-16 中芯国际集成电路制造(上海)有限公司 一种用于测量阈值电压漂移的芯片上传感器
EP2894485B1 (de) * 2014-01-10 2019-10-16 Volvo Car Corporation Verfahren zur Durchführung eines Diagnosetests einer Lichtmaschine in einem Fahrzeug, Testanordnung und Fahrzeug
KR101583962B1 (ko) * 2014-08-01 2016-01-19 현대자동차주식회사 충전상태 진단 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003104038A1 (en) 2002-06-10 2003-12-18 Philips Intellectual Property & Standards Gmbh Circuit for detecting ground offset of parts of a network
DE10349600A1 (de) 2002-10-25 2004-05-13 Infineon Technologies Ag Verfahren zur Überprüfung von Leitungsfehlern in einem Bussystem und Bussystem

Also Published As

Publication number Publication date
DE102016112864A1 (de) 2017-01-19
US20170018123A1 (en) 2017-01-19
CN106354117B (zh) 2019-03-15
CN106354117A (zh) 2017-01-25
US9589394B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
DE102016112864B4 (de) Ermittlung der Ursache für einen Masseversatz in einem Controller Area Network
EP2040957B1 (de) Verfahren und vorrichtung zur plausibilitätskontrolle von messwerten im kraftfahrzeugumfeld
DE102016107923B4 (de) Detektion eines ECU-Erdungsfehlers mit Spannungsmessungen am CAN-Bus
DE102016223712A1 (de) Ecu-massefehler-isolierung für ein verzögerungssystem
EP2526431B1 (de) Verfahren und vorrichtung zur überwachung eines frequenzsignals
DE102017124645A1 (de) Bordeigenes Netzwerksystem, Kommunikationssteuerungsverfahren in dem bordeigenen Netzwerksystem und bordeigenes Gateway
EP1796051B1 (de) Diagnosevorrichtungen in einem Fahrzeug mit Diagnoseframework für Diagnosemodule
DE3934974A1 (de) Vorrichtung zur funktionskontrolle mehrerer steuergeraete in einem kraftfahrzeug
DE102015108315A1 (de) Verfahren und vorrichtung zur kurzschlussfehlerdetektion in einem controller area network
DE102015108333A1 (de) Verfahren und vorrichtung zur kurzschlussfehlerisolierung in einem controller area network
DE102014112095A1 (de) Verfahren und Vorrichtung zum Isolieren eines Fehlers in einem Controller Area Network
DE102016124352A1 (de) Kommunikationssystem und ein in dem Kommunikationssystem ausgeführtes Informationssammelverfahren
WO2013041296A1 (de) Verfahren und vorrichtung zum koppeln eines ersten sensors mit zumindest einem zweiten sensor
DE102016101738A1 (de) Sensorbussystem und Einheit mit interner Ereignisüberprüfung
DE102008010628A1 (de) Verfahren zum Erfassen von Diagnosedaten in einem Kraftfahrzeug mittels eines flüchtigen Ringspeichers und anschließender Datenreduktion in einen nichtflüchtigen Speicher
DE102010028485B4 (de) Verfahren und Vorrichtung zur Absicherung von über eine Schnittstelle zu übertragenden Datenpaketen
EP4042106B1 (de) Verfahren zur erkennung einer zielposition einer anzeige- und/oder steuereinheit in einer haltevorrichtung sowie entsprechende anzeige- und/oder steuereinheit
EP3643541B1 (de) System zur überwachung des reifendrucks
DE112021004416T5 (de) Detektionsvorrichtung für erdungskurzschlüsse und knotenvorrichtung
BE1026569B1 (de) Steuer- und Datenübertragungsanlage zur Unterstützung verschiedener Kommunikationsprotokolle und ein Adaptermodul
WO2021032256A1 (de) Verfahren zur positionserkennung eines busteilnehmers
DE102017218054B4 (de) Verfahren zur Auswertung von Daten mindestens eines Raddrehzahlsensors und Steuergerät
DE102019101124A1 (de) Überwachungsvorrichtung, Überwachungsverfahren und Programm
DE102020214058A1 (de) Fahrzeug, Computerprogramm, Vorrichtung und Verfahren für ein Fahrzeug
DE19601835B4 (de) Verfahren zur Überwachung einer seriellen Übertragung von digitalen Datennachrichten zwischen untereinander kommunizierenden Signalverarbeitungsgeräten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHWEIGER PARTNERSCHAFT PATENTANWALT UND RECHT, DE

Representative=s name: SCHWEIGER & PARTNERS, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R082 Change of representative

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

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0043000000

Ipc: H04L0043160000

R016 Response to examination communication
R018 Grant decision by examination section/examining division