-
Die vorliegende Erfindung betrifft Steuergeräte in einem Kraftfahrzeug (Kfz), die im Besonderen über einen CAN-Bus miteinander verbunden sind.
-
Elektronik spielt in Kraftfahrzeugen eine immer wichtigere Rolle. So wird heute ein Großteil der Funktionen des Kraftfahrzeugs ständig durch Steuergeräte überwacht und/oder kontrolliert. Steuergeräte sind elektronische Module, die nicht nur im Kfz-Bereich zur Steuerung elektronischer Bauteile eingesetzt werden, sondern auch zur Steuerung von Maschinen, Anlagen und sonstigen technischen Prozessen verwendet werden. Steuergeräte sind dabei eingebettete Systeme (embedded systems). Die ständig steigenden Anforderungen an beispielsweise Fahrsicherheit, Abgasreduktion und Reduktion des Kraftstoffverbrauchs erfordern einen zunehmenden Austausch von Informationen zwischen den einzelnen Steuergeräten im Kraftfahrzeug.
-
Bei einer herkömmlichen Verkabelung wird für jede Verbindung zwischen zwei Steuergeräten je eine Leitung benötigt. Damit steigt mit zunehmendem Funktionsumfang der Kraftfahrzeugelektronik die Länge und das Gewicht des Kabelbaums sowie die Zahl der Anschlüsse an den Steuergeräten. Deswegen werden in modernen Fahrzeugen Steuergeräte über verschiedene Systembusse, wie beispielsweise dem CAN(Controller Area Network)-, dem LIN(Local Interconnect Network)- oder dem MOST(Media Oriented Systems Transport)-Bus miteinander verbunden. Die Geräte tauschen über diese Systembusse Informationen über die Betriebszustände, Steuerbefehle und weitere relevante Daten des Fahrzeugs aus. Außerdem kann beispielsweise über solche Busse ein Fahrzeugdiagnosesystem angeschlossen werden.
-
Die in modernen Kraftfahrzeugen eingesetzten Komponenten stellen unterschiedliche Anforderungen an das eingesetzte Bussystem. Beispielsweise erfordert der Einsatz im Bereich des Motorenmanagements eine schnelle Datenübertragung, eine Klimaanlage hingegen muss nicht innerhalb von Sekundenbruchteilen auf Änderungen der Temperatur im Fahrgastraum reagieren. Hier können deutlich höhere Verzögerungszeiten in Kauf genommen werden.
-
Zumeist werden verschiedene und unterschiedlich schnelle Bussysteme in einem Kfz eingesetzt. Der Antriebsbus, z. B. Powertrain-CAN, umfasst Motor-, Getriebe- und Bremsensteuergeräte, sowie weitere direkt damit zusammenhängende Sensoren/Aktoren. Der Powertrain-CAN ist ein Highspeed-CAN. Über einen Komfort-CAN oder einen Karosserie-CAN laufen Komfortsysteme wie Fensterheber, Sitzmemory oder Reifendruck. Einfache Anwendungen wie Klimaanlage oder Wischersteuerung nutzen häufig einen Eindrahtbus wie den LIN-Bus. Im Infotainmentbereich werden aufgrund der großen Datenmenge MOST-Busse mit Lichtwellenleitern eingesetzt.
-
In einem oder mehreren zentralen Steuergeräten (Gateways) laufen Informationen zusammen und werden auf das jeweilige Bussystem abgestimmt. Die Daten werden auch von einem ins andere CAN-System weitergeleitet. Diese Gateways können oft auch für Diagnosezwecke abgefragt werden.
-
Langfristig wird von gesetzgebender Seite angestrebt, dass die Diagnose der Steuergeräte über Ethernet erfolgt. Dies wird dazu führen, dass zumindest ein Steuergerät in einem Kfz eine Ethernetverbindung aufweist. Ethernet ist ein gängiges Bussystem, um auf Web-Seiten zuzugreifen. Das Standardprotokoll, das zum Transport von Web-Seiten durch Netzwerke benutzt wird, ist das HTTP(hypertext transport protocol)-Protokoll.
-
Ein Steuergerät, das über eine Ethernetverbindung verfügt, kann demnach relativ einfach eine Web-Seite bereitstellen, auf die mittels HTTP über das Ethernet zugegriffen werden kann. Web-Seiten sind eine einfache Möglichkeit zum Austausch von Informationen und erfreuen sich großer Beliebtheit, z. B. im World Wide Web oder Internet.
-
Die meisten Steuergeräte im Kfz verfügen allerdings nicht über Ethernetanbindung, sondern sind beispielsweise lediglich mit einem CAN-Bus verbunden. Es wäre wünschenswert, dass auch Steuergeräte, die über keine Ethernetverbindung verfügen, Web-Seiten bereitstellen können, um so den Informationsaustausch, z. B. zu Diagnosezwecken oder für die Konfiguration der Steuergeräte, zu erleichtern.
-
US 2005/0002417 A1 bezieht sich auf Protokollumwandlungen in einer Arbeitsmaschine. In einem Beispiel wird von einem Gateway-Modul eine Nachricht von einem Quellmodul mittels eines ersten Protokolls empfangen. Das Gateway-Modul kapselt die Nachricht in Übertragungseinheiten eines zweiten Protokolls ein und gibt diese eingekapselte Nachricht über einen Datenlink, der das zweite Protokoll benutzt, aus. Ein Zielmodul empfängt die eingekapselte Nachricht vom Datenlink und extrahiert die Nachricht aus der Übertragungseinheit des zweiten Protokolls. Das Gateway kann Schnittstellenfähigkeiten aufweisen, die die Übermittelung von Daten zu und von On-Board-Systemen ermöglicht. Das Gateway kann außerdem Protokollumwandlungen, intelligentes Routen und serverbasierte Operationen, wie etwa Webserver-Operationen, zur Verfügung stellen. Die Onboard-Module repräsentieren eine oder mehrere Onboard-Module, die über eine oder mehrere proprietäre Datenlinks innerhalb des On-Board-Systems miteinander verbunden sind. Ein solcher Datenlink kann z. B. ein Controller-Area-Network (CAN) sein.
-
Es ist demnach die Aufgabe der vorliegenden Erfindung, den Informationsaustausch mit Steuergeräten, die über einen CAN-Bus angebunden sind, zu erleichtern. Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen werden in den abhängigen Patentansprüchen definiert.
-
Erfindungsgemäß umfasst ein Steuersystem eines Kraftfahrzeugs ein erstes Steuergerät, ein zweites Steuergerät und einen CAN-Bus. Das erste Steuergerät ist eingerichtet, eine HTTP-Anfrage in mindestens eine erste CAN-Bus kompatible Nachricht einzubetten. Das zweite Steuergerät ist eingerichtet, die HTTP-Anfrage aus der mindestens einen ersten CAN-Bus kompatiblen Nachricht zu extrahieren und an einen ersten Web-Server weiterzuleiten. Der CAN-Bus schließlich verbindet das erste Steuergerät mit dem zweiten Steuergerät.
-
Ein weiterer Aspekt der Erfindung liegt darin, ein Verfahren zum Betreiben eines ersten Steuergerätes in einem Steuersystem eines Kraftfahrzeugs und das erste Steuergerät an sich bereitzustellen. Im Verfahren wird eine HTTP-Anfrage mittels einer Nachricht kompatibel zum Ethernetstandard vom ersten Steuergerät empfangen. Mindestens eine CAN-Bus kompatible Nachricht, in der die HTTP-Anfrage eingebettet ist, wird anschließend vom ersten Steuergerät erstellt. Schließlich wird die mindestens eine CAN-Bus kompatible Nachricht vom ersten Steuergerät über einen CAN-Bus an ein zweites Steuergerät im Steuersystem des Kraftfahrzeugs gesendet.
-
Des Weiteren stellt die vorliegende Erfindung ein Verfahren zum Betreiben eines zweiten Steuergerätes in einem Steuersystem eines Kraftfahrzeugs und das zweite Steuergerät an sich zur Verfügung. Hier empfängt das zweite Steuergerät mindestens eine CAN-Bus kompatible Nachricht über einen CAN-Bus von einem ersten Steuergerät im Steuersystem des Kraftfahrzeug. Eine HTTP-Anfrage wird vom zweiten Steuergerät aus der mindestens einen CAN-Bus kompatiblen Nachricht extrahiert. Schließlich leitet das zweite Steuergerät die HTTP-Anfrage an einen Web-Server weiter.
-
Bevorzugte Ausgestaltungen der vorliegenden Erfindung werden im Weiteren mit Bezug auf folgende Zeichnungsfiguren im Detail beschrieben. Hierbei zeigen die Zeichnungen im Einzelnen:
-
1: eine schematische Darstellung von Steuergeräten, die über einen CAN-Bus in einem Kfz miteinander kommunizieren und über ein Gateway-Steuergerät mit einem Ethernet verbunden sind gemäß einer Ausführungsform der vorliegenden Erfindung; und
-
2a/b: ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung zum Übertragen einer HTTP-Anfrage und einer HTTP-Antwort über einen CAN-Bus.
-
Ein Controller Area Network (CAN) verbindet mehrere gleichberechtigte Komponenten (Knoten) über einen Systembus, den CAN-Bus miteinander. Das CAN-Protokoll wurde von Bosch für den Einsatz in Kraftfahrzeugen entwickelt. Aufgrund der hohen Störsicherheit, der geringen Kosten und der Echtzeitfähigkeit wird CAN auch in der Automatisierungstechnik vor allem in Textilmaschinen, Aufzugssteuerung und in Landmaschinen eingesetzt. CAN und viele andere Busprotokolle sind in der ISO 11898 definiert. Zur Umsetzung dieser Spezifikation stehen viele Mikrochips zur Verfügung.
-
Knoten in einem CAN gemäß Ausführungsformen der vorliegenden Erfindung sind im Allgemeinen Steuergeräte eines Kraftfahrzeugs. Steuergeräte sind zumeist eingebettete Systeme (embedded systems), die einen Bereich des Kraftfahrzeugs überwachen, steuern und/oder regeln. So ermitteln Steuergeräte beispielsweise mittels Sensoren physikalische Kenngrößen wie Drehzahl des Motors, Temperatur im Fahrgastraum, Temperatur des Motors, Reifendruck, etc. Die gemessenen physikalischen Kenngrößen werden dann beispielsweise mit im Steuergerät gespeicherten oder berechneten Sollgrößen verglichen. Stimmt der gemessene Wert der Kenngröße nicht mit dem Sollwert der Kenngröße überein, so regelt das Steuergerät mittels Aktoren den physikalischen Prozess nach, so dass die gemessenen Kenngrößen mit den Sollgrößen übereinstimmen. Die Aktoren der Steuergeräte greifen demnach korrigierend in einen laufenden Prozess ein.
-
Bei der Datenübertragung in einem CAN-Bus werden keine Steuergeräte adressiert, sondern der Inhalt einer Nachricht (wie die Kenngröße, die ein Steuergerät ermittelt, z. B. Drehzahl oder Motortemperatur) wird durch eine eindeutige Kennung (Identifier) identifiziert. Neben der Inhaltskennzeichnung legt die Kennung auch die Priorität der Nachricht fest. Mit der dann folgenden Akzeptanzprüfung stellen alle Steuergeräte nach korrektem Empfang der Nachricht anhand der Kennung fest, ob die empfangenen Daten für sie relevant sind oder nicht. Durch die inhaltsbezogene Adressierung wird eine hohe Flexibilität erreicht. Es lassen sich sehr einfach Steuergeräte zum bestehenden CAN-Netzwerk hinzufügen.
-
Das CAN-Netzwerk wird unter anderem zu Diagnosezwecken verwendet. Langfristig wird von gesetzgebender Seite angestrebt, dass die Diagnose über Ethernet erfolgt. Demnach werden zukünftige Fahrzeuge zumindest ein Steuergerät umfassen, das eine Ethernetschnittstelle beinhaltet. Gleichzeitig werden weiterhin viele Steuergeräte im Kfz existieren, die lediglich an einem CAN-Bus oder anderem Fahrzeugbus angeschlossen sind und nicht über eine Ethernetschnittstelle verfügen.
-
1 zeigt eine mögliche Vernetzung von Steuergeräten in einem Kfz. Dabei sind Steuergeräte 190-A, 190-B und ein Gateway-Steuergerät 110 an ein Ethernet 140 des Fahrzeugs angeschlossen. In Ausführungsformen der vorliegenden Erfindung umfasst das Fahrzeug lediglich ein (Gateway-)Steuergerät 110, das eine Ethernetschnittstelle aufweist, aber beinhaltet selbst kein Ethernet 140 oder Steuergeräte 190-A, 190-B, die an ein Ethernet angeschlossen sind. Die Steuergeräte 160, 185-A, 185-B und 185-C besitzen hingegen keine Ethernetschnittstelle und sind ausschließlich an einem oder mehreren Fahrzeugbussen 150, wie einen CAN-Bus, LIN-Bus oder MOST-Bus, des Fahrzeugs angeschlossen. Der Einfachheit halber wird im Folgenden nur ein CAN-Bus 150 beschrieben. Dem Fachmann sollte aber klar sein, dass der Fahrzeugbus auch ein LIN-Bus, ein MOST-Bus oder ein anderer Fahrzeugbus (außer Ethernet) sein kann. Die Gesamtheit der vorhandenen Steuergeräte, wie beispielsweise Steuergeräte 110, 160, 185-A, 185-B, 185-C, 190-A, 190-B zusammen mit der Gesamtheit der Fahrzeugbusse 150 wird auch als Steuersystem des Kraftfahrzeugs bezeichnet. Wie bereits erwähnt, umfasst in manchen Ausführungsformen das Steuersystem des Kraftfahrzeugs auch das Ethernet 140.
-
Ein gebräuchliches Protokoll, um über Ethernet zu kommunizieren, ist das Hypertext Transfer Protocol (HTTP). Das HTTP ist ein Protokoll zur Übertragung von Daten über ein Netzwerk. Es wird heutzutage hauptsächlich eingesetzt, um Web-Seiten aus dem World Wide Web in einem Webbrowser zu laden.
-
In heutiger Zeit ist man es gewohnt, Daten mittels Web-Seiten zu erfassen, wobei die Web-Seiten mittels eines Browsers aufgerufen und angezeigt werden. Demnach wäre es wünschenswert, beispielsweise die Diagnose und/oder die Konfiguration der Steuergeräte 110, 190-A, 190-B, 185-A, 185-B, 185-C und 160 mittels des HTTP-Protokolls und des Anzeigens von Web-Seiten durchzuführen, die von den einzelnen Steuergeräten 110, 190-A, 190-B, 185-A, 185-B, 185-C und 160 bereitgestellt werden.
-
Während die Steuergeräte 110, 190-A und 190-B direkt an das Ethernet 140 angeschlossen sind, und somit mittels des HTTP-Protokolls leicht zugänglich, verfügen die Steuergeräte 185-A, 185-B, 185-C und 160 nicht über eine solche Anbindung, sondern sind lediglich über den CAN-Bus 150 mit dem Steuergerät 110 vernetzt. Die vorliegende Erfindung stellt ein Steuergerät 110 zur Verfügung, das als Gateway zwischen dem Ethernet 140 und dem CAN-Bus 150 fungiert.
-
Um die Funktionsweise des erfindungsgemäßen Systems zu beschreiben, wird im Folgenden neben der 1 auch auf das Verfahren, wie in den 2a und 2b dargestellt, Bezug genommen. Hierbei werden die Schritte, die in der Spalte mit dem Titel „Gateway-Steuergerät 110” stehen, durch das Gateway-Steuergerät 110 ausgeführt. Die Schritte, die in der Spalte mit dem Titel „entferntes Steuergerät 160” stehen, werden durch ein Steuergerät ausgeführt, das keine Ethernetschnittstelle aufweist und beispielsweise nur mit dem CAN-Bus 150 verbunden ist. Zur einfacheren Darstellung der Erfindung wird im Folgenden ausschließlich auf das Steuergerät 160 Bezug genommen und die Schritte, die in der Spalte „entferntes Steuergerät 160” aufgeführt sind, als vom Steuergerät 160 ausgeführt beschrieben. Natürlich können die Steuergeräte 185-A, 185-B und 185-C ebenfalls eingerichtet sein, diese Schritte auszuführen und können die gleiche Funktionalität wie das Steuergerät 160 umfassen.
-
In der hier beispielsweise beschriebenen Ausführungsform empfängt das Gateway-Steuergerät 110 eine HTTP-Anfrage (HTTP-Request), beispielsweise über das Ethernet 140, die für das Steuergerät 160 bestimmt ist. Natürlich kann in alternativen Ausführungsformen die HTTP-Anfrage auch für eines der anderen Steuergeräte 185-A, 185-B und 185-C, die am CAN-Bus 150 angeschlossen sind, bestimmt sein. Zur besseren Veranschaulichung der Funktionsweise der vorliegenden Erfindung, wird aber im Folgenden angenommen, dass die HTTP-Anfrage für das Steuergerät 160 bestimmt ist. Die HTTP-Anfrage kann hierbei von einem der Steuergeräte 190-A oder 190-B oder aber von einem Allzweckcomputer (PC, Notebook oder Tablet) 195 erzeugt werden.
-
In einem Schritt 205 empfängt das Gateway-Steuergerät 110 die HTTP-Anfrage. Diese HTTP-Anfrage kann das Steuergerät 110 beispielsweise über das Ethernet 140 vom Computer 195 oder von einem der Steuergeräte 190-A oder 190-B empfangen. Die HTTP-Anfrage kann beispielsweise von einem Benutzer des Computers 195 mittels eines Browsers erzeugt werden, wenn der Benutzer des Browsers beispielsweise daran interessiert ist, eine Diagnose des Steuergerätes 160 durchzuführen, das Steuergerät 160 zu konfigurieren oder auf Messwerte von Sensoren des Steuergerätes 160 zurückzugreifen.
-
Das Gateway-Steuergerät 110 erstellt in einem Schritt 210 eine erste CAN-Bus kompatible Nachricht, in der die HTTP-Anfrage eingebettet ist. Sind die Datenmengen der HTTP-Anfrage zu groß, um in eine einzelne CAN-Bus kompatible Nachricht eingebettet zu werden, so erstellt das Gateway-Steuergerät 110 so viele CAN-Bus kompatible Nachrichten wie nötig, um die HTTP-Anfrage vollständig in CAN-Bus kompatible Nachrichten einzubetten. Zur einfacheren Veranschaulichung wird im Folgenden angenommen, dass die HTTP-Anfrage in eine einzelne CAN-Bus kompatible Nachricht eingebettet werden kann.
-
Die Kommunikation über den CAN-Bus erfolgt mittels Nachrichten. Innerhalb dieser Nachrichten gibt es Steuerbits und Nutzbits. Der genormte Aufbau einer solchen Nachricht wird als Frame bezeichnet. In Ausführungsformen gibt es vier verschiedene Arten von Frames auf einem CAN-Bus (im Folgenden auch CAN-Frames genannt): 1) einen Daten-Frame, der zum Transport von bis zu 8 Byte an Daten dient, 2) einen Remote-Frame, der zur Anforderung eines Daten-Frames von einem anderen Teilnehmer dient, 3) einen Error-Frame, der allen Teilnehmern eine erkannte Fehlerbedingung in der Übertragung signalisiert und 4) einen Overload-Frame, der als Zwangspause zwischen Daten- und Remote-Frames dient.
-
Der Daten-Frame ist logisch wie folgt aufgebaut: er beginnt mit einem Start of Frame(sof)-Bit. Darauf folgen ein Arbitrierungsfeld, das aus einem Identifiersegment (11 Bit oder 29 + 2 Bit) plus einem RTR(rmote transmission request)-Bit besteht. Hierauf kommt ein 6 Bit langes Kontrollfeld. Daran anschließend ein 0 bis 64 Bit langes Datenfeld in Einheiten von 8 Bit. Darauf folgt ein 16 Bit langes Prüfsummenfeld. Abschließend besitzt der Daten-Frame ein Bestätigungsfeld aus 2 Bit, ein 7 Bit langes End of Frame Feld und ein 3 Bit langes Feld, das aufeinanderfolgende Nachrichten trennt.
-
Der Remote-Frame wird durch ein gesetztes RTR-Bit gekennzeichnet. Mit Hilfe des Remote-Frames kann ein Teilnehmer des CAN einen anderen Teilnehmer des CAN auffordern, Daten zu senden.
-
Das Steuergerät 110 legt in Ausführungsformen der Erfindung im Schritt 210 die Daten der HTTP-Anfrage unverändert im Datenfeld eines CAN-Frames ab.
-
In manchen Ausführungsformen der vorliegenden Erfindung setzt das Steuergerät 110 das RTR-Bit, um den CAN-Frame als Remote-Frame zu kennzeichnen. So kann das Steuergerät 110 das Steuergerät 160 auffordern, Daten zu senden. Das Steuergerät 110 legt die HTTP-Anfrage im Datenfeld des Remote-Frames ab. Der Teilnehmer, der in Antwort auf den Remote-Frame Daten (die HTTP-Antwort) sendet, kann in Ausführungsformen die Länge des Datenfeldes des zu sendenden Daten-Frames entsprechend seiner zu sendenden Daten (HTTP-Antwort) anpassen. In manchen Ausführungsformen der vorliegenden Erfindung wird ein CAN-Protokoll verwendetet, bei dem die Datenlänge des Datenfelds im Remote-Frame entsprechend der zu erwartenden Datenlänge der Antwort gesetzt werden muss. In diesen Ausführungsformen ist die Länge des Datenfeldes des Remote- und des Daten-Frames zum Einbetten von HTTP-Anfragen und/oder HTTP-Antworten genormt und wird, wenn notwendig, durch Füllbits aufgefüllt, wenn die Daten der HTTP-Anfrage und/oder die Daten der HTTP-Antwort nicht das komplette Datenfeld benötigen.
-
Das Steuergerät 110 verfügt in Ausführungsformen der Erfindung über eine spezielle Web-Seite, die erkennt, dass eine ankommende HTTP-Anfrage nicht für das Steuergerät 110, sondern für ein anderes Steuergerät, beispielsweise das Steuergerät 160, gedacht ist. In solchen Ausführungsformen umfasst das Gateway-Steuergerät 110 einen Web-Server 120, der die spezielle Web-Seite zur Verfügung stellt.
-
Ein Web-Server ist Hardware oder Software, die Dokumente, wie beispielsweise Web-Seiten, Clients, wie z. B. Web-Browsern, zur Verfügung stellt. Der Web-Server 120 empfängt die HTTP-Anfrage über das Ethernet 140 und identifiziert die spezielle Web-Seite, die durch die HTTP-Anfrage gekennzeichnet ist. In Ausführungsformen der Erfindung erstellt die spezielle Web-Seite die erste CAN-Bus kompatible Nachricht, in der die HTTP-Anfrage eingebettet ist. Dies kann beispielsweise dadurch geschehen, dass Web-Serverseitige Skripts, wie beispielsweise CGI- oder PHP-Skripts, ausgeführt werden, die anhand der HTTP-Anfrage erkennen, dass ein entferntes Steuergerät, wie beispielsweise das Steuergerät 160, der Adressat der HTTP-Anfrage ist und dementsprechend die erste CAN-Bus kompatible Nachricht erstellen, die die HTTP-Anfrage umfasst.
-
Beispielsweise durchsucht die spezielle Web-Seite die HTTP-Anfrage auf eine oder mehrere physikalische Kenngrößen (wie Drehzahl oder Motortemperatur). Wie bereits erwähnt wird in manchen verwendeten CAN-Protokollen der Inhalt der Nachricht durch eine eindeutige Kennung identifiziert. Der Inhalt der Nachricht entspricht in Ausführungsformen physikalischen Kenngrößen, die von Sensoren eines Steuergerätes überwacht und/oder von Aktoren eines Steuergeräts kontrolliert werden. Die spezielle Web-Seite setzt in manchen Ausführungsformen die Kennung der ersten CAN-Bus kompatiblen Nachricht entsprechend der gefundenen physikalischen Kenngröße(n). Im Folgenden wird der Einfachheit halber angenommen, dass nur eine physikalische Kenngröße gefunden wird
-
Im Schritt 215 sendet das Gateway-Steuergerät 110 die erstellte erste CAN-Bus kompatible Nachricht an das entfernte Steuergerät 160.
-
In Ausführungsformen der Erfindung wird mittels Schnittstellen und Vererbung sichergestellt, dass die Implementierung der speziellen Web-Seite, die vom Web-Server 120 zur Verfügung gestellt wird, unabhängig vom Übertragungsweg ist, über die die Daten anschließend geschickt werden. Demnach umfasst in solchen Ausführungsformen das Gateway-Steuergerät 110 eine oder mehrere Schnittstellen 130. Die spezielle Web-Seite, die vom Web-Server 120 zur Verfügung gestellt wird, erzeugt hier eine Anfragenachricht an das entfernte Steuergerät 160, wobei die Anfragenachricht die Daten der HTTP-Anfrage umfasst und vom Übertragungsweg unabhängig ist.
-
In diesen Ausführungsformen durchsucht die spezielle Web-Seite die ankommende HTTP-Anfrage ebenfalls nach physikalischen Kenngrößen. Allerdings setzt in diesen Ausführungsformen nicht die spezielle Web-Seite die Kennung der ersten CAN-Bus kompatiblen Nachricht, wie oben beschrieben, sondern die spezielle Web-Seite erzeugt Metadaten zu der Anfragenachricht, die die gefundene physikalische Kenngröße umfasst. In anderen Ausführungsformen umfasst die Anfragenachricht selbst die gefundene physikalische Kenngröße
-
Die von der speziellen Web-Seite erzeugte Anfragenachricht wird zusammen mit den Metadaten an eine erste Schnittstelle des Gateway-Steuergeräts 110 übergeben. Die erste Schnittstelle ist eingerichtet, basierend auf der Anfragenachricht, die erste CAN-Bus kompatible Nachricht zu erzeugen, in der die HTTP-Anfrage eingebettet ist. Die erste Schnittstelle des Gateway-Steuergeräts 110 übergibt diese erste CAN-Bus kompatible Nachricht in einer Ausführungsform zusammen mit den Metadaten an eine zweite Schnittstelle, die eingerichtet ist, die Kennung der physikalischen Kenngröße in den Metadaten zu ermitteln und die Kennung der ersten CAN-Bus kompatible Nachricht entsprechend zu setzen. Die zweite Schnittstelle sendet dann die erste CAN-Bus kompatible Nachricht über den CAN-Bus.
-
In Ausführungsformen bei denen die Anfragenachricht die gefundene physikalische Kenngröße umfasst, extrahiert die erste Schnittstelle die HTTP-Anfrage aus der Anfragenachricht und bettet diese in die erste CAN-Bus kompatible Nachricht ein, wohingegen die zweite Schnittstelle die gefundene physikalische Kenngröße aus der Anfragenachricht extrahiert und die Kennung der ersten CAN-Bus kompatibeln Nachricht entsprechend der extrahierten physikalischen Kenngröße setzt.
-
In anderen Ausführungsformen übernimmt eine einzelne Schnittstelle 130 die Funktionen der ersten und zweiten Schnittstelle. Durch die Verwendung von Schnittstellen 130 wird sichergestellt, dass die spezielle Web-Seite unabhängig vom benutzten Übertragungsprotokoll implementiert werden kann. Es ist Aufgabe der Schnittstellen 130 aus der von der speziellen Web-Seite erzeugten Anfragenachricht (und in manchen Ausführungsformen erzeugten Metadaten) eine Nachricht kompatibel zum gewählten Übertragungsmedium, in diesem Beispiel eine CAN-Bus kompatible Nachricht, zu erstellen. Als Übertragungsprotokoll über den CAN-Bus kann beispielsweise ISO-TP oder jedes andere CAN-Bus kompatible Protokoll verwendet werden.
-
Zusammenfassend wird das Steuergerät 110 in einer Ausführungsform in den Schritten 205 bis 215 zunächst von außen über das Ethernet 140, beispielsweise durch den Computer 195, angesprochen. Das Gateway-Steuergerät 110 hat in Ausführungsformen eine spezielle Web-Seite, die erkennt, dass die ankommende HTTP-Anfrage für ein entferntes Steuergerät, beispielsweise Steuergerät 160, gedacht ist. Über Schnittstellen und Vererbung wird sichergestellt, dass die Implementierung der speziellen Web-Seite unabhängig vom Übertragungsweg ist. Wenn die spezielle Web-Seite des Gateway-Steuergeräts 110 eine HTTP-Anfrage an das entfernte Steuergerät 160 schickt, kann diese HTTP-Anfrage mittels eines beliebigen Protokolls (z. B. ISO-TP) über den CAN-Bus 150, mit dem das Steuergerät 160 verbunden ist, gesendet werden. Die einzige Vorraussetzung ist, dass das Gateway-Steuergerät 110 und das Steuergerät 160 das gleiche Transportprotokoll benutzen. Neben ISO-TP sind auch leichtgewichtigere Protokolle denkbar.
-
Im Schritt 220 erkennt das Steuergerät 160, dass die erste CAN-Bus kompatible Nachricht, die vom Gateway-Steuergerät 110 gesendet wurde, für das Steuergerät 160 bestimmt ist, und empfängt die erste CAN-Bus kompatible Nachricht im Schritt 220. Das Steuergerät 160 extrahiert die HTTP-Anfrage aus der ersten CAN-Bus kompatiblen Nachricht im Schritt 225 und leitet die HTTP-Anfrage an den Web-Server 170 im Schritt 230 weiter.
-
In einer Ausführungsform umfasst das Steuergerät 160 den Web-Server 170 und leitet die HTTP-Anfrage an den Web-Server 170 weiter. In anderen Ausführungsformen kann das Steuergerät 160 auch eine Schnittstelle, wie beispielsweise eine USB-Schnittstelle, umfassen. Der Web-Server 170 kann dann beispielsweise als Software auf einem USB-Stick installiert sein, der zu Diagnosezwecken dann mit der USB-Schnittstelle des Steuergeräts 160 verbunden wird. In dieser Ausführungsform übernimmt der Web-Server 170, der auf dem USB-Stick installiert ist, die Funktionen des Web-Servers 170, der im Folgenden als im Steuergerät 160 enthalten beschrieben wird.
-
Im Schritt 235 erstellt der Web-Server 170 eine HTTP-Antwort (HTTP-Response) auf die HTTP-Anfrage. In einer Ausführungsform stellt dabei der Web-Server 170 eine Web-Seite zur Verfügung, die in Antwort auf die HTTP-Anfrage die HTTP-Antwort erzeugt. Hierbei kann der Web-Server auf Informationen zurückgreifen, die beispielsweise von Sensoren oder Aktoren des Steuergeräts 160 geliefert werden. Auch hier kann auf Web-Serverseitige Skripts wie CGI oder PHP zurückgegriffen werden.
-
Um die Implementierung der Web-Seite auf dem Steuergerät 160 unabhängig vom Transportprotokoll zu machen, kann das Steuergerät 160 auch über weitere Schnittstellen 180 verfügen, die eingerichtet sind, die erste CAN-Bus kompatible Nachricht über den CAN-Bus zu empfangen und die HTTP-Anfrage mit Hilfe der ersten CAN-Bus kompatiblen Nachricht wiederherzustellen. In einer Ausführungsform sind diese Funktionalitäten in zwei Schnittstellen implementiert, in einer anderen Ausführungsform sind diese Funktionalitäten in einer Schnittstelle zusammengefasst.
-
Im Schritt 240 erstellt das Steuergerät 160 eine zweite CAN-Bus kompatible Nachricht, die die HTTP-Antwort umfasst und sendet diese im Schritt 245 an das Gateway-Steuergerät 110. In einer Ausführungsform bettet das Steuergerät 160 die HTTP-Antwort in das Datenfeld eines Daten-Frames ein, der beispielsweise in Antwort auf einen Remote-Frame des Gateway-Steuergeräts 110 erzeugt wird.
-
In manchen Ausführungsformen wird die Erstellung und das Senden der zweiten CAN-Bus kompatiblen Nachricht von den Schnittstellen 180 des Steuergeräts 160 übernommen. So ist die Schnittstelle, die die HTTP-Anfrage mit Hilfe der ersten CAN-Bus kompatiblen Nachricht wiederhergestellt hat, in manchen Ausführungsformen außerdem dazu eingerichtet, eine zweite CAN-Bus kompatible Nachricht basierend auf der HTTP-Antwort zu erzeugen und die Schnittstelle, die die erste CAN-Bus kompatible Nachricht über den CAN-Bus empfangen hat, ist des Weiteren dazu eingerichtet, die zweite CAN-Bus kompatible Nachricht über den CAN-Bus 150 (zurück) an das erste Steuergerät 110 zu senden.
-
Im Schritt 250 empfängt das Gateway-Steuergerät 110 die zweite CAN-Bus kompatible Nachricht. In Ausführungsformen, in denen Schnittstellen 130 verwendet werden, um die Implementierung der speziellen Web-Seite unabhängig vom verwendeten Transport-Protokoll zu machen, ist beispielsweise die Schnittstelle des Gateway-Steuergeräts 110, die die erste CAN-Bus kompatible Nachricht über den CAN-Bus an das zweite Steuergerät gesendet hat, außerdem dazu eingerichtet, die zweite CAN-Bus kompatible Nachricht über den CAN-Bus 150 zu empfangen und die Schnittstelle, die die erste CAN-Bus kompatible Nachricht basierend auf der Anfragenachricht erzeugt hat, ist des Weiteren eingerichtet, die HTTP-Antwort mit Hilfe der zweiten CAN-Bus kompatiblen Nachricht wiederherzustellen.
-
Ganz allgemein extrahiert das Gateway-Steuergerät 110 die HTTP-Antwort aus der zweiten CAN-Bus kompatiblen Nachricht im Schritt 255 und leitet die HTTP-Antwort im Schritt 260 an den Sender der HTTP-Anfrage, beispielsweise über das Ethernet 140, weiter. So kann ein Benutzer des Computers 195 mittels eines Browsers einfach Daten von Steuergeräten, wie beispielsweise dem Steuergerät 160, abfragen oder Steuergeräte konfigurieren, die nicht mit dem Ethernet 140 direkt verbunden sind, sondern nur über den CAN-Bus 150.
-
Anstelle eines Ethernets 140 können auch andere Übertragungsstandards verwendet werden, wie beispielsweise Standards aus der IEEE-802-Familie.
-
Demnach vereinfacht die vorliegende Erfindung den Zugang zu Diagnosefunktionen von Steuergeräten, die Konfiguration von Steuergeräten und/oder den Zugang zu Informationen von Steuergeräten erheblich. Es ist nicht notwendig, jedes einzelne Steuergerät mit einer Ethernet-Schnittstelle auszustatten und an ein Ethernet anzukoppeln, um mittels Web-Seiten Informationen auszutauschen. Stattdessen genügt es, Steuergeräte, die nicht an ein Ethernet angeschlossen sind, sondern beispielsweise nur an einen CAN-Bus, mit einem Web-Server auszustatten und ein erfindungsgemäßes Gateway-Steuergerät 110 zur Verfügung zu stellen.