U.S. patent application number 13/013640 was filed with the patent office on 2011-07-28 for serial-chaining proximity sensors for gesture recognition.
This patent application is currently assigned to INTERSIL AMERICAS INC.. Invention is credited to Warren Craddock, Philip Golden, David W. Ritter.
Application Number | 20110180709 13/013640 |
Document ID | / |
Family ID | 44308255 |
Filed Date | 2011-07-28 |
United States Patent
Application |
20110180709 |
Kind Code |
A1 |
Craddock; Warren ; et
al. |
July 28, 2011 |
SERIAL-CHAINING PROXIMITY SENSORS FOR GESTURE RECOGNITION
Abstract
A system and method for identifying a position of a moving
object, utilizing a serial chain of sensors is provided. The serial
chain reduces the power needed for the motion detection system,
allowing implementation of the motion detection system on a
low-power computing device, such as a microcontroller. The serial
chain can provide automatic address assignment without dedicated
pins. The serial chain can also provide automatic sequencing of
access to a shared LED. The serial chain can also provide automatic
time correlation of data from multiple sensors in the motion
detection system.
Inventors: |
Craddock; Warren; (San
Francisco, CA) ; Ritter; David W.; (San Jose, CA)
; Golden; Philip; (Menlo Park, CA) |
Assignee: |
INTERSIL AMERICAS INC.
Milpitas
CA
|
Family ID: |
44308255 |
Appl. No.: |
13/013640 |
Filed: |
January 25, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61298895 |
Jan 27, 2010 |
|
|
|
Current U.S.
Class: |
250/338.1 ;
250/214.1 |
Current CPC
Class: |
G01J 1/46 20130101; G01S
17/08 20130101; G01J 9/00 20130101; G01N 21/55 20130101; H01L
31/101 20130101 |
Class at
Publication: |
250/338.1 ;
250/214.1 |
International
Class: |
H01L 31/00 20060101
H01L031/00; G01J 1/42 20060101 G01J001/42 |
Claims
1. An apparatus, comprising: at least one detector that generates
an electrical signal in response to detecting at least one motion;
and a motion detector circuit that determines that the electrical
signal corresponds to the at least one motion; wherein, the at
least one detector sends the electrical signal to the motion
detector circuit across a bus; and the at least one detector
receives an address on the bus according to a serial chain.
2. The apparatus of claim 1, wherein the at least one detector is
at least one light sensor.
3. The apparatus of claim 3, wherein the at least one light sensor
comprises at least one infrared (IR) sensor.
4. The apparatus of claim 1, wherein the electrical signal
comprises a datagram and the address is assigned for the at least
one detector based at least in part on the datagram
5. The apparatus of claim 4, wherein the datagram comprises a first
field that indicates that an address should be incremented by a
number in a second field.
6. The apparatus of claim 5, wherein the first data field is a
COMMAND field set to 00.
7. The apparatus of claim 5, wherein the second data field is an
8-bit field.
8. The apparatus sensor of claim 7, wherein the second data field
is initially set to 1.
9. The apparatus of claim 8, wherein the at least one detector
increments the second data field by one before sending the datagram
to a next detector.
10. The apparatus of claim 1, wherein the at least one detector
comprises an input pin that is driven high and an output pin that
is driven low on power up.
11. The apparatus of claim 7, further comprising a next detector
coupled to the first detector, wherein the next detector comprises
an input pin that is driven low and an output pin that is driven
low on power up.
12. A method, comprising: configuring at least a first sensor and a
next sensor on a serial chain to share an emitter; driving the
emitter by the first sensor for a predetermined time period;
sending a datagram from the first sensor to the next sensor; and
driving the emitter by the second sensor for the predetermined time
period.
13. The method of claim 12, wherein the pre-determined time period
is 8 milliseconds.
14. The method of claim 12, wherein the configuring further
comprises configuring the at least the first sensor and the second
sensor on the serial chain to share the emitter through a register
map.
15. The method of claim 12, wherein the driving the emitter by the
first sensor further comprises driving the emitter for 128 samples,
each 62.5 microseconds long.
16. The method of claim 12, wherein the driving the emitter by
using the first sensor further comprises driving the emitter by
using the first sensor through a driving pin of the first
sensor.
17. A system, comprising: at least one light emitting diode (LED)
that emits a signal, wherein at least a portion of the signal
reflects back from a moving object; one or more sensors for
generating an electric signal based on a peak in the reflected
portion of the frequency modulated signal, wherein the one or more
sensors are arranged in a serial chain and transmit the electric
signal across the serial chain; and a signal processing circuit
that reconstructs the at least one gesture based at least in part
on the electric signal.
18. The system of claim 17, wherein the serial chain facilitates
automatic time correlation between the one or more sensors.
19. The system of claim 17, wherein the one or more sensors
comprise one or more four-sample first-in-first-outs (FIFOs) that
store a time code of the peak and a magnitude of the peak.
20. The system of claim 19, wherein the signal processing circuit
reads the peak from the one or more sensors and reconstructs the at
least one gesture based at least in part on the magnitude of the
peak and the time code of the peak.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent
Application Ser. No. 61/298,895, filed on Jan. 27, 2010, and
entitled "ARCHITECTURE FOR A REFLECTION BASED LONG RANGE PROXIMITY
AND MOTION DETECTOR HAVING AN INTEGRATED AMBIENT LIGHT SENSOR," the
entirety of which is incorporated by reference herein. Further,
this application is related to co-pending U.S. patent application
Ser. No. 12/979,726, filed on Dec. 28, 2010 (Attorney docket number
SE-2773/INTEP105USA), entitled "DISTANCE SENSING BY IQ DOMAIN
DIFFERENTIATION OF TIME OF FLIGHT (TOF) MEASUREMENTS," co-pending
U.S. patent application Ser. No. ______, filed on ______ (Attorney
docket number SE-2874-AN/INTEP105USB), entitled "DIRECT CURRENT
(DC) CORRECTION CIRCUIT FOR A TIME OF FLIGHT (TOF) PHOTODIODE FRONT
END", co-pending U.S. patent application Ser. No. ______, filed on
______ (Attorney docket number SE-2785-AN/INTEP105USC), entitled
"PHOTODIODE FRONT END WITH IMPROVED POWER SUPPLY REJECTION RATIO
(PSRR)," co-pending U.S. patent application Ser. No. ______, filed
on ______ (Attorney docket number SE-2877-AN/INTEP105USD), entitled
"AUTOMATIC CALIBRATION TECHNIQUE FOR TIME OF FLIGHT (TOF)
TRANSCEIVERS," and co-pending U.S. patent application Ser. No.
______, filed on ______ (Attorney docket number
SE-2878-AN/INTEP105USF), entitled "GESTURE RECOGNITION WITH
PRINCIPAL COMPONENT ANALYSIS." The entireties of each of the
foregoing applications are incorporated herein by reference.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 illustrates an exemplary system that detects motion
utilizing a serial chain of optical sensors.
[0003] FIG. 2 illustrates an exemplary topology for a serial chain
utilized by a motion detection system.
[0004] FIG. 3 illustrates an exemplary datagram sent by optical
sensors in the serial chain.
[0005] FIG. 4 illustrates an exemplary methodology for assigning
addresses to optical sensors in a motion detection system.
[0006] FIG. 5 illustrates an exemplary methodology for automatic
emitter sharing between optical sensors in a motion detection
system.
[0007] FIG. 6 illustrates an exemplary methodology for automatic
time correlation between optical sensors in a motion detection
system.
[0008] FIG. 7 illustrates an exemplary functional block diagram for
the architecture of the subject disclosure.
DETAILED DESCRIPTION
[0009] A category of monolithic devices is emerging that allows
electronic products to sense their environment. These include
diverse devices, such as, accelerometers, monolithic gyroscopes,
light sensors and imagers. In particular, light sensors are one of
the simplest and cheapest, allowing their inclusion in multitudes
of consumer products, for example, nightlights, cameras, cell
phones, laptops etc. Typically, light sensors can be employed in a
wide variety of applications related to proximity sensing, such as,
but not limited to, detecting the presence and/or distance of a
user to the product for the purpose of controlling power, displays,
or other interface options.
[0010] Infrared (IR) detectors utilize IR light to detect objects
within the sense area of the IR sensor. Moreover, IR light is
transmitted by an IR Light emitting diode (LED) emitter, which
reflects off of objects in the surrounding area and the reflections
are sensed by a detector. Moreover, the detector can be a diode,
e.g., a PIN diode, and/or any other type of apparatus that converts
IR light into an electric signal. The sensed signal is analyzed to
determine whether an object is present in the sense area and/or to
detect motion within the sense area. It can be appreciated that
although the subject specification is described with respect to IR
light, the systems and methods disclosed herein can utilize most
any wavelength. As an example, the subject system and/or
methodology can be employed for acoustical proximity detection
and/or ultrasonic range finding applications.
[0011] For example, the sensor can be one of multiple proximity
sensors arranged on a device to detect motion. In a motion
detection system, multiple sensors can be arranged to detect
motion, for example, a gesture on a screen. Each of the multiple
sensors that can sense the gesture, for example, at different times
at different locations on the screen. Each of the multiple sensors
can transmit a sensed signal corresponding to the gesture to be
analyzed across a system bus. In conventional systems, addresses of
the multiple sensors are assigned through dedicated pins. The
systems and methods disclosed herein allow for automatic address
assignment for multiple sensors without dedicated pins. Through a
serial chain of sensors, access to an emitter shared by the sensors
can be automatically sequenced and data from the sensors can be
automatically time-correlated without involvement of a controller,
conserving power because these capabilities can be done in
firmware. In contrast, conventional systems waste power because
they cannot perform these actions in firmware, and, instead, must
invoke substantial processing power of corresponding devices.
[0012] The subject matter is described with reference to the
drawings, wherein like reference numerals are used to refer to like
elements throughout. In the following description, for purposes of
explanation, numerous specific details are set forth in order to
provide a thorough understanding of the subject disclosure. It may
be evident, however, that the subject matter may be practiced
without these specific details. In other instances, well-known
structures and devices are shown in block diagram form in order to
facilitate describing the subject disclosure. Many modifications
may be made to this configuration without departing from the scope
or spirit of the claimed subject matter.
[0013] Moreover, the word "exemplary" is used herein to mean
serving as an example, instance, or illustration. Any aspect or
design described herein as "exemplary" is not necessarily to be
construed as preferred or advantageous over other aspects or
designs. Rather, use of the word "exemplary" is intended to present
concepts in a concrete fashion. As used in this application, the
term "or" is intended to mean an inclusive "or" rather than an
exclusive "or". That is, unless specified otherwise, or clear from
context, "X employs A or B" is intended to mean any of the natural
inclusive permutations. That is, if X employs A; X employs B; or X
employs both A and B, then "X employs A or B" is satisfied under
any of the foregoing instances. In addition, the articles "a" and
"an" as used in this application and the appended claims should
generally be construed to mean "one or more" unless specified
otherwise or clear from context to be directed to a singular form.
In addition, the word "coupled" is used herein to mean direct or
indirect electrical or mechanical coupling. Further, the terms
"sense area," "vision field," "optical field," and similar
terminology are utilized interchangeably in the subject
application, unless context warrants particular distinction(s)
among the terms. Moreover, the terms "sensor," "detector," and
similar terminology are utilized interchangeably in the subject
application, unless context warrants particular distinction(s)
among the terms.
[0014] Referring initially to FIG. 1, there illustrated is an
example system 100 that employs optical sensors 102 to sense
distance, motion and/or ambient light, according to an aspect of
the subject specification. For example, the optical sensors 102 can
include one or more proximity sensors. In one aspect, the optical
sensors 102 can include one or more infrared sensors (e.g.,
photodiodes, such as tuned positive-intrinsic-negative (PIN)
diodes). However, the optical sensors 102 can include any sensors
that can convert a light signal to an electric signal. It can be
appreciated that the optical sensors 102 are not limited to
utilizing IR light, and, instead, can be any sensor, detector, or
combination of sensors and detectors that can utilize light signals
of most any wavelength. Although three optical sensors 102 are
shown for simplicity in system 100, a system can employ more
optical sensors 102 or fewer optical sensors 102. It can be
appreciated that the optical sensors 102 can be an array of optical
sensors 102.
[0015] In general, system 100 can be employed in most any light
sensing/optical proximity application. For example, a laptop
computer can detect a gesture (e.g., a tap or a swipe) on a track
pad utilizing optical sensors arbitrarily arranged on the track
pad. In another example, a cellular phone or a personal digital
assistant (PDA) can detect a gesture (e.g., a tap or a swipe) on a
screen utilizing optical sensors arbitrarily arranged on the
screen.
[0016] The optical sensors 102 can be coupled to a signal
processing circuit 104 to transmit sensed outputs 106, 108, 110. In
one aspect the sensed outputs 106, 108, 110 are electrical signals
corresponding to sensed light. These electrical signals can vary
over time. The signal processing circuit 104 can analyze the sensed
outputs 106, 108, 110 and determine whether an object 112 is
present in the sense area and/or to detect motion by the object 112
within the sense area. The object 112 can be most any entity of
interest, such as, but not limited to, a human entity, an automated
component, a device, an item, an animal, etc.
[0017] According to one aspect, signal processing circuit 104 can
be embedded on a single integrated circuit (IC) chip (e.g., a
microcontroller). However, the signal processing circuit 104 need
not be embedded on a single IC chip, and, instead, components of
the signal processing circuit 104 can be distributed among several
IC chips. The sensed outputs 106, 108, 110 can be transmitted to
the signal processing circuit 104 via a bus 114 (e.g. a serial bus,
such as an Inter Integrated Circuit ("I.sup.2C") bus). Although an
I.sup.2C bus is described herein, it should be understood that the
I.sup.2C bus is only utilized as an example and the systems and
methods described herein can be utilized with any serial bus.
[0018] According to an aspect, the bus 114 can be an I.sup.2C bus.
The I.sup.2C bus includes two wires: a clock line and a data line.
The clock line can synchronize data transfers across the I.sup.2C
bus. The clock line and the data line are connected to each optical
sensor 102 on the I.sup.2C bus. The signal processing circuit 104 a
master on the I.sup.2C bus to the optical sensors 102, which are
slaves. The master signal processing circuit 104 drives the clock
line. The slave optical sensors 102 are unable to initiate
transmission or data (e.g. sensed outputs 106, 108, 110). Instead,
data transmission from the slave optical sensors 102 is controlled
by the master signal processing circuit 104 and can only begin when
initiated by the master signal processing circuit 104.
[0019] In order to communicate across the bus, each optical sensor
102 requires a unique address on the bus (for example, the address
can be an I.sup.2C address) for data transfer to take place. For
example, the address can be a seven bit address. In some
conventional systems, addresses are assigned by hardware on the
signal processing circuit 104. For example, the addresses can be
assigned according to dedicated hardware (e.g., dedicated
pins).
[0020] System 100, in contrast, can automatically assign addresses
(e.g., I.sup.2C addresses) to each optical sensor 102 without
requiring dedicated hardware. System 100 does not require
involvement by the signal processing circuit 104 to assign
addresses to the optical sensors 102. Instead, system 100
configures the sensors 102 in accordance with a serial chain. For
example, the serial chain can be a daisy chain.
[0021] The serial chain can be utilized to automatically assign
unique addresses to each optical sensor 102. This eliminates the
need for the signal processor 104 to be involved with assigning
addresses. Eliminating the need for the signal processor 104 to be
involved with assigning addresses can conserve power, allowing
system 100 to be implemented on a low power a microcontroller.
[0022] Referring now to FIG. 2, illustrated is a topology for a
serial chain 200 employed by a motion detection system. For
example, the serial chain 200 can be implemented within system 100
as described above. Although only three optical sensors 102a, 102b,
102c are illustrated, serial chain 200 can be constructed between
many more optical sensors 102. For example, serial chain 200 can be
constructed between more than 255 optical sensors 102. The number
of optical sensors 102 supported by serial chain 200 can be limited
only by capabilities of the serial bus. Serial chain 200 can be
utilized to automatically assign addresses (e.g., I.sup.2C
addresses) to each optical sensor 102a, 102b, and 102c on the
serial chain 200.
[0023] Optical sensors 102 can include a digital input 202a, 202b,
202c and a digital output 204a, 204b, 204c, which are utilized to
construct serial chain 200 between the optical sensors 102a, 102b,
102c. For example, the digital input 202a, 202b, 202c can be an
ENABLE ("EN") pin and the digital output 204a, 204b, 204c can be an
INT pin. The ENABLE pin and the INT pin can have other purposes
including enabling/disabling the associated device and/or signaling
an interrupt based on an activity in at least one sensor's 102
sense area. Serial chain 200 can be utilized to relay ENABLE input
from a first optical sensor to one or more other optical sensors,
thereby preserving ENABLE functionality. Additionally, serial chain
200 can relay INT output from one or more optical sensors to a last
optical sensor on the serial chain 200, thereby preserving INT
functionality. It is noted that sensors 102a, 102b, 102c can have
additional and/or different pins that are not illustrated for the
sake of simplicity.
[0024] Serial chain 200 is a unidirectional interface between the
output of a first optical sensor and the input of a second optical
sensor. Serial chain 200 can transmit one or more datagrams of
specific format from the first optical sensor to the second optical
sensor. For example, output 204c from optical sensor 102a can be
connected to input 202b of sensor 102b. Output 204b from optical
sensor 102b can be connected to input 202c of sensor 102c. Serial
chain 200 can automatically sequence access to a single, shared
emitter (not shown), like a light emitting diode (LED), without
involvement from a controller 206 (e.g., a microcontroller).
[0025] Serial chain 200 can be asynchronous and/or self-clocking,
allowing serial chain 200 to automatically time-correlate data from
the optical sensors 102a, 102b, 102c. One example of a self
clocking methodology employed by sensors 102a, 102b, 102c in the
serial chain 200 is Manchester coding. Manchester coding, also
known as Phase Encoding, can encode data from one or more of
sensors 102a, 102b, 102c with a clock signal that can be recovered
from the encoded data.
[0026] For example, each of the optical sensors 102a, 102b, 102c
can include a four-sample first-in-first-out (FIFO) that can
operate in a "peak detect" mode to store a time and a magnitude of
peaks in magnitude of an electrical signal. For example, the peaks
in magnitude can correspond to a gesture.
[0027] When a peak is detected, the magnitude value for the peak
and a time code can be pushed into the FIFO. The time code can be
the last Sequence Value received over the serial chain 200.
Accordingly, time can be sub-divided into 8 millisecond periods,
each labeled with a unique 8-bit code. The unique 8-bit code can be
agreed upon by all sensors 102a, 102b, 102c within the serial chain
200. An interrupt can be sent to a microcontroller indicating the
peaks. The microcontroller can read the peaks (magnitude values and
time code pairs) from each sensor and reconstruct the gesture
associated with the peak in magnitude at times corresponding to the
peaks.
[0028] Since the serial chain is unidirectional, the first sensor
is responsible for sending datagrams with appropriate time codes
down the serial chain. The first sensor can include a register that
stores the number of sensors in the serial chain for this
purpose.
[0029] All of the behaviors (addressing, sequencing access to a
shared emitter and time correlation) are automatic and do not
require any interaction with the microcontroller. In this way, the
device (e.g., laptop, control panel, cellular phone, etc.)
associated with motion sensing system 100 can remain in its lowest
power mode until a gesture occurs.
[0030] Referring now to FIG. 3, illustrated is a datagram 300 that
can be utilized by a serial chain in a motion detection system.
According to an aspect, one or more optical sensors can transmit
datagrams (e.g., packets) formatted in accordance with datagram 300
through serial chain 200. A datagram is a basic transfer unit in
which the delivery arrival time and order of packets of data (e.g.,
from different sources) are not guaranteed.
[0031] Datagram 300 can be formatted in a specific manner for
transmission between sensors. For example, datagram 300 can be
formatted with four distinct fields: Sequence Value 302, INT 304,
EN 306 and COMMAND 308. The Sequence Value 302 field can be an
8-bit field that is incremented by one each time a sensor
communicates with the next sensor in the serial chain. The INT 304
field can be a 2-bit field that indicates a status of an interrupt
signal from previous sensors. Any optical sensor on the serial
chain can send an interrupt that can propagate to the end of the
serial chain to the controller, depending on register settings. The
EN 306 field can be a 1-bit field that can indicate a status of a
first sensor's ENABLE pin. The enable signal from the first device
in the serial chain can, depending on register settings, propagate
through the entire serial chain.
[0032] The COMMAND 308 field can be a 2-bit field containing a
command being transmitted. For example, the value of the COMMAND
308 field can be, for example, 00, indicating that the Sequence
Value should be used as an address offset or 01, indicating that
the Sequence Value should be used as a time code for time
correlation. Other vales for the COMMAND 308 field can exist.
[0033] Referring now to FIG. 4, illustrated is an exemplary
methodology 400 for automatic address assignment in a motion
detection system. The methodology can address one or more optical
sensors in the motion detection system via a serial chain. Unlike
conventional addressing methodologies, methodology 400 does not
utilize dedicated pins. Accordingly, this methodology leads to less
power consumption than conventional methods for assigning addresses
to the optical sensors.
[0034] The methodology 400 begins at element 402 where the sensors
are powered up. At power up, INT pins on every sensor are driven
low. A first sensor on the serial chain has its ENABLE pin driven
high, while the other sensors have their ENABLE pins driven low. At
element 404, the sensors can determine which sensor is the first
sensor on the serial chain. For example, each sensor can determine
whether it is the first sensor on the serial chain by determining
whether it is the sensor with its ENABLE pin driven high.
[0035] After the power-on process (or power-on-reset process) of
402 and 404 completes, the methodology moves to element 406. At
element 406, the first sensor can send a datagram (e.g., a datagram
in accordance with datagram 300 as described above) to the next
sensor (e.g., a second sensor) on the serial chain. For example,
the datagram can be configured with a COMMAND field sent to 00,
indicating that a Sequence Value should be used as an address
offset, and the Sequence Value set to 1.
[0036] At element 408, the second sensor can receive the datagram
from the first sensor and set its address (e.g., I.sup.2C address)
with the given address offset from the Sequence Value. At element
410, the second sensor can increment the sequence value (e.g. the
Sequence Value can be set to 2, indicating that a sensor has
communicated twice with the next sensor on the serial chain). At
element 412, the second sensor can send the datagram to the next
sensor (third sensor on the serial chain).
[0037] Referring now to FIG. 5, illustrated is an exemplary
methodology 500 for automatic emitter (e.g., LED) sharing between
optical sensors of a motion control system. For example, access to
the shared emitter by the optical sensors can be facilitated
through automatic sequencing of the access to the shared
emitter.
[0038] The methodology 500 begins at element 502, where all sensors
on a serial chain are configured to share an emitter. For example,
the sensors can be configured to share the emitter through a
register map. At element 504, a first sensor is able to drive the
emitter. For example, the first sensor can drive the emitter
through an assigned pin (such as an IRDR pin, not illustrated). The
first sensor can drive the emitter, for example, for 128 samples,
each 62.5 microseconds long, for a total of 8 milliseconds.
[0039] After driving the emitter for a certain time (e.g., 8
milliseconds), at element 506 the first sensor stops driving the
emitter. For example, the first sensor can turn off its assigned
pin. At element 508, the first sensor sends a datagram (e.g., a
datagram 300 as defined in FIG. 3) to a next sensor. At element
510, the next sensor can drive the emitter for a certain time
(e.g., 8 milliseconds). This methodology can repeat until all
sensors on the serial chain have an opportunity to drive the
emitter.
[0040] Referring now to FIG. 6, illustrated is an exemplary
methodology 600 for automatic time correlation between optical
sensors in a motion control system. This time correlation can be
done in firmware. Accordingly, this methodology leads to greater
power savings when compared to conventional methodologies.
[0041] Methodology 600 begins at element 602, where sensors are
configured to store a time and a magnitude of peaks in magnitude of
an electrical signal. Each of the sensors can include a four-sample
first-in-first-out (FIFO) that can be configured to operate in a
"peak detect" mode, where the FIFO can store the time and magnitude
of peaks in magnitude. For example, a peak in magnitude can be
detected when a user's hand makes its closest approach to the
optical sensor (e.g., when making a gesture).
[0042] At element 604, a sensor can detect a peak. When a peak is
detected, the magnitude value for the peak and a time code can be
pushed into the FIFO. The time code can be the last Sequence Value
received over the serial chain. Accordingly, time can be
sub-divided into 8 millisecond periods, each labeled with a unique
8-bit code. The unique 8-bit code can be agreed upon by all sensors
within the serial chain.
[0043] At element 606, an interrupt can be sent to a
microcontroller. The microcontroller can read the peaks (magnitude
values and time code pairs) from each sensor and reconstruct the
gesture associated with the peak in magnitude.
[0044] In order to provide additional context for various aspects
of the subject specification, FIG. 7 illustrates an exemplary
functional block diagram for the architecture 700 of the subject
disclosure. In one aspect, the systems (e.g., 100-200) disclosed
herein can be employed in a reflection based proximity and motion
detector with an integrated ambient light sensor (ALS) depicted in
FIG. 7. The architecture 700 includes one or more LEDs and
associated driver circuitry, one or more photodiode sensors
(arranged in a serial chain, for example the serial chain as
illustrated in FIG. 2), an analog front end and signal processing
(e.g., of signals from the photodiodes arranged in the serial
chain, for example elements 106, 108, 110 as illustrated in FIG. 1
above.), data conversion circuitry, digital control and signal
processing, interface circuitry and results display. The
architecture 700 adaptively optimizes sensitivity and power for a
given environment. Moreover, the architecture 700 derives
significant performance improvements from its novel ALS structure,
and its light emitting diode (LED) driver circuitry is much more
efficient than the conventional resistive drive.
[0045] According to an aspect of the subject disclosure, the
architecture 700 includes a Resonant Front End 702, which includes
a Trans-Impedance Resonator (TIR). In the architecture 700, the TIR
702 is used in place of the Trans-Inductance Amplifier (TIA), which
is conventionally used. However, TIA can also be employed in signal
processing applications of signals received from the serial chained
photodiodes (e.g., signals 106, 108, 110 as described above.).
[0046] Although the TIR 702 plays the same role as a conventional
TIA, the TIR 702 gives an order of magnitude improvement in
achievable Signal-to-Noise-Ratio (SNR) due to its band-pass nature
(e.g., TIR 702 includes an inductor and a capacitor), which allows
for an increased range of sensing. The capacitor of the TIR can
include the capacitance of the photodiode that is being resonated.
The band-pass nature of the TIR 702 causes the architecture 700 to
operate over a narrow band of frequencies, which allows for little
noise compared to the wide band TIA.
[0047] According to another aspect of the subject disclosure, the
ALS 710 uses a light to frequency converter based on a relaxation
oscillator instead of the conventional TIA. A relaxation oscillator
is an oscillator based upon the relaxation behavior of a physical
system. An exemplary implementation for the relaxation oscillator
of the subject disclosure can be done by connecting the inverting
input of an Operational Amplifier (Op Amp) to a fixed bias voltage
via a switch and also the photodiode, with the non-inverting input
connected to ground. When the switch to the fixed bias voltage is
opened, the photodiode will discharge towards ground. The rate of
discharge will depend on the photodiode current, which is a measure
of the incident ambient light. When the photodiode is discharged to
ground, the Computer Programmable Logic Device (CPLD) resets the
oscillator by switching back in the bias voltage. The CPLD counts
the number of cycles that the photodiode takes to discharge, and
thus can estimate the ambient light intensity incident on the
photodiode. The ALS 710 can be used for ambient light sensing
applications and the TIR 702 can be used for proximity and motion
sensing applications.
[0048] The output of the Front end 702 is subjected to multiple
stages of voltage gain 716 to maximize the SNR of the output
signal. The voltage gain is adaptively set based on the magnitude
of the signal received from the Front end 702, which is potentially
made up of both measureable interferers such as a backscatter and a
crosstalk from the LED, and also the desired signal to be measured.
The interferers are dynamically calibrated out of the measurement
to improve the sensitivity. According to another aspect of the
subject disclosure, the LED drive circuitry 756 uses an inductive
drive, which results in a significant efficiency improvement over
the conventional resistive drive.
[0049] The architecture 700 also includes a Quad Demodulator with
low pass filters (LPFs) 720, dual [I & Q] Analog to Digital
Converters (ADCs) 726, Digital to Analog Converters (DACs) 730
driven by the bias voltage provided by the Automatic Gain Control
module, Oscillator DACs 744 for 1 and Q carriers, the Universal
Serial Bus (USB) processor for Control Interface, and the Computer
Programmable Logic Device (CPLD) that include several modules. The
CPLD is merely exemplary. One or more different parts can be
employed in lieu of a CPLD. For example, one or more Application
Specific IC(s), a digital signal processor and memory. The I and Q
relate to In-Phase and Quadrature demodulation components.
[0050] QAM is both an analog and a digital modulation scheme.
Moreover, QAM is a modulation scheme in which two sinusoidal
carriers, one exactly 90 degrees out of phase with respect to the
other, are used to transmit data over a given physical channel.
Since the orthogonal carriers occupy the same frequency band and
differ by a 90 degree phase shift, each can be modulated
independently, transmitted over the same frequency band, and
separated by demodulation at the receiver. Thus, QAM enables data
transmission at twice the rate of standard pulse amplitude
modulation (PAM) without any degradation in the bit error rate
(BER). In one example a numerically controlled oscillator (NCO) can
be employed to design a dual-output oscillator that accurately
generates the in-phase and quadrature carriers used by a QAM
modulator and/or demodulator. A filter, for example, a raised
cosine finite impulse response (FIR) filter can be utilized to
filter the data streams before modulation onto the quadrature
carriers.
[0051] The in-phase and quadrature demodulated components are
created by multiplying the signal by both a carrier signal, and
also a signal 90 degrees out of phase of that carrier, and low pass
filtering the result (720 in FIG. 7). The resultant I and Q are a
baseband representation of the received signal. In one example, the
phase of the derivative of I and Q channels can be obtained, which
is indicative of the distance of the target to be calculated.
Further, the position of a moving object can be accurately
identified based on the phase data. Typically, the resultant phase
information can be used as a direct output of the system as a
measure of distance/position, and/or can be used to reconstruct the
static component of the signal and allow the calibration of a
non-derivative time of flight (TOF) measurement.
[0052] The architecture 700 of the subject disclosure can be used
in many applications including computers, automotive, industrial,
television displays and others. For example, the architecture 700
can be used to detect that a user has entered the room and
automatically cause a laptop computer in hibernation mode to wake
up and enter into the active mode so that the user can use it. In
another example, the architecture 700 of the subject disclosure can
be used to automatically and adaptively adjust the intensity of a
liquid crystal display (LCD) based on the ambient lighting
conditions. According to an aspect of the subject disclosure, the
architecture 700 can perform motion and proximity sensing at a
range of up to 1-2 meters. According to another aspect of the
subject disclosure, the architecture 700 of the subject disclosure
can perform its operations by using less than twenty milli-watts
(mW) of power.
[0053] In one embodiment of the subject disclosure, the entire
architecture 700 can be implemented in a single integrated circuit
chip (IC). In another embodiment of the subject disclosure, all
components of the architecture 700 can be implemented in the IC
except for the two inductors for the TIR 702 and the LED driver
circuitry 756 and the LED, which can be implemented outside the IC.
In yet another embodiment of the subject disclosure, all components
of the architecture 700 can be implemented in the IC except for the
TIR 702 inductor, the LED and the inductor and the resistor for the
LED driver circuitry, which can be implemented outside the IC. In
still another embodiment of the subject disclosure, various
components of the architecture 700 can be located inside or outside
the IC.
[0054] What has been described above includes examples of the
subject disclosure. It is, of course, not possible to describe
every conceivable combination of components or methodologies for
purposes of describing the claimed subject matter, but many further
combinations and permutations of the subject disclosure are
possible. Accordingly, the claimed subject matter is intended to
embrace all such alterations, modifications, and variations that
fall within the spirit and scope of the appended claims.
[0055] In particular and in regard to the various functions
performed by the above described components, devices, circuits,
systems and the like, the terms (including a reference to a
"means") used to describe such components are intended to
correspond, unless otherwise indicated, to any component which
performs the specified function of the described component (e.g., a
functional equivalent), even though not structurally equivalent to
the disclosed structure, which performs the function in the herein
illustrated exemplary aspects of the claimed subject matter. In
this regard, it will also be recognized that the disclosure
includes a system as well as a computer-readable medium having
computer-executable instructions for performing the acts and/or
events of the various methods of the claimed subject matter.
[0056] The aforementioned systems/circuits/modules have been
described with respect to interaction between several components.
It can be appreciated that such systems/circuits/modules and
components can include those components or specified
sub-components, some of the specified components or sub-components,
and/or additional components, and according to various permutations
and combinations of the foregoing. Sub-components can also be
implemented as components communicatively coupled to other
components rather than included within parent components
(hierarchical). Additionally, it should be noted that one or more
components may be combined into a single component providing
aggregate functionality or divided into several separate
sub-components, and any one or more middle layers, such as a
management layer, may be provided to communicatively couple to such
sub-components in order to provide integrated functionality. Any
components described herein may also interact with one or more
other components not specifically described herein but generally
known by those of skill in the art.
[0057] In addition, while a particular feature of the subject
disclosure may have been disclosed with respect to only one of
several implementations, such feature may be combined with one or
more other features of the other implementations as may be desired
and advantageous for any given or particular application.
Furthermore, to the extent that the terms "includes," "including,"
"has," "contains," variants thereof, and other similar words are
used in either the detailed description or the claims, these terms
are intended to be inclusive in a manner similar to the term
"comprising" as an open transition word without precluding any
additional or other elements.
* * * * *