`Johnson et al.
`
`[54] MOTION SENSOR
`
`[75]
`
`Inventors: Mark Johnson, Rensselaer; Thomas
`Simkins, Troy, both of N.Y.
`
`[73] Assignee: The United States of America as
`represented by the Secretary of the
`Army, Washington, D.C.
`
`[21] Appl. No.: 596,396
`
`[22] Filed:
`
`Feb. 2, 1996
`
`Related U.S. Application Data
`
`[63] Continuation-in-part of Ser. No. 443,911, May 18, 1995, Pat.
`No. 5,523,742, which is a continuation-in-part of Ser. No.
`970, Jul. 7, 1995.
`.
`Int. CI.6
`..................................................... GOSB 23/00
`[51]
`[52] U.S. CI . .......................... 340/573; 340/566; 128/782;
`200/61.45 R
`[58] Field of Search ..................................... 340/573, 566,
`340/693, 686, 687, 689; 128/782, 721;
`200/61.45 R, 61.52
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`3,733,447
`4,513,183
`4,899,132
`5,136,127
`
`5/1973 Schneider, Jr ........................ 200/61.52
`4/1985 Hill .................................. 200/61.45 R
`2/1990 Stobbe et al. ........................... 340/551
`8/1992 Blair ..................................... 200/61.52
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005610590A
`[lll Patent Number:
`[45] Date of Patent:
`
`5,610,590
`Mar. 11, 1997
`
`Primary Examiner-Thomas Mullen
`Assistant Examiner-Benjamin C. Lee
`Attorney, Agent, or Finn-Saul Elbaum; Edward Goldberg;
`Michael C. Sachs
`[57]
`
`ABSTRACT
`
`A motion detection monitor for patient movement, compris(cid:173)
`ing a sensor for providing signals in response to patient
`movement to provide an alarm under predetermined condi(cid:173)
`tions of patient movement. A processor, including an oscil(cid:173)
`lator, is provided for receiving signals from the sensor, to
`provide oscillator interrupt signals proportional to active
`signals. The interrupt signals are observed within a contigu(cid:173)
`ous series at time windows. The alarm condition is satisfied
`when interrup signals are detected within each window. The
`sensor preferably includes a conductive sphere in a cylinder
`having an interior portion locating the sphere therein with
`conductive end plates and conductive inner surfaces, the
`inner surfaces being tapered to direct the sphere to an at rest
`condition in contact with at least one surface and at least a
`part of the inner surface in any orientation of the sensor. The
`motion detection device further includes jumper circuits for
`adjusting the parameters used to distinguish from casual
`motion and for providing a visible alarm. The motion
`detection device further includes a remote, tetherless
`receiver for receiving the alarm signal, the transmitter means
`repeatedly providing the alarm signal over a periodic inter(cid:173)
`val until the processor is reset by an operator. The visible
`alarm is pulsed with relatively short pulses sufficient to
`activate the alarm, the short pulses being less than sufficient
`to activate the receiver.
`
`11 Claims, 1 Drawing Sheet
`
`lQ
`
`15
`
`16
`
`II
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 1
`
`
`
`U.S. Patent
`
`Mar. 11, 1997
`
`5,610,590
`
`15
`
`3
`
`II
`
`FIG. 1
`
`15
`
`16
`
`SERIAL
`OUT
`43
`
`25
`
`TRANSMITTER
`
`27
`
`27
`
`26 35
`
`21
`
`-
`
`2
`
`4
`
`6
`
`10
`
`2
`3
`.4
`5
`6
`7
`8
`9
`
`18
`17
`16
`15
`14
`13
`12
`11
`0
`
`19
`
`FIG.2
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 2
`
`
`
`1
`MOTION SENSOR
`
`5,610,590
`
`The invention described herein may be made, used, or
`licensed by or for the Government for Governmental pur(cid:173)
`poses.
`This application is a continuation-in-part of application
`Ser. No. 08/443,911 filed May 18, 1995, now U.S. Pat. No.
`5,523,742, which is a c-i-p of application Ser. No. 000,970
`filed Jul. 7, 1995, the entire file wrapper contents of which
`applications are herewith incorporated by reference as 10
`though fully set forth at length.
`
`5
`
`FIELD OF THE INVENTION
`
`The present invention relates to a monitoring device for
`sleeping individuals who are afilicted with status epilepticus.
`More particularly the present invention relates to a motion
`sensor which more effectively detects a particular type of
`motion over a preselected period of time to then trigger an
`alarm upon recognition of that type of motion.
`
`BACKGROUND OF THE INVENTION
`
`30
`
`35
`
`Epilepsy is a disorder of the brain characterized by
`recurring seizures, in which there are uncontrolled electrical
`discharges of brain cells Epilepsy may arise from a very
`small area of damaged brain tissue or from the entire brain.
`There may be no apparent brain damage or damage may be
`limited to an area so small it cannot be detected. Therefore,
`in nearly one-half the cases, the cause of epilepsy is
`unknown
`There are several types of seizures associated with epi(cid:173)
`lepsy, the most common of which are generalized tonic(cid:173)
`clonic (grand mal), absence (petit mal), complex partial
`(psychomotor), and elementary partial (focal motor). Each
`seizure type can be characterized by various symptoms.
`However, the seizures are generally not life threatening,
`lasting at most up to three minutes. The exception is status
`epilepticus, also called continuous seizure state. This is the
`occurrence of repetitive or continuous seizures and affects 40
`approximately 3 to 5% of those individuals suffering from
`epilepsy. It can exist with all types of seizures and may result
`in irreversible brain damage or death without prompt medi(cid:173)
`cal treatment.
`One of the specific problems encountered by parents 45
`having children afilicted with epilepsy, particularly status
`epilepticus, is the problem of alerting the parents when the
`child may be having an epileptic seizure during sleeping
`hours. One recourse has been for the parents to sleep with
`the child, in the same bed, hoping to be awakened by the 50
`seizure during its early stages when the seizure motion may
`be quite mild. Often, the parents will choose to supplement
`this safeguard by using an alarm clock, set to sound every
`hour, to awaken and observe the state of the child. This, of
`course, places an extraordinary burden on both the child and
`the parents and is inherently unreliable as seizures may
`occur at any time. Moreover, the intermittent sleep afforded
`the parents as well as the desire for privacy by the child and
`by the parents make the procedure impractical and ineffi(cid:173)
`cient.
`Motion sensor devices are obvious solutions to the afore(cid:173)
`mentioned problem, provided that such devices be designed
`to ignore the casual motions of a sleeping child (rolling over,
`etc.) while responding to those motions characteristic of a
`seizure, however mild at the beginning. Existing motion 65
`sensor devices such as accelerometers or displacement fol(cid:173)
`lowers could conceivably be designed to detect certain types
`
`2
`of motion while ignoring others, but are invariably expen(cid:173)
`sive, consume excessive power, and, when the required
`signal conditioning equipment is included, form a bulky
`package. Moreover, these devices commonly require elec-
`trical connections between the transducer (affixed to the
`patient) and its associated equipment located near, but not
`on, the patient.
`One system has been proposed for use in monitoring
`children afilicted with status epilepticus, and is disclosed in
`a co-pending application having Ser. No. 08/443,911, filed
`May 18, 1995, which depends eventually, via an interme-
`diate application (Ser. No. 08/312,853, filed Sep. 23, 1994)
`from an application having Ser. No. 08/154,324, filed on
`Nov. 18, 1993. In those applications, a hollow cylinder,
`15 capped at each end respectively by an electrically conduc(cid:173)
`tive circular plate that is electrically insulated from the
`cylinder such that the plates and cylinder are connected via
`an electronic circuit to DC voltage source. The plates are of
`the same polarity but opposite to the cylinder. An electrically
`20 conductive ball is placed in the cylinder and is free to roll to
`establish a closed electrical path at either end of the cylinder
`by being in contact with an end plate and the cylinder's
`interior surface. Electrical current makes and breaks are
`detected and monitored as the ball moves in a closed
`25 electrical path. When the predetermined pattern is detected,
`an alarm is sounded.
`One of the major drawbacks of the proposed system has
`been the need to continuously update the voltage integral in
`time, and thus make continuous comparisons with alarm
`threshold criteria, allowing the effects of sensor variability to
`cause a large number of false alarms. If the parent or other
`person assigned to monitor the sleeping child is not allowed
`to rest, the device functionally has no value; thus false
`alarms are to be avoided if at all possible. Another drawback
`is that the prior art design does not always have contact
`between the sphere and the wall and the end cap of the
`cylinder.
`Another drawback of the prior art system is that it
`required a ratio transmitter/receiver system that was not as
`reliable as desired, due in part to uncertainty over the battery
`reserve, and the chance that tuning was in error. Further, the
`lack of a backup alarm, and improper resetting after a false
`alarm were sources of unrelability.
`Accordingly, it is an object of this invention to provide a
`device for sensing the motion of concern while ignoring, for
`the most part, other non-harmful motion such as ordinary
`movement during sleep.
`Another object of this invention is to provide a monitoring
`device of the type described where the contact between the
`sphere, the wall and the end cap of the cylinder is increased
`in probability.
`Still another object of this invention is to provide a
`monitoring device where the signal is received without need
`for tuning.
`Yet another object of this invention is to provide a simple,
`effective device for monitoring epileptics without disturbing
`the sleep of the patient or the observer unless there is a need
`for concern.
`Other objects will appear hereinafter.
`
`55
`
`60
`
`SUMMARY OF THE INVENTION
`
`It has now been discovered that the above and other
`objects of the present invention may be accomplished in the
`following manner. Specifically, the invention comprises a
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 3
`
`
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`5,610,590
`
`20
`
`25
`
`4
`FIG. 1 is a schematic, side elevational view in section of
`the sensor of this invention.
`FIG. 2 is a schematic view and circuit diagram of the
`present invention illustrating the preferred embodiment as it
`is designed for use with an epileptic child needing overnight
`motion supervision.
`
`3
`motion detection device for use as a monitor for patient
`movement, along with an improved sensor for use with the
`monitors of this invention and also with other monitoring
`systems.
`The sensor is suitable to be attached to a patient for 5
`generating motion signals in response to movement of the
`patient. The sensor includes a conductive sphere and a
`cylinder having an interior portion locating the sphere inside
`this cylinder. The cylinder is constructed of conductive
`material and includes conductive end plates at each end. The 10
`inner surfaces of the cylinder are conductive and tapered or
`As shown in the FIG. 1, the sensor, 10 generally, includes
`otherwise shaped to direct the sphere to an at rest condition
`a small, electrically conductive sphere 11 which is able to
`in contact with at least one end plate and at least a part of an
`move within the confines of a small hollow cylinder 13 with
`inner surface in any orientation of said sensor. The sensor
`closed ends 15. Sphere 11 is preferably made brass and is
`has means for passing an electric current between the part of
`the inner surface it is in contact with and the end plates via 15 gold plated.
`The wall 17 of cylinder 13 is conductive, as are the end
`the sphere when said sphere is in contact with those mem-
`plates 15, each of which are separated from the conductive
`bers. Movement of the cylinder causes movement of the
`portion of the cylinder by insulators 16, which may be
`sphere to provide intermittent contact with the end plates
`rubber rings or other non conductive materials. The end
`and the inner surface.
`plates 15 are electrically connected and form one pole of the
`The present invention provides an improved monitor for
`detecting patient movement, particularly when the patient is
`switch with the cylinder wall being the other pole. When the
`asleep. The monitor system includes a sensor for providing
`sphere is in contact with either end plate and also in contact
`electrical signals in response to patient movement. The
`with the cylinder wall, the switch is mechanically closed.
`preferred sensor is, of course, the sensor described herein.
`However, depending upon the nature of the contact surface,
`However, other sensors may be used as long as they provide
`the contact resistance may be quite high and the switch may
`the appropriate signals for the monitor device of this inven-
`or may not be electrically closed. This mechanically closed
`tion. Specifically, the signals comprise a passive signal when
`position, with the sphere 11 in contact with the cylindrical
`the patient is in the passive mode and an active signal when
`surface 17 and one of the end caps 15 is the only stable
`the patient is in the active mode, such as when suffering an
`30 position of the sphere 11, due to the geometry of the inner
`epileptic seizure.
`surface 17. Because of this, most rolling occurs with sphere
`The monitor system includes a detector housing the
`11 in this contact position. However, it is important to note
`sensor that responds to the signals from the sensor to provide
`an alarm under predetermined conditions of patient move-
`that even small motions of the entire unit will cause the
`sphere 11 to roll, not necessarily to the extend that large
`ment. A processor is contained within the detector and has
`a battery or other power supply for operation thereof. The 35 motions, but sufficiently to roll while resting on the inside
`surface 17 and the end plate 15 with which the sphere 11 is
`processor is operably connected to receive the signals from
`the sensor.
`in contact.
`As the sphere 11 rolls, electrical contact with the wall is
`The processor includes an oscillator, which is normally in
`a disabled mode so as to draw the least amount of current
`intermittent, due to the variations in contact resistance as
`from the battery. Interrupt signals within the processor are 40 noted above. In one experiment, response of the device of
`generated that are proportional to the active mode signals.
`this invention was measured across a 1 Mohm pull down
`The presence or absence of the interrupt signals within a
`resistor over 4.096 VDC applied to the sensor. When volts
`are plotted against time over 1 second, it was found that
`series of contiguous time windows is used to distinguish
`casual activity from a seizure. The absence of sensor activity
`virtually hundreds of responses were recorded, jumping
`from 0 volts to about 4.00 volts, with a small number of
`within any window is an indication of casual motion. 45
`Interrupt signals in all windows satisfies the alarm criterion.
`readings between these two values. This demonstrated that
`In this case, the transmitter communicates with a receiver to
`the sensor was functioning effectively to send a signal
`provide an alarm signal upon receipt of the transmitter
`indicating movement of some form. This sensor is admirably
`signal. As part of the processor, jumper circuits are included
`suited for use with motion monitoring systems that utilize
`for adjusting the number of windows and the length of each 50 on-patient detection of certain types of movement, such as
`window. The processor may also included a battery voltage
`that caused by a seizure.
`testing circuit.
`The present invention also includes a motion detection
`In one embodiment, the transmitter and receiver combi(cid:173)
`monitor that can employ the sensor of this invention and is
`nation of this invention includes a remote receiver for
`described in that embodiment. It is to be understood, how-
`receiving the alarm signal, and the transmitter means repeat(cid:173)
`55 ever, that other sensors that provide similar data are also
`edly provides or sends the alarm signal over a periodic
`usable with the present monitor. All that is required is that
`interval until the processor is reset by an operator. It is also
`an electronic signal responsive to movement of the sensor be
`desirable to include a visible alarm on the device, so that one
`generated by the sensor in response to a passive mode in
`looking in on the patient can see that an alarm signal is being
`which the patient is at rest and an active signal when the
`60 patient is in the active mode. Shown in FIG. 2 is a schematic
`sent even when the receiver is not in service. The visible
`alarm (LED) is pulsed with relatively short pulses sufficient
`view of the monitor electronics for the preferred embodi(cid:173)
`to activate the LED but less than sufficient to activate the
`ment of the present invention. The microcontroller 19 used
`receiver.
`herein is an 8-bit RISC CMOS EPROM microcontroller
`designed to operate between 3 and 6 volts from DC to 20
`65 MHz. High speed is not required so the microcontroller 19
`operates at a low voltage (4 volts) and low clock speed (75
`khz) to conserve power. Power is derived from a 12 volt
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the invention,
`reference is hereby made to the drawings, in which:
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 4
`
`
`
`5,610,590
`
`5
`power source 21, that provides the appropriate voltage via
`voltage reference 23, as part of transmitter 25. The voltage
`reference 23 is a Maxim MAX874 low-dropout, precision
`voltage reference that is utilized to supply the 4 volts needed
`for the circuitry. This specific voltage reference was selected 5
`because of its low quiescent current (10 µA) and dropout
`(200 m V)voltage. The MAX874 supplies up to 400 µA at 4.3
`volts to 20 volts. Nominal current flow of the circuit,
`including 12 volt passive transmitter operation, is 25 µA
`when the processor 19 is in the sleep mode and 85 µA during 10
`oscillation. When activated, the transmitter draws 5 mA.
`Although there are many influencing factors, the useful
`battery life of an Eveready© A23 12 volt alkaline battery or
`equivalent is estimated to be two months ifthe device is used
`every night for nine hours.
`With the exception of the 20 pF crystal tank capacitors 26,
`all capacitors 27 (1000 pF) are for decoupling, as shown in
`FlG. 2. A 262k feedback resistor 29 in the oscillator circuit
`is required to prevent over driving the crystal 30. The lOOk
`resistor 31 eliminates spurious oscillations and reduces 20
`standby current drain. Battery voltage is dropped by a
`
`6
`voltage divider network 33 and periodically monitored by an
`on-chip AID converter at pin pl 7 of processor 19. Pull-down
`resistors 34 at terminals p9-pl2 define the default logic
`settings for the jumpers. These jumpers may be used to
`disable the battery test via J1 jumper 35, adjust the length
`and number at the time windows via J2 jumper 37 and J3
`jumper 39, and enable a debug mode for diagnostics via J4
`jumper 41. The diagnostic information is
`transmitted
`through a serial link at output port p2 of processor 19.
`Data is transmitted at 150 baud (6.7 msec pulses) with one
`start bit, eight data bits, and two stop bits. A 1488 or similar
`protocol converter must be used to insure RS232 compat(cid:173)
`ibility. This is done with the DS1488 converter or diagnostic
`1s unit having -12 volts at pin 1 and +12 volts at pin pl4. A
`9155 VMOS power VET driven by microcontroller 19 via
`its output port pl simultaneously switches the transmitter
`and alarm LED 43. In operation, the sensor 10 generally is
`monitored at pin p3 via input to processor 19 via line 45.
`450 lines of microcontroller code define the system of
`operation. Presented below is the code listing:
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 5
`
`
`
`7
`
`8
`
`5,610,590
`
`1 5
`
`Code Listing
`
`; assembler code for microcontrolled motion sensor
`; assembler for Microchip PIC16C71
`
`20
`
`; MACRO definitions
`
`out
`
`25
`
`MACRO
`movlw
`call
`ENDM
`
`char
`char
`putchar
`
`; register definitions
`
`RTCC
`30 STAT
`FILEREG
`PORTA
`PORTB
`ADCONO
`35 ADCONl
`AD RES
`PC LATH
`INTCON
`TRI SA
`40 TRI SB
`DLY_l
`DLY_2
`DELAY_l
`DELAY_2
`45 DELAY_3
`PUTHEX_l
`PUTHEX_2
`PUTCHAR_l
`
`equ Olh
`equ
`03h
`equ
`04h
`equ
`05h
`equ
`06h
`equ
`08h
`BBh
`equ
`equ
`09h
`equ
`OAh
`equ OBh
`equ
`85h
`equ
`86h
`equ Och
`equ
`Odh
`equ
`Oeh
`equ
`Ofh
`equ
`lOh
`equ
`l lh
`equ
`12h
`equ
`13h
`
`; register for delay
`; register for delay
`·registers for subroutines - keep w!
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 6
`
`
`
`9
`
`10
`
`5,610,590
`
`PUTCHAR_2
`PUTCHAR_3
`CONV_l
`TEMP
`5 BATT_l
`BATT_R
`DBG_l
`BATT_S
`CO_l
`10 C0_2
`STRG_l
`STRG_n
`RrCC_C
`PULS_l
`PULS_2
`
`1 5
`
`; constants
`
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`equ
`
`14h
`15h
`16h
`17h
`18h
`19h
`lah
`lbh
`lch
`ldh
`leh
`lfu
`20h
`2lh
`22h
`
`1 I
`
`; holds battery voltage
`; count thresholds
`
`; RrCC counter
`; pulse counter 1
`; pulse counter 2
`
`SMP_l
`20 SMP_2
`LEDO_l
`LED0_2
`LEDI_l
`LED1_2
`25 XMT_l
`XMT_2
`ASC_l
`ASC_2
`COUNTh
`30 COUNT
`COUNTi
`COUNTd
`BATT_rf
`
`35
`
`40
`
`45
`
`INTCON
`
`50
`
`;
`start
`
`55
`
`: sample delay time (100 msec)
`
`; LED off time (800 msec)
`
`; LED on time (25 msec)
`
`equ
`b'lOOOlOOO'
`equ
`b'OOOOOOIO'
`b'll 111111'
`equ
`b'OOOOlOOl'
`equ
`b'OOOlOOl l'
`equ
`b '00000011'
`equ
`equ b'llllllll' ; transmitter pulse width (500 msesl
`equ
`b'OOOOOlOl'
`equ
`b'OOOOllOI'
`equ
`b'OOOOOOO l'
`equ
`bOOOOOOOO'
`equ
`b'll010000'
`b' 11000000'
`equ
`equ
`b' 11100000'
`h'BO'
`equ
`
`; ASCII delay time for 150 baud
`; remember, need at least 1 !
`; upper byte of count threshold
`; normal 30 sec count limit (lower)
`; increased sensitivity
`; decreased sensitivity
`;holds minimum battery voltage
`
`org
`goto
`goto
`goto
`goto
`
`h'OOOO'
`start
`start
`start
`start
`
`; location 0000
`; location 0001
`; location 0002
`; location 0003
`
`interrupts occur at location 4
`
`INTCON, 3
`btfsc
`acquire
`goto
`decfsz RrCC_C
`goto
`acquire
`
`; bit 3 = port change interrupt on RB4
`; begin getting data
`; RTCC interrup here [bit 5)
`; keep getting data->acquire to reset
`
`goto
`
`test
`
`; times up! compare results
`
`INTCON
`
`clrf
`clrwdt
`movlw b'OOOOOOlO' RAO,RAl=analog RA2.RA3=digital Vddref
`movlf ADCONl
`movlw b'lOlOOOOO'
`movwf ADCONO
`movlw b'OOOlOOl l'
`
`; 32*tosc, In on RAO. disable A/D
`
`; define PORTA Inputs and outputs,
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 7
`
`
`
`11
`
`12
`
`5,610,590
`
`I 2
`
`trls
`bcf
`btfsc
`bsf
`
`PORTA
`PORTA, 2
`PORTB,4
`PORTA,3
`
`: ensure transistor Is off
`: If RB4 set, set output high
`
`movlw b' 11111111'
`tris
`PORTE
`
`: port B Is all Inputs
`
`: upper byte of count threshold
`
`; if RBS set, Increase sensitivity
`
`; if RB6 set. decrease sens!tMty
`
`movlw COUNTh
`movwf C0_2
`· movlw COUNT
`btfsc PORrB, 5
`movlw COUNT!
`btfsc PORrB, 6
`movlw COUNTd
`movwf CO_l
`movlw b'OOOO 100 l'
`movwf RrCC_C
`clrf RrCC
`movlw b'l1000111 l'
`option
`PULS_l
`clrf
`PULS_2
`clrf
`movlw SMP_l
`movwf DLY_l
`movlw SMP_2
`movwf DLY_2
`
`: approx. 30 seconds of data
`
`; RrCC prescale -> WDT prescale
`; instructions in book
`; clear pulse count 1
`; clears pulse count 2
`; delay constants for sampling
`
`; enable only interrupt on RB4-RB7
`
`movlw b' 10001000'
`movwf INTCON
`sleep
`goto
`
`start
`
`; WDT time-out executes next instruction
`
`edge_l
`
`acquire clrwdt
`INTCON
`clrf
`movlw b' 11000111'
`option
`movlw b' 10100000'
`movwf INTCON
`movf PORTB,w
`movft TEMP
`clrwdt
`movf PORTB,w
`xorwf TEMP,w
`btfsc STAT,2
`edge_2
`goto
`call
`p_inc
`call
`delay
`edge_l
`goto
`
`edge_2
`
`p_inc
`
`clrwdt
`PULS_l
`lncf
`movf PULS_l. w
`sorlwB'l 1111111'
`btfss STAT,2
`rel urn
`
`; no B pull-ups, RTCC prescale max
`
`; enable RTCC only, not port change
`
`; wait for results to change
`' insure result is put in w
`
`; 16 bit Increment
`; wait for next 100 msec.
`
`; increment 16 bits
`
`; status bit 2 set if equal
`: not equal
`
`5
`
`10
`
`1 5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 8
`
`
`
`13
`
`14
`
`5,610,590
`
`1 3
`
`; equal
`
`: determine if count is enough
`
`; 1-> don't test battery
`: check battery voltage
`; if RB4 set, print debut data
`
`: check highest byte
`
`: check if measured count> C0_2
`
`; check if w = count
`; W< C0_2
`; don't test for equality
`
`; trigger alarm
`; W < CO_l
`
`incf
`clrf
`return
`
`PULS_2
`PULS_l
`
`clrdwt
`INTCON
`clrf
`btfss PORTB,3
`battery
`call
`btfsc PORTB.4
`debugf
`call
`movf PULS_2, w
`subwf C0_2,w
`btfss STAT. 0
`alann
`goto
`btfss STAT.2
`start
`goto
`movf PULS l,w
`subwf CO_l,w
`btfsc STAT,O
`start
`goto
`
`alarm sends out a 500 ms pulse to the transmitter and flashes
`the LED. The transmitter LED is used, but 25 ms is not enough
`to toggle the receiver. Every 30 sec. (approx 32 iterations
`through LED_lp. the signal is retransmitted in case the device
`was not reset, or didn't work
`clrf
`INTCON
`clrwdt
`btfsc PORTB, 4
`call
`debuga
`movlw b'00100111'
`movfw TEMP
`movlw XMT_2
`movwfDLY_2
`movlw XMT_l
`rnovwf DLY_l
`PORTA, 2
`bsf
`call
`delay
`
`; if jumper set, print "alarm set"
`
`; TEMP is now used as a counter
`
`: set switch on time
`
`flash LED
`
`clrwdt
`rnovlw LED 1_2
`movwf DLY_2
`movlw LED l_l
`movwf DLY_l
`PORTA,2
`bsf
`call
`delay
`movlw LED0_2
`movwf DLY_2
`movlw LEDO_ I
`movwf DLY 1
`bcf
`PORTA,2
`call
`delay
`decfsz TEMP
`
`; LED on
`
`;LED off
`
`; after FF iterations, retransmit
`
`5
`
`test
`
`10
`
`1 5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`. ;alarm
`
`LED_lp
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 9
`
`
`
`15
`
`16
`
`5,610,590
`
`14
`
`goto LED_lp
`goto
`alarm
`
`clrwdt
`
`;assume desired delays regs DLY_l &
`
`movwf DEIAY_3
`clrf DEIAY_2
`clrwdt
`movf DEIAY_2,w
`xorwf DLY_2,w
`btfss STAT,2
`loop2c
`goto
`movf DEIAY_3,w
`return
`in cf DELAY_2
`clrf DELAY_l
`clrwdt
`in cf DEIAY_l
`movf DELAY_l,w
`xorwf DLY_l.w
`btfss STAT,2
`loopl
`goto
`loop2
`goto
`
`clrwdt
`movwf PUTHEX_ l
`andlw b'l 1110000'
`
`movwf PUTHEX_2
`swapf PUTHEX_2
`movf PUTHEX_2,w
`call
`conv
`putchar
`call
`movf PUTHEX_l,w
`andlw b'OOOO 1111'
`call
`conv
`putchar
`call
`movf PUTHEX_l,w
`return
`
`clrwdt
`movwf CONV _l
`sublw b'OOOOlOOl'
`movlw b'OOOOOOOO'
`btfss STAT,O
`addlw b'OOOOOl 11'
`addlw b'OOl 10000'
`addwf CONV _l
`rnovf CONV_I,w
`return
`
`clrwdt
`movwf PUTCHAR_l
`rnovwf PUTCHAR_2
`movlw ASC_2
`
`; need at least 1 in DLY_2
`
`; sends out w in two ASCII bytes
`
`; send highest first -> it gets printed
`
`; converts nibble to ASCII code,
`; sends data on port
`
`; don't lose w
`
`.converts nibble in w to ASCII code-> w
`savew
`
`movlw doesn't affect status bits
`test if 0-9 or A-F, results -> w
`;A-F
`
`; w contains ASCII code
`
`sends byte In won PITTA 3
`retain w value
`working register to shift
`
`5
`
`delay
`DLY_2
`
`1 0
`
`15
`
`20
`
`25
`
`loop2
`
`loop2c
`
`loopl
`
`puthex
`
`first
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`conv
`
`putchar
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 10
`
`
`
`17
`
`18
`
`5,610,590
`
`I 5
`
`. ; ensure correct delay sequence
`
`; bit count
`
`; start bit
`
`movlw DLY_2
`movlw ASC_l
`movlw DLY_l
`movlw b'OOOOIOOO'
`movwf PUTCHAR_3
`bcf
`PORTA.3
`call
`delay
`btfsc PUTCHAR_2,0
`putchr2
`goto
`bcf
`PORTA,3
`putchr3
`goto
`bsf
`PORTA, 3
`call
`delay
`rrf
`PUTCHAR 2
`decfsz PUTCHAR=3
`putchrl
`goto
`bsf
`PORTA,3
`call
`delay
`call
`delay
`movf PUTCHAR_l.w
`return
`
`putchrl
`
`putchr2
`putchr3
`
`5
`
`I 0
`
`15
`
`20
`
`25
`
`30
`
`35
`
`battl
`
`battery clrwdt
`movwf BATT_ I
`bsf
`ADCONO,O
`bsf
`ADCON0,2
`clrwdt
`btfsc ADCON0,2
`battl
`goto
`movf ADRES,w
`movwf BATT_R
`sublw BATT_rf
`btfsc STAT,O
`goto alarm
`bcf
`ADCONO,O
`movf BATT_l,w
`return
`
`crlf
`
`40
`
`debugf
`
`45
`
`50
`
`55
`
`clrwdt
`movlw h'Od'
`call
`pu tchar
`movlw h'Oa'
`putchar
`call
`return
`
`clrwdt
`movwf DBG_l
`out
`"d"
`out
`"o"
`out
`"n"
`out
`"e"
`call crlf
`out
`"c"
`out
`"o"
`oul
`"u"
`out
`"n"
`
`; 2 stop bits
`
`; keep w value
`
`: savew
`: enableA/D
`: start conversion
`
`: wait for conversion to complete
`
`; save results for debut
`
`; check if measured voltage too low
`
`; disable A/D converter
`; restore w
`
`; outpust a er and lf
`
`; save w
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 11
`
`
`
`19
`
`5,610,590
`
`20
`
`l 6
`
`: print 4 bytes of count
`
`: print "increased"
`
`; print "decreased"
`
`"t"
`
`. = "
`
`out
`out
`out
`out
`movf PULS_2,w
`puthex
`call
`movf PULS_l,w
`puthex
`call
`call
`crlf
`"t"
`out
`"h"
`out
`"r"
`out
`HeM
`out
`"s"
`out
`out
`"h"
`"o"
`out
`"l"
`out
`"d"
`out
`out
`out
`out
`btfsc PORTB,5
`goto
`debugi
`btfsc PORTB,6
`goto
`debugd
`"n"
`out
`"o'
`out
`"r"
`out
`"m"
`out
`"a"
`out
`"I"
`out
`goto
`debugse
`out
`"I"
`"n"
`out
`"c"
`out
`"r"
`out
`.. e"
`out
`··a""
`out
`.. s"
`out
`• e"
`out
`"d"
`out
`goto
`debugse
`"d"
`out
`"e"
`out
`"c"
`out
`"r"
`out
`"e"
`out
`"a"
`out
`.. s"
`out
`.-e••
`out
`"d"
`out
`out
`oul
`out
`out
`oul
`
`. = ..
`
`"s"
`"e"
`"n"
`"s"
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`debugi
`
`debugd
`
`debutse
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 12
`
`
`
`21
`
`22
`
`5,610,590
`
`l 7
`
`; print threshold values
`
`1-> don't test batteiy
`
`; print batteiy voltage
`
`:y:
`
`"v"
`"o"
`·1·
`"t"
`"a"
`·g·
`"e"
`
`"I"
`"t"
`"I"
`"v"
`"!"
`"t"
`"y"
`
`. ("
`
`out
`out
`out
`out
`out
`out
`out
`out
`out
`movf C0_2,w
`puthex
`call
`movf CO_l,w
`puthex
`call
`out
`")"
`call
`crlf
`out
`"b"
`uatt
`out
`"t"
`out
`• t"
`out
`out
`"e"
`"r"
`out
`out
`out
`out
`out
`out
`out
`out
`out
`out
`out
`btfsc PORTB,3
`goto
`de~ugO
`u=
`out
`out
`movf BATT_R,w
`call
`puthex
`goto
`debugx:
`"t"
`out
`.. e.
`out
`out
`"s"
`out
`"t"
`out
`"d"
`out
`.. i"
`out
`us,.
`out
`out
`~·a"
`"b"
`out
`out
`"!"
`• e ..
`out
`"d ..
`out
`call
`crlf
`movf DBG_l,w
`
`clrwdl
`
`5
`
`10
`
`1 5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`debugO
`
`debugx:
`
`return
`
`debuga
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 13
`
`
`
`23
`
`5,610,590
`
`24
`
`l 8
`
`movwf DBG_l
`out
`"a"
`out
`"I"
`out
`"a"
`out
`"r"
`out
`"m"
`out
`out
`"s"
`out
`"e"
`"t"
`out
`crlf
`call
`movf DBG_l,w
`return
`goto start
`remaining memory filled with ·goto start' instructions
`
`5
`
`10
`
`1 5
`
`Zepp Labs, Inc.
`ZEPP 1017
`Page 14
`
`
`
`5,610,590
`
`15
`
`25
`
`25
`Upon power-up, processor 19 interrupts are all disabled
`and the input/output port definitions established. The AID
`converter characteristics are defined, but the converter is
`disabled to conserve power. The jumpers are monitored and
`the system initialized after which the processor enters a 5
`power saving sleep mode. Although a watchdog timer is
`available that is capable of resetting the system every 2.5
`seconds, it was disabled to conserve power. There is an
`excessive current draw while the processor drives the crystal
`tank circuit 30 into oscillation at lower frequencies. 10
`Approximately 500 msec are required to achieve stable
`oscillation, with a 230 µA peak current draw.
`While in the sleep mode, the oscillator 30 is disabled until
`it receives an interrupt indicating a signal change from the
`sensor. At this point the processor attempts to distinguish a
`seizure from casual motion by looking for uninterrupted
`sensor activity in contiguous windows of time. Absence of
`activity in any window resets the processor and it returns to
`a power saving sleep mode. If either the battery voltage is
`too low (nine volts) or the activity indicates a possible
`seizure, the processor toggles the receiver with a 500 msec
`transmitter pulse through the VMOS power transistor. For
`the transmitter/receiver control modules selected, pulse
`widths under 400 msec were unreliable and those in excess
`of 700 msec could cycle the receiver two times (i.e., no
`noticeable effect). The signal is retransmitted every 30
`seconds until reset, turning the alarm on and off periodically.
`This ensures the device attached to the receiver will be
`activated in the event an alarm condition occurs before the
`time windows via J2 jumper 37 and J3 jumper 39, and enable 30
`a debug mode for diagnostics via J4 jumper 41. The diag(cid:173)
`nostic information is transmitted through a serial link at
`output port p2 of processor 19.
`Data is transmitted at 150 baud (6.7 msec pulses) with one
`start bit, eight data bits, and two stop bits. A 1488 or similar 35
`protocol converter must be used to insure RS232 compat(cid:173)
`ibility. This is done with the DS 1488 converter or diagnostic
`unit having -12 volts at pin 1 and +12 volts at pin p14. A
`9155 VMOS power VET driven by microcontroller 19 via
`its output port pl simultaneously switches the transmitter 40
`and alarm LED 43. In operation, the sensor 10 generally is
`monitore