-
Die Erfindung betrifft ein Verfahren zur Durchführung einer Kommunikation in eifern Steuergerät, ein solches Steuergerät und einen Nachrichtenfilter zur Durchführung des Verfahrens.
-
Stand der Technik
-
Steuergeräte bestehen heute in der Regel aus einem Mikrocontroller und einem oder mehreren Systembausteinen, die zusätzliche Funktionalitäten realisieren. Bei bekannten Steuergeräten ist vorgesehen, dass der Mikrocontroller direkt mit diesen Systembausteinen über dedizierte Schnittstellen, wie z. B. SPI (Serial Peripheral Interface) oder Peripheriebusse, kommuniziert. Über diese Schnittstelle erfolgt der Austausch von Statuswerten, Sensorwerten, Ansteuerungsdaten von Aktoren und die Konfiguration des Systembausteins. Diese Kommunikation wird auch als Chip-to-Chip-Kommunikation bezeichnet.
-
Gleichzeitig erfolgt durch das Zusammenspiel zwischen Mikrocontroller und Systembausteinen die Kommunikation des Steuergeräts mit der Außenwelt durch eine Vielzahl an Schnittstellen, wie bspw. CAN (Controller Area Network), FlexRay, Bluetooth oder Ethernet. Hierzu implementiert der Mikrocontroller den eigentlichen Protokoll-Stapel bzw. Protokoll-Stack in Hardware oder in Software, während der Systembaustein die physikalische Repräsentation der Daten übernimmt. Zwischen diesen Bausteinen besteht eine Datenverbindung, die der Standard der verwendeten Schnittstelle vorgibt, z. B. Media Independent. Interface MII bei 100 MBit-Ethernet. Es ist zu beachten, dass alle betrachteten Kommunikationsschnittstellen eine eindeutige Identifikation der Kommunikationsteilnehmer nutzen (vgl. MAC-Adresse bei Ethernet und Bluetooth) und üblicherweise packetorientiert sind.
-
Bei der Kommunikation in einem Steuergerät wird die Einbettung der Chip-to-Chip-Kommunikation in Kommunikationsschnittstellen, wie bspw. CAN, FlexRay, Bluetooth oder Ethernet, angestrebt.
-
Offenbarung der Erfindung
-
Vor diesem Hintergrund werden ein Verfahren zur Durchführung einer Kommunikation in einem Steuergerät gemäß Anspruch 1, ein Steuergerät mit den Merkmalen des Anspruchs 4, ein Systembaustein nach Anspruch 6 und ein Nachrichtenfilter gemäß Anspruch 7 vorgestellt. Weitere Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen und der Beschreibung.
-
Es sind somit die Einführung einer eindeutigen Identifikationsnummer aus dem Nummernbereich des verwendeten Protokolls, und die Einführung eines Zusatzmoduls, das auf dem Systembaustein Nachrichten an den Systembaustein von den restlichen Nachriten trennt bzw. wieder zu den übrigen Nachrichten zufügt, und das zugehörende Programmierparadigma vorgesehen. Dabei ist zu berücksichtigen, dass die Nachrichten für den Systembaustein nicht zwangsläufig die physikalische Schicht des verwendeten Kommunikationsprotokolls durchlaufen. Systembausteine können rein analoge Schaltkreise, digitale Schaltkreise, Softwarelösungen und Mischformen davon sein. Die Nachrichten können blockweise oder verbindungsorientiert ausgetauscht werden.
-
Ein wesentlicher Vorteil des beschriebenen Verfahrens besteht in der Reduktion der benötigten Verbindungen zwischen Mikrocontroller und Systembaustein und damit in der Reduktion der Pinanzahl. Zusätzlich steht bei Nutzung von Kommunikationsschnittstellen mit hohem Datendurchsatz eine höhere Bandbreite zwischen Mikrocontroller und Systembaustein zur Verfügung, als dies durch die bei Steuergeräten traditionell genutzten Schnittstellen wie SPI möglich ist. Zudem erfolgt das Ansprechen des Systembausteins über eine genormte Softwareschnittstelle. Durch Reduktion von Verbindungen werden Kosten reduziert und eine weitere EMV-Quelle eingespart.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
-
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt in einer schematischen Darstellung eine Ausführungsform des vorgestellten Steuergeräts.
-
2 zeigt in einer schematischen Darstellung einen Nachrichtenfilter, wenn eine Nachricht von einem Mikrocontroller gesendet wird.
-
3 zeigt in einer schematischen Darstellung den Nachrichtenfilter, wenn eine Nachricht zu dem Mikrocontroller gesendet wird.
-
Ausführungsform der Erfindung
-
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
Die Figuren werden zusammenhängend und übergreifend beschrieben, gleiche Bezugszeichen bezeichnen gleiche Komponenten.
-
1 zeigt in einer schematischen, stark vereinfachten Darstellung eine Ausführung des beschriebenen Steuergeräts, das insgesamt mit der Bezugsziffer 10 bezeichnet ist. Dieses Steuergerät 10 umfasst einen Mikrocontroller 12 und einen Systembaustein 14. In dieser Darstellung ist lediglich ein Systembaustein 14 dargestellt. In der Regel umfasst das Steuergerät 10 eine Anzahl von Systembausteinen 14, die zur Realisierung unterschiedlicher Funktionen bzw. Funktionalitäten vorgesehen sind.
-
In dem Mikrocontroller 12 sind ein Kern 16 und ein Modul 18, das die Protokollschicht einer Kommunikationsschnittstelle 20 implementiert, vorgesehen. Das Modul 18 ist bspw. ein CAN-Modul oder ein Ethernet-MAC-Modul. Die Kommunikationsschnittstelle 20 ist typischerweise eine protokollspezifische Schnittstelle (bspw. MII) In dem Systembaustein 14 sind ein Nachrichtenfilter 22, ein erstes Modul 24 zur Anbindung der physikalischen Schicht und ein zweites Modul 26 für sonstige Funktionen des Systembausteins 14 vorgesehen. Weiterhin ist eine Identifikationsnummer 28 des Systembausteins 14 zugeordnet.
-
In der Darstellung ist somit der prinzipielle Aufbau des Steuergeräts 10 gezeigt. Der Mikrocontroller 12 verfügt demnach neben dem eigentlichen Rechnerkern bzw. Core 16 über das Modul 18, das die Protokollschicht der Kommunikationsschnittstelle 20 implementiert. Dieses Modul 18 ist nicht, wie dies aus dem Stand der Technik bekannt ist, direkt über die protokollspezifische Kommunikationschnittstelle 20 mit dem ersten Modul 24 zur Anbindung der physikalischen Schicht verbunden, sondern es ist der Nachrichtenfilter 22 dazwischengeschaltet. Dieser Nachrichtenfilter 22 verfügt über die Identifikationsnummer 28 des Systembausteins 14 und ist daher in der Lage, Nachrichten auf der protokollspezifischen Kommunikationschnittstelle 20 zwischen dem Mikrocontroller 12 und Systembaustein 14 anhand dieser Identifikationsnummer 28 zu klassifizieren. 2 zeigt die dafür notwendigen Untermodule. Die Identifikationsnummer 28 kann fest einem bestimmten Systembaustein 14 zugeordnet sein und bei der Herstellung fest eingestellt werden. Alternativ kann über spezielle Nachrichten die Identifikationsnummer zur Laufzeit neu eingestellt werden (z. B. MAC-Adresse 0 als Erkennung der speziellen Nachricht).
-
In 2 ist die Funktion des Nachrichtenfilters 22 wiedergegeben, wenn eine Nachricht von dem Mikrocontroller 12 gesendet wird. Die Darstellung zeigt eine erste Einheit 30 zur Erkennung einer Identifikationsnummer, eine zweite Einheit 32 zum Vergleich der Identifikationsnummer, eine dritte Einheit 34 zum Weiterleiten einer Nachricht und eine vierte Einheit 36 für den Protokollstapel dargestellt.
-
Wird eine Nachricht von dem Mikrocontroller 12 zu dem Systembaustein 14 gesendet (Pfeil 40), so durchläuft diese zunächst den Protokoll-Stack (Modul 18) des Mikrocontrollers 12 und wird über die Kommunikationsschnittstelle 20 zu dem Systembaustein 14 geschickt. Dabei ist die Identifikationsnummer 28 des Systembausteins 14 in der Nachricht codiert. Innerhalb des Nachrichtenfilters 22 erkennt die erste Einheit 30 die Identifikationsnummer 28. Die zweite Einheit 32 überprüft die Identifikationsnummer 28 der Nachricht mit der Identifikationsnummer 28 des Systembausteins 14, vergleichbar einem Router, jedoch eventuell mit reduziertem Funktionsumfang. Diese erkennt die Nachricht für den Systembaustein 14 und leitet diese statt an das erste Modul 24 für die physikalische Schicht an einen Systembaustein-internen Protokoll-Stapel bzw. Protokoll-Stack (Pfeil 37). Dieser entnimmt die Nutzdaten für den Systembaustein und leitet diese weiter an die übrigen Module des Systembausteins 14 (Pfeil 38). Der Protokoll-Stack auf dem Systembaustein 14 kann dabei sehr klein ausfallen, falls sich die Kommunikation an ein festes Datenformat zwischen Systembaustein 14 und Mikrocontroller 12 hält.
-
Wird eine Nachricht von dem Mikrocontroller 12 an die eigentliche Kommunikationsschnittstelle gesendet, so enthält diese nicht die Identifikationsnummer 28 des Systembausteins 14. Die zweite Einheit 32 zum Vergleichen leitet daraufhin die Nachricht an das Physikalische-Schicht-Modul 24 weiter (Pfeil 42), das die Nachricht standardmäßig weiterverarbeitet und zur physikalischen Schicht weiterleitet (Pfeil 44).
-
In 3 ist der Nachrichtenfilter 22 mit den Komponenten dargestellt, die dafür notwendig sind, wenn Nachrichten zu dem Mikrocontroller 12 gesendet werden. Die Darstellung zeigt einen Arbiter 50 und damit eine Komponente, die Zugriffe bzw. Zugriffskollisionen regelt bzw. priorisiert. Weiterhin ist die vierte Einheit 36 für den Protokollstapel dargestellt.
-
Wenn Nachrichten zu dem Mikrocontroller 12 gesendet werden sollen, kann der Nachrichtenfilter 22 einfacher aufgebaut sein. 3 zeigt die Funktion. Nachrichten (Pfeil 52) des Systembausteins 14 werden zunächst durch den kleinen Protokoll-Stapel (Einheit 36) wieder an das Format der Kommunikationsschnittstelle 20 zwischen Mikrocontroller 12 und Systembaustein 14 angepasst. Diese Nachrichten und die Nachrichten, die über die Kommunikationsschnittstelle 20 und das Physikalische-Schicht-Modul 24 empfangen werden, erreichen den Arbiter 50, der die Weiterleitung der Nachrichten an den Mikrocontroller 12 (Pfeil 54) koordiniert. Pfeil 56 verdeutlicht mögliche Nachrichten von der physikalischen Schicht.
-
Standardisierte Schnittstellen wie Ethernet verfügen auch in der Software über eine standardisierte Programmierschnittstelle. Die benötigte Software zwischen Hardware-Modul und Softwareschnittstelle, nämlich der Treiber, wird üblicherweise vom Modulhersteller mitgeliefert. Diese standardisierte Programmierschnittstelle lässt sich nun auch für die Kommunikation mit dem Systembaustein nutzen. Damit wird der Systembaustein z. B. bei Nutzung von Ethernet oder Bluetooth in Unix-artigen Betriebssystemen, bspw. über Sockets, Software-Module zum Datenaustausch, programmiert. Die eindeutige Identifikationsnummer ist in beiden Fällen eine MAC-Adresse, im Falle von Ethernet kann auch eine IP-Adresse genutzt werden. Durch die standardisierten Software-Schnittstellen ist damit die Software äußerst schnittstellenunabhängig.
-
Der vorstehend beschriebene Aufbau geht davon aus, dass Nachrichten an den Systembaustein 14 lediglich von dem Mikrocontroller 12 gesendet werden. Ebenso sendet der Systembaustein 14 nur Nachrichten an den Mikrocontroller 12. Alternativ lässt sich der Nachrichtenfilter 22 auch derart anpassen, dass der Systembaustein 14 zusätzlich Nachrichten über die Kommunikationsschnittstelle 20 empfängt und/oder sendet. Der Aufbau entspricht dann demjenigen der 2, allerdings mit umgekehrter Datenrichtung zwischen Kommunikationsschnittstelle 20 und Systembaustein 14 sowie zwischen Mikrocontroller 12 und Systembaustein 14. Damit ist es z. B. einem zentralen Steuergerät möglich, direkt mit dem Systembaustein 14 zu kommunizieren, ohne den Mikrocontroller 12 mit einzubeziehen. Durch diese Option sind verschiedene Ausführungen realisierbar:
- – Sicherheitsabschaltung von Aktoren durch andere Steuergeräte,
- – Notlaufeigenschaften bei erkanntem Mikrocontroller-Defekt,
- – direktes Auslesen von Sensorwerten, die von mehreren Steuergeräten genutzt werden (z. B. Radsensoren für ESP, Motorsteuerung und Navigationsgerät), ohne zusätzliche Rechenzeit für die Bereitstellung auf dem Mikrocontroller,
- – Client-Server-Modell von Steuergeräten: ein zentrales Steuergerät übernimmt einen Großteil der Funktionen, die übrigen Mikrocontroller bedienen nur einige wenige Funktionen. Beide müssen aber auf den Systembaustein zugreifen können. Insbesondere können die lokalen Controller z. B. lediglich der funktionalen Sicherheit dienen und als Checker-Core bzw. Prüf-Kern arbeiten. Dabei plausibilisieren sie Sensor-/Aktor-Werte durch geeignete Funktionen oder prüfen die Funktion des zentralen Steuergeräts und des Systembausteins durch ein Frage-/Antwort-Spiel.
-
Gegebenenfalls ist hierbei auch ein zusätzlicher Filter in Richtung Mikrocontroller nötig, was protokollabhängig ist, der Nachrichten für den Systembaustein nicht an den Mikrocontroller sendet. Insgesamt stehen dann die folgenden bidirektionalen Kommunikationsmöglichkeiten über diese Implementierung zur Verfügung:
- – Kommunikation verschiedener Mikrocontroller aus verschiedenen Steuergeräten,
- – Kommunikation des Mikrocontrollers mit dem Systembaustein innerhalb eines Steuergeräts,
- – Kommunikation eines Mikrocontrollers mit dem Systembaustein anderer Steuergeräte,
- – Kommunikation zwischen Systembausteinen in verschiedenen Steuergeräten (vollständig ohne Beteiligung von Mikrocontrollern).
-
Innerhalb eines Systems können mehrere Schnittstellen über die in der Erfindung beschriebene Kommunikationsmöglichkeit zwischen Systembaustein und Mikrocontroller verfügen. Dadurch ist bspw. eine redundante Auslegung möglich bzw. der Kommunikationskanal der Chip-to-Chip-Kommunikation kann dynamisch an die Auslastung der verschiedenen Schnittstellen angepasst werden. Zusätzlich reicht ggf. die Bandbreite der gewählten Schnittstelle nicht aus. Eine zusätzliche Schnittstelle kann die Bandbreite weiter erhöhen. Dabei kann sowohl eine homogene Implementierung, z. B. 2 × CAN, als auch eine heterogene Implementierung, z. B. 1 × CAN, 1 × FlexRay, gewählt werden.
-
Das vorgestellte Verfahren wird insbesondere mit einem Steuergerät der beschriebenen Art durchgeführt. Bei Durchführung des Verfahrens wird in dem zur Ausführung bestimmten Steuergerät regelmäßig mindestens ein Systembaustein verwendet, wie dieser den vorstehenden Ausführungen zu entnehmen ist. Hierbei verfügt der Systembaustein in der Regel über einen Nachrichtenfilter der beschriebenen Art.
-
Auf diese Weise ist es möglich, bei der Kommunikation innerhalb eines Steuergeräts zwischen Mikrocontroller und Systembaustein eine Verbindung einzusparen.