EP1853980A1 - Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse - Google Patents

Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse

Info

Publication number
EP1853980A1
EP1853980A1 EP06707146A EP06707146A EP1853980A1 EP 1853980 A1 EP1853980 A1 EP 1853980A1 EP 06707146 A EP06707146 A EP 06707146A EP 06707146 A EP06707146 A EP 06707146A EP 1853980 A1 EP1853980 A1 EP 1853980A1
Authority
EP
European Patent Office
Prior art keywords
control
processes
transport
hardware module
hardware
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
EP06707146A
Other languages
English (en)
French (fr)
Inventor
Jürgen Becker
Joachim Eisenmann
Michael HÜBNER
Jürgen Luka
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.)
Mercedes Benz Group AG
Original Assignee
DaimlerChrysler AG
Daimler 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 DaimlerChrysler AG, Daimler AG filed Critical DaimlerChrysler AG
Publication of EP1853980A1 publication Critical patent/EP1853980A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G05B19/0421Multiprocessor system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • 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/22Pc multi processor system
    • G05B2219/2222Use of priority levels for gaining access to 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/23Pc programming
    • G05B2219/23217Parallel processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Definitions

  • the invention relates to a method for controlling a plurality of components in a vehicle, which is provided with a controller having a first control program for a first component and a second control program for a second component, wherein each control program performs a time-limited process to the associated component in which each process is determined by a start and an end time.
  • the device is a device for controlling components in a vehicle with an interface to an external data bus, a hardware module and a memory for providing the data.
  • control units which control different components, such as windows, sunroof and engine components.
  • the control units are interconnected for communication by means of an electrical data bus.
  • Electronic networking in transport is becoming increasingly complex with up to 70 networked control units.
  • the processed by the control units processes are time-limited control tasks, so that a control unit for windows and sunroof based on the total life of the vehicle only in relatively small temporal scope performs tax tasks. In the periods where no control of the associated components takes place, the data processing resource of the control unit remains unused.
  • compression of the control tasks on a single indoor controller results in run-time problems, with important control tasks possibly having to wait for previous control tasks to be completed by the serial data processor. In the past, this has meant that an additional control unit is often installed for additional functionalities in the means of transport. As a result, several functions are rarely required at the same time in the interior, so that many control units mainly passively wait for the occupant's request.
  • a first approach leads to a separation of the communication and control tasks within a control unit, so that a separate processor is provided next to the communication processor for the control of the components and thereby a higher density of control processes for different components can be provided on the same control unit.
  • a control unit with two processors is known from DE 101 604 16 in connection with a time-consuming control of the motor or the transmission.
  • control devices which have a conventional microcomputer and whose interfaces are implemented by means of a Field Programmable Gate Array (FPGA).
  • FPGA Field Programmable Gate Array
  • the interface hardware can be reconfigured by means of an FPGA.
  • the property is used in this case, the individual memory cells of the FPGA to wire together differently.
  • each memory cell is connected to a network connected matrix, which can be changed by reconfiguration.
  • logic modules can be simulated by means of an FPGA, these being described in a hardware description language. By downloading the hardware configuration generated from the hardware description to the networking controller, the wiring between the memory cells can be set to produce the desired logic gates.
  • the FPGA of the FPGA can be set to create a different logic device.
  • the memory cells of the FPGA are connected as in flip-flops and all logic units and data processing hardware structures can be built from these flip-flops.
  • a data processing unit that is constructed like a microcomputer can be created from a first logic gate.
  • the conventional software can then be loaded again for execution on this FPGA data processing unit.
  • Such reconfigurable memory units with data processing functionality such as logic gates and simulated arithmetic units, are referred to in the following description as a hardware module.
  • the non-reconfigurable data processing units and hardware circuits are also calculated for the hardware modules.
  • the invention is with respect. a method according to the features of claim 1 solved.
  • the processes are each assigned a priority identifier.
  • it is checked whether another running process is already being executed and in this case the first process is entered in a waiting memory.
  • the next process to be processed is read out of the queue in accordance with its priority identifier, and upon completion of the current process, either by regular completion or abort, this new highest priority process is provided with the control of the associated computing component.
  • the priority identifier is assigned dynamically and, in the case of different driving or operating situations of the means of transport, a different priority assignment takes place to the different processes.
  • This prioritization method in control processes makes it possible to select the most important or time-critical from a plurality of control processes stored in a waiting memory and assign them to a hardware module for processing.
  • the prioritization method is particularly suitable for distributing control processes to be processed over several hardware modules for data processing.
  • a distribution unit assigned to the waiting memory has the hierarchical control processes. according to their prioritization to the different hardware modules for data processing.
  • the hardware modules are either conventional data processing units, such as logic circuits or microcomputers, or are reconfigurable memory units, such as an FPGA.
  • the method selects from the waiting memory the process with the highest priority and assigns it to one of the hardware modules available in parallel, so that the fastest possible secure execution is feasible.
  • the hardware modules are implemented as reconfigurable hardware, flexible customizable electronic modules can be created. It can even be provided that within a hardware module by configuration of a FPGA 's several computing units arise. Each time a hardware configuration is loaded onto the FPGA to reconfigure it. The control process is then performed on this FPGA and after it has been processed, the FPGA is configured for the next process to be assigned to it. The control of the partially dynamic reconfiguration of such hardware modules is done by means of a small library stored and preprogrammed hardware configuration for the different configurations. Depending on the requirements of a process, the corresponding hardware configuration is then loaded into the FPGA, this is reconfigured and the control process is processed.
  • a first operating state of the means of transport when this is moved, for example, on a road, different priority identifiers are assigned to one and the same component or the same process than if the means of transport is in the idle state, but it is at least not parked is moved by traffic.
  • a high-priority prioritization can be assigned to a sunroof arrangement so that it can be processed while the sliding sunroof is being actuated because of the lower priority, until a wait of a few milliseconds has elapsed.
  • the driver will barely notice the relatively short wait, while the hardware modules can handle high-priority processes in the meantime, such as the transmission and control of safety-relevant signals, such as the triggering of an airbag.
  • the process for the sunroof can be assigned a lower priority identifier in the operating state of the means of transport, so that the process for operating the sunroof is performed only after higher-priority processes. It can be provided for each process a certain amount of time within which this process must be processed. After expiration of this time period, either the priority identifier can be increased or the process can be executed immediately.
  • a burglary and / or anti-theft alarm system in the idle state have a high dynamic priority identification, while in the operating or driving state of the means of transport burglary and / or theft warning system has a low or no priority identifier.
  • the missing priority recognition can then mean that the process is not carried out in this driving state at all.
  • all processes can be set there and sorted according to the priority identifier.
  • the process with the highest priority identifier is then processed by the data processing unit or the hardware module which provides the next data processing resource. If, for example, several hardware modules are provided in parallel, the processes are allocated according to their priority one after the other.
  • reconfigurable memory devices such as an FPGA
  • certain portions of the FPGA may be reconfigured into logic circuits by downloading a hardware configuration such that the control process is automatically performed in hardware. In the method according to the invention, therefore, each process is also subjected to a agreed to assign hardware configurations to reconfigure the hardware module, if necessary.
  • a control unit for controlling components in a means of transport having an interface to an external data bus wherein the latter has at least one hardware module and a memory for providing the data necessary for the data processing.
  • Several programmable hardware modules are provided which can execute further control processes parallel to one another and communicate directly via the interface to the data bus and with sensors.
  • the controller has a distribution unit that associates each process with a particular hardware module. After the last control process has been completed, the hardware module is first reconfigured with the hardware configuration and prepared for the new control process. The control process is then performed on the reconfigured hardware module that has the highest priority in the memory. After expiration of this control process, the FPGA is then reconfigured by hardware configuration so that a new process with the next higher prioritization identifier can be loaded onto the hardware module for execution.
  • the control unit has a number of hardware modules which can be instructed in parallel with the processing of processes by the distribution unit.
  • the distribution unit provides all requests for the control process, which is most preferably prioritized in the waiting memory, so that the processing can be started immediately after completion of the preceding process. For this purpose, it may be necessary to provide the hardware configuration in order to modify the affected hardware module for the hardware module involved. to reconfigure the process. For example, only a part of the hardware module may be affected, so that another process continues on the remaining chip surface of the hardware module.
  • the control unit according to the invention has a means for assigning the prioritization identifier to the respective control process.
  • An internal bus can be provided which provides the control process in electronic form, ie its data or information, and the hardware configuration to the relevant hardware module.
  • the distribution unit has an interface to an external data bus to which the relevant control unit is connected.
  • the control unit may also have decompression units and flash memory.
  • the flash memory can provide both hardware configuration to reconfigure the modules and software modules that can run on a hardware module configured as a computing device.
  • information for prioritizing the individual processes can also be provided on the flash memory.
  • Another memory is provided for initialization and booting of the configurable memory module, for example the FPGA 's.
  • a reconfigurable memory unit such as an FPGA can be provided as a hardware module, but it is also possible to provide a plurality of microcomputers or hardware circuits connected in parallel, which are commissioned on the basis of the prioritization process. This creates a parallel data processing system which is instructed by the distribution unit through the different processes and is acted upon so that the utilization of the function is correspondingly uniform and effective.
  • processing of important data bus data in real time can take place with response times of less than a millisecond.
  • a highly prioritized process is provided, if necessary the hardware module is reconfigured according to a hardware configuration and the processing takes place in this time, so that the hardware module is available for further processes.
  • the data bus messages in the waiting memory may be processed as quickly as possible.
  • the hardware modules during the term of the associated means of transport ie during standstill or travel times after its delivery from the manufacturing factory, be reconfigured for other processes.
  • the system is also suitable for replacing classic control units in which the microcomputer or individual hardware components are no longer produced today.
  • the control unit according to the invention can be adapted to the requirements of these conventional control units and emulate their tasks.
  • the control unit according to the invention is also outstandingly suitable for the provision of spare parts for means of transport of the preceding generation.
  • the control unit according to the invention is outstandingly suitable for processing the method according to the invention, in which the first hardware module executes a current process, while the same or the further hardware module after the reconfiguration for controlling a further process processes it.
  • the data processing capacity of the respective hardware modules is released again immediately after completing the respective process for the next control process.
  • the distribution unit then assigns a free hardware module to the highest priority identifier control process in the memory and provides the required hardware configuration and information for the process, optionally reconfigures the hardware module and transmits the information associated with the process over the internal data bus to the hardware module, so that this control process can be processed and thereby the component to be controlled is put into operation.
  • Fig. 1 is an illustration of the control device according to the invention with four configurable hardware modules and
  • FIG. 2 shows a flow chart of the method according to the invention for processing processes by means of assigning priority identifiers.
  • the control unit 1 for controlling components, not shown, of a means of transport has four internal configurable hardware modules 2, 3, 4 and 5, which are electrically connected via an internal data bus 6 and an internal data bus I / O 7 with the Verteil ⁇ ngstechnik 8.
  • the distribution unit 8 is connected to an external data bus 9 present outside the control device 1.
  • the distribution unit 8 is connected to electrical components, such as electric motors 10 and possibly sensors.
  • memory Flash 11 is provided inside or outside a, ⁇ in the information such as a hardware configuration for the hardware modules 2 to 5 or Priortechnisch- sInformationen for the individual processes or software modules for Aufspielung to the hardware modules 2 to 5 can be provided.
  • An initialization memory 12 finally provides the data that is necessary to start up the control unit and to initialize the hardware modules 2 to 5 and the other hardware components of the control unit 1 accordingly.
  • the external data bus 9 which may be, for example, a CAN, Flexray, LIN or Firewire data bus, transmit a message indicating, for example, the actuation of a switch to start a control process
  • this message will be sent via the external input / output unit (I / O) Data bus 9 transmitted to the distribution unit 8.
  • the distribution unit 8 prioritizes the incoming messages according to the information previously loaded by the flash memory 11 and arranges these control processes in the waiting memory 13 according to their assigned priority identifier.
  • the information from the flash memory 11 is decompressed by the compression / decompression unit 14 so that the distribution unit 8 can read the information of the flash memory 11.
  • the stored data is compressed in the flash memory 11 in order to occupy the smallest possible memory space there.
  • the hardware modules 2 to 5 can be configured independently of each other.
  • the hardware modules 2 to 5 are data processing units that can be reconfigured in hardware before processing a process. These are reconfigurable memory like. these are known, for example, as FPGA or .under other names.
  • the individual memory cells of the hardware modules on the module chip are networked with each other redundantly, so that the networking can be reconfigured. As a result, the memory cells can be wired differently with each other, whereby logic gates can be simulated or even complex data processing processors can be simulated.
  • the logic gates can perform the control process without additional software and provide drive signals for sensors and actuators. In the case of a configured storage unit or a data processing unit can then if necessary, a software is downloaded from the flash memory 11, which is then executable on the configured hardware module 2 to 5.
  • the hardware modules 2 to 5 are dynamically configured according to the processes arranged in the waiting memory 13 and the distribution unit 8 assigns a process to a specific hardware module 2, 3, 4 or 5.
  • processes with a high priority identifier which amounts to a hurried or important task, are preferably forwarded to the next free hardware module 2 to 5.
  • the information is then forwarded via the internal bus I / O 7 and the internal data bus 6 to the respective hardware module 2 to 5 and processed there.
  • actuators 15, 16 are electrically conductively connected to the modules 2 to 5, so that the hardware module 2 drives the actuator 15, for example with a logic circuit formed on a chip field 17, while at the same time on the same chip of the hardware module 2 on a chip surface 18 a further data processing unit is designed to control the actuator 16, for example a window control or a sliding roof.
  • FIG. 2 shows the method for controlling a plurality of components 10, 15, 16 in a means of transport.
  • the components 10, 15, 16 are connected directly to the control unit 1 and the control unit 1 is in turn networked via an external data bus 9 with other control devices.
  • a first control program for controlling a window lift 20 and a second control program 21 for the seat adjustment is provided on the control unit 1.
  • the control process for the window lifter 20 and the seat adjustment control process 21 are each time limited, wherein the start time, for example, by pressing the adjustment knob is generated for the window or the seat adjustment.
  • the signal edge generates a triggering event in the control unit, wherein, for example, a message for the process in the distribution unit 8 of the control unit 1 is stored.
  • the pen lifter 20 is assigned a higher priority identifier than the seat adjustment 21.
  • the inventive method provides a process according to FIG.
  • the request for the seat adjustment 21 is activated by actuating the seat adjustment switch.
  • the process for seat adjustment is then set in the waiting memory 8 and provided with a priority identifier.
  • the process in the waiting memory 13 is deleted and, initially, at 23, the seat adjustment with the highest priority identification is stored in the store. If the rearview mirror adjustment process 24 is requested and it has a higher prioritization identifier than the seat adjustment, the mirror rearview adjustment process is first performed at 25. After the end of the process for rear-view mirror adjustment, the process for the seat adjustment is put into operation and executed at 26, while the process for rear-view mirror adjustment, for example, because of further actuation briefly inactive and the seat control is controlled in the meantime.
  • the process for its adjustment is triggered by the operation of the sliding-lifting roof, which is due to the higher priority identifier first the sliding sliding roof at 28 and its process is processed while the Rearview mirror adjustment remains inactive at 28 and is only performed after completion of the sliding lift-roof process.
  • both processes must be executed simultaneously at 30, wherein one process is assigned to the hardware module 2 and another process to the hardware module 3, the hardware module 3 being configured in advance and then the process for the Parktronik is processed. After expiration of the two processes, the two inactive functions are finally deleted from the waiting memory 13 at 31, so that further processes can be processed.
  • Each process is assigned a priority identifier and at the start time of each process it is checked whether another running process is already running. In this case, the first process is then entered into a waiting memory and after completion of the current process, the process stored in the waiting memory with the highest priority identifier is read out and assigned to the corresponding hardware module 2 to 5.
  • the priority identifier can be assigned dynamically, ie the priority codes can change depending on the operating conditions of the means of transport. If, for example, the means of transport is moved in a parking situation or at a slow speed, the parking tronics or the sunroof or also the immobilizer is provided with a higher prioritization identifier than is the case when the means of transport is moved at a higher speed. Due to the dynamic assignment of the priority identifiers and the assignment of the highest-prioritized process to the respective free hardware module 2 to 5, it is possible to use particularly effective A serial or parallel processing of various processes in the transport, done.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

Verfahren zur Steuerung mehrerer Komponenten (10, 15, 16) in einem Verkehrsmittel, welches mit einem Steuergerät (1) mit einem ersten Steuerprogramm (20) für eine erste Komponente (15) und mit einem zweiten Steuerprogramm (21) für eine zweite Komponente (16) versehen ist, wobei jedes Steuerprogramm (20, 21) einen zeitlich begrenzten Prozess durchführt, um die zugeordnete Komponente (15, 16) zu steuern, bei jedem Prozess durch einen Start- und Endzeitpunkt bestimmt wird, der Startzeitpunkt durch ein Auslöseereignis definiert wird und bei dem Prozesse (21, 22, 25, 26, 30) für parallel ansteuerbare Komponenten (15, 16) auf demselben Steuergerät (1) abgearbeitet werden. Den Prozessen (21, 22, 25, 26, 30) wird erfindungsgemäß jeweils eine Prioritätskennung zugewiesen und zum Start Zeitpunkt des ersten Prozesses wird überprüft, ob bereits ein anderer laufender Prozess ausgeführt wird und in diesem Fall der erste Prozess in einem Wartespeicher (13) eingetragen wird, und dass nach Abschluss eines laufenden Prozesses, entweder durch regulären Abschluss oder Abbruch, dieser Prozess mit der höchsten Priorität mit der Steuerung der zugeordneten Komponente beginnt, und dass die Prioritätskennung dynamisch vergeben wird und dass bei unterschiedlichen Fahr- oder Bedienungssituationen des Verkehrsmittels eine unterschiedliche Prioritätsvergabe an die jeweiligen Prozesse erfolgt.

Description

Vorrichtung und Verfahren zur Abarbeitung priorisierter Steuerungsprozesse
Die Erfindung betrifft ein Verfahren zur Steuerung mehrerer Komponenten in einem Verkehrsmittel, welches mit einem Steuergerät mit einem ersten Steuerprogramm für eine erste Komponente und mit einem zweiten Steuerprogramm für eine zweite Komponente versehen ist, wobei jedes Steuerprogramm einen zeitlich begrenzten Prozess durchführt, um die zugeordnete Komponente zu steuern, bei dem jeder Prozess durch einen Start- und einen Endzeitpunkt bestimmt wird. Die Vorrichtung ist ein Gerät zur Steuerung von Komponenten in einem Verkehrsmittel mit einer Schnittstelle zu einem externen Datenbus, einem Hardwaremodul und einem Speicher zur Bereitstellung der Daten.
Heute sind im Verkehrsmittel Steuergeräte eingesetzt, die unterschiedliche Komponenten, wie beispielsweise Fensterheber, Schiebedach und Motorkomponenten ansteuern. Die Steuergeräte sind untereinander zur Kommunikation mittels eines elektrischen Datenbusses vernetzt. Die elektronische Vernetzung im Verkehrsmittel wird immer komplexer mit bis zu 70 vernetzten Steuergeräten.
Bei den durch die Steuergeräte abgearbeiteten Prozessen handelt es sich um zeitlich begrenzte Steueraufgaben, so dass ein Steuergerät für Fensterheber und Schiebedach bezogen auf die Gesamtlaufzeit des Fahrzeugs nur in relativ geringem zeitlichem Umfang Steueraufgaben durchführt. In den Zeiträumen, wo keine Ansteuerung der zugeordneten Komponenten erfolgt, bleibt die Datenverarbeitungs-Ressource des Steuergeräts ungenutzt. Andererseits führt die Verdichtung der Steueraufgaben auf einem einzigen Innenraum-Steuergerät zu Lauf- zeitproblemen, wobei wichtige Steuerungsaufgaben gegebenenfalls abwarten müssen, bis vorhergehende Steuerungsaufgaben durch den seriellen Datenverarbeitungsprozessor abgearbeitet sind. Dies hat in der Vergangenheit dazu geführt, dass häufig für weitere Funktionalitäten im Verkehrsmittel ein zusätzliches Steuergerät verbaut wird. Dies hat das Ergebnis zur Folge, dass im Innenraum selten mehrere Funktionen gleichzeitig benötigt werden, so dass viele Steuergeräte überwiegend passiv auf die Anforderung der Insassen warten.
Ein erster Ansatz führt zu einer Trennung der Kommunikationsund Steuerungsaufgaben innerhalb eines Steuergeräts, so dass für die Ansteuerung der Komponenten ein eigener Prozessor neben dem Kommunikationsprozessor vorgesehen ist und dadurch eine höhere Dichte von Steuerungsprozessen für unterschiedliche Komponenten auf demselben Steuergerät vorgesehen sein können. Ein derartiges Steuergerät mit zwei Prozessoren ist in Zusammenhang mit einer rechenzeit-aufwendigen Ansteuerung des Motors bzw. des Getriebes aus der DE 101 604 16 bekannt.
Ferner sind Steuergeräte bekannt, die einen konventionellen Mikrorechner aufweisen und deren Schnittstellen mittels eines Field Programmable Gate Array (FPGA) umgesetzt sind. Eine derartige Hardware ist aus der DE 101 396 10 bekannt. Mittels eines FPGA kann die Schnittstellen-Hardware umkonfiguriert werden. Im Gegensatz zu der üblichen Aufspielung veränderter Software, wird hierbei die Eigenschaft genutzt, die einzelnen Speicherzellen des FPGA miteinander unterschiedlich zu verdrahten. Beim FPGA ist jede Speicherzelle an eine Vernet- zungsmatrix angeschlossen, die durch Umkonfiguration verändert werden kann. Beispielsweise lassen sich mittels eines FPGAs Logikbausteine nachbilden, wobei diese in einer Hardwarebeschreibungssprache beschrieben werden. Durch Herunterladen der aus der Hardwarebeschreibung erzeugten Hardwarekonfiguration auf die Vernetzungssteuerung kann die Verdrahtung zwischen den Speicherzellen so eingestellt werden, dass die gewünschten Logik-Gatter entstehen.
Übliche konventionelle Hardware kann während der Laufzeit nicht verändert werden. Im Gegensatz dazu kann beim FPGA durch Herunterladen einer weiteren Hardwarekonfiguration auf das FPGA, dessen Vernetzung so eingestellt werden, dass ein anderer Logikbaustein entsteht. Dabei werden die Speicherzellen des FPGA' s wie bei Flip-Flops beschaltet und es lassen sich sämtliche Logikeinheiten und Datenverarbeitungs- Hardwarestrukturen aus diesen Flip-Flops aufbauen.
Durch Umkonfigurieren des FPGAs kann aus einem ersten Logik- Gatter beispielsweise eine Datenverarbeitungseinheit entstehen, die wie ein Mikrorechner aufgebaut ist. Auf diese FPGA- Datenverarbeitungseinheit kann dann wieder die konventionelle Software zum Abarbeiten aufgespielt werden. Derartige umkon- figurierbare Speichereinheiten mit Datenverarbeitungsfunktionalität, wie Logik-Gatter und nachgebildete Recheneinheiten, werden in der folgenden Beschreibung als Hardwaremodul bezeichnet. Zu den Hardwaremodulen werden auch die nicht umkon- figurierbaren Datenverarbeitungseinheiten und Hardwareschaltungen gerechnet .
Es ist eine zukünftige Herausforderung für die Systemarchitektur im Verkehrsmittel, die Anzahl der Steuergeräte einzusparen und gleichzeitig die Auslastung der Datenverarbeitungseinheiten zu erhöhen. Es ist Aufgabe der vorliegenden Erfindung ein Verfahren aufzuzeigen, mit dem Steuerungsprozesse im Verkehrsmittel bei hoher Datenverarbeitungsdichte auf Hardwaremodulen ausgeführt werden können, ohne dass wichtige Prozesse zu spät abgearbeitet werden. Ferner wird ein erweitertes Steuergerät vorgestellt, mit dem ein derartiges Verfahren durchführbar ist.
Die Erfindung wird bzgl . eines Verfahrens gemäß den Merkmalen des Anspruchs 1 gelöst. Danach wird den Prozessen jeweils eine Prioritätskennung zugewiesen. Zum StartZeitpunkt des ersten Prozesses wird überprüft, ob bereits ein anderer laufender Prozess ausgeführt wird und in diesem Fall wird der erste Prozess in einen Wartespeicher eingetragen. Der nächste abzuarbeitende Prozess wird aus dem Wartespeicher entsprechend seiner Prioritätskennung ausgelesen und nach Abschluss des laufenden Prozesses, entweder durch regulären Abschluss oder Abbruch, wird dieser neue Prozess mit der höchsten Priorität mit der Steuerung der zugeordneten Komponente zur Datenverarbeitung vorgesehen.
Erfindungsgemäß wird die Prioritätskennung dynamisch vergeben und bei unterschiedlichen Fahr- oder Bedienungssituationen des Verkehrsmittels erfolgt eine unterschiedliche Prioritätsvergabe an die verschiedenen Prozesse. Dieses Priorisierungs- verfahren bei Steuerungsprozessen ermöglicht es, aus mehreren in einem Wartespeicher abgelegten Steuerungsprozessen, den wichtigsten bzw. zeitkritischsten auszuwählen und einem Hardwaremodul zur Abarbeitung zuzuordnen. Das Priorisierungsver- fahren eignet sich besonders dazu, abzuarbeitende Steuerungs- prozesse auf mehrere Hardwaremodule zur Datenverarbeitung zu verteilen. Dabei weist eine dem Wartespeicher zugeordnete Verteilungseinheit die aufgereihten Steuerungsprozesse ent- sprechend ihrer Priorisierung an die unterschiedlichen Hardwaremodule zur Datenverarbeitung zu.
Die Hardwaremodule sind dabei entweder konventionelle Datenverarbeitungseinheiten, wie logische Schaltungen oder Mikrorechner, oder sind umkonfigurierbare Speichereinheiten, wie beispielsweise ein FPGA. Das Verfahren wählt aus dem Warte- Speicher den Prozess mit der höchsten Priorität aus und ordnet diesen einem der parallel zu Verfügung stehenden Hardwaremodule zu, so dass eine schnellstmögliche sichere Abarbeitung durchführbar ist.
Insbesondere wenn die Hardwaremodule als umkonfigurierbare Hardware ausgeführt sind, lassen sich flexible anpassbare Elektronikmodule erzeugen. Es kann dabei sogar vorgesehen sein, dass innerhalb eines Hardwaremoduls durch Konfiguration eines FPGA' s mehrere Recheneinheiten entstehen. Dazu wird jedes Mal eine Hardwarekonfiguration auf das FPGA geladen, um dieses umzukonfigurieren. Auf diesem FPGA wird dann der Steu- erungsprozess durchgeführt und nach dessen Abarbeitung wird dann das FPGA für den nächsten Prozess, der diesem zugeordnet wird, konfiguriert. Die Steuerung der partiell dynamischen Rekonfiguration derartiger Hardwaremodule erfolgt mittels in einer kleinen Bibliothek abgelegten und vorprogrammierten Hardwarekonfiguration für die unterschiedlichen Konfigurationen. Je nach Anforderung eines Prozesses wird dann die entsprechende Hardwarekonfiguration in das FPGA geladen, dieses umkonfiguriert und der Steuerungsprozess darauf abgearbeitet.
Durch das erfindungsgemäße Verfahren in Verbindung mit der erweiterten Funktionalität der Hardwaremodule lässt sich eine Reduzierung der Anzahl der Steuergeräte innerhalb einer Steuergerätearchitektur bei einem Verkehrsmittel durchführen. Durch die Mehrfachnutzung der unterschiedlichen Hardwaremodu- Ie für sich unterscheidende Steuerungsprozesse lässt sich die Summe der notwendigen Chipfläche verringern. Echte parallele und entkoppelte Prozesse sind auf einem Chip bzw. einem einzigen Hardwaremodul möglich, wobei Teil -Chipflächen umkonfiguriert werden und Prozesse auf diesen Teil -Chipflächen vollständig abgearbeitet werden. Es entstehen unabhängig voneinander testbare und wieder verwendbare Funktionen. Wenn beispielsweise ein Fensterheber betätigt wird und eine Konfiguration eines FPGAs auf einem Hardwaremodul erfolgt, kann dieselbe Topologie gegebenenfalls für die Steuerung eines weiteren Fensterhebers verwendet werden. Durch das Umkonfigurieren der Hardwaremodule entsteht ein anforderungsgerechtes Bereitstellen von Funktionen, wodurch kein unnötiges Verwalten von Ressourcen erforderlich ist.
Bei einer vorteilhaften Weiterbildung der Erfindung wird bzgl. der Vergabe der dynamischen Prioritätskennung in mindestens zwei Zustände unterschieden. Bei einem ersten Betriebszustand des Verkehrsmittels, wenn dieses beispielsweise auf einer Straße bewegt wird, werden für ein und dieselbe Komponente bzw. ein und denselben Prozess andere Prioritäts- kennungen vergeben, als wenn das Verkehrsmittel sich im Ruhezustand befindet, wobei es geparkt ist zumindest aber nicht verkehrsmäßig bewegt wird.
Durch diese unterschiedliche Vergabe von Prioritätskennungen kann beispielsweise einer Schiebedachanordnung im Ruhezustand eine hohe Priorisierung vergeben werden, so dass diese bevorzugt abgearbeitet wird, während im Fahrzustand beim Betätigen des Schiebedachs wegen der geringeren Priorität eine Wartezeit von einigen Millisekunden entstehen kann bis der Prozess abgearbeitet wird. Der Fahrer wird die verhältnismäßig kurze Wartezeit kaum zur Kenntnis nehmen, während die Hardwaremodule in der Zwischenzeit hochpriore Prozesse abarbeiten können, wie beispielsweise die Übertragung und Ansteuerung von Sicherheitsrelevanten Signalen, beispielsweise die Auslösung eines Airbags. Infolgedessen kann dem Prozess für das Schiebedach eine im Betriebszustand des Verkehrsmittels geringere Prioritätskennung zugewiesen werden, so dass der Prozess zur Betätigung des Schiebedachs erst nach höher priorisierten Prozessen durchgeführt wird. Es kann dazu für jeden Prozess eine gewisse Zeitdauer vorgesehen sein, innerhalb der dieser Prozess abgearbeitet werden muss. Nach Ablauf dieser Zeitdauer kann entweder die Prioritätskennung hochgesetzt werden o- der eben der Prozess sofort ausgeführt werden.
Ebenso kann eine Einbruch- und/oder Diebstahlwarnanlage im Ruhezustand eine hohe dynamische Prioritatskennung aufweisen, während im Betriebs- bzw. Fahrzustand des Verkehrsmittels die Einbruchs- und/oder DiebstahlWarnanlage eine geringe oder gar keine Prioritätskennung aufweist . Die fehlende Prioritätsken- nung kann dann bedeuten, dass der Prozess in diesem Fahrzustand überhaupt nicht durchgeführt wird.
Durch die Bereitstellung des Wartespeichers können dort sämtliche Prozesse eingestellt werden und entsprechend der Prioritätskennung sortiert werden. Der Prozess mit der höchsten Prioritätskennung wird dann durch die Datenverarbeitungseinheit bzw. das Hardwaremodul abgearbeitet, welches die nächste Datenverarbeitungs-Ressource bereitstellt. Werden beispielsweise mehrere Hardwaremodule parallel vorgesehen, werden die Prozesse entsprechend ihrer Priorität diesen nacheinander zugeordnet. Bei umkonfigurierbaren Speichermitteln, beispielsweise einem FPGA, können gewisse Teilbereiche des FPGA' s durch Herunterladen einer Hardwarekonfiguration in logische Schaltungen umkonfiguriert werden, so dass der Steuerungspro- zess in Hardware automatisch ausgeführt wird. Bei dem erfindungsgemäßen Verfahren wird daher jedem Prozess auch eine be- stimmte Hardwarekonfiguratiön zugeordnet, um gegebenenfalls das Hardwaremodul umkonfigurieren zu können.
Die Aufgabe wird erfindungsgemäß auch durch die Merkmale des unabhängigen Anspruchs 7 gelöst. Daraus ist ein Steuergerät zur Steuerung von Komponenten in einem Verkehrsmittel mit einer Schnittstelle zu einem externen Datenbus bekannt, wobei dieses zumindest ein Hardwaremodul und einen Speicher zur Bereitstellung der für die Datenverarbeitung notwendigen Daten aufweist. Es sind dabei mehrere programmierbare Hardwaremodule vorgesehen, die parallel zueinander weitere Steuerungsprozesse ausführen können und direkt über die Schnittstelle zum Datenbus und mit Sensoren kommunizieren. Das Steuergerät weist eine Verteilungseinheit auf, die jeden Prozess einem bestimmten Hardwaremodul zuordnet. Nach Abarbeitung des letzten Steuerungsprozesses wird das Hardwaremodul zunächst mit der Hardwarekonfiguration, umkonfiguriert und so für den neuen Steuerungsprozess vorbereitet. Daraufhin wird der Steuerungs- prozess auf dem umkonfigurierten Hardwaremodul durchgeführt, der die höchste Priorität im Wartespeicher hat. Nach Ablauf dieses .Steuerungsprozesses wird dann das FPGA wieder mittels Hardwarekonfiguration umkonfiguriert, so dass ein neuer Prozess mit der nächst höheren Priorisierungskennung auf das Hardwaremodul zur Abarbeitung geladen werden kann.
Das Steuergerät weist erfindungsgemäß mehrere Hardwaremodule auf, die parallel zueinander mit der Abarbeitung von Prozessen durch die Verteilungseinheit beauftragt werden können. Die Verteilungseinheit stellt dabei für den im Wartespeicher hδchstpriorisierten Steuerungsprozess alle Anforderungen bereit, so dass die Abarbeitung sofort nach Abschluss des vorhergehenden Prozesses gestartet werden kann. Dazu ist es gegebenenfalls notwendig, die Hardwarekonfiguration bereitzustellen, um das betroffene Hardwaremodul für den abzuarbei- tenden Prozess umzukonfigurieren. Beispielsweise kann dabei nur ein Teil des Hardwaremoduls betroffen sein, so dass auf der verbleibenden Chipfläche des Hardwaremoduls ein anderer Prozess weiterläuft. Das erfindungsgemäße Steuergerät weist neben der Verteilungseinheit ein Mittel zur Zuordnung der Priorisierungskennung an den jeweiligen Steuerungsprozess auf. Es kann ein interner Bus vorgesehen sein, der den Steuerungsprozess in elektronischer Form, d. h. dessen Daten bzw. Informationen und die Hardwarekonfiguration dem betreffenden Hardwaremodul zur Verfügung -stellt. An dem internen Datenbus sind dann mehrere, beispielsweise zwei bis sechs Hardwaremodule, angeordnet. Die Verteilungseinheit hat eine Schnittstelle zu einem externen Datenbus, an den das betreffende Steuergerät angeschlossen ist. Dadurch können Anforderungen für Prozesse, welche über den externen Datenbus an das Steuergerät gemeldet werden, sofort priorisiert und entsprechend verarbeitet werden. Im Steuergerät können noch Dekompressie- rungseinheiten und Flash-Speicher vorhanden sein. In dem Flash-Speicher, können sowohl Hardwarekonfiguration zur Umkon- figurierung der Module als auch Softwaremodule bereitgestellt werden, die auf einem als Datenverarbeitungseinheit konfigurierten Hardwaremodul ausgeführt werden können. Zusätzlich kann auf dem Flash-Speicher auch eine Information zur Priori- sierung der einzelnen Prozesse bereitgestellt werden. Ein weiterer Speicher ist zur Initialisierung und zum Hochfahren des konfigurierbaren Speichermoduls, beispielsweise des FPGA' s, vorgesehen.
Als Hardwaremodul kann wie bereits beschrieben eine umkonfi- gurierbare Speichereinheit wie ein FPGA vorgesehen sein, es können aber auch mehrere parallel geschaltete Mikrorechner oder Hardwareschaltungen vorgesehen sein, die aufgrund des Priorisierungsprozesses beauftragt werden. Auf diese Weise entsteht ein paralleles Datenverarbeitungssystem, welches mittels der Verteilungseinheit durch die unterschiedlichen Prozesse beauftragt wird und so beaufschlagt wird, dass die Auslastung der Funktion entsprechend gleichmäßig und möglichst effektiv ist.
Bei der FPGA-Implementierung oder der Implementierung mittels eines konfigurierbaren Hardwaremoduls ist besonders vorteilhaft, dass eine Verarbeitung wichtiger Datenbus-Daten in Echtzeit mit Antwortzeiten geringer als eine Millisekunde erfolgen kann. In dieser Zeit wird einerseits ein hochpriori- sierter Prozess bereitgestellt, das Hardwaremodul wird gegebenenfalls entsprechend einer Hardwarekonfiguration umkonfiguriert und die Abarbeitung erfolgt in dieser Zeit, so dass das Hardwaremodul für weitere Prozesse zur Verfügung steht. Nach der Rekonfiguration des Hardwaremoduls werden gegebenenfalls die Datenbus-Nachrichten im Wartespeicher schnellstmöglich abgearbeitet.
Da das parallel geschaltete Steuergerät mit den Hardwaremodulen bezogen auf heutige Datenbusfrequenzen weiter unter der maximalen Bearbeitungsfrequenz betrieben wird, ist hier ein hohes Potential für Erweiterungen möglich. Durch die Paralle- lisierung können auch Prozesse innerhalb eines Steuergeräts abgearbeitet werden, die mittels eines seriellen Steuergeräts mit Mikrorechner nur separat verarbeitet werden können. Wegen der flexiblen Priorisierungskennung können derartige Prozesse sofort bearbeitet werden, während langsame Prozesse oder Prozesse mit geringerer Priorisierungskennung, wie Fensterheber, Sitzverstellungs- oder Schiebedachsignale erst danach bearbeitet werden.
Bevorzugt können die Hardwaremodule während der Laufzeit des zugeordneten Verkehrsmittels, d. h. während Stand- oder Fahrtzeiten nach dessen Auslieferung aus dem Herstellungs- werk, für andere Prozesse umkonfiguriert werden. Es entsteht dadurch ein flexibles System, welches durch Initialisierungsdaten und Prozessbeschreibungsdaten bzw. Priorisierungsinfor- mationen dynamisch auf die Steueraufgaben angepasst werden kann. Dadurch eignet sich das System auch zum Ersatz von klassischen Steuergeräten, bei denen der Mikrorechner oder einzelne Hardware-Bausteine heute nicht mehr hergestellt werden. Durch die Hardwarekonfiguration kann das erfindungsgemäße Steuergerät auf die Erfordernisse dieser konventionellen Steuergeräte angepasst werden und deren Aufgaben nachbilden. Dadurch eignet sich das erfindungsgemäße Steuergerät hervorragend auch zur Ersatzteil -Bereitstellung bei Verkehrsmitteln der vorhergehenden Generation.
Das erfindungsgemäße Steuergerät ist hervorragend geeignet zur Abarbeitung des erfindungsgemäßen Verfahrens, bei dem das erste Hardwaremodul einen aktuellen Prozess abarbeitet, während das gleiche oder das weitere Hardwaremodul nach der Um- konfiguration zur Steuerung eines weiteren Prozesses diesen bearbeitet. Die Datenverarbeitungskapazität der jeweiligen Hardwaremodule wird sofort nach Abschluss des jeweiligen Prozesses wieder für den nächsten Steuerungsprozess freigegeben. Die Verteilungseinheit weist daraufhin, dem Steuerungsprozess mit der höchsten Prioritätskennung im Wartespeicher ein freies Hardwaremodul zu und stellt die erforderliche Hardwarekonfiguration und die notwendigen Informationen für den Prozess zur Verfügung, konfiguriert das Hardwaremodul gegebenenfalls um und überträgt die zum Prozess gehörenden Informationen ü- ber den internen Datenbus zum Hardwaremodul, so dass dieser Steuerungsprozess abgearbeitet werden kann und dadurch die zu steuernde Komponente in Betrieb gesetzt wird.
Es gibt nun verschiedene Möglichkeiten, die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten und weiterzubilden. Dazu ist einerseits auf die untergeordneten Ansprüche und' andererseits auf die nachfolgende Erläuterung einer Ausführungsform zu verweisen. In der Zeichnung ist eine Ausführungsform der erfindungsgemäßen Vorrichtung dargestellt. Es zeigen jeweils in schetnatischer Darstellung,
Fig. 1 eine Darstellung des erfindungsgemäßen Steuergeräts mit vier konfigurierbaren Hardwaremodulen und
Fig. 2 eine Ablaufsdarstellung des erfindungsgemäßen Verfahrens zur Abarbeitung von Prozessen mittels Vergabe von Prioritätskennungen.
Das Steuergerät 1 zur Steuerung von nicht dargestellten Komponenten eines Verkehrsmittels weist vier interne konfigurierbare Hardwaremodule 2, 3, 4 und 5 auf, die über einen internen Datenbus 6 und über eine interne Datenbus-I/O 7 mit der Verteilύngseinheit 8 elektrisch leitend verbunden sind. Die Verteilungseinheit 8 ist mit einem außerhalb des Steuergeräts 1 vorhandenen externen Datenbus 9 verbunden. Außerdem ist die Verteilungseinheit 8 mit elektrischen Komponenten, beispielsweise Elektromotoren 10 und ggf. Sensoren verbunden. Zur Bereitstellung der notwendigen Informationen für das Steuergerät 1 ist innerhalb oder außerhalb ein Flash-Speicher 11 vorgesehen, in den Informationen, wie eine Hardwarekonfiguration für die Hardwaremodule 2 bis 5 oder Priorisierung- sInformationen für die einzelnen Prozesse oder Softwaremodule zur Aufspielung auf die Hardwaremodule 2 bis 5 bereitgestellt werden können. Ein Initialisierungsspeicher 12 stellt schließlich noch die Daten bereit, die notwendig sind, um das Steuergerät hochzufahren und die Hardwaremodule 2 bis 5 und die übrigen Hardwarebausteine des Steuergeräts 1 entsprechend zu initialisieren. Wird beispielsweise über den externen Datenbus 9,. der beispielsweise ein CAN-, Flexray- , LIN- oder Firewire-Datenbus sein kann, eine Nachricht übertragen, die beispielsweise die Betätigung eines Schalters zum Starten eines Steuerungsprozesses angibt, wird diese Nachricht über die Eingabe- /Ausgabeeinheit (I/O) des externen Datenbusses 9 an die Verteilungseinheit 8 übertragen. Die Verteilungseinheit 8 prio- risiert die eingehenden Nachrichten entsprechend den zuvor vom Flash-Speicher 11 geladenen Informationen und ordnet diese Steuerungsprozesse entsprechend ihrer zugeordneten Priori- tätskennung im Wartespeicher 13 an. Die Informationen aus dem Flash-Speicher 11 werden durch die Komprimierungs- /Dekomprimierungseinheit 14 dekomprimiert, so dass die Verteilungseinheit 8 die Information des Flash-Speichers 11 lesen kann. Im Flash-Speicher 11 sind die gespeicherten Daten komprimiert, um dort einen möglichst geringen Speicherplatz einzunehmen.
Die Hardwaremodule 2 bis 5 können voneinander unabhängig konfiguriert werden. Die Hardwaremodule 2 bis 5 sind Datenverarbeitungseinheiten, die vor der Abarbeitung eines Prozesses hardwaremäßig umkonfiguriert werden können. Es handelt sich dabei um rekonfigurierbare Speicher wie . diese beispielsweise als FPGA oder .unter anderen Bezeichnungen bekannt sind. Die einzelnen Speicherzellen der Hardwaremodule auf dem Modulchip sind miteinander redundant vernetzt, so dass die Vernetzung umkonfiguriert werden kann. Dadurch lassen sich die Speicherzellen unterschiedlich miteinander verdrahten, wodurch Logik- Gatter nachgebildet werden können oder auch komplexe Datenverarbeitungsprozessoren nachgebildet werden können. Die Logik-Gatter können ohne zusätzliche Software den Steuerungs- prozess durchführen und Ansteuersignale für Sensoren und Aktoren bereitstellen. Im Falle einer konfigurierten Speichereinheit oder einer Datenverarbeitungseinheit kann dann gegebenenfalls aus dem Flash-Speicher 11 eine Software heruntergeladen werden, die dann auf dem konfigurierten Hardwaremodul 2 bis 5 lauffähig ist.
Die Hardwaremodule 2 bis 5 werden entsprechend der im Wartespeicher 13 angeordneten Prozesse dynamisch konfiguriert und die Verteilungseinheit 8 weist einen Prozess an ein bestimmtes Hardwaremodul 2, 3, 4 oder 5 zu. Dabei werden Prozesse mit einer hohen Prioritätskennung, was einer eiligen bzw. wichtigen Aufgabe gleichkommt, bevorzugt an das nächste freie Hardwaremodul 2 bis 5 weitergeleitet. Die Informationen werden dann über die interne Bus-I/O 7 und über den internen Datenbus 6 an das jeweilige Hardwaremodul 2 bis 5 weitergeleitet und dort verarbeitet. Mit den Modulen 2 bis 5 sind verschiedene Aktoren 15, 16 elektrisch leitend verbunden, so dass das Hardwaremodul 2 beispielsweise mit einer auf einem Chip-Feld 17 ausgebildeten logischen Schaltung den Aktor 15 ansteuert, während gleichzeitig auf demselben Chip des Hardwaremoduls 2 auf einer Chipfläche 18 eine weitere Datenverarbeitungseinheit ausgebildet ist, um den Aktor 16, beispielsweise eine Fenstersteuerung oder ein Schiebedach, anzusteuern.
In Figur 2 ist das Verfahren zur Steuerung mehrerer Komponenten 10, 15, 16 in einem Verkehrsmittel dargestellt. Die Komponenten 10, 15, 16 sind dabei direkt mit dem Steuergerät 1 verbunden und das Steuergerät 1 ist wiederum über einen externen Datenbus 9 mit weiteren Steuergeräten vernetzt. Auf dem Steuergerät 1 wird ein erstes Steuerprogramm zur Steuerung eines Fensterhebers 20 und ein zweites Steuerprogramm 21 für die Sitzverstellung bereitgestellt. Der Steuerprozess für den Fensterheber 20 und der Steuerprozess 21 für die Sitzverstellung sind jeweils zeitlich begrenzt, wobei der Startzeit- punkt beispielsweise durch das Betätigen des Verstellknopfes für den Fensterheber oder die Sitzverstellung erzeugt wird. Die Signalflanke erzeugt dabei ein Auslöseereignis im Steuergerät, wobei beispielsweise eine Nachricht für den Prozess in der Verteilungseinheit 8 des Steuergeräts 1 hinterlegt wird. Dabei wird dem Pensterheber 20 eine höhere Prioritätskennung zugeordnet als der Sitzverstellung 21.
Wenn beispielsweise beide Prozesse im Hardwaremodul 2 ausgeführt werden sollen und zeitlich nacheinander. zu bearbeiten sind, sieht das erfindungsgemäße Verfahren einen Prozess gemäß Figur 2 vor. Dabei wird während der Abarbeitung des Prozesses für den Fensterheber 20 beispielsweise die Anforderung für die Sitzverstellung 21 durch Betätigen des Sitzverstellungsschalters aktiviert. Bei 22 wird dann der Prozess für die Sitzverstellung in den Wartespeicher 8 eingestellt und mit einer Prioritätskennung versehen.
Im nächsten Zeitschritt wird nach Abarbeiten des Fensterheber-Prozesses 20 der Prozess im Wartespeicher 13 gelöscht und zunächst steht bei 23 die Sitzverstellung mit höchster Prio- risierungskennung im Wartspeicher. Wenn der Prozess 24 zur Rückspiegelverstellung angefordert wird und dieser eine höhere Priorisierungskennung als die Sitzverstellung aufweist, wird bei 25 zunächst der Prozess zur Rückspiegelverstellung ausgeführt. Nach Ablauf des Prozesses zur Rückspiegelverstellung wird bei 26 der Prozess für die Sitzverstellung in Betrieb genommen und abgearbeitet, während der Prozess zur Rückspiegelverstellung beispielsweise wegen weitergehender Betätigung kurzzeitig inaktiv wird und die Sitzsteuerung zwischenzeitlich angesteuert bleibt.
Bei 27 wird dann über die Betätigung des Schiebe-Hebe-Dachs der Prozess für dessen Verstellung angestoßen, wobei wegen der höheren Prioritätskennung zunächst das. Schiebe-Hebe-Dach bei 28 bzw. dessen Prozess abgearbeitet wird, während die Rückspiegelverstellung bei 28 inaktiv bleibt und erst nach Abschluss des Schiebe-Hebe-Dach-Prozesses durchgeführt wird.
Wird beispielsweise die Parktronik bei 30 angefordert, die ebenfalls eine höhere Prioritätskennung aufweist, so müssen beide Prozesse bei 30 gleichzeitig abgearbeitet werden, wobei ein Prozess an das Hardwaremodul 2 und ein weiterer Prozess an das Hardwaremodul 3 vergeben wird, wobei das Hardwaremodul 3 zuvor konfiguriert wird und dann der Prozess für die Parktronik abgearbeitet wird. Nach Ablauf der beiden Prozesse werden bei 31 schließlich die beiden inaktiven Funktionen aus dem Wartespeicher 13 gelöscht, so dass weitere Prozesse abgearbeitet werden können.
Jedem Prozess wird jeweils eine Prioritätskennung zugewiesen und zum StartZeitpunkt eines jeden Prozesses wird überprüft, ob bereits ein anderer laufender Prozess ausgeführt wird. In diesem Fall wird dann der erste Prozess in einen Wartespeicher eingetragen und nach Abschluss des laufenden Prozesses wird der im Wartespeicher abgelegte Prozess mit der höchsten Prioritätskennung ausgelesen und dem entsprechenden Hardwaremodul 2 bis 5 zugewiesen.
Jedem Prozess kann die Prioritätskennung dynamisch vergeben werden, d. h. die Prioritätskennungen können sich abhängig von den Betriebszuständen des Verkehrsmittels ändern. Ist beispielsweise das Verkehrsmittel in einer Parksituation oder bei langsamer Geschwindigkeit bewegt, so wird die Parktronik oder das Schiebedach oder auch die Wegfahrsperre mit höherer Priorisierungskennung versehen als dies der Fall ist, wenn das Verkehrsmittel mit höherer Geschwindigkeit bewegt wird. Aufgrund der dynamischen Vergabe der Prioritätskennungen und der Zuordnung des höchst-priorisierten Prozesses an die jeweils freie Hardwaremodul 2 bis 5 kann auf besonders effekti- ve Weise eine serielle oder auch parallele Verarbeitung verschiedener Prozesse im Verkehrsmittel, erfolgen.
Bezugszeichenliste
1 Steuergerät 2 - 5 Hardwaremodule
6 interner Datenbus
7 interne Bus-I/O
8 Verteilungseinheit
9 externer Datenbus
10 Aktor
11 Flash-Speicher
12 Initialisierungs-Einheit
13 Wartespeicher
14 Komprimierungs-/Dekoτnprimierungseinheit 15, 16 Aktor
17 Chipfläche des Hardwaremoduls
18 Chipfläche des Hardwaremoduls
19 frei
20 Prozess für Fensterheber
21 Prozess für Sitzverstellung
22 Zuweisung der Priorisierungskennung '
23 Prozess für Sitzverstellung in Betrieb
24 Anforderung für Rückspiegelverstellung
25 Prozess für Rückspiegelverstellung in Betrieb
26 Prozess für Sitzverstellung in Betrieb
27 Anforderung des Schiebe-Hebe-Dachs
28 Schiebe-Hebe-Dach-Prozess in Betrieb
29 Anforderung der Parktronik
30 Abarbeitung paralleler Prozesse
31 Abschluss der Prozesse und Freigabe des Wartespeichers

Claims

Patentansprüche
1. Verfahren zur Steuerung mehrerer Komponenten (10, 15, 16) in einem Verkehrsmittel, welches mit einem Steuergerät
(1) mit einem1 ersten Steuerprogramm (20) für eine erste Komponente (15) und mit einem zweiten Steuerprogramm (21) für eine zweite Komponente (16) versehen ist, wobei jedes Steuerprogramm (20, 21) einen zeitlich begrenzten Steue- rungsprozess durchführt, um die zugeordnete Komponente
(15, 16) zu steuern, bei jedem Steuerungsprozess durch einen Start- und Endzeitpunkt bestimmt wird, der Startzeitpunkt durch ein Auslöseereignis definiert wird und bei dem Steuerungsprozesse (21, 22, 25, 26, 30) für parallel ansteuerbare Komponenten (15, 16) auf demselben Steuergerät (1) abgearbeitet werden, dadurch gekennzeichnet, dass den Steuerungsprozessen (21, 22, 25, 26, 30) jeweils eine Prioritätskennung zugewiesen wird, dass zum Startzeit- punkt des ersten Steuerungsprozesses überprüft wird, ob bereits ein anderer laufender Steuerungsprozess ausgeführt wird und in diesem Fall der erste Steuerungsprozess in einem Wartespeicher (13) eingetragen wird, wobei der nächste abzuarbeitende Steuerungsprozess aus dem Wartespeicher (13) entsprechend seiner Prioritätskennung ausgelesen wird, und dass nach Abschluss des laufenden Steuerungsprozesses (21, 11, 25, 26, 30), entweder durch regulären Abschluss oder Abbruch, dieser Steuerungsprozess mit der höchsten Priorität mit der Steuerung der zugeordneten Komponente beginnt, und dass die Prioritätskennung dynamisch vergeben wird und dass bei unterschiedlichen Fahr- oder Bedienungssituationen des Verkehrsmittels eine unterschiedliche Prioritätsvergabe an die jeweiligen Prozesse erfolgt.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass bei der Vergabe der dynamischen Prioritätskennung in mindestens zwei Zustände unterschieden wird, wobei ein Zustand der Betriebszustand des Verkehrsmittels und ein weiterer Zustand der Ruhezustand des Verkehrsmittels ist, bei dem das Verkehrsmittel nicht verkehrsmäßig bewegt wird.
3. Verfahren nach Anspruch 1 oder 2 , dadurch gekennzeichnet, dass einem Steuerungsprozess im Ruhezustand des Verkehrsmittels eine andere dynamische Priorität als im Betriebszustand zugewiesen wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine Einbruch- und/oder Diebstahlwarnanlage im Ruhezustand eine hohe dynamische Prioritätskennung aufweist.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass
Prozesse zur Steuerung von Innenraumkomponenten im Ruhezustand eine geringere dynamische Prioritätskennung aufweisen, dagegen im Betriebszustand eine höhere Prioritätskennung aufweisen.
6. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass beim Abschluss eines vorhergehenden Prozesses im Wartespeicher (13) der Prozess mit der höchsten Prioritätsken- nung ausgewählt und zur Abarbeitung im Hardwaremodul des Steuergeräts (1) bereitgestellt wird.
7. Steuergerät zur Steuerung von Komponenten in einem Verkehrsmittel mit einer Schnittstelle zu einem externen Datenbus (9), einem Hardwaremodul (2, 3, 4, 5) und einem Speicher (11) zur Bereitstellung der für die Datenverarbeitung notwendigen Daten, wobei das Steuergerät (1) programmierbare Hardwaremodule (2, 3, 4, 5) aufweist, die parallel zueinander weitere Steuerungsprozesse (21, 22, 25, 26, 30) ausführen und direkt über die Schnittstelle zum Datenbus oder mit Sensoren/Aktoren kommunizieren, dadurch gekennzeichnet, dass das Steuergerät (1) eine Verteilungseinheit (8) aufweist, die aufgrund der Nachrichten vom Datenbus, einen ersten Steuerungsprozess einem der programmierbaren Hardwaremodule und einen weiteren Steuerungsprozess dem gleichen oder einem anderen der programmierten Hardwaremodule (2 bis 5) zuordnet, dass das erste Hardwaremodul (2 bis 5) zur Ausführung des ersten Steuerungsprozesses konfiguriert und dass das weitere Hardwaremodul (2 bis 5) konfiguriert wird, um einen weiteren Steuerungsprozess auszuführen.
8. Steuergerät nach Anspruch 7 , dadurch gekennzeichnet, dass das Hardwaremodul (2, 3, 4, 5) eine programmierbare Steuereinheit (FPGA) ist, bei der deren Speicherzellen durch programmierbare Verbindungsleitungen konfigurierbar sind.
9. Steuergerät nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass das Hardwaremodul (2 bis 5) während der Laufzeit des zugeordneten Verkehrsmittels, d. h. während Stand- oder Fahrzeiten nach dessen Auslieferung aus dem Herstellungswerk, für andere Prozesse umkonfigurierbar ist.
10. Steuergerät . nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass das erste Hardwaremodul (2 bis 5) einen Prozess (21, 22,
25, 26, 30) abarbeitet, während das gleiche oder das weitere Hardwaremodul (2 bis 5) nach der Umkonfiguration zur
..Steuerung eines weiteren Prozesses diesen abarbeitet und dass die Datenverarbeitungskapazität der Hardwaremodule (2 bis 5) sofort nach Abschluss des jeweiligen Prozesses wieder für den nächsten Steuerungsprozess (21, 22, 25,
26, 30) freigegeben wird.
11. Verwendung des Verfahrens nach einem der Ansprüche 1 bis 6 zur Steuerung der Prozesse auf einer Vorrichtung mit Hardwaremodulen (2 bis 5) , welche gleichzeitig und parallel unterschiedliche Steuerungsprozesse (21, 22, 25, 26,
30) durchführen .
EP06707146A 2005-03-04 2006-02-22 Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse Withdrawn EP1853980A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005010477A DE102005010477A1 (de) 2005-03-04 2005-03-04 Vorrichtung und Verfahren zur Abarbeitung priorisierter Steuerungsprozesse
PCT/EP2006/001579 WO2006094629A1 (de) 2005-03-04 2006-02-22 Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse

Publications (1)

Publication Number Publication Date
EP1853980A1 true EP1853980A1 (de) 2007-11-14

Family

ID=36178247

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06707146A Withdrawn EP1853980A1 (de) 2005-03-04 2006-02-22 Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse

Country Status (5)

Country Link
US (1) US20090234514A1 (de)
EP (1) EP1853980A1 (de)
JP (1) JP2008532148A (de)
DE (1) DE102005010477A1 (de)
WO (1) WO2006094629A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006049245A1 (de) * 2006-10-19 2008-04-24 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
EP2246755A1 (de) 2009-04-22 2010-11-03 Powitec Intelligent Technologies GmbH Regelkreis
DE102009033241B4 (de) * 2009-07-14 2013-07-04 Audi Ag Vermeidung von Maskerade durch Verwendung von Kennungssequenzen
DE102011080169A1 (de) * 2011-08-01 2013-02-07 Robert Bosch Gmbh Kommunikationsanbindung für Sensorik in Fahrzeug-Regelsystemen
WO2014005628A1 (de) * 2012-07-04 2014-01-09 Siemens Aktiengesellschaft Automatisierungsvorrichtung zum betreiben einer anlage oder maschine sowie verfahren zum bereitstellen einer regelung
DE102013020314A1 (de) * 2013-12-05 2015-06-11 Valeo Schalter Und Sensoren Gmbh Steuereinheit zur Verarbeitung von Sensordaten
US9612590B2 (en) * 2014-06-04 2017-04-04 Hamilton Sundstrand Corporation Multiplexing control operations of motors
US10102085B2 (en) * 2016-08-25 2018-10-16 GM Global Technology Operations LLC Coordinated multi-mode allocation and runtime switching for systems with dynamic fault-tolerance requirements
JP6909128B2 (ja) * 2017-10-30 2021-07-28 日立Astemo株式会社 電子制御装置
JP7202134B2 (ja) * 2018-10-15 2023-01-11 株式会社日立製作所 制御システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379428A (en) * 1993-02-01 1995-01-03 Belobox Systems, Inc. Hardware process scheduler and processor interrupter for parallel processing computer systems
DE4410775C2 (de) * 1994-03-28 2000-04-06 Daimler Chrysler Ag Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät
DE19744230B4 (de) * 1997-10-07 2007-10-25 Robert Bosch Gmbh Steuergeräte für ein System und Verfahren zum Betrieb eines Steuergeräts
US20040100982A1 (en) * 1999-09-30 2004-05-27 Sivaram Balasubramanian Distributed real-time operating system
JP3561506B2 (ja) * 2001-05-10 2004-09-02 東京エレクトロンデバイス株式会社 演算システム
DE10139610A1 (de) * 2001-08-11 2003-03-06 Daimler Chrysler Ag Universelle Rechnerarchitektur
DE10159480B4 (de) * 2001-12-04 2006-05-24 Daimlerchrysler Ag Steuervorrichtung
WO2004084066A1 (de) * 2003-03-19 2004-09-30 Siemens Aktiengesellschaft Vorrichtung und verfahren zum steuern eines oder mehrerer teilsysteme eines technischen gesamtsystems
US7198970B2 (en) * 2004-01-23 2007-04-03 The United States Of America As Represented By The Secretary Of The Navy Technique for perfecting the active regions of wide bandgap semiconductor nitride devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006094629A1 *

Also Published As

Publication number Publication date
DE102005010477A1 (de) 2006-09-07
WO2006094629A1 (de) 2006-09-14
JP2008532148A (ja) 2008-08-14
US20090234514A1 (en) 2009-09-17

Similar Documents

Publication Publication Date Title
EP1854022B1 (de) Steuergerät mit konfigurierbaren hardwaremodulen
WO2006094629A1 (de) Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse
EP3368379B1 (de) Steuergeräte-update im kraftfahrzeug
DE69819610T2 (de) Verteiltes Verarbeitungstypensteuerungssystem
EP3704573B1 (de) Verfahren zum durchführen eines softwareupdates in einem steuergerät eines kraftfahrzeugs sowie entsprechend eingerichtetes kraftfahrzeug
EP1700211B1 (de) Laden von software-modulen
EP3311550B1 (de) Verfahren zur kommunikation zwischen softwarekomponenten in einem kraftfahrzeug
EP2732347B1 (de) Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen
DE102016212204A1 (de) Auto-aktualisierungseinheit für architektur für gemeinsam genutzten speicher
EP3983897B1 (de) Verfahren zum sicherstellen und aufrechterhalten der funktion eines sicherheitskritischen gesamtsystems
DE19647407C2 (de) Steuergerät, insbesondere für den Einsatz in einem Kraftfahrzeug
WO2008046686A1 (de) Verfahren zum betreiben eines steuergeräts
DE102019134872B4 (de) Verbesserung der Betriebsparameter eines Rechensystems im Fahrzeug
EP1639416A1 (de) Elektronische steuereinheit und verfahren zur spezifikation einer software-architektur f r eine elektronische steuereinheit
DE102014213826B4 (de) Verfahren zum Synchronisieren von Zustandswechseln in Mehrkernrechnern eingebetteter Systeme
EP0849652B1 (de) Verfahren zur Verwaltung von Weckzeiten und Vorrichtung zur Ausführung dieses Verfahrens
DE102021133854A1 (de) Verfügbarmachen von Funktionen an einem Fahrzeug
DE102017100118A1 (de) Skalierbares Steuersystem für ein Kraftfahrzeug
DE10228064B4 (de) Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms
DE112022002947T5 (de) Fahrzeugsteuerungsvorrichtung, fahrzeugsteuerungsprogramm und fahrzeugsteuerungssystem
EP1216163A1 (de) Vorrichtung und verfahren zur zentralen steuerung der innenraumbeleuchtung eines kraftfahrzeuges
EP4266231A1 (de) Verfahren zum betreiben einer steuervorrichtung für ein kraftfahrzeug
WO2004084066A1 (de) Vorrichtung und verfahren zum steuern eines oder mehrerer teilsysteme eines technischen gesamtsystems
DE102016113795A1 (de) Verfahren zur Bereitstellung zumindest eines spezifischen Fahrzeugzustandes eines Fahrzeugs
DE102014107072A1 (de) Verfahren zur parallelen Programmierung einer Mehrzahl von Fahrzeugsteuergeräten

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070221

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE GB

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: DAIMLER AG

RBV Designated contracting states (corrected)

Designated state(s): DE GB

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20081016

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20090401