EP1810148A1 - Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement - Google Patents

Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement

Info

Publication number
EP1810148A1
EP1810148A1 EP05797174A EP05797174A EP1810148A1 EP 1810148 A1 EP1810148 A1 EP 1810148A1 EP 05797174 A EP05797174 A EP 05797174A EP 05797174 A EP05797174 A EP 05797174A EP 1810148 A1 EP1810148 A1 EP 1810148A1
Authority
EP
European Patent Office
Prior art keywords
comparison
signal
signals
processing units
analog
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP05797174A
Other languages
German (de)
English (en)
Inventor
Bernd Mueller
Eberhard Boehl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE102004051952A external-priority patent/DE102004051952A1/de
Priority claimed from DE102004051950A external-priority patent/DE102004051950A1/de
Priority claimed from DE200410051964 external-priority patent/DE102004051964A1/de
Priority claimed from DE200410051937 external-priority patent/DE102004051937A1/de
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/de
Priority claimed from DE200510037238 external-priority patent/DE102005037238A1/de
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1810148A1 publication Critical patent/EP1810148A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Definitions

  • a method for detecting errors in a comparison mode is described in Wo 01/46806 A1.
  • the data is processed and compared in parallel in a processing unit with two processing units ALUs.
  • both ALUs work there independently of each other until the faulty data have been removed and a repeated (partially repeated) redundant processing can be carried out. This presupposes that both ALUs work synchronously with each other and that the results can be compared in exact time.
  • Voting systems are known from the aircraft industry, which can use inputs from standard computers and process them safely by a majority decision and thus trigger safety-relevant actions.
  • a system that combines inter-processing unit and inter-control-unit communication is the FME system, which maintains the system still operational by a high degree of redundancy even in the case of single or even multiple faults and by the DASA for Space has been developed (Urban, et al: A survivable avionics System for Space applications, Int. Symposium on Fault-tolerant
  • a method for switching and signal comparison is used in a computer system having at least two processing units, wherein switching means are provided and switched between at least two operating modes, wherein Comparison means are provided and a first mode of operation corresponds to a comparison mode and a second mode of operation a performance mode, characterized in that at least two analog signals of the processing units are compared such that a difference is formed depending on these signals.
  • a method is used in which the analog signals are synchronized within a predefinable tolerance.
  • a method is used in which at least one analog signal is output by the processing unit for a predeterminable time, in order to produce both analogue signals
  • a method is used in which a difference is formed for comparing the analog signals from a first analog signal of a first processing unit and a second analog signal of a second processing unit.
  • a method is used in which at least one comparison unit outputs validity information in addition to the analog signal and the analog signals are only compared in dependence on this validity information.
  • a method is used in which the difference is compared with a predefinable reference signal.
  • a method is used in which, depending on the comparison, a signal is generated which represents the comparison result.
  • a method is used in which an error signal is generated as a function of the comparison.
  • a method is used in which at least one analog signal is digitally converted, stored for a predefinable time, and for the comparison - A -
  • the difference comparison means is designed as a comparator, in particular as a differential amplifier.
  • a device for switching and for signal comparison is used in a computer system having at least two processing units, wherein switching means are provided and switched between at least two operating modes, wherein comparison means are provided and a first operating mode corresponds to a comparison mode and a second operating mode corresponds to a performance mode, characterized in that a difference comparison means is provided, which is designed such that at least two analog signals of the processing units are compared such that a difference is formed depending on these signals.
  • a device is used in which the analog signals are synchronized within a predefinable tolerance.
  • a device is used in which a reference signal source is contained.
  • a device in which at least one additional comparison means is included, which is designed such that the difference is compared with a reference signal of a reference signal source.
  • the additional comparison means is designed as a comparator which is connected to two resistors and these resistors are in a fixed relationship to a level of the reference signal.
  • FIG. 1 shows the basic function of a switching and comparison unit for two processing units
  • FIG. 1a shows a generalized representation of a comparator
  • FIG. 1c shows an expanded representation of a comparator
  • Figure Ib shows a generalized representation of a switching and comparison unit
  • FIG. 2 shows a more detailed representation of the switching and comparison unit for two processing units
  • FIG. 3 shows a possible realization of a switching and comparison unit for two processing units
  • FIG. 4 shows a more detailed representation of a switching and comparison unit for more than two processing units
  • FIG. 5 shows a possible implementation of a switching and comparison unit for more than two processing units
  • FIG. 6 shows a possible realization of a control register
  • FIG. 7 shows a voting unit for central voting
  • FIG. 8 shows a voting unit for decentralized voting
  • FIG. 9 shows a synchronization element
  • Figure 10 shows a handshake interface
  • FIG. 11 shows a differential amplifier
  • FIG. 12 shows a comparator for positive voltage difference
  • FIG. 13 shows a comparator for negative voltage difference
  • Figure 14 shows a circuit for storing an error
  • Figure 15 shows an analog-to-digital converter with output registers
  • FIG. 16 shows the representation of a digitally converted analog value with kung and analog bit
  • FIG. 17 shows the representation of a digital value as a digital word with digital bit
  • An execution unit or processing unit may refer in the following to a processor / core / CPU as well as an FPU (floating point unit), DSP (digital signal processor), coprocessor or ALU (Arithmetic Logical Unit).
  • FPU floating point unit
  • DSP digital signal processor
  • ALU Arimetic Logical Unit
  • each processing unit should be able to operate with its own clock, i.
  • the execution of identical tasks for the purpose of comparison can also work asynchronously to each other.
  • This object is achieved in that a universal, widely deployable IP is created, which allows switching of the operating modes (eg comparison, performance or voting mode) at arbitrary times without previously switching off the processing units and possibly the comparison or the voting of each other manages asynchronous data streams.
  • This IP may be implemented as a chip, or it may be integrated with one or more processing units on a chip. It is not further
  • a WAIT signal is usually provided. If an execution unit does not have a wait signal, it can also be synchronized via an interrupt.
  • the synchronization signal (for example, M 140 in FIG. 2) is not routed to a wait input, but is set to an interrupt.
  • This interrupt must have a sufficiently high priority over the processing program and also against other interrupts to interrupt normal operation.
  • the associated interrupt routine only executes a certain number of NOPs (empty commands with no effect on data) before jumping back into the interrupted program, thereby delaying further processing of the processing program. If need be in the interrupt routine nor the usual memory operations are made at the beginning and at the end, so as not to interfere with the normal program execution by the interrupt.
  • Isochronous and in particular phase match with other processing units can be guaranteed only conditionally with this method. It is therefore recommended that when using the interrupt signal for synchronization, the data to be compared is temporarily stored in the UVE before being compared.
  • the advantage of the invention is that any commercially available standard structures can be used, because no additional signals are needed (no interference with the hardware structure) and any output signals of these components can be monitored, which are for example used directly to drive actuators. This includes the verification of transducer structures such as DACs and PWMs, which were previously used after the
  • any access to a (e.g., external) memory can be monitored, or even just driving external VO modules.
  • Internal signals can be checked via the software-controlled additional output to the switching module on the external data and / or address bus.
  • All control signals for the comparison operations are generated in the preferably programmable switching and voting unit and the comparison also takes place there.
  • the processing units eg processors
  • whose outputs are compared can use the same program, a duplicate program (which also allows detection of memory access errors), or a diversified software error detection program. In this case, not all signals provided by the processing units must be compared with each other, but it is also possible by means of an identifier (address or control signals) certain signals for the
  • This identifier is evaluated in the switching and comparison device and thus controlled the comparison.
  • Separate timers monitor deviations in the time response beyond a specifiable limit.
  • Some or even all modules of the switching and comparison unit can be integrated on a chip, be housed on a common board or spatially separated.
  • the data and control signals are exchanged with each other via suitable bus systems.
  • On-site registers are then described via the bus system and control the operations by means of the data and / or addresses / control signals stored therein.
  • FIG. 1 shows the basic function of the switching unit BO1 according to the invention for the
  • the switching unit includes at least one control register B 15 having at least one binary bit memory element (bit) B 16 which switches the mode of the comparison unit.
  • B16 can take at least the two values 0 and 1 and can be detected both by the signals B20 or B21 of the processing units or by internal processes of the
  • Switching unit set or reset.
  • the changeover unit operates in comparison mode. In this mode, all the incoming data signals from B20 are compared with the data signals from B21, provided that certain predeterminable comparison conditions of the control and / or address signals from the signals B20 and B21 are met, the validity of the data and the intended comparison for this data signal.
  • Processing unit B21 or B20 is met. In this case, the comparison is carried out and the corresponding synchronization signal is reset.
  • Processing unit provides the corresponding comparison data. 1, one of the signals B40 or B41 can be dispensed with if it is always ensured that the associated processing unit does not provide comparison data before the other processing unit.
  • the comparison component M500 can receive two input signals M510 and M511. It then compares these to equality, in the context presented here, preferably in the sense of a bit-wise equality. If it detects inequality, the error signal M530 is activated and the signal M520 is deactivated. In the same case, the value of the input signals M510, M511 is given to the output signal M520 and the error signal M530 is not active, ie it signals the 'Guf' state. From this basic system, a variety of advanced embodiments are conceivable. First, the component M500 can be executed as a so-called TSC component (totally seif checking).
  • the error signal M530 will be on at least two lines It is ensured by means of internal design and fault detection measures that in every possible case of error of the comparison component this signal is correct or recognizable incorrectly
  • a preferred embodiment in the use of the system according to the invention is one TSC comparator to use.
  • a second class of embodiments can be distinguished as to what degree of synchronicity the two inputs M510, M511 (or M610, M611) must have.
  • One possible variant is characterized by intermittent synchronicity, i. the comparison of the data can be done in one cycle.
  • intermittent synchronicity i. the comparison of the data can be done in one cycle.
  • phase offset is useful to avoid common cause errors, i. these are errors that can affect multiple processing units simultaneously.
  • component M640 which delays the previous input by the phase offset, is therefore inserted beyond the components in FIG.
  • this delay element is accommodated in the comparator to use this element only in the comparison mode.
  • intermediate buffers can be placed in the input chain. Preferably, these are designed as FIFO memory. If such a buffer exists, one can also tolerate asynchronisms up to the maximum depth of the buffer. In this case, an error signal must be output even if the buffer overflows.
  • M520 or M620
  • a preferred embodiment is to put the input signals M510, M511 (or M610, M611) on the output and to make the connection interruptible by switches.
  • the particular advantage of this variant is that the same switches can be used to switch between the performance mode and possible different comparison modes.
  • the signals can also be generated from internal comparator buffers.
  • a final class of embodiments may be distinguished as to how many inputs are present on the comparator and how the comparator should react. With three inputs, a majority voting, a comparison of all three or a comparison of only two signals can be made. With four or more inputs, correspondingly more variants are conceivable.
  • These variants are preferably to be coupled with the various operating modes of the overall system.
  • a generalized representation of a switching and comparison unit is shown in FIG. 1b, as it is to be preferably used.
  • n signals N140,..., N14n go to the switching and comparison component N100. This can be up to n output signals N160, ...,
  • N16n Generate N16n from these input signals.
  • the "pure performance mode” all signals N14i are directed to the corresponding output signals N16i.
  • the "pure comparison mode” all signals N140, ..., N14n are directed to exactly one of the output signals N16i ,
  • This figure shows how the various conceivable modes can arise.
  • the logical component of a switching logic Nl 10 is included in this figure.
  • the component does not have to exist as such, it is crucial that its function is present. It first determines how many output signals there are.
  • the switching logic NI lO determines which of the input signals contribute to which of the output signals.
  • the circuit logic defines a function that assigns an element of the set ⁇ N160, ..., N16n ⁇ to each element of the set ⁇ N140, ..., N14n ⁇ .
  • the function of the processing logic N120 determines to which of the outputs N16i the form in which the inputs contribute to this output signal. Also, this component does not have to exist as a separate component. It is again crucial that the functions described are implemented in the system. By way of example, to describe the various possible variations, it is assumed without loss of generality that the output N 160 is generated by the signals N141, ..., N 14m. If m
  • a first possibility is to compare all signals and to detect an error in the presence of at least two different values, which can be optionally signaled.
  • a second possibility is to make a k out of m selection (k> m / 2). This can be realized by using comparators.
  • an error signal can be generated if one of the signals is detected as deviating.
  • a possibly different error signal can be generated if all three signals are different.
  • a third option is to apply these values to an algorithm.
  • This may be, for example, the formation of an average, a median, or the use of a Fault Tolerant Algorithm (FTA).
  • FTA Fault Tolerant Algorithm
  • Such an FTA is based on eliminating extreme values of the input values and performing a kind of averaging over the remaining values. This averaging can be done over the entire set of residual values, or preferably over a subset that is easy to form in HW. In this case, it is not always necessary to actually compare the values. For example, averaging only adds and divides, FTM, FTA, or median require partial sorting. If necessary, an error signal can optionally also be output at sufficiently large extreme values
  • Processing logic i.e., the determination of the comparison operation per output signal, i.e. per function value
  • This information is of course multivalued in the general case, i. not just a logical bit. Not all the theoretically conceivable modes are useful in a given implementation, it is preferable to restrict the number of modes allowed. It should be emphasized that in the case of only two execution units, where there is only one compare mode, all the information can be condensed to only one logical bit.
  • Switching from a performance mode to a comparison mode is characterized in the general case by the fact that execution units that are displayed in the performance mode on different outputs are mapped in the compare mode to the same output.
  • this is realized in that there is a subsystem of execution units in which in the performance mode all input signals N14i to be considered in the subsystem are switched directly to corresponding output signals N16i, while in the compare mode all are mapped to one output are.
  • switching can also be realized by changing pairings. It is represented by the fact that in the general case one can not speak of the performance mode and the comparison mode, although in a given form of the invention one can restrict the set of allowed modes such that this is the case. But you can always switch from performance to performance
  • the switching is triggered, for example, by the execution of special switching instructions, special instruction sequences, explicitly marked instructions or by accessing specific addresses by at least one of the
  • FIG. 2 shows a detailed two-processor or two ⁇ C system with a switching and comparison unit M100 according to the invention, in which optionally also different signals can be dispensed with. It consists of two
  • Processing units MIlO, Ml I l and a switching and comparison unit M100. From each processing unit, data signals (M120, M121) and address / control signals (M130, M131) go to the switching unit, and each processing unit optionally also receives data from the switching unit (M150, M151) and control signals (M140, M141).
  • the unit M100 outputs data (M160, M161) and status information M169 and receives signals such as e.g. Data (M170, M171) and control signals M179, which can also be forwarded to the processing units.
  • the operating mode of the unit M100 can be set independently of the processing units; likewise, the processors may be connected through the outputs M120, M121 (e.g., data bus) and the control and address signals M130, M131 (e.g., Write) in the unit M100
  • status information M169 In a faulty comparison of the signals in the comparison mode is an error signal is generated and signaled to the outside (eg via double-rail signals: fail-safe) (part of status information M169). Status M169 may also include the operating mode or information about the skew of the execution unit signals. In the case of non-provision of comparison data of a processing unit in a predetermined (programmable) time interval is the
  • Error signal also activated.
  • the outputs M 160, M161 can be disabled (fail silent behavior). This can affect both digital and analog signals.
  • these output driver stages can also output the instantaneous (non-buffered) output signals M120, M121 of a processing unit, with the possibility of subsequent error detection. This is tolerated by a safety relevant system as long as the fault tolerance time is not exceeded, i. the time that a (sluggish) system does not yet catastrophically react to errors and therefore there is still the possibility of correction.
  • output signals M 180, Ml 81 which are not led to the UVE and internal signals of a processing unit, can be compared at least with respect to their calculated value by outputting this value on the outputs M 120, M121 for the purpose of comparison.
  • input signals M 190, M 191 which do not come via M100.
  • selected or also all signals M 160, M 161 to read them back via M 170, M 171 or also M 190, M 191. In this way, it is also possible to ensure in the comparison mode that erroneous signals from the unit M100 are detected.
  • a suitable switch-off path to which (in an OR link) M100, M10, M11 have access, a fail-silence behavior of the entire system can thus be established.
  • FIG. 3 shows a possible implementation of the switching and comparison unit M100 from FIG. 2 in detail.
  • the unit M100 contains a control register M200 with at least one bit representing the mode (performance / comparison) and a status register M220 with at least one bit representing the error status in comparison mode.
  • the wait and interrupt signals are from other bits in the control register for both
  • Controlled processing units It may also be necessary to differentiate between different interrupts, for example for synchronization purposes, for preparing for the operating mode switches and for error handling.
  • control registers such as M240, which contains the maximum permitted time difference (in number of clock periods) between the processing units for controlling an internal or external watchdog, and M241 with the time difference value (clock cycle number), from which the fastest processor is assigned by means of WAIT or interrupt signals should be temporarily stopped or delayed, for example, to prevent overflow of data registers.
  • At least one timer M230 is always started by a processing unit when a data item specially identified (via address and control signals, e.g., a specific address range) is first provided and the value of the timer is transferred to the status register whenever the corresponding data value is provided by the second processing unit.
  • the timer is preferably set so that even with different program sequences corresponding to the WCET (worst case execution time) all processing units must supply a date. If the preset value is exceeded by the timer, an error signal is output.
  • the outputs M120, M121 of the processing units are to be stored in M100, in particular for the comparison mode in a buffer memory M250, M251, as far as they are digital data and can not be provided in a clock-accurate manner.
  • this memory may be implemented as a FIFO. If this memory has only a depth of 1 (register), then e.g. Wait signals are used to delay the output of further values until the comparison has been made in order to avoid data loss.
  • M251 can receive the serial data and convert it into parallel data, which are then compared in M210.
  • asynchronous digital input signals M 170, Ml 71 can be synchronized via additional memory units M270, M271. As with the input signals 120, 121, they are preferably buffered in a FIFO.
  • Switching between performance and comparison mode is done by setting or resetting the mode bit in the control register, which causes eg corresponding interrupts in the two processing units.
  • the comparison itself is provided by the provided data M120, M121 as well as the associated addresses and control signals M130, M131 everanlasst. In this case, certain signals from M120 and M130 or M121 and M131 can act as an identifier indicating whether a comparison of the assigned data is to take place.
  • analogue data can also be compared with one another in a suitable analog comparison unit M211 (analogue compare unit).
  • analogue compare unit provides for storage of the data digitized by an ADC implemented there (see further comments on FIGS. 12 to 14).
  • Synchronicity can be achieved by comparing the digital outputs of the processing units (data, address and control signals) as described above and maintaining the processing unit too fast. For this purpose one can also use the digital signals, which are used as source of analogue signals in the
  • Processing unit via the outputs M120, M121 give to the unit MlOO, although these signals are otherwise not needed externally.
  • This redundant comparison in addition to the comparison of the analog signals ensures that an error in the calculation can be detected earlier and also facilitates the synchronization of the processing units.
  • the comparison of the analog signals causes an additional
  • FIG. 4 shows a multiprocessor system with at least n + 1 processing units, wherein each of these components may in turn also consist of several sub-processing units (CPUs, ALUs, DSPs with corresponding additional components).
  • the signals of these processing units are also connected to a switching and comparison unit, as described in the two-person system of Figure 2. All components and signals in this figure therefore have the same meaning in content as the corresponding components and signals in FIG. 2.
  • the switching and comparison unit M300 can distinguish between the performance mode (all processing units execute different tasks), different comparison modes (FIG. the data of two or more processing units should be compared and at
  • FIG. 5 shows a possible implementation of a switching unit for a multiprocessor system with n + 1 processing units.
  • at least one control register M44i is provided in the control unit of the switching and comparison module.
  • a preferred set of control registers is shown and described in detail in FIG. M44i corresponds to the control register Ci.
  • Various embodiments in the control register are conceivable. It may be described by appropriate bit combinations whether to use an error detection or fault tolerance pattern. Depending on the effort involved in the M300 unit, it is also possible to specify which type of fault tolerance pattern (2 out of 3, median, 2 out of 4, 3 out of 4, FTA, FTM ...) you want to use. Next you can make it configurable, which output one goes through. One can then also form embodiments, which components for which date can influence this configuration.
  • the output signals of the processing units involved are then compared with one another in the switching unit. Since the signals are not necessarily processed clock-accurate, a caching of the data is required. In this case, data can also be compared in the switching unit, with a larger time difference of the various processing units are given to the switching unit.
  • an intermediate memory eg designed as FIFO memory: first in-out or else in another buffer form
  • a plurality of data can initially also be received by one processing unit, while other processing units do not yet provide any data. It is a measure of the synchronicity of the two processing units of
  • Level of the FIFO memory If a certain predefinable fill level is exceeded, the processing unit furthest advanced in the processing is temporarily stopped either by an existing WAIT signal or by suitable interrupt routines, in order to wait for the slower processing units progressing in the processing.
  • the monitoring should apply to all externally available signals
  • Processing unit to be extended also includes analog signals or PWM signals.
  • the switching unit structures are provided to allow a comparison of such signals.
  • bit B514x of the control register Cx switches between comparison / voting on the one hand and parallel work on the other hand and corresponds to the value of B16 of Figure 1.
  • the bit B513x indicates whether the processing unit concerned is ready for comparison
  • bit B512x controls this Synchronization signal (WAIT or INTERRUPT)
  • bit B511x may be used to prepare the corresponding processing unit x for the comparison by an interrupt.
  • bit B5110x controls an interrupt that returns the processing unit to parallel mode.
  • B50ik and B50kk of the control register Ck are set to one (0 ⁇ i, k ⁇ n).
  • the bit B514i in the control register Ci is set to activate the comparison or the voting. This bit may be set by the processing unit itself as well as by the switching and comparing unit depending on certain system conditions, timing conditions or other conditions (such as accessing particular memory areas, errors or implausibilities).
  • B514i sets bits B50ii and B5 (M)
  • the UVE automatically sets bits B51 Ii and B51 Ik, thereby triggering interrupts in processing units i and k
  • These interrupts cause the processing units to jump to a particular program location Initialization steps for the transition to the comparison mode and then output a response (Ready) to the switching and comparison unit.
  • the ready signal causes an automatic reset of the interrupt bit B511i in each control register Ci of the processing unit and simultaneously setting the wait bit B512i.
  • the consistency of all control registers with each other is monitored in accordance with user specifications, and in the event of an error, an error signal is generated which is part of the status information. For example, it may not happen that one processing unit is used concurrently for multiple independent comparison or voting processes, because then the synchronization is not guaranteed. It is conceivable, however, to compare several processing units without an output of the data signals, but only for the purpose of generating an error signal in the event of inequality.
  • the entry is to be made similar in several or all control registers of the processing units involved in a comparison or voting, i. the corresponding bits of these processing units are to be set there identically, with the possible exception of their own bit i, which controls the output.
  • FIG. 7 shows the voting unit Q100 for central voting. Voting can be carried out both by means of suitable hardware and by software.
  • the voting can be carried out both by means of suitable hardware and by software.
  • the voting unit Q100 receives several signals Q1, Q1, Q1, and Q112, and from these forms an output signal Q 120, which is produced by voting (for example, an m out of n selection).
  • the error bit is set in the respective control register. In a voting, the date of the processing unit concerned is ignored; in a simple comparison the output is locked.
  • a decentralized voting unit Q200 is controlled by a control unit Q210. It is connected via bus systems Q221, Q222, receives data via these bus systems and also outputs them there.
  • the reset of the comparison and voting bits in a control register with active output bit causes an interrupt in the participating processing units, which are then returned to a parallel operation.
  • each processing unit may have a different entry address, which is managed separately.
  • the program execution can also take place from the same program memory.
  • Accesses are separate and usually to different addresses. If the security-relevant part is small in comparison to the parallel modes, it must be weighed whether a separate program memory with duplicated security part may be less expensive.
  • the data memory can also be shared in performance mode. The accesses are then successively, for example by means of the AHB / ABP bus.
  • Processing units work with the same or derived clocks, which are in constant phase relation to each other. If clocks of different oscillators and generators are used for the processing devices, in which the phase relationships change, then one must synchronize the signals thus generated when they change the clock domain.
  • a synchronization element M800 is shown in FIG. 9 for this purpose.
  • synchronization devices M800 are required, which can be attached anywhere in the signal flow. These once ensure the storage of data M820 with the clock M830 of the processing unit that provides this data. For reading, the clock is then used with which the date M840 is further processed.
  • Such a synchronization stage M800 can be developed as a FIFO in order to store a plurality of data (see FIG. 9). In the general case, the synchronization of the data alone is not sufficient, but it is also the sync signal of the data to synchronize with the receive clock. For this purpose, moreover, a handshake interface is required ( Figure 10) that through
  • Request signals M850 and acknowledgment signals M880 guarantees the transfer. Such an interface is necessary whenever the clock domain changes to ensure secure transmission of data from one clock domain to another.
  • the data M820 from the area Q305 with the clock M830 in the register cells M800 is provided in sync and a write request signal M850 indicates the provision of the data.
  • This write request signal is taken from the area Q306 with the clock M860 in a memory element M801 and as a synchronized signal M870 it indicates the provision of the data. With the next active clock edge of clock M860 then the synchronized date M840 is adopted and thereby a
  • the memory elements M800 are designed as FIFO memories (first-in, first-out).
  • the circuits for comparing analog signals of Figure 11 to Figure 14 assume that the processing units that provide the analog signals to be compared, are synchronized with each other so that the comparison makes sense.
  • the synchronization can be achieved by the corresponding signals B40 and B41 of FIG.
  • FIG. 11 shows a differential amplifier. With the help of this element two voltages can be compared.
  • BlOO is an operational amplifier, to the negative input BlOl a signal B 141 is connected, which is connected via a resistor Bl 10 with the value R 1n to the input signal BlI l, at which the voltage value Vi is present.
  • the positive input B 102 is connected to the signal B 142, via the resistor B 120 with the value R 1n to the input
  • the output B 103 of this operational amplifier is connected to the output signal B 190 having the voltage value V 0Ut .
  • the signal B190 is f via the resistor B140 with the value R connected to the signal B141 and the signal B142 is f via the resistor B130 with the value R to the signal B131 connected which carries the voltage value of the analog reference point V AGN (j.
  • the signal B242 is connected via the resistor B 160 with the value R 2 to the signal B231, which is used as the digital reference potential V dgng .
  • the negative input B201 of the operational amplifier is connected to the input signal 211, which carries the voltage value of a reference voltage V ref .
  • the output B203 of the operational amplifier B200 is connected to the output signal B290, which is the
  • the input signal B321 is connected through the resistor B 170 of the value R 3 to the signal B342 which is connected to the negative input B301 of the operational amplifier B300.
  • This signal B342 is further connected via the resistor B 180 with the value R4 to the signal B331, which is also the digital
  • Reference potential Vi gnd bears.
  • the positive input B302 of the operational amplifier B300 is connected to the input signal B311 which carries voltage value of a reference voltage V ref .
  • the output B303 of the operational amplifier B300 is connected to the output signal B390, which is the voltage value
  • V ref (V agnd + V 1U a) * R 2 / (R 1 + R 2 ) (2)
  • V- ( - VdM) * R / (R 3 + R 4 ) (3)
  • V d i ff ((V 2max - V lmin ) * R f / R ta ) - V agnd (4)
  • V 2max denotes the maximum tolerated voltage value of V 2 at signal B 121 and Vi m i n the minimum tolerated voltage value of Vi at signal Bl I l.
  • the reference voltage source can be made available externally, or by a internally realized bandgap (temperature-compensated and operating voltage-independent reference voltage) can be realized.
  • the maximum tolerated difference V dMf is determined from the maximum positive deviation V 2max and the associated maximum negative deviation Vi n J n , ie (V 2max - Vi n J n ) is the maximum tolerated voltage deviation of redundant analog signals to each other to be compared with each other.
  • the synchronicity is given, for example, when the ready signal in the control register of the corresponding processing units is active, or certain digital signals are sent to the UVE, which signal a particular state of the relevant analog signal and thus also the value to be compared in the sense of an identifier.
  • a circuit which stores the error is shown in FIG. In this circuit are the two input signals
  • NOR circuit logical OR circuit with subsequent inversion
  • This signal B411 is combined with the input signal B421 in another NOR element B420 to the output signal B421.
  • This signal B421 is linked in an OR circuit B430 with the signal B401 to the signal B431, which serves as an input signal for the memory element (D flip-flop) B400.
  • the output signal B401 of this element B400 indicates an error with the value 1.
  • the D flip-flop B400 stores with the clock B403 is a 1 if one of the two voltage values V, thus contributes positively bottom or V at the top on the signals B390 or B290 as a digital signal the value is high, the signal B421 is not active and no reset signal B402 is present. The error remains stored until the signal Reset was active at least once.
  • FIG. 15 shows an ADC.
  • this ADC can be implemented using the various known conversion methods. For example, one can choose the principle of successive approximation, where one compares the analog signal with a generated signal from a digital-to-analog converter (DAC) by means of a comparator, wherein the digital input bits of the DAC systematically from the MSB (most significant bit - most significant bit) to LSB (least significant bit) is set to high as a test and reset immediately if the DAC's analog output signal is higher than the analog input signal (the signal to be converted).
  • the DAC controls with its digital bits from the LSB to the MSB either
  • Resistors or capacitances with the weights 1, 2, 4, 8, 16, ... in such a way that the setting of the next higher bit always has twice the effect on the analog value as the previous one. After all bits have been set and, if necessary, reset again, the value of the digital word corresponds to the digital representation of the analog input signal. For higher speed requirements, continuous data streams can also be used
  • Converter can be used, which continuously processes the analog signal and outputs a serial digital signal, which approximates this analog data stream through the serial bit sequence.
  • the digital word is here represented by the bit sequence stored in a shift register.
  • transducers presuppose that changes in the analog signal are constantly made during the conversion period because they can not process constant values.
  • converters can be used according to the counting principle, for example, by means of the input voltage or the input current cause a corresponding constant charging or discharging a capacitor connected to an integrator. The time required for this is measured and put into relation to the time in the opposite direction to the charge or charge of the same capacitor
  • the ADC B600 of Figure 15 is controlled by a trigger signal B602, which is typically an output of the processor providing the analog signal and optionally an identifier B603 which provides information about the type of analog signal being provided is to allow a distinction of several analog signals.
  • the converted analog word is taken into the memory area B640 as a digital value in a register B610 and optionally together with the identifier B603, which is stored in B620 and possibly an additional signal B604 (which is 1 for the identification of an analogue value) is stored in the memory B630.
  • FIG. 17 shows a variant of a digital value stored in the same memory area.
  • the digital value itself is stored, in B820 an optiona option is provided which, for example, indicates whether the digital value is to be compared at all or whether it may also contain further conditions for the comparison.
  • the value 0 is then stored to indicate that it is a digital value.
  • the sequence of the storage and possibly the A bit (B730 or B830) as well as the identifier B720 or B820 in conjunction with the converted digital value B710 or the digital value B810 are checked.
  • the comparison is then event-controlled: whenever a value of a processor is transmitted to the UVE, it is checked whether the other participating processors have already provided such a value. If this is not the case, the value in the corresponding FIFO or
  • the comparison is carried out directly, in which case the FIFO can serve as a memory.
  • a comparison is always completed if the FIFOs involved are not empty.
  • more than two participating processors or comparison signals can be determined by a vote, if all signals for distribution be allowed (fail silent behavior) or if possibly the error state is signaled only by an error signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

L'invention concerne un procédé et un dispositif pour commuter et comparer un signal dans un système de calcul comprenant au moins deux unités de traitement, les organes de commutation étant utilisés et pouvant être commutés entre au moins deux modes de fonctionnement. Les organes de comparaison sont utilisés et un premier mode de fonctionnement correspond à un mode de comparaison et un second mode de fonctionnement correspond à un mode de performances. Le procédé et le dispositif sont caractérisés en ce qu'au moins deux signaux analogiques des unités de traitement peuvent être comparés, de sorte qu'une différence puisse être formée à partir de ces signaux.
EP05797174A 2004-10-25 2005-10-25 Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement Ceased EP1810148A1 (fr)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE102004051952A DE102004051952A1 (de) 2004-10-25 2004-10-25 Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem
DE102004051950A DE102004051950A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem
DE200410051964 DE102004051964A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem
DE200410051937 DE102004051937A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem
DE200410051992 DE102004051992A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems
DE200510037238 DE102005037238A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
PCT/EP2005/055516 WO2006045788A1 (fr) 2004-10-25 2005-10-25 Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement

Publications (1)

Publication Number Publication Date
EP1810148A1 true EP1810148A1 (fr) 2007-07-25

Family

ID=35735373

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05797174A Ceased EP1810148A1 (fr) 2004-10-25 2005-10-25 Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement

Country Status (5)

Country Link
US (1) US20080270746A1 (fr)
EP (1) EP1810148A1 (fr)
JP (1) JP2008518306A (fr)
KR (1) KR20070062565A (fr)
WO (1) WO2006045788A1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070085278A (ko) * 2004-10-25 2007-08-27 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환방법 및 그 전환 장치
DE102005037242A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung und zum Signalvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102006048169A1 (de) 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung
JP5507830B2 (ja) 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
JP5796311B2 (ja) 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
DE102013202253A1 (de) * 2013-02-12 2014-08-14 Paravan Gmbh Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs
EP3531286B1 (fr) * 2018-02-26 2020-08-05 ARM Limited Circuits
JP7221070B2 (ja) 2019-02-07 2023-02-13 日立Astemo株式会社 電子制御装置、制御方法
DE102021206133A1 (de) * 2021-06-16 2022-12-22 Robert Bosch Gesellschaft mit beschränkter Haftung Steuerungssystem für mindestens ein empfangendes Gerät in sicherheitskritischen Anwendungen

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3688099A (en) * 1971-04-28 1972-08-29 Lear Siegler Inc Automatic control system with a digital computer
US4356546A (en) * 1980-02-05 1982-10-26 The Bendix Corporation Fault-tolerant multi-computer system
US4672529A (en) * 1984-10-26 1987-06-09 Autech Partners Ltd. Self contained data acquisition apparatus and system
US4868826A (en) * 1987-08-31 1989-09-19 Triplex Fault-tolerant output circuits
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
US5583757A (en) * 1992-08-04 1996-12-10 The Dow Chemical Company Method of input signal resolution for actively redundant process control computers
DE69737573T2 (de) * 1996-10-29 2008-03-06 Hitachi, Ltd. Redundantes Datenverarbeitungssystem
JP3424901B2 (ja) * 1997-12-05 2003-07-07 株式会社日立製作所 多重系制御装置の同期方式および同期方法
US6449732B1 (en) * 1998-12-18 2002-09-10 Triconex Corporation Method and apparatus for processing control using a multiple redundant processor control system
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
KR20070062565A (ko) 2007-06-15
WO2006045788A1 (fr) 2006-05-04
US20080270746A1 (en) 2008-10-30
JP2008518306A (ja) 2008-05-29

Similar Documents

Publication Publication Date Title
EP1812860B1 (fr) Procede et dispositif de commutation de mode et de comparaison de signal dans un systeme d'ordinateur comportant au moins deux unites de traitement
EP1810149A1 (fr) Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement
EP1812855B1 (fr) Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement
EP1812859B1 (fr) Procede et dispositif pour commuter un mode et comparer un signal dans un systeme de calcul comprenant au moins deux unites de traitement
EP1810148A1 (fr) Procede et dispositif pour commuter des modes et pour comparer des signaux dans un systeme de calcul comprenant au moins deux unites de traitement
WO2006045789A1 (fr) Procede et dispositif pour commuter un mode et pour comparer un signal dans un systeme de calcul comprenant au moins deux unites de traitement
WO2007017396A2 (fr) Procede et dispositif pour controler des fonctions d'un systeme informatique
WO2007057270A1 (fr) Unite commandee par programme et procede d'utilisation
CN101048760A (zh) 在具有至少两个处理单元的计算机系统中进行模式转换和信号比较的方法和设备
DE102005037241A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037239A1 (de) Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037240A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
DE102005037243A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102005037238A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
WO2009103372A1 (fr) Système pour contrôler une mémoire programme d’une unité de calcul

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070525

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20071005

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20081011