Method and system for correcting sensor offsets

Information

  • Patent Grant
  • 7085642
  • Patent Number
    7,085,642
  • Date Filed
    Thursday, July 10, 2003
    21 years ago
  • Date Issued
    Tuesday, August 1, 2006
    18 years ago
Abstract
A control system (18) for an automotive vehicle (19) having a vehicle body includes a cluster (16) of vehicle dynamic sensors (27, 28, 30, 31), the output signals from the sensors (Yaw Rate Sensor, Roll Rate Sensor, Longitudinal Acceleration Sensor, Lateral Acceleration Sensor) are corrected for errors by removing the zero output DC bias. Such bias constitutes an error that may occur as a result of temperature changes, manufacturing defects, or other factors. The system (18) also compensates for the drift in the sensor output signals that occur during vehicle operation.
Description
TECHNICAL FIELD

The present invention relates generally to a dynamic behavior control apparatus for an automotive vehicle, and more specifically, to a method and apparatus for correcting offsets in vehicle dynamic sensors.


BACKGROUND

Dynamic control systems for automotive vehicles have recently begun to be offered on various products. Typical dynamic control systems include sensors corresponding to various vehicle dynamics. Examples thereof include: a yaw rate sensor, a roll rate sensor, a longitudinal acceleration sensor, and a lateral acceleration sensor. Typical dynamic control systems also include a controller that receives the sensor signals and controls various safety and stability systems in response thereto.


During various different phases of vehicle operation, the aforementioned sensors tend to generate errors that may result in false signals received in the controller.


It would therefore be desirable to provide a correction or compensation system and method. The new system should not require additional sensors and should also not require shutting-down dynamic control sensors. The present invention is directed to these ends.


SUMMARY OF THE INVENTION

It is therefore an object of the invention to provide a system for correcting for offsets within vehicle dynamic sensors.


In one aspect of the invention, a sensor offset correction method for a vehicle includes generating a first offset correction signal for a vehicle dynamic sensor at a sensor power-up, generating a second offset correction signal for the vehicle dynamic sensor when the vehicle is moving, and correcting the vehicle dynamic sensor in response to the first offset correction signal and the second offset correction signal.


In a further aspect of the invention, a control system for an automotive vehicle having a vehicle body includes a cluster of vehicle dynamic sensors positioned within the vehicle body adapted to generate a plurality of vehicle dynamic signals.


The system may further include a controller adapted to receive the plurality of vehicle dynamic signals, generate a first offset correction signal for one of the cluster of the vehicle dynamic sensors in response to a DC bias and at a sensor power-up, generate a second offset correction signal for the one of the cluster of the vehicle dynamic sensors in response to a signal equivalent to a temperature drift signal and when the vehicle is moving, generate a third offset correction signal for the one of the cluster of the vehicle dynamic sensors when the vehicle is at rest and the one of the cluster of the vehicle dynamic sensors is below an accuracy threshold, and correct the one of the cluster of the vehicle dynamic sensors in response to the first offset correction signal, the second offset correction signal and the third offset correction signal.


One advantage of the invention is that readings from vehicle dynamic sensors are more accurate.


Other objects and features of the present invention will become apparent when viewed in light of the detailed description of the preferred embodiment when taken in conjunction with the attached drawings and appended claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a diagrammatic view of a vehicle with variable vectors and coordinator frames in accordance with one embodiment of the present invention.



FIG. 2 is a block diagram of the vehicle sensor system from FIG. 1.



FIG. 3 is a logic flow diagram of a method for compensating for offset errors in vehicle dynamic sensors in accordance with another embodiment of the present invention.





DETAILED DESCRIPTION OF THE PRESENT INVENTION

In the following figures the same reference numerals are used to identify the same components.


Referring to FIGS. 1 and 2, a control system 18 for an automotive vehicle 19 having a sensing system 16 (sensor cluster) and a controller 26, is illustrated. Various forces and moments are acting thereon during a rollover condition.


The vehicle control system 18 includes the sensor system 16. The sensing system 16 may use a six control sensor set including three axial accelerometers including a lateral accelerometer 27 (generating a lateral acceleration signal), a longitudinal accelerometer 28 (generating a longitudinal acceleration signal), and a vertical accelerometer 29 (generating a vertical acceleration signal) and three axial rotation rate detectors including a yaw rate sensor 30 (generating a yaw rate signal), a roll rate sensor 31 (generating a roll rate signal), and a pitch rate sensor 32 (generating a pitch signal). Of course, those skilled in the art will recognize that one or more sensors may not be included in the system 18.


The sensor system 16 further includes various other sensors, such as wheel speed sensors 20, a steering angle sensor 33 (hand-wheel sensor), and steering angle position sensors 34 (road-wheel sensors). As one skilled in the art will understand, the various sensors generate a plurality of vehicle dynamic signals. These are further described below.


The vehicle control system 18 may also include the controller 26. The controller 26 receives the plurality of vehicle dynamic signals and generates a first offset correction signal for one of the cluster 16 of the vehicle dynamic sensors (27, 28, 30, or 31) in response to a DC bias and at a sensor power-up. The controller 26 also generates a second offset correction signal for the one of the cluster 16 of the vehicle dynamic sensors (27, 28, 30, or 31) in response to a signal equivalent to a temperature drift signal and when the vehicle 19 is moving. The controller 26 further generates a third offset correction signal for the one of the cluster 16 of the vehicle dynamic sensors (27, 28, 30, or 31) when the vehicle 19 is at rest and the sensor is below an accuracy threshold. The controller 26 still further corrects the vehicle dynamic sensing system 16 in response to the first offset correction signal, the second offset correction signal and the third offset correction signal.


Based upon inputs from the sensor system 16, the controller 26 may control a safety device 38. Depending on the desired sensitivity of the system and various other factors, not all the sensors are used in a commercial embodiment. The safety device 38 may control an airbag 40 or a steering actuator or braking actuator at one or more of the wheels of the vehicle 19. Also, other vehicle components such as a suspension control 48 are used to adjust the suspension to prevent rollover. Suspension control 48 may include an anti-roll bar.


In this system 18, the output signals from the RSC sensors (Yaw Rate Sensor 30, Roll Rate Sensor 31, Longitudinal Acceleration Sensor 28, Lateral Acceleration Sensor 27) are corrected for errors by removing the zero output DC bias. Such bias constitutes an error that may occur as a result of temperature changes, manufacturing defects, or other factors. This system 18 also compensates for the drift in the sensor output signals that can occur during vehicle operation.


In one embodiment, to reduce run time, calculations of the offset variables are not performed during Anti-Lock Brake (ABS), Active Yaw Control (AYC), Traction Control System (TCS), or Roll Stability Control (RSC) events. Runtime for the system 18 is highest during these events. The signals, however, are filtered and compensated during this time. Calculations of offset variables are also paused when the flag is set (one example of logic therefore includes: RSC_SENSORS_DISTURBED). This flag is set externally when the sensors are undergoing a self-test, the sensor values are too high, or the rate of change is higher than expected.


An example of logic therefore includes: If (ABS_CYCLE ∥ AYC_CYCLE ∥ RSC_CYCLE ∥ TCS-CYCLE); (In generic terms, if ABS, AYC, TCS or RSC are active then the following logic runs.)


{offset_comp( )}; (This function compensates and filters out the signals from sensor.)


else {if(!SENSORS_DISTURBED) {offset_initializaton( ); (This function initializes the offset values.)


if (VEHICLE_STANDSTILL) (offset_resting( ); (When the vehicle 19 is standing still, this function is called.)


else {offset_signals( );} (When the vehicle 19 is moving, this function is called.)


{offset-comp( )} (This function compensates and filters out the signals from sensors.)


One example of offset compensation external inputs to the aforementioned logic includes:













RSC Code Name
Logic Description Name

















1.
Get_abs_cycle
ABS_CYCLE


2.
Get_ayc_in_cycle
AYC_CYCLE


3.
st_ROLL_FLAG.bf_bool_ACTIVE
RSC_CYCLE



ROLL_CONTROL


4.
Get_tcs_engine_control_active
TCS_CYCLE


5.
RSC_SENSOR_BITS.RSC
RSC_SENSORS



SENSORS_DISTURBED
DISTURBED


6.
ss_mps_REF_VELOCITY_YC
VEHICLE_SPEED


7.
Get_vehicle_standstill
VEHICLE_STANDSTILL









There are three phases of operation occurring within the controller 26: 1) Initialization, normally occurring at electric power-on of the vehicle 19; 2) Resting, occurring whenever the vehicle 19 is not in motion; and 3) Dynamic, occurring when the vehicle 19 is in motion.


Referring to FIG. 3, a logic flow diagram 60 of a method for compensating for offset errors in vehicle dynamic sensors (27, 28, 30, or 31) is illustrated. Logic starts in operation block 62 where a first offset correction signal or initialization for a vehicle dynamic sensor (27, 28, 30, or 31) is generated at a sensor power-up.


Initialization of Roll Rate or roll rate signal and Yaw Rate or yaw rate signal occurs when the vehicle ignition key is turned on or electrical power is otherwise supplied to the vehicle systems. INITIALIZATION_COMPLETE indicates a flag is set at the end of initialization. Initialization eliminates initial D.C. bias that is present at the initialization.


If the vehicle 19 is standing still when the ignition is turned on, the offsets are computed such that the filtered roll rate and yaw rate is approximately zero deg/sec. Other vehicle movement checks when standing still, such as rolling or turning, are also performed. Initialization continues until the initialization timer reaches, for example, one second. If the vehicle 19 starts moving before initialization is complete, the average of the maximum and minimum offset values (that have been calculated over a long time period, such as the entire operating time of the vehicle 19) are computed and used as the initial offset values.


In one embodiment, the average of the yaw rate and roll rate is limited to between, for example, +−3.5 deg/sec, because the sensor specification defines the +−3.5 deg/sec example as the worst case zero point offset for the rate sensors.


Initialization occurs when the vehicle ignition is turned on, or electrical power is otherwise supplied to the vehicle systems. If the vehicle 19 is standing still when the ignition is turned on, then the offsets are computed such that the filtered Ax (Longitudinal Acceleration) and Ay (Lateral Acceleration) values are approximately equal to the Ax and Ay values that existed and were written to the controller EEPROM 47 (Electrically Erasable Programmable Read-Only Memory) when power was removed from the system 18 at the end of the previous driving cycle.


If the vehicle 19 was not standing still when the previous EEPROM 47 write occurred or an EEPROM 47 write did not occur during the last ignition off, then the offsets is computed by taking the average of the maximum and minimum value. The system assumes that the geographical location of the vehicle 19 has not been changed since the vehicle 19 has been shut off. Also to minimize error if the vehicle 19 has been moved during an ignition off, the Ax and Ay offset calculations are limited to within the boundaries of maximum and minimum values from EEPROM 47.


An example of initialization logic includes:

















 If  ((VehicleStandStill)&&  !(INIT_FLAG  &



INITIALIZATION_COMPLETE){if  ((RollAcceleration  <=



VEHICLE_STAND_STILL_ROLL_ACC)&&



(YawAcceleration  <=



VEHICLE_STAND_STILL_YAW_ACC));



  {if   (!(RSC_SENSORS_DISTURBED))



 {RollRateOffset  +=  FilteredRollRate  /



InitializationTimer;



  YawRateOffset  +=  FilteredYawRate  /



InitializationTimer;



  InitializationTimer ++;}



  If  (InitializationTimer  >=  ONE_SEC_UP)



 {INIT_FLAG |= INITIALIZATION_COMPLETE;}}



  Else



  {InitializationTimer = 0; /* Restart the



initialization */}}



  else



  {RollRateOffset  =  LIMIT(+−3.5 deg/sec,



(MAX_RR_OFST_EE + MIN_RR_OFST_EE)/2);



  YawRateOffset  =  LIMIT(+−3.5 deg/sec,



(MAX_YR_OFST_EE + MIN_YR_OFST_EE)/2);



  INIT_FLAG |= INITIALIZATION_COMPLETE;}










For the aforementioned logic, one example of offset initialization external inputs includes:













RSC Code Name
Logic Description Name

















8.
Get_vehicle_standstill(): A
VehicleStandStill



macro to determine if the vehicle is



standing still


9.
ss_mpss_LONG_ACC: Raw
RawAx



Longitudinal Acceleration


10.
ss_mpss_LAT_ACC: Raw Lateral
RawAy



Acceleration


11.
ss_dps_FLT_ROLL_RATE: Filtered
FilteredRollRate



and compensated roll rate.


12.
ss_dps_FLT_YAW_RATE: Filtered
FilteredYawRate



and compensated yaw rate.


13.
ROLL_ACCELERATION2: Roll Rate
RollAcceleration



Acceleration.


14.
YAW_ACCELERATION2: Yaw Rate
YawAcceleration



Acceleration.


15.
RSC_SENSOR_CALIBRATION_VALUES
MAX_RR_OFFSET_EE



[Rr_ofst_max]: Roll rate maximum



value from EEPROM (over a long time



period, such as total operating time



of the vehicle)


16.
RSC_SENSOR_CALIBRATION_VALUES
MIN_RR_OFFSET_EE



[Rr_ofst_min]: Roll rate minimum



value from EEPROM (over a long time



period, such as total operating time



of the vehicle)


17.
RSC_SENSOR_CALIBRATION_VALUES
MAX_YR_OFFSET_EE



[Yr_ofst_max]: Yaw rate maximum



value from EEPROM (over a long time



period, such as total operating time



of the vehicle)


18.
RSC_SENSOR_CALIBRATION_VALUES
MIN_YR_OFFSET_EE



[Yr_ofst_min]: Yaw rate minimum



value from EEPROM (over a long time



period, such as total operating time



of the vehicle)


19.
RSC_SENSOR_CALIBRATION_VALUES
MAX_AX_OFFSET_EE



[Along_ofst_max]: Longitudinal



Acceleration maximum value from



EEPROM (over a long time period,



such as total operating time of the



vehicle)


20.
RSC_SENSOR_CALIBRATION_VALUES
MIN_AX_OFFSET_EE



[Along_ofst_min]: Longitudinal



Acceleration minimum value from



EEPROM (over a long time period,



such as total operating time of the



vehicle)


21.
RSC_SENSOR_CALIBRATION_VALUES
MAX_AY_OFFSET_EE



[Alat_ofst_max]: Lateral



Acceleration maximum value from



EEPROM (over a long time period,



such as total operating time of the



vehicle)


22.
RSC_SENSOR_CALIBRATION_VALUES
MIN_AY_OFFSET_EE



[Alat_ofst_min]: Lateral



Acceleration minimum value from



EEPROM (over a long time period,



such as total operating time of the



vehicle)


23.
RSC_SENSOR_CALIBRATION_VALUES
AxEE



[Long_acc]: Longitudinal



Acceleration stored in EEPROM from



the previous ignition cycle


24.
RSC_SENSOR_CALIBRATION_VALUES
AyEE



[Lat_acc]: Lateral Acceleration



stored in EEPROM from the previous



ignition cycle


25.
Get_rsc_eeprom_var_bit(VEHICLE
Vehicle_was_standing_still



STAND_STILL): A macro to determine
during_last_ignition



from EEPROM if vehicle was standing
off



still last time the EEPROM write was



made.


26.
Get_rsc_eeprom_var_bit(NO_EEPROM
An_EEPROM_write_was_made



STORAGE_RSC): A macro to determine
during_last_ignition



from EEPROM if an EEPROM write is made
off



in the last ignition cycle.









One example of offset initialization outputs include:














Logic Description


RSC Code Name
Name

















1.
ss_mpss_LAT_ACC_OFFSET
AxOffset


2.
ss_mpss_LONG_ACC_OFFSET
AyOffset


3.
ss_mpss_ROLL_RATE_OFFSET
RollRateOffset


4.
ss_mpss_YAW_RATE_OFFSET
YawRateOffset


5.
ss_mpss_ROLL_RATE_OFFSET_INIT:
InitialRollRateOffset



The initial value of roll rate offset.


6.
ss_mpss_YAW_RATE_INIT: The initial
InitialYawRate



value of filtered and compensated yaw



rate.


7.
Clr_rsc_eeprom_var_bit(NO_EEPROM



STORAGE_LAST_CYCLE): A macro that



clears the specified bit in shadow



EEPROM.


8.
bf_uc_INITIALIZATION_STATUS: Flags
INITIALIZATION



set during initialization
COMPLETE









Offset initialization parameters include: rr_ofst_eep_max, which is the maximum limit that the roll rate offset can be; yr_ofst_eep_max, which is the maximum limit that the yaw rate offset can be; along_ofst_eep_max, which is the maximum limit that the longitudinal acceleration offset can be; alat_ofst_eep_max, which is the maximum limit that the lateral acceleration offset can be.


One example of offset initialization state variables includes: bf_uc_initialization_status, which is an initialization flag for checking initialization condition status, and ss_tim_initialization_timer, which sets a start time for the initialization timer.


In one embodiment of the present invention, if the vehicle 19 starts moving before the initialization completes, a flag is set, and an initial value of the Ax and Ay offsets is computed by taking the maximum and minimum offsets values from EEPROM 47. When the initial value is calculated by taking the average of the maximum and the minimum value, it is always limited to, for example, +−1.5 m/sec^2 for the acceleration sensors, because the acceleration sensors should not experience the worst case zero point offset of greater than, for example, 0.11 g. An example of logic therefore includes:














 If ((VehicleStandStill)


 &&!(INIT_FLAG  & INITIALIZATION_COMPLETE)


 &&(Vehicle_was_standing_still_during_last_ignitio


n_off)&&(An_EEPROM_write_was_made_during_last_ignition


_off))


 {if((RollAcceleration<=VEHICLE_STAND_STILL_ROLL_A


CC)


 &&  (YawAcceleration  <=


VEHICLE_STAND_STILL_YAW_ACC))


 {if (!(RSC_SENSORS_DISTURBED))


 {AxOffset  +=  (RawAx − AxEE) * LOOP_TIME_SEC;


 AyOffset  +=  (RawAy −  AyEE) * LOOP_TIME_SEC;


 AxOffset  =  max (MIN_AX_OFST_EE, AxOffset);


 AxOffset  =  min  (MAX_AX_OFST_EE, AxOffset);


 AyOffset  =  max (MIN_AY_OFST_EE, AyOffset);


 AyOffset  =  min (MAX_AY_OFST_EE, AyOffset);


 InitializationTimer ++;}


 If (InitializationTimer >= ONE_SEC_UP)


{INIT_FLAG  |=  INITIALIZATION_COMPLETE;}}; an initial


value of the Ax and Ay offsets is computed by taking


the maximum and minimum offsets values from EEPROM 47.


 else


 {InitializationTimer = 0; /* Restart  the


initialization */}}


 else{AxOffset  =  LIMIT(+−


1.5 m/sec{circumflex over ( )}2, (MAX_AX_OFST_EE  + MIN_AX_OFST_EE )/2);


limits the Ax offset max and min to 1.5 m/sec{circumflex over ( )}2.


 AyOffset = LIMIT(+−1.5 m/sec{circumflex over ( )}2, (MAX_AY_OFST_EE +


MIN_AY_OFST_EE)/2); limits the Ay offset max and min


to 1.5 m/sec{circumflex over ( )}2.


 INIT_FLAG |= INITIALIZATION_COMPLETE;}









In operation block 64, a second offset correction signal is generated for the vehicle dynamic sensor (27, 28, 30, or 31) when the vehicle 19 is moving. The second offset signal deals with moving conditions of the vehicle. Embodiments thereof are discussed below.


If the vehicle 19 is turning continuously for a given time period (15 seconds is used in this example) in one direction, offset compensation may be paused for yaw rate, roll rate, and Ay. If the vehicle 19 is turning continuously to the right hand side, a negative turn flag is set and if it is turning to the left hand side, a positive turning flag is set. Logic to illustrate this includes:














 If  ((FltYawRate  < 0 && SWA < RIGHT_TURN)


 {POS_TURNING_COUNTER −= 2;


 NEG_TURNING_COUNTER ++;


 POS_TURNING_COUTNER = min (POS_TURNING_COUNTER,


MAX_COUNT_VALUE);


 NEG_TURNING_COUNTER = max (NEG_TURNING


 COUNTER,


MIN_COUNT_VALUE);


 If (TURNING_TIME < NEG_TURNING_COUNTER)


 SET_SUSTAINED_NEG_TURNING_15SEC;


 Else


 {If (POS_TURNING_COUNTER <= TURNING_TIME)


 CLEAR_SUSTAINED_POS_TURNING_15SEC;


 CLEAR_SUSTAINED_NEG_TURNING_15SEC;}}


 If ((FltYawRate > 0 && SWA > LEFT_TURN)


 {NEG_TURNING_COUNTER −= 2;


 POS_TURNING_COUNTER ++;


 NEG_TURNING_COUTNER = min (NEG_TURNING_COUNTER,


MAX_COUNT_VALUE);


 POS_TURNING_COUNTER = max (POS_TURNING_COUNTER,


MIN_COUNT_VALUE);


 If (TURNING_TIME < POS_TURNING_COUNTER)


 SET_SUSTAINED_POS_TURNING_15SEC;


 Else{If(NEG_TURNING_COUNTER<= TURNING_TIME)


 CLEAR_SUSTAINED_NEG_TURNING_15SEC;


 CLEAR_SUSTAINED_POS_TURNING_15SEC;}}









To clarify the aforementioned logic, an example of dynamic offset external inputs includes:


An example of dynamic offset variables includes:














Logic


RSC Code Name
Description Name

















1.
Get_vehicle_standstill()



2.
bf_uc_INITIALIZATION_STATUS


3.
ss_deg_STEERING_WHEEL_ANGLE


4.
Get_ayc_reverse_det_possible()


5.
ss_dps_FLT_YAW_RATE
FltYawRate


6.
ss_deg_PITCH_ANGLE_ESTIMATE
PitchAngleEst


7.
ss_deg_PITCH_OFFSET_ESTIMATE
PitchOffset


8.
ss_deg_REL_PITCH_ANGLE
PitchRelative









An example of dynamic offset outputs includes:














Logic Description


RSC Code Name
Name

















1.
ss_dps_ROLL_RATE_OFFSET
RollRateOffset


2.
ss_dps_YAW_RATE_OFFSET
YawRateOffset


3.
ss_dps_LONG_ACC_OFFSET
AxOffset


4.
ss_dps_LAT_ACC_OFFSET
AyOffset









One embodiment of dynamic offset parameters includes: TURNING_TIME; MAX_COUNT_VALUE; MIN_COUNT_VALUE; Rr_ofst_eep_max; Yr_ofst_eep_max; Alat_ofst_eep_max; Along_ofst_eep_max; and p_LOOP_TIME_SEC.


Under most normal driving circumstances, the average yaw rate and the average roll rate should be close to zero over a long period of time. Any time a non-zero value is detected for the yaw rate and/or roll rate, they are compensated for continuously by a very small amount, which is equal to the maximum temperature drift rate for the signal.


Over a long period of time, the average road bank angle is considered to be zero. Any time a non-zero value is detected, lateral acceleration offset is adjusted in the controller 26 such that lateral acceleration will drive road bank angle to zero.


Over a long period of time, the average road pitch angle is considered to be zero. Any time a non-zero value is detected, longitudinal acceleration offset is adjusted in the controller 26 such that longitudinal acceleration will drive pitch angle to zero. Road pitch angle is calculated by taking the current pitch angle estimate and then subtracting the relative pitch angle and the pitch angle offset. Logic to illustrate this includes:


RoadPitchEst=PitchAngleEst−PitchOffset−PitchRelative;

















 If  (RoadPitchEst  > 0) AxOffset  −=



MAX_AX_DRIFT_RATE;



 Else if (RoadPitchEst < 0)



 AxOffset += MAX_AX_DRIFT_RATE;



 If (!(GET_SUSTAINED_POS_TURNING_15SEC))



 {if (FltYawRate > 0)



 YawRateOffset += MAX_YR_DRIFT_RATE;



 If (!(GET_SUSTAINED_NEG_TURNING_15SEC))



 {if (RollRate > 0)  RollRateOffset  +=



MAX_RR_DRIFT_RATE;}



 if  (InstBankAngleEstimate  < 5 &&



InstBankAngleEstimate > 0)



 AyOffset += MAX_AY_DRIFT_RATE;}



 if (!(GET_SUSTAINED_NEG_TURNING_15SEC))



 {if (FltYawRate < 0)



 YawRateOffset −= MAX_YR_DRIFT_RATE;



 If (!(GET_SUSTAINED_POS_TURNING_15SEC))



 {if (RollRate < 0)



 RollRateOffset −= MAX_RR_DRIFT_RATE;}



 if  (InstBankAnbleEstimate  > −5 &&



InstBankAngleEstimate < 0)



 AyOffset −= MAX_AY_DRIFT_RATE;










In operation block 66, a third offset correction signal is generated for a vehicle dynamic sensor when the vehicle 19 is at rest. Embodiments thereof are included below.


An example of offset resting external inputs includes:














Logic


RSC Code Name
Description Name

















1.
bf_uc_INITIALIZATION
INITIALIZATION



STATUS:
COMPLETE



Flag to determine if initialization



is completed


2.
ss_dps_ROLL_ACCELERATION2:
RollAcceleration



Roll Acceleration


3.
ss_dps_YAW_ACCELERATION2: Yaw
YawAcceleration



acceleration









An example of offset resting state variables includes:














Logic


RSC Code Name
Description Name

















1.
ss_dps_FLT_YR_COMP_REST:




Filtered and compensated resting yaw



rate


2.
ss_dps_RESTING_YR_OFFSET:
RestingYROffset



Resting slow drifting offset.


3.
bf_uc_OFFSET_FLAG: Flags that
VEHICLE



are set during resting
STOPPED




FOR_ONE_SEC


4.
ss_mpss_FLT_LONG_ACC_RESTING:
HOLD_RESTING



Initial resting longitudinal
VALUES



acceleration


5.
ss_mpss_FLT_LAT_ACC_RESTING:
FltAyResting



Initial resting lateral acceleration


6.
ss_RESTING_UPDATE_CLOCK: Clock
FltAxResting









An example of offset resting outputs includes:














Logic


RSC Code Name
Description Name

















1.
CLEAR_SUSTAINED_POS_TURNING_




15SEC: Clear the continuous 15



second turn counter


2.
CLEAR_SUSTAINED_NEG_TURNING_



15SEC: Clear the continuous 15



second turn counter


3.
ss_dps_YAW_RATE_OFFSET
YawRateOffset


4.
ss_dps_ROLL_RATE_OFFSET
RollRateOffset


5.
ss_dps_LONG_ACC_OFFSET
AxOffset


6.
ss_dps_LAT_ACC_OFFSET
AyOffset









An example of offset resting parameters includes: 1. Yr_ofst_eep_max; 2. ALLOWED_RESTING_ROLL_ACC: Acceleration that is allowed when standing still; 3. ALLOWED_RESTING_YAW_ACC: Acceleration that is allowed when standing still.


After the vehicle 19 comes to a complete stop, to ensure that no transient signals (such as may be caused by the vehicle 19 rocking, bouncing, or swaying on its suspension) are received in the controller 26, the controller 26 waits, for example, an additional second. An example of logic thereof includes:














 If ((INIT_FLAG & INITIALIZATION_COMPLETE)


 && (!(RSC_SENSORS_DISTURBED)))


 {if   (   !(   OFFSET_FLAG   &


VEHICLE_STOPPED_FOR_ONE_SEC)


 {RESTING_UPDATE_CLOCK ++;


 If  (RESTING_UPDATE_CLOCK  >= ONE_SEC_UP)


 OFFSET_FLAG|= VEHICLE_STOPPED_FOR_ONE_SEC}}









An average value for filtered lateral acceleration (Ax) and longitudinal acceleration (Ay) for a period of 1 second is generated after the vehicle 19 has come to a stop. These values are used to compute the Ax and Ay offsets during standing still. Any drifts in Ax and Ay are considered to be due to sensor drifts and is compensated for by applying the appropriate offset. An example of logic and inputs therefore follow.


One example of filtering and compensation external inputs includes:














Logic


RSC Code Name
Description Name

















1.
Get_vehicle_standstill()



2.
bf_uc_INITIALIZATION_STATUS


3.
ss_dps_YAW_RATE
RawYawRate


4.
ss_dps_ROLL_RATE
RawRollRate


5.
ss_mpss_LONG_ACC
RawAx


6.
ss_mpss_LAT_ACC
RawAy


7.
ss_mpss_YAW_RATE_OFFSET
YawRateOffset


8.
ss_mpss_ROLL_RATE_OFFSET
RollRateOffset


9.
ss_mpss_LONG_ACC_OFFSET
AxOffset


10.
ss_mpss_LAT_ACC_OFFSET
AyOffset


11.
ss_dps_FLT_ROLL_RATE
FltRollRate


12.
ss_dps_FLT_YAW_RATE
FltYawRate


13.
ss_mpss_FLT_LONG_ACC
FltAx


14.
ss_mpss_FLT_LAT_ACC
FltAy









One example of filtering and compensation state variables includes:














Logic


RSC Code Name
Description Name

















1.
uc_LONG_TERM_COMP_UPDATE




CLOCK


2.
ss_dps_YR_COMP_UNFLT
RawYawRate


3.
ss_dps_RR_COMP_UNFLT
RawRollRate


4.
ss_dps_AX_COMP_UNFLT
RawAx


5.
ss_dps_AY_COMP_UNFLT
RawAy


6.
uc_RR_POS_CNTR
RR_POS_CNTR


7.
uc_RR_NEG_CNTR
RR_NEG_CNTR


8.
uc_YR_POS_CNTR
YR_POS_CNTR


9.
uc_YR_NEG_CNTR
YR_NEG_CNTR


10.
uc_AX_POS_CNTR
AX_POS_CNTR


11.
uc_AX_NEG_CNTR
AX_NEG_CNTR


12.
uc_AY_POS_CNTR
AY_POS_CNTR


13.
uc_AY_NEG_CNTR
AY_NEG_CNTR









One example of filtering and compensation outputs includes:
















RSC Code Name
Logic Description Name









1. bf_uc_OFFSET_FLAG




2. ss_dps_FLT_ROLL_RATE
FltRollRate



3. ss_dps_FLT_YAW_RATE
FltYawRate



4. ss_mpss_FLT_LONG_ACC
FltAx



5. ss_mpss_FLT_LAT_ACC
FltAy










One example of filtering and compensation parameters includes: RR_MAX_LOOP; RR_DECR_CNTR; YR_MAX_LOOP; YR_DECR_CNTR; AX_MAX_LOOP; AX_DECR_CNTR; AY_MAX_LOOP; and AY_DECR_CNTR.


Filtering and compensation logic includes the computed values of the offsets taken out from the raw value before they are filtered. Therefore: RawRollRate−=RollRateOffset; RawYawRate−=YawRateOffset; RawAx−=AxOffset; and RawAy−=AyOffset.


An embodiment of logic for generating offsets during standing still includes:














 if ((OFFSET_FLAG & VEHICLE_STOPPED_FOR_ONE_SEC)


 && ! (OFFSET_FLAG  & HOLD_RESTING_VALUES))


 {FltAxResting = ((FltAxResting * TempCounter) +


FltAx) / (TempCounter + 1);


 FltAyResting = ((FltAyResting * TempCounter) +


FltAy) / (TempCounter + 1);


 TempCounter ++;


 If (TempCounter >= ONE_SEC_UP)


OFFSET_FLAG |= HOLD_RESTING_VALUES;}









If any vehicle rolling motions or change in yaw is picked up when stopped, VEHICLE_STOPPED_FOR_ONE_SEC and HOLD_RESTING_VALUES flags is unset. Resting Ax and Ay values (step 2) is re-computed after this. Logic therefore includes:














 If (INIT_FLAG & INITIALIZATION_COMPLETE)


 {if   ((   RollAcceleration   <=


VEHICLE_STAND_STILL_ROLL_ACC)


 &&   (YawAcceleration   <=


VEHICLE_STAND_STILL_YAW_ACC))


 {OFFSET_FLAG &= ~VEHICLE_STOPPED_FOR_ONE_SEC


 OFFSET_FLAG &= ~HOLD_RESTING_VALUES;}}









Any changes in lateral acceleration and longitudinal acceleration are assumed to be due to sensor drifts when the vehicle 19 is at a standstill. Logic to illustrate this includes:














If ((VEHICLE_STOPPED_FOR_ONE_SEC)


&& (HOLD_RESTING_VALUES)


&& (ROLL_ACCELERATION < ALLOWED_RESTING_ROLL


ACC)


&& (YAW_ACCELERATION < ALLOWED_RESTING_YAW


ACC))


{if (FltAx > FltAxResting)


FltAxOffset += MAX_AX_DRIFT_RATE;


Else if (FltAx < FltAxResting)


FltAxOffset −= MAX_AX_DRIFT_RATE;


if (FltAy > FltAyResting)


FltAyOffset += MAX_AY_DRIFT_RATE;


Else if (FltAy < FltAyResting)


FltAyOffset −= MAX_AY_DRIFT_RATE;}









During a vehicle standstill, offset compensation is performed within the controller 26 such that the filtered roll and yaw rate is zero. Logic to illustrate this includes:














If (VEHICLE_STOPPED_FOR_ONE_SEC)


{Temp  = RESTING_TIME_CONSTANT  / LOOP_TIME;


RollRateOffset  += FltRollRate *  Temp;


YawRateOffset += FltYawRate * Temp;}









If the vehicle 19 is turned while standing still, like when the vehicle 19 is stopped/parked on a turntable of a parking facility (referred to as a turntable event), the offset compensation is held constant until the turning is completed by calculating a resting yaw rate compensation value while the vehicle 19 is standing still. No fast compensation is performed while the vehicle 19 is standing still for the resting yaw rate. If this value exceeds a threshold, offset compensation is paused until it is below the threshold. Logic to illustrate this includes:














 FltYRRest  = FLTR_COEFF  * FltYRRest  + (1  −


FLTR_COEFF)*(RawYawRate − RestingYROffset;


 If (FltrYRRest > 0)


 RestingYROffset += MAX_YR_DRIFT_RATE;


 Else if (FltrYRRest < 0)


 RestingYROffset −= MAX_YR_DRIFT_RATE;


 If (FltrYRRest > MAX_REST_YR)


 {OFFSET_FLAG  &= ~ VEHICLE_STOPPED_FOR


 ONE_SEC;


 OFFSET_FLAG &= ~ HOLD_RESTING_ VALUES;}









If an initialization has taken place during a turn table type event, it is corrected when the vehicle 19 is standing still after initialization. In such event, the offsets value is reset to the average of the maximum and the minimum values from EEPROM 47. In such cases, the rate sensors (27, 28, 30, or 31) are limited to, for example, +−3.5 deg/sec and the acceleration sensors is limited to, for example, +−1.5 m/sec^2. The controller 26 achieves this by taking the initial value of the yaw rate after the completion of offset initialization and FltYRRest. Logic to illustrate this includes:














 If (INTIALIZATION_JUST_FINISHED)


 {if (FltYRInitial > FltYRRest + 2)


 || (FltYRInitial < FltYRRest − 2)


 {RollRateOffset  = LIMIT(+−3.5,(MAX_RR_OFST_EE  +


MIN_RR_OFST_EE )/2);


 YawRateOffset  = LIMIT(+−3.5,(MAX_YR_OFST_EE  +


MIN_YR_OFST_EE)/2);


 AxOffset  = LIMIT(+−1.5,(MAX_AX_OFST_EE  +


MIN_AX_OFST_EE )/2);


 AyOffset  = LIMIT(+−1.5,(MAX_AY_OFST_EE  +


MIN_AY_OFST_EE)/2);}}









In operation block 68, the vehicle dynamic sensor (27, 28, 30, or 31) is corrected in response to the first offset correction signal, the second offset correction signal, and the third offset correction signal.


In other words, the computed values of the offsets are taken out from the raw sensor value before the sensors (27, 28, 30, or 31) are filtered. Logic to illustrate this includes:

    • RawRollRate−=RollRateOffset;
    • RawYawRate−=YawRateOffset;
    • RawAx−=AxOffset;
    • RawAy−=AyOffset;


The roll rate sensor 31 is filtered by limiting the roll rate velocity to a maximum of RR_xxx_CNTR * RR_DELTA. These values are established by taking the worst-case conditions (the maximum roll rate) from data. The slope is continually increased by increasing the counter. The counter is limited the RR_MAX_LOOP value. So, the maximum rate change experienced by the roll rate sensor 31 is RR_MAX_LOOP * RR_DELTA. Logic to illustrate this includes:














 if (RawRollRate > FltRollRate)


 {if (RR_POS_CNTR <  RR_MAX_LOOP) RR_POS_CNTR  ++;


 if (RR_NEG_CNTR >= RR_DECR_CNTR) RR_NEG


 CNTR  −=


RR_DECR_CNTR;


 else RR_NEG_CNTR = 0;


 FltRollRate += RR_POS_CNTR * RR_DELTA;


 If (RawRollRate < FltRollRate) FltRollRate =


RawRollRate; }


 else {if (RR_NEG_CNTR < RR_MAX_LOOP) RR_NEG_CNTR


++;


 if (RR_POS_CNTR >= RR_DECR_CNTR) RR_POS_CNTR −=


RR_DECR_CNTR;


 else RR_POS_CNTR = 0;


 FltRollRate −= RR_NEG_CNTR * RR_DELTA;


 If (RawRollRate > FltRollRate) FltRollRate =


RawRollRate;}









The same logic is applied to filter Yaw Rate:














 if (RawYawRate > FltYawRate)


 {if (YR_POS_CNTR < YR_MAX_LOOP) YR_POS_CNTR ++;


 if (YR_NEG_CNTR >= YR_DECR_CNTR) YR_NEG_CNTR −=


YR_DECR_CNTR;


 else YR_NEG_CNTR = 0;


 FltYawRate += YR_POS_CNTR * YR_DELTA;


 If  (RawYawRate  < FltYawRate)  FltYawRate  =


RawYawRate;}


 else{if  (YR_NEG_CNTR  < YR_MAX_LOOP)  YR_NEG


 CNTR


++;


 if  (YR_POS_CNTR  >= YR_DECR_CNTR)  YR_POS


 CNTR −=


YR_DECR_CNTR;


 else YR_POS_CNTR = 0;


 FltYawRate −= YR_NEG_CNTR * YR_DELTA;


 If (RawYawRate  > FltYawRate)  FltYawRate  =


RawYawRate;}









The same logic is applied to filter Longitudinal Acceleration:














if (RawAx > FltAx)


 {if (AX_POS_CNTR < AX_MAX_LOOP) AX_POS_CNTR ++;


 if (AX_NEG_CNTR >= AX_DECR_CNTR) AX_NEG_CNTR −=


AX_DECR_CNTR;


 else AX_NEG_CNTR = 0;


 FltAx += AX_POS_CNTR * AX_DELTA;


 If (RawAx < FltAx) FltAx = RawAx;}


 else {if (AX_NEG_CNTR < AX_MAX_LOOP) AX_NEG_CNTR


++;


 if (AX_POS_CNTR >= AX_DECR_CNTR) AX_POS_CNTR −=


AX_DECR_CNTR;


 else AX_POS_CNTR = 0;


 FltAx −= AX_NEG_CNTR * AX_DELTA;


 If (RawAx > FltAx) FltAx = RawAx;}









The same logic is applied to filter Lateral Acceleration:














 if (RawAy > FltAy)


 {if (AY_POS_CNTR < AY_MAX_LOOP) AY_POS_CNTR ++;


 if (AY_NEG_CNTR >= AY_DECR_CNTR) AY_NEG_CNTR −=


AY_DECR_CNTR;


 else AY_NEG_CNTR = 0;


 FltAy += AY_POS_CNTR * AY_DELTA;


 If (RawAy < FltAy) FltAy = RawAy;}


 Else


 {if (AY_NEG_CNTR < AY_MAX_LOOP) AY_NEG_CNTR ++;


 if (AY_POS_CNTR >= AY_DECR_CNTR) AY_POS_CNTR −=


AY_DECR_CNTR;


 else AY_POS_CNTR = 0;


 FltAy −= AY_NEG_CNTR * AY_DELTA;


 If (RawAy > FltAy) FltAy = RawAy;}









While particular embodiments of the invention have been shown and described, numerous variations and alternate embodiments will occur to those skilled in the art. Accordingly, it is intended that the invention be limited only in terms of the appended claims.

Claims
  • 1. A sensor offset correction method for a vehicle comprising; generating a first offset correction signal for a vehicle dynamic sensor at a sensor power-up, and in response to the vehicle moving prior to completion of power-up, averaging a maximum and a minimum of offset values acquired during vehicle operation and using said average of said maximum and said minimum as said first offset correction signal;generating a second offset correction signal for said vehicle dynamic sensor when the vehicle is moving; andcorrecting said vehicle dynamic sensor in response to at least one of said first offset correction signal and said second offset correction signal.
  • 2. A method as in claim 1 further comprising: generating a third offset correction signal for said vehicle dynamic sensor when the vehicle is at rest; andcorrecting said vehicle dynamic sensor in response to said third offset correction signal.
  • 3. A method as in claim 2 further comprising: stopping the vehicle; anddelaying generating said third offset correction signal thereby reducing influence of transient signals on said third offset correction signal.
  • 4. A method as in claim 3, wherein generating said third offset correction signal further comprises: generating said third offset correction signal in response to said vehicle dynamic sensor indicating a change in lateral acceleration or longitudinal acceleration.
  • 5. A method as in claim 3 further comprising; delaying generating said third offset correction signal until vehicle turning has ceased.
  • 6. A method as in claim 3 further comprising: compensating for an initialization occurring during a vehicle turn table event when the vehicle is standing still following said initialization.
  • 7. A method as in claim 1, wherein correcting said vehicle dynamic sensor further comprises: generating a filtered roll rate of zero; andgenerating a filtered yaw rate of zero.
  • 8. A method as in claim 1, wherein generating said second offset correction signal further comprises: pausing offset compensation in response to continuous vehicle turning for a specified time.
  • 9. A method as in claim 1, wherein generating said second offset correction signal further comprises: detecting a non-zero roll rate value signal;compensating for said roll rate value signal continuously by an amount substantially equal to a maximum temperature drift rate of said roll rate value signal;detecting a non-zero yaw rate value signal;compensating for said yaw rate value signal continuously by an amount substantially equal to a maximum temperature drift rate of said roll rate value signal.
  • 10. A method as in claim 1, wherein generating said second offset correction signal further comprises; detecting a non-zero value for a road bank angle signal;adjusting a lateral acceleration offset, such that lateral acceleration drives said road bank angle signal to zero.
  • 11. A method as in claim 1, wherein generating said second offset correction signal further comprises: detecting a non-zero value for a average road pitch angle signal; andadjusting a longitudinal acceleration offset, such that lateral acceleration drives said road bank angle signal to zero.
  • 12. A method as in claim 1, wherein generating said first offset correction signal for said vehicle dynamic sensor further comprises: pausing an offset correction when an RSC sensor disturbance flag is set or during events from at least one of ABS, AYC, TCS, or RSC.
  • 13. A method as in claim 1, wherein generating said first offset correction signal for said vehicle dynamic sensor further comprises: initializing said sensor; andsubstantially eliminating D.C. bias present at initialization of said sensor.
  • 14. A method as in claim 1, wherein generating said first offset correction signal for said vehicle dynamic sensor further comprises: generating said first offset correction signal such that a resultant filtered roll rate is approximately zero;generating said first offset correction signal such that a resultant filtered yaw rate is approximately zero.
  • 15. A method as in claim 1, wherein generating said first offset correction signal further comprises: in response to the vehicle moving prior to completion of initialization, averaging offset values previously acquired and using them as said first offset correction signal.
  • 16. A method as in claim 1, wherein generating said first offset correction signal further comprises: generating said first offset approximately equal to a previously stored sensor signal from a previous driving cycle.
  • 17. A method as recited in claim 1 further comprising compensating for a valid signal bias in said vehicle dynamic sensor.
  • 18. A method as recited in claim 17, wherein compensating for said valid signal bias further comprises adjusting an electrical long term bias over time with a minute adjustment at each sampling time or a sliding mode control.
  • 19. A sensor offset correction method as in claim 1 further comprising: generating a third offset correction signal for said vehicle dynamic sensor when the vehicle is at rest and said vehicle dynamic sensor is below an accuracy threshold; andcorrecting said vehicle dynamic sensor in response to said first offset correction signal, said second offset correction signal and said third offset correction signal.
  • 20. A sensor offset correction method for a vehicle comprising: generating a first offset correction signal for a vehicle dynamic sensor at a sensor power-up in response to a DC bias;generating a temperature drift signal for said sensor;generating a second offset correction signal for said vehicle dynamic sensor when the vehicle is moving in response to said temperature drift signal;generating a third offset correction signal for said vehicle dynamic sensor when the vehicle is at rest and said vehicle dynamic sensor is below an accuracy threshold;correcting said vehicle dynamic sensor in response to said first offset correction signal, said second offset correction signal and said third offset correction signal;generating said third offset correction signal in response to said vehicle dynamic sensor indicating a change in lateral acceleration or longitudinal acceleration;delaying generating said third offset correction signal until vehicle turning has ceased;compensating for an initialization occurring during a vehicle turn table event when the vehicle is standing still following said initialization; andpausing offset compensation in response to continuous vehicle turning for a specified time;detecting a non-zero roll rate value signal;compensating for said roll rate value signal continuously by an amount substantially equal to a maximum temperature drift rate of said roll rate value signal;detecting a non-zero yaw rate value signal;detecting a non-zero value for a road bank angle signal;adjusting a lateral acceleration offset, such that lateral acceleration drives said road bank angle signal to zero;detecting a non-zero value for a average road pitch angle signal; andadjusting a longitudinal acceleration offset, such that lateral acceleration drives said road bank angle signal to zero.
  • 21. A method as in claim 20, wherein generating said first offset correction signal for said vehicle dynamic sensor further comprises: pausing an offset correction when an RSC sensor disturbance flag is set or during events from at least one of ABS, AYC, TCS, or RSC;initializing said sensor;generating said first offset correction signal such that a filtered roll rate is approximately zero;generating said first offset correction signal such that a filtered yaw rate is approximately zero;in response to the vehicle moving prior to completion of initialization, averaging offset values previously acquired and using them as said first offset correction signal; andgenerating said first offset approximately equal to a previously stored sensor signal from a previous driving cycle.
  • 22. A control system for an automotive vehicle having a vehicle body comprising: a cluster of vehicle dynamic sensors positioned within the vehicle body adapted to generate a plurality of vehicle dynamic signals;and a controller adapted to receive said plurality of vehicle dynamic signals,said controller further adapted to generate a first offset correction signal for one of said cluster of said vehicle dynamic sensors in response to a DC bias and at a sensor power-up,said controller further adapted to generate said first offset correction signal such that a filtered roll rate is approximately zero and a filtered yaw rate is approximately zero;said controller, in response to the vehicle moving prior to completion of initialization, adapted to average offset values previously acquired and use them as said first offset correction signal;said controller further adapted to generate said first offset approximately equal to a previously stored sensor signal from a previous driving cycle,said controller further adapted to generate a second offset correction signal for said one of said cluster of said vehicle dynamic sensors in response to a signal equivalent to a temperature drift signal and when the vehicle is moving,said controller further adapted to generate a third offset correction signal for said one of said cluster of said vehicle dynamic sensors when the vehicle is at rest and said one of said cluster of said vehicle dynamic sensors is below an accuracy threshold,said controller further adapted to correct said one of said cluster of said vehicle dynamic sensors in response to said first offset correction signal, said second offset correction signal and said third offset correction signal,said controller further adapted to pause an offset correction when an RSC sensor disturbance flag is set or during events from at least one of ABS, AYC, TCS, or RSC.
RELATED APPLICATIONS

The present invention claims priority to provisional application No. 60/401,417 filed on Aug. 5, 2002.

US Referenced Citations (197)
Number Name Date Kind
2917126 Phillips Dec 1959 A
3604273 Kwok et al. Sep 1971 A
3608925 Murphy Sep 1971 A
3899028 Morris et al. Aug 1975 A
3948567 Kasselmann et al. Apr 1976 A
3972543 Presley et al. Aug 1976 A
4023864 Lang et al. May 1977 A
RE30550 Reise Mar 1981 E
4480714 Yabuta et al. Nov 1984 A
4592565 Eagle Jun 1986 A
4597462 Sano et al. Jul 1986 A
4650212 Yoshimura Mar 1987 A
4679808 Ito et al. Jul 1987 A
4690553 Fukamizu et al. Sep 1987 A
4761022 Ohashi Aug 1988 A
4765649 Ikemoto et al. Aug 1988 A
4767588 Ito Aug 1988 A
4778773 Sukegawa Oct 1988 A
4809183 Eckert Feb 1989 A
4827416 Kawagoe et al. May 1989 A
4872116 Ito et al. Oct 1989 A
4888696 Akatsu et al. Dec 1989 A
4898431 Karnopp et al. Feb 1990 A
4930082 Harara et al. May 1990 A
4951198 Watanabe et al. Aug 1990 A
4960292 Sadler Oct 1990 A
4964679 Rath Oct 1990 A
4967865 Schindler Nov 1990 A
4976330 Matsumoto Dec 1990 A
4998593 Karnopp et al. Mar 1991 A
5033770 Kamimura et al. Jul 1991 A
5058017 Adachi et al. Oct 1991 A
5066041 Kindermann et al. Nov 1991 A
5088040 Matsuda et al. Feb 1992 A
5089967 Haseda et al. Feb 1992 A
5163319 Spies et al. Nov 1992 A
5200896 Sato et al. Apr 1993 A
5208749 Adachi et al. May 1993 A
5224765 Matsuda Jul 1993 A
5228757 Ito et al. Jul 1993 A
5239868 Takenaka et al. Aug 1993 A
5247466 Shimada et al. Sep 1993 A
5261503 Yasui Nov 1993 A
5265020 Nakayama Nov 1993 A
5274576 Williams Dec 1993 A
5278761 Ander et al. Jan 1994 A
5282134 Gioutsos et al. Jan 1994 A
5307274 Takata et al. Apr 1994 A
5311431 Cao et al. May 1994 A
5324102 Roll et al. Jun 1994 A
5335176 Nakamura Aug 1994 A
5365439 Momose et al. Nov 1994 A
5370199 Akuta et al. Dec 1994 A
5408411 Nakamura et al. Apr 1995 A
5446658 Pastor et al. Aug 1995 A
5510989 Zabler et al. Apr 1996 A
5548536 Ammon Aug 1996 A
5549328 Cubalchini Aug 1996 A
5579245 Kato Nov 1996 A
5598335 You Jan 1997 A
5602734 Kithil Feb 1997 A
5610575 Gioutsos Mar 1997 A
5627756 Fukada et al. May 1997 A
5634698 Cao et al. Jun 1997 A
5640324 Inagaki Jun 1997 A
5648903 Liubakka Jul 1997 A
5671982 Wanke Sep 1997 A
5676433 Inagaki et al. Oct 1997 A
5694319 Suissa et al. Dec 1997 A
5703776 Soung Dec 1997 A
5707117 Hu et al. Jan 1998 A
5707120 Monzaki et al. Jan 1998 A
5719790 Lohrenz et al. Feb 1998 A
5720533 Pastor et al. Feb 1998 A
5723782 Bolles, Jr. Mar 1998 A
5732377 Eckert Mar 1998 A
5732378 Eckert et al. Mar 1998 A
5732379 Eckert et al. Mar 1998 A
5736939 Corcoran Apr 1998 A
5737224 Jeenicke et al. Apr 1998 A
5740041 Iyoda Apr 1998 A
5742918 Ashrafi et al. Apr 1998 A
5742919 Ashrafi et al. Apr 1998 A
5762406 Yasui et al. Jun 1998 A
5782543 Monzaki et al. Jul 1998 A
5787375 Madau et al. Jul 1998 A
5801647 Survo et al. Sep 1998 A
5809434 Ashrafi et al. Sep 1998 A
5816670 Yamada et al. Oct 1998 A
5825284 Dunwoody et al. Oct 1998 A
5857160 Dickinson et al. Jan 1999 A
5857535 Brooks Jan 1999 A
5869943 Nakashima et al. Feb 1999 A
5878357 Sivashankar et al. Mar 1999 A
5893896 Imamura et al. Apr 1999 A
5925083 Ackermann Jul 1999 A
5931546 Nakashima et al. Aug 1999 A
5944137 Moser et al. Aug 1999 A
5944392 Tachihata et al. Aug 1999 A
5946644 Cowan et al. Aug 1999 A
5964819 Naito Oct 1999 A
5971503 Joyce et al. Oct 1999 A
6002974 Schiffmann Dec 1999 A
6002975 Schiffmann et al. Dec 1999 A
6026926 Noro et al. Feb 2000 A
6038495 Schiffmann Mar 2000 A
6040916 Griesinger Mar 2000 A
6050360 Pattok et al. Apr 2000 A
6055472 Breunig et al. Apr 2000 A
6062336 Amberkar et al. May 2000 A
6065558 Wielenga May 2000 A
6073065 Brown et al. Jun 2000 A
6079513 Nishizaki et al. Jun 2000 A
6081761 Harada et al. Jun 2000 A
6085860 Hackl et al. Jul 2000 A
6086168 Rump Jul 2000 A
6089344 Baughn et al. Jul 2000 A
6104284 Otsuka Aug 2000 A
6122568 Madau et al. Sep 2000 A
6122584 Lin et al. Sep 2000 A
6129172 Yoshida Oct 2000 A
6141604 Mattes et al. Oct 2000 A
6141605 Joyce Oct 2000 A
6144904 Tseng Nov 2000 A
6149251 Wuerth et al. Nov 2000 A
6161905 Hac et al. Dec 2000 A
6169939 Raad et al. Jan 2001 B1
6176555 Semsey Jan 2001 B1
6178375 Breunig Jan 2001 B1
6179310 Clare et al. Jan 2001 B1
6179394 Browalski et al. Jan 2001 B1
6184637 Yamawaki et al. Feb 2001 B1
6185485 Ashrafti et al. Feb 2001 B1
6186267 Hackl et al. Feb 2001 B1
6192305 Schiffmann Feb 2001 B1
6195606 Barta et al. Feb 2001 B1
6198988 Tseng Mar 2001 B1
6202009 Tseng Mar 2001 B1
6202020 Kyrtsos Mar 2001 B1
6206383 Burdock Mar 2001 B1
6219604 Dilger et al. Apr 2001 B1
6223114 Boros et al. Apr 2001 B1
6226579 Hackl et al. May 2001 B1
6233510 Platner et al. May 2001 B1
6263261 Brown et al. Jul 2001 B1
6266596 Hartman et al. Jul 2001 B1
6272420 Schramm et al. Aug 2001 B1
6278930 Yamada et al. Aug 2001 B1
6282471 Burdock et al. Aug 2001 B1
6282472 Jones et al. Aug 2001 B1
6282474 Chou et al. Aug 2001 B1
6292734 Murakami et al. Sep 2001 B1
6292759 Schiffmann Sep 2001 B1
6311111 Leimbach et al. Oct 2001 B1
6314329 Madau et al. Nov 2001 B1
6315373 Yamada et al. Nov 2001 B1
6321141 Leimbach Nov 2001 B1
6324445 Tozu et al. Nov 2001 B1
6324446 Brown et al. Nov 2001 B1
6324458 Takagi et al. Nov 2001 B1
6330522 Takeuchi Dec 2001 B1
6332104 Brown et al. Dec 2001 B1
6338012 Brown et al. Jan 2002 B1
6349247 Schramm et al. Feb 2002 B1
6351694 Tseng et al. Feb 2002 B1
6352318 Hosomi et al. Mar 2002 B1
6356188 Meyers et al. Mar 2002 B1
6360147 Lee Mar 2002 B1
6363309 Irie et al. Mar 2002 B1
6366833 Fukuyama Apr 2002 B1
6370938 Leimbach et al. Apr 2002 B1
6394240 Barwick May 2002 B1
6397127 Meyers et al. May 2002 B1
6419240 Burdock et al. Jul 2002 B1
6428118 Blosch Aug 2002 B1
6438464 Woywod et al. Aug 2002 B1
6477480 Tseng et al. Nov 2002 B1
6496758 Rhode et al. Dec 2002 B1
6496763 Griessbach Dec 2002 B1
6498976 Ehlbeck et al. Dec 2002 B1
6547022 Hosomi et al. Apr 2003 B1
6554293 Fennel et al. Apr 2003 B1
6556908 Lu et al. Apr 2003 B1
6559634 Yamada May 2003 B1
6600985 Weaver et al. Jul 2003 B1
6704631 Winner et al. Mar 2004 B1
6718279 Bustgens et al. Apr 2004 B1
6810311 Winner et al. Oct 2004 B1
20020014799 Nagae Feb 2002 A1
20020040268 Yamada et al. Apr 2002 A1
20020056582 Chubb May 2002 A1
20020075139 Yamamoto et al. Jun 2002 A1
20020082749 Meyers et al. Jun 2002 A1
20020096003 Yamada et al. Jul 2002 A1
20020139599 Lu Oct 2002 A1
20030040856 Winner et al. Feb 2003 A1
20030109939 Burgdorf et al. Jun 2003 A1
Foreign Referenced Citations (39)
Number Date Country
36 16 907 Nov 1987 DE
38 15 938 Nov 1989 DE
43 21 571 Jan 1994 DE
42 27 886 Feb 1994 DE
43 35 979 Apr 1995 DE
43 42 732 Jun 1995 DE
199 07 633 Oct 1999 DE
0 430 813 Dec 1993 EP
0 662 601 Jul 1995 EP
0 758 601 Feb 1997 EP
24 25 342 Dec 1979 FR
2257403 Jan 1993 GB
2 342 078 Apr 2000 GB
62055211 Sep 1985 JP
63116918 May 1988 JP
63151539 Jun 1988 JP
63203456 Aug 1988 JP
1101238 Apr 1989 JP
2171373 Jul 1990 JP
3042360 Feb 1991 JP
3045452 Feb 1991 JP
4008837 Jan 1992 JP
5016699 Jan 1993 JP
5254406 Oct 1993 JP
6278586 Oct 1994 JP
6297985 Oct 1994 JP
6312612 Nov 1994 JP
8080825 Mar 1996 JP
9005352 Jan 1997 JP
10024819 Jan 1998 JP
10329682 Dec 1998 JP
11011272 Jan 1999 JP
11170992 Jun 1999 JP
11254992 Sep 1999 JP
11255093 Sep 1999 JP
11304663 Oct 1999 JP
11304662 Nov 1999 JP
816849 Mar 1981 SU
WO 0220318 Mar 2002 WO
Related Publications (1)
Number Date Country
20040030474 A1 Feb 2004 US
Provisional Applications (1)
Number Date Country
60401417 Aug 2002 US