DE102018200555A1 - Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs - Google Patents

Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs Download PDF

Info

Publication number
DE102018200555A1
DE102018200555A1 DE102018200555.9A DE102018200555A DE102018200555A1 DE 102018200555 A1 DE102018200555 A1 DE 102018200555A1 DE 102018200555 A DE102018200555 A DE 102018200555A DE 102018200555 A1 DE102018200555 A1 DE 102018200555A1
Authority
DE
Germany
Prior art keywords
data
network interface
memory
virtual
virtual machine
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.)
Granted
Application number
DE102018200555.9A
Other languages
English (en)
Other versions
DE102018200555B4 (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 DE102018200555.9A priority Critical patent/DE102018200555B4/de
Publication of DE102018200555A1 publication Critical patent/DE102018200555A1/de
Application granted granted Critical
Publication of DE102018200555B4 publication Critical patent/DE102018200555B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft 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).

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Die US 2012/0084517A1 beschreibt ein Verfahren zur Bereitstellung eines gemeinsamen Speicherplatzes zwischen Knoten einer Haupt- und Subpartition eines Hypervisors.
  • 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.
  • 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.
  • Die erstgenannte Aufgabe wird durch eine Fahrzeugelektronikeinheit mit den Merkmalen des Patentanspruchs 1 gelöst.
  • Eine solche Fahrzeugelektronikeinheit umfasst
    • - wenigstens zwei virtuellen Maschinen mit jeweils einer virtuellen Netzwerk-Schnittstelle,
    • - einem 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
    • - einer physikalischen Netzwerk-Schnittstelle zur Herstellung einer Kommunikationsverbindung zwischen jeweils einer virtuellen Netzwerk-Schnittstelle einer virtuellen Maschine und einem Fahrzeugnetzwerk.
  • 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.
  • Vorzugsweise ist die Fahrzeugelektronikeinheit mit einem Hypervisor ausgebildet, welcher zur Trennung der mindestens zwei virtuellen Maschinen ausgebildet ist.
  • 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.
  • 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.
  • 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. Weiterbildungsgemäß kann der Signalisierungsbereich dadurch ersetzt werden, dass die Fahrzeugelektronikeinheit zur Durchführung von definierten Interrupts konfiguriert ist.
  • 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.
  • 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.
  • Die zweitgenannte Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruches 8 und mit den Merkmalen des Patentanspruches 10 gelöst.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Vorzugsweise wird bei diesem Datenkommunikationsverfahren das zu übermittelnde Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den TX-Puffer kopiert.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Im Folgenden wird der interne Datenverkehr der Fahrzeugelektronikeinheit 10 gemäß 3 anhand der 4 und 5 beschrieben.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Bezugszeichenliste
  • 1
    Hypervisor
    1.1
    MSI-Handler
    2
    Netzwerkkarte
    2.1
    Netzwerkschnittstelle
    2.2
    RX-Puffer der Netzwerkkarte 2
    2.20
    TX-Puffer der Netzwerkkarte 2
    2.3
    Filter- und Routingeinheit
    2.30
    DMA-Ausgänge der Filter-und Routingeinheit 2.3
    2.4
    PCIe-Treiber
    2.5
    Ethernet-Treiber
    3
    gemeinsamer Speicher
    3.0
    Signalisierungsbereich
    3.01
    Signalisierungsbereich
    3.02
    Signalisierungsbereich
    3.0x
    die Finanzierungsbereich
    3.1
    erste Speicherabschnitt der ersten virtuellen Maschine P1
    3.10
    Speicherbereich des ersten Speicherabschnittes 3.1
    3.100
    Protokoll-Stack
    3.11
    Speicherbereich des ersten Speicherabschnittes 3.1
    3.110
    Protokoll-Stack
    3.2
    zweiter Speicherabschnitt der zweiten virtuellen Maschine P2
    3.20
    Speicherbereich des zweiten Speicherabschnittes 3.2
    3.200
    Protokoll-Stack
    3.21
    Speicherbereich des zweiten Speicherabschnittes 3.2
    3.210
    Protokoll-Stack
    3.22
    Speicherbereich des zweiten Speicherabschnittes 3.2
    3.220
    Protokoll-Stack
    3.x
    Speicherabschnitt der virtuellen Maschine Px
    4.0
    Mikroprozessor
    4.1
    Mikroprozessor
    4.10
    Softwaremodul
    4.11
    MPEG-TS-Treiber
    4.2
    Mikroprozessor
    4.20
    Softwaremodule
    4.3
    Mikroprozessor
    4.30
    Softwaremodule
    4.31
    Protokoll-Stack
    4.32
    Ausgänge des Protokoll-Stacks 4.31
    4.33
    Softwaremodule
    4.34
    Softwaremodul
    4.4
    MOST-Schnittstelle
    5
    virtuelles Netzwerk
    5.1
    virtuelle Netzwerk-Schnittstelle(n) des virtuellen Netzwerks 5
    5.2
    virtuelle Netzwerk-Schnittstelle(n) des virtuellen Netzwerks 5
    6
    PCIe-Treiber
    7
    PCIe-Schnittstelle
    10
    Fahrzeugelektronikeinheit
    10.1
    MMX-Steckkarte
    10.2
    RSC-Steckkarte
    10.20
    Rechenknoten
    10.21
    Rechenknoten
    11
    Gateway
    11.1
    Gateway/Ethernet-Switch
    B1
    Fahrzeugnetzwerk
    B2
    Fahrzeugnetzwerk
    P1
    erste virtuelle Maschine
    P2
    zweite zweite virtuellen Maschine
    Px
    virtuelle Maschine
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2009/0307436 A1 [0005]
    • US 2012/0084517 A1 [0006]
    • US 2014/0330868 A1 [0007]

Claims (11)

  1. 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).
  2. Fahrzeugelektronikeinheit (10) nach Anspruch 1 mit einem Hypervisor (1), welcher zur Trennung der virtuellen Maschinen (P1, P2) ausgebildet ist.
  3. Fahrzeugelektronikeinheit (10) nach Anspruch 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.
  4. Fahrzeugelektronikeinheit (10) nach Anspruch 3, bei welcher der Signalisierungsbereich dadurch ersetzt ist, dass die Fahrzeugelektronikeinheit (10) zur Durchführung von definierten Interrupts konfiguriert ist.
  5. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Ansprüche, 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,
  6. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Ansprüche, 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.
  7. Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Ansprüche, 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.
  8. Datenkommunikationsverfahren zwischen den virtuellen Maschinen (P1, P2) der Fahrzeugelektronikeinheit (10) nach einem der vorhergehenden Ansprüche und der Netzwerkschnittstelle (2.1), wobei zum Empfangen wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisende 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).
  9. Datenkommunikationsverfahren nach Anspruch 8, 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.
  10. Datenkommunikationsverfahren zwischen den virtuellen Maschinen (P1, P2) der Fahrzeugelektronikeinheit (10) nach einem der Ansprüche 1 bis 8 und der Netzwerkschnittstelle (2.1), wobei zum Senden wenigstens einer ein Datenpaket mit einem Header und ein Nachrichtensignalisierungs-Interrupt (MSI = Message Signaled Interrupt) aufweisende Datennachricht entsprechend einem Netzwerkprotokoll folgende Verfahrensschritte durchgeführt werden: - Erzeugen des an die Netzwerkschnittstelle (2.1) weiterzuleitenden Datenpaketes durch eine virtuellen 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).
  11. Datenkommunikationsverfahren nach Anspruch 10, bei welchem das Datenpaket mittels der direkten Speicherzugriffs (DMA)-Funktion in den TX-Puffer (2.20) kopiert wird.
DE102018200555.9A 2018-01-15 2018-01-15 Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs Active DE102018200555B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018200555.9A DE102018200555B4 (de) 2018-01-15 2018-01-15 Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018200555.9A DE102018200555B4 (de) 2018-01-15 2018-01-15 Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs

Publications (2)

Publication Number Publication Date
DE102018200555A1 true DE102018200555A1 (de) 2019-07-18
DE102018200555B4 DE102018200555B4 (de) 2021-02-18

Family

ID=67068722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200555.9A Active DE102018200555B4 (de) 2018-01-15 2018-01-15 Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs

Country Status (1)

Country Link
DE (1) DE102018200555B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019210552A1 (de) * 2019-07-17 2021-01-21 Audi Ag Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207407A1 (en) * 2004-03-16 2005-09-22 Baumberger Daniel P Method, apparatus and system for improved packet demultiplexing on a host virtual machine
US7620955B1 (en) * 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
US20090307436A1 (en) 2008-06-06 2009-12-10 International Business Machines Corporation Hypervisor Page Fault Processing in a Shared Memory Partition Data Processing System
US20120084517A1 (en) 2010-09-30 2012-04-05 Microsoft Corporation Shared Memory Between Child and Parent Partitions
US20140330868A1 (en) 2012-04-23 2014-11-06 Citrix Systems, Inc. Trusted file indirection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620955B1 (en) * 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
US20050207407A1 (en) * 2004-03-16 2005-09-22 Baumberger Daniel P Method, apparatus and system for improved packet demultiplexing on a host virtual machine
US20090307436A1 (en) 2008-06-06 2009-12-10 International Business Machines Corporation Hypervisor Page Fault Processing in a Shared Memory Partition Data Processing System
US20120084517A1 (en) 2010-09-30 2012-04-05 Microsoft Corporation Shared Memory Between Child and Parent Partitions
US20140330868A1 (en) 2012-04-23 2014-11-06 Citrix Systems, Inc. Trusted file indirection

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mustacchi, R.: Turtles on the wire: understanding how the OS uses the modern NIC. 15.9.2016<https://www.joyent.com/blog/virtualizing-nics>In: <https://web.archive.org> am 14.3.2017(recherchiert am 30.4.2019) *
William, P. et al.: Concurrent Direct Network Access for Virtual Machine Monitors. In: Prcoeedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture. Scottsdale, AZ, USA, 10 - 14 Feb. 2007. pp 306 - 317 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019210552A1 (de) * 2019-07-17 2021-01-21 Audi Ag Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren
DE102019210552B4 (de) 2019-07-17 2022-12-22 Audi Ag Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren

Also Published As

Publication number Publication date
DE102018200555B4 (de) 2021-02-18

Similar Documents

Publication Publication Date Title
EP2030116B1 (de) Kommunikationsbaustein
DE112016005477T5 (de) System zum parallelen puffern und vorverarbeiten von datenströmen auf grundlage eines kontextes auf mehreren ebenen in fahrzeugdomänen
DE102015216190A1 (de) Verfahren und System zum Bereitstellen einer optimierten Ethernetkommunikation für ein Fahrzeug
DE102015214915B4 (de) Flexibles Scheduling-Verfahren und Scheduling-Vorrichtung bei einer LIN-Kommunikation
DE102020101576A1 (de) Systeme und verfahren zur datenverarbeitung und -speicherung in fahrzeugen mit einer zonenbasierten, zentralen, rechnergestützten fahrzeugkommunikations-netzwerkarchitektur
DE202008016892U1 (de) Kraftfahrzeug-Steuervorrichtung
DE112019002392T5 (de) Fahrzeugsteuergerät, verfahren zur verwaltung von interruptinformationen und programm zur verwaltung von interruptinformationen
DE102020106264A1 (de) Mehrfach-steuergerät für ein fahrzeug
EP3655876B1 (de) Ein-chip-system, verfahren zum betrieb eines ein-chip-systems und kraftfahrzeug
DE102017200263A1 (de) Zentrale Datenablage im Bordnetz
DE102018200555B4 (de) Fahrzeugelektronikeinheit mit einer physikalischen Netzwerk-Schnittstelle und mehreren virtuelle Netzwerk-Schnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren zwischen den virtuellen Maschinen und der Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs
DE102019210552B4 (de) Fahrzeugelektronikeinheit mit einer physikalischen Netzwerkschnittstelle und mehreren, virtuelle Netzwerkschnittstellen aufweisenden virtuellen Maschinen sowie Datenkommunikationsverfahren
DE102018010323A1 (de) Datenkommunikationsverfahren zwischen den virtuellen Maschinen einer Fahrzeugelektronikeinheit und deren Netzwerk-Schnittstelle zu einem lokalen Fahrzeugnetzwerk eines Fahrzeugs
DE112012005663B4 (de) Vorrichtung, Verfahren und System zur Zuweisung von Prozesen oder Threads an Agenten
WO2016162144A1 (de) Verwaltung von schnittstellen in einem verteilten system
DE102016206109A1 (de) Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
DE112020004269T5 (de) Allgemeines bordeigenes Rechnersystem
DE102019126897B4 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten eines interrupts
DE102015121088B4 (de) Verfahren und Vorrichtung zur Übertragung eines CAN-Rahmens
DE102015211320A1 (de) Speichereinheit zum automatischen Multiplizieren des Inhalts einer Speicherstelle, und Datennetz mit Speichereinheit
DE102021203329A1 (de) Vorrichtung und Verfahren zum Verwalten von Kommunikation über Schnittstellen in einem virtualisierten System
DE102018211702A1 (de) Steuereinheit für ein Fahrassistenzsystem eines Kraftfahrzeugs
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE112018001433T5 (de) Einheitlicher zentralisierter Netzwerk-Stack
AT412592B (de) Virtuelle netzwerke in einem zeitgesteuerten multicluster echtzeitsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R130 Divisional application to

Ref document number: 102018010323

Country of ref document: DE

R130 Divisional application to

Ref document number: 102018010323

Country of ref document: DE

R006 Appeal filed
R008 Case pending at federal patent court
R019 Grant decision by federal patent court
R020 Patent grant now final