AT513358B1 - Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls - Google Patents

Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls Download PDF

Info

Publication number
AT513358B1
AT513358B1 ATA50826/2013A AT508262013A AT513358B1 AT 513358 B1 AT513358 B1 AT 513358B1 AT 508262013 A AT508262013 A AT 508262013A AT 513358 B1 AT513358 B1 AT 513358B1
Authority
AT
Austria
Prior art keywords
bus
data
data signal
bit
message
Prior art date
Application number
ATA50826/2013A
Other languages
English (en)
Other versions
AT513358A2 (de
AT513358A3 (de
Inventor
Dipl Ing Peter (Fh) Egger
Humpel Sebastian
Zach Christoph
Fuchs Hannes
Original Assignee
Avl List Gmbh
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 Avl List Gmbh filed Critical Avl List Gmbh
Priority to ATA50826/2013A priority Critical patent/AT513358B1/de
Publication of AT513358A2 publication Critical patent/AT513358A2/de
Priority to DE112014005703.7T priority patent/DE112014005703A5/de
Priority to PCT/EP2014/077812 priority patent/WO2015091386A1/de
Publication of AT513358A3 publication Critical patent/AT513358A3/de
Application granted granted Critical
Publication of AT513358B1 publication Critical patent/AT513358B1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40241Flexray
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)

Abstract

Um eine Zuordnungsdatei für ein Kommunikationsprotokoll eines Datenbus einer Maschine auf einfache Weise ermitteln zu können ist vorgesehen, dass an der Maschine (2) eine vorgegebene Handlungsabfolge durchführt wird, die am Datenbus (1) zumindest ein gesuchtes Datensignal (DS) in einer Busnachricht (N) erzeugt und während der Handlungsabfolge die über den Datenbus (1) gesendeten Busnachrichten (N) aufgezeichnet werden, wobei zumindest ein Teil der Datenfelder (D) der aufgezeichneten Busnachrichten (N) mittels einer heuristischen Methode, die einen Zusammenhang zwischen Handlungsabfolge und Datensignal (DS) herstellen, ausgewertet werden, woraus für das gesuchte Datensignal (DS) eine mögliche Busnachricht (N) mit einem Nachrichtenidentifier (ID) und eine mögliche Bitposition (P) und Länge (L) des Datensignals (DS) in der Busnachricht (N) ermittelt wird und dass der Nachrichtenidentifier (ID) der Busnachricht (N) und die Bitposition (P) und Länge (L) des Datensignals (DS) in der Busnachricht (N) in die Zuordnungsdatei (5) eingetragen wird.

Description

VERFAHREN ZUM ERSTELLEN EINER ZUORDNUNGSDATEI EINES KOMMUNIKATIONSPROTOKOLLS [0001] Die gegenständliche Erfindung betrifft ein Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls eines Datenbus, wobei das Kommunikationsprotokoll eine Vielzahl von über den Datenbus gesendete, durch Nachrichtenidentifier gekennzeichnete Busnachrichten umfasst, die von einer Vielzahl von am Datenbus angeordneten Steuergeräten einer Maschine gesendet oder empfangen werden, und in Datenfeldern von Busnachrichten mit verschiedenen Nachrichtenidentifier verschiedene Datensignale enthalten sind.
[0002] In modernen Fahrzeugen sind verschiedene Steuergeräte über einen Datenbus, in der Regel ein CAN-Bus, miteinander verbunden und tauschen über den Datenbus gemäß dem Busprotokoll und den darin festgelegten Regeln (z.B. Synchronisierung, Arbitrierung, Datensicherung, etc.) und Datenformaten (Datenframeaufbau einer Nachricht) Daten in Form von über den Bus versendeten Nachrichten aus. Solche Datenbusse finden aber natürlich auch in anderen Bereichen, wie z.B. in der Automatisierungstechnik, Anwendung. Als Steuergerät wird hier allgemein jedes Gerät bezeichnet, das am Datenbus hängt und Daten über den Bus überträgt oder von diesem empfängt. Die Datenkommunikation erfolgt dann anhand eines festgelegten Kommunikationsprotokolls, also anhand einer „Sprache“ die am Datenbus „gesprochen“ wird. Z.B. enthält eine CAN-Nachricht unter anderem eine CAN-ID (CAN Identifier) zur Identifikation einer CAN-Nachricht und ein Datenfeld, in der Regel 64 Bits, in dem Daten übermittelt werden. Die Summe der CAN-Nachrichten stellt damit den „Sprachschatz“ des Kommunikationsprotokolls dar.
[0003] Ein Entwickler des Kommunikationsprotokolls, das am CAN-Bus implementiert wird, legt dabei die CAN-Nachrichten (bzw. die CAN-IDs) und deren Inhalt fest. Z.B. muss festgelegt werden, welche Daten (Signale) in welcher CAN-Nachricht an welcher Stelle im Datenfeld liegen und wie lange (in Bits) diese Daten sind. In einem Fahrzeug können dabei hunderte verschiedene CAN-Nachrichten mit Daten in Form von Fahrzeugparametern, Messgrößen, Steuergrößen, Fahrzeugfunktionen, etc. mit unterschiedlicher Datenlänge (allgemein Datensignale) definiert sein. Diese Zuordnung erfolgt in der Regel in einer sogenannten Zuordnungsdatei, wie z.B. einer bekannten DBC-Datei. Mit Kenntnis der Zuordnungsdatei kann mit Hilfe von sogenannten Bus- oder Protokollanalysatoren der Datenverkehr am CAN-Bus dekodiert und z.B. weiterverarbeitet, verglichen oder dargestellt werden. Die Zuordnungsdatei bzw. das zugrunde liegende Kommunikationsprotokoll ist, vor allem in der Fahrzeugindustrie, aber proprietär und ist in aller Regel nicht offengelegt. Ohne Kenntnis der Zuordnungsdatei kann aber der Datenverkehr am CAN-Bus nicht analysiert oder interpretiert werden.
[0004] Die Analyse eines CAN-Buses bei unbekannter Zuordnungsdatei erfolgte bisher durch erfahrene Ingenieure durch Loggen und Visualisieren des Datenstromes am CAN-Bus. Glaubt der Ingenieur ein Signal im Datenfeld identifiziert zu haben, trägt er dieses in die zu erstellende Zuordnungsdatei ein und verifiziert dieses anhand von Messungen am Fahrzeug bzw. allgemein am CAN-Netzwerk, das in einer Maschine implementiert ist. Ergeben die Messungen plausible Ergebnisse für das Signal, wird die Zuordnung beibehalten, ansonsten verworfen. Das bisherige Vorgehen war daher ein reines Trial and Error und eigentlich mehr ein Raten, als ein gezieltes Vorgehen. Dementsprechend lange dauert dieses rein manuelle Analysieren des CAN-Datenverkehrs.
[0005] Dieselben Probleme können dabei auch bei anderen nachrichtenbasierten Datenbusses, und nicht nur beim CAN-Bus, auftreten, wie z.B. bei einem Flexray-Bus.
[0006] Es ist daher eine Aufgabe der gegenständlichen Erfindung, ein Verfahren anzugeben, das es erlaubt, auf einfache und schnelle Weise zumindest teilweise eine Zuordnungsdatei für ein Kommunikationsprotokoll eines Datenbus und die darauf übertragenen Nachrichten zu erstellen.
1/16
AT 513 358 B1 2020-02-15 österreichisches patentamt
[0007] Diese Aufgabe wird erfindungsgemäß dadurch gelöst, dass an der Maschine eine vorgegebene Handlungsabfolge durchführt wird, die am Datenbus zumindest ein gesuchtes Datensignal in einer Busnachricht erzeugt und während der Handlungsabfolge die über den Datenbus gesendeten Busnachrichten aufgezeichnet werden, wobei die Datenfelder der aufgezeichneten Busnachrichten mittels einer heuristischen Methode, die einen Zusammenhang zwischen Handlungsabfolge und Datensignal herstellen, ausgewertet werden, indem mit der Handlungsabfolge ein zu erwartendes Bitmuster in Datenfeldern der Busnachrichten provoziert werden, das dann durch einen Auswertealgorithmus gefunden und analysiert wird, woraus für das gesuchte Datensignal eine mögliche Busnachricht mit einem Nachrichtenidentifier und eine mögliche Position und Länge des Datensignals in der Busnachricht ermittelt wird und dass der Nachrichtenidentifier der Busnachricht und die Position und Länge des Datensignals in der Busnachricht in die Zuordnungsdatei eingetragen wird. Durch die Vorgabe einer bestimmten Handlungsabfolge können charakteristische Veränderungen in gesuchten Datensignalen hervorgerufen werden, die durch eine heuristische Methode, die diesen Zusammenhang auswertet, detektiert werden können. Damit können bestimmte zugehörige Datensignale, also insbesondere deren Position und Länge und die Zugehörigkeit zu einem bestimmten Nachrichtenidentifier, ermittelt werden oder zumindest einige potentielle Kandidaten für das gesuchte Datensignal bestimmt werden. Nachdem die Handlungsabfolge und die Auswertung der Busnachrichten auch automatisiert oder zumindest teilautomatisiert ablaufen können, können zumindest Teile der Zuordnungsdatei sehr rasch und einfach durch wenige Testfälle ermittelt werden. Die Zuordnungsdatei kann dann auf an sich bekannte Weise zur Analyse des Busverkehrs über den Datenbus herangezogen werden.
[0008] Dabei lassen sich verschiedenste Handlungsabfolgen, die eine bestimmte Veränderung einer Größe in einem Datensignal einer Busnachricht zur Folge hat, festlegen, die mit verschiedensten heuristischen Methoden ausgewertet werden können. Beispiele dafür werden in der nachfolgenden, nicht einschränkenden oder abschließenden, Beschreibung und den Ansprüchen erläutert.
[0009] Unter einer heuristischen Methode wird hier ein analytisches Verfahren bezeichnet, bei dem mit begrenztem Wissen über ein Problem mit Hilfe von Annahme Schlussfolgerungen über das Problem getroffen werden, die die Anzahl der möglichen Lösungen des Problems einschränken. Im konkreten Fall soll also durch eine gezielte Handlungsabfolge an der Maschine ein bestimmtes zu erwartendes Bitmuster in Datenfeldern der Busnachrichten provoziert werden, das dann durch geeignete Auswertealgorithmen gefunden und analysiert werden kann.
[0010] Die gegenständliche Erfindung wird nachfolgend unter Bezugnahme auf die Figuren 1 bis 9 näher erläutert, die beispielhaft, schematisch und nicht einschränkend vorteilhafte Ausgestaltungen der Erfindung zeigen. Dabei zeigt
[0011] Fig.1 einen Datenbus mit Steuergeräten und einer Busanalyseeinheit zur Ermittlung der Zuordnungsdatei,
[0012] Fig.2 [0013] Fig.3 einen typischen Datenframe einer Busnachricht, einen Nachrichtenverkehr über den Datenbus in Folge einer bestimmten Handlungsabfolge,
[0014] Fig.4 bis 6 [0015] Fig.7 [0016] Fig.8 und 9 eine erste heuristische Methode, eine zweite heuristische Methode und eine weitere heuristische Methode.
[0017] In Fig.1 ist beispielhaft ein Datenbus 1, wie z.B. ein CAN-Bus, gezeigt, an dem eine Mehrzahl von Steuergeräten S1, S2, ..., Sn angeschlossen sind, die über den Datenbus 1 Daten in Form von Busnachrichten N1, N2, ..., Nm versenden, wobei natürlich immer nur eine Busnachricht N1, N2, ..., Nm nach der anderen am Datenbus 1 übertragen werden kann. In Fig.2 ist ein typischer Aufbau einer Busnachricht Nx (auch Datenframe genannt) dargestellt. Die Busnachricht Nx umfasst einen Header H, der unter anderem auch einen, die Busnachricht Nx
2/16
AT 513 358 B1 2020-02-15 österreichisches patentamt kennzeichnenden Nachrichtenidentifier ID beinhaltet, ein Datenfeld D und Overheaddaten OV, die z.B. auch Daten zur Fehlererkennung und Fehlerkorrektur beinhalten können. Der Aufbau der Busnachricht Nx ist dabei durch den Datenbus 1 festgelegt und vorgegeben. Die Steuergeräte S1, S2, ..., Sn können dabei unterschiedliche Busnachrichten N1, N2, ..., Nm, unterschieden durch die Nachrichtenidentifier ID, die verschiedene Datensignale DS enthalten können, senden und empfangen. Als Steuergeräte S1, S2, ..., Sn wird hier jedes Gerät verstanden, das an den Datenbus 1 angeschlossen werden kann und in der Lage ist, Busnachrichten N1, N2, ..., Nm zu senden und/oder zu empfangen.
[0018] Der Datenbus 1 ist in einer Maschine 2, z.B. eine Bearbeitungsmaschine, eine Fertigungsmaschine, ein Fahrzeug, etc., implementiert und kann zur Steuerung der Maschine 2 und/oder zum Datenaustausch zwischen Steuergeräte S1, S2, ..., Sn in der Maschine 2 dienen.
[0019] In einer Zuordnungsdatei 5, z.B. einer dbc-Datei, ist unter anderem aufgelistet, in welchen Busnachrichten N (Nachrichtenidentifier ID) welche Datensignale DS im Datenfeld D enthalten, an welcher Position P im Datenfeld (in Bit) diese beginnen und welche Länge L in Bit die Datensignale DS aufweisen, wie in Fig.1 angedeutet. Daneben kann auch noch die Byte Order (Intel oder Motorola Format), eine Einheit eines Datensignals DS, die Vorzeicheninterpretation eines Datensignals DS (Signed oder Unsigned), ein Faktor F und Offset O (siehe weiter unten) in einer Zuordnungsdatei 5 enthalten sein. Die Zuordnungsdatei 5 wird dabei durch das am Datenbus 1 implementierte Kommunikationsprotokoll festgelegt. Mit einer solchen Zuordnungsdatei 5 kann der Nachrichtenverkehr am Datenbus 1 analysiert werden, z.B. mittels bekannter Packet Analyzer oder Bus Analyzer. Ohne Kenntnis der Zuordnungsdatei 5 ist es aber nicht möglich, den Nachrichtenverkehr am Datenbus 1 auszuwerten oder zu analysieren.
[0020] Eine unbekannte Zuordnungsdatei 5, oder zumindest Teile davon, kann aber auf einfache Weise erstellt werden, wie nachfolgend anhand eines Datenbus 1, z.B. ein CAN-Bus, in einer Maschine 2, wie z.B. ein Fahrzeug, beschrieben wird.
[0021] Ein Maschinenbenutzer 3, wie z.B. ein Fahrer eines Fahrzeugs, bringt die Maschine 2 vorzugsweise zuerst in einen definierten Anfangszustand, z.B. muss der Motor des Fahrzeugs gestartet sein und muss im Leerlauf laufen. Dem Maschinenbenutzer 3 wird von einer Busanalyseeinheit 4 eine vorgegebene Handlungsabfolge vorgeschrieben, die er an der Maschine auszuführen hat, z.B. „Bremspedal betätigen“, „Gas geben“, „Hochschalten“, „Motordrehzahl über einen gewissen Zeitraum auf einem bestimmten Wert halten“, „Motordrehzahl variieren“, „bestimmte Geschwindigkeit/Motordrehzahl fahren“, etc. Die Handlungsabfolge kann dazu z.B. von der Busanalyseeinheit 4 an einer Ausgabeeinheit angezeigt werden. Die Handlungsabfolge kann aber auch automatisiert oder semi-automatisch an der Maschine 2 ausgeführt werden, z.B. mittels Brems- oder Schaltrobotern, Maschinensteuereinheiten, etc. Diese Handlungsabfolge erzeugt am Datenbus 1 zumindest eine Busnachricht Nx mit einem Datensignal DS, in der Regel aber einen ganzen Nachrichtenverkehr in Form einer Vielzahl von Busnachrichten N1, N2, ..., Nm. Während der Handlungsabfolge werden die über den Datenbus 1 gesendeten Busnachrichten N1, N2, ..., Nm aufgezeichnet, vorzugsweise mit der Busanalyseeinheit 4, und die darin befindlichen Datenfelder D (bzw. zumindest Teile davon) mit heuristischen Methoden ausgewertet, um daraus die gesuchte Zuordnungsdatei 5, oder zumindest Teile davon, zu ermitteln. Dabei wird der Umstand ausgenutzt, dass bestimmte Datensignale DS immer in derselben Busnachricht Nx (Nachrichtenidentifier IDx) an derselben Stelle gesendet wird, z.B. wird die Drehzahl eines Verbrennungsmotors eines Fahrzeuges immer in einer bestimmten Busnachricht Nx in einem vorgegebenen Datensignal DS gesendet.
[0022] In vielen Kommunikationsprotokollen ist vorgesehen, dass große Zahlen und negative Zahlenwerte nicht direkt übermittelt werden, um die Länge der benötigten Datensignale zu verringern. Ebenso ist es vorteilhaft, wenn nur ganze Zahlen übertragen werden. Hierzu wird für einen Zahlenwert, z.B. die Drehzahl, ein Faktor F, z.B. 100, definiert, mit dem der übertragene Zahlenwert im Datensignal DS multipliziert werden muss, um auf den absoluten Zahlenwert zu kommen. Übertragen wird damit beispielsweise in einem Datensignal DS ein Zahlenwert 25 für die Drehzahl, der multipliziert mit dem zugeordneten Faktor F dann die Drehzahl 2500min'1
3/16
AT 513 358 B1 2020-02-15 österreichisches patentamt ergibt. Diese Faktoren F können ebenfalls in der Zuordnungsdatei 5 hinterlegt sein. Für Zahlen kann auch ein Offset O definiert sein. Wird eine Größe, z.B. die Temperatur, in einem Datensignal DS mit Zahlenwerten in einem Bereich, der negative und positive Zahlenwerte, z.B. -50°C bis 150°C, übertragen, dann kann ein Offset O, z.B. -50, definiert werden, der dann zum übertragenen Zahlenwert addiert (oder subtrahiert, je nach Vorzeichen des Offsets O) wird. Wird im angeführten Beispiel ein Zahlenwert von Null übertragen, dann würde das dann einen absoluten Zahlenwert von 0+(-50)=-50 ergeben. Auch ein allfälliges Offset O eines Datensignals DS kann in der Zuordnungsdatei 5 hinterlegt sein.
[0023] Ein Datensignal DS kann als potentieller Kandidat verworfen werden, wenn der dazu ermittelte Faktor F und/oder Offset O nicht zur vorgegebenen Handlungsabfolge bzw. dem im Datensignal DS durch die Handlungsabfolge enthaltenen Wert passt. Wird z.B. ein Datensignal DS für ein Drehmoment gesucht, dann können Datensignale DS zu denen ein Faktor F von z.B. 10.000 ermittelt wurde als unrealistisch verworfen werden.
[0024] In Fig.3 sind beispielhaft Busnachrichten N1, N2, Nm mit verschiedenen Nachrichtenidentifier IDx dargestellt, die durch die Handlungsabfolge am Datenbus 1 erzeugt wurden und in der Busanalyseeinheit 4 aufgezeichnet und gespeichert wurden. Der Einfachheit halber sind alle Busnachrichten N1, N2, ..., Nm mit gleicher Länge, wobei das natürlich nicht der Fall sein muss, und nur einige Datenfelder D mit Datensignalen DS dargestellt.
[0025] In einem ersten Schritt werden die aufgezeichneten Busnachrichten N1, N2, ..., Nm nach den Nachrichtenidentifiern ID1, ID2, ..., IDx gruppiert. Die heuristischen Methoden werden dann jeweils auf eine Gruppe der aufgezeichneten Busnachrichten N1, N2, ..., Nm mit gleichen Nachrichtenidentifier, z.B. ID2, angewendet. Dabei werden vorzugsweise nacheinander alle vorkommenden Nachrichtenidentifier ID untersucht.
[0026] Die heuristischen Methoden werden nachfolgend anhand von konkreten Ausführungsbeispielen an einem Datenbus 1 eines Fahrzeugs als Maschine 2 beschrieben.
METHODE 1:
[0027] Es wird eine Handlungsabfolge vorgegeben, bei der ein Maschinenteil einen boolschen Wert (Null oder Eins, Ein oder Aus, Aktiviert oder Nicht-Aktiviert, etc.) annimmt und der boolsche Wert in einem Datensignal DS übertragen wird. Das kann in einem Fahrzeug z.B. Bremse gedrückt oder Bremse nicht gedrückt sein, oder Gaspedal voll durchgedrückt (Kick Down) oder Gaspedal nicht voll durchgedrückt sein. Ein solcher boolscher Wert kann, und wird in der Regel, in einem Datensignal DS mit der Länge L von 1 Bit übertragen werden.
[0028] Die dabei aufgezeichneten Busnachrichten N eines Nachrichtenidentifiers IDx, bzw. deren Datenfelder D, sind in Fig.4 dargestellt. Zuerst werden die Datenfelder der Busnachrichten N1, N2, N3 und N4, N5, N6 des Nachrichtenidentifiers IDx für jede Handlung (Bremse gedrückt, Bremse nicht gedrückt) bitweise summiert, es wird also für jedes Bit im Datenfeld D die arithmetische Summe gebildet und damit für jedes Bit das Auftreten einer „Eins“ gezählt. Das Ergebnis davon ist in Fig.4 mit Σ1 und Σ2 dargestellt. Danach werden diese Summen Σ1 und Σ2 mit der Anzahl der Busnachrichten N1, N2, N3 und N4, N5, N6 des Nachrichtenidentifiers IDx für jede Handlung der Handlungsabfolge gewichtet. Das Ergebnis ist in Fig.5 dargestellt. Die gewichteten Summen werden dann voneinander subtrahiert, wobei der Absolutwert der Differenz verwendet wird, wie in Fig. 6 dargestellt. Der dadurch berechnete Wert entspricht der Wahrscheinlichkeit, dass ein Bit in der Differenz Σ1 - Σ2 das bekannte Verhalten des gesuchten Datensignals DS darstellt. Das kann für alle während der Handlungsabfolge aufgezeichneten Nachrichtenidentifier ID durchgeführt werden. Datensignale DS (der Länge 1 Bit) deren Wahrscheinlichkeit einen definierten Schwellwert überschreiten, z.B. größer 95%, werden als mögliches Ergebnis akzeptiert und als Vorschlag des gesuchten Datensignals DS über die Busanalyseeinheit 4 angeboten bzw. ausgegeben. Die Werte der Differenz Σ1 - Σ2 stellen Wahrscheinlichkeiten dar, wobei „1“ einer Wahrscheinlichkeit von 100% entspricht. Die Datensignale DS mit den höchsten Wahrscheinlichkeiten korrelieren am besten mit dem gesuchten Datensignal DS in den Busnachrichten N. In diesem Beispiel gibt es drei Datensignale DS, die zu 100% mit dem
4/16
AT 513 358 B1 2020-02-15 österreichisches patentamt gesuchten Datensignal korrelieren. Damit kann ein Zusammenhang zwischen Handlungsabfolge und Datensignal DS hergestellt und das gesuchte Datensignal DS zumindest auf einige wenige mögliche Kandidaten in den erhaltenen Busnachrichten N eingeschränkt werden, im Idealfall auf ein einziges. Bei mehreren möglichen Kandidaten kann die endgültige Auswahl wie bisher durch einen Ingenieur vorgenommen werden, gegebenenfalls anhand von weiteren Tests an der Maschine. Alternativ können auch weitere Auswahlkriterien angewendet werden, um die Auswahl weiter einzuschränken.
[0029] Diese erste Methode kann auf einfache Weise auch angewendet werden, wenn ein boolscher Wert nicht in einem Bit übertragen wird, sondern zwei benachbarte Bits dafür verwendet werden, z.B. Bit n für „Gaspedal voll betätigt“ und Bit n+1 für „Gaspedal nicht betätigt“. In diesem Fall kann die obige Methode gleich ablaufen, wobei dann in der Differenz Σ1 - Σ2 unmittelbar nebeneinanderliegende Bitposition mit hoher Wahrscheinlichkeit identifiziert werden, die dann Kandidaten für das gesuchte Datensignal DS darstellen.
METHODE 2:
[0030] Mit dieser zweiten Methode sollen Datensignale DS in Datenfeldern D von Busnachrichten N, die veränderliche Zahlenwerte, wie z.B. Drehzahl oder Drehmoment eines Verbrennungsmotors, repräsentieren, gefunden werden. Dazu wird eine Handlungsabfolge vorgegeben, bei der sich eine Größe der Maschine 2 kontinuierlich ändert, z.B. größer oder kleiner wird. Dabei soll vorzugsweise ein großer Bereich der veränderlichen Größe abgedeckt werden und es sollen vorzugsweise sprunghafte Änderungen der Größe vermieden werden. Im Beispiel des Fahrzeugs kann die Größe z.B. die Drehzahl oder das Drehmoment sein, die über das Gaspedal kontinuierlich gesteigert oder verringert wird, z.B. vom Leerlauf zu maximalen Drehzahl. Für diese Methode werden wiederum jeweils alle aufgezeichneten Busnachrichten N, bzw. die Datenfelder D, eines Nachrichtenidentifiers IDx zusammengefasst und untersucht. In allen Datenfeldern der Busnachrichten eines Nachrichtenidentifiers IDx wird die Häufigkeit der Änderung in jeder Bitposition, also von 0 auf 1, oder umgekehrt, im Datenfeld D ermittelt. Es könnte aber auch nur ein bestimmter Suchbereich eines Datenfeldes D, z.B. nur die ersten 4 Bytes eines 8 Bytes langen Datenfeldes D, untersucht werden. Daraus wird ein Histogramm für die Häufigkeit H der Änderung für jede Bitposition erstellt, wie in Fig.7 anhand eines 64-Bit großen Datenfeldes D einer Busnachricht N dargestellt ist. Aus dem Histogramm der Änderungen können die Grenzen der Datensignale DS von veränderlichen Größen innerhalb einer Busnachricht N erkannt werden.
[0031] Aus der vorgegebenen Handlungsabfolge, z.B. Erhöhen der Drehzahl von Leerlauf bis zu einer Drehzahl von 4000min'1, folgt, dass das gesuchte Datensignal DS während der Durchführung der Handlungsabfolge seinen Wert kontinuierlich ändert. Die niedrigste Stelle (LSB) im gesuchten Datensignal DS ändert sich gemäß der Charakteristik binärer Zahlenwerte dabei sehr oft, wohingegen sich die höchste Stelle (MSB) selten ändert. Dadurch entsteht im Histogramm eine charakteristische Sägezahn-Form für das gesuchte Datensignal DS, die je nachdem wie schnell die Änderung erfolgt im Bereich des LSB abgeflacht ist und zum MSB hin schnell absinkt.
[0032] Im Beispiel-Histogramm nach Fig.7 erkennt man, dass die Bits 8-17 (DS1) und 32-44 (DS2) in Busnachrichten N eines Nachrichtenidentifiers IDx eine derartige Charakteristik aufweisen. Dabei kann auch eine Mindestlänge und/oder Maximallänge, z.B. mindestens 8 Bit, für das gesuchte Datensignal DS vorgegeben sein, bzw. bekannt sein, wodurch zu kurze oder zu lange Datensignale DS verworfen werden können. Ebenso kann auch der Unterschied zwischen Intel- und Motorola-Format berücksichtigt werden. Damit kann wieder ein Zusammenhang zwischen Handlungsabfolge und gesuchtem Datensignal DS hergestellt und das gesuchte Datensignal DS zumindest auf einige wenige mögliche Kandidaten in den erhaltenen Busnachrichten N eingeschränkt werden, im Idealfall auf ein einziges Datensignal DS. Bei mehreren möglichen Kandidaten kann die endgültige Auswahl wie bisher durch einen Ingenieur vorgenommen werden, gegebenenfalls anhand von weiteren Tests an der Maschine. Alternativ können auch weitere Auswahlkriterien angewendet werden, um die Auswahl weiter einzuschrän
5/16
AT 513 358 B1 2020-02-15 österreichisches patentamt ken.
[0033] Wenn durch die Handlungsabfolge auch eine Referenzwert vorgegeben wird, z.B. anfahren der Drehzahl von 2000min'1 und 3000min'1 nach dem kontinuierlichen Ändern der Größe, dann kann einem Datensignal DS aus den in den ermittelten Datensignalen DS1, DS2 enthaltenen Zahlenwerten auch ein Faktor F und ein Offset O zugeordnet werden. Wird z.B. im Datensignal DS2 bei Erreichen des Referenzwertes ein Zahlenwert von 20 übermittelt, dann kann aufgrund des vorgegebenen Referenzwertes von 2000min'1 auf einen Faktor F von 100 geschlossen werden. Durch Vergleich mit einem vorgegebenen Referenzwert kann in gleicher Weise auf ein allfälliges Offset O für ein Datensignal DS geschlossen werden.
[0034] Um die gefundenen potentiellen Kandidaten für das gesuchte Datensignal DS weiter einzuschränken, können Messungen mit bekannten Referenzwerten, z.B. eine Drehzahl von 2500min'1, durchgeführt oder herangezogen werden, vorzugsweise nachdem ein Faktor F und Offset O bestimmt wurden. Dabei werden die Busnachrichten, die das gesuchte Datensignal enthalten aufgezeichnet oder aufgezeichnete Busnachrichten abgerufen. Es wird ein Schwellwert größer Null, z.B. 2%, definiert, innerhalb dem der Wert in den Datensignalen DS der potentiellen Kandidaten bezüglich des Referenzwertes liegen muss, um nicht verworfen zu werden. Das kann für eine Messung oder für mehrere Messungen durchgeführt werden. Gleichfalls könnte auch eine maximale Anzahl von Messungen definiert werden, z.B. 10% aller Messungen, die um einen vorgegebenen Schwellwert abweichen dürfen. Alle Datensignale DS der potentiellen Kandidaten, deren Werte nun öfter als die definierte maximale Anzahl der Messungen außerhalb des Schwellwerts liegen, werden verworfen.
METHODE 3:
[0035] Mit dieser dritten Methode werden Datensignale DS gefunden, die einen bestimmten Zustand Z der Maschine 2 beinhalten, z.B. den aktuell eingelegten Gang, eine Wahlhebelposition eines Automatikgetriebes, die Stellung des Lichtschalters, etc. Dazu wird eine Handlungsabfolge vorgegeben, bei der ein Zustand Z, z.B. die Wahlhebelposition, geändert wird. Hierbei wird der Umstand ausgenutzt, dass sich bei einer Änderung des Zustandes Z auch das zugehörige Datensignal, das den Zustand Z beinhaltet, ändern muss. Während der Durchführung der Handlungsabfolge, z.B. Verändern der Wahlhebelposition eines Automatikgetriebes in die vorgesehenen Positionen Parking, Reverse, Neutral, Drive, Sport, werden zu definierten Zuständen Z wiederum die Busnachrichten N am Datenbus 1 aufgezeichnet. Es werden wiederum die Datenfelder D, oder Teile davon, der Busnachrichten N jedes Nachrichtenidentifiers IDx untersucht.
[0036] Für jeden Zustand Z, z.B. Zustand Z3 Neutral, werden alle Busnachrichten N1, N2, ..., Nm eines Nachrichtenidentifiers IDx untersucht und es wird geprüft, welche Bits im Datenfeld D der Busnachrichten N1, N2, ..., Nm konstant Nullwaren, konstant 1 waren oder sich während des Beibehaltens des Zustandes Z geändert haben, wie in Fig.8 dargestellt. Es werden also für alle Zustände Z Teilmasken erstellt, in denen konstant Null mit „0“, konstant Eins mit „1“ und veränderliche Bits mit „x“ markiert werden.
[0037] Bitpositionen, die sich während des Beibehaltens eines Zustandes Z ändern, können nicht in einem Datensignal DS liegen, die den konstanten Zustand Z repräsentieren. Damit kann aus Busnachrichten N eines Nachrichtenidentifiers IDx aller Zustände Z, also aus den Teilmasken eine Maske erstellt werden, die alle Bitpositionen ausschließt, die nicht im gesuchten Datensignal DS liegen können. Dabei wird jede Bitposition im Datenfeld D, in der für einen Zustand Z zumindest einmal ein „x“ steht mit Null in der Maske ausmaskiert. Die restlichen Bitpositionen in der Maske erhalten Eins und maskieren mögliche Bits desgesuchten Datensignals DS.
[0038] Hier ist noch eine weitere Verfeinerung möglich, wie anhand von Fig.9 beschrieben wird. Hier wird wiederum dieselbe Handlungsabfolge durchgeführt und es werden wiederum die Busnachrichten N1, N2, ..., Nm eines Nachrichtenidentifiers IDx aller Zustände Z untersucht und die Bitpositionen in den Datenfeldern D wie oben mit Bezugnahme auf Fig.8 beschrieben markiert und daraus eine Maske erstellt. In den Teilmasken der verschiedenen Zuständen Z, wer6/16
AT 513 358 B1 2020-02-15 österreichisches patentamt den dann die mit Eins in der Maske maskierten Bits nochmals untersucht und miteinander verglichen. Sind für zwei verschiedene Zustände Z, z.B. Zustand Z2 „Reverse“ und Zustand Z4 „Drive“ in Fig.9, die mit Eins maskierten Bits gleich, kann die Maske als ungültig verworfen werden, da verschiedene Zustände Z unterschiedliche Datensignale DS erzeugen müssen. Gleicher Inhalt eines Datensignals DS für verschiedene Zustände Z würde keine eindeutige Abbildung des Zustandes Z auf ein Datensignal DS darstellen. In diesem Fall könnten in der Maske alle Bitpositionen durch Null ausmaskiert werden und das gesuchte Datensignal DS kann nicht in einer Busnachricht mit dem Nachrichtenidentifier IDx enthalten sein.
[0039] Eine weitere Beschränkung kann vorgenommen werden, wenn bekannt ist, dass das Datensignal eine gewisse Bitlänge, z.B. 4 Bit, aufweisen muss. Dann können Bereiche, also nebeneinander liegende Bits, in gefundenen Masken, die eine Bitlänge aufweisen, die kleiner ist als die erwartete, zusätzlich durch Null ausmaskiert werden.
[0040] Damit kann ein Zusammenhang zwischen Handlungsabfolge und gesuchtem Datensignal DS hergestellt und das gesuchte Datensignal DS durch die Maske zumindest auf einige wenige mögliche Kandidaten in den erhaltenen Busnachrichten eingeschränkt werden, im Idealfall auf ein einziges Datensignal DS. Bei mehreren möglichen Kandidaten kann die endgültige Auswahl wie bisher durch einen Ingenieur vorgenommen werden, gegebenenfalls anhand von weiteren Tests an der Maschine. Alternativ können auch weitere Auswahlkriterien angewendet werden, um die Auswahl weiter einzuschränken.
METHODE 4:
[0041] Diese vierte Methode dient dazu, Datensignale DS zu finden, die langsam veränderliche (quasi statische) Größen beinhalten, z.B. die Öltemperatur eines Fahrzeuges. Hierzu wird eine Handlungsabfolge vorgegeben, mit der die Maschine 2 für einen bestimmten Zeitraum, z.B. fünf Sekunden, betrieben wird, während der sich die Größe nur langsam oder im Idealfall nicht verändert. Während der Handlungsabfolge werden wiederum die Datenfelder D, oder Teile davon, der am Datenbus 1 gesendeten Busnachrichten N1, N2, ..., Nm aufgezeichnet und analysiert.
[0042] Hierbei wird wie bei Methode 2 vorgegangen mit dem Unterschied, dass aus dem erstellten Histogramm diejenigen Bitbereiche als mögliche Kandidaten für das gesuchte Datensignal DS herangezogen werden, die gar keine Änderungen in den Bits repräsentieren. Ändert sich die Größe sehr langsam, kann ein Schwellwert definiert werden, wieviele Änderungen für ein Bit oder für den ganzen Bitbereich, z.B. <10 Änderungen, zulässig sind, um als möglicher Kandidat berücksichtigt zu werden. Ebenso kann auf Bereiche mit bestimmter Bitlänge eingeschränkt werden.
[0043] Eine Vereinfachung kann vorgenommen werden, wenn nur innerhalb eines bestimmten Bereiches, z.B. jeweils ein Byte, die Änderungen in den Busnachrichten N1, N2, ..., Nm eines Nachrichtenidentifiers IDx gezählt werden. Dabei können solche Bereiche auch verworfen werden, wenn in diesem Bereich des Datenfeldes D eines Busnachricht N ein Extremwert, z.B. „11111111“ für ein Byte, enthalten ist, da davon ausgegangen werden kann, dass im Datensignal für eine quasi statische Größe kein Extremwert enthalten sein wird.
[0044] Wird die Handlungsabfolge mit einer Pause wiederholt, können durch Vergleich auch solche Bereiche des Datenfeldes D einer Busnachricht N eines Nachrichtenidentifiers IDx verworfen werden, bei denen sich die darin übertragenen Werte in den Busnachrichten N zwischen den beiden Messungen überhaupt nicht verändern.
[0045] Sind die Referenzwerte der Größe, z.B. die Öltemperatur, bei Durchführung der Handlungsabfolge bekannt, dann können für das Datensignal auch wieder ein Faktor und ein Offset ermittelt werden, wie oben beschrieben.
[0046] Damit kann ein Zusammenhang zwischen Handlungsabfolge und Datensignal hergestellt und das gesuchte Datensignal DS zumindest auf einige wenige mögliche Kandidaten in den erhaltenen Busnachrichten N eingeschränkt werden, im Idealfall auf ein einziges Datensig
7/16
AT 513 358 B1 2020-02-15 österreichisches patentamt nal DS. Bei mehreren möglichen Kandidaten kann die endgültige Auswahl wie bisher durch einen Ingenieur vorgenommen werden, gegebenenfalls anhand von weiteren Tests an der Maschine 2.
METHODE 5:
[0047] Eine Größe kann sich aber auch durch eine gewisse Handlung ändern, ohne direkt durch eine Handlungsabfolge vorgegeben zu werden. Diese fünfte Methode zielt nun darauf ab, ein Datensignal DS einer solchen veränderlichen Größe zu finden. Ein Beispiel dafür ist das sogenannte Transmission Torque Request Signal, das während eines Schaltvorganges eines Automatikgetriebes auf das geforderte Drehmoment gesetzt wird und ansonsten einen definierten konstanten Wert beinhaltet. Die Handlungsabfolge kann daher so gestaltet sein, dass zuerst eine Handlung gesetzt wird, die keine Veränderung im Datensignal bewirkt, z.B. ohne dass ein Schaltvorgang stattfindet. Danach wird eine Handlung gesetzt, die die Größe verändert, z.B. eine Schalthandlung. Dabei werden wiederum die Busnachrichten N aufgezeichnet und deren Datenfelder D, oder Teile davon, untersucht.
[0048] Für die Datenfelder D wird nun wie oben zur Methode 2 beschrieben für die beiden Handlungen jeweils ein Histogramm der Änderungen der Bitpositionen erstellt. Es gilt nun zusammenhängende Bitbereiche im Datenfeld D zu finden, die im ersten Histogramm zur ersten Handlung, in der sich die Größe nicht ändert, konstant bleiben und sich im zweiten Histogramm bei der zweiten Handlung, in der sich die Größe ändert, ändern. Daraus kann eine Maske erstellt werden, die jene zusammenhängenden Bitbereiche (definiert durch Position P und Länge L) im Datenfeld D als mögliches Datensignal DS maskiert, auf die das zutrifft.
[0049] Damit kann ein Zusammenhang zwischen Handlungsabfolge und gesuchtem Datensignal DS hergestellt und das gesuchte Datensignal DS durch die Maske zumindest auf einige wenige mögliche Kandidaten in den erhaltenen Busnachrichten N eingeschränkt werden, im Idealfall auf ein einziges Datensignal DS. Bei mehreren möglichen Kandidaten kann die endgültige Auswahl wie bisher durch einen Ingenieur vorgenommen werden, gegebenenfalls anhand von weiteren Tests an der Maschine. Alternativ können auch weitere Auswahlkriterien angewendet werden, um die Auswahl weiter einzuschränken.
[0050] Selbstverständlich können neben den oben beschriebene Methoden 1 bis 5 noch weitere heuristische Methoden ermittelt werden, um bestimmte Datensignale DS in Busnachrichten zu finden. Bei allen Methoden wird eine Handlungsabfolge vorgegeben, die eine charakteristische Veränderung oder Nicht-Veränderung des gesuchten Datensignals bewirkt, die dann durch die ausgewählte heuristische Methode erkannt werden kann.
[0051] Die beschriebenen Methoden können online oder offline durchgeführt werden. Bei der online Durchführung werden die Busnachrichten N bei Eintreffen analysiert und bei der offline Analyse werden die Busnachrichten N aufgezeichnet und erst danach analysiert. Bestimmte Methoden, z.B. Methode 4, eignen sich dabei besser für eine offline Analyse, als für eine online Analyse.
[0052] Die verschiedenen Methoden können in beliebiger Kombination und Reihenfolge auf Busnachrichten N, die in Folge einer Handlungsabfolge an der Maschine erzeugt wurden, angewendet werden.

Claims (17)

1. Verfahren zum Erstellen einer Zuordnungsdatei (5) eines Kommunikationsprotokolls eines Datenbus (1), wobei das Kommunikationsprotokoll eine Vielzahl von über den Datenbus (i) gesendete, durch Nachrichtenidentifier (ID) gekennzeichnete Busnachrichten (N) umfasst, die von einer Vielzahl von am Datenbus (1) angeordneten Steuergeräten (S) einer Maschine (2) gesendet oder empfangen werden, und in Datenfeldern (D) von Busnachrichten (N) mit verschiedenen Nachrichtenidentifier (ID) verschiedene Datensignale (DS) enthalten sind, dadurch gekennzeichnet, dass an der Maschine (2) eine vorgegebene Handlungsabfolge durchführt wird, die am Datenbus (1) zumindest ein gesuchtes Datensignal (DS) in einer Busnachricht (N) erzeugt und während der Handlungsabfolge die über den Datenbus (1) gesendeten Busnachrichten (N) aufgezeichnet werden, wobei zumindest ein Teil der Datenfelder (D) der aufgezeichneten Busnachrichten (N) mittels einer heuristischen Methode, die einen Zusammenhang zwischen Handlungsabfolge und Datensignal (DS) herstellen, ausgewertet werden, indem mit der Handlungsabfolge ein zu erwartendes Bitmuster in Datenfeldern (D) der Busnachrichten (N) provoziert werden, das dann durch einen Auswertealgorithmus gefunden und analysiert wird, woraus für das gesuchte Datensignal (DS) eine mögliche Busnachricht (N) mit einem Nachrichtenidentifier (ID) und eine mögliche Bitposition (P) und Länge (L) des Datensignals (DS) in der Busnachricht (N) ermittelt wird und dass der Nachrichtenidentifier (ID) der Busnachricht (N) und die Bitposition (P) und Länge (L) des Datensignals (DS) in der Busnachricht (N) in die Zuordnungsdatei (5) eingetragen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Handlungsabfolge durchgeführt wird, bei der in einem Datensignal (DS) einer Busnachricht (N) ein boolscher Wert übertragen wird, der dabei einen ersten und einen zweiten Wert annimmt, dass zumindest ein Suchbereich der Datenfelder (D) der Busnachrichten (N) eines Nachrichtenidentifier (ID), die aufgezeichnet werden, während der boolsche Wert den ersten Wert aufweist zur Bildung einer ersten Summe (Σ1) bitweise, aritmetisch addiert werden und der Suchbereich der Datenfelder (D) der Busnachrichten (N) des Nachrichtenidentifiers (ID), die aufgezeichnet werden, während der boolsche Wert den zweiten Wert aufweist zur Bildung einer zweiten Summe (Σ2) bitweise, aritmetisch addiert werden, dass die erste und die zweite Summe (Σ1, Σ2) jeweils bitweise durch die Anzahl der dabei aufgezeichneten Busnachrichten (N) gewichtet wird und dass aus der ersten und der zweiten Summe (Σ1, Σ2) bitweise eine Differenz (Σ1-Σ2) gebildet wird und eine Bitposition (P) im Datenfeld (D) als Datensignal (DS) für den boolschen Wert ermittelt wird, dessen Differenz (Σ1-Σ2) einen vorgegebenen Grenzwert überschreitet.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass unmittelbar nebeneinanderliegende Bitpositionen (P) im Datenfeld (D) als Datensignal (DS) ermittelt werden, wenn deren Differenzen (Σ1-Σ2) alle einen vorgegebenen Grenzwert überschreiten.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Handlungsabfolge durchgeführt wird, bei der sich eine Größe der Maschine (2) ändert und diese Größe in einem Datensignal (DS) einer Busnachricht (N) übertragen wird, dass für jedes Bit eines Suchbereiches der Datenfelder (D) der Busnachrichten (N) eines Nachrichtenidentifier (ID), die aufgezeichnet werden, die Anzahl (H) der Änderungen des Wertes dieser Bits bestimmt wird und daraus für diesen Suchbereich des Datenfeldes (D) ein bitweises Histogramm der Änderungen erstellt wird und dass das bitweise Histogramm hinsichtlich charakteristischer Muster für Datensignale (DS) solcher Größen untersucht wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass eine Handlungsabfolge durchgeführt wird, bei der sich eine Größe der Maschine (2) kontinuierlich ändert und ein zusammenhängender Bitbereich im Suchbereich als Datensignal (DS) ermittelt wird, der von einem Bit mit vielen Änderungen und von einem Bit mit wenigen Änderungen begrenzt wird und die Anzahl der Änderungen der Bits dazwischen kontinuierlich abnimmt oder zunimmt.
9/16
AT 513 358 B1 2020-02-15 österreichisches patentamt
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass ein Referenzwert vorgegeben wird und die zu diesem Referenzwert gehörigen Busnachrichten (N) mit dem Datensignal (DS) untersucht werden, indem ein Schwellwert vorgegeben wird und das Datensignal (DS) verworfen wird, wenn der im Datensignal (DS) enthaltene Wert um einen vorgegebenen Schwellwert vom Referenzwert abweicht.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass ein Referenzwert vorgegeben wird und die zu diesem Referenzwert gehörigen Busnachrichten (N) mit dem Datensignal (DS) untersucht werden, indem ein Schwellwert vorgegeben wird und das Datensignal (DS) verworfen wird, wenn in einer definierten maximalen Anzahl der Busnachrichten (N) der im Datensignal (DS) enthaltene Wert um den vorgegebenen Schwellwert vom Referenzwert abweicht.
8. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass eine Handlungsabfolge durchgeführt wird, bei der zuerst eine erste Handlung gesetzt wird, die keine Veränderung im Datensignal (DS) bewirkt und danach eine zweite Handlung gesetzt wird, die das Datensignal (DS) verändert und aus den dabei aufgenommenen Busnachrichten (N) ein erstes Histogramm für die erste Handlung und ein zweites Histogramm für die zweite Handlung erstellt wird und zusammenhängende Bitbereiche gesucht werden, in denen im ersten Histogramm keine Veränderungen auftreten und im zweiten Histogramm eine Veränderung auftritt.
9. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass eine Handlungsabfolge vorgegeben wird, bei der sich die Größe im Wesentlichen gar nicht verändert und als Datensignal (DS) ein Bitbereich im Suchbereich gesucht wird, in dem keine Veränderung im Histogramm auftritt.
10. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass eine Handlungsabfolge vorgegeben wird, bei der sich die Größe im Wesentlichen gar nicht verändert und als Datensignal (DS) ein Bitbereich im Suchbereich gesucht wird, in dem die Anzahl (H) der Veränderung im Histogramm kleiner einem vorgegebenen Schwellwert ist.
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Handlungsabfolge durchgeführt wird, bei der sich ein Zustand (Z) der Maschine (2) verändert und die Zustände in einem Datensignal (DS) einer Busnachricht (N) übertragen werden, dass für jeden Zustand (Z) zumindest ein Suchbereich in den Datenfeldern (D) der dabei aufgezeichneten Busnachrichten (N) eines Nachrichtenidentifiers (ID) bitweise auf Änderungen im Wert der Bits untersucht wird und Bits des Suchbereich, die sich ändern in einer Teilmaske markiert werden und dass eine Maske erstellt wird, in der alle Bits des Suchbereichs, die zumindest in einer Teilmaske für einen Zustand (Z) markiert wurden ausmaskiert werden und alle anderen Bits maskiert werden, wobei der maskierte Bereich als Datensignal (DS) ermittelt wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Bits einer Bitposition (P) der Teilmasken der einzelnen Zustände (Z) miteinander verglichen werden, wenn die Maske an dieser Bitposition mit Eins maskiert ist und die Maske für das Datensignal (DS) verworfen wird, wenn die Bits dieser Bitposition (P) in zumindest zwei Teilmasken gleich sind.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die Maschine (2) vor der Durchführung der Handlungsabfolge in einen definierten Ausgangszustand gesetzt wird.
14. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass mit der heuristischen Methode auch ein Faktor (F) und Offset (O) des Datensignals (DS) ermittelt wird.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass ein Datensignal (DS) verworfen wird, wenn der Faktor (F) und/oder der Offset (O) nicht zur Handlungsabfolge passt.
10/16
AT 513 358 B1 2020-02-15 österreichisches patentamt
16. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass nur Bitbereiche einer vorgegebenen Bitlänge als gültige Datensignale (DS) verwendet werden.
17. Verfahren zur Analyse des Nachrichtenverkehrs auf einem Datenbus (1) einer Maschine (2), über den von einer Mehrzahl von Steuergeräte (S) Busnachrichten (N) mit verschiedenen Nachrichtenidentifier (ID) und unterschiedlichem Inhalt versendet werden, wobei in einer Zuordnungsdatei (5) beschrieben ist, in welchen durch Nachrichtenidentifier (ID) gekennzeichneten Busnachrichten (N) an welcher Bitposition (P) und mit welcher Länge (L) welche Datensignale (DS) enthalten sind, wobei die Zuordnungsdatei (5) zumindest teilweise vorher durch ein Verfahren nach einem der Ansprüche 1 bis 16 erstellt wird.
ATA50826/2013A 2013-12-16 2013-12-16 Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls AT513358B1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ATA50826/2013A AT513358B1 (de) 2013-12-16 2013-12-16 Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls
DE112014005703.7T DE112014005703A5 (de) 2013-12-16 2014-12-15 Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls
PCT/EP2014/077812 WO2015091386A1 (de) 2013-12-16 2014-12-15 Verfahren zum erstellen einer zuordnungsdatei eines kommunikationsprotokolls

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA50826/2013A AT513358B1 (de) 2013-12-16 2013-12-16 Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls

Publications (3)

Publication Number Publication Date
AT513358A2 AT513358A2 (de) 2014-03-15
AT513358A3 AT513358A3 (de) 2019-12-15
AT513358B1 true AT513358B1 (de) 2020-02-15

Family

ID=50237995

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA50826/2013A AT513358B1 (de) 2013-12-16 2013-12-16 Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls

Country Status (3)

Country Link
AT (1) AT513358B1 (de)
DE (1) DE112014005703A5 (de)
WO (1) WO2015091386A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11539782B2 (en) * 2018-10-02 2022-12-27 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
CN113433931B (zh) * 2021-08-02 2023-01-06 青驭汽车科技(太仓)有限公司 基于特征工况的汽车can总线关键信号解析方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133881A1 (en) * 2002-12-30 2004-07-08 International Business Machines Corporation Software tool configured to generate test cases characterized by a linear range of integral values
US20070226781A1 (en) * 2006-03-27 2007-09-27 Wenfeng Chen Method and apparatus for protecting networks from unauthorized applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10341514A1 (de) * 2003-09-04 2005-04-14 Volkswagen Ag CAN-Controllermodul
FR2992079A1 (fr) * 2012-06-15 2013-12-20 France Telecom Dispositif et procede d'extraction de donnees sur un bus de communication d'un vehicule automobile
AT511297B1 (de) * 2012-07-24 2013-12-15 Avl List Gmbh Verfahren zur Erzeugung eines Modells einer Kommunikationsaufgabe

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133881A1 (en) * 2002-12-30 2004-07-08 International Business Machines Corporation Software tool configured to generate test cases characterized by a linear range of integral values
US20070226781A1 (en) * 2006-03-27 2007-09-27 Wenfeng Chen Method and apparatus for protecting networks from unauthorized applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GUIHÉRY F., BOSSERT G.; "The Future of Protocol Reversing and Simulation Applied on ZeroAccess." Präsentation, 29C3, Hamburg [online], 29. Dezember 2012 (29.12.2012). Netzob. [ermittelt am 29.9.2014]. Ermittelt im Internet: <URL:http://www.netzob.org/ documentations/presentations/netzob_29C3_2012.pdf>. *
WILLIAM H. ALLEN ; CHIN DOU ; GERALD A. MARIN: "A Model-based Approach to the Security Testing of Network Protocol Implementations", LOCAL COMPUTER NETWORKS, PROCEEDINGS 2006 31ST IEEE CONFERENCE ON, IEEE, PI, 1 November 2006 (2006-11-01), Pi, pages 1008 - 1015, XP031054040, ISBN: 978-1-4244-0418-6 *

Also Published As

Publication number Publication date
AT513358A2 (de) 2014-03-15
WO2015091386A1 (de) 2015-06-25
AT513358A3 (de) 2019-12-15
DE112014005703A5 (de) 2016-09-08

Similar Documents

Publication Publication Date Title
DE60010655T2 (de) Verfahren und vorrichtung in einem fahrzeugüberwachungssystem und fehlerdiagnosesystem in einem fahrzeug
DE102017222616A1 (de) Verfahren zum automatisierten Erstellen von Regeln für eine regelbasierte Anomalieerkennung in einem Datenstrom
AT513358B1 (de) Verfahren zum Erstellen einer Zuordnungsdatei eines Kommunikationsprotokolls
DE102019201231A1 (de) Vorrichtung und Verfahren zur Erhöhung einer Verfügbarkeit einer Kommunikationsinfrastruktur
DE102005040142A1 (de) Verfahren zur Identifikation komplexer Diagnosesituationen im Kundendienst
EP2569738A1 (de) Vorrichtung zur verarbeitung von daten in einem rechnergestützten logiksystem sowie entsprechendes verfahren
EP3861681B1 (de) System und verfahren zur fehlererkennung und fehlerursachen-analyse in einem netzwerk von netzwerkkomponenten
DE102020210789A1 (de) Analyse eines neuronalen Netzes für ein Fahrzeug
DE102018221684A1 (de) Vorrichtung und Verfahren zur Anomalieerkennung und zum Trainieren eines Modells für eine Anomalieerkennung
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
DE102011052512A1 (de) Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
WO1996007559A1 (de) In einem kraftfahrzeug zu verwendendes steuergerät, das ein fuzzylogiksystem enthält
DE102015223974A1 (de) Verfahren und Vorrichtung zur Beeinflussung eines Fahrzeugverhaltens
DE10024211B4 (de) Diagnoseverfahren für den Zustand eines Kraftfahrzeuges
DE102017216749A1 (de) Verfahren zur Bereitstellung eines Steuersignals
EP3602964B1 (de) Verfahren zur übertragung analyserelevanter daten, sender und system
EP3644144B1 (de) Verfahren zur bereitstellung von steuerungsinformationen für eine fahrassistenzfunktion
DE102017112208A1 (de) Verfahren zur Übertragung von messtechnisch erfassten und digitalisierten Messdaten und zur Ausführung des Verfahrens geeignete Testvorrichtung
DE102017100075B4 (de) Verfahren und Vorrichtung zum Betreiben eines Fahrzeuges während einer Entwicklungsphase
DE102004028819B4 (de) Verfahren zur Ermittlung und Übertragung von Programmlaufzeiten in eingebetteten Systemen
DE102020213058A1 (de) Verfahren und Vorrichtung zum teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs
WO2008052585A1 (de) Fehlerverfolgung im datenbus-system eines fahrzeugs
DE102020100987A1 (de) Verfahren zur Datenkommunikation zwischen Teilnehmern eines Automatisierungssystems
EP3985565A1 (de) Verfahren und vorrichtung zum überprüfen eines beim teilautomatisierten oder vollautomatisierten steuern eines fahrzeugs verwendeten ki-basierten informationsverarbeitungssystems
DE10120235A1 (de) Verfahren zur informationsverlustarmen Anbindung eines Sensors für die Übermittlung statistischer Daten an ein übergeordnetes Auswertesystem

Legal Events

Date Code Title Description
MM01 Lapse because of not paying annual fees

Effective date: 20211216