DE102018010323A1 - Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle - Google Patents

Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle Download PDF

Info

Publication number
DE102018010323A1
DE102018010323A1 DE102018010323.5A DE102018010323A DE102018010323A1 DE 102018010323 A1 DE102018010323 A1 DE 102018010323A1 DE 102018010323 A DE102018010323 A DE 102018010323A DE 102018010323 A1 DE102018010323 A1 DE 102018010323A1
Authority
DE
Germany
Prior art keywords
data
memory
network interface
virtual machine
virtual
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
DE102018010323.5A
Other languages
German (de)
Inventor
Christoph Dalke
Jürgen Lerzer
Matthijs Paffen
Christian SANDER
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.)
Audi AG
Original Assignee
Audi AG
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 Audi AG filed Critical Audi AG
Priority to DE102018010323.5A priority Critical patent/DE102018010323A1/en
Publication of DE102018010323A1 publication Critical patent/DE102018010323A1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft ein Datenkommunikationsverfahren zwischen den virtuellen Maschinen (P1, P2) und der Netzwerk-Schnittstelle einer Fahrzeugelektronikeinheit (10), die Fahrzeugelektronikeinheit (10) aufweisend:
- die wenigstens zwei virtuellen Maschinen (P1, P2) mit jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2),
- einen Speicher (3) mit jeweils einer virtuellen Maschine (P1, P2) exklusiv zugeordneten Speicherabschnitten (3.1, 3.2), wobei jeder Speicherabschnitt (3.1, 3.2) direkte Speicherbereiche (3.10, 3.20) für die direkte Kommunikation der virtuellen Maschine (P1, P2) mit deren zugeordneten virtuellen Netzwerk-Schnittstelle (5.1, 5.2) aufweist, und
- die physikalische Netzwerk-Schnittstelle (2.1) zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2) einer virtuellen Maschine (P1, P2) und einem Fahrzeugnetzwerk (B1).

Figure DE102018010323A1_0000
The invention relates to a data communication method between the virtual machines (P1, P2) and the network interface of a vehicle electronics unit (10), the vehicle electronics unit (10) comprising:
the at least two virtual machines (P1, P2) each having a virtual network interface (5.1, 5.2),
a memory (3) each having a virtual machine (P1, P2) exclusively associated memory sections (3.1, 3.2), each memory section (3.1, 3.2) direct memory areas (3.10, 3.20) for the direct communication of the virtual machine (P1, P2) with its associated virtual network interface (5.1, 5.2), and
- The physical network interface (2.1) for establishing a communication connection between each of a virtual network interface (5.1, 5.2) of a virtual machine (P1, P2) and a vehicle network (B1).
Figure DE102018010323A1_0000

Description

Die Erfindung betrifft eine Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und wenigstens zwei virtuellen Maschinen sowie ein Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs.The invention relates to a vehicle electronics unit having a physical network interface and at least two virtual machines and a data communication method between the virtual machines and the network interface to a local vehicle network of a vehicle.

In modernen Fahrzeugen werden Informationen wie Fahrzeugzustandsinformationen und Unterhaltung (Entertainment) in einem gemeinsamen System aus Bedien- und Anzeigeelementen zugänglich gemacht und als Cockpit- und Infotainmentsystem bezeichnet. Derartige Systeme bieten bspw. Zugriff auf Betriebs- und Fahrzeugdatenanzeigen, Navigation, Servicefunktionen, Mobiltelefon und Internet sowie Audio/Video usw.In modern vehicles, information such as vehicle condition information and entertainment (entertainment) is made available in a common system of control and display elements and referred to as cockpit and infotainment system. Such systems offer, for example, access to operating and vehicle data displays, navigation, service functions, mobile telephone and Internet as well as audio / video, etc.

Um die Applikationen für die unterschiedlichen Komponenten zu realisieren, werden Mehrprozessorsysteme für solche Cockpit und Infotainmentsystem eingesetzt und die entsprechenden Funktionen in einem solchen Mehrprozessorsystem zusammengefasst. Um Nutzdaten und Steuerdaten zwischen den unterschiedlichen Komponenten austauschen zu können, wird das Konzept der Visualisierung mit mehreren Betriebsystemen (OS) durch einen Hypervisor (VMM, virtual machine monitor) realisiert. Mittels solcher Hypervisoren wird eine virtuelle Umgebung mit Hardwareressourcen, wie bspw. Prozessor, Speicher und Peripherie definiert, die unabhängig von der tatsächlich vorhandenen Hardware als Basis für die Installation der Betriebssysteme (auch Gastsysteme genannt) dient. Damit können mehrere Betriebssysteme (auch Partitionen) parallel auf eine gemeinsame Hardware betrieben werden. Der Hypervisor verwaltet hierbei die Ressourcenzuteilung für die einzelnen Partitionen, so dass für jedes Betriebssystem die benötigten Ressourcen verfügbar sind.In order to realize the applications for the different components, multiprocessor systems are used for such cockpit and infotainment system and summarized the corresponding functions in such a multiprocessor system. In order to be able to exchange user data and control data between the different components, the concept of visualization with multiple operating systems (OS) is realized by a hypervisor (VMM, virtual machine monitor). By means of such hypervisors, a virtual environment with hardware resources, such as, for example, processor, memory and peripherals is defined, which serves as the basis for the installation of the operating systems (also called guest systems) independently of the actually existing hardware. Thus, several operating systems (including partitions) can be operated in parallel on a common hardware. The hypervisor manages the resource allocation for each partition so that the required resources are available for each operating system.

Es ist bekannt, dass zur Übertragung von Daten innerhalb einer Hypervisor-Architektur mit einer ersten und zweiten Partition ein Datenübertragungsverfahren verwendet wird, welche zu einer unerwünschten erhöhten CPU-Last führt und nachteilige Eigenschaften hinsichtlich von Sicherheitsaspekten aufweist. Bei diesem Datenübertragungsverfahren werden Ethernet-Datenpakete zwischen einer Partition und einer Netzwerkschnittstelle eines Fahrzeugnetzwerkes übertragen, wobei Daten der zweiten Partition nicht direkt an die Netzwerkschnittstelle übergeben werden, sondern zunächst über ein virtuelles Netzwerk zur ersten Partition und erst anschließend zur Netzwerkschnittstelle übergeben werden.It is known that to transfer data within a hypervisor architecture having a first and second partition, a data transfer method is used which results in an undesirably increased CPU load and has disadvantageous characteristics in terms of security. In this data transmission method, Ethernet data packets are transmitted between a partition and a network interface of a vehicle network, wherein data of the second partition are not transferred directly to the network interface, but are first transferred via a virtual network to the first partition and only then to the network interface.

Aus der US 2009/0307436 A1 ist ein Datenverarbeitungssystem mit einem Hypervisor mit einer geteilten Speicherpartition zur Seitenfehlerverarbeitung bekannt, bei welchem der Hypervisor Daten von mehreren Partitionen auf der geteilten Speicherpartition verwaltet.From the US 2009/0307436 A1 For example, a data processing system having a hypervisor with a split memory partition for page fault processing is known in which the hypervisor manages data from multiple partitions on the shared memory partition.

Die US 2012/0084517A1 beschreibt ein Verfahren zur Bereitstellung eines gemeinsamen Speicherplatzes zwischen Knoten einer Haupt- und Subpartition eines Hypervisors.The US 2012 / 0084517A1 describes a method for providing a common storage space between nodes of a main and subpartition of a hypervisor.

Ein Datenübertragungsverfahren zwischen einer vertrauenswürdigen Domain (trusted Domain) und einer Gast-Domain beschreibt die US 2014/0330868 A1 , bei welchem ein geteilter Speicher von den Domains über eine sende- und Empfangseinheit genutzt wird und diese Domains mit einem Hypervisor verbunden sind.A data transfer procedure between a trusted domain and a guest domain describes the US 2014/0330868 A1 in which a shared memory is used by the domains via a sending and receiving unit and these domains are connected to a hypervisor.

Die Aufgabe der Erfindung besteht darin, eine Fahrzeugelektronikeinheit mit wenigstens zwei virtuellen Maschinen anzugeben, mit welcher eine leistungsstarke, sichere und zuverlässige Datenkommunikation innerhalb der Architektur der Fahrzeugelektronikeinheit erzielt wird. Ferner ist es Aufgabe ein entsprechendes Datenkommunikationsverfahren anzugeben.The object of the invention is to provide a vehicle electronics unit with at least two virtual machines, with which a powerful, secure and reliable data communication within the architecture of the vehicle electronics unit is achieved. It is also an object to specify a corresponding data communication method.

Die erstgenannte Aufgabe wird durch eine Fahrzeugelektronikeinheit mit den folgenden Merkmalen gelöst.The former object is achieved by a vehicle electronics unit having the following features.

Eine solche Fahrzeugelektronikeinheit umfasst

  • - wenigstens zwei virtuelle Maschinen mit jeweils einer virtuellen Netzwerk-Schnittstelle,
  • - einen Speicher mit jeweils einer virtuellen Maschine exklusiv zugeordneten Speicherabschnitten, wobei jeder Speicherabschnitt direkte Speicherbereiche für die direkte Kommunikation der virtuellen Maschine mit deren zugeordneten virtuellen Netzwerk-Schnittstelle aufweist, und
  • - eine physikalische Netzwerk-Schnittstelle zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle einer virtuellen Maschine und einem Fahrzeugnetzwerk.
Such a vehicle electronics unit comprises
  • at least two virtual machines, each with a virtual network interface,
  • a memory with a respective virtual machine exclusively associated memory sections, each memory section having direct memory areas for direct communication of the virtual machine with their associated virtual network interface, and
  • - A physical network interface for establishing a communication connection between each virtual network interface of a virtual machine and a vehicle network.

Bei einer solchen Fahrzeugelektronikeinheit wird der gemeinsame Speicher in jeweils einer virtuellen Maschine exklusiv zugeordneten Speicherabschnitte aufgeteilt, wobei jeder Speicherabschnitt direkte Speicherbereiche für die direkte Kommunikation der virtuellen Maschine mit deren zugeordneten virtuellen Netzwerk-Schnittstelle aufweist. Damit ist ein Speicherabschnitt nur von demselben zugeordneten virtuellen Maschine zugreifbar. Die Vorteile einer solchen Fahrzeugelektronik-Architektur bestehen in einer klaren Trennung der zwischen jeweils einer virtuellen Maschine und der physikalischen Netzwerk-Schnittstelle des lokalen Fahrzeugnetzwerkes zu kommunizierenden Datenpaketen und damit können weder negativen Auswirkungen auf die Sicherheit dieser Architektur noch auf die Leistungsfähigkeit und Zuverlässigkeit eintreten.In such a vehicle electronics unit, the common memory is divided into memory sections exclusively allocated to a virtual machine, each memory section having direct memory areas for the direct communication of the virtual machine with its associated virtual network interface. Thus, a memory section is accessible only from the same associated virtual machine. The advantages of such a vehicle electronics architecture consist in a clear separation between each of a virtual machine and the physical Network interface of the local vehicle network to be communicated data packets and thus can not adversely affect the security of this architecture, nor on the performance and reliability.

Vorzugsweise ist die Fahrzeugelektronikeinheit mit einem Hypervisor ausgebildet, welcher zur Trennung der mindestens zwei virtuellen Maschinen ausgebildet ist.Preferably, the vehicle electronics unit is formed with a hypervisor, which is designed to separate the at least two virtual machines.

Nach einer bevorzugten Weiterbildung der Erfindung weist die Fahrzeugelektronikeinheit

  • - einen ersten Speicherabschnitt einer ersten virtuellen Maschine auf, wobei dieser Speicherbereich mit
    • - einem Signalisierungsbereich zum Signalisieren, ob RX- oder TX-Daten übermittelt werden,
    • - einem RX-Puffer zum Speichern von empfangenen Daten, und
    • - einem TX-Puffer zum Speichern von zu sendenden Daten ausgebildet ist, und
  • - einen zweiten Speicherabschnitt einer zweiten virtuellen Maschine auf, wobei dieser Speicherbereich mit
    • - einem Signalisierungsbereich zum Signalisieren, ob RX- oder TX-Daten übermittelt werden,
    • - einem RX-Puffer zum Speichern von empfangenen Daten, und
    • - einem TX-Puffer zum Speichern von zu sendenden Daten ausgebildet ist.
According to a preferred embodiment of the invention, the vehicle electronics unit
  • a first memory section of a first virtual machine, this memory area having
    • a signaling area for signaling whether RX or TX data is being transmitted,
    • an RX buffer for storing received data, and
    • a TX buffer is designed to store data to be transmitted, and
  • - A second memory section of a second virtual machine, said memory area with
    • a signaling area for signaling whether RX or TX data is being transmitted,
    • an RX buffer for storing received data, and
    • - A TX buffer is designed for storing data to be transmitted.

Hiernach sind die beiden Speicherabschnitte jeweils weiter unterteilt in Speicherabschnitte nämlich in jeweils einen Signalisierungsbereich, einen RX-Puffer sowie einen TX-Puffer. In einem solchen Speicherabschnitt ist ein Software-Treiber installiert, bspw. für den IP-Datenverkehr oder für die Bearbeitung von Video- und/oder Grafikdaten.After that, the two memory sections are each subdivided further into memory sections, namely into a respective signaling area, an RX buffer and a TX buffer. In such a memory section, a software driver is installed, for example for the IP traffic or for the processing of video and / or graphics data.

So kann der erste Speicherabschnitt einen Speicherbereich für IP-Steuerdaten, und einen Speicherbereich für Nutzdaten, bspw. Video- und/oder Grafikdaten aufweisen und ebenso der zweite Speicherabschnitt mit einem Speicherbereich für IP-Steuerdaten und einen Speicherbereich für Nutzdaten, bspw. Video- und/oder Grafikdaten ausgebildet werden.Thus, the first memory section can have a memory area for IP control data, and a memory area for user data, for example video and / or graphics data, and likewise the second memory section with a memory area for IP control data and a memory area for user data, for example video and video data / or graphics data are trained.

Weiterbildungsgemäß kann der Signalisierungsbereich dadurch ersetzt werden, dass die Fahrzeugelektronikeinheit zur Durchführung von definierten Interrupts konfiguriert ist.According to training, the signaling area can be replaced by the fact that the vehicle electronics unit is configured to perform defined interrupts.

Nach einer weiteren bevorzugten Ausgestaltung der Erfindung ist wenigstens eine virtuelle Maschine mit einer PCIe-Schnittstelle zum Empfangen von in dem zugeordneten Speicherabschnitt zu speichernden Daten und Senden von Daten aus dem zugeordneten Speicherabschnitt konfiguriert.According to a further preferred embodiment of the invention, at least one virtual machine with a PCIe interface for receiving data to be stored in the associated memory section and transmitting data from the associated memory section is configured.

Eine besonders vorteilhafte Weiterbildung der Erfindung sieht vor, dass die wenigstens zwei virtuellen Maschinen auf wenigstens zwei Prozessoren ausgeführt werden, wobei

  • - den beiden Prozessoren jeweils wenigstens ein Speicher zugeordnet sind, und
  • - die beiden Speicher jeweils eine PCIe-Schnittstelle zum Empfangen von zu speichernden Daten und zum Senden von Daten über die physikalische Netzwerk-Schnittstelle aufweisen.
A particularly advantageous embodiment of the invention provides that the at least two virtual machines are executed on at least two processors, wherein
  • - The two processors are each assigned at least one memory, and
  • - The two memories each having a PCIe interface for receiving data to be stored and to send data over the physical network interface.

Die zweitgenannte Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruches 1 und mit den Merkmalen des Patentanspruches 3 gelöst.The second object is achieved by a method having the features of claim 1 and with the features of claim 3.

Nach der erstgenannten Lösung wird das Datenkommunikationsverfahren zwischen den virtuellen Maschinen der erfindungsgemäßen Fahrzeugelektronikeinheit und der Netzwerkschnittstelle zum Empfangen wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisende Datennachricht entsprechend einem Netzwerkprotokoll mit folgenden Verfahrensschritten durchgeführt:

  • - Speichern des Datenpaketes der Datennachricht in einem RX-Puffer,
  • - Auswerten des Headers der Datennachricht mittels einer Filter- und Routingeinheit hinsichtlich der das Datenpaket zuzuweisenden Partition, wobei die Header-Information und das Nachrichtensignalisierung-Interrupt über einen PCIe-Treiber einer Speicherdirektzugriffs (DMA)-Funktion und einer MSI-Interrupt-Steuerungsfunktion (MSI-Handler) des Hypervisors zur Verfügung gestellt werden,
  • - Kopieren des Datenpaketes mittels der direkten Speicherzugriffs (DMA)-Funktion in den der Header-Information entsprechenden ersten oder zweiten Speicherabschnitt der entsprechenden virtuellen Maschine, und
  • - Bereitstellen eines virtuellen Interrupts mittels der MSI-Interrupt-Steuerungsfunktion für die der Header-Information entsprechenden virtuellen Maschine, und
  • - Verarbeiten des Datenpaketes durch die der Header-Information entsprechenden virtuellen Maschine.
According to the first-mentioned solution, the data communication method between the virtual machines of the vehicle electronics unit according to the invention and the network interface for receiving at least one data packet with a header and a message signaling interrupt (MSI = Message Signaled Interrupt) comprising data message is carried out according to a network protocol with the following method steps:
  • Storing the data packet of the data message in an RX buffer,
  • Evaluating the header of the data message by means of a filtering and routing unit with respect to the partition to be allocated to the data packet, the header information and the message signaling interrupt being provided via a PCIe driver of a memory direct access (DMA) function and an MSI interrupt control function (MSI Handler) of the hypervisor,
  • - Copy the data packet by means of the direct memory access (DMA) function in the header information corresponding first or second memory portion of the corresponding virtual machine, and
  • Providing a virtual interrupt by means of the MSI interrupt control function for the virtual machine corresponding to the header information, and
  • Processing of the data packet by the virtual machine corresponding to the header information.

Bei diesem erfindungsgemäßen Datenkommunikationsverfahren zum Empfangen einer Datennachricht aus dem Fahrzeugnetzwerk mittels der Netzwerkschnittstelle übernimmt bspw. eine Netzwerkkarte oder ein Netzwerkprozessor die Aufgabe, die von der Netzwerkschnittstelle empfangenen Datenpakete einer Datennachricht in denjenigen Speicherabschnitt der der Header-Information entsprechenden virtuellen Maschine zu schreiben. Hierzu wird das Datenpaket in einen RX-Puffer der Netzwerkschnittstelle geschrieben, der Header der Datennachricht ausgewertet und mittels eines MSI-Interrupts die entsprechende Partition informiert.In this data communication method according to the invention for receiving a data message from the vehicle network by means of Network interface takes over, for example, a network card or a network processor, the task of writing the data packets received from the network interface of a data message in that memory section of the header information corresponding virtual machine. For this purpose, the data packet is written into an RX buffer of the network interface, the header of the data message is evaluated and informed by means of an MSI interrupt the corresponding partition.

Nach einer vorteilhaften Weiterbildung dieses erfindungsgemäßen Datenkommunikationsverfahrens wird das Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den der Header-Information entsprechenden Speicherabschnitt der ersten oder der zweiten Partition kopiert. In einem Speicherabschnitt einer virtuellen Maschine können unterschiedliche Applikationen implementiert werden, wie bspw. die Verarbeitung von Steuerdaten für den IP-Datenverkehr und die Verarbeitung von Video- und/oder Grafikdaten. Damit können die Datenpakete entsprechend der Header-Informationen jeweils dem richtigen Speicherabschnitt einer virtuellen Maschine zugewiesen werden.According to an advantageous development of this data communication method according to the invention, the data packet is copied by means of the direct memory access (DMA) function into the memory section of the first or the second partition corresponding to the header information. In a memory section of a virtual machine, different applications can be implemented, such as the processing of control data for the IP traffic and the processing of video and / or graphics data. Thus, the data packets according to the header information can each be assigned to the correct memory section of a virtual machine.

Nach der zweitgenannten Lösung wird das Datenkommunikationsverfahren zwischen den virtuellen Maschinen der erfindungsgemäßen Fahrzeugelektronikeinheit und der Netzwerkschnittstelle zum Senden wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisende Datennachricht entsprechend einem Netzwerkprotokoll mit folgenden Verfahrensschritten durchgeführt:

  • - Erzeugen des an die Netzwerkschnittstelle weiterzuleitenden Datenpaketes durch eine virtuelle Maschine und Speichern des Datenpaketes in dem zugehörigen Speicherabschnitt,
  • - Erzeugen einer die Bereitstellung des weiterzuleitenden Datenpaketes anzeigende Nachricht für einen PCIe-Treiber,
  • - Kopieren des Datenpaketes in einen TX-Puffer mittels der durch den PCIe-Treiber ausgeführten Speicherdirektzugriffs (DMA)-Funktion,
  • - Ergänzen des Datenpaketes mit einer Header-Information entsprechend der Information des PCIe-Treibers mittels der Netzwerkschnittstelle,
  • - Erstellen einer Datennachricht aus dem Datenpaket mit Header entsprechend dem Netzwerkprotokoll mittels der Netzwerkschnittstelle, und
  • - Senden der Datennachricht mittels der Netzwerkschnittstelle.
According to the second-mentioned solution, the data communication method between the virtual machines of the vehicle electronics unit according to the invention and the network interface for transmitting at least one data packet having a header and a message signaling interrupt (MSI = Message Signaled Interrupt) having data message is carried out according to a network protocol with the following method steps:
  • Generating the data packet to be forwarded to the network interface by a virtual machine and storing the data packet in the associated memory section,
  • Generating a message indicating the provision of the data packet to be forwarded for a PCIe driver,
  • Copying the data packet into a TX buffer by means of the memory direct access (DMA) function performed by the PCIe driver,
  • Supplementing the data packet with header information corresponding to the information of the PCIe driver via the network interface,
  • - Creating a data message from the data packet with headers according to the network protocol using the network interface, and
  • - Sending the data message via the network interface.

Bei diesem erfindungsgemäßen Datenkommunikationsverfahren zum Übermitteln einer Datennachricht aus einer der virtuellen Maschinen an die Netzwerkschnittstelle des Fahrzeugnetzwerkes übernimmt bspw. ebenso eine Netzwerkkarte oder ein Netzwerkprozessor die Aufgabe, die an die Netzwerk-Schnittstelle weiterzuleitenden Datenpakete aus einem Speicherabschnitt der jeweiligen virtuellen Maschine auszulesen und in einen TX-Puffer der Netzwerkschnittstelle zu kopieren. Mittels der Netzwerkschnittstelle wird das Datenpaket mittels eines Headers zu einer Datennachricht entsprechend des Netzwerkprotokolles ergänzt und in das Fahrzeugnetzwerk gesendet.In this data communication method according to the invention for transmitting a data message from one of the virtual machines to the network interface of the vehicle network, for example, a network card or a network processor also undertakes the task of reading out the data packets to be forwarded to the network interface from a memory section of the respective virtual machine and into a TX To copy the network interface buffer. By means of the network interface, the data packet is supplemented by means of a header to form a data message in accordance with the network protocol and sent to the vehicle network.

Vorzugsweise wird bei diesem Datenkommunikationsverfahren das zu übermittelnde Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den TX-Puffer kopiert.Preferably, in this data communication method, the data packet to be transmitted is copied to the TX buffer by means of the direct memory access (DMA) function.

Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus den Ansprüchen, der nachfolgenden Beschreibung bevorzugter Ausführungsformen sowie anhand der Zeichnungen. Dabei zeigen:

  • 1 ein Blockschaltbild einer Fahrzeugelektronikeinheit mit einem Hypervisor und zwei virtuellen Maschinen,
  • 2 ein Blockschaltbild einer weiteren Fahrzeugelektronikeinheit mit einem Hypervisor und zwei virtuellen Maschinen mit jeweils mehreren Speicherabschnitten,
  • 3 ein detailliertes Blockschaltbild einer Fahrzeugelektronikeinheit gemäß 1,
  • 4 ein Blockschaltbild zur Darstellung einer Datenkommunikation einer über ein Fahrzeugnetzwerk empfangenen Datennachricht innerhalb der Fahrzeugelektronikeinheit nach 2, und
  • 5 ein Blockschaltbild zur Darstellung einer Datenkommunikation einer über ein Fahrzeugnetzwerk zu sendenden Datennachricht innerhalb der Fahrzeugelektronikeinheit nach 2.
Further advantages, features and details of the invention will become apparent from the claims, the following description of preferred embodiments and from the drawings. Showing:
  • 1 a block diagram of a vehicle electronics unit with a hypervisor and two virtual machines,
  • 2 a block diagram of another vehicle electronics unit with a hypervisor and two virtual machines, each with multiple memory sections,
  • 3 a detailed block diagram of a vehicle electronics unit according to 1 .
  • 4 a block diagram for representing a data communication received via a vehicle network data message within the vehicle electronics unit according to 2 , and
  • 5 a block diagram for representing a data communication to be sent via a vehicle network data message within the vehicle electronics unit according to 2 ,

Die Fahrzeugelektronikeinheit 10 nach 1 und 2 zeigt zwei virtualisierte Steuergeräte als erste virtuelle Maschine P1 und zweite virtuelle Maschine P2 (auch Virtual Machine Monitor oder VMM genannt) mit jeweils einem Betriebssystem (OS), wobei die beiden virtuellen Maschinen P1 und P2 mittels eines Hypervisors 1 getrennt werden. Ein solcher Hypervisor 1 ist eine Software, mit welcher für jedes Betriebssystem der beiden virtuellen Maschinen P1 und P2 eine Systemumgebung mit virtuellen Ressourcen einschließlich virtuellen Prozessoren zur Realisierung und Steuerung der Betriebssysteme erzeugt werden. Zur Realisierung einer solchen Systemumgebung durch den Hypervisor 1 werden entsprechende Hardwarekomponenten, wie ein Mikroprozessor 4.0 und ein Speicher 3 der Fahrzeugelektronikeinheit 10 verwendet, wobei der Speicher 3 als gemeinsamer Speicher von beiden virtuellen Maschinen P1 und P2 benutzt wird.The vehicle electronics unit 10 to 1 and 2 shows two virtualized controllers as the first virtual machine P1 and second virtual machine P2 (also called Virtual Machine Monitor or VMM) each with an operating system (OS), the two virtual machines P1 and P2 by means of a hypervisor 1 be separated. Such a hypervisor 1 is a software with which for each operating system of the two virtual machines P1 and P2 a system environment with virtual resources including virtual processors for the realization and control of the operating systems are generated. To realize such a system environment through the hypervisor 1 become appropriate hardware components, like a microprocessor 4.0 and a memory 3 the vehicle electronics unit 10 used, the memory 3 when shared memory of both virtual machines P1 and P2 is used.

Nach 1 wird dieser gemeinsame Speicher 3 in zwei Teile aufgeteilt, nämlich in einen ersten Speicherabschnitt 3.1, auf welchen nur von der virtuellen Maschine P1 zugegriffen werden kann, und einen zweiten Speicherabschnitt 3.2, auf welche nur von der virtuellen Maschine P2 zugegriffen werden kann. Für eine von einer virtuellen Maschine P1 oder P2 ausgeführte Applikation, wie bspw. Steuerung des IP-Datenverkehrs oder Bearbeitung von Video- und/oder Grafikdaten wird ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherbereich 3.10 des ersten Speicherabschnittes 3.1 und ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherabschnitt 3.20 des zweiten Speicherabschnittes 3.2 und jeweils ein Signalisierungsbereich 3.01 und 3.02 zum Signalisieren, ob RX-Daten oder TX-Daten empfangen werden, bereitgestellt. Die Funktion dieser Signalisierungsbereiche 3.01 und 3.02 wird anhand des anhand von 4 beschriebenen Datenkommunikationsverfahrens erläutert. Diese Signalisierungsbereiche 3.01 und 3.02 können auch dadurch ersetzt werden, dass definierte Interrupts durchgeführt werden.To 1 will this shared memory 3 divided into two parts, namely in a first storage section 3.1 on which only from the virtual machine P1 can be accessed, and a second memory section 3.2 on which only from the virtual machine P2 can be accessed. For one of a virtual machine P1 or P2 Running application, such as. Control of IP traffic or editing video and / or graphics data is an RX buffer area and a TX buffer area as a memory area 3.10 of the first memory section 3.1 and an RX buffer area and a TX buffer area as a storage section 3.20 of the second memory section 3.2 and one signaling area each 3:01 and 3:02 for signaling whether RX data or TX data is received. The function of these signaling areas 3:01 and 3:02 is determined by the basis of 4 described data communication method explained. These signaling areas 3:01 and 3:02 can also be replaced by performing defined interrupts.

Eine Datenkommunikation zwischen jeweils einer virtuellen Maschine P1 oder P2 und einer Netzwerkschnittstelle 2.1 zu einem Fahrzeugnetzwerk B1, bspw. einem CAN-Bus erfolgt mittels eines von dem Hypervisor 1 realisierten virtuellen Netzwerks 5, welches in 1 und 2 als virtuelle Netzwerk-Schnittstellen 5.1 und 5.2 dargestellt ist, während die Netzwerkschnittstelle 2.1 von einer Netzwerkkarte 2 realisiert wird.A data communication between each one virtual machine P1 or P2 and a network interface 2.1 to a vehicle network B1 For example, a CAN bus is done by means of one of the hypervisor 1 realized virtual network 5 which is in 1 and 2 as virtual network interfaces 5.1 and 5.2 is shown while the network interface 2.1 from a network card 2 is realized.

Bei dieser Datenkommunikation werden Datenpakete von Datennachrichten aus dem Fahrzeugnetzwerk B1 mittels des virtuellen Netzwerks 5. von einem RX-Puffer der Netzwerkkarte 2 direkt in den ersten Speicherabschnitt 3.1 der ersten virtuellen Maschine P1 oder in den zweiten Speicherabschnitt 3.2 der zweiten virtuellen Maschine P2 in Abhängigkeit einer Header-Information der empfangenen Datennachricht geschrieben. Auch umgekehrt wird ein Datenpaket einer zu sendenden Datennachricht aus einer der beiden Speicherabschnitte 3.1 oder 3.2 direkt in einen TX-Puffer der Netzwerkkarte 2 geschrieben und anschließend als Datennachricht entsprechend dem Netzwerkprotokoll über die Netzwerkschnittstelle 2.1 gesendet.In this data communication are data packets of data messages from the vehicle network B1 using the virtual network 5 , from an RX buffer of the network card 2 directly into the first memory section 3.1 the first virtual machine P1 or in the second memory section 3.2 the second virtual machine P2 written in response to a header information of the received data message. Conversely, a data packet of a data message to be sent from one of the two memory sections 3.1 or 3.2 directly into a TX buffer of the network card 2 and then as a data message according to the network protocol via the network interface 2.1 Posted.

Nach 2 wird der gemeinsame Speicher 3 ebenso in zwei Teile aufgeteilt, nämlich in einen ersten Speicherabschnitt 3.1, auf welchen nur von der virtuellen Maschine P1 zugegriffen werden kann, und einen zweiten Speicherabschnitt 3.2, auf welchen nur von der virtuellen Maschine P2 zugegriffen werden kann. Ferner sind für jeden Speicherabschnitt 3.1 und 3.2 jeweils zwei Speicherbereiche vorgesehen, nämlich Speicherbereiche 3.10 und 3.11 für den ersten Speicherabschnitt 3.1 und Speicherbereiche 3.20 und 3.21 für den zweiten Speicherabschnitt 3.2, um damit unterschiedliche Applikationen zu realisieren. Auch bei dieser Fahrzeugelektronikeinheit 10 nach 2 weist jeder Speicherabschnitt 3.1 und 3.2 jeweils ein Signalisierungsbereich 3.01 bzw. 3.02 auf.
So dient bspw. der Speicherbereich 3.10 des ersten Speicherabschnittes 3.1 und der Speicherbereich 3.20 des zweiten Speicherabschnittes 3.2 zur Steuerung des IP-Datenverkehrs. Für den entsprechenden Software-Treiber ist ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherbereich 3.10 bzw. 3.20 eingerichtet.
To 2 becomes the shared memory 3 also divided into two parts, namely in a first storage section 3.1 on which only from the virtual machine P1 can be accessed, and a second memory section 3.2 on which only from the virtual machine P2 can be accessed. Further, for each memory section 3.1 and 3.2 two memory areas are provided, namely memory areas 3.10 and 3.11 for the first storage section 3.1 and storage areas 3.20 and 3.21 for the second memory section 3.2 in order to realize different applications. Also with this vehicle electronics unit 10 to 2 points each storage section 3.1 and 3.2 one signaling area each 3:01 respectively. 3:02 on.
For example, the memory area is used 3.10 of the first memory section 3.1 and the storage area 3.20 of the second memory section 3.2 for controlling IP traffic. For the corresponding software driver, an RX buffer area and a TX buffer area are used as memory area 3.10 respectively. 3.20 set up.

Der Speicherbereich 3.11 des ersten Speicherabschnittes 3.1 und der Speicherbereich 3.21 des zweiten Speicherabschnittes 3.2 dient bspw. zur Bearbeitung von Video- und/oder Grafikdaten. Für den entsprechenden Software-Treiber ist ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherabschnitt 3.11 bzw. 3.21 eingerichtet.The storage area 3.11 of the first memory section 3.1 and the storage area 3.21 of the second memory section 3.2 serves for example for editing video and / or graphic data. For the corresponding software driver is an RX buffer area and a TX buffer area as a memory section 3.11 respectively. 3.21 set up.

Der Datenverkehr zwischen den Speicherabschnitten 3.10 und 3.11 bzw. 3.20 und 3.21 des ersten oder zweiten Speicherabschnittes 3.1 bzw. 3.2 einerseits und der Netzwerkschnittstelle 2.1 andererseits erfolgt entsprechend der Hypervisor-Architektur nach 1 bzw. 2 über das von dem Hypervisor 1 realisierte virtuelles Netzwerk 5, und zwar direkt zwischen einem Speicherbereich 3.10, 3.11, 3.20 bzw. 3.21 über einen RX- bzw. TX-Puffer der Netzwerkkarte 2 und der Netzwerkschnittstelle 2.1.The traffic between the storage sections 3.10 and 3.11 respectively. 3.20 and 3.21 the first or second storage section 3.1 respectively. 3.2 one hand, and the network interface 2.1 on the other hand, according to the hypervisor architecture 1 respectively. 2 about that from the hypervisor 1 realized virtual network 5 , directly between a memory area 3.10 . 3.11 . 3.20 respectively. 3.21 via an RX or TX buffer of the network card 2 and the network interface 2.1 ,

Bei diesen Hypervisor-Architekturen gemäß den 1 und 2 kann eine virtuelle Maschine P1 bzw. P2 nur auf den ihr zugeordneten Speicherabschnitt 3.1 bzw. 3.2 zugreifen. Dies führt zu einer klaren Trennung der zu kommunizierenden Datenpakete bezüglich deren Zugehörigkeit zur virtuellen Maschine P1 oder virtuellen Maschine P2, wodurch negative Einflüsse hinsichtlich Sicherheit des Datenverkehrs vermieden werden. Auch treten keine negativen Einflüsse auf die Leistung und die Funktionssicherheit solcher Hypervisor-Architekturen auf.In these hypervisor architectures according to the 1 and 2 can be a virtual machine P1 respectively. P2 only on its associated memory section 3.1 respectively. 3.2 access. This leads to a clear separation of the data packets to be communicated with regard to their membership in the virtual machine P1 or virtual machine P2 , which avoids negative influences on data traffic security. Also, there are no negative influences on the performance and reliability of such hypervisor architectures.

Die 3 zeigt eine detaillierte Realisierung einer Fahrzeugelektronikeinheit 10 mit einer Hypervisor-Architektur gemäß 2. Diese Fahrzeugelektronikeinheit 10 besteht aus einer MMX (Multi Media Extension)-Steckkarte 10.1 und einer RSC (Radio Sound Control)-Steckkarte, die auf einem Board eines Zentralrechners angeordnet sind.The 3 shows a detailed realization of a vehicle electronics unit 10 with a hypervisor architecture according to 2 , This vehicle electronics unit 10 consists of an MMX (Multi Media Extension) card 10.1 and an RSC (Radio Sound Control) card, which are arranged on a board of a central computer.

Mittels der MMX-Steckkarte 10.1 wird ein Hypervisor 1 realisiert, welcher eine erste virtuelle Maschine P1 und eine zweite virtuelle Maschine P2 trennt.zur Realisierung der beiden virtuellen Maschinen P1 und P2 ist ein Mikroprozessor 4.0 sowie ein gemeinsamen Speicher 3 vorgesehen, welcher in zwei Abschnitte geteilt ist, nämlich in einen ersten Speicherabschnitt 3.1 und in einen zweiten Speicherabschnitt 3.2, wobei auf den ersten Speicherabschnitt 3.1 nur die erste virtuelle Maschine P1 und auf den zweiten Speicherabschnitt 3.2 nur die zweite virtuelle Maschine P2 zugreifen kann.By means of the MMX plug-in card 10.1 becomes a hypervisor 1 realized, which is a first virtual machine P1 and a second virtual machine P2 separates.to the realization of the two virtual machines P1 and P2 is a microprocessor 4.0 such as a shared memory 3 provided, which is divided into two sections, namely in a first storage section 3.1 and a second memory section 3.2 , wherein the first memory section 3.1 only the first virtual machine P1 and to the second memory section 3.2 only the second virtual machine P2 can access.

Innerhalb dieser Speicherabschnitte 3.1 und 3.2 ist eine weitere Aufteilung in Speicherbereiche 3.10 und 3.11 bzw. 3.20, 3.21 und 3.22 vorgenommen, nämlich für Steuerdaten des IP-Datenverkehrs und Video- und/oder Grafikdaten.Within these storage sections 3.1 and 3.2 is another division into storage areas 3.10 and 3.11 respectively. 3.20 . 3.21 and 3.22 namely, IP data traffic control data and video and / or graphics data.

Der Speicherbereich 3.10 des ersten Speicherabschnittes 3.1 und die Speicherbereiche 3.20 und 3.22 des zweiten Speicherabschnittes 3.2 dienen zur Steuerung des IP-Datenverkehrs. Für die entsprechenden Software-Treiber ist ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherabschnitte 3.10 bzw. 3.20 und 3.22 eingerichtet. Für jeden dieser Speicherabschnitte 3.10, 3.20 und 3.22 ist ein Software-Treiber mit einem zugehörigen Protokoll-Stack 3.100, 3.200 und 3.220 mittels des Hypervisors 1 realisiert.The storage area 3.10 of the first memory section 3.1 and the storage areas 3.20 and 3.22 of the second memory section 3.2 are used to control IP traffic. For the corresponding software drivers, an RX buffer area and a TX buffer area are memory sections 3.10 respectively. 3.20 and 3.22 set up. For each of these storage sections 3.10 . 3.20 and 3.22 is a software driver with an associated protocol stack 3100 . 3200 and 3220 by means of the hypervisor 1 realized.

Der Speicherbereich 3.11 des ersten Speicherabschnittes 3.1 und Speicherbereich 3.21 des zweiten Speicherabschnittes 3.2 dienen zur Bearbeitung von Video- und/oder Grafikdaten. Für den entsprechenden Software-Treiber ist ein RX-Pufferbereich sowie ein TX-Pufferbereich als Speicherabschnitt 3.11 bzw. 3.21 eingerichtet. Für jeden dieser Speicherbereiche 3.11 und 3.21 ist ein Software-Treiber mit einem zugehörigen Protokoll-Stack 3.110 und 3.210 mittels des Hypervisors 1 realisiert.The storage area 3.11 of the first memory section 3.1 and storage area 3.21 of the second memory section 3.2 are used for editing video and / or graphic data. For the corresponding software driver is an RX buffer area and a TX buffer area as a memory section 3.11 respectively. 3.21 set up. For each of these storage areas 3.11 and 3.21 is a software driver with an associated protocol stack 3110 and 3210 by means of the hypervisor 1 realized.

Jeder der beiden Speicherabschnitte 3.1 und 3.2 weist natürlich auch Signalisierungsbereiche entsprechend der Darstellung nach 2 auf, die jedoch zugunsten einer besseren Übersichtlichkeit in 3 nicht dargestellt sind.Each of the two memory sections 3.1 and 3.2 Of course, it also detects signaling areas as shown 2 However, for better clarity in 3 are not shown.

Die RSC-Steckkarte 10.2 besteht aus einer Netzwerkkarte 2 mit einem Mikroprozessor 4.1 und einer Filter- und Routingeinheit 2.3, mit welcher eine Ethernet-Schnittstelle als Netzwerkschnittstelle 2.1 über DMA (Direkt Memory Access)-Ausgängen 2.30 mit einer PCIe-Schnittstelle 7 und mit Rechenknoten 10.20 und 10.21 verbunden wird. Die beiden Rechenknoten 10.20 und 10.21 weisen jeweils einen Mikroprozessor 4.2 bzw. 4.3 auf.The RSC card 10.2 consists of a network card 2 with a microprocessor 4.1 and a filtering and routing unit 2.3 , with which an Ethernet interface as a network interface 2.1 via DMA (Direct Memory Access) 2.30 outputs with a PCIe interface 7 and with compute nodes 10:20 and 10:21 is connected. The two compute nodes 10:20 and 10:21 each have a microprocessor 4.2 respectively. 4.3 on.

Die Netzwerkschnittstelle 2.1 ist über einen Gateway/Ethernet-Switch 11.1 eines Gateways 11 einerseits mit einem Kombiinstrument (FPK), einem Head-up-Display (HUD), einer Rückfahrkamera (RVC) und einer C-Box usw. verbunden und andererseits über das Gateway 11 mit einem Gateway eines CAN-Busses als Fahrzeugnetzwerk B1.The network interface 2.1 is via a gateway / ethernet switch 11.1 a gateway 11 connected on the one hand with an instrument cluster (FPK), a head-up display (HUD), a rear view camera (RVC) and a C-box, etc. and on the other hand via the gateway 11 with a gateway of a CAN bus as a vehicle network B1 ,

Ein DMA-Ausgang der Filter- und Routingeinheit 2.3 wird über die PCIe-Schnittstelle 7 und einen PCI-Treiber 6 mit dem Speicherbereich 3.20 des zweiten Speicherabschnittes 3.2 verbunden, ein weiterer DMA-Ausgang ist ebenso über die PCIe-Schnittstelle 7 und den PCI-Treiber 6 mit dem Speicherbereich 3.22 des zweiten Speicherabschnittes 3.2 jeweils als virtuelle Netzwerk-Schnittstelle 5.2 verbunden.A DMA output of the filter and routing unit 2.3 is via the PCIe interface 7 and a PCI driver 6 with the memory area 3.20 of the second memory section 3.2 Another DMA output is also via the PCIe interface 7 and the PCI driver 6 with the memory area 3.22 of the second memory section 3.2 each as a virtual network interface 5.2 connected.

Ein weiterer DMA-Ausgang der Filter- und Routingeinheit 2.3 führt auf ein Softwaremodul 4.10 der Netzwerkkarte 2 für Videodaten und einen DMA-Speicher, dessen verarbeitete Videodaten über einen MPEG-TS-Treiber 4.11 mittels der PCIe-Schnittstelle 7 und des PCIe-Treibers 6 mit der Speichersektion 3.11 des ersten Speicherabschnittes 3.1 als virtuelle Netzwerk-Schnittstelle 5.1 verbunden ist.Another DMA output of the filter and routing unit 2.3 leads to a software module 4.10 the network card 2 for video data and a DMA memory, its processed video data via an MPEG TS driver 4.11 by means of the PCIe interface 7 and the PCIe driver 6 with the memory section 3.11 of the first memory section 3.1 as a virtual network interface 5.1 connected is.

Ein weiterer DMA-Ausgang ist mit einem Softwaremodul 4.20 des Rechenknotens 10.20 verbunden, welches eine Bedien- und Anzeigesoftware sowie einem zugehörigen DMA-Speicher ist.Another DMA output comes with a software module 4.20 of the compute node 10:20 connected, which is an operating and display software and an associated DMA memory.

Schließlich ist ein weiteres Softwaremodule 4.12 für das Internet Netzwerk Management einen weiteren DMA-Ausgang der Filter- und Routingeinheit 2.3 angeschlossen.Finally, another software module 4.12 for the Internet Network Management another DMA output of the filtering and routing unit 2.3 connected.

Der Rechenknoten 10.21 weist ein Softwaremodul 4.30 mit einer Ethernet-Software, einem zugehörigen DMA-Speicher zur Verarbeitung von IP-Steuerdaten sowie mit einem Protokoll-Stack 4.31 für den IP-Datenverkehr auf, wobei dieser Protokoll-Stack 4.31 Ausgänge 4.32 für weitere Softwaremodule aufweist.The compute node 10:21 has a software module 4.30 with Ethernet software, an associated DMA memory for processing IP control data, and a protocol stack 4.31 for IP traffic, this protocol stack 4.31 outputs 4:32 for further software modules.

Eine MOST-Schnittstelle 4.4 verbindet ein MOST-Netzwerk als weiteres Fahrzeugnetzwerk B2 über ein Softwaremodul 4.34 mit einem MPEG-Treiber zur Übertragung von Video- und/oder Grafikdaten über die PCIe-Schnittstelle 7 und den PCIe-Treiber 6 der ersten virtuellen Maschine P1 mit der Speichersektion 3.21 des zweiten Speicherabschnittes 3.2 zur Realisierung einer weiteren virtuellen Netzwerk-Schnittstelle 5.2.A MOST interface 4.4 connects a MOST network as another vehicle network B2 via a software module 4:34 with an MPEG driver for transmitting video and / or graphic data via the PCIe interface 7 and the PCIe driver 6 of the first virtual machine P1 with the memory section 3.21 of the second memory section 3.2 for the realization of another virtual network interface 5.2 ,

Schließlich ist ein Softwaremodul 4.33 mit einer Ethernet-Datenkommunikationssoftware und einem zugehörigen Protokoll-Stack des Rechenknotens 10.21 mit der Speichersektion 3.10 des ersten Speicherabschnittes 3.1 der ersten virtuellen Maschine P1 zur Realisierung einer weiteren virtuellen Netzwerk-Schnittstelle 5.1 verbunden.Finally, there is a software module 4:33 with an Ethernet data communication software and an associated protocol stack of the computing node 10:21 with the memory section 3.10 of the first memory section 3.1 the first virtual machine P1 for the realization of another virtual network interface 5.1 connected.

Im Folgenden wird der interne Datenverkehr der Fahrzeugelektronikeinheit 10 gemäß 3 anhand der 4 und 5 beschrieben.The following is the internal traffic of the vehicle electronics unit 10 according to 3 based on 4 and 5 described.

Bei dieser Fahrzeugelektronikeinheit 10 gemäß den 4 und 5 weist diese einen Hypervisor 1 neben einer ersten und zweiten virtuellen Maschine P1 und P2 weitere virtuelle Maschinen bis zur virtuellen Maschine Px auf. Jeder dieser virtuellen Maschinen P1, ... Px ist ein Speicherabschnitt 3.1, 3.2, ... 3.x eines gemeinsamen Speichers 3 zugeordnet. In this vehicle electronics unit 10 according to the 4 and 5 this one has a hypervisor 1 next to a first and second virtual machine P1 and P2 more virtual machines to the virtual machine px on. Each of these virtual machines P1 , ... px is a storage section 3.1 . 3.2 , ... 3.x a shared memory 3 assigned.

Die Fahrzeugelektronikeinheit 10 gemäß den 4 und 5 umfasst einen Rechenknoten als MMX-Steckkarte 10.1 sowie eine Netzwerkkarte 2 entsprechend der Struktur nach 3.The vehicle electronics unit 10 according to the 4 and 5 includes a compute node as an MMX card 10.1 as well as a network card 2 according to the structure 3 ,

Nach 4 empfängt die Fahrzeugelektronikeinheit 10 aus einem Fahrzeugnetzwerk B1 über eine Netzwerkschnittstelle 2.1 der Netzwerkkarte 2 eine Datennachricht, die neben einem Datenpaket einen Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) entsprechend dem Netzwerkprotokoll, bspw. dem Ethernet-Protokoll des an die Netzwerkschnittstelle 2.1 angeschlossenen Fahrzeugnetzwerkes B1, bspw. einem CAN-Bus umfasst.To 4 receives the vehicle electronics unit 10 from a vehicle network B1 over a network interface 2.1 the network card 2 a data message, in addition to a data packet, a header and a message signaling interrupt (MSI = Message Signaled Interrupt) according to the network protocol, for example, the Ethernet protocol of the network interface 2.1 connected vehicle network B1 , eg a CAN bus.

Das Datenpaket (oder auch mehrere) wird von der Netzwerkschnittstelle 2.1 in einen RX-Puffer 2.2 der Netzwerkkarte 2 geschrieben, wobei gleichzeitig von der Netzwerkschnittstelle 2.1 eine Eingangsmeldung einem Ethernet-Treiber 2.5 übermittelt wird, welcher ein Triggersignal an die Filter- und Routingeinheit 2.3 sendet. Der Header wird zur Analyse von dessen Header-Information von dem RX-Puffer 2.2 an die Filter- und Routingeinheit 2.3 gesendet und hinsichtlich der der Header-Information entsprechenden Zuordnung zu einer virtuellen Maschine P1, ... Px, insbesondere zu einem Speicherabschnitt der Speicherabschnitte 3.1, ... 3.x ausgewertet. Die Filter- und Rooting-Regeln werden von dem Hypervisor 1 der Filter- und Routingeinheit 2.3 bereitgestellt.The data packet (or more) is from the network interface 2.1 into an RX buffer 2.2 the network card 2 written at the same time by the network interface 2.1 an input message to an Ethernet driver 2.5 which sends a trigger signal to the filtering and routing unit 2.3 sends. The header is used to parse its header information from the RX buffer 2.2 to the filter and routing unit 2.3 sent and regarding the header information corresponding assignment to a virtual machine P1 , ... px , in particular to a memory section of the memory sections 3.1 , ... 3.x evaluated. The filtering and rooting rules are taken from the hypervisor 1 the filter and routing unit 2.3 provided.

Ein Triggersignal der Filter- und Routingeinheit 2.3 veranlasst einen PCIe-Treiber 2.4 der Netzwerkkarte 2 mittels einer Speicherdirektzugriffs (DMA)-Funktion das Datenpaket aus dem RX-Puffer 2.2 über die DMA-Ausgänge 2.30 der Filter- und Routingeinheit 2.3 und die PCIe-Schnittstelle 7 in den der Header-Information entsprechenden Speicherbereich 3.1, ... oder 3.x zu kopieren. Ferner erhält ein Signalisierungsbereich 3.0 von dem PCIe-Treiber 2.4 der Netzwerkkarte 2 das Nachrichtensignalisierungs-Interrupt und leitet es weiter an den PCIe-Treiber 6 der MMX-Steckkarte 10.1. Mittels des Signalisierungsbereichs 3.0 wird signalisiert, ob RX- oder TX-Daten übermittelt werden. Der Signalisierungsbereich 3.0 umfasst die Signalisierungsbereiche 3.01, 3.02, ... 3.0x der Speicherabschnitte 3.1, 3.2, ... 3.x. Dieser Signalisierungsbereich 3.0 kann auch dadurch ersetzt werden, dass definierte Interrupt durchgeführt werden.A trigger signal of the filter and routing unit 2.3 initiates a PCIe driver 2.4 of the network card 2 by means of a memory direct access (DMA) function, the data packet from the RX buffer 2.2 via the DMA outputs 2.30 the filter and routing unit 2.3 and the PCIe interface 7 in the memory area corresponding to the header information 3.1 , ... or 3.x to copy. Further receives a signaling area 3.0 from the PCIe driver 2.4 the network card 2 the message signaling interrupt and forwards it to the PCIe driver 6 the MMX card 10.1 , By means of the signaling area 3.0 is signaled whether RX or TX data is transmitted. The signaling area 3.0 includes the signaling areas 3:01 . 3:02 , ... 3.0x the memory sections 3.1 . 3.2 , ... 3.x , This signaling area 3.0 can also be replaced by performing defined interrupt.

Eine MSI-Interrupt-Steuerungsfunktion wird von dem Hypervisor 1 als MSI-Handler realisiert, welchem das Nachrichtensignalisierungs-Interrupt von dem PCIe-Treiber 6 zugeführt wird. Von diesem MSI-Handler wird das Nachrichtensignalisierungs-Interrupt verarbeitet und die der Header-Information entsprechende virtuelle Maschine P1, ... oder Px mittels eines virtuellen Interrupts informiert. Anschließend wird von dieser virtuellen Maschine P1, ... oder Px auf deren zugeordneten Speicherbereich 3.1, ... oder 3.x zugegriffen und das Datenpaket verarbeitet.An MSI interrupt control function is provided by the hypervisor 1 realized as an MSI handler, which receives the message signaling interrupt from the PCIe driver 6 is supplied. This MSI handler processes the message signaling interrupt and the virtual machine corresponding to the header information P1 , ... or px informed by means of a virtual interrupt. Then this virtual machine will be used P1 , ... or px on their associated memory area 3.1 , ... or 3.x accessed and processed the data packet.

Datenpakete, die als Datennachricht über die Netzwerkschnittstelle 2.1 in das Fahrzeugnetzwerk B1 zu senden sind, werden von einer Applikation in einer der virtuellen Maschinen P1, ... oder Px erzeugt und in dem zugehörigen Speicherabschnitt 3.1, ... oder 3.x des gemeinsamen Speichers 3 gespeichert. Auf die anderen Speicherabschnitte kann diese eine virtuelle Maschine nicht zugreifen.Data packets acting as a data message over the network interface 2.1 in the vehicle network B1 are to be sent from an application in one of the virtual machines P1 , ... or px generated and in the associated memory section 3.1 , ... or 3.x the shared memory 3 saved. The other storage sections can not access this virtual machine.

Gleichzeitig wird von dieser virtuellen Maschine, welche das an die Netzwerkschnittstelle 2.1 zu übermittelnde Datenpaket erzeugt und in den dieser virtuellen Maschine zugeordneten Speicherbereich abgelegt hat, ein TX-Data-Ready-Signal an den PCIe-Treiber 6 gesendet, um anzuzeigen, dass ein Datenpaket zur Übernahme in dem entsprechenden Speicherbereich bereit steht. Diese TX-Data-Ready-Signale werden von allen virtuellen Maschinen P1, ... PX zusammengefasst und über die PCIe-Schnittstelle 7 dem PCIe-Treiber 2.4 der Netzwerkkarte 2 zugeführt, wodurch mittels der Speicherdirektzugriffs (DMA)-Funktion der DMA-Ausgänge 2.30 mittels der PCIe-Schnittstelle 7 das Datenpaket in einen TX-Puffer 2.30 der Netzwerkkarte 2 kopiert wird. Sind Datenpakete von mehreren virtuellen Maschinen P1, ... Px in den jeweiligen Speicherabschnitten 3.1, ... 3.x abgelegt, werden alle Datenpakete in den TX-Puffer 2.20 kopiert.At the same time, this virtual machine connects to the network interface 2.1 generated to be transmitted data packet and stored in the memory area allocated to this virtual machine, a TX-Data-Ready signal to the PCIe driver 6 sent to indicate that a data packet is ready for acquisition in the corresponding memory area. These TX data-ready signals are from all virtual machines P1 , ... PX summarized and via the PCIe interface 7 the PCIe driver 2.4 the network card 2 supplied by means of the memory direct access (DMA) function of the DMA outputs 2.30 via the PCIe interface 7 the data packet into a TX buffer 2.30 the network card 2 is copied. Are data packets from multiple virtual machines P1 , ... px in the respective memory sections 3.1 , ... 3.x All data packets are stored in the TX buffer 2.20 copied.

Ein von dem PCIe-Treiber 2.4 erzeugtes Sende-Trigger-Signal wird an den Ethernet-Treiber 2.5 gesendet, welcher die Netzwerkschnittstelle 2.1 dazu veranlasst, für das Datenpaket, insbesondere das Ethernet-Datenpaket einen Header entsprechend den Informationen des PCIe-Treibers 6 zu erzeugen, eine Datennachricht aus dem Datenpaket und dem Header entsprechend dem Netzwerkprotokoll, bspw. dem Ethernet-Protokoll zu erstellen und diese derart erstellte Datennachricht zu senden.One from the PCIe driver 2.4 generated send trigger signal is sent to the ethernet driver 2.5 which sent the network interface 2.1 to cause for the data packet, in particular the Ethernet data packet, a header corresponding to the information of the PCIe driver 6 to generate a data message from the data packet and the header according to the network protocol, for example, to create the Ethernet protocol and to send this data message thus created.

In der Fahrzeugelektronikeinheit 10 gemäß 3 werden die beiden virtuellen Maschinen P1 und P2 mittels eines einzigen Mikroprozessors 4.0 und einem einzigen Speicher 3 durchgeführt, wobei diesem Speicher 3 nur eine einzige PCIe-Schnittstelle 7 zugeordnet ist.In the vehicle electronics unit 10 according to 3 become the two virtual machines P1 and P2 using a single microprocessor 4.0 and a single memory 3 performed, this memory 3 only a single PCIe interface 7 assigned.

Es ist auch möglich die beiden virtuellen Maschinen P1 und P2 mit wenigstens zwei unterschiedlichen Prozessoren zu realisieren, denen jeweils ein Speicher zugeordnet ist. Damit stehen wenigstens zwei unterschiedliche Speicher zur Verfügung, denen jeweils PCIe-Schnittstellen zum Empfangen von zu speichernden Daten und zum Senden von Daten über die physikalische Netzwerk-Schnittstelle 2.1 zugeordnet sind. It is also possible the two virtual machines P1 and P2 to realize with at least two different processors, each associated with a memory. Thus, at least two different memories are available, each with PCIe interfaces for receiving data to be stored and for sending data over the physical network interface 2.1 assigned.

Im Folgenden sind weitere Ausführungsbeispiele der Erfindung beschrieben:

  • Beispiel 1. Eine Fahrzeugelektronikeinheit (10) mit
    • - wenigstens zwei virtuellen Maschinen (P1, P2) mit jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2),
    • - einem Speicher (3) mit jeweils einer virtuellen Maschine (P1, P2) exklusiv zugeordneten Speicherabschnitten (3.1, 3.2), wobei jeder Speicherabschnitt (3.1, 3.2) direkte Speicherbereiche (3.10, 3.20) für die direkte Kommunikation der virtuellen Maschine (P1, P2) mit deren zugeordneten virtuellen Netzwerk-Schnittstelle (5.1, 5.2) aufweist, und
    • - einer physikalischen Netzwerk-Schnittstelle (2.1) zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2) einer virtuellen Maschine (P1, P2) und einem Fahrzeugnetzwerk (B1).
  • Bespiel 2. Fahrzeugelektronikeinheit (10) nach Beispiel 1 mit einem Hypervisor (1), welcher zur Trennung der virtuellen Maschinen (P1, P2) ausgebildet ist.
  • Bespiel 3. Fahrzeugelektronikeinheit (10) nach Bespiel 1 oder 2, bei welcher
    • - ein erster Speicherabschnitt (3.1) einer ersten virtuellen Maschine (P1) wenigstens einen Speicherbereich (3.10) aufweist, wobei dieser Speicherbereich (3.10) mit
      • - einem Signalisierungsbereich (3.01) zum Signalisieren, ob RX- oder TX-Daten übermittelt werden,
      • - einem RX-Puffer zum Speichern von empfangenen Daten, und
      • - einem TX-Puffer zum Speichern von zu sendenden Daten ausgebildet ist, und
    • - ein zweiter Speicherabschnitt (3.2) einer zweiten virtuellen Maschine (P2) wenigstens einen Speicherbereich (3.20) aufweist, wobei dieser Speicherbereich (3.20) mit
      • - einem Signalisierungsbereich (3.02) zum Signalisieren ob RX-Daten oder.TX-Daten übermittelt werden,
      • - einem RX-Puffer zum Speichern von empfangenen Daten, und
      • - einem Tx-Puffer zum Speichern von zu sendenden Daten ausgebildet ist.
  • Bespiel 4. Fahrzeugelektronikeinheit (10) nach Bespiel 3, bei welcher der Signalisierungsbereich dadurch ersetzt ist, dass die Fahrzeugelektronikeinheit (10) zur Durchführung von definierten Interrupts konfiguriert ist.
  • Bespiel 5. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Bespiele, bei welcher jeweils ein Speicherabschnitt (3.1, 3.2) einen Speicherbereich (3.10, 3.20) für IP-Steuerdaten und einen Speicherbereich (3.11, 3.21) für Video- und/oder Grafikdaten aufweist.
  • Bespiel 6. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Bespiele, bei welcher wenigstens eine virtuelle Maschine (P1, P2) mit einer PCIe-Schnittstelle (6) zum Empfangen von in dem zugeordneten Speicherabschnitt (3.1, 3.2) zu speichernden Daten und Senden von Daten aus dem zugeordneten Speicherabschnitt (3:1, 3.2) konfiguriert ist.
  • Bespiel 7. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Bespiele, bei welcher die wenigstens zwei virtuellen Maschinen (P1, P2)
    • - auf wenigstens zwei Prozessoren ausgeführt werden,
    • - den beiden Prozessoren jeweils wenigstens ein Speicher zugeordnet sind, und
    • - die beiden Speicher jeweils eine PCIe-Schnittstelle zum Empfangen von zu speichernden Daten und zum Senden von Daten über die physikalische Netzwerk-Schnittstelle (2.1) aufweisen.
In the following, further embodiments of the invention are described:
  • Example 1. A vehicle electronics unit ( 10 ) With
    • at least two virtual machines ( P1 . P2 ) each with a virtual network interface ( 5.1 . 5.2 )
    • - a memory ( 3 ) each with a virtual machine ( P1 . P2 ) exclusively allocated memory sections ( 3.1 . 3.2 ), each memory section ( 3.1 . 3.2 ) direct memory areas ( 3.10 . 3.20 ) for direct communication of the virtual machine ( P1 . P2 ) with its associated virtual network interface ( 5.1 . 5.2 ), and
    • a physical network interface ( 2.1 ) for establishing a communication connection between in each case a virtual network interface ( 5.1 . 5.2 ) of a virtual machine ( P1 . P2 ) and a vehicle network ( B1 ).
  • recordable 2 , Vehicle electronics unit ( 10 ) according to example 1 with a hypervisor ( 1 ), which is used to separate the virtual machines ( P1 . P2 ) is trained.
  • recordable 3 , Vehicle electronics unit ( 10 ) after example 1 or 2 , in which
    • a first memory section ( 3.1 ) of a first virtual machine ( P1 ) at least one memory area ( 3.10 ), this memory area ( 3.10 ) With
      • a signaling area ( 3:01 ) to signal whether RX or TX data is being transmitted,
      • an RX buffer for storing received data, and
      • a TX buffer is designed to store data to be transmitted, and
    • a second memory section ( 3.2 ) a second virtual machine ( P2 ) at least one memory area ( 3.20 ), this memory area ( 3.20 ) With
      • a signaling area ( 3:02 ) for signaling whether RX data or .TX data are transmitted,
      • an RX buffer for storing received data, and
      • - A Tx buffer for storing data to be sent is formed.
  • recordable 4 , Vehicle electronics unit ( 10 ) after example 3 in which the signaling area is replaced by the fact that the vehicle electronics unit ( 10 ) is configured to perform defined interrupts.
  • recordable 5 , Vehicle electronics unit ( 10 ) according to one of the preceding examples, in which in each case a memory section ( 3.1 . 3.2 ) a memory area ( 3.10 . 3.20 ) for IP control data and a memory area ( 3.11 . 3.21 ) for video and / or graphics data.
  • recordable 6 , Vehicle electronics unit ( 10 ) according to one of the preceding examples, in which at least one virtual machine ( P1 . P2 ) with a PCIe interface ( 6 ) for receiving in the associated memory section ( 3.1 . 3.2 ) data to be stored and sending data from the associated memory section ( 3: 1 . 3.2 ) is configured.
  • recordable 7 , Vehicle electronics unit ( 10 ) according to one of the preceding examples, in which the at least two virtual machines ( P1 . P2 )
    • be executed on at least two processors,
    • - The two processors are each assigned at least one memory, and
    • the two memories each have a PCIe interface for receiving data to be stored and for sending data over the physical network interface ( 2.1 ) exhibit.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
Hypervisorhypervisor
1.11.1
MSI-Handler MSI handler
22
Netzwerkkartenetwork card
2.12.1
NetzwerkschnittstelleNetwork Interface
2.22.2
RX-Puffer der Netzwerkkarte 2Network card RX buffer 2
2.202.20
TX-Puffer der Netzwerkkarte 2 TX buffer of the network card 2
2.32.3
Filter- und RoutingeinheitFilter and routing unit
2.302.30
DMA-Ausgänge der Filter-und Routingeinheit 2.3DMA outputs of the filter and routing unit 2 .3
2.42.4
PCIe-TreiberPCIe driver
2.5 2.5
Ethernet-Treiber Ethernet driver
33
gemeinsamer Speichershared memory
3.03.0
Signalisierungsbereichsignaling area
3.013:01
Signalisierungsbereichsignaling area
3.023:02
Signalisierungsbereichsignaling area
3.0x3.0x
die Finanzierungsbereichthe funding area
3.13.1
erste Speicherabschnitt der ersten virtuellen Maschine P1first storage section of the first virtual machine P1
3.103.10
Speicherbereich des ersten Speicherabschnittes 3.1Memory area of the first memory section 3 .1
3.1003100
Protokoll-StackProtocol stack
3.113.11
Speicherbereich des ersten Speicherabschnittes 3.1 Memory area of the first memory section 3.1
3.1103110
Protokoll-StackProtocol stack
3.23.2
zweiter Speicherabschnitt der zweiten virtuellen Maschine P2second storage section of the second virtual machine P2
3.203.20
Speicherbereich des zweiten Speicherabschnittes 3.2Memory area of the second memory section 3 .2
3.2003200
Protokoll-StackProtocol stack
3.213.21
Speicherbereich des zweiten Speicherabschnittes 3.2Memory area of the second memory section 3 .2
3.2103210
Protokoll-StackProtocol stack
3.223.22
Speicherbereich des zweiten Speicherabschnittes 3.2Memory area of the second memory section 3 .2
3.2203220
Protokoll-StackProtocol stack
3.x3.x
Speicherabschnitt der virtuellen Maschine Px Memory section of the virtual machine Px
4.04.0
Mikroprozessormicroprocessor
4.14.1
Mikroprozessormicroprocessor
4.104.10
Softwaremodulsoftware module
4.114.11
MPEG-TS-TreiberMPEG-TS driver
4.24.2
Mikroprozessormicroprocessor
4.204.20
Softwaremodulesoftware modules
4.34.3
Mikroprozessormicroprocessor
4.304.30
Softwaremodulesoftware modules
4.314.31
Protokoll-StackProtocol stack
4.324:32
Ausgänge des Protokoll-Stacks 4.31Outputs of the protocol stack 4.31
4.334:33
Softwaremodulesoftware modules
4.344:34
Softwaremodulsoftware module
4.44.4
MOST-Schnittstelle MOST interface
55
virtuelles Netzwerkvirtual network
5.15.1
virtuelle Netzwerk-Schnittstelle(n) des virtuellen Netzwerks 5 virtual network interface (s) of the virtual network 5
5.25.2
virtuelle Netzwerk-Schnittstelle(n) des virtuellen Netzwerks 5 virtual network interface (s) of the virtual network 5
66
PCIe-Treiber PCIe driver
77
PCIe-Schnittstelle PCIe interface
1010
FahrzeugelektronikeinheitAutomotive electronics unit
10.110.1
MMX-SteckkarteMMX plug-in card
10.210.2
RSC-SteckkarteRSC plug-in card
10.2010:20
Rechenknotencompute nodes
10.2110:21
Rechenknoten compute nodes
1111
Gatewaygateway
11.111.1
Gateway/Ethernet-Switch Gateway / Ethernet switch
B1B1
FahrzeugnetzwerkVehicle network
B2B2
Fahrzeugnetzwerk Vehicle network
P1P1
erste virtuelle Maschinefirst virtual machine
P2P2
zweite zweite virtuellen Maschine second second virtual machine
Pxpx
virtuelle Maschinevirtual machine

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 2009/0307436 A1 [0005]US 2009/0307436 A1 [0005]
  • US 2012/0084517 A1 [0006]US 2012/0084517 A1 [0006]
  • US 2014/0330868 A1 [0007]US 2014/0330868 A1 [0007]

Claims (10)

Datenkommunikationsverfahren zwischen virtuellen Maschinen (P1, P2) einer Fahrzeugelektronikeinheit (10) und einer Netzwerkschnittstelle (2.1), die Fahrzeugelektronikeinheit (10) aufweisend: - die wenigstens zwei virtuellen Maschinen (P1, P2) mit jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2), - einen Speicher (3) mit jeweils einer virtuellen Maschine (P1, P2) exklusiv zugeordneten Speicherabschnitten (3.1, 3.2), wobei jeder Speicherabschnitt (3.1, 3.2) direkte Speicherbereiche (3.10, 3.20) für die direkte Kommunikation der virtuellen Maschine (P1, P2) mit deren zugeordneten virtuellen Netzwerk-Schnittstelle (5.1, 5.2) aufweist, und - die physikalische Netzwerk-Schnittstelle (2.1) zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2) einer virtuellen Maschine (P1, P2) und einem Fahrzeugnetzwerk (B1), wobei zum Empfangen wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisenden Datennachricht entsprechend einem Netzwerkprotokoll folgende Verfahrensschritte durchgeführt werden: - Speichern des Datenpaketes der Datennachricht in einem RX-Puffer (2.2), - Auswerten des Headers der Datennachricht mittels einer Filter- und Routingeinheit (2.3) hinsichtlich der das Datenpaket zuzuweisenden Partition (P1, P2), wobei die Header-Information und das Nachrichtensignalisierung-Interrupt über einen PCIe-Treiber (2.4) einer Speicherdirektzugriffs (DMA)-Funktion und einer MSI-Interrupt-Steuerungsfunktion (MSI-Handler) zur Verfügung gestellt werden, - Kopieren des Datenpaketes mittels der direkten Speicherzugriffs (DMA)-Funktion in den der Header-Information entsprechenden Speicherabschnitt (3.1, 3.2) der entsprechenden virtuellen Maschine (P1, P2), und - Bereitstellen eines virtuellen Interrupts mittels der MSI-Interrupt-Steuerungsfunktion für die der Header-Information entsprechenden virtuellen Maschine (P1, P2), und - Verarbeiten des Datenpaketes durch die der Header-Information entsprechenden virtuellen Maschine (P1, P2).Data communication method between virtual machines (P1, P2) of a vehicle electronics unit (10) and a network interface (2.1), the vehicle electronics unit (10) comprising: the at least two virtual machines (P1, P2) each having a virtual network interface (5.1, 5.2), a memory (3) each having a virtual machine (P1, P2) exclusively associated memory sections (3.1, 3.2), each memory section (3.1, 3.2) direct memory areas (3.10, 3.20) for the direct communication of the virtual machine (P1, P2) with its associated virtual network interface (5.1, 5.2), and the physical network interface (2.1) for establishing a communication connection between in each case a virtual network interface (5.1, 5.2) of a virtual machine (P1, P2) and a vehicle network (B1), wherein for receiving at least one data packet having a header and a message signaling interrupt (MSI = Message Signaled Interrupt) having data message according to a network protocol, the following method steps are performed: Storing the data packet of the data message in an RX buffer (2.2), Evaluating the header of the data message by means of a filtering and routing unit (2.3) with respect to the partition (P1, P2) to be allocated to the data packet, the header information and the message signaling interrupt being issued via a PCIe driver (2.4) of a direct memory access (DMA) Function and an MSI interrupt control function (MSI handler), - Copying the data packet by means of the direct memory access (DMA) function in the header information corresponding storage section (3.1, 3.2) of the corresponding virtual machine (P1, P2), and Providing a virtual interrupt by means of the MSI interrupt control function for the virtual machine corresponding to the header information (P1, P2), and - Processing of the data packet by the header information corresponding virtual machine (P1, P2). Datenkommunikationsverfahren nach Anspruch 1, bei welchem das Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den der Header-Information entsprechenden Speicherabschnitt (3.1, 3.2) der entsprechenden virtuellen Maschine (P1, P2) kopiert wird.Data communication method according to Claim 1 in which the data packet is copied by means of the direct memory access (DMA) function into the memory section (3.1, 3.2) of the corresponding virtual machine (P1, P2) corresponding to the header information. Datenkommunikationsverfahren zwischen virtuellen Maschinen (P1, P2) einer Fahrzeugelektronikeinheit (10) und einer Netzwerkschnittstelle (2.1), die Fahrzeugelektronikeinheit (10) aufweisend: - die wenigstens zwei virtuellen Maschinen (P1, P2) mit jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2), - einen Speicher (3) mit jeweils einer virtuellen Maschine (P1, P2) exklusiv zugeordneten Speicherabschnitten (3.1, 3.2), wobei jeder Speicherabschnitt (3.1, 3.2) direkte Speicherbereiche (3.10, 3.20) für die direkte Kommunikation der virtuellen Maschine (P1, P2) mit deren zugeordneten virtuellen Netzwerk-Schnittstelle (5.1, 5.2) aufweist, und - die physikalische Netzwerk-Schnittstelle (2.1) zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle (5.1, 5.2) einer virtuellen Maschine (P1, P2) und einem Fahrzeugnetzwerk (B1), wobei zum Senden wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisenden Datennachricht entsprechend einem Netzwerkprotokoll folgende Verfahrensschritte durchgeführt werden: - Erzeugen des an die Netzwerkschnittstelle (2.1) weiterzuleitenden Datenpaketes durch eine virtuelle Maschine (P1, P2) und Speichern des Datenpaketes in dem zugehörigen Speicherabschnitt (3.1, 3.2), - Erzeugen einer die Bereitstellung des weiterzuleitenden Datenpaketes anzeigende Nachricht für einen PCIe-Treiber (6), - Kopieren des Datenpaketes in einen TX-Puffer (2.20) mittels der durch den PCIe-Treiber (6) ausgeführten Speicherdirektzugriffs (DMA)-Funktion, - Ergänzen des Datenpaketes mit einer Header-Information entsprechenden Information des PCIe-Treibers (6) mittels der Netzwerkschnittstelle (2.1), - Erstellen einer Datennachricht aus dem Datenpaket mit Header entsprechend dem Netzwerkprotokoll mittels der Netzwerkschnittstelle (2.1), und - Senden der Datennachricht mittels der Netzwerkschnittstelle (2.1).Data communication method between virtual machines (P1, P2) of a vehicle electronics unit (10) and a network interface (2.1), the vehicle electronics unit (10) comprising: the at least two virtual machines (P1, P2) each having a virtual network interface (5.1, 5.2), a memory (3) each having a virtual machine (P1, P2) exclusively associated memory sections (3.1, 3.2), each memory section (3.1, 3.2) direct memory areas (3.10, 3.20) for the direct communication of the virtual machine (P1, P2) with its associated virtual network interface (5.1, 5.2), and the physical network interface (2.1) for establishing a communication connection between in each case a virtual network interface (5.1, 5.2) of a virtual machine (P1, P2) and a vehicle network (B1), wherein for transmitting at least one data packet having a header and a message signaling interrupt (MSI = Message Signaled Interrupt), the following method steps are carried out in accordance with a network protocol: Generating the data packet to be forwarded to the network interface (2.1) by a virtual machine (P1, P2) and storing the data packet in the associated memory section (3.1, 3.2), Generating a message indicating the provision of the data packet to be forwarded for a PCIe driver (6), Copying the data packet into a TX buffer (2.20) by means of the memory direct access (DMA) function performed by the PCIe driver (6), - supplementing the data packet with information corresponding to the header information of the PCIe driver (6) by means of the network interface (2.1), - Creating a data message from the data packet with headers according to the network protocol using the network interface (2.1), and - Sending the data message via the network interface (2.1). Datenkommunikationsverfahren nach Anspruch 3, bei welchem das Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den TX-Puffer (2.20) kopiert wird.Data communication method according to Claim 3 in which the data packet is copied to the TX buffer (2.20) using the direct memory access (DMA) function. Datenkommunikationsverfahren nach einem der vorhergehenden Ansprüche, die Fahrzeugelektronikeinheit (10) aufweisend: einen Hypervisor (1), welcher zur Trennung der virtuellen Maschinen (P1, P2) ausgebildet ist.Data communication method according to one of the preceding claims, the vehicle electronics unit (10) comprising: a hypervisor (1), which is designed to separate the virtual machines (P1, P2). Datenkommunikationsverfahren nach einem der vorhergehenden Ansprüche, wobei bei der Fahrzeugelektronikeinheit (10) - ein erster Speicherabschnitt (3.1) einer ersten virtuellen Maschine (P1) wenigstens einen Speicherbereich (3.10) aufweist, wobei dieser Speicherbereich (3.10) mit - einem Signalisierungsbereich (3.01) zum Signalisieren, ob RX- oder TX-Daten übermittelt werden, - einem RX-Puffer zum Speichern von empfangenen Daten, und - einem TX-Puffer zum Speichern von zu sendenden Daten ausgebildet ist, und - ein zweiter Speicherabschnitt (3.2) einer zweiten virtuellen Maschine (P2) wenigstens einen Speicherbereich (3.20) aufweist, wobei dieser Speicherbereich (3.20) mit - einem Signalisierungsbereich (3.02) zum Signalisieren ob RX-Daten oder TX-Daten übermittelt werden, - einem RX-Puffer zum Speichern von empfangenen Daten, und - einem Tx-Puffer zum Speichern von zu sendenden Daten ausgebildet ist.Data communication method according to one of the preceding claims, wherein in the vehicle electronics unit (10) - a first memory section (3.1) of a first virtual machine (P1) has at least one memory area (3.10), this memory area (3.10) having - a signaling area (3.01) for signaling whether RX or TX data are transmitted, - an RX buffer for storing received data, and - a TX buffer for storing data to be transmitted, and - a second memory section ( 3.2) of a second virtual machine (P2) has at least one memory area (3.20), this memory area (3.20) having - a signaling area (3.02) for signaling whether RX data or TX data are transmitted, - an RX buffer for storing received data, and - a Tx buffer for storing data to be transmitted is formed. Datenkommunikationsverfahren nach Anspruch 6, wobei bei der Fahrzeugelektronikeinheit (10) der Signalisierungsbereich dadurch ersetzt ist, dass die Fahrzeugelektronikeinheit (10) zur Durchführung von definierten Interrupts konfiguriert ist.Data communication method according to Claim 6 wherein in the vehicle electronics unit (10) the signaling area is replaced by the fact that the vehicle electronics unit (10) is configured to perform defined interrupts. Datenkommunikationsverfahren nach einem der vorhergehenden Ansprüche, wobei bei der Fahrzeugelektronikeinheit (10) jeweils ein Speicherabschnitt (3.1, 3.2) einen Speicherbereich (3.10, 3.20) für IP-Steuerdaten und einen Speicherbereich (3.11, 3.21) für Video- und/oder Grafikdaten aufweist.Data communication method according to one of the preceding claims, wherein in the vehicle electronics unit (10) in each case a memory section (3.1, 3.2) has a memory area (3.10, 3.20) for IP control data and a memory area (3.11, 3.21) for video and / or graphics data. Datenkommunikationsverfahren nach einem der vorhergehenden Ansprüche, wobei bei der Fahrzeugelektronikeinheit (10) wenigstens eine virtuelle Maschine (P1, P2) mit einer PCIe-Schnittstelle (6) zum Empfangen von in dem zugeordneten Speicherabschnitt (3.1, 3.2) zu speichernden Daten und Senden von Daten aus dem zugeordneten Speicherabschnitt (3.1, 3.2) konfiguriert ist.Data communication method according to one of the preceding claims, wherein in the vehicle electronics unit (10) at least one virtual machine (P1, P2) with a PCIe interface (6) for receiving data to be stored in the associated memory section (3.1, 3.2) and sending data from the associated memory section (3.1, 3.2) is configured. Datenkommunikationsverfahren nach einem der vorhergehenden Ansprüche, wobei bei der Fahrzeugelektronikeinheit (10) die wenigstens zwei virtuellen Maschinen (P1, P2) - auf wenigstens zwei Prozessoren ausgeführt werden, - den beiden Prozessoren jeweils wenigstens ein Speicher zugeordnet sind, und - die beiden Speicher jeweils eine PCIe-Schnittstelle zum Empfangen von zu speichernden Daten und zum Senden von Daten über die physikalische Netzwerk-Schnittstelle (2.1) aufweisen.Data communication method according to one of the preceding claims, wherein in the vehicle electronics unit (10) the at least two virtual machines (P1, P2) be executed on at least two processors, - The two processors are each assigned at least one memory, and - The two memories each having a PCIe interface for receiving data to be stored and for sending data over the physical network interface (2.1).
DE102018010323.5A 2018-01-15 2018-01-15 Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle Pending DE102018010323A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018010323.5A DE102018010323A1 (en) 2018-01-15 2018-01-15 Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018010323.5A DE102018010323A1 (en) 2018-01-15 2018-01-15 Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle

Publications (1)

Publication Number Publication Date
DE102018010323A1 true DE102018010323A1 (en) 2019-11-07

Family

ID=68276171

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018010323.5A Pending DE102018010323A1 (en) 2018-01-15 2018-01-15 Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle

Country Status (1)

Country Link
DE (1) DE102018010323A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11652827B2 (en) * 2018-06-08 2023-05-16 Nvidia Corporation Virtualized intrusion detection and prevention in autonomous vehicles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11652827B2 (en) * 2018-06-08 2023-05-16 Nvidia Corporation Virtualized intrusion detection and prevention in autonomous vehicles
US12101338B2 (en) 2018-06-08 2024-09-24 Nvidia Corporation Protecting vehicle buses from cyber-attacks

Similar Documents

Publication Publication Date Title
EP2030116B1 (en) Communication component
DE102009061252B3 (en) Apparatus, method and system for processing a transaction on a PCI bus using a root complex
DE112016005477T5 (en) SYSTEM FOR THE PARALLEL BUFFER AND PREPARATION OF DATA FLOWS BASED ON A CONTEXT AT SEVERAL LEVELS IN VEHICLE DOMAINS
DE69613056T2 (en) Interface device between a computer of redundant architecture and a means of communication
DE102020101576A1 (en) SYSTEMS AND METHODS FOR DATA PROCESSING AND STORAGE IN VEHICLES WITH A ZONE-BASED, CENTRAL, COMPUTER-BASED VEHICLE COMMUNICATION NETWORK ARCHITECTURE
DE102015216190A1 (en) Method and system for providing optimized Ethernet communication for a vehicle
DE102015214915B4 (en) Flexible scheduling method and scheduling device in LIN communication
DE102017129751A1 (en) Vehicle network system
DE112019002392T5 (en) VEHICLE CONTROL UNIT, METHOD FOR MANAGING INTERRUPT INFORMATION AND PROGRAM FOR MANAGING INTERRUPT INFORMATION
EP0050305A1 (en) Unit to control the access of processors to a data bus
DE102020106264A1 (en) MULTIPLE CONTROL UNIT FOR A VEHICLE
EP3655876B1 (en) Single-chip system, method for operating a single-chip system, and motor vehicle
DE102015108005A1 (en) Mechanisms and devices for newly configurable interprocessor communications with embedded controller
DE102017119065A1 (en) Update a memory
DE102018010323A1 (en) Data communication method between the virtual machines of a vehicle electronics unit and their network interface to a local vehicle network of a vehicle
DE102018200555B4 (en) Vehicle electronics unit with a physical network interface and a plurality of virtual network interfaces having virtual machines and data communication methods between the virtual machines and the network interface to a local vehicle network of a vehicle
DE102019210552B4 (en) Vehicle electronics unit with a physical network interface and a plurality of virtual machines having virtual network interfaces, as well as data communication methods
WO2016162144A1 (en) Management of interfaces in a distributed system
DE10005878B4 (en) navigation device
DE102017220472A1 (en) Method and device for data-oriented information exchange with a vehicle network
DE102016206109A1 (en) Memory direct access control device for at least one memory unit having a memory
DE112022005200T5 (en) System and method for flexible switching of data packets of different protocols
DE102019126897B4 (en) DATA PROCESSING DEVICE AND METHOD FOR PROCESSING AN INTERRUPT
DE102018123563B4 (en) Method for inter-core communication in a multi-core processor
DE69400008T2 (en) Method and system for determining the composition of an integrated circuit.

Legal Events

Date Code Title Description
R129 Divisional application from

Ref document number: 102018200555

Country of ref document: DE

R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 102018200555

Country of ref document: DE