-
In heutigen Fahrzeugen werden größtenteils elektromechanische Lenksysteme ( ) eingesetzt. Treten in der Elektronik dieser Lenksysteme im Betrieb Fehler auf, wird die Lenkunterstützung abgeschaltet oder reduziert. Der Fahrer lenkt dann das Fahrzeug mit erhöhtem Kraftaufwand.
-
In naher Zukunft werden autonome Fahrsysteme in den Fahrzeugen eingesetzt, die es ermöglichen, dass der Fahrer nicht mehr dauerhaft mit der Fahraufgabe beschäftigt ist und bei aktivem Fahrsystem Nebentätigkeiten (Lesen, Schlafen, Nachrichten schreiben...) durchführen kann. Der Fahrer steht dem Lenksystem deshalb nicht mehr als Rückfallebene im Fehlerfall zur Verfügung. Demnach muss das in Verbindung mit einem autonomen Fahrsystem eingesetzte Lenksystem auch nach einem Fehler noch in der Lage sein, das Fahrzeug zu führen und eine Bewegung an der Zahnstange einzustellen.
-
Unter autonomem Fahren (manchmal auch automatisches Fahren, automatisiertes Fahren oder pilotiertes Fahren genannt) ist die Fortbewegung von Fahrzeugen, mobilen Robotern und fahrerlosen Transportsystemen zu verstehen, die sich weitgehend autonom verhalten. Es gibt verschiedene Abstufungen des Begriffs autonomes Fahren. Dabei wird auf bestimmten Stufen auch dann von autonomen Fahren gesprochen, wenn noch ein Fahrer im Fahrzeug befindlich ist, der ggfs. nur noch die Überwachung des automatischen Fahrvorgangs übernimmt. In Europa haben die verschiedenen Verkehrsministerien (in Deutschland war die Bundesanstalt für Straßenwesen beteiligt) zusammengearbeitet und die folgenden Autonomiestufen definiert.
- • Level 0: „Driver only“, der Fahrer fährt selbst, lenkt, gibt Gas, bremst etc.
- • Level 1: Bestimmte Assistenzsysteme helfen bei der Fahrzeugbedienung (u.a. ein Abstandsregelsystem - Automatic Cruise Control ACC).
- • Level 2: Teilautomatisierung. U.a. automatisches Einparken, Spurhaltefunktion, allgemeine Längsführung, Beschleunigen, Abbremsen etc. werden von den Assistenzsystemen übernommen (u.a. Stauassistent).
- • Level 3: Hochautomatisierung. Der Fahrer muss das System nicht dauernd überwachen. Das Fahrzeug führt selbstständig Funktionen wie das Auslösen des Blinkers, Spurwechsel und Spurhalten durch. Der Fahrer kann sich anderen Dingen zuwenden, wird aber bei Bedarf innerhalb einer Vorwarnzeit vom System aufgefordert, die Führung zu übernehmen. Diese Form der Autonomie ist auf Autobahnen technisch machbar. Der Gesetzgeber arbeitet darauf hin, Level 3-Fahrzeuge zuzulassen. Die gesetzlichen Rahmenbedingungen wurden dafür bereits geschaffen.
- • Level 4: Vollautomatisierung. Die Führung des Fahrzeugs wird dauerhaft vom System übernommen. Werden die Fahraufgaben vom System nicht mehr bewältigt, kann der Fahrer aufgefordert werden, die Führung zu übernehmen.
- • Level 5: Kein Fahrer erforderlich. Außer dem Festlegen des Ziels und dem Starten des Systems ist kein menschliches Eingreifen erforderlich.
-
Automatisierte Fahrfunktionen ab Stufe 3 nehmen dem Fahrer die Verantwortung für die Steuerung des Fahrzeugs ab. Ein daran beteiligtes Lenksystem, welches aufgrund eines Einzelfehlers ausfallen kann, braucht daher eine geeignete Rückfallebene, um das Fahrzeug immer in einem fahrdynamisch sicheren Zustand halten zu können bis der Fahrer wieder eingreifen kann, oder auch bei höherer Autonomiestufe bis das Fahrzeug ohne Unterstützung des Fahrers zum Stillstand kommt. Die sicherheitsrelevanten Systeme wie Bremssysteme, Fahrdynamiksysteme, Lenksysteme etc. für diese Art von Fahrzeugen, die ein automatisiertes Fahren ab Stufe 3 bieten, werden immer redundant ausgelegt. Sie bestehen dann aus Steuersträngen, die beide den Steuervorgang ausführen können, sodass eine Komponente ausfallen kann, ohne die Fahrstabilität zu gefährden.
-
Bekannt ist dabei die zweifach redundante Ausführung der Lenksystemelektronik. Dabei werden bereits die Eingangssignale in das Lenkhilfe-Steuergerät zweifach zur Verfügung gestellt. Auch der Logikteil ist doppelt ausgeführt, wo eine parallele, unabhängige Signalverarbeitung stattfindet. Das betrifft auch den Leistungsteil, der ebenfalls doppelt ausgeführt ist und einen oder mehrere geeignete Elektromotoren (z.B. 6-Phasen oder 12-Phasen-Motor) ansteuert. Tritt nun in einem der beiden Teilsysteme ein Fehler auf, ist das andere Teilsystem grundsätzlich in der Lage, zumindest eine reduzierte Lenkunterstützung zur Erzeugung einer Zahnstangenbewegung bereitzustellen.
-
Eine Herausforderung besteht bei dieser Struktur darin, dass ein erkannter Fehler auch mit quantifizierbarer Sicherheit als solcher identifiziert werden muss. Um die Sicherheitsanforderungen zu erfüllen und zur Vermeidung ungerechtfertigter Leistungsreduzierungen und Abschaltungen ist es notwendig, dass der Fehler durch eine separate Instanz bestätigt werden muss.
-
Der andere Steuerstrang kommt hier jedoch nicht allein in Frage, da im Falle einer gegenteiligen Entscheidung die Wahrscheinlichkeit, dass diese Prüfung ein falsches Ergebnis geliefert hat, genauso hoch ist wie die Wahrscheinlichkeit, dass der von dem anderen Steuerstrang detektierte Fehler als fehlerhaft erkannt wurde.
-
Es ist also eine dritte Instanz notwendig, die in diesem Fall den Ausschlag gibt, ob der Fehler als solcher bestätigt oder nicht bestätigt wird (2 aus 3-Entscheidung). Eine mögliche Lösung ist die Verwendung eines dritten, unabhängigen Mikroprozessors (Stand der Technik in Luft- und Raumfahrt). Da diese Lösung jedoch zusätzlichen Hardwareaufwand mit zusätzlichem Platzbedarf und erhöhten Kosten mit sich bringt, weist sie einige Nachteile auf.
-
Aus der
EP 2 450 261 A2 ist eine Vorrichtung zum Ansteuern eines Elektromotors für eine Hilfskraftlenkung bekannt. Darin empfängt ein Hauptrechner die Signale von Sensoren, bereitet sie auf und gibt Steuersignale aus. Daneben ist noch ein Überwachungsrechner vorgesehen, der ebenfalls die Signale von den Sensoren empfängt und in der Lage ist, bei einem Ausfall oder Defekt des Hauptrechners an dessen Stelle zu treten.
-
Aus der
DE 10 2016 203 090 A1 ist ein Steuergerät mit wenigstens zwei Mikrocontrollern bekannt, wobei die wenigstens zwei Mikrocontroller über wenigstens eine Ethernet-Verbindung miteinander in Kommunikationsverbindung stehen und dazu eingerichtet sind, darüber Daten auszutauschen. Insbesondere kann dadurch gewährleistet werden, dass die einzelnen Mikrocontroller auch in einem Fehlerfall miteinander kommunizieren können, beispielsweise wenn einer der Mikrocontroller einen Defekt aufweist oder wenn eine der Ethernet-Verbindungen etwa aufgrund eines Leitungsbruchs ausfällt. In einem Beispiel weist das Steuergerät vier Mikrocontroller mit jeweils zwei Prozessorkernen auf, die ringförmig miteinander verbunden sind.
-
Aus der
DE 10 2016 205 109 A1 ist ein Mikroprozessor mit wenigstens zwei Prozessorkernen bekannt, wobei ein erster Prozessorkern dazu eingerichtet ist, die Funktionen hardwareimplementiert durch speziell konfigurierte Hardware auszuführen, und ein zweiter Prozessorkern dazu eingerichtet ist, die Funktionen softwareimplementiert durch Ausführung von Software auszuführen. Der erste Prozessorkern ist dazu eingerichtet, eine von dem zweiten Prozessorkern ausgeführte Funktion zu überwachen und/oder abzusichern. Die Überwachung beruht dabei auf dem Einsatz von redundanter Hardware.
-
Im Rahmen der Erfindung wurde erkannt, dass das Sicherheitserfordernis, dass ein Fehler durch eine separate Instanz bestätigt werden muss, ohne zusätzlichen Hardwareaufwand nicht leicht zu realisieren ist.
-
Die Erfindung setzt sich zur Aufgabe, eine Lösung zu finden, wie eine weitere unabhängige Instanz implementiert werden kann, ohne einen zusätzlichen Prozessor einsetzen zu müssen.
-
Diese Aufgabe wird durch ein Verfahren für die Steuerung eines sicherheitsrelevanten Vorgangs gemäß Anspruch 1, eine Vorrichtung zur Steuerung eines sicherheitsrelevanten Vorgangs gemäß Anspruch 7 sowie ein Kraftfahrzeug gemäß Anspruch 11 gelöst
-
Die abhängigen Ansprüche beinhalten vorteilhafte Weiterbildungen und Verbesserungen der Erfindung entsprechend der nachfolgenden Beschreibung dieser Maßnahmen.
-
Die Erfindung setzt dabei auf eine besondere Hardware-Architektur. Für die Steuerung eines sicherheitsrelevanten Vorgangs werden wenigstens zwei Mikrocontroller eingesetzt, wobei jeder der wenigstens zwei Mikrocontroller für die Steuerung des sicherheitsrelevanten Vorgangs ausgebildet wird. Es handelt sich also um ein redundantes System. Dabei sind die beiden Mikrocontroller jeweils mit wenigstens zwei Rechenkernen ausgerüstet, in denen der gleiche Algorithmus gerechnet wird. Das erfindungsgemäße Verfahren zur Steuerung des sicherheitsrelevanten Vorgangs zeichnet sich dadurch aus, dass wenigstens bestimmte Rechenergebnisse der Rechenkerne in über die Rechenkerne verteilten Entscheidermodulen überprüft werden, wobei zur Überprüfung die Rechenergebnisse unter den Rechenkernen ausgetauscht werden und miteinander verglichen werden. Bei Erkennung einer Abweichung wird eine Mehrheitsentscheidung über wenigstens drei der verteilten Entscheidermodule gebildet. Diese bewirkt dann, dass die Steuerung des sicherheitsrelevanten Vorgangs durch den Mikrocontroller des Steuerstrangs, in dem der Rechenkern lokalisiert ist, dessen Rechenergebnis von den Rechenergebnissen in wenigstens zwei anderen Rechenkernen abweicht, unterbunden wird, wenn die Abweichung in wenigstens zwei der verteilten Entscheidermodule bestätigt wird. So wird die dritte Instanz durch Verteilung der Entscheidermodule über die Rechenkerne, die alle die Rechenergebnisse überprüfen, und Mehrheitsbildung realisiert und es kann ein weiterer Mikrocontroller eingespart werden.
-
Die Entscheidermodule werden als „virtuelle“ oder „logische“ Entscheider realisiert, sind also nicht physikalisch in einem Baustein vorhanden, sondern werden als Softwaremodule in den Rechenkernen der beiden vorhandenen Mikrocontroller verteilt ausgeführt.
-
Die Unterbindung der Steuerung des sicherheitsrelevanten Vorgangs kann in vorteilhafter Weise durch Abschaltung oder Teilabschaltung der Steuerung des sicherheitsrelevanten Vorgangs von dem Mikrocontroller selbst durchgeführt werden, in dem der Rechenkern lokalisiert ist, bei dessen Rechenergebnis die Abweichung festgestellt wurde. Dies entspricht einer einfach zu realisierenden Variante. In einer anderen Ausführungsform kann die Ausgestaltung auch so sein, dass ein Rechenkern in dem anderen Mikrocontroller die Abschaltung vornimmt.
-
Besonders vorteilhaft für die Implementierung ist es, wenn der Steuerungsvorgang in Funktionsgruppen aufgeteilt wird und für jede Funktionsgruppe eine Überprüfung eines Rechenergebnisses vorgesehen wird, wobei für jede Funktionsgruppe ein gleichartiges Entscheidermodul vorgesehen wird und wobei das Ergebnis der Überprüfung seitens eines Entscheidermoduls an die nächste Funktionsgruppe weitergereicht wird. Dieser modulare Aufbau der Steuerungssoftware vereinfacht sehr den Entwicklungsvorgang. Es werden jeweils zusätzlich zur notwendigen Funktion die immer gleichartig ausgeführten Blöcke zum Ergebnisvergleich und zur Entscheidungsbildung implementiert. Insbesondere in der Software ist es so möglich, eine einmal entwickelte, getestete und freigegebene Struktur mehrfach einzusetzen, was die Entwicklungsaufwände deutlich reduziert. Die genaue Anzahl der Funktionsgruppen kann vorteilhaft auf Basis der Sicherheitsanforderungen bzgl. der Fehlerabdeckung festgelegt werden.
-
Der Vorschlag kann besonders für den Anwendungsfall der Steuerung eines Lenkvorgangs bei einem Fahrzeug eingesetzt werden. Eine sinnvolle Einteilung in Funktionsgruppen besteht in der Aufteilung in die Funktionsgruppen: Verarbeitung der Eingangssignale, Berechnung der Spurstangenposition oder des Soll-Motormomentes zur Einstellung des Lenkwinkels, Erfassung des tatsächlichen von dem Mikrocontroller abgegebenen Steuersignals oder Erfassung des tatsächlichen von einer Umsetzereinheit abgegebenen Steuersignals.
-
Bei dem Lenksystem besteht der Steuerungsvorgang darin, dass bestimmte Phasen eines Mehrphasen-Elektromotors für den Lenkvorgang von jedem der wenigstens zwei Mikrocontroller angesteuert werden, um eine Zahnstangenbewegung entsprechend des Lenkbefehls herbeizuführen. Im Fehlerfall wird die Steuerung des Lenkvorgangs durch Trennung der Verbindung zwischen dem Mikrocontroller, in dem der als fehlerhaft erkannte Rechenkern lokalisiert ist, und den zugehörigen Phasen des Mehrphasen-Elektromotors unterbunden. Dafür kann ein Phasentrenner eingesetzt werden.
-
Für eine entsprechende Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorgangs sind die entsprechenden Maßnahmen vorteilhaft. Die Vorrichtung wird mit wenigstens zwei Mikrocontrollern redundant aufgebaut, und jeder der wenigstens zwei Mikrocontrollern wird für die Steuerung des sicherheitsrelevanten Vorgangs ausgebildet. Dabei ist es entsprechend des Vorschlages vorteilhaft, wenn die zwei Mikrocontroller jeweils wenigstens zwei Rechenkerne aufweisen, auf denen die gleichen Steuerungsfunktionen gerechnet werden. Jeder Rechenkern weist einen Vergleicher auf, in dem die unter den Rechenkernen ausgetauschten Rechenergebnisse verglichen werden. Weiterhin weist jeder Rechenkern ein Entscheidermodul auf, in dem eine Mehrheitsentscheidung gebildet wird mit den Überprüfungsergebnissen von wenigstens drei der Rechenkerne. Durch Mehrheitsentscheidung wird bestätigt, dass ein Fehlerfall bei einem der Rechenkerne vorliegt, und es erfolgt eine Unterbindung der Steuerung des sicherheitsrelevanten Vorgangs durch den Mikrocontroller des Steuerstrangs, in dem der Rechenkern lokalisiert ist, bei dem der Fehlerfall erkannt wurde.
-
Für den Datenaustausch ist wenigstens ein Kommunikationsbus vorgesehen, der die wenigstens zwei Mikrocontrollern miteinander verbindet. Dieser kann vorteilhaft in Form eines Ethernet-Kommunikationsbusses, FlexRay-Kommunikationsbusses oder CAN(-FD)-Kommunikationsbusses ausgebildet werden. Dabei steht CAN-FD für das Controller Area Network-Flexible Data Rate.
-
Eine weitere vorteilhafte Maßnahme besteht darin, dass wenigstens einer der Rechenkerne der Mikrocontroller mit Lockstep-Kern ausgerüstet wird, der somit in der Lage ist, eigene zufällige Rechenfehler Fehler zu erkennen. Das Ergebnis dieses Kerns kann dadurch als zuverlässig betrachtet werden.
-
Die Vorrichtung kann vorteilhaft zur Steuerung eines Lenkvorgangs in einem Fahrzeug eingesetzt werden.
-
Die Erfindung kann in allen Fahrzeugen mit einer automatisierten Fahrfunktion ab Stufe 3 (nach VDA) eingesetzt werden.
-
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird nachfolgend anhand der Figuren näher erläutert.
-
Es zeigen:
- 1 das typische Cockpit eines Fahrzeuges;
- 2 eine Gesamtansicht eines typischen Lenksystems für ein Fahrzeug;
- 3 ein Blockschaltbild der Kfz-Elektronik des Fahrzeuges;
- 4 ein Blockschaltbild des Lenkhilfe-Steuergerätes;
- 5 ein erstes Blockschaltbild der beiden Microcontroller in dem Lenkhilfe-Steuergerät;
- 6 ein zweites Blockschaltbild der beiden Microcontroller in dem Lenkhilfe-Steuergerät mit einer Ansicht der logischen Entscheiderstufe;
- 7 ein drittes Blockschaltbild der beiden Microcontroller in dem Lenkhilfe-Steuergerät mit einer Abfolge einer Fehlerüberprüfung; und
- 8 ein Prinzipbild für die Aufteilung der Steuerungsfunktion in Funktionsgruppen.
-
Die vorliegende Beschreibung veranschaulicht die Prinzipien der erfindungsgemäßen Offenbarung. Es versteht sich somit, dass Fachleute in der Lage sein werden, verschiedene Anordnungen zu konzipieren, die zwar hier nicht explizit beschrieben werden, die aber Prinzipien der erfindungsgemäßen Offenbarung verkörpern und in ihrem Umfang ebenfalls geschützt sein sollen.
-
1 zeigt das typische Cockpit eines Fahrzeuges 10. Dargestellt ist ein Personenkraftwagen Pkw. Als Fahrzeug 10 kämen allerdings beliebige andere Fahrzeuge ebenfalls in Betracht. Beispiele von weiteren Fahrzeugen sind: Busse, Nutzfahrzeuge, insbesondere Lastkraftwagen Lkw, Landmaschinen, Baumaschinen, Schienenfahrzeuge usw. Der Einsatz der Erfindung wäre allgemein bei Landfahrzeugen, Schienenfahrzeugen, Wasserfahrzeugen und Luftfahrzeugen möglich.
-
Die für die Erfindung wesentliche Komponente in dem Fahrzeug 10 ist das Lenksystem, von dem in dem Cockpit das Lenkrad 12 mit Teilen der Lenksäule zu sehen ist. Weiter ist in 1 eine Anzeigeeinheit eines Infotainment-Systems mit Bezugszeichen hervorgehoben. Es handelt sich um einen berührungsempfindlichen Bildschirm 20, der in der Mittelkonsole angebracht ist.
-
Der berührungsempfindliche Bildschirm 20 dient dabei insbesondere zur Bedienung von Funktionen des Fahrzeugs 10. Beispielsweise können darüber ein Radio, ein Navigationssystem, eine Wiedergabe von gespeicherten Musikstücken und/oder eine Klimaanlage, andere elektronische Einrichtungen oder andere Komfortfunktionen oder Applikationen des Fahrzeugs 10 gesteuert werden. Zusammengefasst wird häufig von einem „Infotainment-System“ gesprochen. Ein Infotainment-System bezeichnet bei Kraftfahrzeugen, speziell Pkw, die Zusammenführung von Autoradio, Navigationssystem, Freisprecheinrichtung, Fahrerassistenzsystemen und weiterer Funktionen in einer zentralen Bedieneinheit. Der Begriff Infotainment ist ein Kofferwort, zusammengesetzt aus den Worten Information und Entertainment (Unterhaltung). Zur Bedienung des Infotainment-Systems wird hauptsächlich der berührungsempfindliche Bildschirm 20 („Touchscreen“) benutzt, wobei dieser Bildschirm 20 insbesondere von einem Fahrer des Fahrzeugs 10, aber auch von einem Beifahrer des Fahrzeugs 10 gut eingesehen und bedient werden kann. Unterhalb des Bildschirms 20 können zudem mechanische Bedienelemente, beispielsweise Tasten, Drehregler oder Kombinationen hiervon, wie beispielsweise Drückdrehregler, in einer Eingabeeinheit 50 angeordnet sein. Typischerweise ist auch eine Lenkradbedienung von Teilen des Infotainment-Systems möglich. Dafür sind die Fahrzeuge mit einer sogenannten Multifunktionslenkrad-Bedienung ausgestattet. Diese Einheit ist nicht separat dargestellt, sondern wird als Teil der Eingabeeinheit 50 betrachtet.
-
Zurück zum Lenksystem des Fahrzeuges 10. Eine Gesamtansicht des Lenksystems zeigt 2. Die wesentlichen Komponenten sind das Lenkrad 12, die Lenksäule 14, der Drehmomentsensor 15, der Elektromotor 16, die Zahnstange 18 und das Lenkhilfe-Steuergerät 186.
-
3 zeigt schematisch ein Blockschaltbild der Kfz-Elektronik sowie beispielhaft einige Teilsysteme oder Applikationen des Infotainment-Systems. Das Infotainment-System umfasst: die berührungsempfindliche Anzeigeeinheit 20, eine Recheneinrichtung 40, eine Eingabeeinheit 50 und einen Speicher 60. Die Anzeigeeinheit 20 umfasst sowohl eine Anzeigefläche zum Anzeigen veränderlicher grafischer Informationen als auch eine über der Anzeigefläche angeordnete Bedienoberfläche (berührungssensitive Schicht) zum Eingeben von Befehlen durch einen Benutzer.
-
Die Anzeigeeinheit 20 ist über eine Datenleitung 70 mit der Recheneinrichtung 40 verbunden. Die Datenleitung kann nach dem LVDS-Standard ausgelegt sein, entsprechend Low Voltage Differential Signalling. Über die Datenleitung 70 empfängt die Anzeigeeinheit 20 Steuerdaten zum Ansteuern der Anzeigefläche des Touchscreens 20 von der Recheneinrichtung 40. Über die Datenleitung 70 werden auch Steuerdaten der eingegebenen Befehle von dem Touchscreen 20 zu der Recheneinrichtung 40 übertragen. Mit der Bezugszahl 50 ist die Eingabeeinheit bezeichnet. Ihr zugehörig sind die schon erwähnten Bedienelemente wie Tasten, Drehregler, Schieberegler oder Drehdrückregler, mit deren Hilfe die Bedienperson über die Menüführung Eingaben machen kann. Unter Eingabe wird allgemein das Anwählen einer ausgewählten Menüoption verstanden, wie auch das Ändern eines Parameters, das Ein- und Ausschalten einer Funktion usw.
-
Die Speichereinrichtung 60 ist über eine Datenleitung 80 mit der Recheneinrichtung 40 verbunden. In dem Speicher 60 ist ein Piktogrammverzeichnis und/oder Symbolverzeichnis hinterlegt mit den Piktogrammen und/oder Symbolen für mögliche Einblendungen von Zusatzinformationen.
-
Die weiteren Teile des Infotainment-Systems Kamera 150, Radio 140, Navigationsgerät 130, Telefon 120 und Kombiinstrument 110 sind über den Datenbus 100 mit der Vorrichtung zur Bedienung des Infotainment-Systems verbunden. Als Datenbus 100 kommt die Highspeed-Variante des CAN-Bus nach ISO Standard 11898-2 in Betracht. Alternativ käme z.B. auch der Einsatz eines auf Ethernet-Technologie beruhenden Bussystems wie IEEE 802.03cg in Frage. Auch Bussysteme, bei denen die Datenübertragung über Lichtwellenleiter geschieht, sind einsetzbar. Als Beispiele werden genannt der MOST Bus (Media Oriented System Transport) oder der D2B Bus (Domestic Digital Bus). Für die drahtlose Kommunikation nach innen und außen ist das Fahrzeug 10 mit einem Kommunikationsmodul 160 ausgestattet. Dieses Modul wird oft auch als On-Board Unit bezeichnet. Es kann für die Mobilfunk-Kommunikation, z.B. nach LTE Standard, entsprechend Long Term Evolution, ausgelegt sein. Ebenfalls kann es für WLAN-Kommunikation, entsprechend Wireless LAN, ausgelegt sein, sei es für die Kommunikation zu Geräten der Insassen im Fahrzeug oder für die Fahrzeug-zu-Fahrzeug Kommunikation etc.
-
Der Kommunikationsbus 100 des Infotainment-Systems ist mit einem Gateway 30 verbunden. Daran angeschlossen sind auch die anderen Teile der Kfz-Elektronik. Zum Einen der Kommunikationsbus 104 des Antriebstrangs, der typischerweise in Form des CAN-Bus realisiert wird. Als Beispiele sind die Steuergeräte des Antriebstrangs Motorsteuergerät 172, ESP-Steuergerät 174 und Getriebesteuergerät 176 genannt und gezeigt. Weiter der Kommunikationsbus 102 für Fahrerassistenzsysteme, der in Form des FlexRay-Busses ausgebildet sein kann. Dabei sind drei Fahrerassistenzsysteme dargestellt: ein Fahrerassistenzsystem 182 zur automatischen Abstandsregelung ACC entsprechend Adaptive Cruise Control, ein Fahrerassistenzsystem DCC zur adaptiven Fahrwerksregelung 184, entsprechend Dynamic Chassis Control und ein Lenkhilfesystem 186. Weiterhin ist noch ein Kommunikationsbus 106 an das Gateway 30 angeschlossen. Dieser verbindet das Gateway 30 mit einer On-Board Diagnoseschnittstelle 190. Die Aufgabe des Gateway 30 besteht darin, die Formatumwandlungen für die verschiedenen Kommunikationssysteme 100, 102, 104, 106 zu machen, sodass untereinander Daten ausgetaucht werden können.
-
Im Folgenden wird genauer auf das Lenkhilfe-Steuergerät 186 eingegangen.
-
Es ist, wie schon erwähnt, aus Sicherheitsgründen redundant aufgebaut. Der Lenkvorgang wird durch zwei parallele Stränge gesteuert. Dabei sind die Teile Eingangselektrik 220, 320, Logikteil 250, 350 und Leistungsteil 270, 370 jeweils doppelt vorhanden. Ebenfalls gezeigt ist der Mehrphasen-Elektromotor 410, der von dem Lenkhilfe-Steuergerät 186 angesteuert wird. Dabei wird der Elektromotor zur vollen Lenkunterstützung von beiden Strängen angesteuert. Sollte in einem der beiden Stränge ein Fehler auftreten, so wird die Steuerung durch diesen Strang sicherheitshalber unterbunden. Dadurch bekommt der Fahrer keine volle Lenkunterstützung mehr, die Lenkfunktion bleibt aber durch die Steuerung des anderen Strangs insoweit noch gewährleistet, dass das Fahrzeug 10 noch sicher an den Straßenrand oder in eine Nothaltebucht oder auf einen Parkplatz gelenkt werden kann. Das System ist dabei so ausgelegt, dass der Fahrer dafür nicht eingreifen muss. Das Lenksystem kann den Lenkvorgang noch selbsttätig durchführen. Nach diesem Not-Stopp ist eine Weiterfahrt mit manueller Bedienung der Lenkung möglich.
-
Eine Realisierung könnte auch so gestaltet werden, dass beide Steuerungs-Stränge jeder einzeln die volle Lenkunterstützung liefern können.
-
Damit wäre es auch möglich, dass das Fahrzeug nach einem aufgetretenen Fehler in einem Strang noch mit dem verbliebenen funktionsfähigen Strang selbsttätig die Fahrt bis „Zündung Aus“ beendet. Zur Sicherheit wäre danach aber ein wiederholtes Einschalten der automatischen Fahrfunktion blockiert.
-
In den Eingangs-Elektrikteilen 228 und 328 befindet sich jeweils eine Filtereinheit 228 und 328, in der z.B. die Drosseln und Filter angeordnet sind, um Störungen bei der Versorgungsspannung auszugleichen. Die Versorgungsspannung steht an dem Stromanschluss 222 an. Der Kontakt 226 dient zur Verbindung mit dem Drehmomentsensor 15 des Lenksystems. Dieser ist an der Lenksäule 14 angebracht und wird direkt eingelesen. Zukünftig könnte ein solcher Sensor entfallen. Es werden bereits unter dem Stichwort Steerby-Wire Lenksysteme entwickelt, die ohne mechanische Lenksäule auskommen. Damit kommt dann die Information in das Lenkhilfe-Steuergerät 186, welche Kräfte an der Lenkung wirken. Mit dem Drehmomentsensor 15 werden typischerweise die erforderlichen Daten von Drehwinkel, Drehrichtung und Drehmoment elektronisch erfasst. Das ist wichtig, um bestimmen zu können, welche Kraft der Elektromotor 410 aufbringen muss, um den Lenkvorgang unterstützen zu können. Es ist ja zu beachten, dass der Lenkprozess sehr feinfühlig gesteuert werden muss. Da spielen weitere Informationen eine wichtige Rolle, z.B. die Geschwindigkeit des Fahrzeuges. Dieses Eingangssignal vom Drehmomentsensor wird intern an beide Mikrocontroller 250 und 350 weitergeleitet. Weiterhin ist jeder Mikrocontroller 250, 350 separat an den Kommunikationsbus 102 angeschlossen. Das Lenkhilfe-Steuergerät 186 hat daher zwei Anschlüsse für den Fahrzeug-Bus. Auf diese Weise ist die Lenkfunktion sogar dann gewährleistet, wenn bei einem der Bus-Anschlüsse oder der Zuleitungen ein Defekt vorliegt. Die Logikteile 250 und 350 des Lenkhilfe-Steuergerätes 186 enthalten im Wesentlichen jeweils einen der beiden Mikrocontroller 256 und 356. Der Mikrocontroller 256 beinhaltet die beiden Rechenkerne 252 und 254. Der Mikrocontroller 356 beinhaltet die beiden Rechenkerne 352 und 354. Die Rechenkerne eines Mikrocontrollers sind untereinander verbunden, sodass sie Daten, insbesondere Rechenergebnisse, austauschen können. Dafür wird typischerweise ein paralleler Bus entsprechend eingesetzt. Zwischen allen vier Rechenkernen 252, 254, 352, 354 der Mikrocontroller 256, 356 können ebenfalls Daten untereinander ausgetauscht werden. Dies ist auch bei dem hier vorgestellten Sicherheitskonzept erforderlich, damit die Daten, auf deren Basis die Entscheidung getroffen werden soll, in gleicher Art auf allen vier Kernen vorliegen. In einer Ausführung der Erfindung ist der Kommunikationsbus 259 zwischen den beiden Mikrocontrollern 256, 356 als Ethernet-Bus ausgeführt. In einer anderen Ausgestaltung kann er auch als FlexRay oder CAN-FD-Kommunikationsbus ausgebildet werden. In 4 ist gezeigt, dass jeder Rechenkern über zwei Ethernet-Ports verfügt, über die er mit den beiden Rechenkernen des anderen Mikrocontrollers verbunden ist. Eine Besonderheit besteht noch darin, dass die Rechenkerne 252 und 352 mit sogenannten Lockstep-Rechenkernen 253 und 353 ausgestattet sind. Diese entsprechen Parallelrechnern, die das exakt gleiche Programm abarbeiten. Die Parallelschaltung dient aber nicht der Leistungssteigerung, sondern der Kontrolle. Es findet ein Vergleich der Ergebnisse der einzelnen Rechenkerne statt, der in einzelnen, zeitlich engen und nicht unterbrechbaren Schritten stattfindet. Durch die so erzielte Redundanz lassen sich hardwareseitige Ausfälle in einem der Rechenkerne detektieren und darauf reagieren, wie dies bei einem Dual-Core im Lockstep-Betrieb der Fall ist.
-
Auch der Leistungsteil des Lenkhilfe-Steuergerätes 186 ist parallel aufgebaut. Das Steuersignal zur Ansteuerung des Elektromotors 410 wird von dem jeweiligen Mikrocontroller 256, 356 in Form von PWM-Signalen, entsprechend „pulse width modulation“, ausgegeben. Diese werden im Leistungsteil 270 und 370 in entsprechenden Umsetzer-Schaltkreisen 272, 274 und 372, 374 umgesetzt. In 4 ist der Elektromotor als 12 Phasen-Motor gezeigt. Je nachdem, welche Phasen angesteuert werden, wird also mehr oder weniger Kraft an die Zahnstange übertragen. Wenn alle Phasen angesteuert werden, wird die größte Kraft aufgebracht. Um das feinfühlig steuern zu können, werden pro Mikrocontroller 256, 356 zwei Umsetzer-Schaltkreise 272, 274 bzw. 372, 374 vorgesehen. Es handelt sich um sogenannte Gate Drive Units GDU, die das PWM-Signal in entsprechende Signale zur Ansteuerung eines Verstärkers (Power MOSFET) umwandeln. Bevor die Ansteuersignale an den Elektromotor 410 gelangen, passieren sie noch eine Phasentrennschaltung 276, 278 bzw. 376, 378. Über die Phasentrennschaltungen kann jeweils eine Abschaltung der Ansteuerung des Elektromotors 410 im entsprechenden Pfad erfolgen. Entsprechend der gezeichneten Verbindungen zwischen Mikrocontrollern und Phasentrennschaltungen kann eine Abschaltung der Ansteuerung jeweils nur durch den Mikrocontroller des jeweiligen Steuerstrangs erfolgen.
-
In den folgenden Figuren bezeichnen die gleichen Bezugszahlen jeweils die gleichen Komponenten wie in 4. Die 5 veranschaulicht den Vorgang des gegenseitigen Datenaustauschs unter den Rechenkernen bei einem Schritt der Überprüfung der Rechenergebnisse nach einem sogenannten Daten-Event. Der Steuerungsvorgang besteht aus verschiedenen Phasen. Darunter die Erfassung und Verarbeitung der Eingangssignale, die Berechnung des Sollmotormomentes durch die Lenkfunktionen und die Bildung der Ansteuersignale durch den Motorregler. Nach jeder Stufe kann eine Überprüfung der Verarbeitungs- oder Rechenergebnisse erfolgen. Weitere Überprüfungen könnten mit Zwischenergebnissen erfolgen. Nach jedem Zwischenergebnis oder bei Beendigung einer der genannten Stufen wird in jedem Rechenkern ein Daten-Event 251, 351, 255, 355 ausgelöst. Das Auftreten eines Datenevents löst dann den Austausch der vorbestimmten Verarbeitungs- oder Rechenergebnisse unter den Rechenkernen aus. Es erfolgt ein Vergleich der Ergebnisse. Gibt es Abweichungen, muss in einem der Kerne ein Fehler vorliegen. Wie entschieden wird, in welchem Strang der Fehler vorliegt, ist Gegenstand der folgenden Betrachtungen. Ebenfalls in 5 ist dargestellt, dass eine gegenseitige Programmablaufkontrolle 264 zwischen jeweils zwei Rechenkernen erfolgt. Dies kann mit entsprechend ausgelegten Watchdog-Schaltungen realisiert werden.
-
6 zeigt den Einsatz eines logischen Entscheiders 260, der sozusagen als dritte Instanz dem Zweck dient, zu entscheiden, bei welchem Mikrocontroller 256, 356 der Fehler aufgetreten ist. Der logische Entscheider ist aber kein zusätzlicher Hardware-Baustein. Es handelt sich vielmehr um einen Entscheider, der mit Software realisiert wird. Dabei wird ein Teil der Software für den Entscheider auf jedem Rechnerkern installiert. Die entsprechenden Teile sind in der 6 mit den Bezugszeichen 261, 262, 361, 362 bezeichnet.
-
In
7 ist der Ablauf der Überprüfung gezeigt. Nach dem Auftreten des Daten-Events werden die Rechenergebnisse untereinander ausgetauscht. Bei dem Vergleich der Rechenergebnisse wird im Rechenkern
252 eine Abweichung festgestellt, s. den Schritt
ED. Im logischen Entscheider
260 werden daneben auch die Ergebnisse der Vergleiche in den Rechenkernen
352 und
254 berücksichtigt. Der logische Entscheider
260 bildet eine Mehrheitsentscheidung. Dies geschieht wie folgt. In jedem Rechenkern wird verglichen, welches Rechenergebnis abweicht, s. die Schritte
EC1 und
EC2. Die folgenden Tabellen veranschaulichen den Vorgang:
Vergleich in | µCA RK1 | µCA RK2 | µCB RK1 |
Abweichung in | µCA RK1 | µCA RK1 | µCA RK1 |
-
Hier wurde bei den Vergleichen in allen Rechenkernen festgestellt, dass das Ergebnis in Rechenkern 252 von den Ergebnissen in den Rechenkernen 352 und 254 abweicht. Dies wird von den Entscheidern 261, 262, 361 erkannt. Es liegt also eine eindeutige Mehrheit dafür vor, dass der Rechenkern 252 einen Defekt aufweist, und der Entscheider 262 sorgt dann im Schritt EH dafür, dass die Ansteuerung des Elektromotors 410 durch den Mikrocontroller 256 unterbunden wird. Dies erfolgt mit den Phasentrennschaltungen 276, 278.
-
In dem weiteren betrachteten Fall sind die Ergebnisse der Vergleiche wie folgt:
Vergleich in | µCA RK1 | µCA RK2 | µCB RK1 |
Abweichung in | keine | µCA RK1 | µCA RK1 |
-
Hier wurde bei dem Vergleich in Rechenkern 252 gar keine Abweichung festgestellt, hingegen bei den Vergleichen in den Rechenkernen 262 und 361 wurde festgestellt, dass eine Abweichung bei dem Rechenergebnis von Rechenkern 252 vorliegt. In den Entscheidermodulen (261, 262, 361) wird wieder eine Mehrheitsentscheidung mit den von den anderen Entscheidermodulen (261, 262, 361) gelieferten Ergebnisse gebildet. Damit liegt eine 2:1 Mehrheit vor und es wird wiederum der Mikrocontroller 256 von dem Elektromotor 410 getrennt.
-
Weitere Konstellationen sind möglich, die aber hier nicht im Einzelnen betrachtet werden müssen. Dadurch, dass immer drei Entscheidermodule involviert sind, ergibt sich immer Einstimmigkeit, wenn alles ok ist, oder eine 2/3-Mehrheit, wenn einer der Kerne von einem Defekt betroffen ist. Wenn keine Abweichung festgestellt wird, ist alles in Ordnung und es muss keine Abschaltung erfolgen. Es werden immer die Vergleichsergebnisse in drei Rechenkernen zur Plausibilisierung einer erkannten Abweichung herangezogen. Dadurch, dass die Entscheidermodule (261, 262, 361, 362) über die Rechenkerne (252, 254, 352, 354) verteilt sind, in denen die Vergleichsergebnisse analysiert werden, ist immer ein funktionierendes Entscheidermodul eines Mikrocontrollers aktiv, um die Abschaltung des Strangs, wo die Abweichung auftritt, vorzunehmen.
-
Im Folgenden wird ein besonders vorteilhafter modularer Aufbau der Steuerungssoftware vorgestellt. Dabei ist auch der Vergleichsvorgang und das Entscheidermodul berücksichtigt. Der modulare Aufbau ist in 8 gezeigt. Der Steuervorgang wird in Funktionsgruppen eingeteilt. Die Funktionsgruppen können den bereits oben erwähnten Phasen des Steuervorgangs entsprechen, also die Erfassung und Verarbeitung der Eingangssignale, die Berechnung des Sollmotormomentes durch die Lenkfunktionen und die Bildung der Ansteuersignale durch den Motorregler. Zwei Funktionsgruppen FG1 und FG2 sind als Beispiel dargestellt. Durch das Daten-Event wird eine Überprüfung der Funktion FG1 veranlasst. Der erwähnte Vergleich der Rechenergebnisse findet in dem Vergleicher FG1V statt. Dazu müssen die Rechenergebnisse aus den beiden anderen Rechenkernen zu dem Vergleicher FG1V übertragen werden. Die Vergleichsergebnisse werden in dem Entscheidermodul FG1E ausgewertet. Darin wird die beschriebene Mehrheitsentscheidung gebildet. Gleichzeitig bekommt das Entscheidermodul FG1 E auch noch das Feedback von den anderen beiden Entscheidermodulen in der Form, ob sie einen Fehlerfall erkannt haben oder nicht. So erhalten sie dann eine Bestätigung für ihre eigene Mehrheitsentscheidung. So wird darin eine weitere Mehrheitsentscheidung gebildet, nämlich darüber, ob der Fehler auch durch mindestens ein weiteres Entscheidermodul festgestellt wurde. Damit wird die Funktion des Entscheidermoduls abgesichert. Dazu werden die Ergebnisse der anderen Entscheidermodule an das Entscheidermodul FG1E zurückgemeldet. Wenn keine Abweichung festgestellt wurde und auch von den anderen Entscheidermodulen keine Fehlererkennung gemeldet wird, wird der Ausgang des Entscheidermoduls FG1 E auf Null gesetzt, was bedeutet, dass durch den Test kein Fehlfunktion festgestellt wurde. Andernfalls wird der Ausgang auf Eins gesetzt, was bedeutet, dass eine Fehlfunktion festgestellt wurde. Die Weiterleitung der Information in die folgende Funktionsgruppe FG2 sorgt dafür, dass der Fehler auch dort ausgegeben wird. Am Ende des Steuervorgangs erscheint also der Fehler auch noch und das Entscheidermodul der letzten Funktionsgruppe des Steuervorgangs wird schließlich die Abschaltung der Steuerung durch den fehlerhaften Strang bewirken.
-
Um die Entscheiderstruktur so umzusetzen, wird die Software und Elektronik in Funktionsgruppen aufgeteilt, auf denen jeweils zusätzlich zur notwendigen Funktion die immer gleichartig ausgeführten Blöcke zum Ergebnisvergleich und zur Entscheidung implementiert sind. Das Ergebnis der Entscheider kann positiver oder negativer Logik folgen. Dabei bedeuten:
- - Positive Logik: eine logische 1 bedeutet alles ist in Ordnung, dann besteht der Vergleicher aus logischen UND Gattern
- - Negative Logik: eine logische 0 bedeutet alles ist in Ordnung, dann besteht der Vergleicher aus logischen ODER Gattern. Beide Varianten haben Vor- und Nachteile und es wird nach Bedarf entschieden, welche Logik für das jeweilige Projekt geeignet ist.
-
Insbesondere in der Software ist es so möglich, eine einmal entwickelte, getestete und freigegebene Struktur mehrfach einzusetzen, was die Entwicklungsaufwände deutlich reduziert.
-
Alle hierin erwähnten Beispiele wie auch bedingte Formulierungen sind ohne Einschränkung auf solche speziell angeführten Beispiele zu verstehen. So wird es zum Beispiel von Fachleuten anerkannt, dass das hier dargestellte Blockdiagramm eine konzeptionelle Ansicht einer beispielhaften Schaltungsanordnung darstellt. In ähnlicher Weise ist zu erkennen, dass ein dargestelltes Flussdiagramm, Zustandsübergangsdiagramm, Pseudocode und dergleichen verschiedene Varianten zur Darstellung von Prozessen darstellen, die im Wesentlichen in computerlesbaren Medien gespeichert und somit von einem Computer oder Prozessor ausgeführt werden können.
-
Es sollte verstanden werden, dass das vorgeschlagene Verfahren und die zugehörigen Vorrichtungen in verschiedenen Formen von Hardware, Software, Firmware, Spezialprozessoren oder einer Kombination davon implementiert werden können. Spezialprozessoren können anwendungsspezifische integrierte Schaltungen (ASICs), Reduced Instruction Set Computer (RISC) und / oder Field Programmable Gate Arrays (FPGAs) umfassen. Vorzugsweise wird das vorgeschlagene Verfahren und die Vorrichtung als eine Kombination von Hardware und Software implementiert. Die Software wird vorzugsweise als ein Anwendungsprogramm auf einer Programmspeichervorrichtung installiert. Typischerweise handelt es sich um eine Maschine auf Basis einer Computerplattform, die Hardware aufweist, wie beispielsweise eine oder mehrere Zentraleinheiten (CPU), einen Direktzugriffsspeicher (RAM) und eine oder mehrere Eingabe/Ausgabe (I/O) Schnittstelle(n). Auf der Computerplattform wird typischerweise außerdem ein Betriebssystem installiert. Die verschiedenen Prozesse und Funktionen, die hier beschrieben wurden, können Teil des Anwendungsprogramms sein oder ein Teil, der über das Betriebssystem ausgeführt wird.
-
Die Offenbarung ist nicht auf die hier beschriebenen Ausführungsbeispiele beschränkt. Es gibt Raum für verschiedene Anpassungen und Modifikationen, die der Fachmann aufgrund seines Fachwissens als auch zu der Offenbarung zugehörend in Betracht ziehen würde.
-
Bezugszeichenliste
-
- 10
- Fahrzeug
- 20
- berührungsempfindliche Anzeigeeinheit
- 30
- Gateway
- 40
- Recheneinheit
- 50
- Eingabeeinheit
- 60
- Speichereinheit
- 70
- Datenleitung zur Anzeigeeinheit
- 80
- Datenleitung zur Speichereinheit
- 90
- Datenleitung zur Eingabeeinheit
- 100
- 1. Datenbus
- 102
- 2. Datenbus
- 104
- 3. Datenbus
- 106
- 4. Datenbus
- 110
- Kombiinstrument
- 120
- Telefon
- 130
- Navigationsgerät
- 140
- Radio
- 150
- Kamera
- 160
- Kommunikationsmodul
- 172
- Motorsteuergerät
- 174
- ESP-Steuergerät
- 176
- Getriebe-Steuergerät
- 182
- Abstandsregelungs-Steuergerät
- 184
- Fahrwerk-Steuergerät
- 186
- Lenkhilfe-Steuergerät
- 190
- On-Board Diagnosestecker
- 220
- Eingangselektrik
- 222
- Stromanschluss
- 224
- DME
- 226
- Kommunikationsbusanschluss
- 228
- Filterstufe
- 250
- Logikteil
- 251
- Datenprüfungsereignis
- 252
- Rechenkern 1
- 253
- Lockstep-Einheit
- 254
- Rechenkern 2
- 256
- Mikrocontroller 1
- 257
- Betriebssystem Rechenkern 1
- 258
- Betriebssystem Rechenkern 2
- 259
- Kommunikationbus
- 260
- Logische Entscheiderstufe
- 261
- Entscheidungsmodul E1
- 262
- Entscheidungsmodul E2
- 264
- Programmablaufkontrolle 1
- 270
- Leistungsteil
- 272
- GDU Umsetzer 1
- 274
- GDU Umsetzer 2
- 276
- Phasentrenner 1
- 278
- Phasentrenner 2
- 320
- Eingangselektrik
- 322
- Stromanschluss
- 326
- Kommunikationsbusanschluss
- 328
- Filterstufe
- 350
- Logikteil
- 352
- Rechenkern 1
- 353
- Lockstep-Einheit
- 354
- Rechenkern 2
- 356
- Mikrocontroller 2
- 361
- Entscheidungsmodul E3
- 362
- Entscheidungsmodul E4
- 364
- Programmablaufkontrolle 2
- 370
- Leistungsteil
- 372
- GDU Umsetzer 1
- 374
- GDU Umsetzer 2
- 376
- Phasentrenner 1
- 378
- Phasentrenner 2
- 410
- Mehrphasen-Elektromotor
- ED
- Fehlererkennungs-Ereignis
- EC1
- Fehlerüberprüfung in Entscheidungsmodul E2
- EC2
- Fehlerüberprüfung in Entscheidungsmodul E3
- EH
- Fehlerbehandlung
- FG1
- 1. Funktionsgruppe
- FG2
- 2. Funktionsgruppe
- FG1V
- Vergleicher Funktionsgruppe 1
- FG2V
- Vergleicher Funktionsgruppe 2
- FG1F
- Funktion 1
- FG2F
- Funktion 2
- FG1E
- Entscheidermodul Funktionsgruppe 1
- FG2E
- Entscheidermodul Funktionsgruppe 2
- FG1M
- Mehrheitsbilder Funktionsgruppe 1
- FG2M
- Mehrheitsbilder Funktionsgruppe 2
- FG1W
- Ergebnisweiterleitung Funktionsgruppe 1
- FG2W
- Ergebnisweiterleitung Funktionsgruppe 2
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- EP 2450261 A2 [0009]
- DE 102016203090 A1 [0010]
- DE 102016205109 A1 [0011]