DE102020131998A1 - control of a motor vehicle - Google Patents
control of a motor vehicle Download PDFInfo
- Publication number
- DE102020131998A1 DE102020131998A1 DE102020131998.3A DE102020131998A DE102020131998A1 DE 102020131998 A1 DE102020131998 A1 DE 102020131998A1 DE 102020131998 A DE102020131998 A DE 102020131998A DE 102020131998 A1 DE102020131998 A1 DE 102020131998A1
- Authority
- DE
- Germany
- Prior art keywords
- motor vehicle
- processes
- operating system
- memory
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
Eine Vorrichtung zum Steuern eines Kraftfahrzeugs umfasst eine Verarbeitungseinrichtung zur Ausführung von Prozessen; und einen Speicher zur Ablage von Informationen. Einer der Prozesse umfasst ein Betriebssystem, das dazu eingerichtet ist, eine Nutzung von Systemressourcen der Verarbeitungseinrichtung durch andere Prozesse zu verwalten. Das Betriebssystem ist dazu eingerichtet, einen Übergriff eines Prozesses auf Speicher, der einem anderen Prozess zugeordnet ist, oder einen Eingriff eines Prozesses in eine Ausführungsumgebung eines anderen Prozesses zu verhindern. Einer der Prozesse steuert das Kraftfahrzeug und einer der Prozesse umfasst einen Überwachungsprozess, der dazu eingerichtet ist, eine Funktion eines anderen Prozesses zu überwachen. Ferner ist eine Watchdog-Schaltung vorgesehen, die dazu eingerichtet ist, eine Verzögerung der Steuerung zu erfassen.A device for controlling a motor vehicle includes a processing device for executing processes; and a memory for storing information. One of the processes includes an operating system configured to manage usage of system resources of the processing device by other processes. The operating system is set up to prevent a process from encroaching on memory allocated to another process or from interfering with an execution environment of another process. One of the processes controls the motor vehicle and one of the processes includes a monitoring process configured to monitor a function of another process. A watchdog circuit is also provided, which is set up to detect a delay in the controller.
Description
Die Erfindung betrifft die Steuerung eines Kraftfahrzeugs. Insbesondere betrifft die Erfindung die Absicherung einer computerbasierten Steuervorrichtung zur Steuerung eines Kraftfahrzeugs gegen Fehler.The invention relates to the control of a motor vehicle. In particular, the invention relates to protecting a computer-based control device for controlling a motor vehicle against errors.
Ein Kraftfahrzeug kann mittels einer Steuervorrichtung gesteuert werden, die einen Mikrocomputer oder Mikroprozessor als Verarbeitungseinrichtung verwendet. Die Vielzahl und Komplexität von einzelnen Aufgaben, die zur Steuerung des Fahrzeugs beitragen, macht die Verwendung eines Betriebssystems erforderlich, das dazu eingerichtet ist, eine Nutzung von Systemressourcen durch andere Prozesse zu verwalten. Solche Systemressourcen umfassen beispielsweise eine Verarbeitungsleistung, ein Ein- oder Ausgabegerät oder einen Speicher.An automobile can be controlled by a control device using a microcomputer or microprocessor as processing means. The multitude and complexity of individual tasks that contribute to the control of the vehicle necessitates the use of an operating system configured to manage usage of system resources by other processes. Such system resources include, for example, processing power, an input or output device, or memory.
Ein Prozess, der das Kraftfahrzeug steuert, ist als sicherheitsrelevant zu betrachten, da ohne seine korrekte Funktion ein Unfall erfolgen kann, der Menschen und Material innerhalb und außerhalb des Kraftfahrzeugs gefährdet. Ein sicherheitsrelevanter Prozess kann gegenüber einem anderen Prozess privilegiert sein. Um den Prozess zu schützen und seine korrekte Ausführung sicherzustellen, kann das Betriebssystem einen Mikrokernel aufweisen, der Adressräume von privilegierten und nicht privilegierten Prozessen strikt trennt. Ein solches Betriebssystem ist jedoch häufig umfangreich und seine Pflege kann aufwändig sein. Außerdem kann die Ausführung von Prozessen durch die Architektur des Mikrokernels insgesamt verlangsamt sein.A process that controls the motor vehicle is to be regarded as relevant to safety, since without its correct functioning an accident can occur that endangers people and material inside and outside the motor vehicle. A security-relevant process can be privileged over another process. To protect the process and ensure its correct execution, the operating system can have a microkernel that strictly separates address spaces of privileged and non-privileged processes. However, such an operating system is often extensive and maintaining it can be time-consuming. Also, the overall architecture of the microkernel can slow down the execution of processes.
Alternativ kann ein Betriebssystem mit einem monolithischen Kernel verwendet werden, der den gleichen Adressraum für einen privilegierten und einen nicht privilegierten Prozess erlaubt. Die Absicherung des sicherheitsrelevanten Prozesses kann dann mittels eines Hypervisors erfolgen, der praktisch als Schicht zwischen der Hardware und dem Betriebssystem liegt. Allerdings erfordert ein Hypervisor üblicherweise selbst signifikante Ressourcen, sodass die Ausführung anderer Prozesse verlangsamt sein kann. Außerdem kann der Hypervisor einen anderen Prozess einschränken, sodass die Entwicklung oder der Betrieb der Prozesse aufwändig oder problematisch sein kann.Alternatively, an operating system with a monolithic kernel that allows the same address space for a privileged and a non-privileged process can be used. The security-relevant process can then be secured using a hypervisor, which is practically a layer between the hardware and the operating system. However, a hypervisor typically requires significant resources of its own, so other processes can be slow to run. Also, the hypervisor can restrict another process, so the processes can be expensive or problematic to develop or operate.
Eine der vorliegenden Erfindung zugrunde liegende Aufgabe besteht in der Angabe einer verbesserten technischen Lösung zur effizienteren Steuerung eines Kraftfahrzeugs mittels einer Steuervorrichtung. Die Erfindung löst die Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.One of the objects on which the present invention is based is to specify an improved technical solution for controlling a motor vehicle more efficiently by means of a control device. The invention solves the problem by means of the subject matter of the independent claims. Subclaims reflect preferred embodiments.
Nach einem ersten Aspekt der vorliegenden Erfindung umfasst eine Vorrichtung zum Steuern eines Kraftfahrzeugs eine Verarbeitungseinrichtung zur Ausführung von Prozessen; und einen Speicher zur Ablage von Informationen. Einer der Prozesse umfasst ein Betriebssystem, das dazu eingerichtet ist, eine Nutzung von Systemressourcen der Verarbeitungseinrichtung durch andere Prozesse zu verwalten. Das Betriebssystem ist dazu eingerichtet, einen Übergriff eines Prozesses auf Speicher, der einem anderen Prozess zugeordnet ist, oder einen Eingriff eines Prozesses in eine Ausführungsumgebung eines anderen Prozesses zu verhindern. Einer der Prozesse steuert das Kraftfahrzeug und einer der Prozesse umfasst einen Überwachungsprozess, der dazu eingerichtet ist, eine Funktion eines anderen Prozesses zu überwachen. Ferner ist eine Watchdog-Schaltung vorgesehen, die dazu eingerichtet ist, eine Verzögerung der Steuerung zu erfassen.According to a first aspect of the present invention, an apparatus for controlling a motor vehicle comprises a processing device for executing processes; and a memory for storing information. One of the processes includes an operating system configured to manage usage of system resources of the processing device by other processes. The operating system is set up to prevent a process from encroaching on memory allocated to another process or from interfering with an execution environment of another process. One of the processes controls the motor vehicle and one of the processes includes a monitoring process configured to monitor a function of another process. A watchdog circuit is also provided, which is set up to detect a delay in the controller.
Erfindungsgemäß wurde erkannt, dass zur Absicherung von Prozessen in einem System vor Allem drei Arten von Übergriff zu betrachten sind:
- 1.) Beeinflussung zwischen sicherheitsrelevanten Prozessen;
- 2.) Beeinflussung zwischen einem sicherheitsrelevanten und einem nicht sicherheitsrelevanten Prozess; und
- 3.) Beeinflussung zwischen dem Betriebssystem und einem sicherheitsrelevanten Prozess.
- 1.) Interference between security-related processes;
- 2.) Interference between a safety-relevant and a non-safety-relevant process; and
- 3.) Interference between the operating system and a security-related process.
Ein sicherheitsrelevanter Prozess steuert das Kraftfahrzeug, während ein nicht sicherheitsrelevanter Prozess für die Steuerung des Kraftfahrzeugs üblicherweise nicht oder zumindest nicht unmittelbar relevant ist. Beispielsweise kann der nicht sicherheitsrelevante Prozess ein Ereignisprotokoll führen oder ein Komfort- oder Unterhaltungssystem des Kraftfahrzeugs steuern. In einer Ausführungsform hat eine Fehlfunktion oder ein Stoppen eines nicht sicherheitsrelevanten Prozesses zumindest über eine vorbestimmte Zeitspanne hinweg, beispielsweise ca. eine Minute oder ca. 10 Sekunden, keine negativen Folgen auf die Steuerung des Kraftfahrzeugs. Die Steuerung kann insbesondere eine vom Kraftfahrzeug durchlaufene Trajektorie beeinflussen und der das Kraftfahrzeug steuernde Prozess kann die Trajektorie des Kraftfahrzeugs insbesondere mittels einer Längs- und/oder Quersteuerung des Kraftfahrzeugs beeinflussen.A safety-relevant process controls the motor vehicle, while a non-safety-relevant process is usually not or at least not directly relevant for the control of the motor vehicle. For example, the non-safety-related process can keep an event log or control a comfort or entertainment system of the motor vehicle. In one specific embodiment, a malfunction or stopping of a non-safety-related process has no negative consequences for the control of the motor vehicle at least for a predetermined period of time, for example approximately one minute or approximately 10 seconds. The control can in particular influence a trajectory traveled by the motor vehicle and the process controlling the motor vehicle can influence the trajectory of the motor vehicle in particular by means of a longitudinal and/or lateral control of the motor vehicle.
Eine Beeinflussung kann insbesondere in Form eines Übergriffs erfolgen, der eine unzulässige und in der Regel ungeplante Beeinflussung kennzeichnet. Beispielsweise kann der privilegierte Prozess einen anderen Prozess beenden, ihn bezüglich einer Systemressource aushungern, oder in einen Speicherbereich schreiben, der dem anderen Prozess exklusiv zugeordnet ist. Für jede der genannten Beeinflussungen wird hierin ein Mechanismus zu dessen Kontrolle oder Vermeidung vorgeschlagen, sodass insgesamt ein sicheres System geschaffen werden kann, mit dem das Kraftfahrzeug sicher gesteuert werden kann.Influencing can take place in particular in the form of an encroachment which characterizes an inadmissible and generally unplanned influencing. For example, the privileged process may terminate another process, starve it for a system resource, or write to a memory area exclusively allocated to the other process. For each of the above A mechanism for controlling or avoiding these influences is proposed here, so that overall a safe system can be created with which the motor vehicle can be safely controlled.
Die Punkte 1. und 2. können unterschieden werden in eine Beeinflussung von Speicher, der einem Prozess zugeordnet ist, und eine zeitliche Beeinflussung. Die Beeinflussung von Speicher kann mittels einer Isolationsfunktion des Betriebssystems unterbunden werden. Eine zeitliche Beeinflussung kann mittels eines Überwachungsprozesses bestimmt werden, der die Einhaltung einer vorbestimmten Prozesslogik überwachen kann. Ein solcher Überwachungsprozess wird auch „soft watchdog“ genannt. Außerdem kann ein externer Watchdog vorgesehen sein, insbesondere in Form einer Watchdog-Schaltung. Sollte die Steuerung des Kraftfahrzeugs nicht wie vorgesehen funktionieren, so kann mittels des externen Watchdogs eine Verzögerung der Trajektorie bestimmt werden. Diese kann daraus resultieren, dass keine Steuereingriffe am fahrenden Kraftfahrzeug erfolgen. Anders ausgedrückt kann bestimmt werden, dass eine tatsächliche Trajektorie von einer geplanten Trajektorie zeitlich abweicht und gegenüber dieser zeitlich verschoben ist, dieser insbesondere nachläuft.Points 1 and 2 can be divided into an influence on memory allocated to a process and an influence over time. The influence of memory can be prevented by means of an isolation function of the operating system. A temporal influence can be determined by means of a monitoring process, which can monitor compliance with a predetermined process logic. Such a monitoring process is also called a “soft watchdog”. An external watchdog can also be provided, in particular in the form of a watchdog circuit. If the control of the motor vehicle does not function as intended, a delay in the trajectory can be determined using the external watchdog. This can result from the fact that no control interventions take place on the moving motor vehicle. In other words, it can be determined that an actual trajectory differs in time from a planned trajectory and is shifted in time compared to it, in particular lags behind it.
Eine externe Watchdog-Schaltung kann durch einen Prozess auf eine vorbestimmte Ablaufzeit gestellt werden, die dann durch die Watchdog-Schaltung überwacht wird. Läuft die Zeit ab, so kann bestimmt werden, dass der Prozess nicht ordnungsgemäß arbeitet.An external watchdog circuit can be set by a process to a predetermined expiration time, which is then monitored by the watchdog circuit. When the time expires, it can be determined that the process is not working properly.
Ein externer Watchdog verfügt über einen Mechanismus, für den es nicht erforderlich ist, dass die Verarbeitungseinrichtung arbeitet, selbst wenn der Watchdog physisch Teil der Verarbeitungseinrichtung ist. Der Zähler kann auch dann arbeiten, wenn die Verarbeitungseinrichtung (CPU) abgestellt ist (sleep, hibernate, halt) oder sich in einer Endlosschleife befindet. Beispielsweise kann der externe Watchdog einen Zähler umfassen, der auf einen vorbestimmten Wert gesetzt werden kann und von diesem mittels eines vorbestimmten Taktsignals herunter zählt.An external watchdog has a mechanism that does not require the processing facility to operate, even if the watchdog is physically part of the processing facility. The counter can also work when the processing unit (CPU) is switched off (sleep, hibernate, halt) or is in an endless loop. For example, the external watchdog can include a counter that can be set to a predetermined value and counts down from this using a predetermined clock signal.
Ein Prozess ist dazu eingerichtet, den Zähler periodisch auf den vorbestimmten Wert zurückzusetzen, sodass er nicht abläuft. Erfolgt dies nicht ausreichend oft, sodass der Zähler den Wert null erreicht, so kann beispielsweise eine Unterbrechung (Interrupt) der Verarbeitungseinrichtung (CPU) ausgelöst werden, die auf das fehlende Signal des Prozesses hinweisen. Die Unterbrechung kann nicht deaktivierbar sein (NMI: non maskable interrupt). Schlägt der externe Watchdog an, so kann ein nicht korrekt arbeitender Prozess identifiziert und abgestellt oder neu gestartet werden.A process is set up to periodically reset the counter to the predetermined value so that it does not expire. If this does not happen often enough for the counter to reach the value zero, an interruption (interrupt) of the processing device (CPU) can be triggered, for example, which indicates the missing signal from the process. The interrupt cannot be deactivated (NMI: non maskable interrupt). If the external watchdog responds, a process that is not working correctly can be identified and shut down or restarted.
Ein Prozess kann, um bestimmte Systemressourcen zu nutzen, einen Aufruf an das Betriebssystem nutzen, um seine Privilegien zu erweitern und somit als privilegierter Prozess zu laufen. Dabei kann aber nicht ausgeschlossen werden, dass der Prozess einen anderen Prozess beeinflusst.In order to use certain system resources, a process can use a call to the operating system to escalate its privileges and thus run as a privileged process. However, it cannot be ruled out that the process influences another process.
Der Punkt 3. kann mittels verschiedener Maßnahmen adressiert werden. Beispielsweise kann mittels des Betriebssystems ein Übergriff in einen vorbestimmten Speicherbereich oder auf eine vorbestimmte Datenstruktur verhindert werden. Ferner kann ein Übergriff in eine Ausführungsumgebung eines insbesondere sicherheitsrelevanten Prozesses verhindert werden. Sollte das monolithische Betriebssystem einen sicherheitsrelevanten Prozess beeinflussen, so kann dies durch eine Veränderung der temporalen Ausführung mittels des externen Watchdogs oder des soft watchdog leicht bestimmt werden.Point 3 can be addressed using various measures. For example, an attack on a predetermined memory area or on a predetermined data structure can be prevented by means of the operating system. Furthermore, an encroachment into an execution environment of a process that is particularly relevant to security can be prevented. Should the monolithic operating system influence a security-relevant process, this can easily be determined by changing the temporal execution using the external watchdog or the soft watchdog.
In Summe können die genannten Maßnahmen und Merkmale zu einem System führen, das sicher zur Steuerung des Kraftfahrzeugs eingesetzt werden kann. Ein unbemerkter Übergriff zwischen Prozessen muss nicht befürchtet werden. Vom Betriebssystem wird vor allen Dingen verlangt, dass es einen vorhandenen Speicher verwaltet und einen Zugriff unterschiedlicher Prozesse auf einen vorbestimmten Speicherbereich korrekt regelt. Andere Funktionen zur Sicherstellung der Steuerung des Kraftfahrzeugs können außerhalb des Betriebssystems erfolgen.All in all, the measures and features mentioned can result in a system that can be used safely to control the motor vehicle. An unnoticed encroachment between processes need not be feared. Above all, the operating system is required to manage an existing memory and correctly regulate access by different processes to a predetermined memory area. Other functions to ensure control of the motor vehicle can take place outside of the operating system.
Eine Trennung von Speicherbereichen für einen privilegierten Prozess (kernel space) und einen nicht privilegierten Prozess (user space) ist nicht erforderlich. So kann die Steuervorrichtung ein Betriebssystem verwenden, das einen monolithischen Kernel aufweist, bei dem die auf der Verarbeitungseinrichtung ablaufenden Prozesse im selben Adressraum des Speichers gehalten sind. Ein Mikrokernel, der eine solche Unterscheidung durchführt, kann nicht erforderlich sein.A separation of memory areas for a privileged process (kernel space) and a non-privileged process (user space) is not required. The control device can thus use an operating system which has a monolithic kernel in which the processes running on the processing device are kept in the same address space of the memory. A microkernel that performs such a distinction may not be required.
Der monolithische Kernel kann eine große Flexibilität bei der Ausführung einzelner Prozesse oder bei der Interaktion zwischen Prozessen bieten. Dabei kann der Kernel selbst nur geringe Ressourcen erfordern und eine Ausführungsgeschwindigkeit der Prozesse nur wenig reduzieren. Insbesondere kann ein Mikrokernel verwendet werden, dessen Quelltexte offengelegt sind, sodass eine objektive Kontrolle seiner Funktionsweise ermöglicht ist. Ein offenes Betriebssystem mit einem monolithischen Kernel ist beispielsweise Linux, das auf einer Vielzahl unterschiedlicher Plattformen lauffähig ist und für das Treiber für sehr viele verschiedene Geräte verfügbar sind.The monolithic kernel can offer great flexibility in running individual processes or in the interaction between processes. The kernel itself can only require few resources and only slightly reduce the execution speed of the processes. In particular, a microkernel can be used whose source texts are open, so that its functionality can be checked objectively. An example of an open operating system with a monolithic kernel is Linux, which runs on a large number of different platforms and for which drivers are available for many different devices.
Die Verarbeitungseinrichtung kann dazu eingerichtet sein, die Steuerung des Kraftfahrzeugs zu beenden, falls eine Störung bestimmt wurde. In diesem Fall kann ein Fahrer an Bord des Kraftfahrzeugs dazu aufgefordert werden, die Kontrolle über das Fahrzeug zu übernehmen. Diese Aufforderung kann bereits eine vorbestimmte Zeit vor dem Kontrollverlust der Steuervorrichtung über die Steuerung des Kraftfahrzeugs gegeben werden, sodass der Fahrer ausreichend Zeit haben kann, eine Fahrsituation voll zu erfassen.The processing device can be set up to end the control of the motor vehicle if a fault has been determined. In this case, a driver on board the motor vehicle can be prompted to take control of the vehicle. This request can already be given a predetermined time before the control device loses control of the control of the motor vehicle, so that the driver can have sufficient time to fully grasp a driving situation.
Das Betriebssystem, beziehungsweise die Verarbeitungseinrichtung, kann dazu eingerichtet sein, einen übergriffigen Prozess zu beenden. Insbesondere ein nicht sicherheitsrelevanter Prozess, der beispielsweise eine Trajektorie des Kraftfahrzeugs nicht oder nicht unmittelbar beeinflusst, kann beendet werden. Gegebenenfalls kann der Prozess automatisch neu gestartet werden, optional mit geänderten Aufruf- oder Ausführungsparametern, um ein sicheres Anlaufen zu gewährleisten.The operating system or the processing device can be set up to terminate an overarching process. In particular, a non-safety-related process that does not or does not directly affect a trajectory of the motor vehicle, for example, can be ended. If necessary, the process can be restarted automatically, optionally with changed call or execution parameters to ensure a safe start-up.
Nach einem weiteren Aspekt der vorliegenden Erfindung umfasst ein Kraftfahrzeug eine hierin beschriebene Vorrichtung. Vorteile und Merkmale der Vorrichtung beziehungsweise einer Steuervorrichtung, welche die Vorrichtung umfasst, und dem Kraftfahrzeug, oder einem das Kraftfahrzeug umfassenden System, können übertragbar sein.According to a further aspect of the present invention, a motor vehicle comprises a device as described herein. Advantages and features of the device or a control device that includes the device and the motor vehicle or a system that includes the motor vehicle can be transferrable.
Nach einem weiteren Aspekt der vorliegenden Erfindung kann eine hierin beschriebene Vorrichtung zusätzlich gegen Fehlfunktion abgesichert werden. Ein Verfahren zum Überprüfen einer solchen Vorrichtung umfasst ein Protokollieren von Anforderungen eines Prozesses an das Betriebssystem während der Steuerung des Kraftfahrzeugs; und des Bestimmens eines Übergriffs eines Prozesses.According to a further aspect of the present invention, a device described herein can additionally be secured against malfunction. A method for checking such a device includes logging requests of a process to the operating system during control of the motor vehicle; and determining an incursion of a process.
Das Protokollieren kann beispielsweise im Rahmen einer Testfahrt des Kraftfahrzeugs erfolgen. Mittels der protokollierten Anforderungen oder Aufrufe des Betriebssystems können Interaktionspunkte zwischen einem sicherheitsrelevanten Prozess und dem Betriebssystem bestimmt werden. Ein systematischer Fehler eines Prozesses, einschließlich des Betriebssystems, oder in deren Interaktion kann gefunden und behoben werden.The logging can take place, for example, as part of a test drive of the motor vehicle. Interaction points between a security-relevant process and the operating system can be determined by means of the logged requests or calls of the operating system. A systematic error of any process, including the operating system, or in their interaction can be found and fixed.
Bevorzugt werden dabei nur Anforderungen betrachtet, die einen Zugriff eines Prozesses auf Speicher, einen Kontextwechsel zwischen auf der Verarbeitungseinrichtung ablaufenden Prozessen oder eine Kommunikation zwischen Prozessen umfasst.In this case, only requirements are preferably considered which include access by a process to memory, a context change between processes running on the processing device, or communication between processes.
Optional kann bestimmt werden, dass die Vorrichtung zur Steuerung des Kraftfahrzeugs geeignet ist, falls die betrachteten Anforderungen eine Häufigkeit von Übergriffen bewirkt hat, die kleiner als eine vorbestimmte Häufigkeit ist. So kann beispielsweise das Einhalten von Vorgaben, etwa in Form von ASIL, IEC 61508 oder ISO 26262, durch die Vorrichtung bewiesen werden.Optionally, it can be determined that the device for controlling the motor vehicle is suitable if the requirements considered have caused a frequency of attacks that is less than a predetermined frequency. For example, compliance with specifications, for example in the form of ASIL, IEC 61508 or ISO 26262, can be proven by the device.
Die Erfindung wird nun mit Bezug auf die beigefügten Zeichnungen genauer beschrieben, in denen:
-
1 ein Kraftfahrzeug mit einer Steuervorrichtung; -
2 eine schematische Darstellung des Aufbaus einer Steuervorrichtung; und -
3 ein Ablaufdiagramm eines Verfahrens
-
1 a motor vehicle with a control device; -
2 a schematic representation of the structure of a control device; and -
3 a flowchart of a method
Die Verarbeitungsvorrichtung 110 umfasst bevorzugt einen Mikrocomputer oder Mikrocontroller und kann einen oder mehrere Prozessoren und/oder Rechenkerne aufweisen. Der Speicher 115 ist üblicherweise hierarchisch organisiert und kann eine oder mehrere Cache-Stufen (L1, L2, ...) und einen Arbeitsspeicher umfassen. Zusätzlich können ein Massenspeicher oder ein Festwertspeicher vorgesehen sein.The
Der externe Watchdog 120 kann als Hardware ausgeführt sein, sodass er unabhängig von einer Funktion einer CPU oder eines Rechenkerns der Verarbeitungsvorrichtung 110 arbeiten kann.The
Die Vorrichtung 105 umfasst üblicherweise Hardware in Form von Schnittstellen oder Geräten, die in
Die Hardware 205 wird durch ein Betriebssystem 210 abstrahiert, das bevorzugt Gerätetreiber für die einzelnen Elemente der Hardware 205 umfasst. Außerdem umfasst das Betriebssystem 210 einen Kernel, der bevorzugt als monolithischer Kernel ausgeführt ist.The
Optional ist eine Systembibliothek 215 vorgesehen, um eine Anforderung oder einen Aufruf an das Betriebssystem 210 senden zu können und/oder eine Antwort oder Anforderung des Betriebssystems 210 zu bestimmen. Es können auch verschiedene Systembibliotheken 215 vorgesehen sein, beispielsweise um einen Zugriff durch Prozesse 220 zu erlauben, die in unterschiedlichen Programmiersprachen geschrieben sind.A
Die Systembibliothek 215 kann durch die Prozesse 220 benutzt werden. Beispielhaft sind zwei privilegierte Prozesse 220.1, ein nicht privilegierter Prozess 220.2 und ein Überwachungsprozess 220.3 dargestellt. Die Prozesse 220 kommunizieren beziehungsweise interagieren üblicherweise über das Betriebssystem 210 miteinander.The
Das weitere Verfahren 305 umfasst einen Schritt 310, in welchem ein Umfeld des Kraftfahrzeugs 100 abgetastet wird. In einem nachfolgenden Schritt 315 erfolgt eine Verarbeitung, üblicherweise in Bezug auf ein vorbestimmtes Steuerungsziel, beispielsweise die Beförderung des Kraftfahrzeugs 100 zu einem vorbestimmten Zielpunkt unter Beachtung geltender Möglichkeiten und Verkehrsregeln. Im Schritt 315 kann eine Trajektorie bestimmt werden, welcher das Kraftfahrzeug 100 folgen soll.The
In einem Schritt 320 kann das Kraftfahrzeug 100 gesteuert werden, der bestimmten Trajektorie zu folgen. Das weitere Verfahren 305 läuft üblicherweise nach der Art einer Endlosschleife ab, bis das Steuerungsziel erreicht ist.In a
Während des Ablaufs des weiteren Verfahrens 305 können Aufrufe von Prozessen 220 an das Betriebssystem 210 protokolliert werden. Das Protokollieren kann beispielsweise durch einen nicht privilegierten Prozess 220.2 erfolgen. Liegen ausreichend Daten vor, beispielsweise nachdem das Kraftfahrzeug 100 über eine vorbestimmte Strecke von Straßenkilometern automatisch gesteuert wurde, so kann in einem Schritt 325 eine Auswertung erfolgen. Dabei kann insbesondere bestimmt werden, welche Interaktionspunkte zwischen dem Betriebssystem 210 und den Prozessen 220 benutzt werden und auf welche Weise. Die Analyse kann für jeden der Prozesse 220 einzeln erfolgen.During the course of the
Auf der Basis der Auswertung kann eine Zuverlässigkeit und/oder eine Sicherheit der Vorrichtung 105 bestimmt werden. Dazu kann insbesondere bestimmt werden, dass ein Übergriff zwischen Prozessen 210, 215, 220 nicht häufiger als vorbestimmt stattfindet.A reliability and/or a security of the
BezugszeichenlisteReference List
- 100100
- Kraftfahrzeugmotor vehicle
- 105105
- Vorrichtungcontraption
- 110110
- Verarbeitungseinrichtungprocessing facility
- 115115
- SpeicherStorage
- 120120
- externer Watchdogexternal watchdog
- 125125
- erste Schnittstelle (Längssteuerung)first interface (longitudinal control)
- 130130
- zweite Schnittstelle (Quersteuerung)second interface (lateral control)
- 135135
- Untergrund underground
- 205205
- Hardwarehardware
- 210210
- Betriebssystemoperating system
- 215215
- Systembibliotheksystem library
- 220220
- Prozessprocess
- 220.1220.1
- privilegierter Prozessprivileged process
- 220.2220.2
- nicht privilegierter Prozessnon-privileged process
- 220.3220.3
- Überwachungsprozess monitoring process
- 300300
- Verfahrenprocedure
- 305305
- weiteres Verfahrenfurther procedure
- 310310
- Umfeld abtastenscan the environment
- 315315
- Trajektorie bestimmendetermine trajectory
- 320320
- Kraftfahrzeug steuerncontrol motor vehicle
- 325325
- Aufrufe Betriebssystem bestimmenDetermine operating system calls
- 330330
- Übergriffe bestimmendetermine assaults
- 335335
- Zuverlässigkeit / Sicherheit bestimmenDetermine reliability / safety
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020131998.3A DE102020131998A1 (en) | 2020-12-02 | 2020-12-02 | control of a motor vehicle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020131998.3A DE102020131998A1 (en) | 2020-12-02 | 2020-12-02 | control of a motor vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020131998A1 true DE102020131998A1 (en) | 2022-06-02 |
Family
ID=81586143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020131998.3A Pending DE102020131998A1 (en) | 2020-12-02 | 2020-12-02 | control of a motor vehicle |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102020131998A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2466466A1 (en) | 2010-12-09 | 2012-06-20 | Siemens Aktiengesellschaft | Method for detecting errors when executing a real-time operating system |
DE102016203852A1 (en) | 2016-03-09 | 2017-09-14 | Robert Bosch Gmbh | Method for operating a control device for a motor vehicle |
-
2020
- 2020-12-02 DE DE102020131998.3A patent/DE102020131998A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2466466A1 (en) | 2010-12-09 | 2012-06-20 | Siemens Aktiengesellschaft | Method for detecting errors when executing a real-time operating system |
DE102016203852A1 (en) | 2016-03-09 | 2017-09-14 | Robert Bosch Gmbh | Method for operating a control device for a motor vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016107015B4 (en) | System with integrated immobilization in the event of failure and functionality in the event of failure | |
DE102015221330A1 (en) | A method and apparatus for robustly updating firmware of a vehicle over an air interface | |
EP2466466B1 (en) | Method for detecting errors when executing a real-time operating system | |
DE102014201682A1 (en) | Method for coexistence of software with different security levels in a multicore processor system | |
EP3571593A1 (en) | Redundant processor architecture | |
WO2013164224A2 (en) | Method and device for monitoring functions of a computer system, preferably of an engine control system of a motor vehicle | |
EP2099667A1 (en) | Method for ensuring or maintaining the function of a complex complete safety-critical system | |
DE102015202326A1 (en) | Method for operating a data processing unit of a driver assistance system and data processing unit | |
DE102020131998A1 (en) | control of a motor vehicle | |
EP0947322B1 (en) | Control unit for a printing machine | |
EP3566398B1 (en) | Method and semiconductor circuit for protecting an operating system of a security system of a vehicle | |
EP2494488B1 (en) | Method for executing security-relevant and non-security-relevant software components on a hardware platform | |
DE102021208459B4 (en) | Method for authentic data transmission between control units in a vehicle, arrangement with control units, computer program and vehicle | |
DE102016203965A1 (en) | Monitoring a computing system | |
EP4040034B1 (en) | Safety device and safety method for monitoring a machine | |
DE102013202961A1 (en) | Method for monitoring stack memory in operating system of control unit of motor vehicle, involves carrying out predefined action if characteristic parameters of stack memory before and after execution of program codes are not identical | |
EP3893113B1 (en) | Monitoring of a component of a control system for a moving means | |
DE102017219195B4 (en) | PROCEDURE FOR ENSURE OPERATION OF A COMPUTER | |
EP2338111B1 (en) | Method and device for testing a computer core in a processor comprising at least two computer cores | |
DE102021117947A1 (en) | controlling a control device | |
DE102020200414A1 (en) | Method and device for reconfiguring an automatically driving vehicle in the event of a fault | |
WO2017153411A1 (en) | Method for operating a control device for a motor vehicle | |
DE102017208872A1 (en) | Electronic control unit | |
WO2009077271A1 (en) | Method for identifying reciprocal influencing of software components | |
EP4390577A1 (en) | Monitoring at least one machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed |