Patent Publication Number: US-2002011928-A1

Title: Programmable microwave back-up warning system and method

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS  
     [0001] This application claims the benefit of U.S. Provisional Application No. 60/218,817, filed Jul. 18, 2000, the entire content of which is hereby incorporated by reference in this application. 
    
    
     
       STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT  
       [0002] NOT APPLICABLE  
       FIELD OF THE INVENTION  
       [0003] The invention relates to vehicular warning systems, and more particularly, to devices mountable on a motor vehicle for warning the vehicle operator of obstructions and/or other collisions. Still more particularly, this invention relates to an improved programmable microwave back-up warning system and method adaptable to many vehicle platforms.  
       BACKGROUND AND SUMMARY OF THE INVENTION  
       [0004] Vehicle back-up obstacle detection/collision warning systems are useful in preventing accidents and injuries. The need for an effective back-up system is evident when one considers the amount of damage low-speed backing collisions cause each year. Such collisions translate into major repair bills, countless injuries and even worse, fatalities.  
       [0005] A system called GUARDIAN that has been marketed and manufactured by Sense Technologies, Inc. is capable of warning a driver of the presence of any object within a defined area behind the vehicle when the vehicle is engaged in reverse gear. This GUARDIAN system employs a microwave radar technology, and applies the Doppler shift principle to detect the presence of a moving target within a certain defined range to the rear of the vehicle. This system includes dual alarms that alert drivers audibly and visually with three light-emitting diode style illuminating lights. The system provides three standard detection zones at 3 feet, 6 feet and 12 feet that are factory-adjustable, and covers the entire width of the vehicle. The system works in all weather and light conditions, senses through dirt, ice, snow, fog and other weather conditions, requires low or no maintenance, is active only when the vehicle is placed in reverse (thus eliminating annoying false alarms), and installs in less than 20 minutes with no special tools required. Such systems provide advantages such as non-contact sensing, environmental insensitivity, low cost, and the ability to “see through” composites such as fiberglass vehicle bodies. See, for example, U.S. Pat. No. RE34,773; U.S. Pat. No. 4,797,673; U.S. Pat. No. 4,864,298; and U.S. Pat. No. 5,028,920.  
       [0006] The GUARDIAN system has proven to be effective in dramatically increasing vehicle safety. However, further improvements are possible.  
       [0007] An area of desired improvement relates to the adaptability of a backup warning system to a number of different vehicle styles. All sorts of different vehicles (for example, passenger cars, light trucks, sports utility vehicles, heavy trucks, and any other type of vehicle) can benefit from a back-up warning system. However, different vehicle platforms present different constraints and requirements with respect to, for example, vehicle detection pattern size and shape. A back-up warning system for a small vehicle, for example, may need to provide a smaller detection zone than a backup warning system for a larger vehicle such as a truck or van. From a manufacturing standpoint, however, it is desirable to manufacture only a single unit that can be used with virtually any vehicle. While the prior backup warning system marketed by Sense Technologies allowed a certain degree of adjustability on the manufacturer&#39;s production floor, this technique required extra steps on the part of the manufacturer and required an installer to stock several different versions of the same product for different sized vehicles. Changing the GUARDIAN software required editing the source code and recompiling—a labor-intensive effort that could not easily be carried out on demand for a number of different end users.  
       [0008] I have now discovered a way to overcome this problem by providing field-programmability of a microwave backup warning system. In more detail, I provide each unit with a digital communications port that can be connected to a field programmer such as a personal computer or other device capable of downloading digital information. This field programmer can be used to program a variety of different sensor parameters at time of installation including, for example:  
       [0009] up to eight different programmable ranges,  
       [0010] priority,  
       [0011] velocity weighting,  
       [0012] turn-off time,  
       [0013] direction of motion prioritization,  
       [0014] alarm color, and  
       [0015] beep rate.  
       [0016] The example programmable microwave backup system includes a serial port adapter that can be connected to a field programming device. An external interrupt request is used to initiate programming. A special messaging data format conveys the information from the programmer to the backup unit. Software within the backup warning system restricts programmed data parameters to proper limits and verifies data downloads for accuracy and completeness.  
       [0017] Such programmability allows detection zones to be customized based on particular vehicle configurations. Microwave beam patterns should cover the width of the vehicle and should work right up to just behind the vehicle. Such patterns are also preferably range-gated. The detection ranges are another basic parameter which changes with vehicle platform. Programmability between zero and 10 meters plus or minus 15 centimeters is desirable. Most installers may prefer to set the particular detection range configurations to err on the side of safety. Different ranges with different degrees of urgency (e.g., yellow or red visible warning, the presence or absence of an audible alarm, and the sound the audible alarm makes) can be set and customized to provide increased safety.  
       [0018] I have also found programmable priority to be useful in increasing the safety and effectiveness of a microwave backup alert system. Priority relates to how fast the system makes a decision, and how soon it overrides a previous decision. Higher priorities give a greater chance of false alarms, but they also give an earlier warning of dangerous conditions. I have found that programmable priorities allow different installers to make these tradeoffs based on their own criteria—increasing system flexibility and better meeting the needs of particular customers.  
       [0019] In addition, I have found it useful to provide programmable parameters relating to velocity information. NHTSA studies reveal that audible alarms are typically more effective than visual ones, and that audible alarms should be loud enough to pierce ambient noise. These studies also reveal that alarm reaction time of a driver improves with experience and that false alarm rates are very important. An undue number of false alarms will cause a driver to become annoyed or begin ignoring the alarm, while system designers must nevertheless err on the side of safety so that an alarm is always issued when a true threat is presented. The probability of avoidance depends on reaction times, accelerating from rest and constant velocity. A slowly moving vehicle gives the driver more time to react to an alarm and take corrective action. A programmable microwave backup system that responds to vehicle velocity can adjust the urgency of the warnings it provides depending upon how fast the vehicle is backing up (velocity weighting). For example, I have found it to be useful to extend sensing ranges at increased velocities so the backup system can “look behind” further when the vehicle moving more rapidly. On the other hand, this “time to collision” indication may potentially confuse the driver when accelerating from rest, so I have found empirically that it is best to use velocity weighting only on the longest ranges. I have found that field programmability of this feature allows installers to reach the best tradeoff and ensure maximum safety while maximizing user convenience and user-friendliness.  
       [0020] Another programmable feature I have provided relates to warning turn-off time. The persistence of a particular warning can be used to approximate presence and gives the driver a sense of the urgency of the warning. A turn-off time parameter can be combined with a lack of data decision and can be made variable with range. Similarly, an audible alarm rate (i.e., the frequency of an intermittently beeping tone as one example) can also be used to give the driver a sense of urgency. A beeping recurrence that is variable from slow (e.g., intermittently switching between on and off at a slow rate) to solid (continuously on) is very helpful in attracting the driver&#39;s attention. While the system relies primarily on hearing (the driver is supposed to be looking out the back window while backing up and therefore should not be looking at a backup visual display unless the display is positioned immediately above or near the rear window), visual alarms can also be useful in attracting the driver&#39;s attention and warning him or her of potentially dangerous obstacles and/or assuring the driver that the system is operating. The system I have developed provides various visual cues such as, for example, a non-intermittent red light (most urgent), a red flashing light which flashes at a variable rate of urgency, a yellow flashing light for lower urgency situations, and a green light indicating the absence of any threat. These visual indications increase the likelihood that the driver will be informed of and pay attention to a warning.  
       [0021] The system I have developed also includes a direction of motion indication. An obstacle that the vehicle is closing on (or that is closing on the vehicle) presents a danger of collision, whereas an obstacle moving away from the vehicle typically does not. It may be useful to present such information to the vehicle driver. However, since such information may be confusing to some drivers, the system I have developed allows this direction-of-motion indication to be turned on and off through field programming. The indication can also be made to be range-sensitive so that the alarm persists for a variable amount of time based on range. Such a programmable range parameter increases the usefulness of the indication and minimizes the chance that it will become simply a distraction.  
       [0022] To further increase reliability and accuracy, our system also provides an auto calibration feature. Auto calibration can be performed by the manufacturer to increase production rate and improve accuracy. In one embodiment, the auto calibration cannot be adjusted by the end-user so as to minimize the risk that end-user will cause the system to operate in an unsafe manner.  
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0023] These and other features and advantages provided by the invention will be better and more completely understood by referring to the following detailed description of presently preferred example embodiments in connection with the drawings, of which:  
     [0024]FIG. 1 shows an example programmable microwave backup warning system;  
     [0025]FIG. 2 shows the FIG. 1 system being programmed in the field;  
     [0026]FIG. 3 shows an example screen display provided by the FIG. 2 field programmer;  
     [0027]FIG. 4 shows an example block diagram of the FIG. 1 system;  
     [0028] FIGS.  4 A- 4 B show an example schematic diagram;  
     [0029]FIG. 5 is a flowchart of an example download routine;  
     [0030]FIG. 6 is a flowchart of an example initialization routine;  
     [0031]FIG. 7 is a flowchart of an example pulse interrupt routine;  
     [0032]FIGS. 8 and 8A are flowcharts of an example self-test routine;  
     [0033] FIGS.  9 A- 9 C show example test results based on an example acceleration weighting parameter; and  
     [0034] FIGS.  10 A- 10 C show example test results based on an example velocity weighting parameter.  
    
    
     DETAILED DESCRIPTION OF PRESENTLY PREFERRED EXAMPLE EMBODIMENTS  
     [0035]FIG. 1 shows an example programmable microwave backup warning system  20  provided in accordance with this invention. System  20  includes a rear-mounted sensing unit  22  that is mounted on or near a bumper, license plate or other portion of the rear  24  of a vehicle  26 . Vehicle  26  may be, for example, a passenger vehicle, a light truck, a sports utility vehicle, a school bus, a van, or any other vehicle capable of moving in any direction relative to a surface.  
     [0036] Unit  22  preferably automatically detects when vehicle  26  is backing up. For example, unit  22  may be wired or otherwise coupled to the backup reverse lights  28  of vehicle  26  so that the unit receives power and/or enablement whenever vehicle  26  is put into reverse gear. In the example embodiment, unit  22  emits microwaves  34  toward the rear of vehicle  26  in a predetermined pattern  30 . Microwaves  34  transmitted by unit  22  can strike obstacle  32  disposed rearwardly of vehicle  26 . Such obstacles  32  reflect some of the transmitted microwaves to produce a reflected signal  34 ′ that is directed back toward unit  22 . Unit  22  detects the reflected signals  34 ′ and processes them to distinguish between real obstacles and noise.  
     [0037] Unit  22  performs a variety of range-gated tests that may be weighted by velocity, acceleration, or other factors to distinguish between actual obstacles and false alarms. When unit  22  detects an obstacle  32  rearwardly of vehicle  26 , it generates an audible and/or visual warning to warn the driver of vehicle  26  that he or she is about to strike an obstacle and should apply the brakes to stop or slow the vehicle.  
     [0038] Briefly, system  20  includes a transceiver adapted for mounting at the rearward end of vehicle  26 . Unit  22  directs its wave output rearwardly of vehicle  26 . Unit  22  is adapted for electrical connection to the backup light circuit  28  of the vehicle  26  for activation only when the vehicle transmission is engaged in reverse gear. Unit  22  produces a microwave transmission that is frequency modulated. Return wave signals  34 ′ for any objects  32  within the transceiver range are picked up and supplied to the transceiver by an antenna. The resultant Doppler shift signals at each frequency are sampled, amplified and applied to an internal microprocessor within unit  22  which then compares the phase difference to determine whether there is an object which is in an area that represents a threat to the vehicle  26 . If a threat exists, unit  22  sounds an audible alarm adapted for placement within the passenger compartment of vehicle  26 .  
     [0039] Unit  22  in the preferred example is remotely programmable. The sensing zones and other areas of concern can be redefined at the time of installation as well as whether they are dependent on velocity. Alarm characteristics can also be determined at this time. Thus, one unit  22  can be programmed for many different vehicle platforms. Unit  22  also includes a digital-to-analog conversion circuit to tune he microwave oscillator. This allows automatic calibration at the time of final test in manufacturing.  
     [0040] In more detail, because different vehicle platforms (and sometimes different drivers) have different sensing requirements, example unit  22  can be programmed in the field to set various parameters used to detect the presence of obstacles  32  behind the vehicle  26 . In the FIG. 2 example, a cable  36  can be used to connect unit  22  to a field programmer  38 . Field programmer  38  in one embodiment may comprise a conventional laptop or other personal computer, personal data assistant, or other digital data source. Programmer  38  develops data for use in programming sensing unit  22 . Preferably, a user interacts with programmer  38  via an input device  40  and a display  42  to develop programming data. Once programmer  38  has developed appropriate programming data, the programmer downloads the data into the sensing unit  22  via cable  36 . Unit  22  stores the downloaded data in non-volatile memory, and uses the data to affect and/or control the backup sensing operation shown in FIG. 1.  
     [0041] Example Programming Interface  
     [0042]FIG. 3 shows an example programming user interface display which programmer  38  may display on its display  42 . The FIG. 3 example shows that programmer  38  can be used to program a number of different sensing parameters. For example, programmer  38  can be used to program up to eight different independent ranges (Range  1 , Range  2 , . . . Range  8 ). Each range has a variety of different parameters such as, for example:  
     [0043] range distance (0-35, for example),  
     [0044] priority (1-10, for example),  
     [0045] velocity (miles per hour, for example),  
     [0046] turn off time (e.g., seconds),  
     [0047] turn off distance (e.g., inches),  
     [0048] alarm indicator color (red or yellow),  
     [0049] alarm duration (e.g., 0-9 seconds).  
     [0050]FIG. 3 shows an number of additional parameters that programmer  38  may program, including, for example:  
     [0051] sensor self-test (on, off),  
     [0052] number of ranges (1-8),  
     [0053] direction of motion detection (on, off).  
     [0054] The example, using seven of the eight possible fields, shown in FIG. 3 can be filled in as desired by an operator operating programmer  38 . Values developed for these fields are then formatted, compressed, and downloaded via cable  36  into unit  22 . Unit  22  validates the download and the data contents, stores the parameters in an internal non-volatile memory, and uses the parameters in its operation.  
     [0055] Example Block Diagram  
     [0056]FIG. 4 shows an example block diagram of sensing unit  22 . In this example, unit  22  includes a microwave oscillator  112 , a digital processor  102 , and a signal processor  124 . Microwave oscillator  112  is coupled to a suitable microwave antenna  114  such as, for example, a strip line or other microwave antenna. Microwave oscillator  112  develops and generates microwave signals that it applies to antenna  114 . Antenna  114  radiates these microwaves  34  rearwardly of the vehicle  26 . Microwaves  34  may strike an obstacle  32  and be reflected to provide a reflected wave  34 ′ which antenna  114  receives and provides to signal processor  124  for processing.  
     [0057] Signal processor  124  detects and processes return signals  34 ′ and provides two independently sampled, amplified and thresholded outputs to digital processor  102 . Digital processor  102  decides, from those outputs, whether the return signals  34 ′ were reflected by an obstacle or not, and responsively generates an audible and/or visual alarm on an alarm device  192  to alert the driver of vehicle  26 .  
     [0058] Programmer  38  can be coupled to digital processor  102  via cable  36  and a conventional serial adapter  106 —which may be part of programmer  38 . Adapter  106  allows programmer  38  to download information into digital processor  102 .  
     [0059] In more detail, FIG. 4 shows microwave oscillator  112  in the example embodiment as including a dielectric resonator oscillator (DRO) coupled to a tuning diode  154 . Tuning diode  154  is controlled by a D/A (digital to analog) converter  194  that is part of digital processor  102 . Microprocessor  190  within digital processor  102  commands D/A converter  194  to provide a programmable analog output signal that is used to control tuning diode  154  and thus the frequency at which DRO  152  operates. The microwave output of DRO  152  is coupled to antenna  114 , which radiates this output. An additional control line  195  outputted by microprocessor  190  is used to control the power output generated by DRO  152 . For example, control line  195  is used to turn the oscillator on and off at a predetermined rate to limit the power requirements of the sensor. This has the added advantage that it does not activate radar detectors.  
     [0060] The output of DRO  152  is also provided to a mixer diode  156  within signal processor  124 . Reflected signals  34 ′ received by antenna  114  are also provided to mixer diode  156 . Mixer diode  156  mixes (heterodynes) the DRO  152  output with the received signals  34 ′ to provide a frequency difference signal. The output of mixer diode  156  is not a microwave signal, but rather, is within a much lower frequency range representing the phase/frequency difference between the microwave signals  34  radiated by antenna  114  and the microwave signals  34 ′ reflected back by obstacles rearward of the vehicle. This example embodiment works based on the Doppler shift principle wherein relative movement between unit  22  and an obstacle  32  produces a Doppler shift. It is this Doppler shift that is detected and isolated by mixer diode  156  in the example embodiment.  
     [0061] The output of mixer diode  156  is provided to two different signal processing channels  162 ,  164 . Each of these channels  162 ,  164  comprises sample and hold circuitry ( 170 ,  172 ), amplifier stages ( 176 ,  178 ), and comparators ( 182 ,  184 ). In one embodiment, signal processor channels  162 ,  164  may be identical to one another. Microprocessor  190  can independently control the sample and hold circuitry  170 ,  172  to sample mixer diode  156  output at different times. Microprocessor  190  can use these different channels  162 ,  164  to acquire the Doppler shift outputs at different time instants.  
     [0062] Microprocessor  190  executes software stored within an operational program memory  193  to analyze the outputs of signal processor  124  and to generate the various control signals discussed above. An analytical program  191  operating based on data parameters stored in EEPROM memory  196  is used to apply different range gates, weight values based on velocity and/or acceleration and perform other signal processing tasks. Microprocessor  190  operating under software control may activate audible and/or visible alarm(s)  192  based upon the determination(s) whether or not an obstacle has been detected and the nature of the threat (e.g., urgent, somewhat urgent, or not at all urgent).  
     [0063] In the example embodiment, microprocessor  190  receives its power from a power supply  186  that is coupled to the vehicle backup light circuit  28 . It is relatively convenient in at least some vehicles to simply tap power off the backup light circuit and use the presence of power to activate and enable unit  22 . In other installations, it may be desired to provide optical or other coupling to the backup lights and/or associated circuitry. In still other installations, unit  22  could be powered constantly and detect that the vehicle is moving rearwardly through any desired means.  
     [0064] Detailed Example Circuitry  
     [0065]FIG. 4A is a schematic diagram of an example signal processor  124 . In this particular example, the output of mixer diode  156  is applied to an emitter follower amplifier  186  for isolation, and is sampled by sample-and-hold circuits  170 ,  172  at instants controlled by microprocessor  190 . The outputs of sample-and-hold circuits  170 ,  172  are amplified by cascaded operational amplifier stages ( 176   a ,  176   b ;  178   a ,  178   b ), before being thresholded by comparators  182 ,  184 . The output of comparators  182 ,  184  are applied independently to input ports of microprocessor  190  (see FIG. 4B).  
     [0066] The FIG. 4B example schematic diagram of digital processor  102  includes a D/A converter  194  implemented with a resistor network  194   a  coupled to an operational amplifier  194   b  to provide a variable tuning voltage for application to tuning diode  154  and DRO  152 . Microprocessor  190  in this embodiment can turn DRO  152  on and off at will via a switching transistor  153  and also control its frequency through D/A converter  194 . Microprocessor  190  can also generate “far range” and “near range” control output signals via field effect transistors  156   a ,  156   b  to control external alarms (connections not shown).  
     [0067] An interrupt request input IRQ of microprocessor  190  is coupled to one pin of a serial programming port  106 . Two other pins of the programming port  106  are coupled to an input and an output, respectively, of microprocessor  190  for use as serial transmit and serial receive. Through these transmit and receive lines and the interrupt request line, an external device such as programmer  38  coupled to port  106  can communicate bidirectionally with microprocessor  190 . Microprocessor  190  may, in turn, read information from and write information to EEPROM  196 . Information stored within EEPROM  196  is non-volatile, i.e., it remains there even after power to unit  22  has been turned off. A serial type EEPROM  196  is used in the FIG. 4B example, but various other types of non-volatile memory devices (e.g., parallel EEPROM, flash memory, battery backed RAM memory, etc.) could be used in other arrangements.  
     [0068] The following are additional example specifications of the detailed circuitry shown in FIGS.  4 A and  4 B:  
     [0069] input voltage 10-28 VDC automotive grade;  
     [0070] power 600 mw;  
     [0071] temperature range −40 C. to +85 C. Sensor, −20 C. to +70 C. display;  
     [0072] humidity 95%RH;  
     [0073] sensor-range gated microwave Doppler;  
     [0074] FCC-10.525 GHz approved;  
     [0075] MTBF-99 years;  
     [0076] display sound level-95 dbm@3 m;  
     [0077] display sound frequency-4 KHz.  
     [0078] Example Software Functionality  
     [0079] FIGS.  5 - 8 A are flowcharts of example steps performed by software executing on sensor unit microprocessor  190  in the example embodiment. FIG. 5 is an example software download routine used to download software into unit  22 ; FIG. 6 is an example initialization routine used to initialize unit  22  upon reset (e.g., power on); FIG. 7 is an example pulse interrupt routine performed in response to receipt of a timing pulse; and FIGS. 8 and 8A are flowcharts of example steps performed during a self-test and calibration routine.  
     [0080] Referring to the FIG. 5 example download routine, microprocessor  190  responds to an interrupt request from serial connector  106  (block  202 ) by transmitting a “ready” message block  204  over the “xmit” serial connector pin  106 . Microprocessor  190  then sets the DRO  152  tuning voltage to a default center value through selection of an appropriate one of the resistors within resistor network  194   a  (block  206 ), and waits for an input character (block  208 ). Upon receiving an input character, microprocessor  190  decodes the character by testing to see whether it comprises certain character values. In this particular example, characters of significance are:  
     [0081] “U” (tune DRO  152  to decrease its frequency),  
     [0082] “D” (tune DRO  152  to increase its frequency),  
     [0083] “H” (send help menu),  
     [0084] “T” (write tuning voltage to EEPROM  196 ),  
     [0085] “C” (configure),  
     [0086] other characters.  
     [0087] In response to receipt of the “U” character (decision block  210 ), microprocessor  190  increases the tuning voltage of DRO  152  and sends back a message verifying that this has been done (block  212 ). Similarly, in response to the “D” character (decision block  214 ), microprocessor  190  decreases DRO  152  tuning voltage and sends back a verification (block  216 ). By sending a sequence of “U” and “D” characters to unit  22 , programmer  38  can interactively adjust the microwave frequency of the unit. When the operator of programmer  38  is satisfied with the tuning frequency, the programmer  38  may send a “T” character (decision block  222 ) which controls microprocessor  190  to write the current tuning parameter to the EEPROM memory  196  for use as the default DRO  152  tuning voltage which will remain in effect until changed (block  224 ). Unit  22  will send a “help” menu with explanations at any time in response to receipt of a “H” character (block  218 ,  220 ).  
     [0088] In response to receipt of a “C” character (decision block  226 ), microprocessor  190  receives a parameter string from programmer  38  (block  230 ) and writes that parameter string to an appropriate location(s) within EEPROM memory  196  (block  232 ). In this example, microprocessor  190  reads the string it has written back out of the EEPROM  196  (block  234 ) and sends it back to programmer  38  (block  236 ) for verification purposes. In this way, programmer  38  can rewrite any of a variety of different parameters used to control the operation of unit  22  including, for example, a number of range gates in effect, the range of each, the priority of each, any velocity weighting to be applied, turn off time in seconds and inches, alarm color indicator and duration, etc. See FIG. 3.  
     [0089] The FIG. 6 flowchart of an example initialization routine  250  shows example steps performed by microprocessor  190  upon power-on reset. Referring to FIG. 4B, a power-on reset circuit  190   a  is used to apply a reset signal to microprocessor  190  each time power is initially applied. In one example, power is applied to unit  22  only when the backup lights  28  of vehicle  26  are on—meaning that unit  22  resets each time the driver puts the vehicle into reverse.  
     [0090] In this FIG. 6 example, initialization routine  250  begins (block  252 ) by microprocessor  190  setting its various input/output ports appropriately for the various inputs and outputs shown in FIG. 4B (blocks  254 ,  256 ,  258 ). Microprocessor  190  then uses an internal timer mechanism to set a predetermined time delay (block  260 ) and reads EEPROM  196  for the parameter data it contains (block  262 ). Microprocessor  190  then enters a loop in which it clears all outputs (block  264 ) and reads a “norm/cw” test point state (see FIG. 4B) (block  266 ). If the “norm/cw” test point state is active (“yes” exit to decision block  266 ), microprocessor  190  determines whether the “tuning” test point indicates a “high” or “low” state (decision block  268 ). If the “tuning” test point is “high,” microprocessor  190  sets the DRO  152  tuning voltage high (block  270 ). Otherwise, microprocessor  190  sets the DRO  152  tuning voltage low (block  272 ). The functionality provided by blocks  266 - 272  in response to the states of the “norm/cw” and “tuning” test points (see FIG. 4B) are used during factory calibration for example to ensure proper operation.  
     [0091] Assuming the “norm/cw” test point is not active (“no” exit to decision block  266 )—i.e., the normal state of unit  22  as installed on vehicle  26 —microprocessor  190  will proceed to set various defaults in its output state. For example, microprocessor  190  may clear all range counters (block  274 ) and set the last range register to “FF” or other default value (block  276 ) in preparation for upcoming range detection operations. Microprocessor  190  may clear its output ports (block  278 ) and set various toggle values for later use (block  280 ). Microprocessor  190  in this example also turns a “yellow” display indicator off (block  282 ), sets display  192  to turn-off or green (block  284 ), resets an overtimer (block  286 ), resets a towards/away counter (block  288 ), and then goes to a “get edge” routine for obstacle detection (block  290 ).  
     [0092]FIG. 7 shows an example “pulse interrupt” routine that microprocessor  190  performs to send out and receive microwave pulses using DRO  152 . This example pulse interrupt routine  200  performs a variety of functions including, for example, toggling the display state to cause visual indicators to flash and audible alarms to beep; pulse the DRO  152 ; control the sample-and-hold operations of the signal processor; and reset unit at an appropriate time to begin a new signal acquisition cycle.  
     [0093] The example “pulse interrupt” routine  300  begins with microprocessor  190  turning off display  192  if necessary (block  302 ), delaying for a certain parameter, and then turning on the DRO  152  (block  304 ). Microprocessor  190  reloads a timer to time the DRO  152  on time, turns on display  192 , and then activates the channel B sample-and-hold circuit  172  (block  306 ) to acquire any return signal (block  306 ). Microprocessor  190  waits a further predetermined delay and then turns off the “channel B” sample-and-hold circuit  172  and turns on the channel A sample-and-hold circuit  170  (block  310 ). After another predetermined delay, microprocessor  190  turns off the channel A sample-and-hold  170 , turns off DRO  152  (block  312 ), and resets the timer for subsequent use (block  314 ). At this point, microprocessor  190  has controlled the acquisition of two input samples that can be used for a Doppler shift detection. The actual process of detecting an obstacle and determining how much of a threat the obstacle is can be performed as in the prior GUARDIAN product except that the detection software is parameterized with a set of parameters stored in a particular location in the EEPROM.  
     [0094] Microprocessor  190  next checks whether a certain flag is set (decision block  316 ). If the flag is set (“yes” exit to decision block  316 ), microprocessor  190  decrements an over-timer counter (block  318 ) which is used to time an over-timer time delay. Microprocessor  190  tests whether the over-timer period has completed (decision block  320 ). If the overtime period has completed (“yes” exit to decision block  320 ), microprocessor  190  resets its stack pointer (block  322 ), and transfers control to the “clear out” block  264  of FIG. 6.  
     [0095] Assuming the over-timer time delay is not over (“no” exit to decision block  320 ), microprocessor decrements a toggle counter least-significant bit (block  324 ) and test whether the toggle counter is now equal to zero (decision block  326 ). If the bit is equal to zero (“yes” exit to decision block  326 ), microprocessor  190  begins to toggle the display  192  by turning the display on for a predetermined time period. Routine  300  then returns (blocks  328 ,  330 ). Otherwise, if the toggle counter is not equal to zero (“no” exit to decision block  326 ), microprocessor turns on the display (block  332 ), and decrements the toggle counter most significant bit (block  334 ). If the toggle is then over (“yes” exit to decision block  336 ), routine  300  returns (block  338 ). Otherwise, if the toggle is not yet over (“no” exit to decision block  336 ), microprocessor  190  resets the toggle counter (block  340 ), sets the toggle flag (block  342 ), and returns (block  344 ). Such operations are used to toggle the display  192  between on and off for less urgent (e.g., “yellow”) alerts (in the example embodiment, a more urgent “red” alert is turned on continually).  
     [0096] Referring now to the FIG. 8 example self-test routine, microprocessor  190  begins by setting its ports (block  402 ) and performing a one-second delay (block  404 ). Microprocessor  190  then presets its success and fail counters (block  406 ), initializes a timer (block  408 ), and begins certain self-test operations. For example, microprocessor  190  tests a flag (block  410 ) and if the flag is set, microprocessor reads the timer value and stores a “set edge” flag (block  412 ), changes the edge, and resets a flag (block  414 ). Then (or if the flag was not set), microprocessor  190  tests a further flag (block  416 ). If the further flag is not set (“no” exit to decision block  416 ), microprocessor continues to loop (block  410 - 416 ) until the operation is complete and the further flag becomes set (“yes” exit to decision block  416 ). Upon completion, microprocessor  190  calls a “period” routine shown in FIG. 8A (block  418 ), and then determines whether an edge flag is set (decision block  420 ). If the edge flag is not set (“no” exit to decision block  410 ), microprocessor  190  performs an elaborate routine to detect edges. In particular, microprocessor  190  determines the states of its various flags (decision blocks  422 ,  424 ), and in response, may perform a series of operations to transfer the previous edge (block  426 ), reset various parameters in preparation for receipt of the next edge (block  428 ), calculates the period between successive edges (block  430 ), tests whether that value is within limits (block  434 ), and may also test whether the outputs of comparators  182 ,  184  are the same (block  436 ).  
     [0097] If the “in limits” test (block  434 ) fails, then microprocessor  190  may clear a success counter (block  438 ) and increment a fail counter (block  440 ), and then tests whether the failure rate is over a predetermined limit (block  442 ). If the failure limit is over a predetermined (“yes” exit to decision block  442 ), microprocessor  190  can reach a determination that unit  22  has failed (block  444 ) and light a red display indicator to indicate this fact (block  446 ). Otherwise, if the “in limits” test was successful (“yes” exit to decision blocks  434 ,  436 ), microprocessor  190  increments a success counter (block  444 ) and then determines whether the self-test routine is complete (block  446 ). If not complete (“no” exit to decision block  446 ), microprocessor  190  can return to block  422  for further tests. If finished (“yes” exit to decision block  446 ), unit  22  sounds a beep (block  452 ) and terminates the self-test routine (block  454 ).  
     [0098]FIG. 8A is a flowchart of the “period” routine that called by block  423 . In this example, the “period” routine changes the DRO  152  drive (i.e., turns the DRO on if it was previously off or off if it was previously on), sets a timer for predetermined value (e.g., 1 ms), resets a timer flag (block  423   b ), then resets the edge flag and the “com” timer (block  423   c ) before returning (block  423   b ).  
     [0099] Example Test Results  
     [0100] FIGS.  9 A- 9 C and  10 A- 10 C show example test results of unit  22 . FIG. 9A shows an example collision avoidance graph plotting percentage of collisions avoid versus distance to the objects in feet using acceleration weighting. FIG. 10A shows a similar plot using velocity weighting. FIG. 9B plots acceleration versus relative weighting, and FIG. 9C plots driver reaction time versus relative weighting. FIG. 10B plots velocity in miles per hour versus relative weighting, and FIG. 10C plots driver reaction time in seconds versus relative weighting.  
     [0101] While the invention has been described in connection with what I believe are the most practical and preferred example embodiments, other variations are possible. For example, our preferred embodiment provides a backup warning for a motor vehicle, but detection of obstacles and/or danger of collision from any direction (e.g., side or front) of any vehicle type are also contemplated. In addition, some or all of the techniques disclosed herein could be used in connection with a stationery sensing unit that monitors objects moving with respect to it. While the preferred example embodiment uses microwaves and senses based on the Doppler shift principle, other types of electromagnetic or other waves can be used, and different detection techniques (e.g., pulse-echo) could be used instead. Furthermore, although our preferred example provides a visual and audible warning, other types of warnings based upon other senses (e.g., touch) might be used. The invention is intended to cover all such variations and alternatives as limited only by the scope of the claims.