[go: up one dir, main page]

WO2008043652A2 - Elektronisches system - Google Patents

Elektronisches system Download PDF

Info

Publication number
WO2008043652A2
WO2008043652A2 PCT/EP2007/059909 EP2007059909W WO2008043652A2 WO 2008043652 A2 WO2008043652 A2 WO 2008043652A2 EP 2007059909 W EP2007059909 W EP 2007059909W WO 2008043652 A2 WO2008043652 A2 WO 2008043652A2
Authority
WO
WIPO (PCT)
Prior art keywords
execution units
execution
event
programs
program
Prior art date
Application number
PCT/EP2007/059909
Other languages
English (en)
French (fr)
Other versions
WO2008043652A3 (de
Inventor
Juergen Sauler
Reinhard Weiberle
Bernd Mueller
Matthias Knauss
Udo Schulz
Yorck Collani
Rainer Gmehlich
Rolf Kurrer
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to EP07820353A priority Critical patent/EP2082296A2/de
Publication of WO2008043652A2 publication Critical patent/WO2008043652A2/de
Publication of WO2008043652A3 publication Critical patent/WO2008043652A3/de

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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/266Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • 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/2205Multicore
    • 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/25Pc structure of the system
    • G05B2219/25342Real time controller
    • 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/25Pc structure of the system
    • G05B2219/25367Control of periodic, synchronous and asynchronous, event driven tasks together

Definitions

  • the invention relates to a system with a plurality of execution units, which is particularly suitable for controlling an engine.
  • the execution units may be a complete microprocessor, a CPU (Central Processing Unit) or else a calculation unit, such as a floating point calculation unit FPU (Floating Point Unit) or an arithmetic logic calculation unit ALU (Arithmetic Logic Unit). Further possible execution units are digital signal processors or co-processors. So-called dual-core systems have two processor cores or cores, which are integrated on one chip. With dual-core computer architectures, the computer cores can execute different programs at the same time. In such systems, the execution units may be either identical or different. For example, there are systems with a plurality of execution units which, in addition to a multi-purpose or generally usable computer core, have a dedicated computer core, for example a digital signal processor DSP for signal processing. Such dual or multi-core
  • Computer architectures are characterized by a very low power consumption, so that the heat output generated is lower.
  • systems with multiple execution units have a lower electromagnetic radiation compared to single-core systems, which achieve an increase in performance or performance through a clock frequency increase.
  • time-controlled bus systems such as CAN or time-controlled bus systems.
  • Event-controlled bus systems are highly flexible and can be used in a variety of ways.
  • the behavior of an event-driven bus system with respect to a message transmitted over the bus is not well predictable without sophisticated scheduling. Therefore, in safety-relevant application gram, the messages transmitted over a bus, usually a timed transmission of messages, such as TTP / C, Flexray, TTCAN preferred.
  • TTP / C Time-relevant application gram
  • programs can be executed time-controlled or event-controlled.
  • OSEK-Time is a purely timed operating system standard. Both event- and time-controlled systems have advantages and disadvantages in the respective fields of application.
  • conventional systems specify which request has a higher priority and thus is processed first. The low-priority request must then wait, so that the timed strategy or the event-driven strategy can no longer be met.
  • the invention provides a system having a plurality of execution units, wherein at least one execution unit executes programs in an event-controlled manner and at least one other execution unit executes programs in a time-controlled manner.
  • the execution units are formed by a microprocessor, a co-processor, an arithmetic logic unit A-LU, a digital signal processor DSP, or by a floating-point calculation unit FPU (Floating Point Unit).
  • a microprocessor a co-processor
  • A-LU arithmetic logic unit
  • DSP digital signal processor
  • FPU floating-point calculation unit
  • the programs to be executed thereon are identified such that it can be detected whether they are to be event-controlled or time-controlled.
  • interrupts are blocked in the timed execution of the program.
  • interrupts are not blocked in the timed execution of the program.
  • this is formed by a dual-core system with two execution units.
  • the multiprocessor system has at least three execution units.
  • At least two execution units of the three execution units execute the same program simultaneously in a comparison operating mode (VM).
  • VM comparison operating mode
  • the program is executed at the same time by at least two execution units.
  • a switching and a comparison circuit is provided, to which all execution units are connected.
  • the multiprocessor system can be switched between a performance operating mode (PM) and a comparison operating mode (VM).
  • PM performance operating mode
  • VM comparison operating mode
  • this has a first group of execution units, each of which executes programs in an event-controlled manner, and a second group of execution units, each of which executes programs in a time-controlled manner.
  • one set of execution units is switchable between a performance mode of operation (PM) and a comparison mode of operation (VM) independently of the other set of execution units.
  • PM performance mode of operation
  • VM comparison mode of operation
  • the two groups of execution units preferably each have at least two execution units.
  • the switching and comparison circuit in each of the two groups of execution units when switched in the comparison mode of operation (VM), performs a majority decision on the basis of the signals delivered by the execution units of that group and switches that signal on Further data processing, which has the least signal deviation to the other, issued by the execution units of this group signals.
  • an execution unit operated in a comparison operating mode VM has high signal deviations from the remaining execution units of the same group of output signals, then performs a self-test in a performance operating mode PM.
  • the execution unit is preferably deactivated when the self-test shows that this execution unit is faulty.
  • a predetermined angular position of an engine crankshaft achieved during the event-controlled execution of a program constitutes a triggering event.
  • the system according to the invention can be used in particular for controlling a motor.
  • the engine may be, for example, an electric motor or an internal combustion engine.
  • Figure 1 is a block diagram of a possible embodiment of the invention
  • FIG. 2 shows a dual-core system for illustrating a possible embodiment of the system according to the invention
  • FIG. 3 shows a dual-core system for illustrating a further embodiment of the system according to the invention
  • FIG. 4 shows a dual-core system for illustrating a further embodiment of the system according to the invention.
  • a switching and comparison circuit 1 is connected on the input side to N + 1 execution units 2 and receives logic input signals E 0 , Ei, E 2 , E 3 ... E N from the execution units 2 -i.
  • the switching and comparison unit 1 contains a comparison logic IA and a switching logic IB.
  • the system 3 or multiprocessor system shown in FIG. 1 can be operated in at least two operating modes.
  • a first operating mode for increasing performance which is also referred to as a performance operating mode PM
  • the execution units 1-i or cores process different programs or tasks in parallel.
  • the execution units 2-i can be any execution units 2-i for executing a calculation instruction, for example a processor, a floating point calculation unit FPU, a digital signal processor DSP, a co-processor or an arithmetic logical calculation unit ALU.
  • the execution of the programs by the various execution units 2-i in the performance mode PM can be carried out synchronously or asynchronously. In the power mode, no redundant processing takes place, but the execution units 2-i carry out different calculations or programs in parallel.
  • pure performance mode PM all input signals E, are switched to respective output signals A 1 and passed.
  • the second reason for a multi-core architecture is to increase the security of the signal processing by redundantly executing the same program by a plurality of execution units 2-i.
  • this second operating mode which is also referred to as safety mode or comparative mode VM
  • the results or logic output signals of the execution units are compared by the switching and comparison circuit 1, so that an error or a signal deviation by a Comparison can be detected on agreement.
  • the pure comparison operating mode VM therefore, all the input signals E 1 are only routed or imaged to exactly one single output signal A 1 .
  • the configurable switching logic IB indicates how many output connections or output signals A 1 are provided. Furthermore, the switching logic IB stores which input signals E 1 contribute to which of the output signals A 1 . In the switching logic IB thus a mapping function is stored, the input signals E, different output signals A, assign.
  • a first error signal is generated when one of the input signals is detected as being different from the other input signals.
  • a second error signal different from the first error signal all three input signals may differ from one another.
  • the input signal values are fed to a further calculation unit which, for example, calculates an average value or a median value or performs a fault-tolerant algorithm FTA.
  • FTA fault-tolerant algorithm
  • the extreme values of the input signal values are canceled or ignored, and an averaging is carried out over the remaining signal values. In one embodiment, averaging occurs over the entire set of the remaining signal values.
  • an averaging is carried out via a subset of the remaining signal values that is easy to form in the hardware. While only one addition and one division need to be made in averaging, FTM, FTA, or median generation require partial sorting of the input signal values. In one embodiment, if the signal deviations or extreme values are sufficiently large, an error signal is optionally output or displayed.
  • the various mentioned possibilities for signal processing to a signal represent comparison operations.
  • the processing logic IA determines the exact design of the comparison operation to be performed for each output signal A 1 and thus also for the input signals E 1 .
  • the combination of the information within the switching logic IB, ie the assignment function of the comparison operation per output signal or per function indicated in the processing logic IA. onswert represents operating mode information and sets the operating mode. This information is usually multivalued and represented by more than one logical bit. In the event that only two execution units 2-i are provided, and thus only one comparison mode exists, all the information in the operating mode can be compensated for a single logical bit.
  • a changeover of the system 3 from the performance operating mode PM to a comparison operating mode VM is generally carried out in that the execution units 2-i, which are mapped to different signal outputs in the performance operating mode PM, are in the comparison operating mode VM can be mapped or switched through to the same signal output.
  • This is preferably achieved by providing a subset of execution units 2-i in which all input signals E "to be taken into account in the subset are switched directly to corresponding output signals A 1 in the performance operating mode PM, while the input signals In the comparison mode VM all are mapped to a single signal output or switched to this.
  • a switch can be realized by changing pairings.
  • the software can be used to switch dynamically during operation.
  • the switching is triggered by the execution of special switching commands or switching instructions, special instruction sequences, explicitly marked instructions or by accessing specific addresses by at least one of the execution units 2-i of the system 3.
  • Switching between the safety mode VM, in which a redundant processing and testing takes place and the performance or performance mode PM, in which an increase in performance is achieved by separate program processing, is carried out by the switching device 1.
  • the switching device 1 carried to switch a Kenn - Drawing the programs, application programs, program parts or even the program commands by an identifier, which can be seen whether these program commands are security-relevant, that must be processed in the comparison mode VM operation, or the performance or performance mode PM can be made accessible .
  • the identification can be done by a bit in the program instruction. Alternatively, the following sequence can be identified by a special program command.
  • the comparison operating mode VM the calculation of the results or output signals of the execution units 2-i with synchronous execution on the different execution units 2-i takes the same amount of time. The results are then simultaneously available in the safety mode VM with synchronous processing of the switching device 1. If the results agree, the corresponding data will be released. If there is a signal deviation, a predetermined error reaction occurs.
  • FIG. 2 shows a possible embodiment of the system 3 according to the invention.
  • the system 3 has a dual-core system with two execution units 2A, 2B.
  • the execution unit 2A executes programs exclusively event-controlled (ET: Event Triggered) and the other execution unit 2B executes programs exclusively time-controlled (TT: Time Triggered).
  • the two execution units 2 A, 2 B are connected to a switching and comparison circuit 1, which is described in detail in connection with FIG.
  • the execution units 2A, 2B may be a microprocessor, a co-processor, an arithmetic logic unit ALU, a digital signal processor DSP, a floating-point calculation unit FPU, or any arbitrary calculation unit.
  • the programs or tasks running on the cores or execution units 2A, 2B are marked in such a way that it is possible to detect whether they are to be executed in an event-controlled or time-controlled manner.
  • the programs can be application programs or programs of the operating system BS.
  • a first part of the operating system BS runs on the execution unit 2A, while another part of the operating system BS is executed on the execution unit 2B.
  • the number of processes or programs is divided into programs that are event-driven and programs that are time-controlled.
  • interrupts that can occur in the system are also assigned offline to the various operating modes.
  • these interrupt-specific programs or tasks are assigned functionally, so that preferably a corresponding assignment also takes place for the execution units 2.
  • interrupts are blocked in a scheduled execution of a program for an execution unit.
  • only time interrupts are allowed in the timed execution of a program.
  • the system 3 is a dual-core system with two execution units 2A, 2B.
  • the system 3 has at least three execution units 2.
  • At least two execution units 2 of three execution units in a comparison operating mode VM preferably execute the same program.
  • the program executed simultaneously by the two execution units 2 is executed in a time-controlled manner.
  • the system 3 has a first group of execution units 2, each of which executes programs in an event-controlled manner, and a second group of execution units 2, which execute programs in a time-controlled manner.
  • each group in turn has two execution units 2, so that the system 3 in this embodiment contains a total of four execution units 2.
  • the first group of execution units 2 can be switched over independently of the second group of execution units 2 between a performance operating mode PM and a comparison operating mode VM.
  • two execution units 2 of the first group of execution units 2 in a performance mode PM independently operate on different programs, while execution units 2 of the other group simultaneously execute the same program in the compare operation mode VM.
  • the group of execution units 2 includes In a preferred embodiment, at least two execution units 2 each.
  • the execution units 2 are connected to the switching and comparison circuit 1.
  • the switching and comparison circuit 1 preferably performs a majority decision based on the signals output by the execution units 2 of this group and switches the signal for further data processing which gives the least signal deviation the other output from the execution units 2 of this group signals.
  • an execution unit 2 operated in the comparison operating mode VM has its output signal having a high signal deviation from the remaining execution units 2 of the same group of output signals output, then performs a self-test in a performance operating mode PM. If this self-test indicates that the execution unit 2 is actually faulty, this is subsequently deactivated in one possible embodiment.
  • the system 3 according to the invention is particularly suitable for a motor control.
  • a motor control on the one hand there are predominantly time-controlled processes or programs which run in a fixed time frame, for example a safety monitoring or a driver request inquiry.
  • event-controlled processes in particular processes or programs that run synchronously with the crankshaft.
  • the rotational speed of a crankshaft for driving a piston within an engine is not absolutely constant. Therefore, a sensor, for example an angle sensor, which indicates the angle of rotation of the crankshaft is provided on the crankshaft. If the crankshaft reaches a specified angular position, the angle sensor triggers an interrupt, which represents an event.
  • the program or the task is triggered or its execution triggered.
  • Another example of such events is, for example, a flag issued by a program to indicate that the program is finished. Such events can trigger a software or hardware interrupt.
  • a program In the timed execution of a program, a program is started or triggered when a system clock reaches a certain time value. In such a timed execution of a program, the execution of the programs is usually done periodically. For example, certain sensors are read out every 1 ms, a control program is called for an actuator every 10 ms, a monitoring program is called every 20 ms and a temperature sensor is read out every 40 ms. The longest period duration is for example 40 ms, so that the program calls repeat every 40 ms.
  • the system 3 according to the invention makes it possible to decouple event-controlled programs from time-controlled programs.
  • a logically consecutive sequence of time-controlled programs or processes is not interrupted by crankshaft-synchronous processes.
  • the effort required to manage the program changes is minimized and the administrative overhead saved can be used effectively for a performance or performance gain.
  • the system 3 according to the invention leads to a reduction of the complexity, since conflict cases with all their difficult-to-understand individual characteristics are avoided. This also facilitates the coding of software for the inventive system 3 considerably.
  • all programs or tasks in the comparison mode VM are also time-controlled.
  • the scheduling then triggers a sufficiently high prioritized interrupt on the event triggered part when a process or a program to be executed in the comparison operating mode VM occurs, so that event-triggered execution units 2 then execute the process in parallel, ie. H. can run VM in compare mode.
  • FIG. 3 shows a further embodiment of the system 3 according to the invention.
  • the first execution unit 2A executes programs not only event-triggered or event-triggered (ET), but additionally executes further program parts which are time-controlled (TT).
  • the other execution unit 2B of the dual-core system 3 shown in FIG. 3 executes programs in a time-controlled manner.
  • Such an embodiment is used in particular when the timed portion of the programs is significantly larger than the event-driven portion of the programs.
  • the relatively small proportion of event-driven programs is executed by a single core or by a single execution unit 2A.
  • those time-controlled programs or operating system parts are executed by the execution unit 2A, which match the event-triggered programs also executed there.
  • FIG. 4 shows a further embodiment of the system 3 according to the invention, in which case the event-triggered programs are divided between the two processors or execution units 2A, 2B, while the time-controlled program parts are executed exclusively by the first execution unit 2A.
  • the embodiment shown in FIG. 4 is particularly suitable for systems in which the proportion of event-controlled programs or tasks is substantially greater than the proportion of time-controlled program parts.
  • the system 3 according to the invention is suitable for applications in which requirements are present both for time-controlled and for event-controlled execution of programs.
  • the system 3 is used such that at least one execution unit 2 runs in a timed scheme, while the other execution unit 2 runs in an event-driven scheme.
  • the two system strategies can be fulfilled simultaneously, without one strategy having a detrimental effect on the other strategy.
  • the system 3 according to the invention does not require separate optimization of the respective scheduling method for the time-controlled and event-controlled programs.
  • the system 3 according to the invention is relatively simple in structure and less complex, since certain conflicts can not occur at all. This leads to a cost reduction in the variety, maintainability, traceability and testing of programs. By separating into event-controlled and time-controlled programs, a significant reduction in the number of task changes is achieved.
  • the system 3 according to the invention is particularly suitable for driving an engine.
  • This engine may be, for example, an internal combustion engine, but also an electric motor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die vorliegende Erfindung schafft ein System mit mehreren Ausführungseinheiten, wobei mindestens eine Ausführungseinheit (2A) Programme ereignisgesteuert ausführt und mindestens eine andere Ausführungseinheit (2B) Programme nur zeitgesteuert ausführt.

Description

Beschreibung
Titel
Elektronisches System
Die Erfindung betrifft ein System mit mehreren Ausführungseinheiten, welche sich insbesondere zur Steuerung eines Motors eignet.
Elektronische Systeme können mehrere integrierte Ausführungseinheiten aufweisen. Bei den Ausführungseinheiten kann es sich dabei um einen vollständigen Mikroprozessor, eine CPU (Central Processing Unit) oder auch um eine Berechnungseinheit, wie beispielsweise eine Gleitpunktberechnungseinheiten FPU (Floating Point Unit) oder um eine arithmetisch logische Berechnungseinheit ALU (Arithmetic Logic Unit) handeln. Weitere mögliche Ausführungseinheiten sind digitale Signalprozessoren oder Co- Prozessoren. So genannte Dual- Core-Systeme verfügen über zwei Rechnerkerne bzw. Cores, die auf einem Chip integriert sind. Bei Dual-Core-Rechnerarchitekturen können die Rechnerkerne gleichzeitig verschiedene Programme ausführen. Bei derartigen Systemen können die Ausführungseinheiten entweder identisch aufgebaut sein oder auch unterschiedlich. Beispielsweise gibt es Systeme mit mehreren Ausführungseinheiten, die neben einem Multi-Purpose bzw. allgemein einsetzbaren Rechnerkern einen dezidierten Rechnerkern, beispielsweise einen digitalen Signalpro- zessor DSP zur Signalverarbeitung, aufweisen. Derartige Dual- bzw. Mehr-Core-
Rechnerarchitekturen zeichnen sich durch eine sehr geringe Leistungsaufnahme aus, so- dass auch die erzeugte Wärmeleistung geringer ist. Darüber hinaus weisen Systeme mit mehreren Ausführungseinheiten im Vergleich zu Single-Core-Systemen, die eine Perfor- manz- bzw. Leistungserhöhung durch eine Taktfrequenzerhöhung erzielen, eine geringere elektromagnetische Abstrahlung auf.
Man unterscheidet zwischen zeitgesteuerten und ereignisgesteuerten Systemen. Beispielsweise gibt es ereignisgesteuerte Bussysteme wie CAN oder zeitgesteuerte Bussysteme. Ereignisgesteuerte Bussysteme eignen sich durch eine hohe Flexibilität aus und können vielseitig eingesetzt werden. Bei hohen Lasten ist das Verhalten eines ereignisgesteuerten Bussystems bezüglich einer über den Bus übertragenen Nachricht ohne ein ausgereiftes Scheduling nicht gut vorhersagbar. Daher wird bei sicherheitsrelevanten Anwendungspro- grammen, die Nachrichten über einen Bus übertragen, meist eine zeitgesteuerte Übertragung der Nachrichten, beispielsweise TTP/C, Flexray, TTCAN vorgezogen. Bei einer zeitgesteuerten Übertragung von Nachrichten über dem Bus hängt das Übertragungsverhalten nicht mehr von der Last ab, sodass die Planbarkeit, Vorhersagbarkeit und Übersichtlichkeit des Systems erhöht wird.
Auch auf Betriebssystemebene können Programme zeitgesteuert oder ereignisgesteuert ausgeführt werden. Beispielsweise handelt es sich bei OSEK-Time um einen rein zeitgesteuerten Betriebssystemstandard. Sowohl ereignis- als auch zeitgesteuerte Systeme haben in den jeweiligen Anwendungsfeldern Vor- und Nachteile. In einem Konfliktfall, bei dem eine ereignisgesteuerte Anforderung auf eine zeitgesteuerte Anforderung trifft, werden bei herkömmlichen Systemen Festlegungen getroffen, welche Anforderung eine höhere Priorität aufweist und somit zuerst bearbeitet wird. Die Anforderung mit der niedrigen Priorität muss dann warten, sodass die jeweilige zeitgesteuerte Strategie oder die ereignisgesteuerte Stra- tegie nicht mehr erfüllt werden kann.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein System schaffen, welches die effiziente Ausführung sowohl von zeitgesteuerten als auch ereignisgesteuerten Programmen gewährleistet.
Diese Aufgabe wird erfindungsgemäß System mit den im Patentanspruch 1 angegebenen Merkmalen gelöst.
Die Erfindung schafft ein System mit mehreren Ausführungseinheiten, wobei mindestens eine Ausführungseinheit Programme ereignisgesteuert ausführt und mindestens eine andere Ausführungseinheit Programme zeitgesteuert ausführt.
Bei einer Ausführungsform des erfindungsgemäßen Systems werden die Ausführungseinheiten durch einen Mikroprozessor, einen Co-Prozessor, eine arithmetisch logische Einheit A- LU, einen digitalen Signalprozessor DSP, oder durch eine Gleitpunktberechnungseinheit FPU (Floating Point Unit) gebildet.
Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Systems werden die darauf auszuführenden Programme derart gekennzeichnet, dass erfassbar ist, ob sie ereignisge- steuert oder zeitgesteuert auszuführen sind. Bei einer Ausführungsform des erfindungsgemäßen Systems werden Interrupts bei der zeitgesteuerten Ausführung des Programms blockiert.
Bei einer alternativen Ausführungsform des erfindungsgemäßen Systems werden Interrupts bei der zeitgesteuerten Ausführung des Programms nicht blockiert.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Systems wird dieses durch ein Dual-Core-System mit zwei Ausführungseinheiten gebildet.
Bei einer Ausführungsform des erfindungsgemäßen Systems weist das Mehrprozessorsystem mindestens drei Ausführungseinheiten auf.
Bei einer Ausführungsform des erfindungsgemäßen Systems führen mindestens zwei Ausführungseinheiten der drei Ausführungseinheiten in einem Vergleichs- Betriebsmodus (VM) gleichzeitig das gleiche Programm aus.
Bei einer Ausführungsform des erfindungsgemäßen Systems wird das Programm durch mindestens zwei Ausführungseinheiten gleichzeitig zeitgesteuert ausgeführt.
Bei einer Ausführungsform des erfindungsgemäßen Systems ist eine Umschalt- und eine Vergleichsschaltung vorgesehen, an die alle Ausführungseinheiten angeschlossen sind.
Bei einer Ausführungsform des erfindungsgemäßen Systems ist das Mehrprozessorsystem zwischen einem Performanz- Betriebsmodus (PM) und einem Vergleichs- Betriebsmodus (VM) umschaltbar.
Bei einer Ausführungsform des erfindungsgemäßen Systems weist dieses eine erste Gruppe von Ausführungseinheiten auf, die jeweils Programme ereignisgesteuert ausführen, und eine zweite Gruppe von Ausführungseinheiten, die jeweils Programme zeitgesteuert ausführen.
Bei einer Ausführungsform des erfindungsgemäßen Systems ist eine Gruppe von Ausführungseinheiten unabhängig von der anderen Gruppe von Ausführungseinheiten zwischen einem Performanz-Betriebsmodus (PM) und einem Vergleichs- Betriebsmodus (VM) umschaltbar.
Dabei weisen die beiden Gruppen von Ausführungseinheiten vorzugsweise jeweils mindestens zwei Ausführungseinheiten auf. Bei einer Ausführungsform des erfindungsgemäßen Systems führt die Umschalt- und Vergleichsschaltung in jeder der beiden Gruppen von Ausführungseinheiten, wenn diese in dem Vergleichs-Betriebsmodus (VM) geschaltet sind, eine Mehrheitsentscheidung anhand der von den Ausführungseinheiten dieser Gruppe abgegebenen Signale durch und schaltet dasjenige Signal zur weiteren Datenverarbeitung durch, das die geringste Signalabweichung zu den übrigen, von den Ausführungseinheiten dieser Gruppe abgegebenen Signale aufweist.
Bei einer Ausführungsform des erfindungsgemäßen Systems führt eine in einem Vergleichs- Betriebsmodus VM betriebene Ausführungseinheit deren Ausgangssignale eine hohe Signalabweichung zu den übrigen Ausführungseinheiten derselben Gruppe von abgegebenen Ausgangssignalen aufweist, anschließend in einem Performanz-Betriebsmodus PM einen Selbsttest aus.
Dabei wird die Ausführungseinheit vorzugsweise deaktiviert, wenn der Selbsttest ergibt, dass diese Ausführungseinheit fehlerhaft ist.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Systems bildet eine bei der ereignisgesteuerten Ausführung eines Programms erreichte vorbestimmte Winkelstellung einer Motorkurbelwelle ein auslösendes Ereignis.
Das erfindungsgemäße System ist insbesondere zur Steuerung eines Motors verwendbar.
Bei dem Motor kann es sich beispielsweise um einen Elektromotor oder um einen Verbren- nungsmotor handeln.
Im Weiteren werden bevorzugte Ausführungsformen des erfindungsgemäßen Systems unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.
Es zeigen:
Figur 1 ein Blockschaltbild einer möglichen Ausführungsform des erfindungsgemäßen
Systems;
Figur 2 ein Dual-Core-System zur Darstellung einer möglichen Ausführungsform des erfindungsgemäßen Systems; Figur 3 ein Dual-Core-System zur Darstellung einer weiteren Ausführungsform des erfindungsgemäßen Systems;
Figur 4 ein Dual-Core-System zur Darstellung einer weiteren Ausführungsform des erfindungsgemäßen Systems.
Wie man aus Figur 1 erkennen kann, ist eine Umschalt- und Vergleichsschaltung 1 ein- gangsseitig an N+l Ausführungseinheiten 2 angeschlossen und erhält logische Eingangs- Signale E0, Ei, E2, E3 ... EN von den Ausführungseinheiten 2-i. Die Umschalt- und Vergleichseinheit 1 enthält eine Vergleichslogik IA und eine Schaltlogik IB.
Das in Figur 1 dargestellte System 3 bzw. Mehrprozessorsystem kann in mindestens zwei Betriebmodi betrieben werden. In einem ersten Betriebsmodus zur Leistungssteigerung, der auch als Performanz- Betriebsmodus PM bezeichnet wird, verarbeiten die Ausführungseinheiten 1-i bzw. Cores parallel unterschiedliche Programme bzw. Tasks. Bei den Ausführungseinheiten 2-i kann es sich um beliebige Ausführungseinheiten 2-i zur Ausführung einer Berechnungsanweisung, beispielsweise um einen Prozessor, eine Gleitpunktberechnungseinheit FPU, einen digitalen Signalprozessor DSP, einen Co-Prozessor oder um eine arith- metisch logische Berechnungseinheit ALU handeln. Die Abarbeitung der Programme durch die verschiedenen Ausführungseinheiten 2-i im Performanz-Modus PM kann synchron oder asynchron durchgeführt werden. Im Leistungsmodus erfolgt keine redundante Bearbeitung, sondern die Ausführungseinheiten 2-i führen verschiedene Berechnung bzw. Programme parallel durch. Im reinen Performanz-Betriebsmodus PM werden alle Eingangssignale E, auf entsprechende Ausgangssignale A1 geschaltet bzw. geleitet.
Neben dem Einsatz eines höher performanten Berechnungssystems besteht der zweite Grund für eine Multi-Core- Architektur darin, die Sicherheit der Signalverarbeitung zu steigern, indem mehrere Ausführungseinheiten 2-i redundant das gleiche Programm abarbeiten. In diesem zweiten Betriebsmodus, der auch als Sicherheitsmodus bzw. Safety Mode oder Vergleichs- Betriebsmodus VM bezeichnet wird, werden die Ergebnisse bzw. logischen Ausgangssignale der Ausführungseinheiten durch die Umschalt- und Vergleichsschaltung 1 miteinander verglichen, sodass ein aufgetretener Fehler bzw. eine Signalabweichung durch einen Vergleich auf Übereinstimmung erkannt werden kann. Im reinen Vergleichs- Betriebsmodus VM werden daher alle Eingangssignale E1 auf nur genau ein einziges Ausgangssignal A, geleitet bzw. abgebildet. Mischformen sind möglich. In der konfigurierbaren Schaltlogik IB wird angegeben, wie viele Ausgangsanschlüsse bzw. Ausgangssignale A1 vorgesehen sind. Weiterhin wird in der Schaltlogik IB abgelegt, welche Eingangssignale E1 zu welchem der Ausgangssignale A, beitragen. In der Schaltlogik IB ist somit eine Abbildungsfunktion abgelegt, die Eingangssignale E, verschiedenen Ausgangssignalen A, zuordnen.
Die Verarbeitungslogik IA legt bei jedem Ausgangssignal A1 fest, in welcher Form die Eingangssignale zu dem jeweiligen Ausgangssignal beitragen. Beispielsweise wird das Ausgangssignal A0 durch die Eingangssignale Ei, ..., EN erzeugt. Für M=I entspricht dies einfach einer Durchschaltung eines Eingangssignals. Für M=2 werden zwei Eingangssignale Ei, E2 miteinander verglichen. Dieser Vergleich kann synchron oder asynchron durch die Schaltung 1 durchgeführt werden. Dabei kann der Vergleich bitweise erfolgen oder alternativ werden nur signifikante Bits miteinander verglichen. Bei M>3 bestehen verschiedene Möglichkeiten. Eine erste Möglichkeit besteht darin, dass alle Signale miteinander verglichen werden und bei Vorhandensein mindestens zweier verschiedener Werte ein Fehler detektiert wird, der optional durch die Umschalt- und Vergleichsschaltung 1 signalisiert wird. Eine weitere Möglichkeit besteht darin, dass eine K aus m-Auswahl vorgenommen wird, wobei K>M/2 ist. Dies wird bei einer Ausführungsform durch das Vorsehen von Vergleichern bzw. Komparatoren realisiert. Dabei wird optional ein erstes Fehlersignal generiert, wenn eines der Eingangssignale als abweichend von den anderen Eingangssignalen erkannt wird. Bei einem von dem ersten Fehlersignal verschiedenen zweiten Fehlersignal können alle drei Eingangssignale voneinander abweichen. Bei einer weiteren Ausführungsform werden die Eingangssignalwerte einer weiteren Berechnungseinheit zugeführt, die beispielsweise einen Mittelwert oder einen Medianwert berechnet bzw. einen fehlertoleranten Algorithmus FTA durchführt. Bei einem fehlertoleranten Algorithmus werden die Extremwerte der Eingangssignalwerte gestri- chen bzw. ignoriert und eine Mittlung über die restlichen Signalwerte vorgenommen. Bei einer Ausführungsform erfolgt die Mittlung über die gesamte Menge der restlichen Signalwerte. Bei einer alternativen Ausführungsform erfolgt eine Mittelung über eine in der Hardware leicht zu bildende Teilmenge der verbleibenden Signalwerte. Während bei der Mittelwertbildung lediglich eine Addition und eine Division vorgenommen werden müssen, erfordern FTM, FTA oder die Medianwertbildung teilweise eine Sortierung der Eingangssignalwerte. Bei einer Ausführungsform wird bei hinreichend großen Signalabweichungen bzw. Extremwerten optional ein Fehlersignal ausgegeben bzw. angezeigt. Die verschiedenen genannten Möglichkeiten zur Signalverarbeitung zu einem Signal stellen Vergleichsoperationen dar. Die Verarbeitungslogik IA legt die genaue Gestaltung der vorzunehmenden Vergleichsoperation für jedes Ausgangssignal A1 und somit auch für die Eingangssignale E1 fest. Die Kombination der Informationen innerhalb der Schaltlogik IB, d. h. die Zuordnungsfunktion der in der Verarbeitungslogik IA angegebenen Vergleichsoperation pro Ausgangssignal bzw. pro Funkti- onswert stellt eine Betriebsmodusinformation dar und legt den Betriebsmodus fest. Diese Information ist in der Regel mehrwertig und wird durch mehr als ein logisches Bit dargestellt. Für den Fall, dass nur zwei Ausführungseinheiten 2-i vorgesehen ist und somit nur ein Vergleichsmodus existiert, kann die gesamte Information in dem Betriebsmodus auf ein einziges logisches Bit kompensiert werden.
Eine Umschaltung des Systems 3 von dem Performanz-Betriebsmodus PM in einen Ver- gleichs-Betriebsmodus VM erfolgt im Allgemeinen dadurch, dass die Ausführungseinheiten 2-i, die in dem Performanz-Betriebsmodus PM auf verschiedene Signalausgänge abgebildet bzw. durchgeschaltet sind, in dem Vergleichsbetriebsmodus VM auf den gleichen Signalausgang abgebildet bzw. durchgeschaltet werden. Vorzugsweise wird dies dadurch realisiert, dass eine Teilmenge von Ausführungseinheiten 2-i vorgesehen werden, bei denen im Performanz-Betriebsmodus PM alle Eingangssignale E„ die in der Teilmenge zu berücksichtigen sind, direkt auf korrespondierende Ausgangssignale A1 geschaltet werden, während die Ein- gangssignale in dem Vergleichsmodus VM alle auf einen einzigen Signalausgang abgebildet bzw. an diesen durchgeschaltet werden. Alternativ kann eine Umschaltung dadurch realisiert werden, dass Paarungen geändert werden.
Zwischen den verschiedenen Betriebsmodi kann, über die Software gesteuert, dynamisch im laufenden Betrieb umgeschaltet werden. Ausgelöst wird die Umschaltung bei einer Ausführungsform über die Ausführung von speziellen Umschaltbefehlen bzw. Umschaltinstruktionen, speziellen Instruktionssequenzen, explizit gekennzeichneten Instruktionen oder durch den Zugriff auf bestimmte Adressen durch mindestens eine der Ausführungseinheiten 2-i des Systems 3.
Die Umschaltung zwischen dem Sicherheitsmodus VM, in dem eine redundante Abarbeitung und Prüfung erfolgt und den Leistungs- bzw. Performanz-Betriebsmodus PM, bei dem eine Leistungssteigerung durch separate Programmabarbeitung erreicht wird, erfolgt durch die Umschalteinrichtung 1. Bei einer Ausführungsform erfolgen zur Umschaltung eine Kenn- Zeichnung der Programme, Anwendungsprogramme, Programmteile oder auch der Programmbefehle durch eine Kennung, durch welche erkennbar ist, ob diese Programmbefehle sicherheitsrelevant sind, d. h. in dem Vergleichsbetriebsmodus VM abgearbeitet werden müssen, oder dem Leistungs- bzw. Performanz-Betriebsmodus PM zugänglich gemacht werden können. Die Kennzeichnung kann durch ein Bit in dem Programmbefehl erfolgen. Alternativ kann durch einen speziellen Programmbefehl die darauf folgende Sequenz gekennzeichnet werden. Im Vergleichsbetriebsmodus VM dauert die Berechnung der Ergebnisse bzw. Ausgangssignale der Ausführungseinheiten 2-i bei synchroner Abarbeitung auf den verschiedenen Ausführungseinheiten 2-i gleich lang. Die Ergebnisse stehen dann im Sicherheitsbetriebsmodus VM bei synchroner Abarbeitung der Umschalteinrichtung 1 gleichzeitig zur Verfügung. Stirn - men die Ergebnisse überein, so werden die entsprechenden Daten freigegeben. Bei einer Signalabweichung erfolgt eine vorgegebene Fehlerreaktion.
Befindet sich das System 3 im Performanzbetriebsmodus PM, werden die Programme parallel abgearbeitet und Komparatoren bzw. Vergleiche innerhalb der Umschalt- und Vergleichs- Schaltung 1 werden nicht angesteuert.
Figur 2 zeigt eine mögliche Ausführungsform des erfindungsgemäßen Systems 3. Bei der in Figur 2 dargestellten Ausführungsform weist das System 3 ein Dual-Core-System mit zwei Ausführungseinheiten 2A, 2 B auf. Bei der in Figur 2 dargestellten Ausführungsform führt die Ausführungseinheit 2A Programme ausschließlich ereignisgesteuert (ET: Event Triggered) aus und die andere Ausführungseinheit 2B führt Programme ausschließlich zeitgesteuert (TT: Time Triggered) aus. Die beiden Ausführungseinheiten 2 A, 2 B sind an eine Umschalt- und Vergleichsschaltung 1 angeschlossen, die im Detail in Zusammenhang mit Figur 1 beschrieben ist. Bei den Ausführungseinheiten 2A, 2 B kann es sich um einen Mikroprozessor, einen Co-Prozessor, eine arithmetisch logische Einheit ALU, ein digitalen Signalprozessor DSP, eine Gleitpunktberechnungseinheit FPU oder um eine beliebige Berechnungseinheit handeln. Die auf den Cores bzw. Ausführungseinheiten 2A, 2B laufenden Programme bzw. Tasks sind derart gekennzeichnet, dass erfassbar ist, ob sie jeweils ereignisgesteuert oder zeitgesteuert auszuführen sind. Bei den Programmen kann es sich um Anwendungspro- gramme oder um Programme des Betriebssystems BS handeln. Bei dem erfindungsgemäßen Mehrprozessorsystem 3, wie es in Figur 2 dargestellt ist, läuft beispielsweise ein erster Teil des Betriebssystems BS auf der Ausführungseinheit 2A, während ein anderer Teil des Betriebssystems BS auf der Ausführungseinheit 2B ausgeführt wird. Vorzugsweise wird für jede Ausgabe bzw. Thread bzw. Task bzw. Prozess offline festgelegt, ob er ereignisgesteu- ert bzw. event triggered ET oder zeitgesteuert bzw. time triggered TT abzulaufen hat. Die Menge der Prozesse bzw. Programme wird aufgeteilt, nämlich in Programme, die ereignisgesteuert sind und in Programme, die zeitgesteuert sind. Wenn online ein Programm bzw. ein Prozess zum Scheduling bzw. zur Zuweisung zu einem Prozessorkern ansteht, wird geprüft, zu welcher Art von Programmen der Prozess gehört. Bei einer möglichen Ausführungs- form wird anhand einer bei dem Programm vorgesehenen Kennung festgestellt, ob dieses Programm bzw. dieser Programmteil bzw. dieser Task ereignisgesteuert oder zeitgesteuert auszuführen ist. Ein ereignisgesteuert auszuführender Programmteil wird bei der in Figur 2 dargestellten Ausführungsform der Ausführungseinheit 2A und ein zeitgesteuerter Pro- grammteil der Ausführungseinheit 2 B zugewiesen.
Bei einer weiteren Ausführungsform des erfindungsgemäßen Systems 3 werden auch Inter- rupts, die in dem System auftreten können, offline den verschiedenen Betriebsmodi zugeordnet. Gegebenfalls sind diese Interrupts-bestimmten Programme bzw. Tasks funktionell zugeordnet, sodass vorzugsweise eine entsprechende Zuordnung auch für die Ausführungseinheiten 2 erfolgt.
Bei einer möglichen Ausführungsform werden bei einer zeitgesteuerten Ausführung eines Programms für eine Ausführungseinheit Interrupts blockiert.
Bei einer weiteren Ausführungsform werden lediglich Zeit- Interrupts bei der zeitgesteuerten Ausführung eines Programms zugelassen.
Bei der in Figur 2 dargestellten Ausführungsform handelt es sich bei dem System 3 um ein Dual-Core-System mit zwei Ausführungseinheiten 2A, 2B. Bei weiteren Ausführungsformen weist das System 3 mindestens drei Ausführungseinheiten 2 auf. Dabei führen mindestens zwei Ausführungseinheiten 2 von drei Ausführungseinheiten in einem Vergleichs- Betriebmodus VM vorzugsweise das gleiche Programm aus. Bei einer möglichen Ausführungsform wird das von den beiden Ausführungseinheiten 2 gleichzeitig ausgeführte Programm zeitgesteuert ausgeführt.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Systems 3 weist das System 3 eine erste Gruppe von Ausführungseinheiten 2 auf, die jeweils Programme ereignisgesteuert ausführen und eine zweite Gruppe von Ausführungseinheiten 2, die jeweils Programme zeitgesteuert ausführen. Beispielsweise weist jede Gruppe ihrerseits zwei Ausführungseinheiten 2 auf, sodass das System 3 bei dieser Ausführungsform insgesamt vier Ausführungseinheiten 2 enthält.
Dabei ist vorzugsweise die erste Gruppe von Ausführungseinheiten 2 unabhängig von der zweiten Gruppe von Ausführungseinheiten 2 zwischen einem Performanz-Betriebsmodus PM und einem Vergleichs-Betriebsmodus VM umschaltbar. Beispielsweise arbeiten zwei Ausführungseinheiten 2 der ersten Gruppe von Ausführungseinheiten 2 in einem Perfor- manz-Betriebsmodus PM unabhängig voneinander an verschiedenen Programmen, während die Ausführungseinheiten 2 der anderen Gruppe gleichzeitig im Vergleichsbetriebsmodus VM das gleiche Programm abarbeiten. Die Gruppe von Ausführungseinheiten 2 weist bei einer bevorzugten Ausführungsform jeweils mindestens zwei Ausführungseinheiten 2 auf. Die Ausführungseinheiten 2 sind an die Umschalt- und Vergleichsschaltung 1 angeschlossen. Wenn die Ausführungseinheiten 2 in dem Vergleichs-Betriebsmodus VM geschaltet sind, führt die Umschalt- und Vergleichsschaltung 1 vorzugsweise eine Mehrheitsentschei- düng anhand der von den Ausführungseinheiten 2 dieser Gruppe abgegebenen Signale durch und schaltet dasjenige Signal zur weiteren Datenverarbeitung durch, das die geringste Signalabweichung zu den übrigen von den Ausführungseinheiten 2 dieser Gruppe abgegebenen Signale aufweist.
Bei einer bevorzugten Ausführungsform führt eine in dem Vergleichs-Betriebsmodus VM betriebene Ausführungseinheit 2 deren Ausgangssignal eine hohe Signalabweichung zu den übrigen Ausführungseinheiten 2 derselben Gruppe von abgegebenen Ausgangssignalen aufweist, anschließend in einem Performanz-Betriebsmodus PM einen Selbsttest aus. Ergibt dieser Selbsttest, dass die Ausführungseinheit 2 tatsächlich fehlerhaft ist, wird diese bei ei- ner möglichen Ausführungsform anschließend deaktiviert.
Das erfindungsgemäße System 3 eignet sich insbesondere für eine Motorsteuerung. Bei einer Motorsteuerung gibt es einerseits vorwiegend zeitgesteuerte Prozesse bzw. Programme, die in einem festen Zeitraster ablaufen, beispielsweise eine Sicherheitsüberwachung oder eine Fahrerwunschabfrage. Andererseits gibt es ereignisgesteuerte Prozesse, insbesondere Prozesse bzw. Programme, die kurbelwellensynchron ablaufen. Die Rotationsgeschwindigkeit einer Kurbelwelle zum Antrieb eines Kolben innerhalb eines Motors ist nicht absolut konstant. Daher ist an der Kurbelwelle ein Sensor, beispielsweise ein Winkelsensor vorgesehen, der den Drehwinkel der Kurbelwelle angibt. Erreicht die Kurbelwelle eine vorge- gebene Winkelstellung, löst der Winkelsensor einen Interrupt aus, der ein Ereignis darstellt. Bei der ereignisgesteuerten Ausführung eines Programms und bei Eintreten des Ereignisses wird das Programm bzw. die Task getriggert bzw. deren Ausführung ausgelöst. Ein weiteres Beispiel für derartige Ereignisse ist beispielsweise ein Flag, welches durch ein Programm ausgegeben wird, um anzuzeigen, dass das Programm fertig ist. Derartige Ereignisse kön- nen einen Software- bzw. Hardware-Interrupt auslösen.
Bei der zeitgesteuerten Ausführung eines Programms wird ein Programm dann gestartet bzw. ausgelöst, wenn eine Systemuhr einen bestimmten Zeitwert erreicht. Bei einer derartigen zeitgesteuerten Ausführung eines Programms erfolgt die Ausführung der Programme in der Regel periodisch. Beispielsweise werden alle 1 ms bestimmte Sensoren ausgelesen, alle 10 ms ein Steuerprogramm für einen Aktor aufgerufen, alle 20 ms ein Überwachungsprogramm aufgerufen und alle 40 ms ein Temperatursensor ausgelesen. Die längste Perioden- dauer beträgt beispielsweise 40 ms, sodass sich die Programmaufrufe alle 40 ms wiederholen.
Durch das erfindungsgemäße System 3 ist es möglich, ereignisgesteuerte Programme von zeitgesteuerten Programmen zu entkoppeln. Es ist insbesondere möglich, sicherzustellen, dass eine logisch aufeinander folgende Sequenz von kurbelwellensynchronen Prozessen bzw. ereignisgetriggerten Programmen nicht durch zeitgesteuerte Programme unterbrochen werden, sodass die Anzahl von Taskwechseln einschließlich der dazu benötigten Verwaltungszeit minimiert wird. Umgekehrt wird mit dem erfindungsgemäßen System 3 sicherge- stellt, dass eine logisch aufeinander folgende Sequenz von zeitgesteuerten Programmen bzw. Prozessen nicht durch kurbelwellensynchrone Prozesse unterbrochen werden. Hierdurch wird der benötigte Aufwand zur Verwaltung der Programmwechsel minimiert und der eingesparte Verwaltungsaufwand kann effektiv für einen Performanz- bzw. Leistungsgewinn eingesetzt werden. Darüber hinaus führt das erfindungsgemäße System 3 zu einer Reduzie- rung der Komplexität, da Konfliktfälle mit all ihren schwer überschaubaren Einzelausprägungen vermieden werden. Dies erleichtert auch die Codierung von Software für das erfindungsgemäße System 3 erheblich.
Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Systems 3 werden alle Programme bzw. Tasks im Vergleichsmodus VM auch zeitgesteuert. Das Scheduling löst dann bei Anstehen eines Prozesses bzw. eines Programms, das in dem Vergleichs- Betriebsmodus VM auszuführen ist, auf dem ereignisgetriggerten Teil einen hinreichend hoch priorisierten Interrupt aus, sodass ereignisgetriggerten Ausführungseinheiten 2 den Prozess dann parallel, d. h. im Vergleichs-Betriebsmodus VM ausführen können.
Figur 3 zeigt eine weitere Ausführungsform des erfindungsgemäßen Systems 3. Bei dieser Ausführungsform führt die erste Ausführungseinheit 2A Programme nicht nur ereignisgesteuert bzw. ereignisgetriggert (ET) aus, sondern führt zusätzlich noch weitere Programmteile aus, die zeitgesteuert (TT) sind. Die andere Ausführungseinheit 2B des in Figur 3 darge- stellten Dual-Core-Systems 3 führt Programme zeitgesteuert aus. Eine derartige Ausführungsform wird insbesondere dann eingesetzt, wenn der zeitgesteuerte Anteil der Programme signifikant größer ist, als der ereignisgesteuerte Anteil der Programme. Der relativ geringe Anteil an ereignisgesteuerten Programmen wird durch einen einzige Core bzw. durch eine einzige Ausführungseinheit 2A ausgeführt. Vorzugsweise sind bei dieser Ausführungsform insbesondere diejenigen zeitgesteuerten Programme bzw. Betriebssystemteile durch die Ausführungseinheit 2A ausgeführt, die zu den dort ebenfalls ausgeführten ereignisgetriggerten Programmen passen. Figur 4 zeigt eine weitere Ausführungsform des erfindungsgemäßen Systems 3, wobei in diesem Falle die ereignisgetriggerten Programme auf beide Prozessoren bzw. Ausführungseinheiten 2A, 2B aufgeteilt sind, während die zeitgesteuerten Programmteile ausschließlich durch die erste Ausführungseinheit 2A ausgeführt werden. Die in Figur 4 dargestellte Ausführungsform eignet sich insbesondere für Systeme, bei denen der Anteil der ereignisgesteuerten Programme bzw. Tasks wesentlich größer ist als der Anteil der zeitgesteuerten Programmteile.
Das erfindungsgemäße System 3 eignet sich für Anwendungsfälle, in denen Anforderungen sowohl nach zeitgesteuerter als auch nach ereignisgesteuerter Abarbeitung von Programmen vorliegen. Das System 3 wird derart eingesetzt, dass mindestens eine Ausführungseinheit 2 in einem zeitgesteuerten Schema abläuft, während die andere Ausführungseinheit 2 in einem ereignisgesteuerten Schema abläuft. Damit können die beiden Systemstrategien gleichzeitig erfüllt werden, ohne dass eine Strategie eine nachteilige Auswirkung auf die andere Strategie hat.
Das erfindungsgemäße System 3 benötigt keine separate Optimierung des jeweiligen Sche- duling- Verfahrens für die zeitgesteuerten und ereignisgesteuerten Programme. Das erfin- dungsgemäße System 3 ist relativ einfach strukturiert und weniger komplex, da bestimmte Konflikte erst gar nicht auftreten können. Dies führt zu einer Aufwandsreduktion bei der Vielfalt, Wartbarkeit, Nachweisbarkeit und beim Test von Programmen. Durch Trennung in ereignisgesteuerte und zeitgesteuerte Programme wird eine deutliche Reduktion der Anzahl von Taskwechseln erreicht.
Das erfindungsgemäße System 3 eignet sich insbesondere zur Ansteuerung eines Motors. Bei diesem Motor kann es sich beispielsweise um einen Verbrennungsmotor, aber auch um einen Elektromotor handeln.

Claims

Ansprüche
1. System mit mehreren Ausführungseinheiten, wobei mindestens eine Ausführungseinheit (2A) Programme ereignisgesteuert ausführt und mindestens eine andere Ausführungseinheit (2B) Programme ausschließlich zeitgesteuert ausführt.
2. System nach Anspruch 1, wobei die Ausführungseinheit (2) durch eine CPU, einen Co-Prozessor, eine arithmetisch logische Einheit (ALU), einen digitalen Signalprozessor (DSP), oder eine Gleitpunktberechnungseinheit FPU (Floating Point Unit) gebildet wird.
3. System nach Anspruch 1, wobei die auszuführenden Programme derart gekennzeichnet sind, dass erfassbar ist, ob sie ereignisgesteuert oder zeitgesteuert auszuführen sind.
4. System nach Anspruch 1, wobei Interrupts bei der zeitgesteuerten Ausführung eines Programms blockiert werden.
5. System nach Anspruch 1, wobei Interrupts bei der zeitgesteuerten Ausführung eines Programms nicht blockiert werden.
6. System nach Anspruch 1, wobei das System ein Dual-Core-System mit zwei Ausführungseinheiten (2 A, 2B) ist.
7. System nach Anspruch 1, wobei das System mindestens drei Ausführungseinheiten (2) aufweist.
8. System nach Anspruch 6, wobei mindestens zwei Ausführungseinheiten (2) der drei Ausführungseinheiten in einem Vergleichsbetriebsmodus (VM) gleichzeitig das gleiche Programm ausführen.
9. System nach Anspruch 7, wobei das Programm durch mindestens zwei Ausführungseinheiten (2) gleichzeitig zeit- gesteuert ausgeführt wird.
10. System nach Anspruch 1, wobei eine Umschalt- und Vergleichsschaltung (1) vorgesehen ist, an die alle Ausführungseinheiten (2) angeschlossen sind.
11. System nach Anspruch 1, wobei das System (3) zwischen einem Performanz- Betriebsmodus (PM) und einem Vergleichsbetriebsmodus (VM) umschaltbar ist.
12. System nach Anspruch 1, wobei das System (3) eine erste Gruppe von Ausführungseinheiten (2) aufweist, die jeweils Programme ereignisgesteuert ausführen, und eine zweite Gruppe von Ausführungseinheiten (2) aufweist, die jeweils Programme zeitgesteuert ausführen.
13. System nach Anspruch 12, wobei eine Gruppe von Ausführungseinheiten (2) unabhängig von der anderen Gruppe von Ausführungseinheiten (2) zwischen einem Performanz- Betriebsmodus (PM) und einem Vergleichsbetriebsmodus (VM) umschaltbar ist.
14. System nach Anspruch 12, wobei jede der beiden Gruppen von Ausführungseinheiten (2) mindestens zwei Ausführungseinheiten aufweist.
15. System nach Anspruch 14, wobei die Umschalt- und Vergleichsschaltung (1) bei jeder der beiden Gruppen von Ausführungseinheiten (2), wenn diese in den Vergleichs-Betriebsmodus (VM) geschaltet sind, eine Mehrheitsentscheidung anhand der von den Ausführungseinheiten (2) dieser Gruppe abgegebenen Signale durchführt und dasjenige Signal zur weiteren Datenverarbeitung durchschaltet, das die geringste Signalabweichung zu den übrigen von den Aus- führungseinheiten (2) dieser Gruppe abgegebenen Signale aufweist.
16. System nach Anspruch 15, wobei eine in einem Vergleichsbetriebsmodus (VM) betriebene Ausführungseinheit (2) deren Ausgangssignal eine hohe Signalabweichung zu den übrigen Ausführungseinheiten (2) der selben Gruppe von abgegebenen Ausgangssignalen aufweist, anschließend in einem Performanz- Betriebsmodus (PM) einen Selbsttest ausführt.
17. System nach Anspruch 16, wobei eine Ausführungseinheit (2) deaktiviert wird, wenn der Selbsttest ergibt, dass diese Ausführungseinheit (2) fehlerhaft ist.
18. System nach Anspruch 1, wobei bei der ereignisgesteuerten Ausführung eines Programms eine vorbestimmte Winkelstellung einer Motorkurbelwelle ein auslösendes Ereignis bildet.
19. Verwendung des Systems (3) nach Anspruch 1 zur Steuerung eines Motors.
20. Verwendung des Systems nach Anspruch 19, wobei der Motor durch einen Elektromotor gebildet wird.
21. Verwendung des Systems nach Anspruch 19, wobei der Motor durch einen Verbrennungsmotor gebildet wird.
PCT/EP2007/059909 2006-10-10 2007-09-19 Elektronisches system WO2008043652A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP07820353A EP2082296A2 (de) 2006-10-10 2007-09-19 Elektronisches system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006048172.0 2006-10-10
DE200610048172 DE102006048172A1 (de) 2006-10-10 2006-10-10 Elektronisches System

Publications (2)

Publication Number Publication Date
WO2008043652A2 true WO2008043652A2 (de) 2008-04-17
WO2008043652A3 WO2008043652A3 (de) 2008-06-05

Family

ID=39092775

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/059909 WO2008043652A2 (de) 2006-10-10 2007-09-19 Elektronisches system

Country Status (3)

Country Link
EP (1) EP2082296A2 (de)
DE (1) DE102006048172A1 (de)
WO (1) WO2008043652A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543118A (zh) * 2019-08-28 2019-12-06 桂林电子科技大学 一种带触发监控的通用fpga同步触发控制器及方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5341957B2 (ja) * 2011-07-20 2013-11-13 トヨタ自動車株式会社 内燃機関の制御装置
FR2974205A1 (fr) * 2011-10-28 2012-10-19 Continental Automotive France Dispositif de commande a architecture optimisee

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4004516A1 (de) * 1990-02-14 1991-08-22 Bosch Gmbh Robert Verfahren zur verarbeitung von insbesondere bei der steuerung von brennkraftmaschinen anfallenden informationen und aktivitaeten
WO1991014988A1 (en) * 1990-03-22 1991-10-03 Square D Company An equivalent network interface module for connecting a programmable logic controller to a high speed communications network
DE4411426A1 (de) * 1993-04-06 1994-10-13 Honda Motor Co Ltd Multitask-Steuersystem
US20040210620A1 (en) * 2001-06-22 2004-10-21 Yasuo Muneta Safety network system and safety slave
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
DE60019038T2 (de) * 1999-08-14 2006-03-30 International Business Machines Corp. Intelligente Fehlerverwaltung
WO2007104662A1 (en) * 2006-03-10 2007-09-20 Abb Research Ltd. A robot controller, a computer unit and a base module for a robot controller

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4004516A1 (de) * 1990-02-14 1991-08-22 Bosch Gmbh Robert Verfahren zur verarbeitung von insbesondere bei der steuerung von brennkraftmaschinen anfallenden informationen und aktivitaeten
WO1991014988A1 (en) * 1990-03-22 1991-10-03 Square D Company An equivalent network interface module for connecting a programmable logic controller to a high speed communications network
DE4411426A1 (de) * 1993-04-06 1994-10-13 Honda Motor Co Ltd Multitask-Steuersystem
DE60019038T2 (de) * 1999-08-14 2006-03-30 International Business Machines Corp. Intelligente Fehlerverwaltung
US20040210620A1 (en) * 2001-06-22 2004-10-21 Yasuo Muneta Safety network system and safety slave
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
WO2007104662A1 (en) * 2006-03-10 2007-09-20 Abb Research Ltd. A robot controller, a computer unit and a base module for a robot controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543118A (zh) * 2019-08-28 2019-12-06 桂林电子科技大学 一种带触发监控的通用fpga同步触发控制器及方法
CN110543118B (zh) * 2019-08-28 2020-11-13 桂林电子科技大学 一种带触发监控的通用fpga同步触发控制器及方法

Also Published As

Publication number Publication date
DE102006048172A1 (de) 2008-04-17
WO2008043652A3 (de) 2008-06-05
EP2082296A2 (de) 2009-07-29

Similar Documents

Publication Publication Date Title
DE102008034500B4 (de) Arbitrierung
EP2079917B1 (de) Verfahren und vorrichtung zur überwachung einer funktionsfähigkeit einer motorsteuerung eines verbrennungsmotors
EP1917581B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
EP1700211B1 (de) Laden von software-modulen
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
EP2084606B1 (de) Verfahren zum umschalten eines systems mit mehreren ausführungseinheiten
WO2008043652A2 (de) Elektronisches system
DE10326542B4 (de) Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst
DE102015100566A1 (de) Verfahren und leichter Mechanismus für gemischte kritische Anwendungen
EP1817662B1 (de) Verfahren und vorrichtung zur umschaltung zwischen betriebsmodi eines multiprozessorsystems durch wenigstens ein externes signal
DE102005002375A1 (de) Datenverarbeitungssystem
EP1221639B1 (de) Programmierung von zyklischen Maschinen
DE10328059A1 (de) Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
EP1917587B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
WO2022084176A1 (de) Datenverarbeitungsnetzwerk zur datenverarbeitung
EP3449366A1 (de) Verfahren zum synchronisierten betrieb von mehrkernprozessoren
DE102014213826B4 (de) Verfahren zum Synchronisieren von Zustandswechseln in Mehrkernrechnern eingebetteter Systeme
DE102009009730B4 (de) Lokale Timer-Zelle deren Verwendung und Verfahren zum Betreiben eines Moduls
DE102022206816A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE102005037245A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
WO2023066625A1 (de) Datenverarbeitungsnetzwerk zur datenverarbeitung
EP1915674B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten und mit wenigstens zwei gruppen von internen zuständen
EP1069513A1 (de) Programmgesteuerte Einheit
WO2011101255A1 (de) Verfahren zum betreiben eines steuergeräts
DE102016210345A1 (de) Verfahren zur Abarbeitung von mehreren Aufgaben in einem datenverarbeitenden System mit geteilter zentraler Datenverarbeitung

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07820353

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2007820353

Country of ref document: EP