Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SOBRIETY INTERLOCK WITH SERVICE REMINDER
Document Type and Number:
WIPO Patent Application WO/1989/012878
Kind Code:
A1
Abstract:
A sobriety interlock (1) connectable to a machine such as vehicle (115) and normally operating to disable the machine unless a breath sobriety test is passed, is equipped with a service reminder timer to initiate an indication when the interlock (1) is due for service and optionally, to provide advance indication prior thereto. If interlock (1) is not timely serviced, appropriate action is initiated. This action may include disabling the vehicle (115), regardless of whether the condition normally imposed by the interlock is satisfied, until timely service is obtained. Alternatively, the sobriety interlock does not disable the vehicle. Instead, the interlock (1) itself is disabled to the extent that it ceases to impose restrictions on the starting of the vehicle until service is obtained and the timer is reset. Also disclosed are remote service devices (55, 56) for use by authorized service personnel to inter-alia, effect reading and/or setting of the service reminder timer.

Inventors:
COMEAU FELIX J E (CA)
QUAST HERMAN (CA)
Application Number:
PCT/US1989/001886
Publication Date:
December 28, 1989
Filing Date:
May 03, 1989
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GUARDIAN TECH INC (US)
International Classes:
B60K28/06; B60Q9/00; (IPC1-7): G08B21/00
Foreign References:
US4592443A1986-06-03
US4031363A1977-06-21
US4404641A1983-09-13
US4544283A1985-10-01
US4814901A1989-03-21
Other References:
See also references of EP 0419572A4
Download PDF:
Claims:
1. A sobriety interlock for a machine, said sobriety interlock, comprising: (a) sensor means for detecting an intoxicat ing substance in the breath of a person; 5 (b) control means connected to said sensor means and connectable to the machine, said control means normally operating to enable starting of the machine only if at least a first predetermined condi¬ tion is satisfied, and 10 (c) timer means and indicator means each operably connected to said control means, said timer v means being operable to initiate generation of a ,. humanlyperceptible indication at a first specified '' time whereby a reminder that the interlock is due for (vI 15 service is provided at said first specified time.
2. The sobriety interlock of claim 1 wherein said timer means further initiates generation of a second signal at a second specified time after said first specified time, said second signal being received by said control means to cause said control means to prevent the machine from being started afte said second specified time has passed, regardless of whether said first precondition is satisfied, until said timer means is reset.
3. The sobriety interlock of claim 1 wherein said timer means initiates generation of at least one advance indication at a time prior to said first specified time. It.', .
4. The sobriety interlock of claim 1 wherein said timer means initiates generation of a second signal at a second specified time after said first specified time, said second signal being received by said control means to cause said control means to thereafter enable starting of the machine, regardles of whether said first precondition is satisfied, unt said timer means is reset.
5. The sobriety interlock of claim 1 wherein the current value of said timer is stored in non¬ volatile memory.
6. A sobriety interlock for a machine, said sobriety interlock, comprising: (a) sensor means for detecting and intox¬ icating substance in the breath of a person; (b) control means connected to said sensor means and connectable to the machine, said control means normally operating to enable starting of the machine only if at least a predetermined condition is satisfied, and (c) timer means connected to said control means to cause said control means to prevent the machine from being started after a specified time, regardless of whether said predetermined condition is satisfied.
7. The sobriety interlock of claim 6 further comprising indicator means connected to said control means for providing at least one humanlyperceptible indication in advance of said specified time.
8. A sobriety interlock for a machine, said sobriety interlock, comprising: (a) sensor means for detecting an intoxi¬ cating substance in a breath of a person; (b) control means connected to said senso means and connectable to the machine, said control means normally operating to enable starting of the machine only if at least a predetermined condition i satisfied, and (c) timer means connected to said control means to cause said control means to disable startin of said machine after a specified time has passed, regardless of whether said predetermined condition i satisfied.
9. A sobriety interlock of claim 8 further comprising indicator means for providing at least one humanlyperceptible indication prior to said specified time.
10. A sobriety interlock system, comprising: (a) a sobriety interlock connectable to a machine, said interlock including control means normally operable to disable starting of the machine unless at least one predetermined condition is satis¬ fied, said interlock further including timing means effective to cause said control means to prevent the machine from being started after a specified time measured by said timing means has passed, and (b) a service device connectable to said sobriety interlock to effect resetting of said timer means.
11. The sobriety interlock of claim 10 wherein resetting of said timer means is enabled only in response to recognition by said interlock of a signa¬ ture generated by said device.
Description:
SOBRIETY INTERLOCK WITH SERVICE REMINDER Field of the Invention

The present invention relates to breath sobriety interlocks of the type connectable to a machine such as a vehicle and normally operating to disable the machine from starting unless a breath sobriety test is passed. More particularly, the present invention relates to a sobriety interlock operable to remind a user that required servicing of the interlock currently is or will soon be due and optionally, to effectively disable the vehicle or other equipment to which the interlock is connected alternatively, to effectively disable the interlock itself if the reminder is not timely heeded. Background of the Invention The operation of vehicles by persons under the influence of alcohol is a major safety problem i the United States and many other countries. Despite growing public awareness and government concern, statistics continue to show that a high percentage o automobile accidents causing serious injury or death

involve drivers who have been drinking alcoholic beverages in excess. Injuries in the workplace are also often found to be related to the operation of heavy equipment or other machinery by persons impaired by the effects of alcohol.

To address this problem, various attempts have been made to develop devices intended to prevent automobiles and the like from being operated by inebriated individuals. Such devices, which are commonly referred to as "sobriety interlocks" are often based on the well known principle that the gas present in the alveoli of the lungs has an alcohol content directly proportional to that of the blood¬ stream. Blood alcohol content (BAC) thus can be accurately determined by breath testing. A sobriety interlock is connected to the vehicle and normally operates to prevent the vehicle from being started unless one or more prerequisite conditions imposed by the interlock are satisfied. Foremost among such conditions is that any alcohol detected be present in a sufficiently low concentration although, the inter¬ lock may normally require any number of further conditions to be met before starting of the vehicle i enabled. For example, it is generally acknowledged that to accurately determine BAC from a breath sample an interlock must be designed to require delivery of

"deep lung" breath sample. As used herein, that term refers to a breath sample consisting of a proportion of alveolar gas sufficient to permit an accurate determination of blood alcohol concentration. Since breath expired from upper portions of the respiratory tract does not necessarily have an alcohol level proportional to that of the bloodstream, a deep lung sample is essential if an interlock is not to be defeated by shallow exhalations of a series of short puffs of breath expelled from upper portions of the respiratory tract.

This probleni is addressed effectively in U.S. Patent Nos. 4,093,945 and 3,764,270 issued to Collier et al. The Collier et al. patents disclose means, such as a pressure switch and timer system, to ensure delivery of an essentially continuous and uninterrupted flow of breath sufficient to yield a deep lung sample. The sampling interval determined b the timer and the flow rate (as measured by the pressure sensor or other flow sensing means) are selected together to ensure a deep lung sample will b given. Unless breath is delivered at at least a minimum predetermined flow rate without interruption for the entire sampling interval, a required conditio is not deemed satisfied and the vehicle cannot be started.

Unlike breath analyzer tests which are usually administered under the supervision of police or other trained persons, sobriety interlocks are routinely used outside the presence of persons other than the vehicle operator/test subject whose use of the interlock may be less than completely voluntary. One example of such a situation is where an employer seeks liability protection by installing interlocks o vehicles operated by employees. A higher degree of compulsion may be involved in some cases of court- supervised rehabilitation of offenders found to have been: driving while under the influence of alcohol (DUI) . As a mandatory condition for permitting a DUI offender to drive in order to maintain employment andTor obtain counselling, some courts may require a sobriety interlock to be installed in the offender's car. In such cases there is an increased likelihood that attempts to defeat the interlock will be made. Accordingly, the prior art has proposed various self-supervisory techniques directed toward avoiding circumvention of interlocks by various forms of subterfuge. These techniques typically share a commo characteristic in that they require one or more additional conditions, usually unrelated to alcoh'ol t j- e satisfied as prerequisites to starting the vehicle For example, techniques to discriminate between a contemporaneous breath sample and bogus

gasses such air from a bicycle pump, filling station air hose or breath from a previously inflated balloon are discussed in U.S. Patent Nos. 4,592,443; 3,831,707; and 3,824,537. Each of these patents proposes requiring one or more additional conditions be satisfied before permitting the vehicle to start. U.S. Patent No. 4,592,443 requires the temperature of the gas delivered for a test to fall within a range expected for breath. Breath being moist, U.S. Patent No. 3,831,707 requires the gas to contain appropriate humidity to avoid circumventing an interlock with a bogus gas that is drier than breath. U.S. Patent No. 3,824,537 teaches requiring the operator to place one hand on a button which must be activated during a tes period while the _other hand is used to hold a breath sampling tube located some distance away from the button. Since both hands of the operator are placed apart, deceptive manipulation of a bellows or the lik is discouraged. While all of these techniques have some merit, they are of little overall benefit if a sobriety interlock can be circumvented regardless of them by the simple artifice of enlisting the aid of a sober accomplice to take the test. This vexing problem is dealt with in U.S. Patent No. 4,738,333 to Collier et al.

The technique proposed in the above '333 patent is to require the operator/test subject to

identify himself or herself by correctly performing what is termed an "identity-confirming act" which the interlock is capable of recognizing. Unless this act is correctly performed within a limited number of attempts, the interlock will not permit the vehicle to be started regardless of the result of any alcohol breath test. Unlike a personal identification number (PIN) code which can be readily entered by another person who is merely given knowledge of the code, correct performance of the identity-confirming act requires a degree of skill which cannot ordinarily be acquired by most persons without attempting the act a least some minimum number of times. The limited number of attempts the interlock allows the act to be tried is selected to be lower than the minimum number of attempts ordinarily required to learn the act. In this way, the interlock can effectively discriminate between a trained designated person and a previously unskilled accomplice. _» Notwithstanding the advances of the prior art, reliable operation of a sobriety interlock canno be ensured for extended periods without having the interlock serviced on a regular basis. This is particularly true where use of the interlock is compelled. Under such circumstances an interlock is more likely than usual to be subject to physical abus or attempts to bypass the interlock by disconnecting

it from the vehicle or otherwise. For this reason, routine operational checks of an interlock as well a physical inspection of both the interlock itself and the integrity of its connections to the vehicle shou be conducted. Also, where the interlock includes information recording means, such as means for recor ing bypass events as disclosed herein, occasional attention to those recording means may be required f various purposes. For example, information may need to be read from such devices for the purpose of preparing periodic reports for review by a superviso authority or to clear or replace the recording means to make room for new information and/or initiate a n recording period. Even where use of an interlock is voluntar being installed in a vehicle, it remains subject to extreme environmental conditions such as wide temper ture and humidity variations, shock and vibration. The response characteristics of the alcohol sensing device used by the interlock are also subject to change due to the above factors, the effects of repeated usage, contamination from the environment o merely the passage of time. Any or all of these influences may make the operating characteristics of an interlock, particularly those related to alcohol measurement, subject to undesired variation neces¬ sitating some form of corrective action such as

occasional calibration or perhaps even the replacement of the alcohol sensor or other components.

Should a significant change in the operating characteristics of a sobriety interlock occur for any reason, a variety of adverse consequences could result. Starting of the interlocked vehicle might not be enabled when it should be. Worse yet, the vehicle could be enabled to start when it should not be to the possible endangerment of the vehicle operator.as well as the public. Perhaps even more seriously, normal running of the vehicle could be unexpectedly inter¬ rupted sometime after the vehicle is underway. Merel scheduling a service appointment is not considered to be an adequate safeguard against these possibly dire consequences. Appointments can be ignored, forgotten or, due to the exigencies of the moment, put off for more convenient time. Summarv of the Invention

In view of the foregoing, there is a need for a sobriety interlock which provides for reminding a user when the interlock requires service. There further exists a need for such a sobriety interlock which provides one or more advance indications prior to arrival of the time when service is due. There further exists a need for a sobriety interlock which, in the event timely service is not obtained, initiate appropriate action to avert possible hazards.

The present invention addresses the above needs by providing a sobriety interlock which operate to remind a user when service is due by providing an appropriate indication triggered by a timer when service is due. Optionally, one or more advance indications may also be provided. If service is not obtained by the time it is due or at least within an optional grace period thereafter, a further aspect of the invention contemplates disabling the vehicle to which the interlock is connected until service is obtained. At that time, the timer can be reset whereupon starting of the vehicle is again enabled only if the conditions normally imposed by the inter¬ lock as prerequisites to starting are satisfied. Under certain circumstances, such as where use of the interlock is voluntary, it may be unnecessary or undesirable to disable the vehicle if timely service is not obtained. Accordingly, an alternative embodi¬ ment is provided whereby failure to obtain service of the interlock when required results in enabling the vehicle to be started until proper service is obtained, regardless of whether any of the normal prerequisites starting conditions imposed by the interlock have been satisfied. In this way, signifi- cant hazards, particularly the possibility of a user relying on an incorrect alcohol level reading, are avoided. These and other objects and advantages of

the invention will be made clear to persons skilled i the art having benefit of the present disclosure. Brief Description of the Drawings

Fig. 1 is a pictorial view of one preferred embodiment of a sobriety interlock embodying the present invention.

Fig. 2 is an electrical block diagram showing the sobriety interlock of Fig. 1 together wit a wiring harness for connecting the interlock to a vehicle electrical system and illustrating the connec tion of the interlock to first and second remote service devices.

Fig. 3 is an electrical diagram showing further details of the vehicle interface depicted in block form in Fig. 2 and illustrating its connection to a portion of a vehicle electrical system.

Fig. 4 is an electrical diagram showing further details of the power supply depicted in block form in Fig. 2. — Fig. 5 is an electrical diagram showing further details of the microprocessor controller depicted in block form in Fig. 2.

Fig. 6 is an electrical diagram showing further details of the remote interface depicted in block form in Fig. 2.

Fig. 7 is an electrical diagram showing further details of the non-volatile memory depicted block form in Fig. 2.

Fig. 8 is an electrical diagram showing further details of the heater control/analog interfa depicted in block form in Fig. 2.

Fig. 9 is an electrical diagram showing further details of the sampling head depicted in blo form in Fig. 2. Fig. 10 is an electrical diagram showing further details of the operator interface depicted i block form in Fig. 2.

Fig. 11 is an electrical diagram showing further details of the audio output depicted in bloc form in Fig. 2.

Fig. 12 is an electrical block diagram showing further details of the second remote service device shown in Fig. 2.

Figs. 13A-13F are a series of flowcharts illustrating the operation of the second remote interface device of Fig. 12 wherein:

Fig. 13A illustrates the BOOT UP state; Fig. 13B illustrates the READTIME state; Fig. 13C illustrates the SETTIME state; pig. 13D illustrates the READBYP state;

Fig. 13E illustrates the RESETT state; and

Fig. 13F illustrates the CONERR, COMMERR an RSTERR error subroutines.

Fig. 14 is a software state diagram illus¬ trating the operation of the microprocessor controlle of Fig. 2.

Fig. 15 is a diagram illustrating the BOOT UP state.

Fig. 16 is a diagram illustrating the PURGE state. Fig. 17 is a diagram illustrating the READY state.

Fig. 18 is a diagram illustrating the BLOW state.

Fig. 19A and Fig. 19B are diagrams which together illustrate the ID state.

Fig. 20 is a diagram illustrating the DISPLAY state.

Fig. 21A and Fig. 2IB are diagrams which together illustrate the RUN state. - Fig. 22 is a diagram illustrating the STANDBY state.

Fig. 23 is a diagram illustrating the SERVICE REMINDER LOCKOUT state.

Fig. 24 is a diagram illustrating the DEMERIT LOCKOUT state.

Fig. 25 is a diagram illustrating the SI state.

Fig. 26 is a diagram illustrating the S2 state.

Fig. 27 is a diagram illustrating the BACKGROUND routine. Fig. 28 is a diagram illustrating the

DISPLAYFAULT subroutine and the REMIND subroutine.

Fig. 29 is a diagram illustrating the CHKB subroutine.

Fig. 30 is a diagram illustrating the INCD subroutine.

Fig. 31 is a diagram illustrating the CHKSUPPLY subroutine.

Fig. 32 is a diagram illustrating the CHKCONNECT subroutine. Fig. 33 is a diagram illustrating the

CHKSTABLE subroutine.

Detailed Description of the Preferred Embodiment SOBRIETY INTERLOCK HARDWARE - Referring initially to Fig. 1, a sobriety interlock 1 embodying the present invention includes control module 2 and a remote sampling head 3 con¬ nected thereto by way of a coilably retractable cabl 4. Control module 2 is contained within a housing 5 having mutually opposed front and rear panels, 6 and

7, respectively. Rear panel 7 carries an audio beep 8 and a miniature, six pin, female receptacle 9. A

multiple conductor wiring pigtail 10 terminated with half of a locking male-female connector 11 exits rear panel 7 to facilitate connection of control module 2 to a vehicle electrical system in a manner to be more fully explained with reference to Figs. 2 and 3. The front panel 6 of control module 2 carries an eight pin, miniature female receptacle 13 which mates with a detachable male plug 14, one of which is affixed to each end of cable 4. Front panel 6 also carries the externally accessible portions of an operator interface 15. The internal components of control module 2 are secured within housing 5 by a plurality of fasteners 16 the heads of which are concealed beneath an overlay 17. Overlay 17 is imprinted with appropriate indicia as shown and, for security purposes, is of a material such as a thin sheet of polycarbonate backed with a strong, pressure sensitive adhesive so that overlay 17 shows visible signs of tampering if removal of it or fasteners 16 i attempted. A similar overlay (not shown) is provided on the surface of rear panel 7 covering fasteners there (also not shown) .

That portion of operator interface 15 accessible by way of front panel 6 includes three pus buttons 19, 20 and 21 designated POWER, MUTE and MODE respectively, as well as a bar graph style LED displa 22 and a red indicator LED 23. Bar graph display 22

includes a series of ten colored LEDs numbered consec utively from 25 through 34 as viewed from left to right in Fig. 1. These consist respectively of; firs and second GREEN LEDs (25, 26), first, second and third YELLOW LEDs (27, 28, 29) and first, second, third, fourth and fifth RED LEDs (30, 31, 32, 33, 34)

Sampling head 3 is detachably connected to cable 4 by way of a second, eight pin miniature femal receptacle 37 which receives one of the male plugs 14 terminating cable 4. The structure and operation of sampling head 3 are described in further detail here with reference to Figs. 1 and 9 as well as in copend- ing, commonly assigned U.S. Patent Application S.N. 07/152,470, filed February 5, 1988 the disclosure of which is expressly incorporated herein by reference i its entirety. For the present, it is sufficient to note that sampling head 3 includes a housing 38 havin a breath inlet port 39 into which a breath sample can be delivered by way of a disposable mouthpiece 40. A green colored READY LED 41 is visible externally of housing 38. When interlock 1 is prepared to receive breath sample, READY LED 41 flashes. While a breath sample is in the process of being delivered at a sufficient flow rate, READY LED 41 stops flashing and remains lighted.

Referring now to Fig. 2 there is shown an electrical block diagram wherein the confines of the

housing 5 enveloping control module 2 are indicated in broken lines. It can be seen from Fig. 2 that control module 2 includes a vehicle interface 45, a power supply 46, a remote interface 47, a non-volatile memory 48, an analog and heater control 49, operator interface 15 (a portion of which has already been described) as well as an audio output 50; each of which is connected via one or more lines to a micro¬ processor controller 51. Control module 2 also includes provisions for a number of external connections. These include connections to sampling head 3 as well as the vehicle electrical system. As previously noted, sampling hea 3 is connected to control module 2 via cable 4 and the male plugs 14 which terminate it. The connections between the vehicle and vehicle interface 45 are made by way of pigtail 10 and a wiring harness 58 which includes a connector 59 that mates with the connector 11 terminating pigtail 10. As shown, pigtail 10 ineludes separate red, black, green, white and orange wires labelled respectively as lOa-lOe as well as a pair of blue wires labelled lOf and lOg. Wiring harness 58 includes a set of correspondingly colored wires 58a-58g the connections of which to the vehicle will be described later with reference to Fig. 3.

Also, in place of sampling head 3, the female recepta cle 13 mounted on the front panel 6 of control module

2 can be connected to a first remote service device while remote interface 47 is adapted to communicate via receptacle 9 with a second remote service device 56. Remote service devices 55 and 56 will also be explained in further detail later.

With continuing reference to Fig. 2 the principal internal connections of control module 2 will now be summarized. Vehicle interface 45 conduc lines 10a, 10b and 10c directly to power supply 46 t supply it with electrical power from the vehicle. A will be explained further in connection with Fig. 4, power supply 46 defines three power supplies desig¬ nated VA_.N_O ΛT D_E_, 61, VM„A__I„N 62 and VS_ r W τ 63. VA_„NO Λr DE T , 61 is monitored by controller 51 by way of analog interfac 49 while V 62 powers at least a portion of each circuits 15, 45, 47, 48, 49 and 51. Vow 63 is a pow supply that is switched under the control of a PDC line 52 from controller 51 in order to allow interlo 1 to operate in a low power drain or "standby" state to * .conserve the battery of the vehicle especially during prolonged periods of non-use. For that reaso

V 63 supplies power to audio output 50, sampling head 3 (via heater control/analog interface 49) and a portion of vehicle interface 45. Power supply 46 also includes an interlock chassis connection 66 and ground 67. The ground 67 is connected to each of th circuits 15, 45, 47, 48, 49, 50 and 51. To minimize

noise, the ground 67 associated with the analog circuits should be run separately from those associ¬ ated with digital components. The operation of beeper 8 is controlled by way of a line AOC 65 connected between controller 51 and audio output circuit 50 as will later be explained in further detail with refer¬ ence to Fig. 11.

Vehicle interface 45 is connected to con¬ troller 51 by way of lines designated ILK 68, HRN 69 and IGN 70. ILK line 68 is controlled by controller

51 in order to selectively enable and disable startin of the vehicle. The HRN line 69 is used to allow controller 51 to sound the horn of the vehicle while IGN line 70 is used for two purposes. In the first instance, it allows controller 51 to sense whether th vehicle ignition switch is off or in its RUN position When interlock 1 is not in operation and is being serviced, line IGN 70 is used as a communication line between second remote service device 56 and controlle 5.--via remote interface 47. As will later be elab¬ orated upon, such communications are further facil¬ itated by three lines; RST 73, SRS 74 and SCL 75 whic are connected between controller 51 and remote inter¬ face 47. RST line 73 is also connected to power supply 46 to permit resetting of controller 51 in the event a low voltage condition occurs.

As will be explained further with referenc to Fig. 10, operator interface 15 is connected to controller 51 by way of lines designated MTE 76, PWR 77 and MDE 78 emanating, respectively, from push buttons 20, 19 and 21 while a line designated IND 79 connects controller 51 with LED indicator 23 and a series of lines BG0 through BG9 80 through 89 (Fig. 5) , respectively connect controller 51 with each respective LED 25 through 34 making up bar graph display 22. It will be noted that line BG0 80 is al used by controller 51 to transfer data to non-volati memory 48 (i.e., write to memory) while a line EDO 9 is used to transfer data in the reverse direction fr memory 48 to controller 51 (i.e., read from memory). These functions are assisted by lines ECS 93 and AD6 94 which are used respectively as chip select and clock lines for memory 48. Line AD6 94 is also used as a clock line for the analog interface portion of circuit 49. Heater control/analog interface circuit 49-_also includes a number of other connections to controller 51. These include lines AD1 96, AD2 97, AD4 98, AD5 99 and HTC 100.

Sampling head 3 is connected to controller 51 by way of cable 4 which includes lines RDY 101 an psw 102 and is connected to heater control/analog interface 49 by way of lines; SEN 103, FBK 104, HTR1 105 and HTR2 106 as well as connections to power

supply VOn 63 and ground 67. These lines will be discussed in further detail with particular reference to Figs. 5, 8 and 9. Vehicle Interface Referring additionally now to Fig. 3, vehicle interface 45 and its connections to portions of a vehicle electrical system 115 are illustrated in further detail with components of vehicle electrical system 115 being shown in broken lines. Wiring pigtail 10, which carries connector 11 on one end, terminates at its opposite end on a printed circuit board 107 upon which each of: vehicle interface 45, power supply 46, remote interface 47, audio output 50, non-volatile memory 48, controller 51 and heater control/analog interface 49 are all at least partiall carried. Connector 11 mates with connector 59 of wiring harness 58 which is wired to components of vehicle electrical system 115 in the manner shown. I particular, electrical system 115 includes a battery ιo«8 whose positive terminal 109 is wired to line 58a and whose negative terminal 110 is wired to line 58b as well as wire 58c which is connected to both the chassis 111 of the vehicle the ground side 112 of the vehicle starter solenoid 113. The opposite side 114 of solenoid 113 is connected to wire 58g. The posi¬ tive-terminal 109 of battery 108 is also connected to the line side 116 of the vehicle horn relay coil 117

as well as two pairs of contacts 119, 120 associated the vehicle ignition switch. Contacts 119 comprise set of normally open contacts that are maintained closed when the vehicle ignition switch is in a RUN position. Contacts 120 are normally open contacts that are momentarily closed while the vehicle igniti switch is held in a START position as it is when attempting to start the vehicle. As can be seen, th load side of contacts 119 are wired to line 58d. IG line 70 is formed by connection of line lOd to a voltage divider made up of resistors 122 and 123 the output of the voltage divider being clipped by a Zen diode 124 to limit the maximum voltage appearing on line IGN 70 in accordance with the rating of diode 124. Thus, the voltage appearing on line IGN 70 can be sensed directly by controller 51 to determine whether or not the vehicle ignition switch contacts are in their RUN position.

To control the horn (not shown) of the vehicle, line lOe, which is connected to horn relay coil 117 through wire 58e, is selectively pulled low by transistor 126 the drain of which is connected to line lOe and also ultimately to the positive termina 109 of battery 108 by way of line 10a through a transient suppressing diode 127. Transistor 126 is itself controlled by controller 51 according to the signal appearing on HRN line 69 which is applied to

the base of a bipolar NPN driving transistor 128 through a series resistor 125. The collector of transistor 128 is connected to the gate of transistor 126 such that when controller 51 pulls HRN line 69 low, transistor 128 is cut off and its collector is pulled up by a resistor 129 which connects the collec tor of transistor 128 to supply V S_.W_ 63. This causes transistor 126 to conduct thereby completing the circuit from coil 117 to ground in order to cause the horn to sound. It is noted that transistor 128 is supplied from switched power supply V 63. Thus, sounding of the vehicle horn is disabled whenever controller 51 causes power supply V 63 to be turned off in order to conserve battery 108. To ensure that the vehicle horn does not sound during power up of interlock 1, a pullup resistor 121 is connected between HRN line 69 and the V power supply 62. I should be noted that the vehicle horn can still be operated manually by way of the vehicle horn button (not shown) for signaling by the operator. However, HRN line 69 can override the vehicle horn button so that the horn can be sounded under the control of controller 51 regardless of whether the horn button pressed by the operator. As will be seen, this capability is used in the event an operator fails to take a timely retest in the event one is required.

Starting of the vehicle is selectively enabled and disabled under the control of controller 51 by way of line ILK 68 which is connected by way o a resistor 133 to the base of a Darlington transisto 130 whose collector is coupled to the coil of an ignition interlock relay 131 that is shunted with a protective diode 132. Relay 131 has a normally open contact connected in series with vehicle ignition switch contacts 120 by way of wires 58f and lOf as well as with the non-grounded side 114 of ignition solenoid 113. Thus, starting of the vehicle is enabled when ILK line 68 is pulled low by controller 51 thereby causing transistor 130 to conduct which energizes relay 131 causing its contact to close so that the vehicle operator can start the vehicle by applying power from battery 108 to solenoid 113 through ignition switch contacts 120. Power Supply

With additional reference now to Fig. 4 power supply 46 will now be described in further detail. The positive and negative terminals 109, 11 of battery 108 are connected by way of lines 10a and 10b to a filter network 134 which includes series inductors 135 and 136 and parallel capacitors 137 an 138 which are connected together at a node linked to line 10c as shown. The line side of inductor 136 is connected to the chassis ground point 66 of control

module 2 while its load side defines ground 67. Overcurrent protection is provided by a fuse Fl 139 connected in series with line 10a while overvoltage protection is provided by a varistor 140 connected across the lines 10a, 10b spanned by capacitors 137 and 138. A reverse current blocking diode 144 is connected in series with the output side of filter network 134 to prevent damage to the circuitry of control module 2 in the event the polarities lines 58 and 58b (Fig. 3) are reversed. The anode of diode 14 defines a filtered but unregulated power supply v " , Mnn

61 while its cathode defines node V I-..N. 64. A five vol voltage regulator 145 has its input connected to node V 64 which is spanned by a capacitor 148. The output of regulator 145 defines regulated +5 volt power supply V 62 which is spanned by a capacitor 149. Voltage regulator 145 is preferably a type such as an LM2925 manufactured by National Semiconductor which includes a reset pin which can be connected to controller 51 by way of RST line 73 as indicated. In the event regulator 145 cannot maintain its nominal output voltage, regulator 145 pulls line RST 73 low i order to effect a hardware reset of the microprocesso associated with controller 51. A resistor 150 and capacitor 151 are connected to RST line 73 as shown order to dampen any oscillations which might otherwis occur thereon. A 0.1 microfarad capacitor 152 is

connected between pin 4 of regulator 145 and ground i order to determine the duration of the reset signal.

Switched 12 volt power supply V 63 is developed by connecting node V_. 64 to the source of field-effect transistor (FET) 153 the drain of which defines supply V 63 and the gate of which is con¬ nected to the collector of a driving transistor 154 that is connected to V_ 64 by way of a resistor 155. The emitter of transistor 154 iε connected to ground 67. The base of transistor 154 is connected to PDC line 52 through a resistor 156. Thus V 63 is turne off whenever controller 51 ' pulls PDC line 52 low. This cuts off transistor >154 so that resistor 155 pulls its collector high thereby cutting off transis- tor 153 to deenergize supply V 63. Conversely, whe

__)w

}

PDC line 52 is high, supply v sw 63 is turned on. Microprocessor Controller and Operator Interface

With reference to Figs. 5 and 10 controller 51 and operator interface 15 will now be explained in further detail. Controller 51 includes a programmabl microprocessor 160 which may suitably comprise a type such as a part number HD637B05VOP manufactured by Hitachi America, Ltd. which is configured as a single integrated circuit having pins numbered consecutively from pin 1 to pin 40. As shown in Fig. 5, micropro¬ cessor 160 is supplied power from 62 by way of pin #40, which is shunted to ground 67 by way of a

capacitor 161, as well as by way of pin #3 which is tied directly to ground 67 as are pin #37 and pin #20 A conventional 4.000 MHz time base 162 is connected across pin #38 and pin #39. To effect a hardware reset of microprocessor 160 by voltage regulator 145

RST line 73 is connected to pin #1. Consecutive pin numbers 29 through 35 of microprocessor 160 define I/ port D and are connected respectively to lines: ILK 68, ECS 93, IGN 70, PDC 52, SRS 74, AOC 65 and SCL 75 These are configured as microprocessor inputs or outputs as indicated by arrows in Fig. 5. The func¬ tions of lines ILK 68, IGN 70 and PDC 52 have already been explained. The functions of lines SRS 74 and SC 75 will be explained more clearly with reference to

•I Figs. " 6 12 and 13 while those of lines ECS 93 and AO 65 will ' be clarified in connection with the descrip¬ tions of Figs. 7 and 11 respectively. Pin #36, which is tied to V M,„A_I..N τ 62, is not used.

Each LED, 25 through 34 making up bar graph display 22 is individually controlled by microproces¬ sor 160 by way of lines BG0 80 through BG9 89. Those lines are connected to microprocessor 160 by way of microprocessor pin numbers 8 through 17 respectively. Connection of lines BG0 80 through BG9 89 to corre- sponding LEDs 25-34 are made by way of male and fema connectors Jl 164 and J2 165 each having pins number 1 through 10. The male pins of connectors Jl, 164,

and J2, 165 are shown in Fig. 5 while the correspond ingly numbered female pins are depicted in Fig. 10. (Note that Fig. 5 also shows pins 3 and 4 of eight p receptacle 13 the remaining pins of which are shown Fig. 8). As can be seen from Fig. 10, each of lines BG0 80 through BG9 89 is connected to the cathode of each respective LED 25 through 34 by way of one of a series of buffers 167. One of the same buffers 167 similarly.connects the cathode of indicator LED 23 t pin 7 of microprocessor 160 by way of line IND 79. The anode of LED 23 as well as those of LEDs 25-34 i connected to power supply V 62 through one of a series of resistors 168.

Operator interface 15 is mounted on a separate printed circuit board 170 from the printed circuit board 107 carrying the remainder of the electronics within control module 2. Circuit board 170 receives its power from supply 62 by way o pins 9 and 10 of connector J2 165 as well as pin 2 o connector Jl 164. Circuit board 170 receives ground

67 by way of pins 1 and 10 of connector Jl 164 as we as pin 8 of connector J2 165.

The push buttons on front panel 6 designat POWER 19, MUTE 20, and MODE 21 are each normally ope momentary, single pole, single throw types and has i line side connected to supply V„„, 62 and load side

MAIN connected to lines PWR 77, MTE 76 and MDE 78

respectively. Those lines are carried to circuit board 170 from circuit board 107 through connector Jl 164 by way of pins 4, 3 and 5 respectively as shown i Fig. 7. For noise immunity, the load side of each push button 19, 20, 21 is connected to ground 67 by way of a pull down resistor 171. As can be seen from Fig. 5, lines MTE 76, PWR 77 and MDE 78 are connected respectively to pins 2, 5 and 6 of microprocessor 160 Those pins are configured as inputs whereby micropro- cessor 160 can sense the pressing of each push button 19, 20 and 21 by a person.

In addition to being used as outputs for selectively lighting the LEDs 25-34 making up bar graph display 22, lines BG0 80 through BG9 89 are als momentarily used as inputs to microprocessor 160. As will be noted in connection with the description of the "BOOT UP" state in the software description whic appears later, these lines are also used to read the status of a series of pairs of jumper posts (a throu j)-which .appear in Fig. 5 on a common header 173. Each line BG0 80 through BG9 89 is connected to one side of each respective pair of posts (a through j) well as to power supply 62 by way of one of a series of pull up resistors 174. The opposite side each pair of posts a through j on header 173 are connected, through one of a series of diodes 175 to pin 22 of microprocessor 160 by way of a strap selec

line STS 176. To read which, if any, of the pairs posts a through j may be shorted with jumper straps, microprocessor 160 momentarily pulls STS line 176 lo and reads the logical state of each of lines BG0 80 through BG9 89. If any of those lines reads low, it indicates that the corresponding pair of posts is jumpered. The presence or absence of a jumper strap across each pair of jumper posts a through j on head 173 indicates to the microprocessor whether any of several optional features are to be implemented. Among these features are the ability of interlock 1 to require a prospective operator to identify himself as being a particular individual. This is preferably accomplished by requiring the operator/test subject to perform what shall be referred to as an "identity-confirming act" which a designated operator has previously been trained to perform correctly and which microprocessor 160 is programmed to recognize. Unless this act is correct performed within a limited number of attempts in a given time, interlock 1 will not permit the vehicle be started for some period of time regardless of the result of any alcohol breath test. The limited numb of attempts allowed is selected in accordance with t degree of skill required to learn to perform the act correctly such that a person cannot ordinarily learn to perform the act in fewer than that number of

attempts. Thus, a previously untrained accomplice will not likely be able to perform the act instead of the designated trained operator in order to evade the test. This technique has been described in detail in commonly assigned U.S. Patent No. 4,738,333 issued

April 19, 1988 and will be assumed to be incorporated in the sobriety interlock 1 being described. As will be explained further with reference to Fig. 19, one preferred embodiment of the identity-confirming act consists of blowing a series of puffs of breath interspaced with pauses into the mouthpiece 40 of sampling head 3 beginning just after the BAC measure¬ ment phase of the test is completed. The puffs of breaths and pauses must conform to predetermined timing requirements in order to pass this "ID phase" of the test.

In addition to selecting whether sobriety interlock 1 requires performing an identity-confirmin act as a precondition to starting the vehicle, strap- abie header 173 can also be used advantageously to select other options such as alternate BAC levels at which interlock 1 will provide a WARN indication and/or enable vehicle starting and whether interlock is to require periodic retesting after the vehicle i started regardless of the results of previous, breath tests.

Returning now to consideration of the structure and basic operation of controller 51, pin #18 of microprocessor 160 is connected to PSW line 10 which extends to sampling head 3 by way of receptacle 13. PSW line 102 is tied to supply 62 by way a pull up resistor 177 and is shunted to ground 67 through a capacitor 178. As will be further explain in connection with Fig. 9, PSW line 102 is connected to means for sensing whether breath is being delivere to sampling head 3 at at least a predetermined minim flow rate. Accordingly, pin 18 of microprocessor 160 is configured as an input.

Ready LED 41 which is visible exteriorly o sampling head 3 is selectively lighted under the control of microprocessor 160 by way of pin #19 thereof which is connected to RDY line 101. RDY line 101 is driven by a transistor 180 that is controlled through a resistor 181 and supplies current to READY LED 41 from supply V as shown through pin 4 of cαanector 13.

The horn of the vehicle is controlled by line HRN 69 in the manner previously described. Tha line is connected to pin #26 of microprocessor 160 whereas lines ADl 96, AD2 97, AD4 98, AD5 99 and AD6 94 are connected to microprocessor 160 at pin #28, p #27, pin #25, pin #24 and pin #23 respectively as shown in Fig. 5. Those lines will be discussed

further somewhat later in relation to Fig. 8. Each o the aforementioned pins is configured as an output except for pin #24 which serves as an input to micro¬ processor 160.

5 Remote Interface

With additional reference now to Fig. 6, th structure and basic operation of remote interface 47 will now be described. Remote interface 47 provides means for effecting two way communications between

10 interlock 1 and a second remote service device 56. For this purpose, remote service device 56 is con- nectable to remote interface 47 by way of the female receptacle 9 mounted in the rear panel 7 of control module 2. Receptacle 9 includes six pins which are

15 designated as 9a through 9f as shown.

Communications from remote service device 5 to the microprocessor 160 of interlock 1 are carried by way of pin 9a through a resistor 184 to IGN line 7 which is connected to microprocessor 160 at pin #31

2( * thereof. It should be noted here that remote service device 56 is to be used only by trained, authorized personnel during initial installation or servicing o interlock 1 and at times when the vehicle to which interlock 1 is connected is not running so that IGN

^^ line 70 can carry serial digital communications signals. As can be appreciated from the description of vehicle interface 45 provided earlier, IGN line 7

could not be used for communications when the vehicle is running since IGN line 70 is always at a logical high level when vehicle key switch contacts 119 are i their RUN position. Communication in the opposite direction, that is, from microprocessor 160 to the second remote service device 56 take place by way of line SCL 75 which drives pin 9d of receptacle 9 by means of a transistor 185 whose base is connected to SCL line 75 through a resistor 186. The collector of transistor 185 is connected directly to pin 9d of receptacle 9 and is also connected to power supply 62 throug a resistor 187. The emitter of transistor 186 is connected to ground 67 which is carried to second remote service device 56 by means of pins 9c and 9e o receptacle 9.

So that proper connection between second remote service device 56 and microprocessor 160 can b assured, microprocessor 160 generates a coded inter- lock signature signal on line SRS 74. That line is connected to pin 9b of receptacle 9 by way of a driving transistor 189 whose collector is connected directly to pin 9b as well as to supply 62 through a pull up resistor 190. The base of transis- tor 189 is driven by line SRS 74 through a resistor

191. In order to permit second remote service device 56 to perform a hardware reset of microprocessor 160,

pin 9f of receptacle 9 is connected through a resisto

192 to RST line 73. Non-Volatile Memory

With additional reference now to Fig. 7, non-volatile memory 48 will now be described in further detail. Memory 48 includes a non-volatile data storage device such as an electrically erasable, programmable read-only memory (EEPROM) 195 which may suitably comprise a part number HY93C46 manufactured by Hyundai which is a serial device with a 64X16 bit capacity. Memory 195 is supplied power by way of

connected to ground 67 by way of a capacitor 196. Line ECS 93 emanating from microprocessor 160 at pin # 30 is used as a chip select and is connected appropriately to th CS (chip select) pin of memory 195 as well as to ground 67 by way of a pull down resistor 197. Micro¬ processor 160 drives ECS line 93 high whenever data i to be either written into or read from memory 195. Memory 195 is clocked by microprocessor 160 by way of line AD6 94 at a pin designated SK which is also linked to ground 67 by way of a pull down resistor 198. Data to be written from microprocessor 160 into memory 195 is received serially at pin DI (data in) thereof by way of line BG0 80. Similarly, data to be read from memory 195 to microprocessor 160 is carrie by way of line EDO 92 which is connected to pin DO

(data out) of memory 195. When inactive, line EDO (92) is pulled up to supply V 62 by way of a resistor R6 199 connected therebetween. Sampling Head With additional reference now to Fig. 9, sampling head 3 will now be described in further detail. Sampling head 3 is substantially enveloped within a housing 38 through which READY LED 41 is visible. Housing 38 captures female receptacle 37 t pins of which are designated 37-1 through 37-8 conse utively. Pins 37-1 through 37-8 are connected to eight correspondingly numbered pins 13-1 through 13- associated with the female receptacle 13 on the fron panel 6 of control module 2. These connections are made by way of cable 4 each end of which carries a male connector 14.

Sampling head 3 includes an alcohol sensor 200 which may suitably comprise one of any number of devices capable of providing an electrical signal th varies predictably with the amount of alcohol to whi it is exposed. One suitable type of alcohol sensor the semiconductor type whose electrical resistance decreases predictably with the amount of alcohol adsorbed onto its surface. Such a sensor 200 is incorporated, along with a heater 202, in a sensor assembly 201. A suitable sensor assembly 201 is mad by Figaro Engineering, Inc. of Osaka, Japan and is

available commercially in the United States as model TGS-813P from Figaro USA, Inc. of Wilmette, Illinois. The structure, operation and mounting of sensor assembly 201 are discussed in further detail in commonly assigned U.S. Patent application S/N

07/152,470 incorporated by reference earlier. For present purposes it is sufficient to note that sensor 200 lies in gaseous communication with breath delivered into the inlet port 39 of sampling head 3 b way of mouthpiece 40.

Alcohol sensor 200 has one leg connected to ground 67 and a second leg connected to pin 37-6 by way of a line FBK 104 which includes a calibration potentiometer 205. The node between potentiometer 20 and sensor 200 corresponds to the output of sensor 20 and is carried to pin 37-5 over SEN line 103. Heater 202 has its leads connected to pins 37-7 and 37-8 by way of lines designated HTR1 105 and HTR2 106 as shown. - Sampling head 3 also includes means for sensing breath flow. Pressure switch 208 includes a set of normally open contacts one side of which is connected to ground 67 the other side of which is connected to microprocessor 160 by way of line PSW 10 and connected to pin 37-3 of receptacle 37 (see also

Fig. 5) . Although other devices including solid sta pressure switches or various forms of flow sensors

could be used for this purpose a pressure switch 208 has been found suitable. One suitable pressure swit 208 is an electromechanical type such as model PSF-100A04.0 manufactured by World Magnetics of Traverse City, Michigan. The structure, mounting an operation of pressure switch 208 are also discussed further in the above-referenced application S/N 07/152,470. For present purposes, it is sufficient note that the contacts of pressure switch 208 are closed only when the flow of breath delivered to sampling head 3 by an operator through mouthpiece 40 meets or exceeds a desired minimum flow rate. Pres¬ sure switch 208 closes to signal microprocessor 160 when the flow of breath delivered into inlet port 39 is at least equal to a predetermined minimum flow.

That flow is selected to be sufficient to ensure tha a "deep lung" breath sample is delivered to sensor 2 provided such flow or a larger flow is maintained continuously without interruption for at least a p:cedetermined minimum time such as 4.5 seconds. As used herein, the term "deep lung" refers to a breath sample consisting of a proportion of alveolar air sufficient to permit a suitably accurate determinati of blood alcohol content (BAC) from such a sample. Pressure switch 208 also conveniently serves as a means for sensing the flow of breath during the

various phases of the identity-confirming act de¬ scribed earlier.

Ready LED 41 is wired with its cathode connected to ground 67 while its anode is connected t RDY line 101 at pin 37-4 by way of a resistor 210. Microprocessor 160 controls RDY line 101 such that READY LED 41 flashes when interlock 1 is ready to receive a breath sample. When sample delivery com¬ mences as indicated by the closure of pressure switch 208, READY LED 41 stops flashing and remains steadily lighted until a deep lung breath sample has been received whereupon it is extinguished.

An auxiliary heater element 212 and a thermistor 213 are included in sampling head 3 in thermal communication with the flow path through whic breath passes. When thermistor 213 senses a suffi¬ ciently cold temperature, element 212 is energized as necessary to maintain a sufficient temperature to prevent freezing of moisture in the breath sample. A the same time element 212 tends to maintain the regions adjacent sensor assembly 201 at a relatively stable temperature of about 21 β C in order to avoid an excessively cold operating environment for sensor 200

As shown in Fig. 9, thermistor 213 is connected in series with 150 K resistor 215 and 8.2K ohm resistor 216 across supply V 63 and ground 67 which are carried from control module 2 by way of pi

37-1 and 37-2 respectively of receptacle 37 to form a voltage divider at node V . Thermistor 213 is a negative thermal coefficient type such as part number GB41M2 made by Fenwal Electronics Div. of Kidde, Inc. of Framingham, Massachusetts. Node V is connected b way of a series 4.7K ohm resistor 217 to the nonin- verting input of a first amplifier 218 which itself i connected to ground by way of a 220K ohm resistor 219 The inverting input of amplifier 218 is connected by way of a series connected 4.7K resistor 220 to a voltage divider formed by the series combination of resistor 215 together with an 8.2K ohm resistor 221 and an 12K ohm resistor 222 as shown. A 220K ohm feedback resistor 223 connects the inverting input of amp 218 with its output. Thus, amp 2.18 is configured as a conventional balanced differential amp which amplifies the voltage difference appearing between node V and a reference voltage node defined by the junction between resistors 221 and 222. That voltage difference increases as the temperature sensed by thermistor 213 decreases. The base of a transistor 225 is connected to the output of amp 224 by way of a 3.3K ohm resistor 226 while the collector of transis- tor 225 is connected to one end of element 212 whose other side is connected to supply V 63. A 1.5 ohm, 2 watt resistor 227 connects the emitter of transisto 225 to ground 67. The noninverting input of amp 224

is connected to the output of amp 218 while the inverting input of amp 224 is connected across resis¬ tor 227 to the emitter of 225 as a means of limiting the current through element 212. A second transistor 228 such as an NPN type 2N3904 has its base connected to the emitter of transistor 225, its collector to th base of transistor 225 and its emitter to ground 67. A Darlington transistor, 229 such as a type MPSA14, i turn has its base connected to node V . its emitter

T grounded and its collector connected to the base transistor 225. Normal operation of the circuit controlling element 212 is as follows.

The voltage at node V rises as the tempera ture sensed by thermistor 213 drops and is amplified by amp 218 and upper end limited by amp 224 energizin element 212 with the amount of power required to maintain the thermistor 213 at the temperature deter¬ mined by resistor 215, 221 and 222. In the event thermistor 213 should open circuit, V is pulled up t a voltage that is sufficiently high to turn transisto 229 on thereby pulling the base of transistor 225 to ground 67. This prevents element 212 from being powered. In the event element 212 shorts out, the abnormally high current passing through the collecto of transistor 225 would develop a sufficient voltage across resistor 227 to bring transistor 225 into a conducting state, clamping the base of transistor 22

low and thereby limiting the power to element 212. Energization of element 212 is thus independent of microprocessor 160 except to the extent that element 212 can be deenergized by microprocessor 160 by causing V__ 7 63 to be turned off in the manner described earlier. This occurs when microprocessor 160 operates in a state known as STANDBY in order to conserve vehicle battery 108. Heater Control/Analog Interface With additional reference now to Fig. 8 as well as Fig. 9 the circuitry for controlling the heater control/analog interface circuit 49 will now b described.

We turn initially to that portion of circui 49 which relates to the control of the heater 202 associated with alcohol sensor assembly 201. Heater 202 is supplied power from an 8 volt regulator 232 which may suitably comprise a National Semiconductor part number LM2930 having an input, VI connected to supply V 63 across a capacitor 233 an output, VO connected across a capacitor 234 as well as a ground pin connected to ground 67. As previously noted, control module 2 is connected to sampling head 3 by way of correspondingly numbered pins of connectors 13 and 37 which are spanned by cable 13. Power supply V 63 is carried on pins 13-1 and 37-1 while ground 67 is carried on pins 13-2 and 37-2. The regulated

output of regulator 232 is carried to one side of heater 202 by way of pins 13-7 and 37-7, each of whic is connected to line HTRl 105. The opposite side of heater 202 is connected by way of line HTR2 106 and pins 37-8 and 13-8 to the collector of a transistor 237 disposed in a heater control and sensing circuit 238.

Control of the average power applied to heater 202 is effected by applying a variable duty cycle signal to the base of transistor 237 by way of resistor 239. When transistor 237 is driven into conduction line HTR2 106 is pulled low causing curre to flow through heater 202 whereas when 237 is sub¬ stantially cut off, heater 202 is deenergized. The duty cycle of the signal appearing at the base of transistor 237 is determined by microprocessor 160 which applies an appropriate variable duty cycle signal to HTC line 100. HTC line 100 drives the bas of buffer transistor 240 which in turn drives transi tor 237. A pullup resistor 241 is connected between the base of transistor 240 and supply V, 62 the

MAIN latter also being connected to the collector of transistor 240. It can be appreciated that as the duty cycle of the signal generated on HTC line 100 b microprocessor 160 varies so too does the average power applied to heater 202. It should be noted tha whenever heater 202 is referred to herein as being

"on" or "energized" the voltage waveform applied to heater 202 is a pulse train as opposed to a continuo D.C. signal.

During alcohol sensing, microprocessor energizes heater 202 with a signal having a duty cyc selected to maintain sensor 200 within a desired temperature range of about 390°C to about 460°C and preferably closer to 420°C to 440°C for best accurac If sensor 200 is not substantially within at least t larger of the above temperature ranges, inaccurate measurements can result. Prior to a measurement, sensor 200 is purged to restore its electrical outpu signal to its equilibrium level, i.e., a level sub¬ stantially corresponding to zero percent alcohol concentration. This is accomplished under program control by microprocessor 160 which energizes heater 202 with a pulsed signal as required to raise sensor 200 to a temperature which is significantly higher than 460°C for a time sufficient to cause any alcoho o_»»Other impurities adsorbed on the surface of senso 200 to be oxidized and desorbed therefrom. This process is referred to as "purging" sensor 200.

Provision for determining the continuity o heater 202 and its connections to control module 2 a also provided by circuit 49. It can be appreciated that because line HTR2 106 is switched by transistor 237 that a signal having an A.C. component will be

present across line HTR2 106 and ground 67. At circuit 238, that signal is applied to a series capac itor 243 to block any D.C. component thereof and any negative-going portion of the waveform is clipped off by a parallel diode 244 and half-wave rectifier 245.

The anode of rectifier 245 is connected to one side o a D.C. storage capacitor 246 the other side of which is connected to ground 67. The voltage across capaci tor 246 is limited to about 4.7 volts by a Zener diod 247 and is applied to a heater sensing line HSN 248. It can be appreciated from the foregoing that when heater 202 is continuous (i.e., not open circuited) and is being continuously pulsed by way of line HTR2 106, that a D.C. voltage will normally appear across capacitor 246 and on line HSN 248. In the event heater 202 burns out or becomes discon¬ nected, or if transistor 237 shorts or becomes open circuited, the D.C. voltage appearing across capacit 246 will drop. This voltage drop can be sensed by microprocessor 160 by way of the analog interface portion of circuit 49 which will be described below. The analog interface portion of circuit 49 provides three multiplexed channels for converting analog information to digital form and communicating i to microprocessor 160. For this purpose an eight into one multiplexer (MUX) 250 having three active inputs designated X0, XI and X3 and a single output

designated X is provided. MUX 250 may suitably comprise a device such as part number CD4093BCN manufactured by National Semiconductor. Microproces sor 160 selects a given one of channels X0-X3 by way of lines AD1 96 and AD2 97 which are connected to MU 250 at its channel select inputs A and B respectivel A third channel select input (C) of MUX 250 is tied ground 67. Depending on which of channels X0-X3 is selected by microprocessor 160, the corresponding analog signal appears at the output, X of MUX 250 on line 251 that is connected to the VI input of a serial analog to digital converter (A/D) 253. A/D 2 converts the analog signal to serial digital form which is carried to microprocessor 160 by way of lin AD5 99. A/D 253 may suitably comprise a device such as part number ADC0831CCN also made by National Semiconductor.

Lines AD4 98 and AD6 94 emanating from microprocessor 160 are connected to A/D 253 and serv as * chip select and clock lines respectively. A 2.5 volt reference signal is applied to a VI~ input of A 253 by way of a line 255 while a 1.5 volt reference signal is applied to a reference input, V of A/D 253 by way of a line 256. The 2.5 volt reference on line 255 is developed at the anode of a Zener diode

258 which is connected to supply V __.. τ 62 by way of

MAIN resistor 259. The 1.5 volt reference on line 256 is

developed by way of a voltage divider defined by precision resistors 260 and 261. The 1.5V reference is applied to a buffer 262 whose output is connected to line 256 as shown. Channel X0 of MUX 250 is used to carry the output signal of alcohol sensor 200 which appears at the output of a feedback amplifier 265 whose nonin- verting input is tied to the 2.5 volt reference appearing on line 255 and whose inverting input is tied to pin 13-5 of connector 13 by way of sensor li 206. As can be seen clearly in Fig. 9, sensor line 206 carries the output of alcohol sensor 200. By further inspection of Figs. 8 and 9 it can be apprec ated that calibration potentiometer 205 is connected by way of FBK line 204 in a feedback path between th output of amplifier 265 and its inverting input. Th analog voltage appearing at channel X0 on line FBK 1 is approximated by the expression:

V SENSOR = 2.5 ÷ KC where K represents a constant and C represents the concentration of alcohol. The 2.5 term is cancelled by A/D 253 owing to the connection of line 255 to th 2.5 volt reference. In order to set the constant K unity, calibration potentiometer is adjusted until t digital output of A/D 253 corresponds to a value of

100 when sensor 200 is exposed to a gas source havin a known concentration of ethanol corresponding to .1

gram percent BAC (.1 grams of alcohol per 100 millil ters of blood) .

Channel XI of MUX 250 is used to monitor t voltage appearing at V Q 61. This is accomplishe by tying supply V " AN OD E 61 to a voltage divider com¬ prising precision resistor 267 (36.5K ohm plus or minus 1%) and resistor 268 (12.IK ohm plus or minus 1%) . The junction of resistors 267 and 268 are applied to a buffer 270 whose output is tied directl to the XI channel input of MUX 250. Thus, whenever channel XI of MUX 250 is selected by microprocessor 160, the digital value output to microprocessor 160 way of line AD5 99 will correspond to the voltage a ' ; . appearing at supply V AN0DE 61. Channel XI of MUX 25 is used to sense the voltage appearing at supply

A

V ANODE 61 f ° r flVe P ur ses -

First, when interlock 1 is initially installed in a vehicle the vehicle is started and ,.„--._, 61 is read by microprocessor 160 and a ANODE J e threshold voltage value, RUNVLT which is slightly lower than the value read at V A,„N Λ O.D_E 61 is stored in memory. During subsequent normal operation of inter lock 1, RUNVLT is periodically compared with the present sensed voltage at V__ TΛT __, 61. If the sensed ^ * ANODE voltage at V AN0DE 61 is greater than the stored RUNV value and IGN 70 is high, microprocessor 160 decides that the vehicle is running. Otherwise, the vehicle

is assumed to be not running. V AM ODE 61 is also sensed by microprocessor 160 for a third purpose. When the vehicle is not running and a predetermined voltage drop appears at v ANODE 61, microprocessor 160 powers up interlock 1 just as though POWER push butto 19 had been pressed. The sensed voltage drop is caused by the automatic turning on of the vehicle dom light or other vehicle accessories upon opening the vehicle's door. By powering up immediately upon opening the vehicle door rather than waiting for the operator to push POWER push button 19, the wait for interlock 1 to prepare itself for a test is reduced for the convenience of the operator/test subject. A s" ' • ' '. fourth purpose for sensing v ANODE 61 is to ensure tha -it adequate voltag .^is present during the BOOT UP state to permit accurate reading of any jumper straps present on header 173. This will become more clear i light of the description of the BOOT UP state illus¬ trated in Fig. 15. v " A,.N.O-D--E. 61 is also sensed to determine whether the supply voltage remains within acceptable limits. This function is described in further detail later in connection with Fig. 31. To monitor heater 202, line HSN 248 is applied to the inverting input of a comparator 272 whose other input is tied to the 1.5 volt reference appearing at the output of buffer 262. The output o comparator 272 is tied directly to the channel X3

input of MUX 250. In the event that heater 202 burn out or becomes open circuited or transistor 237 shor out or becomes open circuited, the voltage appearing on line HSN 248 will fall below 1.5 volts. This wil cause the output of comparator 272 to assume a logic high value which can be sensed by microprocessor 160 by way of MUX 250 and A/D 253 when channel X3 of MUX 250 is selected. It should be noted that comparator 272, amp 265 and buffers 262 and 270 all are formed using a single quad op amp IC. The connection of th IC to power supply V τ 62 should be bypassed to ground 67 by way of a small capacitor (not shown) located physically adjacent the device for the purpo of improving noise immunity. Similar small grounded capacitors (also not shown) should be added adjacent MUX 250 and A/D 253 at their respective connections power supply ^^ 62. Audio Output

With additional reference now to Fig. 11 audio output 50 will now be described in further detail. Quite simply, audio output 50 includes an audio amplifier 275 having a pair of inputs. The inverting input is connected directly to ground 67 a the noninverting input is connected to microprocesso 160 by way of AOC line 65. AOC line 65 feeds a voltage divider comprising resistors 276 and 278. This voltage divider is in turn connected to the

non-grounded input of audio amplifier 275 through an A.C. coupling capacitor 277. Amplifier 275 may suit¬ ably comprise an integrated circuit audio amplifier such as part No. LM386N manufactured by National Semiconductor. Amplifier has its output connected by way of a capacitor 279 to beeper 8 which may suitably comprise a small 8 ohm speaker. Pin 6 of amplifier 275 is connected to power supply V 63 which is shunted to ground by way of a capacitor 280 while pin 7 of amplifier 275 is connected to ground 67 by way o a capacitor 281 and pin 4 is connected directly to ground 67. As can be appreciated from the foregoing description, .the sound generated by beeper 8 is determined by the manner in which microprocessor 160 pulses AOC line 65. Thus, microprocessor 160 can cause beeper 8 to produce a variety of audibly dis¬ tinctive tones or tone sequences to provide audible signals to a user of interlock 1.

This concludes the description of the hardware and basic electrical operation of sobriety interlock 1. Before proceeding to consider the software and further details of the operation of interlock 1 in detail it is appropriate now to con¬ sider remote service devices 55 and 56. REMOTE SERVICE DEVICES

To facilitate installation and periodic service of interlock 1 it is convenient to provide o

or more remote service devices capable of communi¬ cating with interlock 1 in order to perform a number of functions including: a) setting a service reminder timer (the current value of which is hereinafter specified according to the parameter TIME) ; b) reading the service reminder timer, TIME; c) reading and/or storing the run voltag threshold value, RUNVLT which, as previously noted i periodically compared with a representation of the current voltage at V 61 as part of the procedur for determining whether the vehicle is actually running; d) reading out a stored record indicatin events when the vehicle was started by bypassing interlock 1; and e) clearing recorded bypass events. According to the preferred embodiment described herein, the service reminder timer, TIME i a timer implemented in software which measures real time upon being decremented at one day intervals. TIME is initially set or is reset to equal a desired number of days measured from the present day when servicing of sobriety interlock 1 is due. If an optional grace period for obtaining service is to be provided, the length of the grace period in days is

added to the aforementioned number of days. The operation of sobriety interlock 1 as TIME decrements to various predetermined values will be described in further detail hereinafter particularly with referenc to Figs. 14, 17 and 28.

As noted earlier, the term "bypass event" refers to any occurrence whereupon the vehicle or other machine to which a sobriety interlock is con¬ nected is started without satisfying one or more preconditions the interlock normally requires to be satisfied before it will permit the vehicle to be started. For example, a bypass event occurs if the vehicle is initially started without at least a substantially contemporaneous breath sobriety test being passed. A bypass event is also deemed to occur where, after running for some time, the vehicle stall or is turned off and is subsequently restarted withou a retest after at least one predetermined time limit has expired. Where, as in the case of the preferred embodiment described herein, the sobriety interlock imposes one or more additional preconditions to starting the vehicle, such as requiring the opera¬ tor/test subject to identify himself or herself as a designated individual, a bypass event optionally can e and preferably is recorded when the vehicle is started without such additional preconditions also being satisfied.

The record of bypass events, at a minimum, indicates that a bypass event has occurred. Prefer¬ ably, the record includes additional useful informa¬ tion such as the total number of bypass events occur ring since a specified time (such as when interlock was last installed or serviced) . That parameter is hereinafter referred to as TOTBYP. It is also desir able for the record to indicate the day(s) during which at least one bypass event occurred. Such days are conveniently specified in terms of a parameter, DAY, the value of which equals the value of the service reminder timer, TIME that was current as of when the bypass event was detected. The record also preferably specifies the number (designated herein- after by the parameter NUMBER) of separate bypass events detected during each recorded DAY. Each NUMB value is preferably stored and read in association with its corresponding DAY value in the form of a DAY/NUMBER couplet. „ in addition to together serving the func¬ tions listed above either or both remote service devices 55, 56 can be endowed with the ability to perform diagnostics or other ancillary functions not related to the present invention. Since it is unde- sirable to permit persons other than trained author¬ ized service personnel to tamper with the above

functions, possession of remote service devices shoul be limited to authorized personnel. First Remote Service Device

As indicated in Fig. 2, first remote servic device 55 is connectable to the female receptacle 13 in the front panel 6 of control module 2 when samplin head 3 is disconnected therefrom. Remote service device 1 includes a female receptacle 285 identical t the receptacle 37 associated with sampling head 3 so that first remote service device 55 can be connected to control module 2 using cable 4. First remote service device 55 consists of a code generator that generates a code on line PSW 102 identifiable by microprocessor 160. Because it is characteristic of remote service device 55, this code shall be referre to as the "RSD 55 signature". When microprocessor 1 recognizes the RSD 55 signature appearing on line PS 102 and MODE push button 21 is pressed, microprocess 160 enters a restricted access state which shall be referred to as "Si". In the Si state, the MODE, POW and MUTE push buttons 19, 20 and 21 together with display 22 can be used to reset the service reminder timer to one of several available settings such as 9 67 or 37 days (depending on when the next service is desired) as well as to cause microprocessor 160 to read and store a run voltage checking threshold, RUNVLT. During subsequent operation of interlock 1,

the vehicle will be assumed to be running whenever I line 70 is high and the voltage appearing at V is greater than the stored run voltage threshold RUNVLT. Operation of interlock 1 in the SI state wi be described in further detail in connection with th interlock software and operational description which follows somewhat later. Second Remote Service Device

With additional reference now to Fig. 12 a well as Figs. 2, 5 and 6, second remote service devi 56 will now be described in further detail. Second remote service device 56 includes a power supply 287 which may be either fully self-contained or adapted for connection to an A.C. source by way of a grounde line cord 288. Power supply 287 produces a regulate +5 Volt output that is connected to an audio output section 290 that is constructed and operates in a fashion analogous to audio output 50 previously described in connection with Fig. 11. Control of audio output 290 is effected by a microprocessor 291 by way of an audio control line ACL 292. Micropro¬ cessor 291, which may suitably comprise a Hitachi pa number HD637B05VOP, is connected to power supply 287 by way of a power switch 294 as is a control panel 2 and audio output section 290. Control panel 295 includes an alphanumeric liquid crystal display 298, FUNCTION push button 299, a RUN/CL push button 300,

SELECT push button 301, and an error indicator LED 302.

Communication between control panel 295 and microprocessor 291 are effected by way of a communica tion bus 305 whereas communication between second remote interface device 56 and interlock 1 are effected by way of a cable 307 (Fig. 2) which connect the female receptacle 9 of remote interface 47 with identical female receptacle 308. It will be recalle that receptacle 9 includes 6 pins designated 9a through 9f. In a like manner, connector 308 include 6 corresponding pins designated 308-a through 308-f. Pins 308-c and 308-e carry ground 67 to which each o power supply 287, audio output 290, microprocessor 291, and control.panel 295 are all referenced.

Microprocessor 291 is connected to pins 308-a, 308-b, 308-d, and 308-f by way of lines designated IGN 1 309,

SRS' 310, SCL' 311 and RST* 312 respectively. Those lines are connected by way of cable 307 and remote interface 47 to lines IGN 70, line SRS 74, line SCL and line RST 73. Line IGN 1 309 is used to carry communications from microprocessor 291 to microproce sor 160 while communications from microprocessor 160 to microprocessor 291 are carried by way of line SCL 311. Line RST 1 312 is used by microprocessor 291 to effect a hardware reset of microprocessor 160 while line SRS' 310 carries the unique, encoded interlock

signature signal which, as mentioned earlier, iden¬ tifies interlock 1.

Having described the hardware associated with second remote service device 56, its software a further details of its operation will now be describ with reference to Figs. 13A through 13F.

Second Remote Service Device Software and Operational Description

Referring initially to Fig. 13A, micropro- cessor 291 enters a BOOT UP state upon closure of power switch 294. In BOOT UP, microprocessor 291 clears all necessary random access memory (RAM) and sets the data directions of the I/O lines associated with bus 305 as well as lines 309 through 312 and AC line 292. Display 298 is then initialized and the current software state, i.e., BOOT UP, is changed to the READTIME stage to be described below with refer¬ ence to Fig. 13B. In the flowcharts, the abbreviati "CCST" is used to indicate "change current state to: Foar instance, the last block of Fig. 13A indicates that the BOOT UP state changes to the READTIME state at that point.

With attention now to Fig. 13B the READTIM state, like all operational states to be described i initiated by the sounding of a distinctive "confirm" tone by way of audio output 290. This tone is initi ated by microprocessor 291 which controls audio outp

290 by way of ACL line 292. Microprocessor 291 then causes a mnenonic such as the word "READTIME" to appear on display 298 as an indication that second remote service device 56 is prepared to read the current value of the service reminder timer from microprocessor 160. If a service person desires to perform some other function, such as setting the service reminder timer to a desired number of days, function button 299 is pressed whereupon microproces- sor 291 enters the SETTIME state to be described belo with reference to Fig. 13C. Otherwise, RUN/CL push button 300 is actuated causing microprocessor 291 to read line SRS' 310. When second remote service devic 56 is properly connected to an operational interlock 1, a coded signature signal generated by microproces¬ sor 160 and recognizable by microprocessor 291 will appear on line SRS' 310. If the signature is not recognized the program jumps to an error subroutine, CONERR, which will be described later in connection wi_th Fig. 13F. For the present it is sufficient to note that CONERR provides an indication that device 5 is not properly connected to an operational sobriety interlock 1. Once the signature is recognized, a request for the current value of the service reminde timer is requested by microprocessor 291 by way of line IGN* 309. In response to the request, micropro cessor 160 transmits a communication which includes

series of bits representing the TIME value as well a a command word. Upon receipt of this communication, microprocessor 291 performs a validity check by comparing the command word with a stored list of commands to be sure it corresponds to a valid comman A parity check or other desired checks may also be performed. If the communication is valid the curren value service reminder timer, TIME is displayed on display 298. TIME is an integer value representing the number of days remaining until TIME equals zero. In the event the command word is not recognized or a parity error occurs, a second error subroutine, COMMERR, is entered. COMMERR, which will also be described further with reference to Fig. 13F, serves to indicate a communication error has occurred.

Assuming that COMMERR is not entered, repeated press ing of the RUN/CL push button 300 will cause the abo steps to be repeated whereas pressing of FUNCTION pu button 299 will cause second remote service device 5 to*enter the SETTIME state wherein the value of the service reminder timer, TIME of microprocessor 160 c be set to any integer value from zero to 255 days.

Referring now to Fig. 13C the SETTIME stat is described in further detail. Audio output 290 is caused to sound the distinctive "confirm" tone and display 298 displays a mnenonic such as "SETTIME". Microprocessor 291 then loads a buffer, BUFFTIME wit

an initial value such as 0 days. In the event FUNC¬ TION push button 299 is pressed, microprocessor 291 enters a state designated READBYP which enables service personnel to read from the memory of interloc l a table of data which indicates each day during which a given number of bypass events occurred. The READBYP state permits service personnel to read the total number, TOTBYP, of bypass events detected since the service reminder timer was last reset. READBYP also permits reading of all recorded DAY/NUMBER couplets which, as previously noted indicate each day (with reference to service reminder timer, TIME) , during which at least one bypass event was detected a well as the number of separate bypass events detected on each given day. The READBYP state will be described in further detail shortly hereinafter with reference to Fig. 13D.

Continuing with the description of the SETTIME state illustrated in Fig. 13C, microprocesso 2SU. awaits pressing of FUNCTION push button 299 or

RUN/CL push button 300. Provided that RUN/CL button 300 rather than FUNCTION button 299 is pressed, microprocessor 299 reads line SRS 1 310 for the chara teristic signature of interlock 1 and checks the validity of the signature in the manner previously described. If the signature does not appear or appears invalid, the CONNERR subroutine (Fig. 13F) i

entered. The service person can then adjust the day value stored in the above mentioned buffer, BUFFTIME in increments of either 1 or 10 days by momentarily pressing or holding, respectively SELECT push button 301. As the EUFFTIME is incremented its updated val is continuously displayed by way of display 298. The service person increments the buffer until display 29 displays the number of days to which the service reminder timer TIME of interlock 1 is desired to be set. If the function push button 299 is pressed at this time, operation in the READBYP state will com¬ mence and the value of the service reminder timer wi remain unchanged. That is, the TIME value previousl read in the READTIME state rather than BUFFTIME will indicate the current value of the service reminder timer. To change the value of the service reminder timer, TIME to the BUFFTIME value appearing on displa 298, RUN/CL push button 300 is pressed whereupon the contents of the BUFFTIME buffer are transmitted to th service reminder timer of microprocessor 160 by way o line IGN' 309 whereupon microprocessor 160 sets the service reminder timer equal to the number of days appearing on display 298. Microprocessor 160 acknowl edges receipt of the updated TIME value by transmit- ting an acknowledgement which is received by micropr cessor 291 by way of line SCL 1 311. Microprocessor 291 then checks the validity of the acknowledgement

communication. If the communication is not valid the COMMERR subroutine is entered. Otherwise, display 29 displays the word "SET" to indicate that the service reminder timer, TIME has actually been set to a new value. Pressing of the RUN/CL push button 300 will cause the above steps to be repeated whereas pressing of FUNCTION push button 299 will cause second remote service device 56 to enter the READBYP state.

With reference now to Fig. 13D, entry of th READBYP state commences with sounding of the "confir tone by audio output 290 and display of a mnenonic such as "READBYP" on display 298 to indicate to the service personnel that second remote service device 5 is prepared to fetch the record of bypass events and to display that record by way of display 298. If FUNCTION push button 299 is pressed at this time, second remote service device 56 will enter a RESETT state to be described with reference to Fig. 13E. Alternatively, pressing of RUN/CL 300 causes micropr cessor 291 to read line SCL 1 311 checking for the presence of the aforementioned interlock signature signal thereon. If the signature does not appear or appears invalid, the error subroutine is entered. Assuming a valid signature is recognized, microproce sor 291 sets a "safety" flag in its memory. As will be more fully appreciated in connection with the description of the RESETT state (Fig. 13E) the

"safety" flag serves to prevent clearing the memory recorded bypass events unless those bypass events ha previously been read from memory. Microprocessor 29 then transmits a command to microprocessor 160 requesting the value designated as TOTBYP which, it will be recalled, is an integer value specifying the total number of bypass events recorded since the memory of interlock 1 was last cleared of any previ¬ ously recorded bypass events. Upon receipt of the TOTBYP data which is transmitted by microprocessor 16 together with the appropriate command word, micropro cessor 291 checks the validity of the communication the manner previously described. If the communicati is valid, the current value of TOTBYP is displayed o display 298. Otherwise, the COMMERR subroutine is entered. Microprocessor 291 then awaits actuation o either FUNCTION button 299 or RUN/CL button 300. If FUNCTION button 299 is pressed the RESETT state is entered whereas if the RUN/CL button 300 is pressed, microprocessor 291 determines whether TOTBYP equals zero or not. If TOTBYP equals zero, the above steps are repeated until, in normal operation, function button 299 is eventually actuated. If TOTBYP is greater than zero microprocessor 291 transmits a command to microprocessor 160 requesting transmissio of the oldest remaining DAY/NUMBER couplets of data

identifying bypass events which have been stored by microprocessor 160 in EEPROM 195.

As noted earlier, each couplet consists of pair of integer values the first of which specifies the day when one or more bypass events occurred. Th day is identified by an integer value representing t value of the service reminder timer, TIME as of the time the bypass event occurred. The TIME value can easily correlated to a calendar day simply by refer- ring to service records which indicate the date upon which the service reminder timer was last reset as well as the number of days to which it was reset. F example, if it is determined that the service remind timer was set to a value of 37 on September 1 and a couplet of data indicates that two bypass events occurred on day TIME equals 33, the calendar date of those occurrences can readily be identified as Septe ber 5. The second integer value making up each couplet identifies the number of separately identifi bjspass events that occurred on the corresponding day Thus, the total number of bypass events occurring ov all recorded days should equal the value of TOTBYP previously displayed.

Each DAY/NUMBER couplet is received by microprocessor 291 together with a command the vali ty of which is checked in the manner previously described. Provided the command is valid, the valu

TOTBYP is decremented by the NUMBER portion of the couplet most recently received and that couplet is displayed on display 298 and manually entered into a permanent service log. When the service person is ready to read the next couplet, the RUN/CL push butt 300 is pressed and the updated value of TOTBYP is again read. If TOTBYP is still greater than zero th next couplet of stored information is read and dis¬ played in the manner just described. When all store couplets have been read, TOTBYP will decrement to ze whereupon subsequent actuations of RUN/CL push butto 300 will normally cause the program to loop back as indicated. Pushing FUNCTION button 299 causes micro processor 291 to enter the RESETT state which will n be described with reference to Fig. 13E.

The RESETT state commences operation with the sounding of the "confirm" tone and the display o a mnenonic such as "RESETT" to indicate that second remote service device 56 is prepared to clear all recorded couplets of bypass events from the memory o interlock 1. This procedure is normally undertaken the time interlock 1 is initially installed as well each time periodic service checks are performed. Pressing of function button 299 will cause micropro- cessor 291 to commence operation in the READTIME sta previously described with reference to Fig. 13A. Pressing of the RUN/CL button 300 causes

microprocessor 291 to scan line SRS 1 310 for the presence of the interlock signature signal generated by microprocessor 160. If that signature does not appear correctly, the CONNERR subroutine will be entered. Assuming on the other hand that the validi of the signature signal is confirmed, the status of the "safety" flag is checked. If the "safety" flag has not been set, this indicates that the stored couplets have not been read out previously and there fore should not be deleted. In that case, a subrou¬ tine RSTERR to be described with reference to Fig. 1 is entered. On the other hand if the "safety" flag was set, the "safety" flag is cleared and a reset command is transmitted to microprocessor 160. Upon receipt of the reset command, microprocessor 160 causes EEPROM 195 to be reset in a manner which will be more thoroughly explained in connection with the operational and software description of sobriety interlock 1. For the present, it is sufficient to note that this reset is effective to clear EEPROM 19 of all previously stored couplets. After the reset command has been generated by microprocessor 291, display 298 displays a mnenonic such as "RESET" indicating that the reset function has been complet Subsequent pressing of RUN/CL button 300 is effecti to repeat the above steps while pressing a function

button 299 shifts operation to the READTIME state previously discussed.

With reference now to Fig. 13F the three error subroutines referred to above will now be 5 described. Subroutine CONERR indicates that second remote service device 56 is not properly connected t an operational sobriety interlock 1. Upon entering this subroutine, display 298 displays "CONNECT" or a similar message to indicate the nature of the error 1° service personnel. Subsequently the "safety" flag i cleared. Attention is called to the error by the lighting of error LED 302 as well as by the sounding

> of a distinctive "error" tone over audio output 290.

To turn LED 302 off, the service person presses RUN/ 15 push button 300 whereupon the program returns.

Subroutine COMMERR indicates that a commu¬ nication error of some type has taken place between sobriety interlock 1 and second remote service devic 56. The nature of the error is indicated to service 20 personnel by displaying COMMERR or a similar message upon display 298. The remainder of the subroutine operates identically to the CONEPR routine just described except that the "safety" flag is not cleared. 25 Subroutine RSTERR is entered from the RESE state described above if the "safety" flag has not been set before the RUN/CL push button on 300 is

pressed. As noted above, this indicates that the service person is attempting to clear recorded coup¬ lets without first having displayed those couplets. Accordingly, display 298 shows "WARNING" or a similar message. Otherwise, this subroutine operates the sam as subroutine COMMERR described above.

SOBRIETY INTERLOCK SOFTWARE AND OPERATIONAL DESCRIPTION

Having described the configuration and basi electrical operation of the hardware of sobriety interlock 1 as well as the hardware and software of first and second remote service devices 55 and 56, t software and further details of the operation of sobriety interlock 1 will now be considered.

Fig. 14 is a software state diagram wherei the overall operation of interlock 1 is illustrated terms of a series of transitions between a number of software-defined states. A BOOT UP state is entered upon initial connection of electrical power to sobri ety interlock 1 or at any subsequent time a hardware reset .occurs. As noted previously, a hardware reset occurs whenever an appropriate logic signal is appli to microprocessor 160 by way of RST line 73 as may b affected for example by voltage regulator 145 in the manner previously explained with reference to Fig. 4 The BOOT UP state, whose details will be explained further with reference to Fig. 15, initializes micro processor 160 for operation. Within the first 4

seconds of operation, if microprocessor 160 senses second remote service device 56 connected to remote interface 47 a restricted access state, S2, is entered. Connection of a remote service device is sensed by microprocessor 160 though the appearance a characteristic by encrypted RSD 56 signature sign which is periodically output by second remote servi device 56 by way of line IGN' 309. The S2 state, which will be described in further detail with refe ence to Fig. 26, permits reading and setting of the service reminder timer as well as reading and clear of all recorded bypass events by use of second remo service device 56 in the manner previously explaine with reference to Fig. 13. For security purposes as well as safety, the S2 state can only be entered within the first 4 seconds of operation of interlock

1. Access to the S2 state is further restricted by requiring connection of service remote service devic

56 which are possessed only by authorized service personnel. After 4 seconds have elapsed without interlock 1 sensing connection of a second remote service device 56, operation normally proceeds to th PURGE state which will be described further in con¬ nection with Fig. 16. A major function of the PURGE state is to prepare alcohol sensor 200 for breath testing by "purging" it with heat applied by heater 202 in the

manner previously explained with reference to Figs. 8 and 9. Upon completion of the purging process, operation in the READY state commences.

A principal function of the READY state is to sense commencement of delivery of a breath sample as indicated for example in the present embodiment by closure of pressure switch 208. Of course, breath flow could be sensed by alternative means such as means directly responsive to indicate delivery of a given flow rate or volume of breath. After closure o pressure switch 208 is sensed, to determine whether a stable baseline is present. That function is accom¬ plished by means of a subroutine CHKSTABLE which wil be explained later with reference to Fig. 33. If th

. *'l baseline signal is not stabie, the PURGE state is re entered. Otherwise, operation in a state referred t as BLOW, to be described further with reference to • Fig. 18, commences. Among other functions, the BLOW state serves to ensure delivery of a deep lung breat sample by requiring that breath be delivered at a fl rate at least sufficient to keep pressure switch 208 open for a predetermined minimum time period such as 4.5 seconds. If that condition is not met, the brea test is aborted and operation in the PURGE state is resumed. Of course, a deep lung sample can be ensur in other ways such as measuring the volume by inte¬ grating one or more flow-related signals over time o

summing a series of timed flow measurements. Provi that a deep lung breath sample has been obtained, t output of alcohol sensor 200 is read and blood alco concentration (BAC) is computed. If the BAC level is greater than or equal a predetermined FAIL limit, a demerit timer, DMT, i incremented by some value such as 5 minutes and its current value read. The demerit timer, DMT, define the means by which the number of times a person can attempt to pass the alcohol measuring and identi¬ fication phases of a test within a given period of time is limited. More specifically, timer DMT com¬ prises a software timer that continuously counts do toward zero but which is incremented by a predete ' r- mined amount of time whenever a BAC measurement is found to be greater than or equal to the predetermi FAIL level as well as whenever an operator/test subject fails to identify himself or herself by correctly performing the identity-confirming act discussed earlier. If the setting of demerit timer DMT exceeds a predetermined threshold value after being incremented, interlock 1 commences operation a DEMERIT LOCKOUT state as will be further explaine with reference to Fig. 24. In one preferred form, once the predeter¬ mined threshold of timer DMT is met or exceeded (by any amount) upon updating DMT, DMT is re-updated to

define a maximum time limit, the entirety of which must expire before a new test can be passed. Alterna tively, the DMT could simply be decremented from its current value such that after the threshold was exceeded upon updating, DMT would run down from its updated value. The predetermined threshold may be se to any desired time value such as 10 minutes for example. A principal function of the DEMERIT LOCKOUT state is to prevent interlock 1 from permitting any further tests until the demerit timer DMT times out. For example, where the threshold value is set at 10 minutes and 5 minutes are added each time DMT is incremented, once a person fails a test three times i rapid succession, demerit timer DMT would be updated to a total of 15 minutes so that taking further tests would be disabled for a corresponding amount of time. Of course, if desired, the amount of time added to t demerit timer as well as the time limit at which the DEMERIT LOCKOUT state will be entered and the maximu ti»e limit (if one is used) can all be varied to achieve longer or shorter lockout periods as may be desired. Once the demerit timer counts down to zero, operation in the PURGE state iε resumed in order to prepare interlock 1 for a new test. If the BAC FAIL level is met or exceeded but the demerit timer DMT i less than or equal to 10 minutes a DISPLAY state is entered. As its name indicates, the principal

function of the DISPLAY state is to inform the opera tor of the result of the test. This is accomplished by the bar graph display 22 associated with operator interface 15 as well as with audible indications sounded by beeper 8.

After the alcohol measurement phase of the test, the operator/test subject may optionally be required to identify himself as a precondition to starting the vehicle. Preferably this is accomplish by requiring the operator to perform an identity- confirming act. An ID state embodying one form of a identity-confirming act is described in further deta later with reference to Fig. 19. The ID state is entered after the alcohol measurement phase of the test has been completed provided the measured BAC level falls below the F&IL limit.

An important aspect of the ID state contem plated by the invention is that the output of breath alcohol sensor 200 is monitored during the time when seasor 200 is exposed to breath delivered as part of the identity-confirming act. Should the output of sensor 200 significantly exceed its output at the ti sensor 200 was read in the BLOW state, demerit timer DMT is incremented and tested in the manner just described. If the incremented value of the demerit timer does not meet or exceed a predetermined time limit, such as 10 minutes, the PURGE state is entere

to prepare interlock 1 for a repeat test. If however demerit timer DMT meets or exceeds the predetermined time limit, the DEMERIT LOCKOUT state is entered. Th purpose of reading the output of alcohol sensor 200 during the identification phase with the prior readin from which the BAC level was calculated is to help ensure that the identity-confirming act is performed by the same individual that delivered the breath sample whose alcohol content was measured to determin BAC. It can be appreciated for example that if a sober person delivers a breath sample resulting in a BAC reading below the FAIL limit and, by some decep¬ tive means, the identity-confirming act is attempted by an individual whose breath alcohol level is elevated relative to the prior reading, the subterfu will be detected and starting the vehicle prevented unless a subsequent test can be permitted to proceed either directly or after a substantial delay imposed by way of the DEMERIT LOCKOUT state. If the identit confirming act is not correctly performed, the demer timer, DMT is incremented and the DEMERIT LOCKOUT state is entered if the incremented value of DMT mee or exceeds its predetermined threshold. Assuming th the identity-confirming act is correctly performed a the output of alcohol sensor 200 during the ID phase of the test does not rise significantly above the

level from which BAC was determined, a transition fr the ID state to the DISPLAY state takes place.

In the DISPLAY state, the BAC reading is compared with the FAIL limit as well as with a lower WARN limit. If the FAIL limit is not met or exceede a RUN state can then be entered. As will be explain further in connection with Fig. 21, the RUN state allows the vehicle to be started initially as well a restarted without a subsequent test under certain conditions in the event the vehicle stalls or is momentarily turned off. If the BAC reading is less than the FAIL limit but greater than or equal to the WARN limit, a cautionary WARN indication is provided wherein one or more yellow LEDs 27, 28, and/or 29 on bar graph display 22 is lighted and a distinctive

"warn" tone sounded by beeper 8. However, when a WA indication is given, the RUN state is entered only i the operator presses MUTE button 20 within a predete mined period of time, such as 60 seconds, to acknow- ledge his or her awareness that significant alcohol has been detected and that discretion should be used in deciding whether or not it is appropriate to driv If the WARN condition is not acknowledged by timely actuation of MUTE button 20, the PURGE state rather than the RUN state is entered. As will be explained further, in the event an operator elects to drive after receiving and acknowledging a WARN indication.

it is preferable that interlock 1 require a retest within a predetermined period of time; for example 20 minutes. This optional retest requirement will be discussed in further detail with reference to Fig. 21 If the vehicle is turned off or stalls, interlock 1 allows the vehicle to be started without new test within the lesser of two time periods defin by an ignition timer IGNTMR and a voltage timer VLTTMR. Whenever the vehicle ignition is turned off, as sensed by microprocessor 160 by way of ignition line IGN 70, timer IGNTMR begins counting down to define a predetermined period, such as one minute, during which the vehicle can be started without requiring a new test. Similarly, software timer VLTTMR begins counting 3 down whenever VA_-N τ O_D_E_ 61 falls below a predetermined voltage threshold value, RUNVL previously stored in memory 195 at the time sobriety interlock 1 was installed. Whenever either IGNTMR o VLTTMR times out, a new test must be passed to start tHe vehicle again. Prior to a new test alcohol sens 200 must be purged. If alcohol sensor 200 has alrea been purged, operation in the READY state resumes. Otherwise, the PURGE state is entered.

With continuing reference to Fig. 14 the STANDBY state will now be introduced. The STANDBY state, which serves several functions, is entered fr the PURGE state whenever pressure switch 208 is clos

or a fault associated with sampling head 3 is detected. It will be recalled that the latter condi tion is sensed by microprocessor 160 by way of the heater control/sensing circuit 238 portion of heater circuit 49 as well as by checking alcohol sensor 200 for the absence of an output signal. The STANDBY state is also entered from the READY state in the event of a fault in sampling head 3 as well as in th event of a number of other conditions. These includ pressing POWER push button 19, the timing out of a power down timer, PDT indicating a prolonged period nonuse as well as sensing power supply V 61 to outside a predetermined voltage range. In addition, if interlock 1 is in the READY state and a person attempts to start the vehicle by closing ignition contacts 119, IGN line 70 will go active whereupon microprocessor 160 will cause the STANDBY state to b entered. In the STANDBY state, power consumption is reduced to conserve vehicle battery 108. This is accomplished by keeping power supply V 63 and thus w the circuitry it feeds, turned off most of the time. Periodically however, microprocessor 160 turns V 6 on just long enough to effect purging of alcohol sensor 200. It has been found that this avoids degradation in the performance of sensor 200 that might otherwise occur. Once the STANDBY state has been entered, subsequent pressing of POWER push butt

19 or automatic sensing of the opening of the vehicl door will result reentry of the PURGE state provided the service reminder timer, TIME has not timed out.

Once the service reminder timer TIME count down to zero, one aspect of the invention contemplat that a SERVICE REMINDER LOCKOUT state be entered. Once this state is entered, the vehicle cannot be started until authorized service is obtained and the service reminder timer, TIME, is reset to a nonzero value. As can be seen by inspection of Fig. 14, so long as TIME equals zero, it is not possible to reac the RUN state. While pressing POWER push button 19 the SERVICE REMINDER LOCKOUT state causes the STANDB state to be reentered, operation reverts to the SERVICE REMINDER LOCKOUT state so long as TIME equal zero. Likewise, operation reverts to the SERVICE REMINDER LOCKOUT state from the READY state rather than proceeding to the BLOW state whenever the servi reminder timer TIME has timed out. This helps to enβure that proper servicing of interlock 1 will be obtained as scheduled. If it is not the vehicle cannot be driven. As previously noted, service reminder timer, TIME, can be reset and operability o the vehicle restored using first remote service dev 55.

Where use of interlock 1 is voluntary rat than compelled in some manner, the SERVICE REMINDER

LOCKOUT state can be made operable to effectively bypass sobriety interlock 1 when the service reminde timer, TIME times out. Thus, instead of disabling t vehicle in the manner just described, interlock 1 is itself disabled so as to be incapable of restricting starting of the vehicle until such time as interlock is serviced and the service reminder timer, TIME is reset. Persons are thereby compelled to have inter¬ lock 1 serviced if they wish to continue to have it restrict starting of the vehicle. During servicing, in addition to resetting the service reminder timer, TIME, interlock 1 can be checked for proper operatio and if necessary, calibrated or repaired. This help to prevent the obvious safety risk of improperly enabling the vehicle to start as well as to avoid th nuisance of having the vehicle disabled when it shou not be.

Connection of a first remote service devic 55 to the receptacle 13 on the front panel 6 of interlock 1 together with actuation of MODE push button 21 causes interlock 1 to enter a restricted access state, SI, which will be described in further detail with reference to Fig. 25. As previously not in connection with the description of first remote service device 55, entry of state SI permits a numbe of functions to be performed. Among those is the setting of the service reminder timer, TIME. It

should be noted that the SI state can be entered only from the PURGE, READY, SERVICE REMINDER LOCKOUT or DEMERIT LOCKOUT states. As in the case of state S2, access to state SI is restricted by limiting posses- sion of first remote service device 55 to authorized service personnel. As a precaution, access to state SI is also limited by a time constraint imposed by a timer S1TMR. The SI state can be voluntarily exited and the PURGE state entered by pressing MODE button 21.

Having set forth the operational relation¬ ships between the various states, the operation of sobriety interlock 1 will now be described in further depth by considering further details of each of the above mentioned states individually.

Referring now to Fig. 15, the BOOT UP state commences operation by clearing random access memory (RAM) within microprocessor 160 and by setting all I/ PORTS associated with microprocessor 160 as either inputs or outputs as required. In the event the sensed voltage at v ANODP 61 lies below a predetermin threshold, the above step ^s are rep r eated until VA__N_O Λ _D._E_

61 reaches an acceptable voltage level. Microproces sor 160 then pulls line STS 176 low and scans lines BG0 80 through BG9 89 to check for the presence of jumpers across any of the pairs of jumper posts a-j associated with header 173. As previously noted in

connection with Fig. 5, the presence of absence of a jumper strap across certain pairs of jumper posts a- causes microprocessor 160 to select software appropr ate to implement one or more optional features. it will be assumed that header 173 is strapped as required to select the identity verifica tion option previously described whereby an operator in addition to passing a breath alcohol test must al successfully pass an ID phase of the test in order t start the vehicle. As explained previously, the ID phase requires the operator to correctly perform an identity-confirming act, one version of which will b described in further detail in connection with the description of the ID state illustrated in Fig. 19. Header 173 is also strapped to select desired WARN a FAIL BAC thresholds and can be used to select such additional options as one may elect to provide.

Continuing with the description of the BOO UP state illustrated in Fig. 15, once header 173 has been read, the vehicle horn is turned off in the manner previously described in connection with Fig. Interlock relay 131 is then opened under the control of microprocessor 160 by way of ILK line 68 in the manner previously described in connection with Fig. After setting a "power interrupt" flag, microprocess 160 proceeds to read a number of parameters from EEPROM 195 and store them in RAM for subseσuent use.

It should be noted that where a control or indication action, such as opening or closing a relay or soundi or silencing a tone is called for at a particular step, that depending on previous operation, the affected component may already lie in the condition called for. In such event, no further action or change in condition is called for. For instance, if interlock relay is already open when an instruction open the relay is executed, the relay simply remains open.

The first parameter read from EEPROM 195 i the value of the service reminder timer; TIME. Like all other parameters stored in EEPROM 195, TIME comprises an 8 bit data word. However, EEPROM 195 handles words up to 16 bits in length. The remainin 8 bits of each word are loaded with the compliment o the data bits. With both the data bits and their compliment being read by microprocessor 160, micro¬ processor 160 checks the validity of each read opera t__βn by comparing the data bits of the parameter wit the other 8 bits. If those bits do not correspond t the compliment of the data bits, the read operation judged invalid and its data is not loaded. Instead, predefined default value for each parameter is store in the appropriate RAM location. In the case of service reminder timer TIME, the default value is 10 days. The next parameter read from EEPROM 195 is th

value of a 10 minute timer designated TIMIN. TIMIN a timer used to increment service reminder timer TI in order to improve its resolution. In the event TIMIN is not read validl , a default value of 144, which corresponds to 24 hours is loaded. Next, the voltage reference used as one criterion for determi ing whether the vehicle is actually running, RUNVLT read from EEPROM 195 having been previously stored there upon initial installation or servicing of interlock 1 through the use of first remote service device 55 as will be more fully explained later. A default value such as 12.87 volts is loaded in the event RUNVLT is not validly read. Demerit timer DM which was explained earlier with reference to Fig. is then read from EEPROM 195. A default value of z is used in the event of an invalid read operation. Finally, microprocessor 160 reads from EEPROM 195 t parameters relating to the record of bypass events. These are: TOTBYP, v/hich represents the total numbe of*bypass events recorded, and BYPPOINT. BYPPOINT i a pointer to the next available memory location in EEPROM 195 where a couplet of DAY/NUMBER informatio identifying one or more bypass events can be stored. TOTBYP and BYPPOINT are each loaded with default values of zero in the event either is not read validly.

In the event one or more of the above READ operations prove to be invalid, microprocessor 160 loads the proper default value into the appropriate location within EEPROM 195 in order to update it. Finally, demerit timer DMT is checked. If its value is greater than or equal to 10 minutes, microprocesso 160 changes the current state, (i.e. the BOOT UP state) to the DEMERIT LOCKOUT state. Otherwise, the PURGE state is entered. Referring now to Fig. 16, the PURGE state i illustrated. Beeper 8 sounds a distinctive "fail" tone if the PURGE state was entered as the result of failing either the BAC phase or ID phase of a previo test. In that event, bar graph display 22 displays the result of the BAC test. Otherwise, display 22 is cleared. If any invalid read operations occurred during the BOOT UP state, beeper 8 sounds a distinc¬ tive "eeprom error" tone to indicate that occurrence. In the event the PURGE state was entered as the resu of-an unstable baseline abort or as the result of a test abort, beeper 8 sounds a distinctive "abort" tone. A distinctive "powerup" tone is then sounded beeper 8, the vehicle horn is turned off and the REA LED 41 associated with sampling head 3 is turned off while indicator LED 23 is set flashing to indicate that sensor 200 is being purged. If it is not alrea opened, interlock relay 131 is opened and power supp

V 63 is turned on by way of PDC line 52 as previou ly explained with reference to Fig. 4. So that interlock 1 does not spend an inordinate amount of time attempting to purge alcohol sensor 200 in the event that its baseline signal does not stabilize, a limiting timer, PURGMAX is set to a value such as 90 seconds. Heater 202 is then energized to commence t purging operation previously described with referenc to Figs. 8 and 9. Next, a timer "ENDBLOW" is set to a prede¬ termined value such as 4 seconds. This timer serves two purposes. First, it defines the brief time wind during which restricted access state S2 can be entered. ENDBLOW also provides a time period to all the operator/test subject time to stop blowing breat This permits pressure switch 208 to open before the purging operation is significantly underway. As inspection of Fig. 16 will show, the program scans f the presence of either the RSD 55 signature and the pressing of MODE button 21 or, the presence of signa ture RSD 56 and the presence of a clear "RSD 56" fla If the former conditions are met, operation in the S state commences while if the latter conditions are met, the S2 state is entered. Once the ENDBLOW time times out, the "RSD 56" flag is set, thus precluding entry of the S2 state. If purging of sensor 200 has not commenced, purging is started and the program

loops as shown. Subsequently, if the PURGMAX timer times out, the READY state is entered regardless of the status of the baseline signal emanating from sensor 200. Otherwise, purging continues until the present purging cycle is over and a "baseline stable" flag is set. At that point, operation in the READY state commences. Setting of the "baseline stable" flag will be discussed further in connection with th CHKSTABLE subroutine of Fig. 33. If the baseline is not stable the status of the "sample head fault" fla is checked. If that flag is set, one of a number of possible faults associated with sampling head 3 is indicated and operation in the STANDBY state commenc directly. Otherwise, the STANDBY state is entered from the PURGE state only if pressure switch 208 closes. As long as pressure switch 208 does not close, operation loops back to check for the con¬ nection of remote service device 55. In normal operation, completion of an effective purge of senso 20_0 results in entry of the READY state which will n be described with reference to Fig. 17.

When the READY state is entered, the indic tor LED 23 on the front panel 6 of control module 2 stops flashing and is lighted steadily to indicate t the operator that the purging operation is complete. Similarly, READY LED 41 begins flashing to indicate that interlock 1 is ready for a test. The program

then jumps to subroutine DISPLAYFAULT which will now be described with reference to Fig. 28.

Subroutine DISPLAYFAULT commences by check ing TOTBYP. If TOTBYP exceeds zero, indicating that at least one bypass event has occurred, LED 32 is lighted to so indicate. Persons other than authoriz service personnel cannot clear TOTBYP or permanently extinguish LED 32 once it has been lighted. Accord¬ ingly service personnel will be aware immediately up a cursory visual inspection of interlock 1 that at least one bypass event has occurred. Disconnecting interlock 1 from its power source will not be effec¬ tive to erase TOTBYP since its value is stored in non-volatile memory 48. Thus, if interlock 1 is disconnected from vehicle battery 108, even if for a extended length of time, TOTBYP will be retained and LED 32 will light when power is reapplied to interlo 1. In fact, the unauthorized disconnection of power from interlock 1 is itself an event which will be detected, recorded and displayed for the benefit of service personnel. This is accomplished in part by means of a "power interrupt" flag, the setting and clearing of which will be described in further detai later. For the present purposes, it is sufficient to note that the status of the "power interrupt" fla is checked in the DISPLAYFAULT subroutine as Fig. 28

indicates. If the "power interrupt" flag is set the power interrupt LED 33 is lighted. Except for brief periods during which display 22 is serving other functions, LED 33 remains lighted until the "power interrupt" flag is cleared. As will later be apprec ated more fully, the latter function can be performe only by authorized service personnel. Thus, lightin of LED 32 indicates that since the time interlock 1 was installed or last serviced, power had been inter rupted and reapplied. Since the vehicle could have been started one or more times within that period without interlock 1 being used to provide proper clearance, it is important to have means for advisin service personnel that a power interruption had occurred.

It should also be appreciated that the service reminder timer, TIME is retained by non¬ volatile memory 45 but does not continue to be decre mented in the event the power to sobriety interlock is»interrupted. Accordingly, the total duration of any power interruption can be determined to within o day simply by reading the value of the service remin der timer, TIME and consulting the permanent service records for that particular interlock unit. Such records should be kept to indicate when the interloc unit was installed or last serviced and the number o days to which the service reminder timer, TIME was

then set. Any discrepancy between the number of day that have actually elapsed since that time and the number of days the service reminder timer, TIME woul indicate have elapsed upon comparing the current TIM value with service records, indicates the total duration of any power interruptions occurring during the period.

Subroutine DISPLAYFAULT incorporates a subroutine designated REMIND which serves to check t status of the service reminder timer, TIME and to provide appropriate indications. If service reminde timer TIME equals zero days, a service reminder LED ,;φuch as LED 31 is lighted continuously. This indi- a ' ; ' . cates that service was not obtained on or before the Scheduled due date. As shown in Fig. 1, LED 31 is labelled with appropriate indicia such as the legend

"SVC". If the service reminder timer TIME does not equal zero, it is next checked to determine whether its value is less than or equal to a value defining optional grace period which preferably is provided. If a grace period is used, its duration may be any desired length of time. Seven days for example has been found quite suitable. During the grace period, beeper 8 sounds a distinctive "service reminder" ton once a minute to remind the operator that service of interlock 1 is past due. If the operator fails to obtain service either on the due date or within the

grace period, the service reminder timer, TIME will time out and SVC LED 31 will be lighted as described above. While not necessary, it is preferable to provide one or more advance reminder indications prio

5 to the time when service is actually scheduled. In one preferred embodiment this is accomplished by flashing SVC LED 31 during some period, such as 3 days, prior to the actual scheduled service date. T accomplish this, when service reminder timer TIME

10 reaches a value of less than or equal to ten days, S LED 31 flashes intermittently. When the operator se the flashing of SVC LED 31, he or she knows that interlock 1 is scheduled for service within three days. Like all subroutines, subroutines DISPLAYFAUL

:«ι

If.^ '* 15 and REMIND return to a point in the program just aft that from which the subroutine was called. Like TOTBYP, TIME is stored in non-volatile memory 45. Therefore, once service reminder timer, TIME expires its value cannot be reset by interrupting the power

20 supplied to interlock 1. Therefore, once LED 31 is lighted or begins flashing, the same operation will resume after a power interruption when power is eventually restored.

Continuing now with the description of the

25 READY state with reference particularly to Fig. 17, after subroutine DISPLAYFAULT is executed, interlock relay 131 is opened by way of ILK line 68. A

distinctive "READY" tone is sounded by beeper 8 to audibly indicate that interlock 1 is prepared for a test. Prior to testing, the power delivered to sens heater 202 is throttled down to a steady state value and a power down timer, PDT is set to some desired interval such as two hours. The purpose of the time PDT will become apparent shortly.

Microprocessor 160 checks to determine whether a first remote service device 55 is connecte to receptacle 13 by checking for the presence of RSD 55 signature in the manner previously described. If the signature signal is present and MODE button 21 i pressed, operation transfers from the READY state to the SI state described earlier. Otherwise the servi reminder timer TIME is again checked and the service reminder LOCKOUT state is entered if TIME equals zer days. Subroutine REMIND is then called and executed in the manner described above to provide appropriate audible and/or visual indications. Upon returning fuβm execution of the REMIND subroutine, a subroutin CHKBYP is called. CHKBYP updates the record of attempts to start the vehicle when sobriety interloc 1 is bypassed.

Subroutine CHKBYP which will now be de- scribed with reference to Fig. 29 is called in each operational state wherein the vehicle to which inter lock 1 is connected should not be running. Subrouti

CHKBYP first determines whether the vehicle is runnin by checking the status of a "vehicle running" flag which will be described further in connection with th CHKSUPPLY routine of Fig. 31. If the "vehicle run- ning" flag is not set, indicating that the vehicle is not running, a "new bypass" flag is set. Setting of the "new bypass" flag indicates that the next bypass event that is detected constitutes a separate and dis tinct new bypass event rather than merely being a continuation of a previous one. This is true because the "new bypass" flag is only set after the vehicle has stopped running at least some point after the las recorded bypass event. This technique prevents a single bypass event from being recorded more than once. If the vehicle is not running and the "new bypass" flag is set the subroutine returns. Other¬ wise, if the vehicle is running and BYP delay timer i checked. The BYP delay timer prevents a bypass event from being recorded for a predetermined period of tim such as 5 minutes. The purpose of the BYP delay time will now be explained.

A bypass event is normally recorded in the event the vehicle to which sobriety interlock 1 is connected appears-to be running unless both the brea alcohol measurement and ID phases of a test have bee passed within a predetermined time prior to the starting of the vehicle. It may sometimes occur

however, that after driving, V_ τ ___ 61 remains above the run voltage threshold RUNVLT, for some length of time after the ignition is turned off. If the drive happens to turn the vehicle ignition switch on again without performing a test before V A__N τ O„D_E 61 drop c s bel the run voltage threshold RUNVLT, the vehicle will erroneously appear to be running without a timely te having been passed. Bypass timer BYP avoids errone¬ ously recording a bypass event under these condition by delaying recording of a bypass event for a period of time sufficient for V A_.N τ O__DE_ 61 to drop r below run voltage threshold RUNVLT, after the vehicle ignition is turned off. A period of about 5 minutes has been found to be sufficient. After the BYP timer times out, bypass events are recorded in the normal manner whenever a test has not been p ^assed and VA_-N τ O,__DE_ 61 is found to exceed RUNVLT and the vehicle ignition is o unless the "new bypass" flag is not set.

If the "new bypass" flag was set, it is th cleared and "BYPASS" LED 32 is turned on. The recor of bypass events stored in memory is then updated by recording the current value of the service reminder timer TIME in the appropriate DAY register and incre menting both NUMBER and TOTBYP. If the value of the service reminder timer TIME is different from the la recorded DAY entry, a new DAY/NUMBER couplet is recorded so that all bypass events occurring during

the new DAY will be recorded in the corresponding NUMBER register. In the event that all available memory space for couplets has been filled, the DAY value of the last recorded couplet is set to zero an further bypass events are noted by incrementing the NUMBER value of that couplet.

Continuing with the description of the REA state, just following execution of the CHKBYP subrou tine, the STANDBY state can be entered either volun- tarily or automatically. Voluntary entry of the

STANDBY state can be effected by pressing POWER push button 19 while the STANDBY state is automatically entered if the power down timer PDT times out thereb indicating that interlock 1 has not been used for a prolonged period. of time. In either case, entry of the STANDBY state is effective to conserve* vehicle battery 108 by turning power supply V 63 off. A number of other occurrences are also effective to cause entry of the STANDBY state from the READY stat In articular, if IGN line 70 is active indicating a attempt to start the car prior to a test, the STANDB state is entered. Also, if the "sampling head fault flag is set or a "supply voltage good" is clear STANDBY operation will commence. As will be made mo clear in connection with the CHKSUPPLY subroutine of Fig. 31, setting of the "supply voltage good" flag

indicates that V ANODE 61 lies inside an acceptable operating range.

Provided the STANDBY state is not entered, microprocessor 160 determines whether a breath sampl is being delivered. This is indicated in the presen embodiment by closure of pressure switch 208 as sens by way of PSW line 102. If breath flow is not sense the program loops as indicated. Once breath flow commences however, the status of the "baseline stabl flag is checked. If the baseline signal from alcoho sensor 200 is not stable, an accurate BAC reading cannot be ensured. Accordingly, the PURGE state is reentered so that sensor 200 can be repurged to attempt to stabilize its baseline. If the baseline stable when breath flow commences, operation proceed to the BLOW state which will now be described with reference to Fig. 18.

In the BLOW state the flow of breath which began at the end of the READY state continues. LEDs 25-.through 34 of bar graph display 22 are extinguish and indicator LED 23 is turned on. READY LED 41 sto flashing and is lighted steadily indicating that sufficient breath flow is being delivered by the operator/test subject into sampling head 3 by way of mouthpiece 40. To ensure the alcohol measurement is made with reference to a deep lung breath sample, a timer BLOWTMR is set to a predetermined interval suc

as 4.5 seconds during which pressure switch 208 must remain closed. The interval defined by BLOWTMR is selected in accordance with the minimum flow of breat at which pressure switch 208 remains closed to define a volume of breath sufficient to ensure procurement a deep lung sample. To audibly indicate a breath sample is being delivered, beeper 8 sounds a distinc tive "blowing" tone. If breath flow does not contin at a rate sufficient to maintain pressure switch 208 closed during the entire period defined by BLOWTMR, the PURGE state will be reentered. Once the blow timer times out, alcohol sensor 200 is read. Based the sensor reading, a blood alcohol concentration "BAC" value is computed and saved. To begin the process of deciding whether t

BAC measurement is sufficiently low to pass the BAC measurement phase of the test, the BAC value is compared with a predetermined FAIL limit. Provided the FAIL limit is not met or exceeded, the BAC mea- suTement phase of the test is PASSED and a state referred to as ID is entered. As will be described detail shortly with reference to Fig. 19, the ID sta defines an optional identification phase of the test during which an operator must identify himself or herself as a designated individual as a precondition to allowing the vehicle to start. The ID phase will

be described in further detail with reference to the ID state of Fig. 19.

Assuming the computed BAC value meets or exceeds the predetermined FAIL limit, the BAC measur ment phase of the test is considered failed and a demerit timer incrementing subroutine, INCDMT is entered. Upon returning from INCDEMERIT, the update value of the demerit timer DMT is compared with a predetermined limit such as 10 minutes. If DMT is n greater than or equal to that limit the DISPLAY stat is entered. Otherwise, operation continues in the DEMERIT LOCKOUT state which was entered by way of th INCDMT subroutine which will now be described with reference to Fig. 30. As illustrated in Fig. 30, the INCDMT sub¬ routine commences by adding 5 minutes to demerit tim DMT. The updated value of DMT is then compared with predetermined first limit such as 10 minutes. Provi ed the first limit is not met or exceeded, the recor o£»DMT in non-volatile memory is kept current by writing the updated value of DMT to EEPROM 195 where upon the subroutine returns. If the updated value o DMT is greater than or equal to the 10 minute limit, the value of DMT is preferably set to equal some arbitrary maximum length of time such as 15 minutes. Thus, once the DEMERIT LOCKOUT state is entered, it persists for the full maximum length of time.

Referring now to Fig. 24, the DEMERIT LOCKOUT state will now be described in further detai Entry of the DEMERIT LOCKOUT state is triggered when an operator/test subject has failed either the BAC measurement phase and/or the ID phase of the test to often within the time limits defined by the demerit timer DMT. Upon entry of the DEMERIT LOCKOUT state, the distinctive "eeprom error" tone is sounded in th event that an invalid read occurred during BOOT UP. If no such errors occurred, a distinctive "fail" ton is sounded by beeper 8 and LEDs 25 and 26 flash alternately to indicate that the DEMERIT LOCKOUT sta has been entered. Heater 202 is turned off and the status of the demerit timer DMT is continuously read So long as the demerit timer DMT has not timed out, the DEMERIT LOCKOUT state can be exited only by way the SI state. As previously described, the SI state can be entered only by pressing MODE push button 21 while a first remote service device 55 is connected coβtrol module 2. So long as the SI state is not entered, the CHKBYP subroutine is repeatedly execute until the demerit timer DMT times out. At that time the updated value of the demerit timer DMT (i.e. zer is stored in EEPROM 195 and the PURGE state is auto- matically entered. Note that the DEMERIT LOCKOUT state differs significantly from the SERVICE REMINDE LOCKOUT state in that the latter state continues fo

an indefinite period until service is obtained. Conversely, the DEMERIT LOCKOUT state persists for a maximum amount of time defined by demerit timer DMT. As is also the case with the SERVICE REMINDER LOCKOU state, the RUN state cannot be entered and therefore the vehicle cannot be started, so long as sobriety interlock 1 is in the DEMERIT LOCKOUT state.

Assuming the BAC measurement phase of the test is passed in the BLOW state, the ID state which will now be described with reference to Fig. 19 is entered. At the beginning of the ID phase of the test, beeper 8 is silenced. Indicator LED 23 and READY LED 41 are turned off and display 22 is set su that every other one of its LEDs is lighted. These visual displays cue the operator/test subject to commence performing an identity-confirming act, mastery of which identifies the operator/test subjec as a designated individual. As noted previously, correct performance of the identity-confirming act requires a degree of skill sufficiently high that mo persons cannot perform the act correctly without having attempted performance of the act at least som minimum number of times which is greater than the number of times demerit timer DMT allows the act to attempted prior to entering the DEMERIT LOCKOUT stat The identity-confirming act is preferably performed blowing a series of spaced puffs of breath into

mouthpiece 40. Each puff of breath is sensed by pressure switch 208 and must meet predetermined time and minimum flow rate constraints. Each puff of breath is separated from preceding and succeeding breaths by a pause which also must meet predetermine time and minimum flow rate requirements. To allow some degree of inaccuracy in the timing of the respe tive breaths and pauses, each such period is pref¬ erably preceded with a brief grace period which defines a timing tolerance. An exemplary identity- confirming act is set forth in Fig. 19 and will now described in further detail.

After display 22 is lighted in the manner indicated above, a timer, IDTMR is loaded with a tim corresponding to the duration of a first grace perio The flow of breath from the BAC measurement phase of the test completed in the BLOW state must cease or a least fall below a level sufficient to close pressur switch 208 prior to expiration of grace period numbe one. If it does not, the ID phase is failed and subroutine INCDMT is entered. Assuming the flow of breath falls off acceptably before the first grace period expires, IDTMR is loaded to a value defining the required length of the first pause. If a puff o breath at a flow rate sufficient to close pressure switch 208 commences before IDTMR times out at the conclusion of the first pause, subroutine INCDMT is

called. Otherwise, IDTMR is loaded with a value specifying the length of a second brief grace period during which a first puff of breath or "flow" suffi¬ cient to close pressure switch 208 must commence. I the blow does not begin before the second grace peri ends, the ID phase is failed and the INCDMT subrouti is called. Provided the first blow does begin soon enough, IDTMR is loaded with a value specifying the required duration of the first puff of breath or "blow". If breath flow falls off enough to permit pressure switch 208 to open before IDTMR times out a the end of the first blow, the ID phase is failed an subroutine INCDMT is entered. Assuming the first bl does not end prematurely, timer IDTMR is loaded with value specifying a third grace period during which t first blow of breath must cease. If it does not, th ID portion of the test is failed and subroutine INCD is called.

At this point, or at any other convenient tiTrie during the ID phase, one aspect of the inventio contemplates reading the output of alcohol sensor 20 After the output signal from alcohol senso 200 is read, the current sensor reading is compared with the reading from which BAC was calculated. If the two sensor output readings differ significantly, one can be reasonably certain that the breath being delivered in the ID phase emanates from a different

source than the breath upon which the BAC measurement was based. This would indicate that an accomplice or bogus gas source was likely used to deliver the breat sample upon which the BAC measurement was based. Accordingly, if a significant rise in the sensor output is sensed during the ID phase, the test is failed which, in the current example results in entr of the INCDMT .subroutine. Of course, other appropri ate indications or responsive measures could be undertaken. For example, a distinctive audible and/ visual indication could be provided by way of beeper and/or display 22 respectively. Also, in lieu of th actions initiated by the INCDMT subroutine, sobriety interlock 1 and/or the vehicle in which it is installed could be disabled immediately for some selected period of time or indefinitely until servic was obtained and the fault cleared by means of a remote service device such as first remote service device 55. The limit of difference between the two readings of sensor 200 which one selects to trigger one or more of the foregoing results should be selec ted in accordance with system requirements such as accuracy limitations, drift, and other factors which can cause the output of sensor 200 in the ID phase t vary from its output in the BAC measurement phase. Applicants preferred embodiment, sensor output varia tion rise is limited to about 115 millivolts.

Provided the rise in the output of sensor 200 remain below such an acceptable limit, the test is net caus to be failed and the ID phase proceeds.

After checking the rise in the output of alcohol sensor 200, which may occur for example just after the third grace period ends, bar graph display 22 is shifted left (i.e. LEDs 25, 27, 29, 31 and 33 only are lighted) . This indication serves as feedba to the operator/test subject that the initial portio of the identity-confirming act has been performed correctly. Next, timer IDTMR is loaded with a value specifying a second pause. If breath flow is sensed before the completion of the second pause as indicat by the timing out of IDTMR, the ID phase of the test is failed and subroutine INCDMT is entered. Provide pause number two ends before further breath flow is sensed, IDTMR is loaded with a value specifying a fourth grace period. A second and final puff of breath must at least commence before grace period number four expires. Provided it does, the ID phase of the test is passed and operation proceeds to the DISPLAY state. If, on the other hand no breath flow is sensed before the end of grace period number four the test is failed and subroutine INCDMT is called. As in all previous cases wherein this subroutine is called from the ID state, the status of demerit time DMT is checked upon returning. If demerit timer DMT

meets or exceeds its 10 minute threshold, operation proceeds in the DEMERIT LOCKOUT state which is entere by way of subroutine INCDMT. If, on the other hand, DMT is less than ten, operation in the PURGE state commences and a retest can be performed without waiting for demerit timer DMT to time out.

Referring now to Fig. 20, the DISPLAY state will now be described in further detail. The DISPLA state commences by displaying the BAC value computed previously i the BLOW state. This is accomplished way of display 22 in conjunction with the indicia disposed beneath the spaces lying between its LEDs 25-34. LEDs 25-34 operate as a bar graph display up which the maximum BAC level found not to be exceeded is indicated by lighting all LED elements to the lef of the indicia correspondi g to that level. The indicia conveniently express blood alcohol content (BAC) in terms of percent, milligram percent, or oth arbitrary units. .For the sake of illustration, the - has graph display 22 shown in Fig. 1 is provided wit indicia corresponding to percent BAC in increments o .01%. Bar graph display 22 is configured consistent with the PASS and FAIL limits which may be selected from several available options according to the strapping of header 173 in the manner described earlier. For example, as can be seen with additiona reference to Fig. 1, a PASS limit can be selected su

that a BAC level of less than .02% BAC results in lighting one or both green LEDs 25 or 26 as appropri ate. In a similar manner, a FAIL limit of .05% can selected such that any reading of .05% BAC or greate results in lighting of all LEDs up to and including one or more red LEDs 30-34. BAC readings lying between the PASS and FAIL limits are indicated by lighting both green LEDs 25 and 26 as well as one or more yellow LEDs 27, 28, and/or 29. The computed BAC value is then compared wi the predetermined FAIL limit. If the FAIL limit is met or exceeded, the PURGE state is reentered. Provided the FAIL level is not exceeded, passing of the BAC portion of the test is further indicated by the lighting of indicator LED 23. Assuming the FAIL limit was not met or exceeded, demerit timer DMT is cleared by writing a zero minute value to the appro¬ priate memory location of EEPROM 195. Thus, after o successfully passes both the BAC measurement and ID phases of the test, prior failures of either phase d not limit the number of times one may attempt subse¬ quent tests. Clearing of demerit timer DMT in effec "wipes the slate clean". Of course, subsequent failures will cause DMT to be incremented in the manner described earlier and the DEMERIT LOCKOUT sta will be entered if a sufficient number of later test are failed within the DMT limits described earlier.

The computed BAC level is next compared wit the predetermined WARN limit. If the WARN limit is neither met nor exceeded, a distinctive "pass" tone i sounded by beeper 8 and the RUN state to be described next in connection with Fig. 22 is entered. If heade 173 is strapped as required to select automatic retest, a repeat breath test will be required within predetermined RETEST interval such as 35 minutes even though the BAC level was determined to lie below the WARN level. This feature is used where it is desired to deter drinking after a breath test has been passe and the vehicle started. If an automatic retest is not to be required, header 173 is strapped according resulting in disablement of the RETEST timer except it is used in the situation to be described below.

In the event the computed BAC level meets exceeds the preselected WARN level, bar graph displa 22 is repeatedly scanned and a distinctive "warn" to sequence is sounded by beeper 8. As bar graph displ 22-is scanned, each LED, beginning with LED 25 and continuing through the yellow LED 27, 28 or 29 indi¬ cating the measured BAC level, is lighted individual in an ascending sequence. This striking visual and audible display continues indefinitely until MUTE button 20 is pressed. By pressing MUTE button 26, t operator/test subject acknowledges that he or she ha been advised that a significant blood alcohol level

has been detected. Since blood alcohol content can continue to rise for some time after imbibing, opera tors are instructed, preferably at the time sobriety interlock 1 is installed, that sound discretion and caution should be used in deciding whether or not to drive in the event a test results in the WARN indica tion just described. If the operator/test subject fails to acknowledge the WARN indication within a definite period specified by a timer, WARNTMR, which may be set for example to 60 seconds, the PURGE stat is reentered thereby precluding starting of the vehicle unless a subsequent test is passed. Provide the WARN indication is acknowledged by pressing MUTE button 20 before WARNTMR times out, the "warn" tone terminated and the BAC measurement is displayed in normal (i.e. continuously lighted) bar graph format upon display 22. Thereafter, the RUN state is entered.

Referring now to Fig. 21, upon entry of th RUN state, interlock relay 131 is closed under the control of microprocessor 160 by way of ILK line 68 the manner previously described with reference to Fi 3. This permits the vehicle to be started in the normal manner as long as relay 131 is closed. To avoid or reduce the length of time required to PURGE sensor 200 should a new test be required soon, purgi of alcohol sensor 200 through the energization of

heater 202 in the manner described earlier is again commenced. A series of timers is then initialized. The first of these, IGNTMR is set to a desired inter¬ val such as 60 seconds during which restarting of the vehicle without a new test will be permitted after maintained ignition switch contacts 119 have been opened. In a similar fashion, the voltage timer VLTTMR is set to a desired interval such as 5 minutes As noted previously in connection with Fig. 14, in th event the vehicle stalls it can be restarted without requiring the operator to pass a new test provided that neither IGNTMR nor VLTTMR have timed out. A third timer, DISTIM is set to a desired value such as 30 seconds during which it is desired to continue the display of the BAC level on display 22.

After the above timers are set, the status of the "sampling head fault" flag and pressure switch 208 are interrogated. If pressure switch 208 indi¬ cates breath flow or if the "sampling head fault" fla is-set, heater 202 is switched off. Otherwise, a check is made to see whether purging of sensor 200 ha commenced. If it has not, a new attempt to effect purging is initiated. Thereafter, IGN line 70 is interrogated to determine whether the vehicle igniti i s on. If the ignition is on, ignition timer IGNTMR is reset to its initial value. If the ignition is off, a check is made to determine whether IGNTMR has

timed out. If it has, restarting of the vehicle without a new test is not permitted and the READY state is entered if the purging of sensor 200 is complete and its baseline is stable as indicated by the set status of the "baseline stable" flag. If th baseline is not stable i.e., the "baseline stable" flag is cleared, a new purge of sensor 200 is insti¬ tuted by way of the PURGE state. If the vehicle stalls or is turned off either the READY state or th PURGE state is entered after IGNTMR or VLTTMR times out. The need to wait for the ignition timer IGNTMR to time out can be avoided by pressing MODE switch 2 After ignition timer IGNTMR is reset to its initial value following the interrogation of IGN line 70, 61 is sensed and compared with the threshold

RUNVLT previously stored in EEPROM 195 upon installa tion of sobriety interlock 1 in the manner previousl explained in connection with the description of firs remote service device 55. So long as IGN line 70 ar*Λ^ears active and VA_„NO_D_E_, exceeds the run voltag^e threshold RUNVLT, the vehicle is assumed to be runni and voltage timer VLTTMR is reset to its initial value. On the other hand, should V A,.N_O,._D,E,_ ap c p c ear to fall below RUNVLT, the vehicle is assumed to be not running and the status of timer VLTTMR is checked.

Again, if VLTTMR has timed out either the PURGE stat

or the READY state is entered depending on whether a successful PURGE has previously been completed.

Recall that the RETEST timer is always active if the BA.C phase of the test resulted in a WAR indication. It is also active if the BAC measurement phase of the test was passed and the automatic RETEST option has been selected by appropriately strapping header 173. In the former case, the RETEST timer is initially set to a value such as 25 minutes whereas i the latter case RETEST is set to 35 minutes. If the RETEST timer is active its status is checked in the running state. When between zero and 5 minutes remai on the RETEST timer, the distinctive "warning" tone i sounded by beeper 8 to remind the driver that a retes is due to be taken. Upon hearing the "warning" tone, the driver should pull off the road at the earliest safe opportunity, turn the vehicle ignition off and perform a new test to restart the vehicle. The "warning" tone can be silenced for a period such as 6 seconds determined by a timer, MUTIME. Once MUTIME equals zero, the "warning" tone will again sound unless the MUTE button 20 is again pressed to silence it. It should be noted however that silencing of the "warning" tone does not stop or reset the RETEST timer. After completing the above functions, timer DISTIME is checked and the program loops back as indicated until DISTIME times out. This has the

-Ill- effect of maintaining the result of the BAC test on the bar graph display 22 for the first time period, such as 30 seconds, to which timer DISTIME was first set. Once DISTIME times out for the first time, the

5 program drops out of the first loop and DISTIME is reset to a second value such as 60 seconds. The second DISTIME setting determines the intervals at which the RETEST timer will be decremented. If bar graph display 22 continues to display the BAC level,

10 display 22 is cleared and LED 23 is turned on after executing the DISPLAYFAULT subroutine described earlier. After lighting LED 23 the program continu- j ously loops as indicated. Thus, running of the vehicle is not interrupted once running commences.

',' 15 Even if a retest is not taken when required only audible and/or visual indications are provided. For safety, running of the vehicle is never stopped by t control action of sobriety interlock 1. Interlock relay 131 is reopened only upon reentry of the PURGE

20 or-READY states after running of the vehicle has bee sensed to have ceased and IGNTMR and/or VLTTMR have timed out.

Assuming that display 22 had previously be cleared, the program checks to determine whether the

25 vehicle horn is being sounded by microprocessor 160. If so, the program loops as shown. Otherwise, a che is made to determine whether a retest is required.

a retest is not required subroutine REMIND is execute and the program loops back as indicated. If a retest is required the retest timer RETEST is decremented an checked. If the RETEST timer has timed out the vehicle horn is sounded by microprocessor 160 by controlling HRN line 69 in the manner previously described with reference to Fig. 3. The horn sounds if the operator/test subject fails to pull over and turn off the ignition before the RETEST timer times out. The horn cannot be muted except by turning off the ignition and either subsequently pressing MODE push button 21 or waiting for ignition timer IGNTMR t time out.

A number of indications are provided to prompt the operator to retest or endure the blasting of the vehicle horn which will likely capture the notice of fellow motorists and possibly, the police. Except during the last 5 minutes of a retest period, display 22 indicates any appropriate indications as provided by way of the REMIND subroutine. However, during the last 5 minutes defined by the RETEST timer the BAC reading flashes on display 22 in conjunction with sounding of the "warning" tone by beeper 8. It is reiterated that in the event a retest is not take before the RETEST timer times out, interlock 1 does not cause the vehicle to stop or otherwise impair it normal operation except for sounding the vehicle hor

Referring now to Fig. 22 the STANDBY state is described in further detail. The "displaying" fl is set immediately upon entry of the STANDBY state. If the STANDBY state is entered because of a fault o error condition, the nature of the display is indi¬ cated by way of a characteristic display appearing o display 22. Concurrently with the visual display, a distinctive "standby" tone is audibly sounded by beeper 8. The display persists for a period, such a 10 seconds, determined by the setting of a utility timer TMR. If a fault associated with sampling head occurs, LEDs 25 and 30 are lighted and LED 26 flashe Such a fault may indicate that sampling head 3 is no properly connected to control module 2 or that eithe alcohol sensor 200 or sensor heater 202 are not operational. In the event a person blows breath int mouthpiece 40 during purging of alcohol sensor 200 a "blowing error" is indicated by the lighting of LED and the flashing of LED 25. If power supply V 0 is-not within an acceptable range, a "supply voltage good" flag will be clear rather than set. In that case, LED 30 is lighted while LED 26 flashes. The setting and clearing of the "supply voltage good" fl will be further explained in connection with the CHKSUPPLY routine of Fig. 31. Finally, if IGN line was active while interlock 1 was in the READY state, an ignition error is indicated by lighting LED 30 an

flashing LEDs 25 and 26. After timer TMR has timed out, heater 202 is turned off and a subloop 315 to b described momentarily is executed. Assuming that th STANDBY state is entered not due to one of the above fault conditions, but rather due to the pressing of POWER push button 19 or the timing out of the power down timer PDT then, there is no visible or audible cue. In this event, subloop 315 is entered immedi¬ ately after turning heater 202 off. Otherwise subro tine CHKBYP is called directly and executed in the manner previously described. Sobriety interlock 1 vC enters the SI state described earlier and turns powe

! supply V 63 on if microprocessor 160 senses the connection of a first remote service • *dιlevice 55 and t pressing of MODE button 21. It will_";be recalled tha connection of first remote service device 55 is indicated by the presence of a characteristic RSD 55 signature signal on line PSW 102. Assuming the Si state is not entered, interlock 1 checks to determin whether it should be powered up as indicated by eith the pressing of POWER switch 19 or opening of the vehicle door. Opening of the vehicle door is sense according to a predetermined drop in the voltage of power supply V 61 in a manner which will be mo fully explained in connection with the description the CHKSUPPLY subroutine illustrated in Fig. 31. Should either of those events be sensed, power supp

Vb_ τ W- 63 is turned on and operation in the PURGE state commences if the service reminder timer, TIME has no timed out. If TIME has timed out, the SERVICE REMIN ER LOCKOUT state is entered. Assuming that neither the pressing of POWER push button 19 nor the opening of the vehicle door are sensed, the program loops ba as indicated to check the status of timer TMR. When timer TMR times out, subloop 315, which will now be described, is entered. The first time through subloop 315, the

"displaying" flag is immediately cleared as is bar graph display 22. To minimize the drain on vehicle battery 108, power supply V 63 is then switched of As can be appreciated for example by inspection of Fig. 2, switching off power supply V 63 is effecti to cut off the flow of power to sampling head 3 as well as to audio output 50, thereby eliminating the power drain associated with those components. Since power supplies V__ τ „__ 61 and V,,__.„ 62 remain on, the e ANODE MAIN ciarcuitry operated by those supplies is not affected. It has been discovered that the accuracy o alcohol measurements can be adversely affected if alcohol sensor 200 is used after remaining idle for extended periods of time. In order to overcome this problem, the invention contemplates purging sensor 2 at intervals of time which are frequent enough to avoid significant impairment of the accuracy of sens

200 yet, as far apart as possible to maximize conser¬ vation of vehicle battery 108. In the present embodi ment, this is facilitated by a software timer, WAKETM which can be suitably set to define a 24 hour cycle. After power supply V___ 63 is switched off, WAKETMR is initially εet to a desired value such as 24 hours. Thereafter, its status is checked. If WAKETMR has no timed out, supply V-.. 63 remains switched off. When WAKETMR times out, WAKETMR is reset to its initial value, supply V 63 is turned on and purging of sensor 200 by energizing heater 202 in the manner described earlier is commenced. Once purging has continued long enough to stabilize the baseline sign of alcohol sensor 200 (as evidenced by the "baseline stable" flag being set) V 63 is switched off again. Thus, every 24 hours interlock 1 "awakens" from its low power drain STANDBY condition just long enough to purge alcohol sensor 200. A 24 hour cycle has been found to be sufficiently long to significantly con- seTve vehicle battery 108, yet short enough to help avoid degradation of the performance of alcohol sens 200. The SERVICE REMINDER LOCKOUT state will now be described in further detail with reference to Fig. 2

In the event an operator fails to obtain authorized service before service reminder timer, TI times out, the SERVICE REMINDER LOCKOUT state is entered. Upon entering the SERVICE REMINDER LOCKOUT

state, display 22 is cleared, beeper 8 is silenced subroutine DISPLAYFAULT is entered to display any applicable faults. As inspection of Fig. 14 makes clear, once the SERVICE REMINDER LOCKOUT state is entered, the RUN state cannot be entered unless and until service reminder timer, TIME is reset to a nonzero value.

As previously noted in connection with the description of Fig. 14, it may be desirable, dependi on the circumstances under which interlock 1 is to used, to cause interlock 1 to effectively bypass itself while in the SERVICE REMINDER LOCKOUT state. If this alternative is desired, interlock relay 131 closed (aε indicated in broken lines in Fig. 23) . avoid excess power drain on vehicle battery 108, rel 131 is preferably closed only when IGN line 70 is active. As a result or relay 131 being closed (eith continuously or only when IGN line 70 is active) , interlock 1 cannot be used to restrict starting of t vehicle for an indefinite length of time until the service reminder timer, TIME is reset. Such operati is usually desired only if use of interlock 1 is voluntary on the part of the user. If on the other hand the use of interlock 1 is compelled, relay 131 preferably opened in the SERVICE REMINDER LOCKOUT state, thereby inhibiting starting of the vehicle

indefinitely pending a resetting of service reminder timer, TIME.

After interlock relay 131 is either opened or closed, heater 202 is deenergized and a power down timer PDT is set to a desired interval such as 2 hours. Once the power down timer PDT times out or if POWER push button 19 is pressed, the STANDBY state is entered. Otherwise, the SERVICE REMINDER LOCKOUT state continues by calling subroutine CHKBYP. As described previously with reference to Fig. 29, the CHKBYP subroutine is effective to turn on LED 32 if bypass event has occurred. Note however, that the CHKBYP subroutine is not called where, according to the alternative discussed above, interlock relay 131 is to be closed rather than opened in the SERVICE

REMINDER LOCKOUT state. Upon returning from subrou¬ tine CHKBYP, if it is called, the software continu¬ ously checks for the presence of the RSD 55 signatur signal (to determine whether a first remote service device 55 is connected) and MODE button 21 simultan¬ eously pushed. If so, the SI state is entered which permits the service reminder timer TIME to be reset a nonzero value. The only other way that the servic reminder timer can be reset is to enter the S2 state by way of the BOOT UP state as previously described with reference to Fig. 14.

With reference now to Fig. 25 the SI state will now be described in further detail. As noted previously in connection with the description of Fig 14, the SI state is a restricted access state in whi a number of significant service functions can be performed. In particular, power supply V n can b read and a corresponding run voltage threshold value RUNVLT stored in memory. It will be recalled that during operation of interlock 1, RUNVLT is used as a threshold value to be compared with the voltage appearing at power supply 61 as one criterion entered to determine whether the vehicle is actually running. The SI state also permits the service reminder timer, TIME to be set to one of several selectable intervals.

Upon entry of the SI state, the "power interrupt" flag is automatically cleared. Unless th function is performed after sobriety interlock 1 is disconnected from a power source (such as vehicle battery 108) and subsequently reconnected, it will b recalled that power interrupt LED 33 will be lighted upon execution of the DISPLAYFAULT subroutine. In t event LED 33 is lighted when the vehicle to which sobriety interlock is connected is brought in for servicing of sobriety interlock 1, service personnel will be advised that sobriety interlock 1 has been disconnected from power at some time since it was

installed or last serviced. This will indicate the possibility that the vehicle was started without proper use of sobriety interlock 1. In order to be able to read the voltage V A-.N T O Λ D r- E_ 61 while the vehicle is running, it is necessary that interlock relay 131 be closed so that the vehicle can run. Accordingly, interlock relay 131 is closed automatically upon ent of the SI state. Since operation in the SI state involves the closing of interlock relay 131, the tim during which sobriety interlock 1 can operate in the SI state is preferably limited to a relatively short length of time adequate to allow service personnel t perform necessary service functions. This is accom¬ plished by means of a timer S1TMR which is set to a desired interval such as 10 minutes. Once S1TMR tim out, the SI state is automatically exited. Entry of the SI state is also automatically effective to clea demerit timer DMT. This is accomplished by writing zero value to the appropriate memory location in EEPROM 195.

Once the SI state is entered, sobriety interlock 1 can be made to perform several special functions through proper operation of the MUTE, POWE and MODE push buttons as will now be described with continuing reference to Fig. 25. The operations capable of being performed by sobriety interlock 1 a any given time in the SI state are tracked by means

a dummy counter, COUNT. When COUNT equals 1, the service reminder timer, TIME can be read or set subject to certain limitations to be explained. Wh COUNT equals 2, the RUNVLT threshold value can be re or set. When COUNT equals 1, indicating that the operational mode for setting and/or reading the service reminder timer, TIME has been selected, display 22 so indicates by illuminating the first green LED 25. If on the other hand, COUNT equals 2, indicating that RUNVLT is to be read or set, displa 22 so indicates by illuminating the second green LE 26. Initially, COUNT is set to some arbitrary value such as 2. When COUNT equals 2, the value of RUNVL is displayed in reverse binary form by way of LEDs 27-34. By reverse binary form, it is meant that the least significant bit is indicated by LED 27 while t most significant bit is indicated by LED 34 . A logical 1 value of each respective bit is indicated lighting the corresponding LED. After display 22 is updated, any invalid read or write operations are audibly indicated by sounding the "eeprom error" ton by way of beeper 8. The status of timer S1TMR is th checked. If the timer has timed out, the SI state i automatically exited and the PURGE state entered ' . Provided the S1TMR has not timed out, microprocessor 160 scans for pressing of MUTE, POWER, or MODE push buttons 20, 19 and 21, respectively. Whenever the

MODE button 21 is pressed, the SI state is exited and the PURGE state entered. Whenever MUTE push button 20 is pressed, COUNT is decremented in ring fashion and display 22 is updated to operate as described above i accordance with the operational mode corresponding to the currently selected COUNT value. Pressing of POWE push button 19 performs different functions depending on the current value of COUNT. When COUNT equals 1, the current value of service reminder timer is indi- cated by display 22 in the following manner. If TIME equals 37 days, LED 30 is lighted. If TIME equals 67 days, LEDs 30 and 31 are lighted. If TIME equals 97 days, LEDs 30, 31 and 32 are lighted. If the current value of the service reminder timer, TIME is some value other than 37, 67 or 97 days, none of LEDs 30-3 will be lighted. When the service reminder timer setting mode is selected (i.e. COUNT equals 1) press¬ ing of POWER push button 19 will reset TIME to 37 day if its initia.1 value was 97 days or, to 97 days if it initial value was 67 days or, to 67 days if its initial value was 37 days. If the initial value of the service reminder timer, TIME is less than 11 days pressing of power push button 19 causes TIME to be reset to a value of 37 days as indicated. Subsequent pressings of POWER push button 19 will cause TIME to cycle through 67, 97 and 37 day settings in ring fashion in the manner described above. If the value

of TIME is not one of 97, 67, or less than 11 days, its value cannot be changed in the SI state. This provides additional security in the event the SI sta is somehow accessed by other than authorized service personnel. Beeper 8 sounds a low tone upon pressing POWER button 19 to indicate an error if TIME cannot reset. As the value of TIME is updated, its value i written to EEPROM 195. Thereafter the program loops back to update display 22 in the manner described above.

Assuming that POWER push button 19 is pressed when COUNT does not equal 1 (i.e. COUNT equa

2) VA_-N τ O_D_E_ 61 is read at the moment POWER p^ush button

19 is pressed and a corresponding run voltage value, RUNVLT is computed. This is accomplished automati¬ cally by microprocessor 160 which does so by subtrac ing a safety factor such as 50 millivoltε from the value of 61. The value of RUNVLT so computed is then written to EEPROM 195 to update it and displ 22"is updated in the manner previously described.

When sobriety interlock 1 is installed in a vehicle, RUNVLT should be set while the vehicle is running wi as many of the vehicles lights, horn, accessories an the like drawing power as is found to result in the lowest possible voltage reading at V_„ Λ _,_, 61. This

ANODE technique along with the safety factor subtracted to compute RUNVLT helps to ensure that sobriety interlo

1 will not interpret the vehicle as off when it is actually running.

Referring now to Fig. 26, restricted access state S2 will now be described in further detail. Upon entry of the S2 state, all LEDs including those of display 22 are cleared and a distinctive "s2" tone is sounded by beeper 8. Power supply V On is turned on, the vehicle horn turned off, and interlock relay 131 opened. Microprocessor 160 then awaits communica tion from second remote service device 56. Each suc communication begins with an identifying start bit a includes one of several command words. Among these command words are instructions to set the service reminder timer TIME, read the service reminder timer TIME, read the total number of bypass events detecte and stored in memory TOTBYP, read the next DAY/NUMBE couplet, and clear certain locations within EEPROM 195. In addition to the command word the communica¬ tion from second remote service device 56 also includes a data word accompanying the command word where appropriate. For example, when a command to s the service reminder timer, TIME is given, the value in days to which the timer is desired to be set is also transmitted. Upon receipt of one of the above types of communications, a check is performed to determine whether the communication is valid. This may consist of a parity check as well as comparing t

command word to a list of valid command words. If th command word received does not correspond to one of the known command words, or parity is improper, the communication is deemed invalid and is ignored. In that event, microprocesεor 160 simply awaits the next communication. Assuming the received communication i valid, microprocessor 160 interprets the command and executes it.

When a command to set the service reminder timer, TIME is received, the DAY value accompanying the command is written to EEPROM 195. Also, timer TIMIN, which decrements at 1 count at 10 minute intervals, is loaded with a value of 144. This corre sponds to a full day since there are 144 10 minute intervals in a 24 hour period. When TIMIN times out it is automatically reset to 144 and the service reminder timer, TIME is decremented by 1 day. Thus, if service reminder timer, TIME is loaded with a valu of 37 days, and TIMIN is loaded with a value of 144 a the same time, TIME v/ill decrement to 36 days, a full 24 hours after being loaded. After EEPROM 195 is updated, the value of TIME is read therefrom and transmitted to second remote service device to confir proper receipt of the transmission. If the value written to EEPROM 195 does not correspond to the valu received from second remote service device 56 by microprocessor 160, an "eeprom error" tone is sounded

by beeper 8, and a new transmission is awaited. Assuming the two values do correspond however, the distinctive "s2" tone is sounded and a further trans¬ mission awaited. f the transmission received is an instruc¬ tion to read either the value of the service reminder timer, TIME or the total number of recorded bypass events, TOTBYP the appropriate value is read and transmitted to second remote service device 56 for confirmation. The "s2" tone is sounded at the end of the transmission. Interlock 1 can also be instructed to transmit the next DAY/NUMBER couplet of recorded bypass events. When such an instruction is received and appears valid, a single couplet is read from EEPROM 195. Upon being read, the couplet is transmi ted to second remote service device 56. Again, following the transmission, the "s2" tone is sounded and a further transmission is awaited. Couplets are read out on a first-in first-out (FIFO) basis so tha the oldest couplets are the first to be read.

Interlock 1 is also capable of interpretin and executing a command to clear certain registers within EEPROM 195. When such a command is received, TOTBYP, BYPPOINT, and DMT are each written to EEPROM as zero values. It will be recalled that BYPPOINT i a pointer to the next available memory location for storing DAY/NUMBER couplets. By setting BYPPOINT to

zero, the next couplet read will be written ever any values previously stored in EEPROM 195. Accordingly, setting BYPPOINT to zero has the same effect as clearing all previously recorded couplets. It should be noted that the command to clear EEPROM 195 does no effect the service reminder timer, TIME or the run voltage threshold RUNVLT. Should an error occur with respect to any of the foregoing write operations, the "eeprom error" tone is sounded. If no error is detected, the "s2" tone is sounded. Thereafter, interlock 1 will continue to await further instruc¬ tions from second remote service device 56. The S2 state can be exited only by disconnecting second remote service device 56 and effecting a hardware reset of microprocessor 160. This can be accomplishe for example, by momentarily disconnecting control module 2 from vehicle battery 108.

It should be understood that the software executed by microprocessor 160 defines a multi-taskin architecture. Accordingly, in addition to the state transitions depicted in Fig. 14 certain tasks which are not uniquely related to any individual state are constantly being performed. This is illustrated by way of a "BACKGROUND" routine which will now be described with reference to Fig. 27. As indicated there, the BACKGROUND functions are executed continu¬ ously at 1 second intervals. One important function

constantly being performed is the updating of a real time clock to which the running of all the previously mentioned timers is ultimately referenced. A series of subroutines, CHKSUPPLY, CHKCONNECT and CHKSTABLE are also sequentially executed to update the status each flag that is checked in the various states described above. These subroutines will be describe in detail below with reference to Figs. 31, 32 and 3 respectively. Finally, the current value of the service reminder timer TIME is written to EEPROM 195 every 6 hours. In the event of a power interruption this ensures that the TIME value which will be loade upon BOOT UP will be current to within 6 hours.

Subroutine CHKSUPPLY will now be described with reference to Fig. 31. Upon entry of CHKSUPPLY, microprocessor 160 reads the voltage of supply V

61 by reading the data appearing on line AD5 after selecting channel XI of MUX 250. After the V A_„N rt O r D„E_ voltage has been read and stored, a series of three mcrlules designated A, B and C, are executed.

The function of module A is to determine whether the vehicle is currently running. If the vehicle is running, a "vehicle running" flag is set. If the vehicle is not running, the "vehicle running" flag is cleared. Upon entry of module A the current status of the "vehicle running" flag is checked as i the status of the vehicle ignition. If the vehicle

running flag is set and the ignition is off, the bypass delay timer EYP is set. The "vehicle running flag is set if both (a) the vehicle ignition is on (IGN line 70 active) and (b) the voltage appearing a V A.N._O_._DE_ 61 exceeds RUNVLT. Otherwise, this flag is cleared.

Module B operates to determine whether the voltage at power suply V AN0DE 61 lies within accept¬ able op c erating •voltage limits. If the VA_-N OD r E T _ voltaσ does not exceed a predetermined maximum limit, such 15.2 volts, or fall below a predetermined minimum limit, such as 10.7 volts, a "supply voltage good" flag is set indicating that V is within proper limits. Thereafter, a debounce timer DEBTIM is set a desired value such as 60 seconds. The debounce timer operates to prevent transient changes in the voltage at power supply v ANnnp from affecting the operation of sobriety interlock 1. If, upon subse¬ quent checks, the v ANOD voltage exceeds the predete mi_.ed maximum limit or falls below the predetermined minimum limit, the "supply voltage good" flag is cleared provided the debounce timer DEBTIM has timed out.

Module C of the CHKSUPPLY subroutine serve to automatically sense opening of the door of the vehicle in which interlock 1 is installed. As noted previously, automatic sensing of door opening is

effective to power up interlock 1 just as though POWE push button 19 had been pressed. Quite simply, modul C operates by comparing the voltage currently appear¬ ing at power supply V AN0DE 61 against a stored volta threshold Vgrpøp j .- If the V ANODE volta 9 e is less tha V-. - t r-,-- a "door open" flag is set indicating that the vehicle door has been opened. If, on the other hand

thβ V ANODE volt ^ e is not less than V STORE' thβ " doo open" flag is cleared. After setting or clearing th "door open" flag, is updated by setting its

S ORE value eq^ual to the current value of VA-N_ τ O__DE_ less an offset voltage. The offset voltage should be select to correspond to a voltage slightly higher than the voltage drop normally experienced at V upon the opening of the door of the vehicle. This voltage dr is caused by the automatic energization of vehicle accessories such as the interior dome light when the door is open. Applicants have found an offset volta of about 94 millivolts to be suitable in most cases. Occasionally however, a vehicle will not be equipped such that V N __ E will not drop significantly upon opening the vehicle door. In such cases, sobriety interlock 1 must be manually powered up using POWER push button 19. Referring now to Fig. 32, the CHKCONNECT subroutine will now be described in further detail. Initially, HTC line 100 is checked to determine

whether the heater 202 associated with alcohol sens 200 should currently be off. If so, the "sampling head fault" flag is cleared and a sampling head debounce timer, SHDEBOUNCE is set to a suitable desired period, such as 2 seconds. SHDEBOUNCE serv to prevent transient faults from effecting the stat of the "sampling head fault" flag. If HTC line 100 indicates that heater 202 should not be off, the voltage on HSN line 248 is read by selecting channe X3 of MUX 250 and reading line AD5 99 emanating fro A/D 253. The output of alcohol sensor 200 is also read by way of channel X0 of MUX 250 and line AD5 9 of A/D 253. If HSN line 248 falls below a predeter mined threshold, such as 1.5 volts, the "sampling h fault" flag is set provided timer SHDEBOUNCE has ti out. If the timer has not timed out, the "sampling head fault" flag remains in its previous state. Wh HSN line 248 falls below 1.5 volts, this indicates that heater 202 is disconnected or open circuited o that transistor 253 is shorted or open circuited. integrity of alcohol sensor 200 is also checked.

In the event heater 202 is on, the output signal from alcohol sensor 200 should exceed zero volts. If it does, the "sampling head fault" flag cleared and the SHDEBOUNCE timer is reset. Otherwi the "sampling head fault" flag is cleared provided timer SHDEBOUNCE has timed out. A substantially ze

volt output from alcohol sensor 200 under the above conditions indicates that sensor 200 is open or that sampling head 3 is not properly connected to control module 2. Any of those events are effective to cause setting of the "sampling head fault" flag.

Accurate BAC measurements require that the baseline output signal of alcohol sensor 200 be suitably stable prior to each test. The CHKSTABLE subroutine, which will now be described with reference to Fig. 33, is employed by sobriety interlock 1 to gauge whether the sensor baseline signal is stable within predefined limits of acceptability. The technique employed is to read the output of alcohol sensor 200 at intervals such as once each second. Th most recent reading or present reading is stored in a cue which also contains some number, such as 6, of th next oldest readings. The present reading is sub¬ tracted from each one of the "OLD" readings occupying the cue and a counter, BADVAL is incremented whenever the magnitude of the difference between the present reading and one of the OLD readings exceeds a previ¬ ously selected baseline tolerance limit, BASLIM. While BASLIM can be set at any reasonable value depending on the degree of stability to be required, BASLIM value of about 17 millivolts (i.e. about 3 counts of A/D 254) has been found suitable. A coun¬ ter, COUNT is used to increment the cue after each

subtraction. After each reading in the cue has been individually compared with BASLIM, the content of t BADVAL counter is checked. If BADVAL exceeds a predetermined limit such as 2, the sensor baseline i not suitably stable and the "baseline stable" flag i cleared. Otherwise, that flag is set. With each subsequent reading of alcohol sensor 200 the content of the cue are updated by storing the present readin and discarding the oldest reading. hile the above description constitutes a preferred embodiment of the present invention, it is to be ''understood that the invention is not limited

particular, where specific numerical values are mentioned, such are by way of illustration and not limitation. It is also clear that specified compone parts are amenable to various substitutions as those skilled in the art can recognize. Accordingly, it i to be understood that changes can be made without departing from the scope of the invention as particu larly pointed out and distinctly claimed in the clai set forth below. What is claimed is: