U.S. patent application number 12/408532 was filed with the patent office on 2009-09-24 for system and method for capturing an event in mems inertial sensors.
This patent application is currently assigned to Analog Devices, Inc.. Invention is credited to James M. Lee.
Application Number | 20090240462 12/408532 |
Document ID | / |
Family ID | 40751056 |
Filed Date | 2009-09-24 |
United States Patent
Application |
20090240462 |
Kind Code |
A1 |
Lee; James M. |
September 24, 2009 |
System and Method for Capturing an Event in MEMS Inertial
Sensors
Abstract
A method of capturing an event in a MEMS accelerometer stores
acceleration data in memory, detects a trigger event based on the
acceleration data, and modifies a configuration of the memory so
that a specified amount of the acceleration data is saved. A MEMS
event capturing system includes an inertial sensor having sensor
circuitry and event capturing circuitry implemented with the sensor
circuitry. The event capturing circuitry includes memory capable of
storing acceleration data received from the inertial sensor and a
detection module operatively coupled with the memory that detects a
trigger event. The event capturing circuitry also includes a
management module operatively coupled with the memory and the
detection module that modifies the memory's storage configuration
when the trigger event is detected.
Inventors: |
Lee; James M.;
(Northborough, MA) |
Correspondence
Address: |
BROMBERG & SUNSTEIN LLP
125 SUMMER STREET
BOSTON
MA
02110-1618
US
|
Assignee: |
Analog Devices, Inc.
Norwood
MA
|
Family ID: |
40751056 |
Appl. No.: |
12/408532 |
Filed: |
March 20, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61038594 |
Mar 21, 2008 |
|
|
|
61049590 |
May 1, 2008 |
|
|
|
61078923 |
Jul 8, 2008 |
|
|
|
Current U.S.
Class: |
702/141 |
Current CPC
Class: |
G01P 15/18 20130101;
G01P 1/127 20130101; G11B 19/043 20130101; G01P 15/0891
20130101 |
Class at
Publication: |
702/141 |
International
Class: |
G01P 15/00 20060101
G01P015/00 |
Claims
1. A method of capturing an event in a MEMS accelerometer, the
method comprising: storing acceleration data in memory; detecting a
trigger event based on the acceleration data; and modifying a
configuration of the memory so that a specified amount of the
acceleration data is saved.
2. The method of claim 1, wherein the specified amount of the
acceleration data includes acceleration data stored before the
detected trigger event.
3. The method of claim 1, further comprising: processing the
specified amount of the acceleration data in order to recognize the
event.
4. The method of claim 3, wherein the event is a gesture.
5. The method of claim 1, wherein modifying a configuration of the
memory includes varying an amount of the acceleration data
stored.
6. The method of claim 1, wherein modifying a configuration of the
memory includes modifying the configuration from a stream buffer to
a first-in-first-out buffer.
7. The method of claim 1, wherein detecting a trigger event further
comprises: capturing an acceleration bias; measuring acceleration
at a predetermined period of time; calculating a change in
acceleration using the measured acceleration and the acceleration
bias; and comparing the change in acceleration to a threshold to
detect the trigger event.
8. A MEMS event capturing system comprising: an inertial sensor
having sensor circuitry; and event capturing circuitry implemented
with the sensor circuitry, the event capturing circuitry including:
memory capable of storing acceleration data received from the
inertial sensor; a detection module operatively coupled with the
memory that detects a trigger event; and a management module
operatively coupled with the memory and the detection module that
modifies the memory's storage configuration when the trigger event
is detected.
9. The MEMS system of claim 8, wherein the memory's storage
configuration is modified from a stream buffer to a
first-in-first-out buffer.
10. The MEMS system of claim 8, further comprising a microprocessor
operatively coupled with the event capturing circuitry, the
microprocessor capable of processing the acceleration data in order
to recognize an event.
11. The MEMS system of claim 10, wherein the event is a
gesture.
12. The MEMS system of claim 8, wherein the inertial sensor is
formed on a die, and the sensor circuitry and event capturing
circuitry are formed on or in the die.
13. The MEMS system of claim 8, wherein the sensor circuitry and
event capturing circuitry are formed on or in a first die, and the
inertial sensor is formed on or in a second die that is in
communication with the first die.
14. The MEMS system of claim 8, wherein the inertial sensor
includes an accelerometer or a gyroscope.
15. The MEMS system of claim 8, wherein the memory is capable of
storing a fixed or a variable amount of acceleration data received
from the inertial sensor.
16. A computer program product for capturing an event in a MEMS
accelerometer, the computer program product comprising a computer
usable medium having computer readable program code thereon, the
computer readable program code comprising: program code for storing
acceleration data in memory; program code for detecting a trigger
event based on the acceleration data; and program code for
modifying a configuration of the memory so that a specified amount
of the acceleration data is saved.
17. The computer program product of claim 16, wherein the specified
amount of the acceleration data includes acceleration data stored
before the detected trigger event.
18. The computer program product of claim 16, wherein the computer
readable program code further comprises: program code for
processing the specified amount of the acceleration data in order
to recognize the event.
19. The computer program product of claim 16, wherein the computer
readable program code for modifying a configuration of the memory
includes program code for varying an amount of the acceleration
data stored.
20. The computer program product of claim 16, wherein the computer
readable program code for modifying a configuration of the memory
includes program code for modifying the configuration from a stream
buffer to a first-in-first-out buffer.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims priority to U.S. Provisional
Patent Application No. 61/038,594 filed Mar. 21, 2008, entitled
ACTIVITY DETECTION IN MEMS ACCELEROMETERS, U.S. Provisional Patent
Application No. 61/049,590 filed May 1, 2008, entitled MANAGEMENT
SYSTEM AND METHOD FOR MEMS INERTIAL SENSORS, and U.S. Provisional
Patent Application No. 61/078,923 filed Jul. 8, 2008, entitled
SYSTEM AND METHOD FOR CAPTURING AN EVENT IN MEMS INERTIAL SENSORS,
each disclosure of which is incorporated by reference herein in its
entirety.
[0002] This patent application is also related to U.S. patent
application entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS
having Attorney Docket Number 2550/C35 and U.S. patent application
entitled MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS having
Attorney Docket Number 2550/C38, which are filed on the same day as
the present application, each disclosure of which is incorporated
by reference herein in its entirety.
FIELD OF THE INVENTION
[0003] The invention generally relates to MEMS inertial sensors
and, more particularly, the invention relates to capturing an event
in MEMS inertial sensors.
BACKGROUND OF THE INVENTION
[0004] A variety of different applications use sensor systems to
detect the movement of an underlying object. Sensors employing
microelectromechanical systems (MEMS) devices are increasingly used
in such applications due to their relatively small size and their
capability to detect relatively small changes in the measured item.
MEMS inertial sensor devices, e.g., accelerometers or gyroscopes,
typically employ a movable, inertial mass formed with one or more
fixed, non-moving structures. For example, in a MEMS accelerometer,
the inertial mass may be suspended in a plane above a substrate and
movable with respect to the substrate. The movable structure and
the fixed structures form a capacitor having a capacitance that
changes when the movable structure moves relative to the fixed
structures in response to applied forces, such as along a
predetermined axis of the device, e.g., x-, y- and z-axes.
[0005] Currently, among other things, inertial sensors may be used
for monitoring the interaction of users with electronic devices,
such as gaming devices, cell phones, personal digital assistants,
etc. One or more inertial sensors in the devices may sense a
movement above a particular threshold or a change in orientation.
The sensors usually cooperate with a central computer or
microprocessor that both coordinates their function and responds to
specific types of detected movement.
[0006] Typically, the microprocessor or controller periodically or
continuously monitors the acceleration data from the inertial
sensor to determine a state or condition of the device. Upon
detection of a specific type of movement, the microprocessor may
cause systems within the device to respond in a specified manner.
For example, if the sensor(s) sense a tap by the user (e.g.,
similar to a mouse click), the device's microprocessor may then
initiate a response, such as turning on the device. In this
scenario, however, the microprocessor may not capture important
motion data. For example, data collected right before and after the
trigger event oftentimes may be useful, but may not be fully
captured. For instance, a user may pick up and move a device in a
selected manner. The microprocessor may detect the movement in one
second and then instruct the device to start saving data, causing
an even further delay. In this case, the device may not capture the
first second of motion plus any delay in receiving the
instructions. In certain instances, such as gesture recognition,
this valuable information may be lost.
SUMMARY OF THE INVENTION
[0007] In accordance with one embodiment of the invention, a method
of capturing an event in a MEMS accelerometer stores acceleration
data in memory, detects a trigger event based on the acceleration
data, and modifies a configuration of the memory so that a
specified amount of the acceleration data is saved.
[0008] In accordance with another embodiment of the invention, a
MEMS event capturing system includes an inertial sensor having
sensor circuitry and event capturing circuitry implemented with the
sensor circuitry. The event capturing circuitry includes memory
capable of storing acceleration data received from the inertial
sensor and a detection module operatively coupled with the memory
that detects a trigger event. The event capturing circuitry further
includes a management module operatively coupled with the memory
and the detection module that modifies the memory's storage
configuration when the trigger event is detected.
[0009] In some embodiments, the specified amount of acceleration
data may be stored before the detected trigger event. The method
may further include processing the specified amount of the
acceleration data in order to recognize the event. The event may be
a gesture. In the system or method, modifying a configuration of
the memory may include varying an amount of the acceleration data
stored. Alternatively, or in addition, modifying a configuration of
the memory may include modifying the configuration from a stream
buffer to a first-in-first-out buffer. In the system or method,
detecting a trigger event may also include capturing an
acceleration bias, measuring acceleration at a predetermined period
of time, calculating a change in acceleration using the measured
acceleration and the acceleration bias, and comparing the change in
acceleration to a threshold to detect the trigger event. The system
may further include a microprocessor operatively coupled with the
event capturing circuitry. The microprocessor may be capable of
processing the acceleration data in order to recognize an event,
which may be a gesture. In the system or method, the inertial
sensor may be formed on a die, and the sensor circuitry and event
capturing circuitry may be formed on or in the same die. The sensor
circuitry and event capturing circuitry may be formed on or in a
first die, and the inertial sensor may be formed on or in another
die that is in communication with the first die. The inertial
sensor may be an accelerometer or a gyroscope. The memory may be
capable of storing a fixed amount or a variable amount of
acceleration data received from the inertial sensor.
[0010] Illustrative embodiments of the invention may be implemented
as a computer program product having a computer usable medium with
computer readable program code thereon. The computer readable code
may be read and utilized by a computer system in accordance with
conventional processes.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The foregoing and advantages of the invention will be
appreciated more fully from the following further description
thereof with reference to the accompanying drawings wherein:
[0012] FIG. 1 schematically shows a simplified view of a sensor
system in accordance with illustrative embodiments of the
invention;
[0013] FIG. 2 schematically shows an event capturing system in
accordance with illustrative embodiments of the invention;
[0014] FIG. 3 shows a process of capturing an event in a MEMS
accelerometer according to embodiments of the present invention;
and
[0015] FIG. 4 shows a process of detecting activity in a MEMS
accelerometer according to embodiments of the present
invention.
DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0016] Various embodiments of the present invention provide a
system and method for capturing an event, such as a specific
movement or gesture, in inertial sensor systems. This is
accomplished with an event capturing system that detects a trigger
event and then modifies the memory's configuration based on the
trigger event so that a specified amount of acceleration data is
saved or preserved in the memory. In some embodiments, the trigger
event is detected with a detection module comprising digital logic
and state machines coupled with the inertial sensor. The event
capturing system, with its detection module, may be coupled with
one or more sensors to effectively manage different conditions of
the device without interaction with the device's central computer
or microprocessor (excluding the sensor's interaction with the
microprocessor during its initial configuration). For instance, the
inertial sensor does receive some initial input from the
microprocessor, such as initial configurations or settings, e.g.,
threshold values, which may be set manually by the user or
automatically. Embedding the detection functionality with the event
capturing system may more effectively automate power management
since only the sensor and the event capturing system may need to be
powered, rather than the device's microprocessor. For example, if
the sensor is an accelerometer, the functionality may be embedded
in the accelerometer circuitry. Details of illustrative embodiments
are discussed below.
[0017] As shown in FIG. 1, various embodiments may include a sensor
system 2 having one or more inertial sensors 4 that communicate
with a central computer or microprocessor 6 through some
interconnection medium 8. The sensor system 2 may also include one
or more event capturing systems 10 in communication with the
inertial sensor(s) 4. The inertial sensor(s) 4 may produce data
values, e.g., motion data related to the detected movement of an
object, which may be transmitted to the microprocessor 6 via
interconnection 8 and/or the event capturing system 10 through the
event capturing system's interface 12, as discussed in more detail
below. Although FIG. 1 shows two inertial sensors 4 with one event
capturing system 10, one sensor 4 may be used with one or more
event capturing systems 10 and/or two or more inertial sensors 4
may be used with one or more event capturing systems 10.
[0018] FIG. 2 schematically shows a block diagram of an event
capturing system 10 in accordance with illustrative embodiments of
the invention. The event capturing system 10 may include an
interface 12 for communicating with external devices, such as the
inertial sensor(s) 4 (e.g., for receiving data produced by the
sensors and sending data to the sensors) or the microprocessor 6,
and a detection module 14 for processing the data values received
and detecting whether certain types of events have occurred (e.g.,
a trigger event, such as an activity event, a tap/double tap event,
a free fall event, etc.). The event capturing system 10 may also
include memory 16 for storing or collecting the data values
received from the external devices and the data values processed by
the detection module 14. The event capturing system 10 may also
include a management module 18 that may modify the memory's storage
configuration when the event is detected by the detection module
14. The functionality of the event capturing system 10 is discussed
in greater detail below with regard to embodiments of its
implementation.
[0019] The management module 18 may also include other
functionality, such as the capability to modify the sensor's
configuration, coordinate the functionality of the detection module
14, and coordinate the functionality of the sensor(s) 4 and a
sensor management system with the device's microprocessor 6. This
additional functionality of the management module 18 is discussed
in more detail in co-pending applications entitled ACTIVITY
DETECTION IN MEMS ACCELEROMETERS, attorney docket number 2550/C35,
and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney docket
number 2550/C38, which are filed on the same day as the present
application, and which are incorporated by reference herein in
their entirety.
[0020] FIG. 3 shows a process of capturing an event in a MEMS
accelerometer. The process begins at step 30, which establishes or
sets a trigger event. For example, the trigger event may be a
specified activity level or threshold (e.g., sensor movement
greater than 1 g.), freefall motion, a tap, and/or a double tap.
The trigger event may be set to one trigger event or one or more
trigger events selected from a list of events. The trigger event(s)
may be manually selected by the user or automatically set, such as
a default trigger event. Alternatively, or in addition, the
management module 18 may establish or modify the existing trigger
event(s) depending on various detected states of the device.
[0021] In step 40, one or more inertial sensors 4 produce data
values, which are then collected or stored in memory 16. The
detection module 14, operatively coupled to the memory 16, may
process the data values received and detect that a trigger event
has occurred (step 50). For example, the trigger event may be
activity, and the detection module 14 may detect that the MEMS
device is active or moving, as described in more detail below with
regard to FIG. 4.
[0022] Once a trigger event is detected by the detection module 14,
the detection module 14 may inform the management module 18 that a
trigger event has occurred. The management module 18 may then
modify the configuration of the memory 16 in step 60. For example,
the memory 16 may initially store or collect the data values
received in a stream buffer mode or type of configuration. As well
known to those skilled in the art, a stream buffer contains a
specified amount of the most recent data received, depending on the
size of the buffer's memory (e.g., a minute's worth of the most
recent data). When storing data to a stream buffer that is full,
the oldest data is written over or removed and replaced with the
newest data received. In this way, the memory 16 may temporarily
collect or store a limited amount of data, and then gradually throw
it out if a trigger event is not detected and the data is thus
unneeded.
[0023] When a trigger event is detected, the management module 18
may modify the memory's 16 configuration so that a certain amount
of older data is not written over and may be preserved for later
processing, e.g., a certain amount before and/or after the trigger
event. For example, the management module 18 may instruct or switch
the memory 16 from a stream buffer mode to a first-in-first-out
(FIFO) buffer mode or type of configuration. As well known to those
skilled in the art, a FIFO buffer does not allow newer data to be
saved when the buffer is full, so older data is preserved. The
amount of data saved from one configuration to another may be a
fixed or a variable amount of data. The amount of data to be saved
may be set automatically or manually and may be the same amount of
data before and after the trigger event (e.g., 30 seconds before
and after the trigger event) or different amounts of data before
and after the trigger event (e.g., 25 seconds before and 50 seconds
after the trigger event). The management module 18 may contain the
instructions or information on the parameters and length of time to
be saved. In some embodiments, this may be implemented by the
management module 18 resetting a pointer in the FIFO buffer to a
selected point in time before the trigger event and then setting a
byte count to instruct the FIFO buffer to collect or save a certain
amount of data.
[0024] For instance, the memory 16 may initially be collecting or
saving one minute worth of data in a stream buffer mode. In this
scenario, once a trigger event is detected, the memory 16 contains
one minute of data before the trigger event. Continuing with this
example, if forty seconds worth of data before and after the
trigger event is desired, the management module 18 may modify the
configuration of the memory 16 to a FIFO buffer mode, reset the
FIFO pointer to forty seconds before the trigger event, and have
the byte count set so that the FIFO collects forty seconds more
worth of data after the trigger event. If a smaller or larger
amount of data is desired, then the management module 18 may change
the byte count so that more or less data is collected or stored. In
this way, the management module 18 modifies the memory's storage
configuration so that a specified amount of motion data is saved in
memory 16. Once the data is captured in the memory 16, the data
optionally may be processed or analyzed in step 70, e.g., by the
microprocessor 6 or the detection module 14. The captured data may
remain in memory 16 or some of the data, or even all, may be
flushed or removed from the memory 16. The configuration of the
memory 16 may be returned to a stream buffer mode where it may
collect or store data until another trigger event is detected.
[0025] In addition to trigger events, other events may be detected
by the detection module 14, which may occur before and/or after the
trigger event and which may cause other events or processes to
occur within the event capturing system 10 or the sensor system 2.
For example, the detection module 14 may detect a data ready event,
which signals that there is some data in the memory 16. After a
trigger event, the detection module 14 may detect an overrun or
watermark event in the memory 16, which may signal that the memory
16 is becoming full and newer data may be lost.
[0026] As mentioned above, one trigger event may be activity, and
the detection module 14 may detect that the MEMS device is active
or moving. FIG. 4 shows a process of detecting activity that may be
performed by the event capture system's 10 detection module 14
according to illustrative embodiments of the present invention.
Thus, in some embodiments, the detection module 14 may include a
computational component and a comparator (not shown) as discussed
further below. The process begins at step 80, which decides whether
to start looking for activity. The detection module 14 may start to
look for activity automatically at designated times, (e.g., when
the device is turned on or at periodic intervals) or manually,
(e.g., when the user actively initiates a request such as tapping
on a device screen). Alternatively, or in addition, the management
module 18 may instruct the detection module 14 to start to look for
activity once inactivity is detected (inactivity detection is
discussed in greater detail in co-pending applications entitled
ACTIVITY DETECTION IN MEMS ACCELEROMETERS, attorney docket number
2550/C35, and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney
docket number 2550/C38, which are filed on the same day as the
present application, and which are incorporated by reference herein
in their entirety).
[0027] In step 90, an acceleration offset or bias may be captured
upon the start of looking for activity. This may be accomplished by
having the detection module 14 capture a snap-shot of the current
acceleration or orientation of the device and digitally store the
value as the acceleration bias in memory 16.
[0028] In step 100, the acceleration of the device may be measured
by the sensor(s) 4 and the data values stored in memory 16. The
acceleration may be measured on one or more axes of the device
(e.g., x-, y-, and/or z-axis), which may be determined
automatically or manually (e.g., set by the user). The
accelerometer may sample the acceleration data at a data rate. The
management module 18 may determine the sensor's 4 data rate
depending on the current detected state of the device by the
detection module 14. For example, the accelerometer sample rate may
be set to a desired "awake" mode or more frequent sampling rate
when activity is detected or monitored by the detection module 14.
Similarly, the accelerometer sample rate may be set to a desired
"sleep" mode or more infrequent sampling rate when inactivity is
detected/monitored. When the detection module 14 has yet to
determine activity and/or inactivity, the management module 18 may
set a default value for the sensor's 4 sample rate, e.g., sleep
mode sampling rate, awake mode sampling rate, or some other
sampling rate, until the detection module 14 determines the current
detected state of the device. Although one mode is discussed for
when activity or inactivity is detected/monitored, the management
module 18 may set two or more different modes during a given state
of the device.
[0029] In step 110, the detection module 14 calculates the change
in acceleration and verifies whether that change is greater than or
equal to a threshold. The detection module 14 may determine the
change in acceleration by calculating the difference between the
current measured acceleration and the digitally stored acceleration
bias using the computational component. The detection module 14 may
then compare an absolute value of the change in acceleration to a
threshold value using the comparator. The detection module 14
performs these calculations and the measured acceleration values,
the calculated difference and the threshold value may be stored in
the memory 16. The threshold may be set automatically or manually
and may be the same or different for different axes. If the change
in acceleration is less than the threshold, then the process
returns to step 100 where the acceleration may be measured again.
If the change in acceleration is greater than or equal to the
threshold, then the process proceeds to step 120, where activity is
detected.
[0030] When activity is detected by the detection module 14, it may
inform the management module 18 of the current detected state of
the device. The management module 18 may then modify the memory's
16 configuration so that it saves a selected amount of data, e.g.,
a certain amount before and/or after the trigger event, as
discussed above. In addition, or alternatively, the management
module 18 may send instructions or parameters to the inertial
sensor(s) 4 via the interface 12 as discussed above (e.g., setting
sampling rates), and may send instructions back to the detection
module 14, e.g., start to look for inactivity. Thus, the detection
module 14 may optionally start to look for inactivity once activity
is detected.
[0031] Although FIG. 4 discusses detecting activity, other
embodiments may use other techniques for detecting activity trigger
events. In addition, other embodiments may use other techniques for
detecting a trigger event, and the trigger event may include other
events than activity as discussed above. For example, the trigger
event may be free fall detection, tap/double tap detection, event
ready detection, watermark detection, etc. Thus, discussion of
detecting a specific trigger event is exemplary and not intended to
limit the scope of various embodiments of the invention. In
addition, the management module 18 may set parameters in the
detection module 14 and/or the sensor(s) 4 along with, or instead
of, the memory 16.
[0032] Although inertial sensors 4 such as accelerometers are
discussed above, principles of illustrative embodiments may apply
to other inertial sensors or sensor devices, such as MEMS
gyroscopes and MEMS pressure sensors or microphones. Accordingly,
discussion of inertial sensors is exemplary and not intended to
limit the scope of various embodiments of the invention.
[0033] Among other implementations, the detection module 14 and/or
the management module 18 may be a single integrated unit having the
discussed functionality, and/or a plurality of interconnected,
separate functional devices. Reference to a "module" therefore is
for convenience and not intended to limit its implementation.
Moreover, the various functionalities within the detection module
14 and/or the management module 18 may be implemented in any number
of ways, such as by means of one or more application specific
integrated circuits or digital signal processors, or the discussed
functionality may be implemented in software.
[0034] In some embodiments of the present invention, certain motion
detection (e.g., activity/inactivity detection) may be determined
independently of one another and/or concurrently. In some
embodiments, certain motion detection (e.g., activity detection)
may be dependent upon detecting other types of motion (e.g.,
detecting inactivity) and vise-versa.
[0035] Various embodiments may provide efficient management of a
MEMS accelerometer by allowing the trigger event detection to be
performed by the event capturing system 10, which is coupled to the
inertial sensor(s) 4, without interaction with the device's
microprocessor 6. In this way, the event capturing system 10
coordinates the inertial sensor's functions and responds to
specific types of detected movement. By embedding the functionality
in the event capturing system 10, benefits may be realized, such as
achieving maximal power savings since only the sensor 4 and event
capturing system 10 may need to be powered, rather than the
device's microprocessor 6.
[0036] All or part of the functionality of the event capturing
system 10 may be implemented in event capturing circuitry, which
may be implemented as part of the sensor-specific circuitry. For
example, if the sensor is an accelerometer, then all or part of
event capturing circuitry may be integrated with the accelerometer
or sensor circuitry. For instance, the event capturing circuitry
may include the activity detection function, which may be embedded
in the accelerometer for power control of the end device. The event
capturing circuitry may detect an acceleration above a particular
threshold or a change in orientation and transmit such motion data
to other circuitry for further processing. Sensor-specific
circuitry that includes the event capturing circuitry may be on the
same chip or die as the sensor itself, or on a different chip or
die. As another example, the sensor-specific circuitry with the
event capturing circuitry may be implemented on an application
specific integrated circuit (ASIC), while the sensor may be on a
sensor chip with no circuitry (other than pads for wirebonding with
the ASIC). Both the ASIC and sensor chip may be within a single
package, or in separate packages.
[0037] Embodiments may be implemented as a computer program product
for use with a computer system. Such implementation may include a
series of computer instructions fixed either on a tangible medium,
such as a computer readable medium (e.g., a diskette, CD-ROM, ROM,
or fixed disk) or transmittable to a computer system, via a modem
or other interface device, such as a communications adapter
connected to a network over a medium. The medium may be either a
tangible medium (e.g., optical or analog communications lines) or a
medium implemented with wireless techniques (e.g., microwave,
infrared or other transmission techniques). The series of computer
instructions may embody all or part of the functionality previously
described herein with respect to the method and system. Those
skilled in the art should appreciate that such computer
instructions may be written in a number of programming languages
for use with many computer architectures or operating systems. For
example, embodiments may be implemented in a procedural programming
language (e.g., "C") or an object oriented programming language
(e.g., "C++"). Alternative embodiments of the invention may be
implemented as pre-programmed hardware elements, other related
components, or as a combination of hardware and software
components.
[0038] Furthermore, such instructions may be stored in any memory
device, such as semiconductor, magnetic, optical or other memory
devices, and may be transmitted using any communications
technology, such as optical, infrared, microwave, or other
transmission technologies. It is expected that such a computer
program product may be distributed as a removable medium with
accompanying printed or electronic documentation (e.g., shrink
wrapped software), preloaded with a computer system (e.g., on
system ROM or fixed disk), or distributed from a server or
electronic bulletin board over the network (e.g., the Internet or
World Wide Web). Thus, some embodiments of the invention may be
implemented as hardware, software (e.g., a computer program
product), or a combination of both software and hardware.
[0039] Although the above discussion discloses various exemplary
embodiments of the invention, it should be apparent that those
skilled in the art can make various modifications that will achieve
some of the advantages of the invention without departing from the
true scope of the invention.
* * * * *