The present invention relates generally to steering wheel angle detection, and more specifically to a steering angle sensor and method of operation.
The determination of the steering center of a moving vehicle is important for several advanced vehicle functions, such as those run by the vehicle dynamic controller, i.e. vehicle traction control. It is important to learn this value as early in the driving cycle as possible so that these vehicle functions may be activated in a timely manner.
One known way of determining the steering center of a moving vehicle is the use of an absolute steering wheel angle sensor. An absolute steering wheel angle sensor provides the actual position of the steering wheel at any point in the vehicle's driving cycle. Unfortunately, these sensors are complex and costly.
Another method utilizes relative steering wheel angle sensors, which are less complex and costly as compared with the absolute steering wheel angle sensors. This type of sensor does not provide the absolute position of the steering wheel. A relative steering wheel angle sensor (RSAS) generates a relative steering wheel angle, that is, relative to the initial position which the steering mechanism occupied when the ignition was turned on. Since it cannot be guaranteed that a vehicle is always started with the steering mechanism in the straight-ahead position, it becomes necessary to estimate the location of the center position. When the center position is located, an RSAS offset value may be computed which will be used to adjust the measured value given by the relative sensor (RSAS).
Accordingly, after the vehicle is started, the electrical control unit (ECU) calculates the center position, and hence the initial RSAS offset. This calculation requires the vehicle to be moving at a certain speed range and in a straight-ahead manner. Calculating the offset depends on the vehicle speed, the road surface condition, and the driving maneuver. Unfortunately, during this “calculation” time period the vehicle dynamic controller is temporarily disabled.
Another significant drawback occurs between ignition on/off cycles. Storing the calculated RSAS offset value to memory during ignition turn-off is not satisfactory, because the ECU always treats the RSAS reading of the steering mechanism as at zero degrees when the ignition turns on. Since the steering wheel is not necessarily in the original position of the prior cycle when the ignition is turned off, this value cannot be used. Thus, the ECU usually stores the last steering wheel angle (SWA) actual position to memory when the ignition turns off. Unfortunately, if the ECU utilizes this saved SWA when the ignition is turned on, the calculated “center” position and the estimated RSAS offset could be erroneous since the steering wheel may have been moved while the ignition was turned off.
Therefore, there exists the need to provide a steering wheel angle sensor that quickly provides a highly accurate value of the steering wheel angle so that advanced vehicle functions may be readily activated, while also providing cost savings to lower the overall cost of the vehicle.
The present invention provides a steering wheel angle sensor and a method of operation that retains steering wheel angle information during ignition-off of the vehicle. Accordingly, the vehicle may readily activate advanced vehicle function at ignition-on. Further, a relative steering wheel angle sensor is utilized reducing the cost of the system and vehicle.
The accompanying drawings incorporated in and forming a part of the specification illustrate several aspects of the present invention, and together with the description serve to explain the principles of the invention. In the drawings:
While the invention will be described in connection with certain preferred embodiments, there is no intent to limit it to those embodiments. On the contrary, the intent is to cover all alternatives, modifications and equivalents as included within the spirit and scope of the invention as defined by the appended claims.
Turning now to the figures, a new method for determining an actual steering wheel angle is provided that does not require re-calculation of the steering offset value upon each ignition of the vehicle. Accordingly, the vehicle dynamic controller may be activated sooner after ignition, while a less costly relative steering wheel angle sensor may be employed. As shown in
When the ignition of the vehicle is turned on, i.e. the vehicle enters an ignition-on state, the steering wheel may be at any given angle. As represented in
Turning now to
The ECU 60 is also in communication with a sensor cluster or sensor module 90. The sensor module 90 includes a yaw rate sensor 92 (YRS), a lateral acceleration sensor 94 (LAS) and a longitudinal acceleration sensor (G-sensor) 96. Notably, the ECU 60 and the sensor cluster 90 communicate via CAN BUS, that is, the communication protocol utilized by the vehicle. Finally, the ECU 60 is in communication with a semi-RSAS offset calibration module 80, also via CAN BUS. The calibration module 80 generally includes a semi-relative steering wheel angle sensor (semi-RSAS) 82 that detects a relative position of the steering wheel 12 as described above. The calibration module 80 also includes a RAM 84 for storing and updating this information, and a translate unit 86 is utilized to allow the module 80 to communicate with the ECU 60 via the CAN BUS protocol.
CAN BUS 2 is used for communication between the YRS 92, LAS 94, longitudinal acceleration sensor 96 and the ECU 60. The ECU 60 monitors the input signals from all of the sensors in the sensor module 90, which are used to calculate a semi-RSAS offset value Δθ. The calibration module 80 communicates with the ECU 60 via CAN BUS 1 in the following manner. First, calibration module 80 outputs the relative steering wheel angle θR at all times to the ECU 60. Second, the calibration module 80 also outputs a status flag to the ECU 60 at the same time. The status flag is used to indicate whether there is a valid semi-RSAS offset value Δθ corresponding to the detected relative steering wheel angle θR. The status flag is set as either AVAILABLE or NOT AVAILABLE. When a semi-RSAS offset value Δθ is determined by the ECU 60, the ECU requests the calibration module 80 to output an AVAILABLE status flag via CAN BUS 1 to confirm the offset setting. When the calibration module 80 receives the request, it resets the NOT AVAILABLE status flag and outputs the AVAILABLE flag to finish the offset confirmation. The ECU 60 does not activate the vehicle dynamic controller until receiving the AVAILABLE status flag from the calibration module 80.
As will be described in more detail below, the steering wheel monitoring system 50 and its method of use has more advanced features over the prior art. Namely, the semi-RSAS is capable of keeping the steering wheel angle information and automatically updating the steering angle at all times while the steering wheel 12 is rotated, even during an ignition-off state of the vehicle. Further, after the vehicle enters an ignition-on state, the ECU 60 directly reads the semi-RSAS offset value from the EEPROM 70 and activates the vehicle dynamic controller. The offset value is not an estimated or initial value, but rather it is an offset value with a high accuracy that was used in the previous ignition cycle. Whenever the vehicle is turned off, i.e. enters an ignition-off state, the offset value stores to the EEPROM 70. The ECU 60 only re-calculates the semi-RSAS offset value when either: a) the power to the semi-RSAS 82 was interrupted; or b) a failure was detected with the sensor module 90. Additionally, the offset value is capable of compensation by long-term adjustment. Still further, the calibration module 80 communicates with the ECU 60 via CAN BUS, providing a common communication protocol, and allowing for additional applications of the values detected, i.e. the steering wheel angle and offset values.
When the calibration module 80 and semi-RSAS 82 are connected with power for the first time, the relative steering position θR is initialized to zero, and the status flag is initialized to NOT AVAILABLE. The calibration module 80 outputs the NOT AVAILABLE status flag via CAN BUS 1 indicating there is no valid semi-RSAS offset value Δθ available. The ECU 60 is unable to calculate the actual steering wheel angle θ and the vehicle dynamic controller is temporarily disabled. The ECU 60 therefore has to calculate the semi-RSAS offset value Δθ. As will be described herein, when the ECU 60 determines the vehicle is moving straight-ahead, the ECU sets the current relative steering wheel angle θR as the semi-RSAS offset value Δθ, and more specifically as an initial offset value Δθ(t0). That is because when the vehicle is heading straight forward, the actual steering wheel angle θ will be at the center position θ0, and the reading of the semi-RSAS 82 (i.e. the semi-relative steering wheel angle θR) will reflect the difference between the initial steering wheel angle θi and the center position of the steering wheel θ0.
Once the ECU 60 calculates the initial semi-RSAS offset value Δθ(t0), the ECU 60 requests that the calibration module 80 output the AVAILABLE flag via CAN BUS to confirm the offset setting. After receiving the AVAILABLE status flag from the calibration module 80, the ECU 60 activates the vehicle dynamic controller and uses the calculated semi-RSAS offset value Δθ to calculate the actual steering wheel angle θ and its velocity for the vehicle dynamic controller.
As long as power to the calibration module 80 and the semi-RSAS 82 is not interrupted, even if the ignition was turned off, the semi-RSAS 82 continues updating the relative steering wheel angle θR while the steering wheel 12 is rotated. The semi-RSAS 82 does not lose any angle. At the next starting of the vehicle, i.e. when the vehicle enters an ignition-on state, the calibration module 80 outputs an AVAILABLE status flag to the ECU 60 that indicates there is a valid semi-RSAS offset value Δθ available in the EEPROM 70. The ECU 60 directly reads the offset value Δθ and more specifically the last known offset Δθ(tn) (typically Δθfil(tn) as will be discussed herein), from the EEPROM 70 and activates the vehicle dynamic controller.
While the vehicle is running, if a failure related with the sensor module 90 is detected via CAN BUS 2, the ECU 60 sets a failure flag to the EEPROM 70 that indicates there is no valid offset value Δθ. When the vehicle enters the ignition-on state at the next cycle, the ECU 60 will read from the EEPROM 70 the failure flag and determine there is no valid offset value Δθ available. This is true even if the calibration module 80 outputs an AVAILABLE status flag at that time.
Accordingly, when the ignition switch is on and the vehicle enters an ignition-on state, the ECU 60 reads the status flag from the calibration module 80 and checks the failure flag of the previous ignition cycle from the EEPROM 70 to determine if a valid semi-RSAS offset value Δθ is available. If the calibration module 80 outputs and AVAILABLE flag and the failure flag is not set, the ECU 60 extracts the last known semi-RSAS offset value Δθ(tn) and sets this value as the initial offset value Δθ(t0) of this ignition cycle and activates the vehicle dynamic controller. If for some reason the power was interrupted to the calibration module 80 and the semi-RSAS 82, all of the data of the calibration module 80 was reset including the status flags. Thus, when the power is back on, the calibration module 80 outputs the current steering position as the initial angle θi and the status flag is NOT AVAILABLE. In this case, the ECU 60 will have to calculate the initial offset Δθ(t0) again.
The ECU 60 is monitoring the vehicle performance through output signals of various difference sensors such as wheel speed sensor 66, yaw rate sensor 92, lateral acceleration sensor 94 and longitudinal acceleration sensor 96. Some of the sensors and/or other sensors are put together in a box forming a sensor cluster or sensor module 90, which is typically mounted on the inside of the floor of the vehicle. The ECU 60 utilizes an algorithm to determine when the vehicle is heading in a straight-forward manner. Generally, the ECU 60 is looking for a yaw rate value of the vehicle being close to zero for a relatively long time period. Additionally, a FOURIER transform is used to calculate the amplitude of the vehicle rigid body natural frequency, by using a series of yaw rate sample data, that data being less than a certain range of tolerance. This will occur when the vehicle is driving straight on the surface of a smooth road, regardless of the position of the steering wheel at that time. This means the algorithm is robust against misalignments in the steering assembly and the front axle.
After calculating the initial offset Δθ(t0), the ECU 60 continues monitoring the vehicle performance to adjust the semi-RSAS offset Δθ to eliminate the deviation of sample data. The ECU 60 re-calculates the initial semi-RSAS offset Δθ(t0) if and only if, power was interrupted to the calibration module 80 and semi-RSAS 82 (resetting all the values and outputting a NOT AVAILABLE status flag) or, a failure related with the sensor module 90 was detected in the previous ignition-on cycle. If the signals of the sensor module 90 are not valid, the ECU 60 is unable to judge if the vehicle is driving in a straight-ahead line.
Referring now to
The next state is a semi-RSAS data checksum state 120. This state is to make sure if a set of the semi-RSAS values stored in the EEPROM 70 is valid. To determine validity, the calculation method called a checksum is applied to the set of the semi-RSAS values for providing error detection. After initialization 110, the ECU 60 calculates the checksum of the semi-RSAS data in the RAM 62 and compares it with a checksum value stored on the EEPROM 70 at the previous ignition cycle. If the checksum values are not identical, the EEPROM 70 was corrupted and the ECU 60 issues a failure. In this case, the system 50 enters the failure state 190, in which a failure flag will be set to the EEPROM 70 and the vehicle dynamic controller will be disabled. The semi-RSAS data checksum state 120 occurs once for one ignition cycle. If the RSAS data is valid, the CAN BUS status state 130 is entered.
The next state is the CAN BUS operational state 130. The calibration module 80 outputs data via CAN BUS 1. The ECU 60 further checks if the CAN BUS is operational by determining the following items: a) CAN BUS is functional; b) no signal is missing; and c) no failure has occurred between the semi-RSAS 82 and the translate unit 86. The ECU 60 will disable the calibration module 80 if a failure was detected with the CAN BUS, and enter the failure state 190. The ECU 60 checks if the CAN BUS signal is valid on every software loop after the initialization 110.
If the CAN BUS is operational, the YRS status state 140 is entered. The ECU 60 checks if the signal from the yaw rate sensor 92 is available, and if yaw rate sensor offset calibration has finished successfully. If the ECU 60 does not receive a yaw rate sensor valid signal or a yaw rate sensor initialization within 3.0 seconds, the ECU 60 will issue a failure. That is, the system 50 will enter the failure state 190. If the YRS signal is valid, the system 50 enters the semi-RSAS status state 150.
As briefly described above, a semi-RSAS data packet, including a current relative steering wheel angle θR, status flag, and other status information, is sent to the ECU 60 directly from the calibration module 80 periodically via CAN BUS. In this state, the ECU 60 will declare that the calibration module 80 outputs valid data if the following conditions have been positively checked: a) the ordinal number of the data packet; and b) the checksum of the data packet; and c) an angle of the semi-RSAS 82 matches its mirror; d) a status flag of the calibration module 80 matches its mirror; and e) no error information is received from the translate unit 86. If the calibration module 80 is unable to output valid data within 3.0 seconds, the ECU 60 will confirm the failure that was set by BUS mode and disable the semi-RSAS calibration by entering the failure mode 190. The ECU 60 checks if the calibration module 80 outputs valid data on every software loop after the initialization state 110.
If the semi-RSAS 82 and calibration module 80 outputs valid data, the ECU 60 further checks the RSAS status flag to determine if a valid semi-RSAS offset Δθ is available. If the calibration module 80 outputs the AVAILABLE status flag and no failure related with the sensor module 90 was detected in the previous ignition-on cycle, the ECU 60 retrieves the last known offset value Δθ(tn) from the EEPROM 70 and sets this value as the initial offset Δθ(t0) for the current ignition cycle. Based on this offset value, the ECU 60 calculates an actual steering wheel angle θ and activates the vehicle dynamic controller. That is, the ready state 180 is entered as shown in FIG. 3. If the calibration module 80 outputs a NOT AVAILABLE status flag, or if a failure related with the sensor module 90 was detected in the previous ignition cycle (even if the calibration module 80 outputs an AVAILABLE status flag), the ECU 60 will continue to check vehicle driving conditions to calculate the initial semi-RSAS offset Δθ(t0). That is, the system 50 enters the initial semi-RSAS offset calibration state 160.
In the initial semi-RSAS offset calibration state 160, the initial semi-RSAS offset Δθ(t0) is calculated. This state 160 will only be entered if all of the proceeding states and their procedures have been successfully completed. Briefly, the calculation includes the ECU 60 checking if the vehicle's driving on the surface of a smooth road with straight-ahead course at a predetermined threshold speed or higher. Further, the ECU 60 checks whether the CAN BUS is functional, the YRS signal is valid, and the Semi-RSAS signal is valid. If these conditions are met, the ECU 60 sets the current relative steering wheel angle θR as the initial offset Δθ(t0). If the vehicle speed is reaching the predetermined speed or higher for more than a certain time period, and the initial semi-RSAS offset Δθ(t0) is unable to be calculated, the ECU 60 issues a time out failure and the system 50 enters the failure mode 190. However, the ECU 60 continues to monitor the vehicle performance to calculate the offset when the conditions mentioned above are met. These conditions are checked on every software loop.
This initial calibration state 160 also includes judging if the vehicle is stable. A frequency spectrum calculation is utilized to determine stability. If the above-mentioned conditions are fulfilled, the ECU 60 begins to calculate the amplitudes of the predetermined vehicle natural frequencies by using on-line frequency detection method as disclosed in U.S. Pat. No. 6,374,163, the disclosure of which is hereby incorporated in its entirety. Suffice it to say that the natural frequency of a given vehicle is determined by vehicle testing. As the vehicle consists of many mechanical parts, the vehicle has more than one degree of freedom. Each degree of freedom has its own natural frequency. In this situation, the natural frequency of the rigid body (typically around 2 Hz) and a natural frequency of the vehicle suspension (typically around 10 Hz) are relevant to the calculation.
When the vehicle is running on the surface of a rough road in a straight-ahead line, a fast FOURIER transform (FFT) calculates a complete frequency spectrum of the yaw rate of the vehicle. The frequency spectrum will show the maximum amplitude of a certain frequency, and the natural frequencies are evaluated.
If the average of the set of sampled yaw rate values (preferably of 100 software loops if a software loop time is 10 ms) has a sufficient strong central tendency, and if the amplitude of the interested natural frequencies (i.e. the vehicle rigid body and the suspension) are at the predetermined amplitude thresholds, the ECU 60 determines the vehicle is driving on a straight path and the vehicle is stable because excitation from the road is unable to cause the vehicle vibration with its natural frequencies. Accordingly, the ECU 60 assigns the current non-calibrated steering wheel angle θR generated from the semi-RSAS 82 as an initial offset Δθ(t0).
Upon calculating an initial RSAS offset Δθ(t0), the system 50 may enter the request semi-RSAS output AVAILABLE flag state 170. After the initial offset Δθ(t0) has been determined, the ECU 60 requests the calibration module 80 to output the AVAILABLE status flag. After receiving the request, the calibration module 80 resets the NOT AVAILABLE status flag and outputs the AVAILABLE status flag to confirm the offset setting that the ECU 60 has determined. The semi-RSAS 82 does not change this angle output. The only change that is made is to set the AVAILABLE status flag. As long as power is not interrupted to the calibration module 80, the calibration module 80 outputs the AVAILABLE status flag from that point. If the calibration module 80 is unable to output the AVAILABLE flag within 3.0 seconds, the ECU 60 will issue the semi-RSAS calibration failure, sending the system 50 into the failure state 190. The ECU 60 checks for the AVAILABLE status flag on every software loop.
Once the AVAILABLE status flag has been outputted, the system 50 may enter the ready state 180. This state 180 is designed for calculating the actual steering wheel angle θ and its velocity, which are to be sent to the vehicle dynamic controller. After receiving the AVAILABLE status flag from the calibration module 80, the ECU 60 activates the vehicle dynamic controller, and the actual steering wheel angle θ is computed on the basis of the current reading from the semi-RSAS 82 and the initial semi-RSAS offset Δθ(t0). The actual steering wheel angle θ is calculated by the equation θ=θR−Δθ(t0). As noted earlier with reference to
Furthermore, in the ready state 180, long-term offset adjustment starts. In this state, the ECU 60 checks CAN BUS status, YRS signal valid, and semi-RSAS signal valid for calculating the actual steering wheel angle θ. After calculating the initial offset Δθ(t0), the ECU 60 continues to monitor the vehicle performance via the sensor module 90 to adjust the semi-RSAS offset Δθ to eliminate the deviation of sample data. This long-term calculation is continually updated and stores a current semi-RSAS offset value Δθ(tn). When the ignition is turned off, that is the vehicle enters the ignition-off state, the ECU 60 might store the current semi-RSAS offset Δθ(tn) if the difference between Δθ(tn) and the last known initial offset Δθ(t0) is more than ten degrees.
After the initial semi-RSAS offset Δθ(t0) has been calculated, the amplitudes of frequency spectrum are calculated further on, so long as the driving conditions are fulfilled. When a new semi-RSAS offset is calculated the semi-RSAS offset is continuously adjusted via the long-term filter. If any of the basic conditions are not satisfied, the ECU 60 stops calculating in the spectrum frequency and resets all of the corresponding calculation variables. If the amplitude of the current sample is less than the last amplitude, the semi-RSAS offset Δθ(tn) will be replaced with the current sample or unfiltered Δθunfil(tn). If the amplitude of the current sample is equal to or larger than the last known amplitude, the semi-RSAS offset Δθ(tn) will be assigned by a filtered semi-RSAS offset Δθfil(tn). Accordingly, the above equation becomes θ=θR−Δθ(tn).
In this ready state, the system 50 will move to the failure state 190 only if a) a CAN BUS failure was detected wherein the ECU 60 will disable the offset calibration, b) the yaw rate signal is invalid within three seconds, wherein the ECU 60 will issue a yaw rate failure and disable the offset calibration, c) the semi-RSAS data is not valid within three seconds, wherein the ECU will issue a semi-RSAS failure and disable the offset calibration, and d) the semi-RSAS outputs the NOT AVAILABLE status flag.
The failure state 190 results in the ECU 60 storing a failure flag to the EEPROM 70 if a failure is related with any signal of the sensor module 90 or the signal of the calibration module 80. The failure flag is used in the next ignition cycle to indicate there is no valid semi-RSAS offset Δθ available. When the signal of one of the sensors becomes invalid, the ECU 60 has no way to judge if the conditions for computing a semi-RSAS offset (either initial or long-term) are truly satisfied. After ignition-on, if the ECU 60 receives the failure flag from the EEPROM 70, even if the calibration module 80 outputs the AVAILABLE status flag, the ECU 60 will treat the system 50 as having no valid semi-RSAS offset value, and will begin monitoring vehicle performance to determine and compute an initial offset Δθ(t0). After an initial offset has been determined, the ECU 60 requests the calibration module 80 to output the AVAILABLE status flag and upon receiving this AVAILABLE flag, the ECU 60 declares that a valid offset is available. Accordingly, the ECU 60 will clear the failure flag on the EEPROM 70 to confirm this valid offset Δθ(t0).
The final state is the ignition-off state 200. After the ignition is switched off, the calibration module 80 will run idle (i.e. not send any data to the ECU 60) to safely store the existing offset Δθ to the EEPROM 70. If the difference between the current filtered Δθfil(tn) and the last known semi-RSAS offset stored in the EEPROM Δθ(t0) is equal to or larger than ten degrees, the ECU 60 stores the Δθfil(tn) to the EEPROM 70. Otherwise no new data is stored to the EEPROM 70.
Turning now to
If the conditions represented by blocks 210, 220, and 230 are satisfied, the ECU 60 further reads the semi-RSAS status flag and the failure setting for the previous ignition cycle, as denoted by conditional block 240. If the NOT AVAILABLE status flag is received, or if the failure flag has been set to the EEPROM 70, then the ECU 60 disables the vehicle dynamic controller as shown by block 250, and begins monitoring vehicle performance. More specifically, the ECU 60 checks whether the conditions of block 210, 220, and 230 are valid, and further whether the vehicle is driving on a smooth surface of road in a straight-ahead maneuver at a predetermined threshold speed or higher. If these conditions are not satisfied the ECU 60 clears all the calculation variables as denoted by block 320 and foregoes the end of this loop. If these conditions are fulfilled, the ECU 60 calculates the frequency spectrum as denoted by block 270. Conditional block 280 is to check if the calculation has finished. If the calculation is not finished, the software returns to the end of the loop. If the calculation is finished, the ECU calculates the amplitudes. A conditional block 290 checks all of these amplitudes to determine whether or not they are less than predetermined thresholds. If one of the amplitudes is larger than the corresponding threshold, all of the variables that are used for calculation of the offset (block 320) and the software goes to the end of the loop. If all the amplitudes are less than the thresholds, the ECU 60 treats the current driving condition as the straight-ahead and stable condition. Accordingly, the ECU 60 requests the calibration module 80 to output the AVAILABLE status flag to confirm the offset setting, as denoted by block 300. If the ECU does not receive the AVAILABLE status flag within 3.0 seconds, a communication failure is issued. As denoted by block 310, if the ECU 60 receives the AVAILABLE status flag, the current steering wheel angle reading θR is set as the initial semi-RSAS offset Δθ(t0). Thereafter, all of the variables that are used for calculation of the offset are reset as denoted by block 320. At this point, the ECU 60 is ready to calculate the long-term offset adjustment.
Moving back to conditional block 240, if the AVAILABLE status flag is received, and the failure flag indicates there is no failure in the sensors from the previous ignition cycle, the ECU 60 extracts the last known offset value Δθfil(tn) from the EEPROM 70. This value Δθ(tn) is set as the initial offset Δθ(t0) for the current ignition cycle. Thereafter, the ECU 60 activates the vehicle dynamic controller as shown by block 330. At this point, long-term offset adjustment starts as shown by block 340.
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise embodiments disclosed. Numerous modifications or variations are possible in light of the above teachings. The embodiments discussed were chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.
Number | Name | Date | Kind |
---|---|---|---|
5032996 | Shiraishi | Jul 1991 | A |
5719790 | Lohrenz et al. | Feb 1998 | A |
5787375 | Madau et al. | Jul 1998 | A |
5790966 | Madau et al. | Aug 1998 | A |
6141605 | Joyce | Oct 2000 | A |
6158132 | Kofink et al. | Dec 2000 | A |
6208921 | Tsunehara et al. | Mar 2001 | B1 |
6374163 | Lou et al. | Apr 2002 | B1 |
6502025 | Kempen | Dec 2002 | B1 |
6580989 | Daugherty et al. | Jun 2003 | B1 |
20030212476 | Aanen et al. | Nov 2003 | A1 |
20040024565 | Yu et al. | Feb 2004 | A1 |
20040030474 | Samuel et al. | Feb 2004 | A1 |
Number | Date | Country |
---|---|---|
406234366 | Aug 1994 | JP |
Number | Date | Country | |
---|---|---|---|
20040061500 A1 | Apr 2004 | US |