Abstract:
A computer system for safety critical sensor variables includes first and second sensors which respectively output first and second sensor variables, a computer, and an independent comparator. The computer calculates an output variable from the first sensor variable by a first function. The computer calculates a comparison variable from the output variable by a second function. The comparison variable and the second sensor variable are applied to the input of the comparator. The second sensor variable is not an input variable of the computer and differs from the first sensor variable in terms of its qualitative value. By calculations of the computer and, if appropriate, of the comparator, an expected comparison variable for the second sensor variable is determined from the calculated output variable, and the correspondence of the two variables is checked by the comparator. Specific internal errors of the computer can thereby be discovered.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation-in-part of International Application No. PCT/EP2009/050164, published in German, with an international filing date of Jan. 8, 2009, which claims priority to DE 10 2008 003 515.7, filed Jan. 8, 2008; the disclosures of which are both hereby incorporated by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to a computer system for evaluating safety critical sensor variables. 
       BACKGROUND 
       [0003]    IEC 61508, published by the International Electrotechnical Commission (IEC) and entitled “Functional safety of electrical/electronic/programmable electronic (E/E/PE) safety-related systems,” is an international standard of rules for the creation of such systems that carry out safety functions. IEC 61508 prescribes specific hardware-technical minimum values, e.g., for FIT (failure in time) and SFF (safe failure fraction), for safety integration level 3, which can generally only be attained by additional software-technical measures. In particular, verification of protection against computer failure of the CPU accounts for a significant part of the overall verification of safety integrity. 
         [0004]    Typically, two different micro-controller chips, or at least two parallel computational paths on one micro-controller chip, have been used. Inverted computational paths, described for example in the DE 42 19 457 A1, have also been used occasionally. The two-chip solution is expensive in mass production. In the parallel computational paths on a single chip solution, the functional safety can only be limited, or can only be verified with additional hardware, because the CPU computes incorrectly in the same manner in the case of internal errors in the parallel or inverted computational paths. CPU errors can thus remain undiscovered under certain circumstances. Direct verification is absent that the CPU has not made the same error in both computational directions resulting in two identical but false results being obtained in the comparison of the results, or that in the case of inverted computational paths the CPU erroneously ignores both computational directions, for example, and directly compares two input variables. 
       SUMMARY 
       [0005]    An object of the present invention is a computer system for evaluating safety critical sensor variables which demonstrably achieves a relatively high safety integrity level for the CPU without relying on a separate intricate CPU test. 
         [0006]    In carrying out the above object and other objects, the present invention provides a system for evaluating safety critical sensor variables. The system includes a computer, a comparator independent of the computer, a first sensor that outputs a first sensor variable e 1  to the computer, and a second sensor that outputs a second sensor variable e 2  directly to the comparator such that the second sensor variable e 2  bypasses the computer. The computer calculates an output variable A based on the first sensor variable e 1  and a first function f 1  according to the equation A=f 1 (e 1 ). The computer calculates a reference variable v based on the output variable A and a second function f 2  according to the equation v=f 2 (A) and the computer outputs the reference variable v to the comparator. The first and second sensor variables e 1 , e 2  are in a relationship involving a third function g according to the equation e 2 =g(e 1 ). The third function g is not the identity function. The second function f 2  is given by a concatenation of the third function g with the inverted first function  f 1    according to the equation f 2 =g·  f 1   . The comparator compares the reference variable v with the second sensor variable e 2  to determine whether the equation v=e 2  is correct. The comparator determining the equation v=e 2  to be correct is indicative of the computer properly calculating the reference variable v based on the output variable A and the second function f 2  according to the equation v=f 2 (A). 
         [0007]    Further, in carrying out the above object and other objects, the present invention provides another system for evaluating safety critical sensor variables. This system includes a computer, a comparator independent of the computer, a first sensor that outputs a first sensor variable e 1  to the computer, and a second sensor that outputs a second sensor variable e 2  directly to the comparator such that the second sensor variable e 2  bypasses the computer. The computer calculates an output variable A based on the first sensor variable e 1  and a first function f 1  according to the equation A=f 1 (e 1 ). The computer calculates a first reference variable v 1  based on the output variable A and a second function f 2  according to the equation v 1 =f 2 (A) and the computer outputs the first reference variable v 1  to the comparator. The first and second sensor variables e 1 , e 2  are in a relationship involving a third function g and a fourth function h concatenated with one another according to the equation e 2 =(h·g)(e 1 ). Neither the third function g nor the fourth function h is the identity function. The second function f 2  is given by a concatenation of the third function g with the inverted first function  f 1    according to the equation f 2 =g·  f 1   . The comparator calculates a second reference variable v 2  based on the first reference variable v 1  and the fourth function h according to the equation v 2 =h(v 1 ). The comparator compares the second reference variable v 2  with the second sensor variable e 2  to determine whether the equation v 2 =e 2  is correct. The comparator determining the equation v 2 =e 2  to be correct is indicative of the computer properly calculating the first reference variable v 1  based on the output variable A and the second function f 2  according to the equation v 1 =f 2 (A). 
         [0008]    A computer system in accordance with embodiments of the present invention includes a micro-computer or micro-controller (“computer” or “CPU”). At least two sensors and a comparator external to the computer are also incorporated in the computer system. The first and second sensors qualitatively or at least quantitatively respectively supply first and second sensor variables for a system state to be measured. It is assumed that a known functional relationship exists between the first and second sensor variables of the sensors. 
         [0009]    The first sensor variable from the first sensor is applied to an input of the computer. The computer computes an output variable based on the first sensor variable. The computer makes the output variable available for practical useful purposes such as a control variable for an actuator. 
         [0010]    The computer further computes a reference variable based on the output variable. The reference variable corresponds to the anticipated second sensor variable from the second sensor. The computer provides the reference variable to the comparator. The comparator checks the reference variable for agreement with the actual second sensor variable from the second sensor. The second sensor variable from the second sensor is completely unknown to the computer. A positive comparison thus testifies to the safety integrity of the computer and assures that a calculation of the output variable and the reference variable was carried out properly. At the same time, the verification based on the prior art regarding the correct functioning of the sensors involved is still preserved, being obtained in principle from a comparator. 
         [0011]    A concept on which the computer system in accordance with embodiments of the present invention is based is to use various sensors qualitatively or only quantitatively that yield the various measured values, or at least different values, and for this reason are always on the alert for different data levels at all times during the processing, and are indeed independent of the algorithm used (parallel/inverted/inverse/complementary/back-calculated). 
         [0012]    At no time is the computer in a position to provide the reference variable in any other manner (e.g., by making a copy of the first sensor variable) than by the result of a correctly executed calculation. Checking the reference variable and the second sensor variable is now decisive in verifying the safety integrity of the computer. The reference variable and the value of an additional, independent data source previously unknown to the computer are compared (possibly in a tolerance band compensating for possible deviations, such as, for example, imprecision of the sensor). This value is given by the second sensor variable. 
         [0013]    Because the second sensor variable consists of raw data, and thus does not come into contact with the computer, and is absolutely unprocessed, the comparison produces a result at this point that depends only on the integrity of the computer. An absence of errors is assumed here for the two sensors, and their own CPUs, which can only be assured and verified by independent means. 
         [0014]    The above features, and other features and advantages of the present invention are readily apparent from the following detailed descriptions thereof when taken in connection with the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]      FIG. 1  illustrates a computer system in accordance with an embodiment of the present invention; 
           [0016]      FIG. 2  illustrates a computer system in accordance with another embodiment of the present invention; 
           [0017]      FIG. 3  illustrates a prior art computer system; 
           [0018]      FIG. 4  further illustrates the prior art computer system of  FIG. 3 ; and 
           [0019]      FIG. 5  illustrates an example of an application of a computer system in accordance with an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    Referring initially to  FIG. 3 , a prior art computer system is shown. This computer system is a simplified representation of the computer system described in DE 42 19 457 A1. Only the components for describing problems lending to the present invention are shown. This computer system includes a computational chip component such as a micro-computer or a micro-controller (“computer MC” or “CPU”) and first and second sensors S 1 , S 2 . Computer MC receives first and second sensor variables e, e R  respectively supplied by sensors S 1 , S 2 . Sensor variables e, e R  are assumed to be digital values. However, sensors S 1 , S 2  could supply analog signals that are digitized inside computer MC. 
         [0021]    Computer MC calculates an output variable a (or an output variable A) using a first function f 1  on first sensor variable e (i.e., a=f 1 (e)). Computer MC outputs output variable a at a first output to an actuator or the like for controlling the actuator. Computer MC also calculates a reference variable e′ using a second function f 2  on output variable a (i.e., e′=f 2 (a)). As described in DE 42 19 457 A1, second function f 2  is first function f 1  inverted with respect to first sensor variable e of first function f 1  (i.e., f 2 =  f 1   ). Reference variable e′ agrees with first sensor variable e if computer MC is operating correctly. This can be tested internally in computer MC by determining whether first sensor variable e and reference variable e′ agree (i.e., e=e′?). 
         [0022]    Further, first sensor variable e, which is from first sensor S 1 , and a second sensor variable e R  from second sensor S 2  can also be tested for agreement (i.e., e=e R ?) where sensors S 1 , S 2  are redundant and thereby supply quantitatively similar sensor variables e, e R . 
         [0023]    Computer MC can deliver false comparisons when functioning incorrectly. Accordingly, the computer system of  FIG. 3  further includes an external comparator V. Comparator V compares second sensor variable e R  from second sensor S 2  with calculated reference variable e′(i.e., e′=e R ?). Due to the specified identities (e=e R  and e=e′), this comparison also confirms the identity of the compared variables e′, e R  for properly functioning sensors S 1 , S 2  and an error-free computer MC. 
         [0024]    A problem with the computer system of  FIG. 3  is that specific errors of the computer system can remain concealed. 
         [0025]    As shown schematically in  FIG. 4 , the problem results when first sensor variable e arrives at the output of computer MC as the would-be calculated reference variable e′ without a computation having been carried out. This can occur, for example, by first sensor variable e being read into a register of computer MC and later being read from this register as the would-be computed reference variable e′ and passed on to the output of computer MC without computations having taken place using first and second functions f 1 , f 2 . 
         [0026]    As first and second sensor variables e, e R  are provided as being identical on the input side of computer MC, a comparison of calculated reference variable e′ and second sensor variable e R  performed by comparator V thus also produces an agreement. Comparator V is thus not capable of detecting the described computing error. 
         [0027]    Another error scenario involves computer MC making an error both in the calculation of first function f 1  and in the computation of second function f 2 , and that these errors cancel one another. This is another situation where neither internal nor external computer comparisons can detect the error. A systematic sign error is an example of this, in which two erroneous computational steps again cancel one another. In this case, output variable a calculated during the first computational step is still in error, which can have safety-critical consequences. 
         [0028]    Referring now to  FIG. 1 , a computer system in accordance with an embodiment of the present invention is shown. This computer system excludes the possibilities for error of the prior art computer system noted above. Certain notations from  FIGS. 3 and 4  are used to describe the computer system of  FIG. 1  in order to clarify similarities and differences with respect to the prior art computing system. 
         [0029]    The computer system shown in  FIG. 1  includes a computer MC, first and second sensors  51 , S 2 , and a comparator V. Sensors  51 , S 2  respectively supply to computer MC redundant first and second sensor variables e 1 , e 2 , i.e., independent signals that contain similar information content with respect to the system state to be measured, but whose signal values are not at all identical. Sensor variables e 1 , e 2  from sensors  51 , S 2  have a known functional relationship given by a function g (i.e., e 2 =g(e 1 )). Function g can be arbitrary, but may not be the identity function, since this would lead to the problems described above with reference to  FIGS. 1 and 2 . Further, second sensor variable e, is only provided for an external comparison and is thus not passed to computer MC. 
         [0030]    Another requirement is that second function f 2  for computing a reference variable v does not result in first function f 1  by way of the inverse function (i.e. f 2 ≠  f 1   ), but takes into consideration the functional relationship g between first and second sensor variables e 1 , e 2 . Second function f 2  advantageously results from a concatenation of the function f 1 , inverse of f 1 , with function g: v=f 2 (a)=(g·f 1 )(a). 
         [0031]    When the computation is carried out correctly, reference variable v present at the output of computer MC agrees with second sensor variable e, (i.e., v=e 2 ), which is checked by comparator V (v=e 2 ?). 
         [0032]    The previously described error scenarios are excluded here, as second sensor variable e 2  is never present as the input value at any point in the computation, and can only be the result of a correct computation. 
         [0033]    Functional relationship g between first and second sensor variables e 1 , e 2  of first and second sensors  51 , S 2  can be expressed in the simplest case by an additive constant K: e 2 =e 1 +K. 
         [0034]    It is thus possible that when sensors S 1 , S 2  are angle sensors, second sensor S 2  has a constant angular displacement with respect to first sensor S 1 . 
         [0035]    Alternatively, it can be provided that second sensor variable e 2  is a multiple k of first sensor variable e 1 : e 2 =ke 1 . 
         [0036]    A far more complex relationship can exist between first and second sensor variables e 1 , e 2 . In particular, two sensors can also be provided that determine the sensor variables according to different physical measurement principles, so that a more or less complex relationship is given between first and second sensor variables e 1 , e 2  from the outset. 
         [0037]    A sensor system for detecting an angle of rotation is illustrated in  FIG. 5  in which the computer system of  FIG. 1  can advantageously be used. A drive wheel  1  whose angle of rotation is to be determined drives first and second measurement wheels  2 ,  3  having different radii. Magnets  4 ,  5  are respectively connected to measurement wheels  2 ,  3 . Stationary Hall sensors  6 ,  7  are respectively associated with measurement wheels  2 ,  3 . Magnet  4  rotates with first measurement wheel  2  with respect to Hall sensor  6 . Similarly, magnet  5  rotates with second measurement wheel  3  with respect to Hall sensor  7 . The rotational angles detected by Hall sensors  6 ,  7  thereby differ by a constant factor which yields the angle of drive wheel  1  from the different transmission ratios of measurement wheels  2 ,  3 . 
         [0038]    Referring now to  FIG. 2 , a computer system in accordance with another embodiment of the present invention is shown. The computer system shown in  FIG. 2  represents an advantageous improvement of the computer system shown in  FIG. 1 . In the computer system shown in  FIG. 1 , the safety integrity of the actual comparator V at the end of the sequence of processes is postulated as given, and the normalized proof of this must be provided separately. 
         [0039]    It is assumed that the functional relationship between first and second sensor variables e 1 , e 2  can be represented by a concatenation of two functions h and g, so that the result is: e 2 =(h·g)(e 1 ). 
         [0040]    The computation described with the aid of  FIG. 1  has already been carried out in computer MC which leads to first reference variable v 1 : v 1 =f 2 (a)=(g·  f 1   )(a), where f 2 ≠  f 1   . 
         [0041]    However, because the functional relationship between first and second sensor variables e 1 , e 2  is no longer given by function g, but by the concatenation (h·g), first reference variable v 1  that reaches comparator V is not suitable for being compared to second sensor variable e 2 . 
         [0042]    From there, comparator V calculates second reference variable v 2  from first reference variable v 1  using the function h by the relationship: v 2 =h(v 1 ). 
         [0043]    Second reference variable v 2  agrees with second sensor variable e 2  (i.e., v 2 =e 2 ) when computer MC and comparator V are functioning properly due to the following relationships: 
         [0000]    
       
         
           
             
               
                 
                   
                     v 
                     2 
                   
                   = 
                   
                     h 
                      
                     
                       ( 
                       
                         v 
                         1 
                       
                       ) 
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       h 
                       ∘ 
                       
                         ( 
                         
                           g 
                           ∘ 
                           
                             
                               f 
                                
                               
                                   
                               
                                
                               1 
                             
                             _ 
                           
                         
                         ) 
                       
                     
                      
                     
                       ( 
                       a 
                       ) 
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       
                         ( 
                         
                           h 
                           ∘ 
                           g 
                         
                         ) 
                       
                       ∘ 
                       
                         
                           f 
                            
                           
                               
                           
                            
                           1 
                         
                         _ 
                       
                     
                      
                     
                       ( 
                       a 
                       ) 
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       ( 
                       
                         h 
                         ∘ 
                         g 
                       
                       ) 
                     
                      
                     
                       ( 
                       
                         e 
                         1 
                       
                       ) 
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     e 
                     2 
                   
                 
               
             
           
         
       
     
         [0044]    It can thus be concluded from a positive comparison result that both computer MC and comparator V are carrying out accurate computations. These embodiments thereby enable a simultaneous functional test of both computer MC and the computational path of comparator V. 
       REFERENCE SYMBOLS 
       [0000]    
       
         MC computer (micro-controller) 
         S 1 , S 2  first and second sensors 
         V comparator 
         a (or A) output variable 
         e, e R , e 1 , e 2  sensor variables 
         e′ reference variable 
         f 1 , f 2  first and second functions 
         g third function 
         h fourth function 
           f 1    inverse function (inverse of function f 1 ) 
         v reference variable 
         v 1 , v 2  first and second reference variables 
         K additive constant 
         k constant factor 
           1  drive wheel 
           2 ,  3  first and second measurement wheels 
           4 ,  5  first and second magnets 
           6 ,  7  first and second Hall sensors 
       
     
         [0063]    As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the present invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
         [0064]    While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the present invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the present invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the present invention.