DE102017201966A1 - Control device for a motor vehicle and corresponding motor vehicle - Google Patents

Control device for a motor vehicle and corresponding motor vehicle Download PDF

Info

Publication number
DE102017201966A1
DE102017201966A1 DE102017201966.2A DE102017201966A DE102017201966A1 DE 102017201966 A1 DE102017201966 A1 DE 102017201966A1 DE 102017201966 A DE102017201966 A DE 102017201966A DE 102017201966 A1 DE102017201966 A1 DE 102017201966A1
Authority
DE
Germany
Prior art keywords
applications
control unit
motor vehicle
following features
application
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
Application number
DE102017201966.2A
Other languages
German (de)
Inventor
Michael Poehnl
Rainer Baumgaertner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017201966.2A priority Critical patent/DE102017201966A1/en
Priority to CN201880010747.1A priority patent/CN110291504B/en
Priority to PCT/EP2018/052568 priority patent/WO2018146000A1/en
Publication of DE102017201966A1 publication Critical patent/DE102017201966A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

Steuergerät (10) für ein Kraftfahrzeug,gekennzeichnet durch folgende Merkmale:- das Steuergerät (10) ist eingerichtet, mehrere Anwendungen (11) und Zwischenanwendungen (12) zu betreiben,- das Steuergerät (10) umfasst einen durch die Anwendungen (11) und Zwischenanwendungen (12) gemeinsam nutzbaren Speicher (23) und- die Zwischenanwendungen (12) sind eingerichtet, eine Interprozesskommunikation (29) zwischen den Anwendungen (11) über den Speicher (23) abzuwickeln.Control unit (10) for a motor vehicle, characterized by the following features: - the control unit (10) is set up to operate a plurality of applications (11) and intermediate applications (12), - the control unit (10) comprises one through the applications (11) and Intermediate applications (12) shared memory (23) and the intermediate applications (12) are arranged to handle an inter-process communication (29) between the applications (11) via the memory (23).

Description

Die vorliegende Erfindung betrifft ein Steuergerät für ein Kraftfahrzeug. Die vorliegende Erfindung betrifft darüber hinaus ein entsprechendes Kraftfahrzeug und ein entsprechendes Verfahren.The present invention relates to a control device for a motor vehicle. The present invention also relates to a corresponding motor vehicle and a corresponding method.

Stand der TechnikState of the art

Der Begriff des hochautomatisierten Fahrens (highly automated driving, HAD) bezeichnet gemeinhin eine Entwicklungsstufe zwischen dem assistierten Fahren, bei welchem der Fahrer durch zahlreiche (oft getrennte) Fahrerassistenzsysteme bei der Fahraufgabe unterstützt wird, und dem autonomen Fahren, bei welchem das Fahrzeug gänzlich selbsttätig und ohne Einwirkung des Fahrers fährt. Beim hochautomatisierten Fahren verfügt das Fahrzeug gewissermaßen über eine eigene Intelligenz, die vorausplant und die Fahraufgabe zumindest in den meisten Situationen übernehmen könnte. Fahrer und Steuergeräte (electronic control units, ECUs) führen zusammen das Fahrzeug, wobei der menschliche Fahrer jederzeit bestimmt, wie stark er in das Fahrverhalten des Fahrzeuges eingreift.The term highly automated driving (HAD) commonly designates a developmental stage between assisted driving in which the driver is assisted by numerous (often separate) driver assistance systems in the driving task, and autonomous driving in which the vehicle is entirely self-propelled without driver intervention. In highly automated driving, the vehicle has its own intelligence, so to speak, which could plan ahead and take over the driving task, at least in most situations. Drivers and electronic control units (ECUs) together drive the vehicle, with the human driver always determining how much he is interfering with the handling of the vehicle.

US 2013/0145482 A1 beschreibt ein Fahrzeug, das ein oder mehrere Verarbeitungsmodule implementiert. Diese Module sind konfiguriert, um eine Verbindung zu den verschiedenen Bussen im Fahrzeug herzustellen, wobei die verschiedenen Busse mit den verschiedenen Komponenten des Fahrzeugs verbunden sind, um eine Informationsübertragung zwischen den Fahrzeugkomponenten zu erleichtern. Jedes Verarbeitungsmodul ist weiter modularisiert mit der Fähigkeit, andere Funktionsmodule jetzt oder zukünftig hinzuzufügen und zu ersetzen. Diese Funktionsmodule können selbst als eigenständige Fahrzeugkomponenten agieren. Jedes Verarbeitungsmodul kann die Verarbeitung an andere Module abhängig von seiner Gesundheit, Verarbeitungslast oder durch Fremdsteuerung übergeben. Somit hilft die Vielzahl von Verarbeitungsmodulen, einen Middleware-Steuerpunkt für das Fahrzeug mit Redundanz in der Verarbeitung und dem Sicherheits- und Sicherheitsbewusstsein in ihren Anwendungen zu implementieren. US 2013/0145482 A1 describes a vehicle that implements one or more processing modules. These modules are configured to connect to the various buses in the vehicle, with the various buses being connected to the various components of the vehicle to facilitate information transfer between the vehicle components. Each processing module is further modularized with the ability to add and replace other functional modules now or in the future. These function modules can themselves act as independent vehicle components. Each processing module may hand off processing to other modules depending on its health, processing load, or by third-party control. Thus, the plurality of processing modules help implement a middleware control point for the vehicle with redundancy in processing and security and security awareness in its applications.

US 2007/076593 A1 offenbart ein Fahrzeugsteuerungssystem mit mehreren Knoten, die mit einem Kommunikationsnetz verbunden sind, um koordinierte Vorgänge auf der Grundlage von Daten, die über das Kommunikationsnetz gesendet werden, zum Steuern des Fahrzeugs durchzuführen, wobei jeder der Knoten Folgendes umfasst: einen Knotenstatus-Bestimmungsabschnitt, der Knotenstatusdaten von anderen Knoten über das Kommunikationsnetz empfängt und Knotenstatus bestimmt, die einen oder mehrere eines Ausfallzustands und eines Nichtausfallzustands der mehreren Knoten anzeigen, einen Knotenstatus-Auswertungsergebnis-Sende-/-Empfangsabschnitt zum Senden von Knotenstatusdaten einschließlich Knotenstatus des eigenen Knotens und der anderen Knoten, die von dem Knotenstatus-Bestimmungsabschnitt bestimmt wurden, an die anderen Knoten und zum Empfangen von Knotenstatusdaten einschließlich Knotenstatus des eigenen Knotens und der anderen Knoten, die von anderen Knoten bestimmt und über das Kommunikationsnetz gesendet wurden und einen Ausfallknoten-Identifikationsabschnitt, der einen mit dem Kommunikationsnetz verbundenen ausgefallenen Knoten auf der Grundlage der Knotenstatusdaten identifiziert, die Knotenstatus des eigenen Knotens und der anderen Knoten einschließen, die von dem Knotenstatus-Bestimmungsabschnitt bestimmt und von den anderen Knoten gesendet wurden, wobei die Vorgänge in dem Knotenstatus-Bestimmungsabschnitt, dem Knotenstatus-Auswertungsergebnis-Sende-/-Empfangsabschnitt und dem Ausfallknoten-Identifikationsabschnitt synchron mit Kommunikationen zwischen dem eigenen Knoten und den anderen Knoten über das Kommunikationsnetz ausgeführt werden und der Ausfallknoten-Identifikationsabschnitt mit einer Middleware, die eine Anwendungsprogrammschnittstelle einschließt, umgesetzt wird, die das Ergebnis der Ausfallknoten-Identifikation einem Steuerungsanwendungsprogramm bereitstellt, das auf dem eigenen Knoten läuft. US 2007/076593 A1 discloses a vehicle control system having a plurality of nodes connected to a communication network for performing coordinated operations based on data sent via the communication network for controlling the vehicle, each of the nodes comprising: a node status determining section, the node status data receives from another node via the communication network and determines node status indicating one or more of a failure state and a non-failure state of the plurality of nodes, a node status evaluation result transmitting / receiving section for transmitting node status data including node status of the own node and the other nodes from the node status determination section to the other nodes and to receive node status data including node status of the own node and the other node designated by other nodes and sent via the communication network and a failure node identification section that identifies a failed node connected to the communication network based on the node status data including node status of the own node and the other nodes designated by the node status determination section and sent by the other nodes, wherein the Operations in the node status determination section, the node status evaluation result transmission / reception section, and the failure node identification section are executed in synchronization with communications between the own node and the other nodes via the communication network, and the failure node identification section is executed with middleware containing an application program interface is implemented, which provides the result of the failure node identification to a control application program running on its own node.

Offenbarung der ErfindungDisclosure of the invention

Die Erfindung stellt ein Steuergerät für ein Kraftfahrzeug sowie ein entsprechendes Kraftfahrzeug und Verfahren gemäß den unabhängigen Ansprüchen bereit.The invention provides a control device for a motor vehicle and a corresponding motor vehicle and method according to the independent claims.

Dem erfindungsgemäßen Ansatz liegt hierbei die Erkenntnis zugrunde, dass zahlreiche Fahrerassistenzsysteme für hochautomatisiertes Fahren aktuell in der Entstehungsphase sind. Die Realisierung erfordert das Beherrschen von großen Systemen. Speziell die Verteilung der Teilaufgaben auf verschiedene Steuergeräte stellt erhöhte Anforderungen bezüglich der Kommunikation zwischen den Teilaufgaben. Eine Dienste-Schicht von Zwischenanwendungen (middleware) soll hier das flexible Verteilen von Teilaufgaben ermöglichen.The approach according to the invention is based on the finding that numerous driver assistance systems for highly automated driving are currently in the development phase. The realization requires the mastery of large systems. In particular, the distribution of the subtasks to different ECUs places increased demands on the communication between the subtasks. A service layer of intermediate applications (middleware) should enable the flexible distribution of subtasks here.

Es wird daher ein effizienter Middleware-Ansatz vorgestellt. Basis dieses Ansatzes sind Interprozesskommunikation (inter-process communication, IPC) und gemeinsam genutzter Speicher (shared memory). Eine derart beschaffene Dienste-Schicht verzichtet auf ein unnötiges Kopieren von Daten oder Blockieren von Anwendungen und erweist sich somit als in höchstem Maße rationell.Therefore, an efficient middleware approach is presented. This approach is based on inter-process communication (IPC) and shared memory. Such a service layer dispenses with unnecessary copying of data or blocking of applications and thus proves to be highly efficient.

Der nachfolgend erörterte Ansatz mag etwa zur Gestaltung einer Referenzplattform-Softwarearchitektur für HAD dienen und gestattet insbesondere eine Echtzeitverarbeitung großer Datenmengen von mehreren Sensoren sowie die Kommunikation des Fahrzeuges mit seiner Umgebung (Car2X) bei höchster Betriebssicherheit, Zuverlässigkeit und Absicherung gegen unbefugte Manipulation. Unterstützt werden auf diesem Wege auch moderne Mehrkern- und insbesondere Vielkern-Controller und - aufgrund deren erhöhten Leistungspotenziales - unterschiedlichste der Unterhaltungselektronik (consumer electronics, CE) entliehene Komponenten. Insgesamt erfüllt die vorgeschlagene Lösung somit höchste Anforderungen hinsichtlich Effizienz, Skalier- und Wartbarkeit, Portabilität, Datenkapselung, Standardkonformität und Austauschbarkeit beispielsweise von Software und insbesondere Firmware über die Luftschnittstelle (software over the air, SOTA; firmware over the air, FOTA).The approach discussed below may be used, for example, to design a reference platform. Software architecture for HAD serve and allows in particular a real-time processing of large amounts of data from multiple sensors as well as the communication of the vehicle with its environment (Car2X) with maximum reliability, reliability and protection against unauthorized manipulation. Modern multicore and especially multi-core controllers and - due to their increased performance potential - various components borrowed from consumer electronics (CE) are also supported in this way. Overall, the proposed solution thus meets the highest requirements in terms of efficiency, scalability and maintainability, portability, data encapsulation, standard conformity and interchangeability, for example of software and in particular firmware via the air interface (software over the air, SOTA, firmware over the air, FOTA).

Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass Steuergerät und Betriebssystem zwischen den Anwendungen eine Separation dergestalt vornehmen, dass bestimmte Anwendungen nicht zu einem Zugriff auf den gemeinsam nutzbaren Speicher berechtigt sind. Besonders vorteilhaft ist dabei, dass die Lösung eine flexible Methode zur Separation enthält. Dabei wird die Effizienz der Realisierung weitgehend erhalten.The measures listed in the dependent claims advantageous refinements and improvements of the independent claim basic idea are possible. Thus, it can be provided that the controller and the operating system make a separation between the applications in such a way that certain applications are not authorized to access the shared memory. It is particularly advantageous that the solution contains a flexible method for separation. The efficiency of the realization is largely maintained.

Gemäß einem weiteren Aspekt kann vorgesehen sein, dass das Steuergerät ferner eine Speicherverwaltungseinheit (memory management unit, MMU) umfasst, um die Separation vorzunehmen. Eine Trennung unterschiedlicher Speicherbereiche lässt sich somit vorteilhaft in entsprechender Hardware abbilden.According to a further aspect, it may be provided that the control device further comprises a memory management unit (MMU) to perform the separation. A separation of different memory areas can thus be advantageously represented in corresponding hardware.

Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Anwendungen über eine Zwischenanwendungsschnittstelle auf die Zwischenanwendungen zugreifen, die sich ihrerseits über standardisierte Schnittstellen auf Betriebssystem, Datenverbindungen, Steuergerätabstraktionsschicht, Mikrocontrollerabstraktionsschicht, komplexe Treiber oder sonstige Dienste der Basissoftware zugreifen. Der Datenverkehr wird auf diese Weise vollständig durch die Dienste-Schicht abstrahiert. Selbst eine Verteilung von Anwendungen auf unterschiedliche Steuergeräte wird so möglich, sofern Latenz und Dienstgüte gewährleistet werden können.According to a further aspect, the applications can access the intermediate applications via an intermediate application interface, which in turn access the operating system, data connections, control device abstraction layer, microcontroller abstraction layer, complex drivers or other services of the basic software via standardized interfaces. The traffic is thus completely abstracted by the service layer. Even a distribution of applications to different ECUs is possible, provided that latency and quality of service can be guaranteed.

Gemäß einem weiteren Aspekt schließlich kann ein POSIX-konformes Betriebssystem wie QNX für das Steuergerät vorgesehen sein. Im letzteren Fall mag die besagte Separation zwischen einzelnen Anwendungen durch adaptive Partitionierung (AP) der Anwendungssoftware erfolgen. Ein entsprechender Scheduler ermöglicht es dem Entwerfer des Echtzeitsystems festzulegen, dass ein gewisser Anteil von Verarbeitungsressourcen für eine bestimmte Partition - also Gruppe von Aktivitätsträgern bzw. Ausführungssträngen (threads) oder Prozessen, die ein Subsystem bilden - reserviert ist.Finally, in another aspect, a POSIX compliant operating system such as QNX may be provided to the controller. In the latter case, said separation between applications may be through adaptive partitioning (AP) of the application software. An appropriate scheduler allows the designer of the real-time system to specify that a certain amount of processing resources be reserved for a particular partition - that is, a group of activity threads or threads that make up a subsystem.

Figurenlistelist of figures

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:

  • 1 einen zwischenanwendungsorientierten Ansatz gemäß der vorgeschlagenen Lösungsstrategie.
  • 2 den Datenverkehr zwischen Steuergeräten mittels einer erfindungsgemäßen Dienste-Schicht.
  • 3 den steuergerätinternen Datenverkehr mittels der erfindungsgemäßen Dienste-Schicht.
  • 4 eine Lösungsstrategie zur Verwendung gemeinsam genutzten Speichers im Rahmen eines effizienten Zwischenanwendungsansatzes zur Interprozesskommunikation.
  • 5 Grundlagen der Separation.
  • 6 die Wirkung der Separation im Zusammenhang mit Zwischenanwendungen.
  • 7 eine Lösungsstrategie zur Interprozesskommunikation unter Beibehaltung der Trennung von Bereichen mit unterschiedlichen Sicherheitsanforderungen.
  • 8 die Interprozesskommunikation über gemeinsam genutzten Speicher unter Beibehaltung der Trennung von Bereichen mit unterschiedlichen Sicherheitsanforderungen.
Embodiments of the invention are illustrated in the drawings and explained in more detail in the following description. It shows:
  • 1 an inter-application approach according to the proposed solution strategy.
  • 2 the data traffic between control devices by means of a service layer according to the invention.
  • 3 the control unit internal data traffic by means of the service layer according to the invention.
  • 4 a solution strategy for using shared memory as part of an efficient inter-application approach to interprocess communication.
  • 5 Basics of separation.
  • 6 the effect of separation in connection with intermediate applications.
  • 7 a solution strategy for interprocess communication while maintaining the separation of areas with different security requirements.
  • 8th Interprocess communication via shared storage while maintaining the separation of areas with different security requirements.

Ausführungsformen der ErfindungEmbodiments of the invention

1 illustriert einen zwischenanwendungsorientierten Ansatz gemäß der vorgeschlagenen Lösungsstrategie. Anwendungen (11) bedienen sich hier der Anwendungsprogrammierschnittstelle (application programming interface, API) besonderer Zwischenanwendungen (12). Datenverkehr wird dabei ausschließlich über die Zwischenanwendungen (12) abgewickelt, was Portabilität, Skalier- und Wiederverwendbarkeit, Datenkapselung usw. ermöglicht. Ein derartiger Ansatz ließe sich beispielsweise im Rahmen einer zukünftig zu definierenden anpassungsfähigen und offenen Fahrzeugsystemarchitektur (automotive open system architecture, AUTOSAR) verfolgen. 1 illustrates an inter-application approach according to the proposed solution strategy. Applications ( 11 ) use the application programming interface (API) of special intermediate applications ( 12 ). Data traffic is handled exclusively via the intermediate applications ( 12 ), which enables portability, scalability and reusability, data encapsulation, etc. Such an approach could, for example, be pursued in the framework of an adaptable and open automotive system (AUTOSAR) to be defined in the future.

2 veranschaulicht den Datenverkehr zwischen Steuergeräten mittels einer erfindungsgemäßen Dienste-Schicht. Jedes Steuergerät (10) betreibt hierbei neben der AUTOSAR-Basissoftware (15) die spezifische HAD-Anwendungssoftware (14). Die Basissoftware (15) umfasst erfindungsgemäß auch die Zwischenanwendungen (12) der Dienste-Schicht, während die Anwendungssoftware (14) die einzelnen Anwendungen (11) im engeren Sinne umfasst. Wie die Anwendungen (11) über eine Zwischenanwendungsschnittstelle (13) auf die Zwischenanwendungen (12) zugreifen, so greifen letztere ihrerseits über standardisierte Schnittstellen (16) auf Betriebssystem (17), Datenverbindung (18), Steuergerätabstraktionsschicht (19), Mikrocontrollerabstraktionsschicht (20), komplexe Treiber (21) oder sonstige Dienste der Basissoftware (15) zu. 2 illustrates the traffic between ECUs by means of a service layer according to the invention. Each control unit ( 10 ) operates in addition to the AUTOSAR basic software ( 15 ) the specific HAD application software ( 14 ). The basic software ( 15 ) according to the invention also includes the intermediate applications ( 12 ) of the services layer while the application software ( 14 ) the individual applications ( 11 ) in the narrower sense. Like the applications ( 11 ) via an intermediate application interface ( 13 ) to the intermediate applications ( 12 ) access the latter via standardized interfaces ( 16 ) on operating system ( 17 ), Data Connection ( 18 ), ECU abstraction layer ( 19 ), Microcontroller abstraction layer ( 20 ), complex drivers ( 21 ) or other services of the basic software ( 15 ) too.

3 zeigt in entsprechender Darstellung den Datenverkehr mittels der erfindungsgemäßen Dienste-Schicht innerhalb eines einzelnen Steuergerätes (10). Eine derart effiziente steuergerätinterne Interprozesskommunikation (29) wird durch ausgewählte Elemente beispielsweise im Rahmen von AUTOSAR in Kombination mit einer geeigneten API für gemeinsam genutzten Speicher (23) ermöglicht und stellt eine Schlüsselfähigkeit eingebetteter HAD-Systeme dar. 3 shows in a corresponding representation the data traffic by means of the service layer according to the invention within a single control device ( 10 ). Such an efficient internal-controller interprocess communication ( 29 ) is selected by selected elements, for example in the context of AUTOSAR in combination with a suitable shared memory API ( 23 ) and provides a key capability of embedded HAD systems.

4 beleuchtet eine Lösungsstrategie zur Verwendung gemeinsam genutzten Speichers (23) im Rahmen des diskutierten Ansatzes. Das Steuergerät (10) umfasst solch einen durch verschiedene Anwendungen (11) und Zwischenanwendungen (12) gemeinsam nutzbaren Speicher (23), über welchen eine der Zwischenanwendungen (31) die Interprozesskommunikation (29) zwischen den Anwendungen A und B abwickelt. Letztere unterliegen in diesem Fall den gleichen Sicherheitsanforderungen, die durch eine gemeinsame Sicherheitsanforderungsstufe (automotive safety integrity level, ASIL) mit der Bezeichnung A, B, C, D oder QM festgelegt werden. (Diese gegebene Sicherheitsanforderungsstufe trägt im Folgenden stellvertretend das Bezugszeichen X.) 4 highlights a solution strategy for using shared memory ( 23 ) in the context of the discussed approach. The control unit ( 10 ) comprises such by various applications ( 11 ) and intermediate applications ( 12 ) shared memory ( 23 ) over which one of the intermediate applications ( 31 ) the interprocess communication ( 29 ) between applications A and B. The latter are in this case subject to the same safety requirements as defined by an automotive safety integrity level (ASIL) called A, B, C, D or QM. (This given security requirement level carries the reference number X in the following.)

Die Grundlagen der Separation (25) seien nunmehr anhand der 5 erläutert. POSIX-konforme Betriebssysteme wie QNX erlauben eine solche Trennung von Anwendungen (11) auf Prozessebene, die somit voraussichtlich auch im Rahmen einer künftigen, anpassungsfähigen AUTOSAR-Implementierung umgesetzt werden kann. (Dies gilt natürlich auch für nicht POSIX-konforme Systeme, die entsprechende Mechanismen enthalten.) Das Steuergerät (10) umfasst zu diesem Zweck eine - als solche nicht abgebildete - Speicherverwaltungseinheit. Bei Verwendung eines entsprechenden Betriebssystems (17) wie QNX unterstützt dessen Mikrokern zur Laufzeit die Separation (25) durch eine adaptive Partitionierung der Anwendungssoftware (14). Einzelne Ausführungsstränge (24) innerhalb eines Prozesses lassen sich auf diesem Wege nicht ohne Weiteres trennen.The basics of separation ( 25 ) are now based on the 5 explained. POSIX-compliant operating systems like QNX allow such separation of applications ( 11 ) at the process level, which is therefore likely to be implemented as part of a future, adaptable AUTOSAR implementation. (This of course also applies to non-POSIX-compliant systems that contain the corresponding mechanisms.) The control unit ( 10 ) includes for this purpose a - not as such - memory management unit. When using an appropriate operating system ( 17 ) how QNX supports its microkernel at runtime the separation ( 25 ) by an adaptive partitioning of the application software ( 14 ). Individual execution strands ( 24 ) within a process can not be easily separated in this way.

Es sei bemerkt, dass das exemplarisch angeführte QNX lediglich eines von zahlreichen denkbaren Ziel-Betriebssystemen darstellt. Die beschriebenen Mechanismen sind gleichwohl auch im Umfeld anderweitiger Betriebssysteme denkbar. Sogar ein Ansatz mit Hypervisor kann von einer erfindungsgemäßen Ausgestaltung profitieren.It should be noted that the exemplary quoted QNX is just one of many conceivable target operating systems. Nevertheless, the mechanisms described are also conceivable in the environment of other operating systems. Even a hypervisor approach may benefit from an embodiment of the invention.

Die Funktion der erfindungsgemäßen Zwischenanwendungen (12) in diesem Zusammenhang erschließt sich aus 6. Betrachtet man den durch die gegebene Sicherheitsanforderungsstufe (X) definierten Bereich, so kann die Separation (25) innerhalb dieses Bereiches durch den Entwicklungsprozess der Software und insbesondere eine stringente Schichtenbildung erzwungen werden. Wo dies nicht möglich ist - etwa in der bereichsübergreifenden Kommunikation mit Anwendungen (11) auf geringerer Sicherheitsanforderungsstufe (Y) - sind ausdrückliche Mechanismen erforderlich.The function of the intermediate applications according to the invention ( 12 ) in this context opens up 6 , Considering the area defined by the given security requirement level (X), the separation ( 25 ) are enforced within this area by the software development process and, in particular, stringent stratification. Where this is not possible - for example in cross-sector communication with applications ( 11 ) at a lower security requirement level (Y) - explicit mechanisms are required.

7 illustriert einen solchen Mechanismus zur Interprozesskommunikation (29) unter Beibehaltung der Trennung von Bereichen mit unterschiedlichen Sicherheitsanforderungen. Während eine erste Zwischenanwendung (31) auf der besagten Sicherheitsanforderungsstufe (X) operiert, greifen einige Anwendungen (11) auf eine zweite Zwischenanwendung geringerer Sicherheitsanforderungsstufe (Y) zu. Diejenigen Anwendungen (11), welche sowohl auf die erste Zwischenanwendung (31) als auch auf die zweite Zwischenanwendung (32) zugreifen, dienen dabei zugleich als Sicherheitsbegrenzer (26) zwischen den Sicherheitsanforderungsstufen (X, Y). 7 illustrates such an interprocess communication mechanism ( 29 ) while maintaining the separation of areas with different security requirements. While a first interim application ( 31 ) operates on said security requirement level (X), some applications ( 11 ) to a second intermediate application of lesser security requirement level (Y). Those applications ( 11 ), which are applicable both to the first interim 31 ) as well as the second intermediate application ( 32 ), at the same time serve as safety limiters ( 26 ) between the security requirement levels (X, Y).

Die Funktion des gemeinsam nutzbaren Speichers (23) in dieser Konstellation veranschaulicht 8: Im Gegensatz zur privilegierten Anwendung A ist die nichtprivilegierte Anwendung C in diesem Szenario nicht zu einem Zugriff auf den gemeinsam nutzbaren Speicher (23) berechtigt (28). Die auf höchster Sicherheitsstufe betriebene und entsprechend privilegierte Anwendung A fungiert zudem als Sicherheitsbegrenzer (27) beim bereichsübergreifenden Zugriff auf den Speicher (23) mittels der zweiten Zwischenanwendung (32).The function of the shared memory ( 23 ) in this constellation 8th In contrast to privileged application A, in this scenario, non-privileged application C does not have access to shared memory ( 23 ) ( 28 ). The application A operated at the highest security level and correspondingly privileged also functions as a security limiter ( 27 ) for cross-domain access to the storage ( 23 ) by means of the second intermediate application ( 32 ).

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 2013/0145482 A1 [0003]US 2013/0145482 A1 [0003]
  • US 2007076593 A1 [0004]US 2007076593 A1 [0004]

Claims (13)

Steuergerät (10) für ein Kraftfahrzeug, gekennzeichnet durch folgende Merkmale: - das Steuergerät (10) ist eingerichtet, mehrere Anwendungen (11) und Zwischenanwendungen (12) zu betreiben, - das Steuergerät (10) umfasst einen durch die Anwendungen (11) und Zwischenanwendungen (12) gemeinsam nutzbaren Speicher (23) und - die Zwischenanwendungen (12) sind eingerichtet, eine Interprozesskommunikation (29) zwischen den Anwendungen (11) über den Speicher (23) abzuwickeln.Control unit (10) for a motor vehicle, characterized by the following features: - the control unit (10) is set up to operate a plurality of applications (11) and intermediate applications (12), - the control unit (10) comprises one through the applications (11) and Intermediate applications (12) shared memory (23) and - the intermediate applications (12) are arranged to handle an inter-process communication (29) between the applications (11) via the memory (23). Steuergerät (10) nach Anspruch 1, gekennzeichnet durch folgende Merkmale: - das Steuergerät (10) ist eingerichtet, eine Anwendungssoftware (14) insbesondere für ein Fahrerassistenzsystem zum hochautomatisierten Fahren des Kraftfahrzeuges und eine Basissoftware (15) zu betreiben, - die Basissoftware (15) umfasst die Zwischenanwendungen (12) und - die Anwendungssoftware (14) umfasst die Anwendungen (11).Control unit (10) after Claim 1 , characterized by the following features: - the control unit (10) is set up to operate an application software (14) in particular for a driver assistance system for highly automated driving of the motor vehicle and a basic software (15), - the base software (15) comprises the intermediate applications (12) and - the application software (14) comprises the applications (11). Steuergerät (10) nach Anspruch 2, gekennzeichnet durch folgende Merkmale: - die Anwendungen (11) sind eingerichtet, über eine Zwischenanwendungsschnittstelle (13) auf die Zwischenanwendungen (12) zuzugreifen und - die Zwischenanwendungen (12) sind eingerichtet, über standardisierte Schnittstellen (16) auf ein Betriebssystem (17), eine Datenverbindung (18), eine Steuergerätabstraktionsschicht (19), eine Mikrocontrollerabstraktionsschicht (20), komplexe Treiber (21) oder sonstige Dienste (22) der Basissoftware (15) zuzugreifen.Control unit (10) after Claim 2 , characterized by the following features: - the applications (11) are set up to access the intermediate applications (12) via an intermediate application interface (13) and - the intermediate applications (12) are set up, via standardized interfaces (16), to an operating system (17) to access a data link (18), a controller abstraction layer (19), a microcontroller abstraction layer (20), complex drivers (21) or other services (22) of the base software (15). Steuergerät (10) nach Anspruch 3, gekennzeichnet durch folgende Merkmale: - die Anwendungen (11) umfassen privilegierte Anwendungen (A, B) und nichtprivilegierte Anwendungen (C), - die Anwendungen (11) weisen jeweils mindestens einen Ausführungsstrang (24) auf und - das Steuergerät (10) und Betriebssystem (17) sind eingerichtet, zwischen den Anwendungen (11) eine Separation (25) dergestalt vorzunehmen, dass die nichtprivilegierten Anwendungen (C) nicht zu einem Zugriff auf den gemeinsam nutzbaren Speicher (23) berechtigt sind.Control unit (10) after Claim 3 characterized by the following features: the applications (11) comprise privileged applications (A, B) and nonprivileged applications (C), the applications (11) each having at least one execution thread (24), and the control device (10) and Operating system (17) is arranged to perform a separation (25) between the applications (11) such that the nonprivileged applications (C) are not authorized to access the sharable memory (23). Steuergerät (10) nach Anspruch 4, gekennzeichnet durch folgende Merkmale: - das Steuergerät (10) umfasst ferner eine Speicherverwaltungseinheit und - die Speicherverwaltungseinheit ist eingerichtet, die Separation (25) vorzunehmen.Control unit (10) after Claim 4 characterized by the following features: - the control unit (10) further comprises a memory management unit and - the memory management unit is arranged to perform the separation (25). Steuergerät (10) nach Anspruch 4 oder 5, gekennzeichnet durch folgende Merkmale: - für eine gegebene Sicherheitsanforderungsstufe (X) des Kraftfahrzeuges umfassen die Zwischenanwendungen (12) eine erste Zwischenanwendung (31) auf der besagten Sicherheitsanforderungsstufe (X) und mindestens eine zweite Zwischenanwendung (32) auf geringerer Sicherheitsanforderungsstufe (Y) und - diejenigen Anwendungen (11), welche sowohl auf die erste Zwischenanwendung (31) als auch auf die zweite Zwischenanwendung (32) zugreifen, sind als Sicherheitsbegrenzer (26) zwischen den Sicherheitsanforderungsstufen (X, Y) eingerichtet.Control unit (10) after Claim 4 or 5 characterized by the following features: for a given safety requirement level (X) of the motor vehicle, the intermediate applications (12) comprise a first intermediate application (31) at said safety requirement level (X) and at least a second intermediate application (32) at lower safety requirement level (Y) and those applications (11) accessing both the first intermediate application (31) and the second intermediate application (32) are set up as security delimiters (26) between the security requirement levels (X, Y). Steuergerät (10) nach einem der Ansprüche 4 bis 6, gekennzeichnet durch folgendes Merkmal: - das Betriebssystem (17) ist POSIX-konform.Control unit (10) according to one of Claims 4 to 6 characterized by the following feature: - the operating system (17) is POSIX compliant. Steuergerät (10) nach Anspruch 7, gekennzeichnet durch folgendes Merkmal: - das Betriebssystem (17) ist QNX.Control unit (10) after Claim 7 characterized by the following feature: - the operating system (17) is QNX. Steuergerät (10) nach Anspruch 8, gekennzeichnet durch folgendes Merkmal: - die Separation (25) erfolgt durch eine adaptive Partitionierung der Anwendungssoftware (14).Control unit (10) after Claim 8 characterized by the following feature: - the separation (25) is carried out by an adaptive partitioning of the application software (14). Kraftfahrzeug mit einem Steuergerät (10) nach einem der Ansprüche 1 bis 9.Motor vehicle with a control unit (10) according to one of Claims 1 to 9 , Verfahren zum Steuern eines Kraftfahrzeuges, gekennzeichnet durch folgende Merkmale: - mehrere Anwendungen (11) und Zwischenanwendungen (12) werden auf einem gemeinsamen Steuergerät (10) betrieben, - ein Speicher (23) des Steuergerätes (10) wird durch die Anwendungen (11) und Zwischenanwendungen (12) gemeinsam genutzt und - eine Interprozesskommunikation (29) zwischen den Anwendungen (11) wird durch die Zwischenanwendungen (12) über den Speicher (23) abgewickelt.Method for controlling a motor vehicle, characterized by the following features: - several applications (11) and intermediate applications (12) are operated on a common control unit (10), - a memory (23) of the control unit (10) is activated by the applications (11) and inter-applications (12) are shared, and inter-process communication (29) between the applications (11) is handled by the intermediate applications (12) via the memory (23). Verfahren nach Anspruch 11, gekennzeichnet durch folgende Merkmale: - durch das Steuergerät (10) werden eine Anwendungssoftware (14) insbesondere für ein Fahrerassistenzsystem zum hochautomatisierten Fahren des Kraftfahrzeuges und eine Basissoftware (15) betrieben, - die Basissoftware (15) umfasst die Zwischenanwendungen (12) und - die Anwendungssoftware (14) umfasst die Anwendungen (11).Method according to Claim 11 characterized by the following features: an application software (14) is operated by the control unit (10) in particular for a driver assistance system for highly automated driving of the motor vehicle and basic software (15), the basic software (15) comprises the intermediate applications (12) and the application software (14) comprises the applications (11). Verfahren nach Anspruch 12, gekennzeichnet durch folgende Merkmale: - die Anwendungen (11) greifen über eine Zwischenanwendungsschnittstelle (13) auf die Zwischenanwendungen (12) zu und - die Zwischenanwendungen (12) greifen über standardisierte Schnittstellen (16) auf ein Betriebssystem (17), eine Datenverbindung (18), eine Steuergerätabstraktionsschicht (19), eine Mikrocontrollerabstraktionsschicht (20), komplexe Treiber (21) oder sonstige Dienste (22) der Basissoftware (15) zu.Method according to Claim 12 , characterized by the following features: the applications (11) access the intermediate applications (12) via an intermediate application interface (13), and the intermediate applications (12) access an operating system (17), a data connection (18), a controller abstraction layer (19), a microcontroller abstraction layer (20), complex drivers (21) or other services (22) of the basic software via standardized interfaces (16) (15) too.
DE102017201966.2A 2017-02-08 2017-02-08 Control device for a motor vehicle and corresponding motor vehicle Pending DE102017201966A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102017201966.2A DE102017201966A1 (en) 2017-02-08 2017-02-08 Control device for a motor vehicle and corresponding motor vehicle
CN201880010747.1A CN110291504B (en) 2017-02-08 2018-02-01 Control device for a motor vehicle and corresponding motor vehicle
PCT/EP2018/052568 WO2018146000A1 (en) 2017-02-08 2018-02-01 Control unit for a motor vehicle and corresponding motor vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017201966.2A DE102017201966A1 (en) 2017-02-08 2017-02-08 Control device for a motor vehicle and corresponding motor vehicle

Publications (1)

Publication Number Publication Date
DE102017201966A1 true DE102017201966A1 (en) 2018-08-09

Family

ID=61192897

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017201966.2A Pending DE102017201966A1 (en) 2017-02-08 2017-02-08 Control device for a motor vehicle and corresponding motor vehicle

Country Status (3)

Country Link
CN (1) CN110291504B (en)
DE (1) DE102017201966A1 (en)
WO (1) WO2018146000A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019203353A1 (en) 2019-03-12 2020-09-17 Robert Bosch Gmbh Data structure for an embedded system, corresponding system and vehicle
DE102019203354A1 (en) 2019-03-12 2020-09-17 Robert Bosch Gmbh Data structure for an embedded system, corresponding system and vehicle
DE102019214162A1 (en) 2019-09-17 2021-03-18 Robert Bosch Gmbh Method and device for simulating a control device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070076593A1 (en) 2005-10-03 2007-04-05 Hitachi, Ltd. Vehicle control system
US20130145482A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Vehicle middleware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730261B1 (en) * 2005-12-20 2010-06-01 Marvell International Ltd. Multicore memory management system
US8286188B1 (en) * 2007-04-27 2012-10-09 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for advanced interprocess communication
CN103684963B (en) * 2013-11-18 2017-05-24 重庆邮电大学 Framework system and implementation method of middleware applied to car networking
CN104133728B (en) * 2013-12-16 2015-07-22 腾讯科技(深圳)有限公司 Method and device for communication between processes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070076593A1 (en) 2005-10-03 2007-04-05 Hitachi, Ltd. Vehicle control system
US20130145482A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Vehicle middleware

Also Published As

Publication number Publication date
WO2018146000A1 (en) 2018-08-16
CN110291504A (en) 2019-09-27
CN110291504B (en) 2023-11-21

Similar Documents

Publication Publication Date Title
Reif Automobilelektronik
DE202008016892U1 (en) Motor vehicle control device
DE102011117116B4 (en) Control device for at least partially autonomous operation of a vehicle and vehicle with such a control device
WO2013171122A2 (en) Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
WO2018146000A1 (en) Control unit for a motor vehicle and corresponding motor vehicle
DE112020005949T5 (en) Information processing apparatus, anomaly detection method and computer program
DE10357118A1 (en) Loading software modules
DE102019106551A1 (en) MULTI-CONTROL DEVICE FOR A VEHICLE
DE102016008957B4 (en) Direct access to bus signals in a motor vehicle
DE102020133748B4 (en) VEHICLE CONTROL UNIT WITH SYNCHRONOUS DRIVER
EP3983897B1 (en) Method for ensuring and maintaining the function of a complete safety-critical system
DE102018123563B4 (en) Method for inter-core communication in a multi-core processor
EP3900266A1 (en) Method for operating a vehicle when transferring processing power from the vehicle to at least one edge cloud computer
DE102017100118A1 (en) Scalable control system for a motor vehicle
EP2126700B1 (en) Control of the run time behavior of processes
EP3104675A1 (en) Operating terminal of an agricultural machine with hypervisor software
DE102019200812A1 (en) Method for protecting a main function of a control device against a hindrance to its operation by a runtime error of a secondary function of the control device and control device, motor vehicle and vehicle battery
DE102019134872B4 (en) Improvement of the operating parameters of a computing system in the vehicle
EP4144003B1 (en) Method for producing a software component for an electronic computing device of a motor vehicle, computer program product, computer-readable storage medium and motor-vehicle-external update system
DE102021207473A1 (en) MITIGATION OF MANIPULATION OF SOFTWARE OF A VEHICLE
WO2023066627A1 (en) Prioritizing access by a container instance to a file in a file system resource
DE102021204789A1 (en) PROCEDURE AND SYSTEM TO ENSURE GUARANTEED QUALITY OF SERVICE IN VEHICLES
DE102019217052A1 (en) System for controlling a machine
DE102022126913A1 (en) Computer-implemented method for parallel execution of software applications using a processing device containing a hardware computing cluster, and processing device
WO2024056488A1 (en) Mitigation of manipulations in a computer system with zone separation for a device, in particular for a vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed