DE102005025875A1 - Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver - Google Patents

Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver Download PDF

Info

Publication number
DE102005025875A1
DE102005025875A1 DE200510025875 DE102005025875A DE102005025875A1 DE 102005025875 A1 DE102005025875 A1 DE 102005025875A1 DE 200510025875 DE200510025875 DE 200510025875 DE 102005025875 A DE102005025875 A DE 102005025875A DE 102005025875 A1 DE102005025875 A1 DE 102005025875A1
Authority
DE
Germany
Prior art keywords
motor vehicle
vehicle according
application programming
bus
programming interface
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.)
Withdrawn
Application number
DE200510025875
Other languages
German (de)
Inventor
Thomas Junge
Mathias Halliger
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 DE200510025875 priority Critical patent/DE102005025875A1/en
Publication of DE102005025875A1 publication Critical patent/DE102005025875A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

The vehicle (1) has a control device (4) for managing and/or controlling a set of peripheral devices (2) and comprising processors with respective operating systems. A user interface communicates with programs in the operating systems over an application programming interface, so that the peripheral devices are controlled and/or managed. The operating system has a file system, in which the program units are represented on data files, and the application programming interface comprises a device driver for the data files.

Description

Die Erfindung betrifft ein Kraftfahrzeug mit einem oder mehreren Peripheriegeräten und einer Mensch-Maschine-Schnittstelle, umfassend wenigstens eine zugeordnete Steuerungseinrichtung, die über ein Bussystem bildende Kommunikationsbusleitungen mit wenigstens einem Teil des oder der Peripheriegeräte kommuniziert und zur Verwaltung und/oder Steuerung derselben sowie zum Empfang und Verarbeiten von benutzerseitig gegebenen Steuersignalen ausgebildet ist, wobei die Steuerungseinrichtung wenigstens einen Prozessor mit zugehörigem Betriebssystem in einem zugehörigen Speicher umfasst, welcher einen Treiber zur Verwaltung und Steuerung des Bussystems, ein oder mehrere in das Betriebssystem eingebettete Programmmittel zur Steuerung des oder der Peripheriegeräte, die mit Hilfe des Prozessors ausgeführt werden, sowie einer in mehreren Betriebssystemen nutzbaren Benutzerschnittstelle, die über eine Anwendungsprogrammierschnittstelle mit den Programmen und damit den Peripheriegeräten zwecks deren Steuerung und/oder Verwaltung kommuniziert.The The invention relates to a motor vehicle with one or more peripheral devices and a man-machine interface comprising at least one associated one Control device over a bus system forming communication bus lines with at least communicates to a portion of the peripheral device (s) for management and / or Control of the same as well as receiving and processing by the user formed control signals is formed, wherein the control device at least one processor with associated operating system in one associated Memory includes a driver for management and control of the bus system, one or more embedded in the operating system Program means for controlling the peripheral device or devices with the help of the processor as well as a user interface that can be used in several operating systems, the above an application programming interface with the programs and so on the peripherals for the purpose of their control and / or management communicates.

Nachdem immer mehr elektronische Geräte mit einem eigenen Prozessor ausgestattet sind, werden für diese verschiedene Betriebssysteme entwickelt. Das Vorhandensein eines solchen Betriebssystems in einem elektronischen Gerät ermöglicht es, Programme zu entwickeln, die das Gerät den jeweilig geforderten Ansprüchen anpassen. Solche Systeme werden im allgemeinen als eingebettete Systeme (embedded systems) bezeichnet. Programme, die speziell für ein Betriebssystem entwickelt und in diesem durch einen Compiler im Maschinencode übersetzt wurden, nennt man native Programme.After this more and more electronic devices with equipped with their own processor will be for this developed different operating systems. The presence of a such operating system in an electronic device allows programs to develop the device the respectively required claims to adjust. Such systems are generally considered embedded Systems (embedded systems) called. Programs specifically for an operating system developed and translated in this by a compiler in machine code were, are called native programs.

Da es für verschiedene Komponenten verschiedene Hersteller gibt, die ihre Produkte mit unterschiedlichen Prozessoren und Betriebssystemen ausstatten, man aber gegenüber einem Benutzer ein einheitliches Erscheinungsbild sowie identische Benutzerführung realisieren und den Programmieraufwand möglichst reduzieren will, nutzt man häufig zur Erstellung einer Benutzerschnittstelle, z. B. einem graphischen Benutzerinterface (GUI), eine sogenannte plattformunabhängige Programmiersprache. Plattformunabhängig bedeutet, dass die in der Programmiersprache programmierte Software auf jedem System unabhängig von dessen konkreter Realisierung durch Prozessoren, sonstige Hardware und Betriebssystem ausgeführt werden kann. Die Vermittlung zwischen der plattformunabhängigen Software und dem nativen Teil eines Systems wird dabei durch die sogenannte Nativschnittstelle geregelt. Die Nativschnittstelle ist vom Prinzip her ein Programm, das die nativen Programme auf Funktionen, die innerhalb der plattformunabhängigen Programmiersprache aufgerufen werden können (sogenannte Downcalls), abbildet und gleichzeitig den nativen Programmen die Möglichkeit gibt, in der plattformunabhängigen Programmiersprache existierende Funktionen aufzurufen (sogenannte Upcalls), wobei sowohl Downcalls als auch Upcalls synchron, d. h. unter Unterbrechung des Aufrufers, erfolgen. Der bekannteste Vertreter der plattformunabhängigen Programmiersprachen ist JAVA. Für jedes System gibt es eine Java Virtual Machine, die einen Prozessor simuliert, der das JAVA-Programm ausführt. Die Nativschnittstelle von JAVA ist das JAVA Native Interface, JNI.There it for different components there are different manufacturers who their Equip products with different processors and operating systems, but opposite give a user a consistent look and identity user guidance realize and want to reduce the programming effort as possible uses you often for creating a user interface, eg. B. a graphic User interface (GUI), a so-called platform-independent programming language. Platform independent means that the programmer programmed software on each system independent of its concrete realization by processors, other hardware and operating system running can be. The mediation between the platform independent software and The native part of a system is characterized by the so-called native interface regulated. The native interface is basically a program, which calls the native programs to functions that are inside the platform-independent programming language can be (so-called Downcalls), maps and at the same time the native programs the possibility There, in the platform-independent programming language call existing functions (called upcalls), where both Downcalls as well as Upcalls synchronously, d. H. with interruption of the Caller, done. The most famous representative of platform-independent programming languages is JAVA. For Every system has a Java Virtual Machine that has a processor that executes the JAVA program. The native interface from JAVA is the JAVA Native Interface, JNI.

Während Downcalls aus den plattformunabhängigen Programmen gezielt zur Auslösung von Aktionen oder Beschaffung von Daten erfolgen, treffen die von den Peripheriegeräten gesendeten Signale asynchron und oftmals spontan ein. Bedingt durch die synchronen Mechanismen für Upcalls kann es in gewöhnlichen Systemen zu erheblichen Zeitverzögerungen bei der Abarbeitung dieser Signale kommen. Verstärkt wird dies durch die Tatsache, dass bei Upcalls im Gegensatz zu den Downcalls keine statische Bindung an bekannte Funktionen vorliegt, sondern zur Laufzeit eine zeitaufwändige Type Inspection (auch Reflektion genannt) erfolgen muss.During downcalls from the platform independent Programs specifically for triggering of actions or procurement of data, take place by the the peripherals sent asynchronous and often spontaneously. Due to the synchronous mechanisms for Upcalls can do it in ordinary Systems at significant time delays come in the processing of these signals. This is reinforced by the fact that in upcalls, unlike downcalls, there is no static bond is present at known functions, but at runtime a time-consuming type Inspection (also called reflection) must be done.

Für das Kraftfahrzeug bedeutet dies, dass die Antwortzeiten der Peripheriegeräte weit verlangsamt werden. Im multimedialen Bereich zum Beispiel wechseln die Anzeigen des aktiven Radiosenders mit Verzögerung, und im gesamten System kann es zu unterwünschten und für den Bediener verwirrenden Stillstandszeiten (umgangssprachlich „Hängen" des Systems) kommen. Sind sicherheitstechnische und zeitkritische Funktionalitäten wie ein Warnsignal beteiligt, so kann es zu bedrohlichen Verspätungen in der Ausgabe des Signals kommen.For the motor vehicle This means that the response times of the peripherals are far be slowed down. For example, change in the multimedia area the ads of the active radio station with delay, and throughout the system may be too unwanted and for the operator confusing downtime (colloquially "hanging" of the system) come. Are safety-related and time-critical functionalities such as A warning signal may be involved, so there may be menacing delays in the Output of the signal come.

Der Erfindung liegt die Aufgabe zugrunde, ein Kraftfahrzeug anzugeben, in dem eine weit schnellere und effektivere Kommunikation zwischen Peripheriegeräten und einer Mensch-Maschine-Schnittstelle ermöglicht wird.Of the The invention has for its object to provide a motor vehicle, in which far faster and more effective communication between peripherals and a man-machine interface is enabled.

Zur Lösung dieser Aufgabe ist bei einem Kraftfahrzeug der eingangs genannten Art vorgesehen, dass das Betriebssystem ein Dateisystem umfasst, in dem das oder die Programmmittel auf Dateien (virtuelle Gerätedateien) abgebildet werden und die Anwendungsprogrammierschnittstelle einen Gerätetreiber für die Dateien umfasst.to solution this object is in a motor vehicle of the aforementioned Provided that the operating system comprises a file system, in which the program or resources on files (virtual device files) and the application programming interface device drivers for the Includes files.

Dieses Dateikonzept bietet eine ganze Reihe von Vorteilen. Zunächst wird die Portabilität der Benutzerschnittstelle kaum eingeschränkt, da fast alle gängigen Betriebssysteme ein Dateisystem umfassen. Das Konzept, Peripheriegeräte selber auf eine Datei abzubilden, um so einen eleganteren Zugriff zu ermöglichen, ist schon seit längerem bekannt und äußert sich in dem bekannten POSIX-Paradigma „Everything is a file". Die vorliegende Erfindung sieht vor, dieses Konzept insofern weiterzubilden, dass die Schnittstellen der nativen Programme auf Dateien abgebildet werden. Da der Zugriff auf Dateien durch sogenannte Streams eine fundamentale Rolle in plattformunabhängigen Programmiersprachen, insbesondere der Programmiersprache JAVA, spielt, ist in den Laufzeitumgebungen der Zugriff auf Dateien sehr effizient umgesetzt. Ein weiterer Vorteil dieses Dateikonzepts ist, dass ein jeder Kommunikationspartner leicht durch eine Simulation ersetzt werden kann, das bedeutet, das native Programmmittel, das die Daten des oder mehrerer Peripheriegeräte verwaltet, wird durch ein Programmmittel ersetzt, welches das Vorhandensein eines Peripheriegerätes nur simuliert. Damit kann eine ideale Entwicklungsumgebung geschaffen werden, in der die Benutzerschnittstelle sofort wie in einem realen System erstellt und getestet werden kann.This file concept offers a whole range of advantages. First, the portability of the user interface is hardly limited, since almost all common operating systems include a file system sen. The concept of mapping peripheral devices themselves to a file in order to allow a more elegant access has been known for some time and is expressed in the known POSIX paradigm "Everything is a file." The present invention provides for the further development of this concept insofar as Because the access to files through so-called streams plays a fundamental role in platform-independent programming languages, especially the JAVA programming language, access to files in runtime environments is implemented very efficiently - another advantage of this file concept is that any communication partner can easily be replaced by a simulation, that is, the native program agent managing the data of the one or more peripherals is replaced by a program means which only simulates the presence of a peripheral device environment in which the user interface can be created and tested immediately as in a real system.

Vorteilhafterweise kann der Gerätetreiber das oder die zugehörigen Dateiobjekte so verwalten, dass die Benutzerschnittstelle darauf ohne Vermittlung weiterer Programme oder Schnittstellen direkt zugreifen kann. In diesem Falle ist auch keinerlei unmittelbare Kommunikation zwischen dem Gerätetreiber und der Benutzerschnittstelle erforderlich.advantageously, the device driver can do that or the associated Manage file objects so that the user interface on them directly access without the intermediation of further programs or interfaces can. In this case, there is no direct communication between the device driver and the user interface required.

In einer Weiterbildung der Erfindung kann jedes Programmmittel zur Steuerung genau eines Peripheriegerätes ausgebildet sein. Es ist jedoch auch möglich, dass wenigstens ein Programmmittel zur Steuerung mehrerer Peripheriegeräte ausgebildet ist. Die Peripheriegeräte können damit zu logischen Einheiten zusammengefasst werden (sogenannte logic devices).In a development of the invention, each program means for Control exactly one peripheral device to be formed. It is but also possible in that at least one program means is designed to control a plurality of peripheral devices. The peripherals can thus be combined into logical units (so-called logic devices).

Vorzugsweise entspricht das Dateisystem dem POSIX-Standard. Der POSIX-Standard ist der Standard, der fast allen Unix-Systemen zugrunde liegt. Er wird jedoch auch in vielen anderen Betriebssystemen implementiert.Preferably the file system conforms to the POSIX standard. The POSIX standard is the standard which underlies almost all Unix systems. He will too implemented in many other operating systems.

Für viele Anwendungen ist es sinnvoll, wenn das Bussystem als CAN- und/oder MOST-Bus ausgebildet ist. Der MOST-Bus ist insbesondere für die Verwendung in einer Multimediaumgebung geeignet.For many Applications, it makes sense if the bus system as CAN and / or MOST bus is formed. The MOST bus is especially for use in a multimedia environment.

So ist es in weiterer Ausgestaltung möglich, dass als Peripheriegeräte Multimediageräte, insbesondere ein Autoradio, ein CD-Player, ein Telefon und/oder eine lenkradseitige Steuerungseinrichtung, vorgesehen sind. In Multimediasystemen kann bei Anwendung der Erfindung ein sehr viel besserer Datendurchsatz und damit sehr viel schnellere Zugriffszeiten erreicht werden.So it is possible in a further embodiment that as peripheral devices multimedia devices, in particular a car radio, a CD player, a telephone and / or a steering wheel side Control device, are provided. In multimedia systems can using the invention a much better data throughput and thus much faster access times can be achieved.

Auch wenn die Erfindung hier für ein Kraftfahrzeug beschrieben ist, ist es für den Fachmann doch selbstverständlich, dass sie in jedem Fall angewendet werden kann, in dem eine Kommunikation oder ein Datenaustausch zwischen einer nativen Programmierungsebene und einer plattformunabhängigen Programmierungsebene erforderlich ist. Auch auf einem normalen Heimcomputer wäre eine solche Konstellation denkbar, insbesondere im Hinblick darauf, dass immer mehr Heimcomputer mit multimedialen Funktionen ausgestattet werden (z. B. Settop-Boxen). Netzwerkanwendungen bilden ein weiteres Anwendungsbeispiel, in dem der Erfindungsgedanke verwirklicht werden kann.Also if the invention is here for a motor vehicle is described, it is natural for a person skilled in the art, that it can be applied in any case in which a communication or a data exchange between a native programming level and a platform independent Programming level is required. Also on a normal home computer would be such Constellation conceivable, especially in view of the fact that always more home computers are equipped with multimedia features (eg set-top boxes). Network applications form another application example, in which the inventive concept can be realized.

Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus dem im folgenden beschriebenen Ausführungsbeispiel sowie anhand der Zeichnungen. Dabei zeigen:Further Advantages, features and details of the invention will become apparent the embodiment described below and with reference to the Drawings. Showing:

1 eine schematische Darstellung eines erfindungsgemäßen Kraftfahrzeugs, 1 a schematic representation of a motor vehicle according to the invention,

2 eine genauere schematische Darstellung der erfindungswesentlichen Bauteile, 2 a more detailed schematic representation of the invention essential components,

3 eine Prinzipskizze der Kommunikation der Peripheriegeräte mit der Benutzerschnittstelle, 3 a schematic diagram of the communication of the peripherals with the user interface,

4 ein Ablaufdiagramm der asynchronen Überwachung der Peripheriegeräte nach der vorliegenden Erfindung. 4 a flowchart of the asynchronous monitoring of the peripheral devices according to the present invention.

1 zeigt schematisch ein erfindungsgemäßes Kraftfahrzeug 1, in dem mehrere Peripheriegeräte 2 eingebaut sind. Es handelt sich hierbei um ein Multimediasystem, so dass die Peripheriegeräte einen Tuner, einen CD-Player, eine Lautsprecheranlage usw. umfassen können. Über Kommunikationsbusleitungen 3, die einen MOST-Bus bilden, kommunizieren die Peripheriegeräte 2 mit einer Steuerungseinrichtung 4. Grundsätzlich ist es natürlich auch möglich, dass mehrere Steuerungseinrichtungen vorgesehen sind, die bestimmte Gruppen von Peripheriegeräten verwalten und/oder steuern. Die Mensch-Maschine-Schnittstelle 5 besteht in diesem Ausführungsbeispiel aus einem Monitor sowie einem Bedienteil, in dem über ein Menüsystem die Peripheriegeräte 2 angesteuert werden sollen. Natürlich sind auch andere Eingabemöglichkeiten durch Benutzer denkbar, wie z. B. eine Tastatur, Schalter am Lenkrad oder ein Bedienfeld. 1 schematically shows a motor vehicle according to the invention 1 in which several peripherals 2 are installed. It is a multimedia system so the peripherals can include a tuner, a CD player, a speaker system, and so on. Via communication bus lines 3 , which form a MOST bus, the peripherals communicate 2 with a control device 4 , In principle, it is of course also possible that a plurality of control devices are provided, which manage and / or control certain groups of peripheral devices. The man-machine interface 5 consists in this embodiment of a monitor and a control panel, in which a menu system, the peripherals 2 to be controlled. Of course, other input options by users are conceivable, such. As a keyboard, switch on the steering wheel or a control panel.

2 zeigt auf schematische Weise das Innenleben der Steuerungseinrichtung 4. Die Steuerungseinrichtung 4 umfasst einen Prozessor 6 und einen Speicher 7. Zur Verdeutlichung ist der Speicher 7 in einen Bereich 14, in dem native Daten und Programme gespeichert sind, und einen Bereich 15, in dem plattformunabhängige Programme gespeichert sind, aufgeteilt. Der native Bereich enthält zunächst ein Betriebssystem 8. In diesem Falle wird als Betriebssystem das System QNX verwendet. Dieses stellt ein Dateisystem nach dem POSIX-Standard zur Verfügung. In der darüber liegenden Schicht 9 sind die nativen Programme angedeutet. Diese sind in der Programmiersprache C++ programmiert und danach auf Maschinencode kompiliert worden. Bestimmte Programmmittel 10 verarbeiten unter Vermittlung eines nicht dargestellten Treibers die Daten, die vom MOST-Bus gesendet werden. Dabei ist jedem Programmmittel 10 genau ein Peripheriegerät 2 zugeordnet. Man spricht in diesem Zusammenhang von sogenannten lokalen Geräten. Die erfindungsgemäße Schicht 9 enthält weiterhin einen Gerätetreiber 11, der die Programmmittel 10 auf Dateien abbildet und diese verwaltet. In der plattformunabhängigen Schicht ist der JAVA-Code abgelegt, der die Benutzerschnittstelle 12 bildet. Die Benutzerschnittstelle 12 regelt also sowohl die graphische Darstellung der Benutzerführung auf der Mensch-Maschine-Schnittstelle 5 sowie die Verknüpfung von benutzerseitigen Signalen mit den Programmmitteln 10 bzw. die Anzeige von peripherieseitigen Signalen, die – wie unten näher beschrieben – von speziellen Funktionen 13 aus den vom Gerätetreiber 11 erzeugten Dateien gelesen werden. 2 schematically shows the interior of the controller 4 , The control device 4 includes a processor 6 and a memory 7 , For clarity, the memory 7 in an area 14 in which native data and pro grams are stored, and an area 15 , in which platform-independent programs are stored, divided. The native area initially contains an operating system 8th , In this case the system QNX is used as operating system. This provides a file system according to the POSIX standard. In the layer above 9 are the native programs implied. These have been programmed in the C ++ programming language and then compiled to machine code. Certain program resources 10 process the data sent by the MOST bus through a driver, not shown. There is every program means 10 exactly one peripheral device 2 assigned. One speaks in this connection of so-called local devices. The layer according to the invention 9 also contains a device driver 11 who the program agent 10 maps to files and manages them. The platform-independent layer stores the JAVA code that represents the user interface 12 forms. The user interface 12 So regulates both the graphical representation of user guidance on the man-machine interface 5 as well as the linking of user-side signals with the program means 10 or the display of peripheral signals that - as described in more detail below - of special functions 13 from the device driver 11 generated files are read.

3 zeigt am Beispiel dreier Peripheriegeräte, nämlich eines CD-Players 16, eines Radio-Tuners 17, und eines Lautsprechersystems 18, wie die Signale innerhalb des erfindungsgemäßen Kraftfahrzeugs von den Geräten zu der Mensch-Maschine-Schnittstelle übermittelt werden. Über den MOST-Bus 3 kommunizieren die Geräte zunächst mit der Steuerungseinrichtung 4. In dem Betriebssystem QNX 8 wird der MOST-Bus 3 als ein einziges Gerät auf eine Datei mit dem Namen „/dev/MOST" abgebildet und von einem nicht dargestellten Treiber verwaltet und gesteuert. Von den Programmmitteln 10 ist nun je eines dem entsprechenden Peripheriegerät 2 zugeordnet, in diesem Fall das Programmmittel 20 dem CD-Player 16, das Programmmittel 21 dem Tuner 17 und das Programmmittel 22 dem Lautsprechersystem 18. Die Programmmittel 20-22 werden auch als logische Geräte bezeichnet. Sie sind in der Programmiersprache C/C++ entwickelt und kompiliert, so dass sie native Programme darstellen. Diese fragen zu jeder Zeit die Datei 19 im Bezug auf ihr zugeordnetes Peripheriegerät ab. Ein weiteres natives Programm, nämlich der speziell entwickelte Gerätetreiber 11, kommuniziert nun mit den Programmmitteln 20, 21 und 22, verwaltet die entsprechenden Daten und bildet diese in jeweils zugeordnete Dateien 23-25 ab. Diese sind dann auch im Geräteverzeichnis des Betriebssystems abgelegt, für den CD-Player 16 hat die Datei 23 beispielsweise den Namen „/dev/service/cd". Damit ist also eine Umgebung geschaffen worden, die, von der plattformunabhängigen Benutzerschnittstelle 12 aus betrachtet, so aussieht, als könne man direkt auf die Peripheriegeräte zugreifen. Dabei sind jedoch durch die Programmmittel 20-22 und den Gerätetreiber 11 die Daten schon so aufbereitet worden, dass sie plattformunabhängig behandelt werden können. 3 shows the example of three peripherals, namely a CD player 16 , a radio tuner 17 , and a speaker system 18 how the signals are transmitted within the motor vehicle according to the invention from the devices to the man-machine interface. Via the MOST bus 3 The devices first communicate with the control device 4 , In the operating system QNX 8th becomes the MOST bus 3 mapped as a single device to a file named "/ dev / MOST" and managed and controlled by a driver (not shown) 10 is now ever one of the corresponding peripheral device 2 assigned, in this case the program means 20 the CD player 16 , the program agent 21 the tuner 17 and the program agent 22 the speaker system 18 , The program resources 20 - 22 are also called logical devices. They are developed and compiled in the programming language C / C ++, so that they represent native programs. They ask the file at any time 19 in relation to its associated peripheral device. Another native program, the specially developed device driver 11 , now communicates with the program resources 20 . 21 and 22 , manages the corresponding data and forms it into respectively assigned files 23 - 25 from. These are then stored in the device directory of the operating system for the CD player 16 has the file 23 for example, the name "/ dev / service / cd." Thus, an environment has been created that, by the platform-independent user interface 12 From this point of view, it looks like you can access the peripherals directly. However, these are by the program means 20 - 22 and the device driver 11 The data has already been prepared in such a way that it can be handled independently of the platform.

Der Gerätetreiber 11 stellt zusätzlich, wie ein üblicher Gerätetreiber auch, die POSIX-Funktionen open(), read(), write() und close() zur Verfügung. Javaseitig sind nun Funktionen 27 für den CD-Player 16, 28 für den Tuner 17 und 29 für das Lautsprechersystem 18 vorgesehen, die ein Dateiobjekt erschaffen (instantiieren) und auf diesem eine bidirektionale Übertragung von Daten ermöglichen. Dazu wird ein File-Input-Stream und ein File-Output-Stream geöffnet, durch die Pfeile 26 dargestellt. Die Funktionen 27-29 kommunizieren mit den Dateien 23-25 also wie mit normalen Dateien. Es sind keine weiteren Programme erforderlich, da die Laufzeitbibliothek (in diesem Falle also die Java Virtual Machine) die entsprechenden Dateioperationen ohnehin implementiert.The device driver 11 In addition, like a common device driver, the POSIX functions open (), read (), write (), and close () are available. Java-side are now functions 27 for the CD player 16 . 28 for the tuner 17 and 29 for the speaker system 18 provided that create a file object (instantiate) and allow this bidirectional transmission of data. For this purpose, a file input stream and a file output stream are opened, by the arrows 26 shown. The functions 27 - 29 communicate with the files 23 - 25 So like with normal files. There are no additional programs required because the runtime library (in this case the Java Virtual Machine) implements the corresponding file operations anyway.

Auch für die Kommunikation in Gegenrichtung, also von der Benutzerschnittstelle 12 in Richtung der Peripherigeräte 2 bzw. 16-18 (Downcalls), wird das vorgestellte Verfahren eingesetzt, um somit eine Asynchronität zu erreichen.Also for the communication in the opposite direction, ie from the user interface 12 in the direction of the peripherals 2 respectively. 16 - 18 (Downcalls), the presented method is used to achieve asynchronism.

In dieser Systemarchitektur ist es möglich, asynchron Signale der Peripheriegeräte 2 zu empfangen. Mit Hilfe von 4 soll diese asynchrone Abfragemöglichkeit näher beschrieben werden. Bei Starten des Systems wird zunächst auch der Gerätetreiber 11 im Schritt 30 gestartet. Dieser legt dann in Schritt 31 das oder die erforderlichen Dateien an. Dann wird auch die im Java program mierte Benutzerschnittstelle 12 im Schritt 32 gestartet. Die den entsprechenden Peripheriegeräten 2 zugeordneten Programmteile 13 starten nun im Schritt 33 einen Thread. Die Aufgabe dieses Threads ist es nun, permanent Leseanfragen „read" mit Hilfe des File-Input-Streams an die Datei zu richten. Das hat zur Folge, dass die read()-Funktion des Gerätetreibers 11 aktiviert wird. Dies ist Schritt 35. Liegt kein Signal vor, so wird wie durch den Pfeil 34 angedeutet, die Leseanfrage permanent durchgeführt, also wiederum Schritt 35 durchgeführt. Dies ist so zu verstehen, dass die (eine) Leseanfrage andauernd vorliegt. Es wird nicht – was den Prozessor stark belasten würde – in einer Schleife eine immer neue read()-Funktion aufgerufen. Der Thread „schläft" sozusagen, bis ein Signal vorliegt. Dann können die entsprechenden Daten im Schritt 36 aus der Datei ausgelesen werden und eine entsprechende Funktionalität der Benutzerschnittstelle ausgelöst werden. Danach wird wieder Schritt 35 ausgeführt, da jederzeit weitere Signale eintreffen können.In this system architecture, it is possible to asynchronously receive signals from the peripheral devices 2 to recieve. With the help of 4 This asynchronous query option should be described in more detail. When you start the system, the device driver will be the first one 11 in step 30 started. This one puts in step 31 the required file (s). Then the user interface programmed in the Java will also be used 12 in step 32 started. The corresponding peripherals 2 assigned program parts 13 start now in the step 33 a thread. The task of this thread is now to constantly "read" read requests to the file using the file input stream, resulting in the read () function of the device driver 11 is activated. This is step 35 , If there is no signal, then as indicated by the arrow 34 indicated, the read request is performed permanently, so again step 35 carried out. This is to be understood as meaning that the (one) read request is ongoing. It will not - which would load the processor heavily - in a loop an ever new read () function called. The thread "sleeps", so to speak, until a signal is present, then the corresponding data in step 36 be read from the file and a corresponding functionality of the user interface are triggered. After that, step again 35 executed, because more signals can arrive at any time.

Somit wird die javaseitig ohnehin vorhandene Streamtechnologie vorteilhaft genutzt, um durch eine permanente Leseanfrage jederzeit, das heißt asynchron, Signale von den Peripheriegeräten 2 empfangen zu können. Die erfindungsgemäße Einrichtung ermöglicht einen schnelleren Zugriff und eine schnellere Kommunikation auf die Peripheriegeräte.Thus, the java-side already existing streaming technology is used to advantage by a permanent read request at any time, that is asynchronous, signals from the peripherals 2 to be able to receive. The inventive device allows for faster access and faster communication to the peripherals.

Claims (7)

Kraftfahrzeug mit einem oder mehreren Peripheriegeräten und einer Mensch-Maschine-Schnittstelle, umfassend wenigstens eine zugeordnete Steuerungseinrichtung, die über ein Bussystem bildende Kommunikationsbusleitungen mit wenigstens einem Teil des oder der Peripheriegeräte kommuniziert und zur Verwaltung und/oder Steuerung derselben sowie zum Empfang und Verarbeiten von benutzerseitig gegebenen Steuersignalen ausgebildet ist, wobei die Steuerungseinrichtung wenigstens einen Prozessor mit zugehörigem Betriebssystem in einem zugehörigen Speicher umfasst, welcher einen Treiber zur Verwaltung und Steuerung des Bussystems, ein oder mehrere in das Betriebssystem eingebettete Programmmittel zur Steuerung des oder der Peripheriegeräte, die mit Hilfe des Prozessors ausgeführt werden, sowie einer in mehreren Betriebssystemen nutzbaren Benutzerschnittstelle, die über eine Anwendungsprogrammierschnittstelle mit den Programmen und damit den Peripheriegeräten zwecks deren Steuerung und/oder Verwaltung kommuniziert, dadurch gekennzeichnet, dass das Betriebssystem ein Dateisystem umfasst, in dem das oder die Programmmittel auf Dateien abgebildet werden und die Anwendungsprogrammierschnittstelle einen Gerätetreiber für die Dateien umfasst.A motor vehicle having one or more peripheral devices and a man-machine interface, comprising at least one associated control device communicating with at least a portion of the peripheral device (s) via a bus system and managing and / or controlling same and receiving and processing the user side formed control signals, wherein the control device comprises at least one processor with associated operating system in an associated memory, which includes a driver for managing and controlling the bus system, one or more embedded in the operating system program means for controlling the peripheral device or by means of the processor be executed, as well as a usable in several operating systems user interface, via an application programming interface with the programs and thus the peripheral devices for the purpose of their control and / or Administration communicates, characterized in that the operating system comprises a file system in which the program or the means are mapped to files and the application programming interface includes a device driver for the files. Kraftfahrzeug nach Anspruch 1, dadurch gekennzeichnet, dass der Gerätetreiber das oder die zugehörigen Dateien so verwaltet, dass die Benutzerschnittstelle darauf ohne Vermittlung weiterer Programme oder Schnittstellen direkt zugreifen kann.Motor vehicle according to claim 1, characterized in that that the device driver the one or the other Files managed so that the user interface on it without Immediate access to other programs or interfaces can. Kraftfahrzeug nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jedes Programmmittel zur Steuerung und/oder Verwaltung genau eines Peripheriegerätes ausgebildet ist.Motor vehicle according to claim 1 or 2, characterized that each program means to control and / or management accurately a peripheral device is trained. Kraftfahrzeug nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass wenigstens ein Programmmittel zur Steuerung und/oder Verwaltung mehrerer Peripheriegeräte ausgebildet ist.Motor vehicle according to claim 1 or 2, characterized that at least one program means for controlling and / or managing several peripherals is trained. Kraftfahrzeug nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Dateisystem dem POSIX-Standard entspricht.Motor vehicle according to one of the preceding claims, characterized characterized in that the file system conforms to the POSIX standard. Kraftfahrzeug nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Bussystem als MOST-Bus und/oder CAN-Bus ausgebildet ist.Motor vehicle according to one of the preceding claims, characterized characterized in that the bus system as a MOST bus and / or CAN bus is trained. Kraftfahrzeug nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass als Peripheriegeräte Multimediageräte, insbesondere ein Autoradio, ein CD-Player, ein Telefon und/oder eine lenkradseitige Fernbedienung, vorgesehen sind.Motor vehicle according to one of the preceding claims, characterized characterized in that as peripheral devices multimedia devices, in particular a car radio, a CD player, a telephone and / or a steering wheel side Remote control, are provided.
DE200510025875 2005-06-06 2005-06-06 Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver Withdrawn DE102005025875A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200510025875 DE102005025875A1 (en) 2005-06-06 2005-06-06 Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510025875 DE102005025875A1 (en) 2005-06-06 2005-06-06 Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver

Publications (1)

Publication Number Publication Date
DE102005025875A1 true DE102005025875A1 (en) 2006-12-07

Family

ID=37401987

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510025875 Withdrawn DE102005025875A1 (en) 2005-06-06 2005-06-06 Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver

Country Status (1)

Country Link
DE (1) DE102005025875A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009059142A1 (en) * 2009-10-08 2011-04-14 Bayerische Motoren Werke Aktiengesellschaft Method for integrating component in information system of vehicle, involves providing applications to user of vehicle by human-machine-interface of information system, where application is accessed through program interface at parameter
DE102016008587A1 (en) * 2016-07-13 2018-01-18 Audi Ag Access to a via a data bus of a motor vehicle transmitted control signal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041270A1 (en) * 1995-06-07 1996-12-19 Compuserve Incorporated Communication device sharing on a local area network
US5613123A (en) * 1992-09-30 1997-03-18 Microsoft Corporation Method and system for configuring and executing device drivers based on configuration requirements
DE19719055A1 (en) * 1997-05-06 1998-11-12 Ibm Control method for data input/output devices
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613123A (en) * 1992-09-30 1997-03-18 Microsoft Corporation Method and system for configuring and executing device drivers based on configuration requirements
WO1996041270A1 (en) * 1995-06-07 1996-12-19 Compuserve Incorporated Communication device sharing on a local area network
DE19719055A1 (en) * 1997-05-06 1998-11-12 Ibm Control method for data input/output devices
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009059142A1 (en) * 2009-10-08 2011-04-14 Bayerische Motoren Werke Aktiengesellschaft Method for integrating component in information system of vehicle, involves providing applications to user of vehicle by human-machine-interface of information system, where application is accessed through program interface at parameter
DE102016008587A1 (en) * 2016-07-13 2018-01-18 Audi Ag Access to a via a data bus of a motor vehicle transmitted control signal
DE102016008587B4 (en) 2016-07-13 2024-02-15 Audi Ag Access to a control signal that can be transmitted via a data bus of a motor vehicle

Similar Documents

Publication Publication Date Title
EP0268285B1 (en) Method and circuit arrangement for the initial loading of a secondary computer
DE60006410T2 (en) METHOD AND SYSTEM FOR DISTRIBUTING OBJECT-ORIENTED COMPUTER PROGRAMS
EP1938185A2 (en) Process and program for generating automatically distributable clients of application servers
DE10351351A1 (en) Method and system for the dynamic generation of user interfaces
DE10335989B4 (en) Online changes to CIL code programs for industrial automation
DE60102694T2 (en) MODULAR COMPUTER SYSTEM AND METHOD
EP3273314B1 (en) Programmable logic controller with management system
EP2325708A2 (en) Real-time run-time system and functional module for such a run-time system
EP3538960A1 (en) Sequence control of program modules
DE10161115A1 (en) Transformation of object trees, especially in MES systems
DE102010011652A1 (en) Application platform and method for operating a data processing device with such
DE10222361A1 (en) Distributed computer network operating method involves accessing component of computer program through local gate, if client is within same execution environment as component, otherwise component is accessed through remote gate
DE102006051188A1 (en) Interconnection system for asynchronously interconnecting communication components of e.g. web application, has communication components interconnected such that application and/or components are adapted to effective operational environment
DE102006033863A1 (en) Two layered software application production method, involves interconnecting flexible interface of application interface, which makes necessary communication profiles available between totally enclosed layers
DE102005025875A1 (en) Motor vehicle, has control device with processors comprising respective operating systems, each with file system, in which program units are represented on data files, and application programming interface comprising device driver
EP3977301A1 (en) Runtime server for simultaneously executing multiple runtime systems of an automation installation
DE60017438T2 (en) SYSTEM FOR OPERATING ACCESS CONTROL
DE2507405C2 (en) Arrangement for synchronizing tasks to be carried out simultaneously for peripheral devices of a data processing system
EP3995960A1 (en) Computer program for data exchange between program modules
WO2020078835A1 (en) Control unit for controlling an information system
EP2126700B1 (en) Control of the run time behavior of processes
DE102004039633B4 (en) Method and device for exchanging vehicle-original information
DE112012006333T5 (en) Periodic access to a hardware resource
EP2759930B1 (en) Method for installing a software application
DE102018001565A1 (en) Security element and method for access control to a security element

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal