WO2008043652A2 - Electronic system - Google Patents
Electronic system Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/266—Electrical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2205—Multicore
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25342—Real time controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25367—Control 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
The invention relates to a system with several execution units, at least one execution unit (2A) carrying out programmes in an event controlled manner and an other execution unit (2B) carrying out programmes in only a time controlled manner.
Description
Beschreibung description
Titeltitle
Elektronisches SystemElectronic system
Die Erfindung betrifft ein System mit mehreren Ausführungseinheiten, welche sich insbesondere zur Steuerung eines Motors eignet.The invention relates to a system with a plurality of execution units, which is particularly suitable for controlling an engine.
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-Electronic systems may have multiple integrated execution units. 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
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.Computer architectures are characterized by a very low power consumption, so that the heat output generated is lower. In addition, 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.
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.One distinguishes between time-controlled and event-driven systems. For example, there are event-driven 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. At high loads, 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. With timed transmission of messages over the bus, the transfer behavior no longer depends on the load, thus increasing the predictability, predictability, and clarity of the system.
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.Also at the operating system level, programs can be executed time-controlled or event-controlled. For example, 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. In a case of conflict in which an event-driven request meets a timed request, 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.
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.It is therefore the object of the present invention to provide a system which ensures efficient execution of both time controlled and event driven programs.
Diese Aufgabe wird erfindungsgemäß System mit den im Patentanspruch 1 angegebenen Merkmalen gelöst.This object is achieved according to the system with the features specified in claim 1.
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.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.
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.In one embodiment of the system according to the invention, 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).
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.In a preferred embodiment of the system according to the invention, the programs to be executed thereon are identified such that it can be detected whether they are to be event-controlled or time-controlled. In one embodiment of the system according to the invention, interrupts are blocked in the timed execution of the program.
Bei einer alternativen Ausführungsform des erfindungsgemäßen Systems werden Interrupts bei der zeitgesteuerten Ausführung des Programms nicht blockiert.In an alternative embodiment of the system according to the invention, interrupts are not blocked in the timed execution of the program.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Systems wird dieses durch ein Dual-Core-System mit zwei Ausführungseinheiten gebildet.In one possible embodiment of the system according to the invention, this is formed by a dual-core system with two execution units.
Bei einer Ausführungsform des erfindungsgemäßen Systems weist das Mehrprozessorsystem mindestens drei Ausführungseinheiten auf.In one embodiment of the system according to the invention, the multiprocessor system has at least three execution units.
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.In one embodiment of the system according to the invention, at least two execution units of the three execution units execute the same program simultaneously in a comparison operating mode (VM).
Bei einer Ausführungsform des erfindungsgemäßen Systems wird das Programm durch mindestens zwei Ausführungseinheiten gleichzeitig zeitgesteuert ausgeführt.In one embodiment of the system according to the invention, the program is executed at the same time by at least two execution units.
Bei einer Ausführungsform des erfindungsgemäßen Systems ist eine Umschalt- und eine Vergleichsschaltung vorgesehen, an die alle Ausführungseinheiten angeschlossen sind.In one embodiment of the system according to the invention, a switching and a comparison circuit is provided, to which all execution units are connected.
Bei einer Ausführungsform des erfindungsgemäßen Systems ist das Mehrprozessorsystem zwischen einem Performanz- Betriebsmodus (PM) und einem Vergleichs- Betriebsmodus (VM) umschaltbar.In one embodiment of the system according to the invention, the multiprocessor system can be switched between a performance operating mode (PM) and a comparison operating mode (VM).
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.In one embodiment of the system according to the invention, 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.
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.In one embodiment of the inventive system, 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.
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.In this case, the two groups of execution units preferably each have at least two execution units. In one embodiment of the system according to the invention, 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.
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.In one embodiment of the system according to the invention, 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.
Dabei wird die Ausführungseinheit vorzugsweise deaktiviert, wenn der Selbsttest ergibt, dass diese Ausführungseinheit fehlerhaft ist.In this case, the execution unit is preferably deactivated when the self-test shows that this execution unit is faulty.
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.In one possible embodiment of the system according to the invention, a predetermined angular position of an engine crankshaft achieved during the event-controlled execution of a program constitutes a triggering event.
Das erfindungsgemäße System ist insbesondere zur Steuerung eines Motors verwendbar.The system according to the invention can be used in particular for controlling a motor.
Bei dem Motor kann es sich beispielsweise um einen Elektromotor oder um einen Verbren- nungsmotor handeln.The engine may be, for example, an electric motor or an internal combustion engine.
Im Weiteren werden bevorzugte Ausführungsformen des erfindungsgemäßen Systems unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.In the following, preferred embodiments of the system according to the invention will be described with reference to the attached figures to explain features essential to the invention.
Es zeigen:Show it:
Figur 1 ein Blockschaltbild einer möglichen Ausführungsform des erfindungsgemäßenFigure 1 is a block diagram of a possible embodiment of the invention
Systems;system;
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;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;
Figur 4 ein Dual-Core-System zur Darstellung einer weiteren Ausführungsform des erfindungsgemäßen Systems.4 shows a dual-core system for illustrating a further embodiment of the system according to the invention.
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.As can be seen from FIG. 1, 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.
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.The system 3 or multiprocessor system shown in FIG. 1 can be operated in at least two operating modes. In 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. In pure performance mode PM, all input signals E, are switched to respective output signals A 1 and passed.
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.In addition to the use of a higher-performance calculation system, 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. In 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. In 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 . Mixed forms are possible. 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.
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.The processing logic IA determines at each output signal A 1 how the input signals contribute to the respective output signal. For example, the output signal A 0 is generated by the input signals Ei, ..., E N. For M = I, this simply corresponds to switching through an input signal. For M = 2, two input signals Ei, E 2 are compared with each other. This comparison can be performed synchronously or asynchronously by the circuit 1. The comparison can be done bit by bit or alternatively only significant bits are compared. With M> 3 there are different possibilities. A first possibility is that all signals are compared with each other and an error is detected in the presence of at least two different values, which is optionally signaled by the switching and comparison circuit 1. Another possibility is to make a K m selection, where K> M / 2. This is realized in one embodiment by the provision of comparators. Optionally, a first error signal is generated when one of the input signals is detected as being different from the other input signals. In a second error signal different from the first error signal, all three input signals may differ from one another. In a further embodiment, 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. In a 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. In an alternative embodiment, 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.
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.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. Alternatively, a switch can be realized by changing pairings.
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.Between the different operating modes, the software can be used to switch dynamically during operation. In one embodiment, 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.
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.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. In one embodiment, 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. In 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.
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.If the system 3 is in the performance mode PM, the programs are processed in parallel and comparators or comparisons within the switching and comparison circuit 1 are not activated.
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.FIG. 2 shows a possible embodiment of the system 3 according to the invention. In the embodiment shown in FIG. 2, the system 3 has a dual-core system with two execution units 2A, 2B. In the embodiment shown in FIG. 2, 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. For example, in the multiprocessor system 3 according to the invention, as shown in FIG. 2, 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. Preferably, it is determined for each output or thread or task or process offline whether it has event-triggered or event-triggered ET or timed or time-triggered TT expired. The number of processes or programs is divided into programs that are event-driven and programs that are time-controlled. When a program or process for scheduling or assignment to a processor core is pending online, it is checked to which type of programs the process belongs. In one possible embodiment, it is determined by means of an identifier provided in the program whether this program or this program part or this task is to be executed in an event-controlled or time-controlled manner. An event-controlled program part is executed in the case of FIG. 2 In the embodiment shown, the execution unit 2A and a time-controlled program part are assigned to the execution unit 2B.
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.In a further embodiment of the system 3 according to the invention, interrupts that can occur in the system are also assigned offline to the various operating modes. Optionally, these interrupt-specific programs or tasks are assigned functionally, so that preferably a corresponding assignment also takes place for the execution units 2.
Bei einer möglichen Ausführungsform werden bei einer zeitgesteuerten Ausführung eines Programms für eine Ausführungseinheit Interrupts blockiert.In one possible embodiment, interrupts are blocked in a scheduled execution of a program for an execution unit.
Bei einer weiteren Ausführungsform werden lediglich Zeit- Interrupts bei der zeitgesteuerten Ausführung eines Programms zugelassen.In another embodiment, only time interrupts are allowed in the timed execution of a program.
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.In the embodiment shown in FIG. 2, the system 3 is a dual-core system with two execution units 2A, 2B. In further embodiments, 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. In one possible embodiment, the program executed simultaneously by the two execution units 2 is executed in a time-controlled manner.
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.In one possible embodiment of the system 3 according to the invention, 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. For example, 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.
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.In this case, preferably 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. For example, 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. When the execution units 2 are switched in the comparison operating mode VM, 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.
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.In a preferred embodiment, 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.
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.The system 3 according to the invention is particularly suitable for a motor control. In the case of 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. On the other hand, there are 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. During the event-driven execution of a program and when the event occurs, 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.
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.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.
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.The system 3 according to the invention makes it possible to decouple event-controlled programs from time-controlled programs. In particular, it is possible to ensure that a logically sequential sequence of crank-synchronous processes or event-triggered programs are not interrupted by timed programs, so that the number of task changes, including the administration time required for this purpose, is minimized. Conversely, it is ensured with the system 3 according to the invention that a logically consecutive sequence of time-controlled programs or processes is not interrupted by crankshaft-synchronous processes. As a result, 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. In addition, 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.
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.In a preferred embodiment of the system 3 according to the invention, 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.
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.FIG. 3 shows a further embodiment of the system 3 according to the invention. In this embodiment, 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. Preferably, in this embodiment, in particular 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.
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.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. Thus, the two system strategies can be fulfilled simultaneously, without one strategy having a detrimental effect on the other strategy.
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.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.
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.
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.
Claims
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.1. System with several execution units, wherein at least one execution unit (2A) executes programs event-controlled and at least one other execution unit (2B) executes programs only time-controlled.
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.2. System according to claim 1, wherein the execution unit (2) by a CPU, a co-processor, an arithmetic logic unit (ALU), a digital signal processor (DSP), or a floating point calculation unit FPU (Floating Point Unit) is formed.
3. System nach Anspruch 1, wobei die auszuführenden Programme derart gekennzeichnet sind, dass erfassbar ist, ob sie ereignisgesteuert oder zeitgesteuert auszuführen sind.3. System according to claim 1, wherein the programs to be executed are characterized in such a way that it is possible to detect whether they are to be executed in an event-controlled or time-controlled manner.
4. System nach Anspruch 1, wobei Interrupts bei der zeitgesteuerten Ausführung eines Programms blockiert werden.4. The system of claim 1, wherein interrupts are blocked in the timed execution of a program.
5. System nach Anspruch 1, wobei Interrupts bei der zeitgesteuerten Ausführung eines Programms nicht blockiert werden.The system of claim 1, wherein interrupts are not blocked in the timed execution of a program.
6. System nach Anspruch 1, wobei das System ein Dual-Core-System mit zwei Ausführungseinheiten (2 A, 2B) ist.The system of claim 1, wherein the system is a dual-core system having two execution units (2 A, 2 B).
7. System nach Anspruch 1, wobei das System mindestens drei Ausführungseinheiten (2) aufweist.The system of claim 1, wherein the system comprises at least three execution units (2).
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.8. System according to claim 6, wherein at least two execution units (2) of the three execution units in one Compare operation mode (VM) run the same program at the same time.
9. System nach Anspruch 7, wobei das Programm durch mindestens zwei Ausführungseinheiten (2) gleichzeitig zeit- gesteuert ausgeführt wird.9. System according to claim 7, wherein the program is executed by at least two execution units (2) simultaneously time-controlled.
10. System nach Anspruch 1, wobei eine Umschalt- und Vergleichsschaltung (1) vorgesehen ist, an die alle Ausführungseinheiten (2) angeschlossen sind.10. System according to claim 1, wherein a switching and comparison circuit (1) is provided, to which all execution units (2) are connected.
11. System nach Anspruch 1, wobei das System (3) zwischen einem Performanz- Betriebsmodus (PM) und einem Vergleichsbetriebsmodus (VM) umschaltbar ist.The system of claim 1, wherein the system (3) is switchable between a performance mode of operation (PM) and a comparison mode of operation (VM).
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.The system of claim 1, wherein the system (3) comprises a first group of execution units (2) each executing programs in an event-driven manner and a second group of execution units (2) each scheduling programs.
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.The system of claim 12, wherein one group of execution units (2) is switchable between a performance mode of operation (PM) and a comparison mode of operation (VM) independently of the other group of execution units (2).
14. System nach Anspruch 12, wobei jede der beiden Gruppen von Ausführungseinheiten (2) mindestens zwei Ausführungseinheiten aufweist.The system of claim 12, wherein each of the two groups of execution units (2) has at least two execution units.
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. 15. A system according to claim 14, wherein the switching and comparison circuit (1) in each of the two groups of execution units (2), when switched to the comparison operating mode (VM), makes a majority decision on the basis of the execution units (2). carries out signals emitted by this group and switches through that signal for further data processing which has the lowest signal deviation from the remaining signals emitted by the execution units (2) of this group.
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.A system according to claim 15, wherein an execution unit (2) operating in a comparative operation mode (VM) has a high signal deviation from the remaining execution units (2) of the same group of output signals, then in a performance mode of operation (PM) Self-test runs.
17. System nach Anspruch 16, wobei eine Ausführungseinheit (2) deaktiviert wird, wenn der Selbsttest ergibt, dass diese Ausführungseinheit (2) fehlerhaft ist.17. The system of claim 16, wherein an execution unit (2) is deactivated when the self-test indicates that this execution unit (2) is faulty.
18. System nach Anspruch 1, wobei bei der ereignisgesteuerten Ausführung eines Programms eine vorbestimmte Winkelstellung einer Motorkurbelwelle ein auslösendes Ereignis bildet.18. The system of claim 1, wherein in the event-driven execution of a program, a predetermined angular position of an engine crankshaft forms a triggering event.
19. Verwendung des Systems (3) nach Anspruch 1 zur Steuerung eines Motors.19. Use of the system (3) according to claim 1 for controlling an engine.
20. Verwendung des Systems nach Anspruch 19, wobei der Motor durch einen Elektromotor gebildet wird.20. Use of the system according to claim 19, wherein the motor is formed by an electric motor.
21. Verwendung des Systems nach Anspruch 19, wobei der Motor durch einen Verbrennungsmotor gebildet wird. 21. Use of the system according to claim 19, wherein the engine is formed by an internal combustion engine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07820353A EP2082296A2 (en) | 2006-10-10 | 2007-09-19 | Electronic system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006048172.0 | 2006-10-10 | ||
DE200610048172 DE102006048172A1 (en) | 2006-10-10 | 2006-10-10 | Electronic system |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2008043652A2 true WO2008043652A2 (en) | 2008-04-17 |
WO2008043652A3 WO2008043652A3 (en) | 2008-06-05 |
Family
ID=39092775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2007/059909 WO2008043652A2 (en) | 2006-10-10 | 2007-09-19 | Electronic system |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2082296A2 (en) |
DE (1) | DE102006048172A1 (en) |
WO (1) | WO2008043652A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543118A (en) * | 2019-08-28 | 2019-12-06 | 桂林电子科技大学 | general FPGA synchronous trigger controller with trigger monitoring function and method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5341957B2 (en) * | 2011-07-20 | 2013-11-13 | トヨタ自動車株式会社 | Control device for internal combustion engine |
FR2974205A1 (en) * | 2011-10-28 | 2012-10-19 | Continental Automotive France | Control device for managing e.g. time-triggered type application functions of internal combustion engine in car, has event-triggered type application software partly implemented in one of calculating units and not implemented in other unit |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4004516A1 (en) * | 1990-02-14 | 1991-08-22 | Bosch Gmbh Robert | IC engine control and activity information processing method - using multiple controlling to process information etc. in different planes independently |
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 (en) * | 1993-04-06 | 1994-10-13 | Honda Motor Co Ltd | Multitask control system |
US20040210620A1 (en) * | 2001-06-22 | 2004-10-21 | Yasuo Muneta | Safety network system and safety slave |
WO2005003962A2 (en) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
DE60019038T2 (en) * | 1999-08-14 | 2006-03-30 | International Business Machines Corp. | Intelligent error management |
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 |
-
2006
- 2006-10-10 DE DE200610048172 patent/DE102006048172A1/en not_active Withdrawn
-
2007
- 2007-09-19 EP EP07820353A patent/EP2082296A2/en not_active Ceased
- 2007-09-19 WO PCT/EP2007/059909 patent/WO2008043652A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4004516A1 (en) * | 1990-02-14 | 1991-08-22 | Bosch Gmbh Robert | IC engine control and activity information processing method - using multiple controlling to process information etc. in different planes independently |
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 (en) * | 1993-04-06 | 1994-10-13 | Honda Motor Co Ltd | Multitask control system |
DE60019038T2 (en) * | 1999-08-14 | 2006-03-30 | International Business Machines Corp. | Intelligent error management |
US20040210620A1 (en) * | 2001-06-22 | 2004-10-21 | Yasuo Muneta | Safety network system and safety slave |
WO2005003962A2 (en) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543118A (en) * | 2019-08-28 | 2019-12-06 | 桂林电子科技大学 | general FPGA synchronous trigger controller with trigger monitoring function and method |
CN110543118B (en) * | 2019-08-28 | 2020-11-13 | 桂林电子科技大学 | General FPGA synchronous trigger controller with trigger monitoring function and method |
Also Published As
Publication number | Publication date |
---|---|
DE102006048172A1 (en) | 2008-04-17 |
WO2008043652A3 (en) | 2008-06-05 |
EP2082296A2 (en) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112008004193B4 (en) | VEHICLE ELECTRONIC CONTROL SYSTEM, VEHICLE ELECTRONIC CONTROL UNIT AND VEHICLE CONTROL SYNCHRONIZATION METHOD | |
DE102008034500B4 (en) | arbitration | |
EP2079917B1 (en) | Method and device for monitoring a functionality of an engine controller of an internal combustion engine | |
EP1917581B1 (en) | Method and device for controlling a computer system | |
EP1700211B1 (en) | Method of loading software modules | |
WO2007017396A2 (en) | Method and device for monitoring operations of computer system | |
EP2084606B1 (en) | Method for changing over a system having a plurality of execution units | |
WO2008043652A2 (en) | Electronic system | |
DE10326542B4 (en) | Operating method and control program for a central unit of an automation system and central unit of an automation system and automation system itself | |
DE102012209789A1 (en) | Electrical control device for vehicle, has main scheduler to allocate resources to primary sub-scheduler for executing normal process and secondary sub-scheduler for executing important process, when error occurs in main core unit | |
DE102015100566A1 (en) | Method and light mechanism for mixed critical applications | |
DE102005002375A1 (en) | Data processing system | |
DE10328059A1 (en) | Method and device for monitoring a distributed system | |
EP1817662A2 (en) | Method and device for switching between operating modes of a multiprocessor system by means of at least one external signal | |
EP1917587B1 (en) | Method and device for controlling a computer system | |
EP2126700B1 (en) | Control of the run time behavior of processes | |
WO2022084176A1 (en) | Data processing network for performing data processing | |
WO2017220305A1 (en) | Method for synchronised operation of multicore processors | |
DE102014213826B4 (en) | Procedure for synchronizing state changes in multi-core computers of embedded systems | |
WO2007017372A1 (en) | Method and device for control of a computer system with at least two execution units | |
DE102009009730B4 (en) | Local timer cell its use and method of operating a module | |
DE102022206816A1 (en) | Method for operating a control device | |
WO2023066625A1 (en) | Data processing network for performing data processing | |
EP1915674B1 (en) | Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states | |
EP1069513A1 (en) | Program controlled unit |
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 |