U.S. patent application number 14/444205 was filed with the patent office on 2016-01-28 for finger print sensor and auxiliary processor integration in an electronic device.
The applicant listed for this patent is Google Technology Holdings LLP. Invention is credited to Steven M. Knapp, Thomas Y. Merrell.
Application Number | 20160026841 14/444205 |
Document ID | / |
Family ID | 54939217 |
Filed Date | 2016-01-28 |
United States Patent
Application |
20160026841 |
Kind Code |
A1 |
Merrell; Thomas Y. ; et
al. |
January 28, 2016 |
Finger Print Sensor and Auxiliary Processor Integration in an
Electronic Device
Abstract
A system includes a fingerprint sensor and an auxiliary
processor. The auxiliary processor is operable to arm the
fingerprint sensor prior to the auxiliary processor entering a low
power or sleep mode. The fingerprint sensor can detect a finger
proximately located with the fingerprint sensor, capture and store
fingerprint data from the finger, perform at least one
pre-processing step after capturing the fingerprint data from the
finger while the auxiliary processor is in the low power or sleep
mode, and after the at least one pre-processing step and upon
receiving a request from the auxiliary processor for the finger
print data deliver the fingerprint data to the auxiliary processor.
The auxiliary processor can compare the fingerprint data to
reference data and determine whether the fingerprint data
substantially matches the reference data.
Inventors: |
Merrell; Thomas Y.; (Beach
Park, IL) ; Knapp; Steven M.; (Grayslake,
IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Google Technology Holdings LLP |
Mountain View |
CA |
US |
|
|
Family ID: |
54939217 |
Appl. No.: |
14/444205 |
Filed: |
July 28, 2014 |
Current U.S.
Class: |
382/124 |
Current CPC
Class: |
G06K 9/0002 20130101;
G06K 9/00067 20130101; G06F 1/3215 20130101; G06K 9/00973 20130101;
G06K 9/00006 20130101; G06K 9/00087 20130101 |
International
Class: |
G06K 9/00 20060101
G06K009/00; G09G 5/12 20060101 G09G005/12; G06F 1/32 20060101
G06F001/32 |
Claims
1. A system, comprising: a fingerprint sensor; and an auxiliary
processor operable to arm the fingerprint sensor prior to the
auxiliary processor entering a low power or sleep mode; the
fingerprint sensor to: detect a finger proximately located with the
fingerprint sensor; capture and store fingerprint data from the
finger; perform at least one pre-processing step after capturing
the fingerprint data from the finger while the auxiliary processor
is in the low power or sleep mode; and after the at least one
pre-processing step and upon receiving a request from the auxiliary
processor for the fingerprint data deliver the fingerprint data to
the auxiliary processor; and the auxiliary processor to: compare
the fingerprint data to reference data; and determine whether the
fingerprint data substantially matches the reference data.
2. The system of claim 1, the at least one pre-processing step
comprising: initiation of a timer upon capturing the fingerprint
data from the finger; and deletion of the fingerprint data upon
expiration of the timer.
3. The system of claim 1, the at least one pre-processing step
comprising: initiation of a timer upon capturing the fingerprint
data from the finger; detection of removal and replacement of the
finger on the fingerprint sensor; and where the timer has not
expired, capture of second fingerprint data from the finger.
4. The system of claim 3, the at least one pre-processing step
further comprising: a comparison of the fingerprint data to the
second fingerprint data; determination of which of the fingerprint
data or the second fingerprint data is more representative of the
finger; and deletion of which of the fingerprint data or the second
fingerprint data is less representative of the finger.
5. The system of claim 1, further comprising one or more state
input/output lines coupled between the fingerprint sensor and the
auxiliary processor.
6. The system of claim 5, the fingerprint sensor to configure the
one or more state input/output lines as an output during capturing
the fingerprint data from the finger.
7. The system of claim 6, the fingerprint sensor to deliver a state
output to the auxiliary processor during the capturing of the
fingerprint data from the finger.
8. The system of claim 7, the fingerprint sensor to monitor for a
power button or interrupt control actuation event after delivering
the state output.
9. The system of claim 7, the fingerprint sensor to monitor for
another object proximately located with the fingerprint sensor
after delivering the state output.
10. The system of claim 5, the fingerprint sensor to configure the
one or more state input/output lines as an input while detecting
the finger proximately located with the fingerprint sensor.
11. The system of claim 10, the auxiliary processor to deliver a
state output to the fingerprint sensor on the one or more state
input/output lines to interrupt the fingerprint sensor.
12. The system of claim 11, the state output to cause the
fingerprint sensor to return to an idle mode of operation.
13. The system of claim 11, the state output to cause the
fingerprint sensor to delete the fingerprint data.
14. The system of claim 1, further comprising an interrupt control
to cause the auxiliary processor to exit the low power or sleep
mode in response to actuation of the interrupt control.
15. The system of claim 1, the auxiliary processor comprising an
application processor.
16. A method, comprising: in a fingerprint sensor operable with an
auxiliary processor: entering an armed mode prior to the auxiliary
processor entering a low power or sleep mode; detecting an object
contacting a surface of the fingerprint sensor while the auxiliary
processor is in the low power or sleep mode; capturing object data
from the object; performing at least one pre-processing step while
the auxiliary processor is in the low power or sleep mode;
receiving a request from the object data from the auxiliary
processor after the auxiliary processor exits the low power or
sleep mode; and delivering the object data to the auxiliary
processor; and in the auxiliary processor, after exiting the low
power or sleep mode: comparing the object data to reference data;
and determining whether the object data substantially matches the
reference data.
17. The method of claim 16, the performing at least one
pre-processing step comprising initiating a timer, retaining the
object data prior to expiration of the timer, and deleting the
object data after expiration of the timer.
18. The method of claim 17, the performing at least one
pre-processing step comprising configuring an input/output line as
an input during the detecting and the capturing.
19. The method of claim 18, further comprising, converting the
input/output line to an output after the capturing.
20. The method of claim 16, the performing at least one
pre-processing step comprising: capturing second object data from
the object; comparing the second object data to the object data;
and deleting a lesser quality one of the second object data and the
object data.
Description
BACKGROUND
[0001] 1. Technical Field
[0002] This disclosure relates generally to electronic devices, and
more particularly to electronic devices with biometric sensors.
[0003] 2. Background Art
[0004] Mobile electronic communication devices, such as mobile
telephones, smart phones, gaming devices, and the like, are used by
billions of people. The owners of such devices come from all walks
of life. These owners use mobile communication devices for many
different purposes including, but not limited to, voice
communications, text messaging, Internet browsing, commerce such as
banking, and social networking. The circumstances under which users
of mobile communication device use their devices varies widely as
well.
[0005] In using mobile communication devices for so many
applications, a user is likely to have a wide variety of personal
passcodes that are used to access the device, an application, or
combinations thereof. Such passcodes are generally required to
access personal information on an electronic device, access email,
retrieve bank records, and so forth. Frequently these passcodes are
required to meet strict security guidelines and can thus become
lengthy and difficult to remember. Moreover, for security purposes,
many devices and systems require the user to change each passcode
on a regular basis. Accordingly, remembering all these passcodes
can be difficult.
[0006] To alleviate this issue, some modern electronic devices are
being equipped with biometric sensors. Rather than entering a
passcode, a user touches or otherwise interacts with a biometric
sensor to identify their identity and acquire access to a device or
particular application. While biometric sensors may eliminate the
need to memorize many different passcodes, they are not without
issues of their own. For example, they can be slow. For example,
comparing a retinal scan or a fingerprint to a reference to
determine whether there is a match takes a large amount of
processing power and can be slow. It would be advantageous to have
an improved system for accessing an electronic device, personal
information, or applications operating on an electronic device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] FIG. 1 illustrates one explanatory system configured in
accordance with one or more embodiments of the disclosure.
[0008] FIG. 2 illustrates a user using one explanatory system
configured in accordance with one or more embodiments of the
disclosure.
[0009] FIG. 3 illustrates one explanatory schematic block diagram
associated with one or more embodiments of the disclosure.
[0010] FIG. 4 illustrates one explanatory functional schematic
block diagram in accordance with one or more embodiments of the
disclosure.
[0011] FIG. 5 illustrates one explanatory method associated with
one or more embodiments of the disclosure.
[0012] FIG. 6 illustrates another explanatory schematic block
diagram associated with one or more embodiments of the
disclosure.
[0013] FIG. 7 illustrates another explanatory method associated
with one or more embodiments of the disclosure.
[0014] FIG. 8 illustrates explanatory state tables in accordance
with one or more embodiments of the disclosure.
[0015] FIG. 9 illustrates another explanatory schematic block
diagram associated with one or more embodiments of the
disclosure.
[0016] Skilled artisans will appreciate that elements in the
figures are illustrated for simplicity and clarity and have not
necessarily been drawn to scale. For example, the dimensions of
some of the elements in the figures may be exaggerated relative to
other elements to help to improve understanding of embodiments of
the present disclosure.
DETAILED DESCRIPTION OF THE DRAWINGS
[0017] Before describing in detail embodiments that are in
accordance with the present disclosure, it should be observed that
the embodiments reside primarily in combinations of method steps
and apparatus components related to processing information received
from a fingerprint sensor using one or more processors as described
below. Any process descriptions or blocks in flow charts should be
understood as representing modules, segments, or portions of code
that include one or more executable instructions for implementing
specific logical functions or steps in the process. Alternate
implementations are included, and it will be clear that functions
may be executed out of order from that shown or discussed,
including substantially concurrently or in reverse order, depending
on the functionality involved. Accordingly, the apparatus
components and method steps have been represented where appropriate
by conventional symbols in the drawings, showing only those
specific details that are pertinent to understanding the
embodiments of the present disclosure so as not to obscure the
disclosure with details that will be readily apparent to those of
ordinary skill in the art having the benefit of the description
herein.
[0018] It will be appreciated that embodiments of the disclosure
described herein may be comprised of one or more conventional
processors and unique stored program instructions that control the
one or more processors to implement, in conjunction with certain
non-processor circuits, some, most, or all of the functions of
fingerprint data processing as described herein. The non-processor
circuits may include, but are not limited to, a radio receiver, a
radio transmitter, signal drivers, clock circuits, power source
circuits, and user input devices. As such, these functions may be
interpreted as steps of a method to perform processing of
fingerprint data. Alternatively, some or all functions could be
implemented by a state machine that has no stored program
instructions, or in one or more application specific integrated
circuits (ASICs), in which each function or some combinations of
certain of the functions are implemented as custom logic. Of
course, a combination of the two approaches could be used. Thus,
methods and means for these functions have been described herein.
Further, it is expected that one of ordinary skill, notwithstanding
possibly significant effort and many design choices motivated by,
for example, available time, current technology, and economic
considerations, when guided by the concepts and principles
disclosed herein will be readily capable of generating such
software instructions and programs and ICs with minimal
experimentation.
[0019] Embodiments of the disclosure are now described in detail.
Referring to the drawings, like numbers indicate like parts
throughout the views. As used in the description herein and
throughout the claims, the following terms take the meanings
explicitly associated herein, unless the context clearly dictates
otherwise: the meaning of "a," "an," and "the" includes plural
reference, the meaning of "in" includes "in" and "on." Relational
terms such as first and second, top and bottom, and the like may be
used solely to distinguish one entity or action from another entity
or action without necessarily requiring or implying any actual such
relationship or order between such entities or actions. Also,
reference designators shown herein in parenthesis indicate
components shown in a figure other than the one in discussion. For
example, talking about a device (10) while discussing figure A
would refer to an element, 10, shown in figure other than figure
A.
[0020] Embodiments of the disclosure provide a system that includes
a fingerprint sensor and one or more processors. For discussion
purposes, the one or more processors will be referred to as an
auxiliary processor. However, it should be noted that the auxiliary
processor can be any of an application processor, a secondary
processor, or combinations thereof. An "application" processor is
configured to operate the primary applications of the system,
including the operating system environment. A "secondary" processor
can be configured to operate ancillary or secondary functions,
including output notification devices, user interface functions,
and so forth.
[0021] The secondary processor can be a low power processor having
lower power consumption than an application processor in one or
more embodiments. For example, in one embodiment the application
processor is tasked with performing the secure information and
application operating functions of an electronic device.
Accordingly, the application processor will consume relatively
large amounts of power. By contrast, the secondary processor may
perform a limited number of non-secure functions. Thus, the
secondary processor can be configured as a smaller component that
consumes less power than an application processor. Fingerprint
sensors in accordance with embodiments of the disclosure can be
configured to work with either device, referred to herein as an
"auxiliary" processor.
[0022] Embodiments of the disclosure contemplate that power
savings--and thus longer runtime on a single battery charge--can be
achieved by causing the auxiliary processor to enter a low power or
sleep mode when not in use. However, in one or more embodiments the
fingerprint sensor can remain in an operational state continually,
even while the device is not in use. To reduce overall latency, in
one or more embodiments the finger print sensor can capture
fingerprint data and perform at least one pre-processing step on
that data. In one or more embodiments, the pre-pressing steps can
occur while the auxiliary processor is in the low power or sleep
mode. However, embodiments of the disclosure contemplate that data
matching systems will become more complex. For example, algorithms
matching fingerprint data to reference data to determine whether
there is a match will become increasingly sophisticated and will
require more calculations. Accordingly, to reduce latency,
embodiments of the disclosure contemplate that it is best to have
the auxiliary processor perform the matching function. At the same
time, to conserve power embodiments of the disclosure perform
essentially all pre-processing fingerprint data functions in the
fingerprint sensor itself while the auxiliary processor is in the
low-power or sleep mode. The auxiliary processor can then awaken to
perform the matching steps of the fingerprint verification
process.
[0023] Embodiments of the disclosure contemplate that latency will
be large when a user uses a fingerprint sensor to both authenticate
the user's identity and wake the overall device by waking the
auxiliary processor. Auxiliary processors, especially when
configured as application processors, take time to wake from a low
power or sleep mode. As this is true, fingerprint data received at
the fingerprint sensor generally cannot be acquired or analyzed
during this wake state. Where this time is long enough, a user may
lift their finger from the fingerprint sensor prior to any
fingerprint data being captured at all.
[0024] Embodiments of the disclosure provide a solution to this
predicament by sharing the labor between processing components
in--or operable with--the fingerprint sensor and the auxiliary
processor itself. For example, in one embodiment the auxiliary
processor is operable to arm the fingerprint sensor prior to the
auxiliary processor entering a low power or sleep mode. While the
auxiliary processor is in the low power or sleep mode, the
fingerprint sensor can be operable to detect a finger proximately
located with the fingerprint sensor. The fingerprint sensor can
optionally, in one embodiment, determine whether an object in
contact with the fingerprint sensor is actually a finger or another
object.
[0025] In one embodiment, the fingerprint sensor can then capture
and store fingerprint data from the finger. The fingerprint sensor
can further perform at least one pre-processing step while the
auxiliary processor is in the low power or sleep mode in one or
more embodiments. Illustrating by example, in one application the
fingerprint data can be stored for a limited duration. Accordingly,
the at least one pre-processing step can comprise initiation by the
fingerprint sensor of a timer after capturing fingerprint data.
When the timer expires, the fingerprint sensor may delete the
fingerprint data. Where the user lifts their finger and again
touches the fingerprint sensor while the timer has not expired, the
fingerprint sensor may capture
[0026] When the auxiliary processor awakens, be it from a power
button press or other interrupt device, the auxiliary processor can
then poll the fingerprint sensor to determine whether fingerprint
data has been captured. In one embodiment, this occurs after the
pre-processing step of the fingerprint sensor is complete. Where it
has, the auxiliary processor can retrieve the fingerprint data from
the fingerprint sensor and compare the fingerprint data to
reference data to determine whether the fingerprint data
substantially matches the reference data.
[0027] Thus, in a fingerprint matching algorithm, the "up front"
work of capturing, recapturing, and pre-processing data can be done
by the fingerprint sensor while the auxiliary processor is in--or
waking from--the low power or sleep mode. The auxiliary processor
can then perform the matching steps of the process to determine if
the user is authorized to use the device. This "capture while the
auxiliary processor is asleep or waking and then match on the
auxiliary processor" two-step process both reduces latency in the
fingerprint analysis and works to eliminate failing to capture
fingerprint data when a user quickly lifts their finger as noted
above.
[0028] Advantageously, embodiments of the disclosure work to reduce
an amount of data that needs to be transferred from the fingerprint
sensor to the auxiliary processor by performing pre-processing
steps in the fingerprint sensor while the auxiliary processor is
asleep. Additionally, embodiments of the disclosure allow the
fingerprint sensor--acting in concert with processors in, or
operable with, the fingerprint sensor--to do as much of the
fingerprint identification algorithm in parallel with the waking of
the auxiliary processor as possible while leaving the matching step
for the auxiliary processor. Embodiments of the disclosure thus
allow the auxiliary processor to stay in the low power or sleep
mode as much as possible to conserve power and increase device
runtime.
[0029] In one or more embodiments, the fingerprint sensor performs
operations such as determining whether an object proximately
located with the fingerprint sensor is a finger, fingerprint data
capture, data quality comparisons, noise filtering, and so forth.
This results in reliable fingerprint data being ready for the
auxiliary processor when it wakes from the low power or sleep
mode.
[0030] Embodiments of the disclosure contemplate that the auxiliary
processor can awaken from the low power or sleep mode at various
times. For example, in one embodiment, the auxiliary processor
awakens when an object determined by the fingerprint sensor to be a
finger is detected. In another embodiment, the auxiliary processor
awakens when fingerprint data is being captured. In another
embodiment, the auxiliary processor awakens after fingerprint data
is captured. In yet another embodiment, the auxiliary processor
awakens in response to an interrupt event, such as that created
when a user presses a power button on the electronic device.
[0031] To provide minimum latency across each of the wake times
described in the preceding paragraph, in one or more embodiments
the fingerprint sensor is configured to retain fingerprint data at
least for a predetermined time. This is true regardless of whether
the user's finger leaves the fingerprint sensor prior to the
auxiliary processor waking. This minimum duration of fingerprint
data retention provides the auxiliary processor with a sufficient
time to exit the low power or sleep mode.
[0032] However, in one or more embodiments the amount of time the
fingerprint data is retained needs to be limited for security
reasons. Users may not want their fingerprint data stored in a
device indefinitely. Accordingly, in one embodiment the fingerprint
sensor is configured to initiate a timer upon capturing the
fingerprint data from the finger. The fingerprint sensor can then
delete the fingerprint data upon expiration of the timer. In one
embodiment, this happens regardless of whether the auxiliary
processor has sufficiently awoken and/or requested the fingerprint
data from the fingerprint sensor.
[0033] Embodiments of the disclosure contemplate that when such a
timer is in use, the user may lift their finger from the
fingerprint sensor and then touch it again. This "double touch" can
happen prior to expiration of the timer. Advantageously, in one
embodiment the fingerprint sensor retains the first fingerprint
data for a sufficiently long duration to be able to capture second
fingerprint data. The fingerprint sensor can then compare the first
fingerprint data to the second fingerprint data and determine which
of the first fingerprint data or the second fingerprint data is
more representative of the finger, i.e., is of higher quality for
use in a matching algorithm. In one embodiment, the fingerprint
sensor can then delete which of the first fingerprint data or the
second fingerprint data is less representative of the finger. This
results in the fingerprint sensor retaining an image or other
fingerprint data that has the superior quality and that has the
better chance of a successful match to the reference data.
[0034] In one or more embodiments, one or more state input/output
lines can be coupled between the fingerprint sensor and the
auxiliary processor. As will be described in more detail below,
where included these state input/output lines can be used as inputs
to the fingerprint sensor at times and outputs from the fingerprint
sensor at other times. Use of these state input/output lines
advantageously allows the auxiliary processor to interrupt the
fingerprint sensor at some times, and also allows the fingerprint
sensor to notify the auxiliary processor that it is acquiring--or
has captured--fingerprint data in one or more embodiments. This
notification can be used, for example, to wake the auxiliary
processor from its low power or sleep mode in one embodiment. Other
applications for the state input/output lines will be described
below. Still others will be obvious to those of ordinary skill in
the art having the benefit of this disclosure.
[0035] Turning now to FIG. 1, illustrated therein is one
explanatory system 100 configured in accordance with one or more
embodiments of the disclosure. The system 100 includes an
explanatory electronic device 101 in this embodiment. The
explanatory electronic device 101 of FIG. 1 is shown as a smart
phone for illustrative purposes. However, it should be obvious to
those of ordinary skill in the art having the benefit of this
disclosure that other electronic devices may be substituted for the
explanatory smart phone to achieve the system 100 of FIG. 1. For
example, a system 100 configured in accordance with embodiments of
the disclosure could substitute a palm-top computer, a tablet
computer, a gaming device, wearable computer, a media player, or
other device for the smart phone that is used for illustrative
purposes in FIG. 1.
[0036] This illustrative electronic device 101 includes a display
102, which may optionally be touch-sensitive. In one embodiment
where the display 102 is touch-sensitive, the display 102 can serve
as a primary user interface of the electronic device 101. Users can
deliver user input to the display 102 of such an embodiment by
delivering touch input from a finger, stylus, or other objects
disposed proximately with the display. In one embodiment, the
display 102 is configured as an active matrix organic light
emitting diode (AMOLED) display. However, it should be noted that
other types of displays, including liquid crystal displays, would
be obvious to those of ordinary skill in the art having the benefit
of this disclosure.
[0037] In one embodiment, the display 102 is a high-resolution
display. The term "high-resolution display" is used herein to refer
to a display device that can present text and images to a user by
altering a large number of pixels which, when viewed collectively
by a user, form the presented text or image. The high-resolution
display can be used for the presentation of text, information, and
graphics on a mobile device with sufficient granularity as to be
easily switched between graphics or text. For example, the
high-resolution display could be one suitable for presenting an
image in the Joint Photographics Expert Group (JPG) format to the
user. Such displays generally are configured to turn on and off
individual pixels by way of a display driver for the presentation
of high-resolution information.
[0038] The explanatory electronic device 101 of FIG. 1 includes two
housing members. A front housing member 127 is disposed about the
periphery of the display 102. Said differently, the display 102 is
disposed along a major face of the front housing member 127 in one
embodiment. A rear-housing member 128 forms the backside of the
electronic device 101 in this illustrative embodiment. Features can
be incorporated into the housing members 127,128. Examples of such
features include an optional camera 111 or an optional speaker port
114, which are show disposed on the backside of the electronic
device 101 in this embodiment. In this illustrative embodiment, a
fingerprint sensor 110 is disposed along the rear-housing member
128 on the backside of the electronic device 101. Note that in
other embodiments, the fingerprint sensor 110 could be disposed
along the front housing member 127 adjacent to the display 102 as
well. In still other embodiments, the fingerprint sensor 110 could
be disposed beneath the display 102, thereby allowing the user to
place a finger on the display 102 for identification.
[0039] In one embodiment, the fingerprint sensor 110 can be a
single function device. In other embodiments, the fingerprint
sensor 110 can be a dual or multifunction device. Illustrating by
example, in one embodiment the fingerprint sensor 110 is solely
responsible for receiving biometric data from a user and either
authenticating the user or determining that the user is
unauthorized to use the electronic device 101. This would be a
single function fingerprint sensor.
[0040] In other embodiments, the fingerprint sensor 110 may be
capable of performing multiple functions. Again illustrating by
example, in one embodiment the fingerprint sensor 110 can receive
biometric data from a user and either authenticate the user or
determine that the user is unauthorized to use the electronic
device 101. However, the fingerprint sensor 110 may also be
configured as a push button. Thus, by touching the fingerprint
sensor 110 the user may deliver biometric data only. However, by
touching and pressing the fingerprint sensor 110, the fingerprint
sensor 110 may both authenticate the user by receiving the
biometric data from touch input and perform a second function in
response to the push button being depressed. An example of the
second function may be causing the auxiliary processor 116 to exit
a low power or sleep mode.
[0041] Where the fingerprint sensor 110 is instead a single
function device, another user control, such as push button 109, may
be included for performing the second function. Thus, in such an
embodiment the user may touch the fingerprint sensor 110 to deliver
biometric data and press the push button 109 or other user control
to cause the auxiliary processor 116 to exit the low power or sleep
mode. In one or more embodiments, simultaneous activation of the
fingerprint sensor 110 and the push button 109 may be required. For
example, a user may have to press the push button 109 with one
finger while touching the fingerprint sensor 110 with another
finger to access all operational features of the electronic device
101. In other embodiments, these processes, i.e., touching the
fingerprint sensor 110 and pressing the push button 109, may need
to be performed in a specific order to properly unlock the
electronic device 101 and access the features of the auxiliary
processor 116. In still other embodiments, no particular order of
these processes may be required so long as both are performed
within a predetermined time of each other. Other modes of unlocking
an accessing the electronic device 101 will be obvious to those of
ordinary skill in the art having the benefit of this
disclosure.
[0042] In one embodiment, the electronic device 101 includes one or
more connectors 112, 113, which can include an analog connector, a
digital connector, or combinations thereof. In this illustrative
embodiment, connector 112 is an analog connector disposed on a
first edge, i.e., the top edge, of the electronic device 101, while
connector 113 is a digital connector disposed on a second edge
opposite the first edge, which is the bottom edge in this
embodiment.
[0043] A block diagram schematic 115 of the electronic device 101
is also shown in FIG. 1. In one embodiment, the electronic device
101 includes one or more control circuits. In one embodiment, the
electronic device includes an auxiliary processor 116. The
auxiliary processor 116 can include one or more processors. The
auxiliary processor 116 can be a microprocessor, a group of
processing components, one or more Application Specific Integrated
Circuits (ASICs), programmable logic, or other type of processing
device. The auxiliary processor 116 can be operable with the
various components of the electronic device 101. The auxiliary
processor 116 can be configured to process and execute executable
software code to perform the various functions of the electronic
device 101. A storage device, such as memory 118, can optionally
store the executable software code used by the auxiliary processor
116 during operation.
[0044] In this illustrative embodiment, the electronic device 101
also includes a communication circuit 125 that can be configured
for wired or wireless communication with one or more other devices
or networks. The networks can include a wide area network, a local
area network, and/or personal area network. Examples of wide area
networks include GSM, CDMA, W-CDMA, CDMA-2000, iDEN, TDMA, 2.5
Generation 3GPP GSM networks, 3rd Generation 3GPP WCDMA networks,
3GPP Long Term Evolution (LTE) networks, and 3GPP2 CDMA
communication networks, UMTS networks, E-UTRA networks, and other
networks. The communication circuit 125 can include wireless
communication circuitry, one of a receiver, a transmitter, or
transceiver, and one or more antennas 126.
[0045] The fingerprint sensor 110 is operable with the auxiliary
processor 116 in one or more embodiments. In one embodiment, the
fingerprint sensor 110 includes its own processor 127 to perform
various functions, including detecting a finger proximately located
with the fingerprint sensor 110, capturing and storing fingerprint
data from the finger, performing at least one pre-processing step
while the auxiliary processor 116 is in a low power or sleep mode,
and upon receiving a request from the auxiliary processor 116 for
the fingerprint data, delivering the fingerprint data to the
auxiliary processor 116. In one or more embodiments the processor
127 of the fingerprint sensor 110 can, as one pre-processing step,
initiate a timer upon capturing the fingerprint data from the
finger and can delete the fingerprint data upon expiration of the
timer. In one embodiment, the processor 127 of the fingerprint
sensor 110 can, as another pre-processing step, detect removal and
replacement of the finger on the fingerprint sensor 110, and where
the timer has not expired, capture second fingerprint data from the
fingerprint sensor 110. The processor 127 of the fingerprint sensor
110 can then compare the fingerprint data to the second fingerprint
data to determine which of the fingerprint data or the second
fingerprint data is more representative of the user's finger. The
processor 127 of the fingerprint sensor 110 can then delete which
of the fingerprint data or the second fingerprint data is less
representative of the finger.
[0046] The processor 127 of the fingerprint sensor 110 can be an
on-board processor.
[0047] Alternatively, the processor 127 can be a secondary
processor that is external to, but operable with, the fingerprint
sensor in another embodiment. Other configurations will be obvious
to those of ordinary skill in the art having the benefit of this
disclosure.
[0048] In one embodiment, the fingerprint sensor 110 can include an
array of pixels. The fingerprint sensor 110 can be a complementary
metal-oxide-semiconductor active pixel sensor digital imager or any
other fingerprint sensor. The fingerprint sensor 110 can be
configured to capture a live scan of a fingerprint pattern from a
finger disposed along its surface, and to store this information as
fingerprint data from the user's finger. The fingerprint sensor 110
may also be able to capture one or more images. The images can
correspond to an area beneath a surface of skin The fingerprint
sensor 110 can compare the fingerprint data or skin images to one
or more references to authenticate a user in an authentication
process.
[0049] In one embodiment, the auxiliary processor 116 can be
configured as an application processor responsible for performing
the primary functions of the electronic device 101. For example, in
one embodiment the auxiliary processor 116 comprises one or more
circuits operable to present presentation information, such as
images, text, and video, on the display 102. The executable
software code used by the auxiliary processor 116 can be configured
as one or more modules 120 that are operable with the auxiliary
processor 116. Such modules 120 can store instructions, control
algorithms, and so forth.
[0050] In one embodiment where the auxiliary processor 116 is
configured as an application processor, the auxiliary processor 116
can be responsible for running the operating system environment
121. The operating system environment 121 can include a kernel, one
or more drivers 122, and an application service layer 123, and an
application layer 124. The operating system environment 121 can be
configured as executable code operating on one or more processors
or control circuits of the electronic device 101.
[0051] The application layer 124 can be responsible for executing
application service modules. The application service modules may
support one or more applications or "apps." Examples of such
applications shown in FIG. 1 include a cellular telephone
application 103 for making voice telephone calls, a web browsing
application 104 configured to allow the user to view webpages on
the display 102 of the electronic device 101, an electronic mail
application 105 configured to send and receive electronic mail, a
photo application 106 configured to permit the user to view images
or video on the display 102 of electronic device 101, and a camera
application 107 configured to capture still (and optionally video)
images. These applications are illustrative only, as others will be
obvious to one of ordinary skill in the art having the benefit of
this disclosure.
[0052] In one or more embodiments where the auxiliary processor 116
is configured as an application processor, the auxiliary processor
116 is responsible for managing the applications and all secure
information of the electronic device 101. Secure information can
include personal information that is revealed only to authorized
users upon authentication by the fingerprint sensor 110. The
auxiliary processor 116 is also responsible for launching,
monitoring and killing the various applications and the various
application service modules. The applications of the application
layer 124 can be configured as clients of the application service
layer 123 to communicate with services through application program
interfaces (APIs), messages, events, or other inter-process
communication interfaces.
[0053] In one or more embodiments, the auxiliary processor 116 can
be configured as a secondary processor that is operable with an
application processor. Where so configured, the auxiliary processor
116 can be tasked with executing non-secure or non-application
operations. For example, the auxiliary processor 116 may execute
input/output functions, actuate user feedback devices, and so
forth. In one embodiment the auxiliary processor 116 is not
permitted execute any operations involving personal information
that is revealed only to authorized users upon authentication by
the fingerprint sensor 110.
[0054] In one or more embodiments, the auxiliary processor 116 can
be placed into a low power or sleep mode when the electronic device
101 is not in use. When the auxiliary processor 116 is in the low
power or sleep mode, the display 102 may be OFF and the various
applications will not be operational.
[0055] By contrast, in one or more embodiments the fingerprint
sensor 110 may be left in a continually operational mode. Said
differently, in one or more embodiments the fingerprint sensor 110
is to operate in an operational mode while the auxiliary processor
116 is in the low power or sleep mode. As the fingerprint sensor
110 and its associated processor 127 consume relatively low power,
this may provide advantages such as quicker response times when a
user begins, for example, interacting with the fingerprint sensor
110 or other components of the electronic device 101.
[0056] In one embodiment, the auxiliary processor 116 is operable
to arm the fingerprint sensor 110 prior to the auxiliary processor
116 entering the low power or sleep mode. For example, when the
electronic device 101 is unlocked and operational, there may be
little or no need for biometric authentication via the fingerprint
sensor 110. Accordingly, the auxiliary processor 116 may disarm the
fingerprint sensor 110. Where the fingerprint sensor 110 is a dual
or multifunction device, secondary or other functionality may
remain operational when the fingerprint sensor 110 is disarmed. For
instance, a user may still be able to press the push button of the
dual action fingerprint sensor to take a photograph. However, in
many instances when the auxiliary processor 116 enters the low
power or sleep mode, it may lock the electronic device 101
[0057] In one or more embodiments, one or more state input/output
lines 128 are coupled between the fingerprint sensor 110 and the
auxiliary processor 116. The inclusion of the one or more state
input/output lines 128 is optional, as shown by comparing FIGS. 3
and 6 below.
[0058] In one embodiment, the one or more state input/output lines
128 can be interchangeably converted between functioning as outputs
from the fingerprint sensor 110 to the auxiliary processor 116 and
functioning as outputs from the auxiliary processor 116 to the
fingerprint sensor 110. Accordingly, state information can be
exchanged between the fingerprint sensor 110 to the auxiliary
processor 116 in the form of a state input/output defined by two
general-purpose input/output state lines, namely a first
general-purpose state input/output line 129 and a second
general-purpose input/output state line 130. The fingerprint sensor
110 and the auxiliary processor 116 can exchange general-purpose
input/output information via the first general-purpose state
input/output line 129 and the second general-purpose input/output
state line 130 to general-purpose input/output connections at each
device. The state input/output can change in accordance with one of
many methods, one of which will be described in more detail below
with reference to FIG. 7.
[0059] In the illustrative embodiment of FIG. 1, two
general-purpose state input/output lines 129,130 are used with a
state diagram (described below with reference to FIG. 8). It should
be noted that these two general-purpose state input/output lines
129,130 are used to illustrate one explanatory communication path
between the fingerprint sensor 110 and the auxiliary processor 116.
Moreover, the states of the state diagram discussed below with
reference to FIG. 8 illustrate explanatory states that are useful
in practice. For designers desiring alternate functions, other
communication interfaces may be substituted for the two
general-purpose state input/output lines 129,130. Illustrating by
example, a designer may substitute a one-wire bus, two-wire bus, or
other communication interface so that a secure, encrypted channel
is established between the fingerprint sensor 110 and the auxiliary
processor 116. Other communication interfaces will be obvious to
those of ordinary skill in the art having the benefit of this
disclosure.
[0060] Turning to FIG. 2, a user 200 is using the fingerprint
sensor 110 by proximately locating a finger 201 with the
fingerprint sensor 110. The fingerprint sensor 110 is then
configured to detect the finger 201 being proximately located with
the fingerprint sensor 110. The fingerprint sensor 110 then
captures and stores fingerprint data from the finger 201. In one
embodiment, the fingerprint data comprises an image of the user's
fingerprint. Other examples of fingerprint data will be obvious to
those of ordinary skill in the art having the benefit of this
disclosure.
[0061] Where the fingerprint sensor 110 is also be configured as a
push button, it may perform a second function in response to being
depressed. An example of the second function may be causing the
auxiliary processor (116) to exit a low power or sleep mode.
[0062] Turning now to FIG. 3, illustrated therein is a schematic
block diagram of the front end 300 of one explanatory system in
accordance with one or more embodiments of the disclosure. This
particular front end 300 includes the fingerprint sensor 110 and
the auxiliary processor 116. The fingerprint sensor 110 is to
capture and store fingerprint data 302 from a user's finger
(201).
[0063] An interrupt control 301 can optionally also be operable
with the auxiliary processor 116. The interrupt control 301, where
included, can be triggered in one of a variety of ways. For
example, where the fingerprint sensor 110 is capable of performing
multiple functions, the interrupt control 301 may be responsive to
touching and pressing of the fingerprint sensor 110. Alternatively,
where the fingerprint sensor 110 is instead a single function
device, the interrupt control 301 may be responsive to another user
control, such as push button (109) from FIG. 1. Other modes of
actuating the interrupt control 301 will be obvious to those of
ordinary skill in the art having the benefit of this
disclosure.
[0064] When the interrupt control 301 is actuated, in one
embodiment the auxiliary processor 116 exits the low power or sleep
mode. When this happens, several additional actions can occur. In
one embodiment, the auxiliary processor 116 is permits any
authentication process occurring in the fingerprint sensor 110 to
complete. In another embodiment, the auxiliary processor 116 is to
interrupt the authentication process occurring in the fingerprint
sensor 110 upon exiting the low power or sleep mode. In yet another
embodiment, the auxiliary processor 116 can reset the
authentication process of the fingerprint sensor 110 after exiting
the low power or sleep mode. In yet another embodiment, the
auxiliary processor 116 can request the fingerprint data 302 from
the fingerprint sensor 110 upon exiting the low power or sleep mode
in response to the actuation of the interrupt control 301. Other
actions will be obvious to those of ordinary skill in the art
having the benefit of this disclosure.
[0065] In one embodiment, both the fingerprint sensor 110 is to
operate in a mode that is semi-autonomous from the auxiliary
processor 116 at substantial, or all, times. This semi-autonomous
operation works to provide a real-time, "always ON" responsiveness
of the fingerprint sensor 110 by allowing the fingerprint sensor
110 to collect and pre-process fingerprint data while the auxiliary
processor 116 exits the low power or sleep mode.
[0066] Turning now to FIG. 4, illustrated therein is a functional
diagram 400 indicating which functions occur where when the
fingerprint sensor 110 is operating in a semi-autonomous mode of
operation relative to the auxiliary processor 116 in one or more
embodiments. The fingerprint sensor 110 performs capturing and
pre-processing steps 401, while the auxiliary processor 116
performs matching and control steps 407. Examples of capturing and
pre-processing steps 401 include monitoring 402 the fingerprint
sensor to detect a finger proximately located with the fingerprint
sensor 110 and capturing 403 fingerprint data (302). The capturing
and pre-processing steps 401 can also include pre-processing 403
the fingerprint data (302), e.g., noise filtering the fingerprint
data (302) or other pre-processing steps as described herein.
[0067] The capturing and pre-processing steps 401 can further
include validating 405 whether an object proximately located with
the fingerprint sensor 110 is actually a finger rather than another
inanimate object such as a key ring, lipstick case, or other
object. The capturing and pre-processing steps 401 can also include
image validation 405. The image validation 405 can include
determining if the fingerprint data (302) is of sufficient quality
so as to successfully make it through the matching and control
steps 407 occurring in the auxiliary processor 116. In other
embodiments, where multiple sets of the fingerprint data (302)
exists, the image validation 405 can include comparing the second
object or fingerprint data (302) to primary object or fingerprint
data (302) and deleting a lesser quality one of the second object
or fingerprint data (302) and the primary object or fingerprint
data (302).
[0068] The auxiliary processor 116, in one embodiment, is then
tasked with executing the matching and control steps 407. In one
embodiment, the matching and control steps 407 comprise retrieving
408 the fingerprint data (302) from the fingerprint sensor 110. For
example, the auxiliary processor 116 may request, by polling or
other means, the fingerprint data (302) from the fingerprint sensor
110. Upon receiving a request from the auxiliary processor 116 for
the fingerprint data (302), the fingerprint sensor 110 can deliver
the fingerprint data (302) to the auxiliary processor 116 in one or
more embodiments.
[0069] The matching and control steps 407 can further include
performing 409 a fingerprint matching operation. In one embodiment,
this includes comparing the fingerprint data (302) to reference
data 411 and determining whether the fingerprint data (302)
substantially matches the reference data 411. In another
embodiment, this includes comparing object data taken from an
object proximately located to the fingerprint sensor 110 to
reference data and determining whether the object data
substantially matches the reference data.
[0070] The matching and control steps 407 can further include error
processing 410. It is contemplated that the fingerprint sensor 110,
for whatever reason, may occasionally enter an error state
requiring the fingerprint sensor 110 to be reset, recalibrated, or
otherwise addressed. Illustrating by example, the auxiliary
processor may need to have a service module communicate with the
executable code operating in the fingerprint sensor 110. While this
is expected to rarely, and preferably never, happen, if it does
occur the matching and control steps 407 can be used to correct
this state. One reason the error state can occur, for example, is
when the fingerprint sensor 110 is in need of calibration to
properly capture and store the fingerprint data (302). Accordingly,
the auxiliary processor 116 can then perform a recalibration
process as part of the matching and control steps 407.
[0071] Turning now to FIG. 5, illustrated therein is a more
detailed delineation of various functions that can occur when the
fingerprint sensor 110 is operating in a semi-autonomous mode
relative to the auxiliary processor 116. In one embodiment, the
fingerprint sensor 110 is to detect 501 a finger proximately
located with the fingerprint sensor 110. As a part of the detection
process, the fingerprint sensor 110 can enter an input reception
mode upon an object contacting the surface of the fingerprint
sensor 110.
[0072] In one embodiment, the fingerprint sensor 110 can optionally
be configured to determine 502--with a reasonable amount of
certainty--that the object touching or otherwise proximately
located with the fingerprint sensor 110 is actually a finger and
not an object incapable of authentication. Where the object is a
finger, the fingerprint sensor 110 can then capture 503 fingerprint
data from the finger and perform other pre-processing such as noise
filtering and so forth.
[0073] In one or more embodiments, the fingerprint sensor 110 is
further to retain 504 the fingerprint data for at least a
predetermined time. For example, in one embodiment the fingerprint
sensor 110 can initiate a timer 506 upon capturing 503 the
fingerprint data and can retain the fingerprint data while the
timer is active. In one embodiment, the fingerprint sensor 110 can
then delete the fingerprint data upon expiration of the timer 506.
In one embodiment, upon receiving a request from the auxiliary
processor 116 for the fingerprint data, the fingerprint sensor 110
can deliver 505 the fingerprint data to the auxiliary processor
116.
[0074] The auxiliary processor 116 can then perform certain
matching and control functions. For example, in one embodiment the
auxiliary processor 116 operable to arm 507 the fingerprint sensor
110 prior to the auxiliary processor 116 entering a low power or
sleep mode. The auxiliary processor 116 can then exit 508 the low
power or sleep mode when a push button (109) is actuated by a user.
In one or more embodiments, upon exiting the low power or sleep
mode, the auxiliary processor 116 requests 509 fingerprint data
from the fingerprint sensor 110. Upon receiving this request 509
for the fingerprint data, the fingerprint sensor 110 can deliver
505 the fingerprint data to the auxiliary processor 116.
[0075] The auxiliary processor 116, after having received the
fingerprint data, can then perform a matching process 510 to
determine whether the fingerprint data substantially matches
reference data stored in memory. Other functions 510 can be
performed by the auxiliary processor 116 as well.
[0076] Thus, when operating in the semi-autonomous mode of FIG. 5,
as much fingerprint data processing as possible is done on the
fingerprint sensor 110. This may include algorithms such as a "real
finger" check, frame selection, noise filtering, etc. The result
this processing is a high quality fingerprint data set that is
transmitted to the auxiliary processor 116 to be run through the
matching process 510.
[0077] For improved usability, in one or more embodiments the
fingerprint sensor 110 retains 504 the fingerprint data such that
it is available for the auxiliary processor 116 to use in the
matching process 510 for some fixed time after the fingerprint data
is captured 503, regardless if the user has already removed their
finger. This provides the auxiliary processor 116 sufficient time
to wake up if it is in the low power or sleep mode. It may also be
desirable for security reasons to eventually delete the fingerprint
data whether the auxiliary processor 116 has requested it or not.
Therefore, a timeout is provided in one or more embodiments.
[0078] Also it is possible that the user could touch the
fingerprint sensor 110, remove their finger, and then touch the
fingerprint sensor 110 again before the timeout has expired. In
this case it can be preferable for the fingerprint sensor 110 to
retain the first fingerprint data long enough to compare it with
second fingerprint data to decide which has the superior quality.
The fingerprint sensor 110 can then retain the one of the
fingerprint data or the second fingerprint data that has the better
chance of a successful match during the matching process 510
occurring in the auxiliary processor 116.
[0079] It should be noted that there are situations where it is
possible for the fingerprint sensor 110 to come in contact with a
conductive surface, but where it is contextually unlikely for the
user to be attempting to authenticate. For example, if the overall
electronic device is in a docking station or holster, there may be
a small probability that the user is attempting to use the
fingerprint sensor 110. In some applications, the auxiliary
processor 116 is in a better position t understand these contextual
relationships. Accordingly, in one embodiment the other functions
511 include the ability for the auxiliary processor 116 to
interrupt the fingerprint sensor 110. For example, the entire
semi-autonomous mode may be halted as one of the other functions
511 so that the fingerprint sensor 110 can be placed into a low
power state.
[0080] Turning now to FIG. 6, illustrated therein is an alternate
schematic block diagram of another front end 600 of one explanatory
system in accordance with one or more embodiments of the
disclosure. This alternate front end 600 includes the fingerprint
sensor 110 and the auxiliary processor 116. The fingerprint sensor
110 is to capture and store fingerprint data 302 from a user's
finger (201). This front end 600 further comprises two state
input/output lines 129,130 coupled between the fingerprint sensor
110 and the auxiliary processor.
[0081] An interrupt control 301 is also operable with the auxiliary
processor 116. In this illustrative embodiment, the interrupt
control 301 is coupled to a first state input/output line 129. The
second state input/output line 130 is for communication between the
auxiliary processor 116 and the fingerprint sensor 110. In one
embodiment, the interrupt control 301 comprises a power button or
push button that can be triggered or otherwise actuated by a user.
In one or more embodiments, when the interrupt control 301 is
actuated, the auxiliary processor 116 is to exit the low power or
sleep mode.
[0082] When this happens, several additional actions can occur. In
one embodiment, the auxiliary processor 116 permits any
authentication process occurring in the fingerprint sensor 110 to
complete. In another embodiment, the auxiliary processor 116 is to
interrupt the authentication process occurring in the fingerprint
sensor 110 upon exiting the low power or sleep mode. In yet another
embodiment, the auxiliary processor 116 can reset the
authentication process of the fingerprint sensor 110 after exiting
the low power or sleep mode. In yet another embodiment, the
auxiliary processor 116 can request fingerprint data from the
fingerprint sensor 110 upon exiting the low power or sleep mode.
Other actions will obvious to those of ordinary skill in the art
having the benefit of this disclosure.
[0083] Information can be exchanged between the fingerprint sensor
110 and the auxiliary processor 116 along the two general purpose
state input/output lines 129,130. The information exchanged along
these state input/output lines 129,130 can change in accordance
with one of many methods, one of which will be described in more
detail with reference to FIG. 7.
[0084] In the embodiment of FIG. 6, two general purpose state
input/output lines 129,130 are used with state diagram described
below with reference to FIG. 8. It should be again noted that these
two general purpose state input/output lines 129,130 are used to
illustrate one explanatory communication path between the
fingerprint sensor 110 and the auxiliary processor 116. Moreover,
the states of the state diagram discussed below with reference to
FIG. 8 illustrate explanatory states that are useful in
practice.
[0085] In one embodiment, state input/output line 130 is used to
signal state changes. However, it can also be used to issue a HALT
command in one or more embodiments. For example, if the auxiliary
processor 116 pulls state input/output line 130 low while the
fingerprint sensor 110 is detecting a finger or capturing
fingerprint data, in one embodiment the fingerprint sensor suspends
its semi-autonomous operation and returns to an idle state. The
fingerprint sensor 110 then waits in the idle state until the
auxiliary processor 116 releases state input/output line 130.
Accordingly, in one embodiment state input/output line 130 provides
a communication link allowing the auxiliary processor 116 to
terminate the semi-autonomous operation of the fingerprint sensor
110 and to disarm the fingerprint sensor by keeping state/input
line 130 low. (Note that low could be high by reversing the
logic.)
[0086] In this illustrative embodiment, state input/output line 129
is tied to the interrupt control 301. As a pull-up resistor 601
retains state input/output line 129 high, actuation of the
interrupt control 301 causes state input/output line 129 to go low.
(Again, low could be high in reverse logic.) This causes the
auxiliary processor 116 to exit the low power or sleep mode in one
embodiment. This also can alert the fingerprint sensor 110 that the
auxiliary processor is booting and may soon request fingerprint
data from the fingerprint sensor 110.
[0087] In one or more embodiments, the auxiliary processor 116 arms
the fingerprint sensor 110 prior to entering the low power or sleep
mode. This causes the fingerprint sensor 110 to enter an idle mode
in one or more embodiments. When the fingerprint sensor 110 enters
the idle mode, state input/output line 130 is allowed to float high
through a pull-up resistor (not shown). The fingerprint sensor 110
then internally configures the pin or terminal coupled to state
input/output line 130 as an interrupt that is triggered on a
falling edge (or rising edge if reverse logic is used).
[0088] The fingerprint sensor 110 then monitors to detect an object
proximately located with the fingerprint sensor 110. In one
embodiment, when an object touches or otherwise becomes proximately
located with the fingerprint sensor, the fingerprint sensor 110 is
to determine whether the object is likely to be a finger. If this
determination fails, the fingerprint sensor 110 can then wait for
the object to leave the fingerprint sensor. Accordingly, the
fingerprint sensor 110 configures state input/output line 130 as an
input while detecting the finger proximately located with the
fingerprint sensor 110.
[0089] If this determination passes, i.e., the object is likely to
be a finger, the fingerprint sensor 110 converts the pin or
terminal coupled to state input/output line 130 to an output. The
fingerprint sensor 110 then pulls state input/output line 130 low
to signal to the auxiliary processor that the capture of
fingerprint data is occurring. While state input/output line 130 is
low, other capturing and pre-processing steps (401) described above
as well.
[0090] Once the fingerprint data has been captured and at least one
pre-processing step has been performed, in one embodiment the
fingerprint sensor 110 enters a loop where it monitors to determine
if any of three actions occurs: 1) actuation of a power button or
other interrupt control by a user of the electronic device; 2) a
new object contacting or becoming proximately located with the
fingerprint sensor 110; or if any timer initiated by the
fingerprint sensor 110 has expired. If actuation of the power
button or a new object contacting or becoming proximately located
with the fingerprint sensor 110 occurs, the fingerprint sensor
determines whether an amount of time remaining in the timer is
sufficient for the auxiliary processor 116 to exit the low power or
sleep mode. If there is, then the fingerprint data is deleted and
new fingerprint data is captured. If not, then second fingerprint
data is captured and the best quality one of the fingerprint data
or the second fingerprint data is maintained. If the timer has
expired when the power button actuation event or the new object
contacting or becoming proximately located with the fingerprint
sensor 110 occurs, the fingerprint sensor deletes any stored
fingerprint data and returns to the idle mode. This allows state
input/output line 130 to again float high.
[0091] A summary of the states and configurations described above
is shown in FIG. 8. Turning now briefly to FIG. 8, illustrated
therein are three tables 801,802,803. Table 801 illustrates how the
pins or terminals coupled to the state input/output lines 129,130
are configured during various operations. Table 802 illustrates how
state input/output line 130 is used when the pin or terminal
coupled to this state input/output line 130 in the fingerprint
sensor (110) is configured as an output. Table 803 illustrates how
state input/output line 130 is used when the pin or terminal
coupled to this state input/output line 130 in the fingerprint
sensor (110) is configured as an input. These tables 801,802,803
reflect the functional description set forth in the preceding five
paragraphs. In each of these tables 801,802,803 it should be again
noted that the logic could be reversed without departing from the
spirit and scope of the disclosure.
[0092] As shown in table 801, since state input/output line 129 is
tied to the interrupt control (301), it is configured as an input
to both the fingerprint sensor (110) and the auxiliary processor
(116). When the fingerprint sensor (110) is idle, or when the
fingerprint sensor (110) is determining whether an object
proximately located with the fingerprint sensor (110) is likely to
be a finger, known as the "acquiring" mode, the pin or terminal
coupled to state input/output line 130 is configured as an input.
At the auxiliary processor (116) the corresponding pin can be
configured as an output when the auxiliary processor (116) desires
to HALT or interrupt the fingerprint sensor (110). Otherwise, it is
an input as well.
[0093] When the pin or terminal of the fingerprint sensor (110)
coupled to state input/output line 130 is configured as an input,
as shown in table 802, the fingerprint sensor (110) allows state
input/output line 130 to float high when in either the idle mode or
when determining whether an object proximately located with the
fingerprint sensor (110) is one requiring authentication. By
contrast, when the fingerprint sensor (110) is capturing
fingerprint data or performing one or more pre-processing steps,
state input/output line 130 is pulled low.
[0094] When the pin or terminal of the fingerprint sensor (110)
coupled to state input/output line 130 is configured as an output,
as shown in table 803, the fingerprint sensor (110) will run in its
semi-autonomous loop when the state input/output lines 129,130 are
low. When the interrupt control (301) is actuated, causing state
input/output line 129 to go high, but state input/output line 130
is low, the fingerprint sensor will determine whether an amount of
time remaining in a timer is sufficient for the auxiliary processor
(116) to exit the low power or sleep mode. If there is, then the
fingerprint data is deleted and new fingerprint data is captured.
If not, then second fingerprint data is captured and the best
quality one of the fingerprint data or the second fingerprint data
is maintained. Actuation of the interrupt control (301) can also
cause the auxiliary processor (116) to exit the low power or sleep
mode as well in one or more embodiments.
[0095] If state input/output line 130 is pulled high by the
auxiliary processor (116), the semi-autonomous mode of the
fingerprint sensor (110) is halted. In one embodiment, the
fingerprint sensor (110) then deletes any stored fingerprint data
and returns to the idle mode. This allows state input/output line
130 to again float high.
[0096] As illustrated in the tables 801,802,803 of FIG. 8, when a
system includes one or more state input/output lines coupled
between the fingerprint sensor (110) and the auxiliary processor
(116), the following can occur: First, the fingerprint sensor (110)
can configure the one or more state input/output lines as an output
during capturing fingerprint data from the finger and can pull such
line low. Where this occurs, the fingerprint sensor (110) can
deliver a state output to the auxiliary processor (116) during
capturing of fingerprint data from a finger. As previously
described, in one embodiment the fingerprint sensor (110) can then
monitor for a power button or interrupt control event after
delivering the state output, or alternatively can monitor for
another object proximately located with the fingerprint sensor,
i.e., another "finger down" event, after delivering the state
output.
[0097] Second, the fingerprint sensor (110) can configure the one
or more state input/output lines as an input while detecting the
finger proximately located with the fingerprint sensor (110) or
determining whether an object proximately located with the
fingerprint sensor (110) is likely to be a finger, and can allow
such line to float high. At this point, the auxiliary processor
(116) can deliver a state output to the fingerprint sensor (110) on
the one or more state input/output lines to interrupt the
fingerprint sensor, cause a HALT, or optionally return the
fingerprint sensor (110) to an idle mode of operation and/or cause
the fingerprint sensor (110) to delete the fingerprint data.
[0098] Turning now to FIG. 7, illustrated therein is a method 700
of some of these steps. At step 701, an auxiliary processor 116
arms a fingerprint sensor 110 prior to entering a low power or
sleep mode. At step 701, the auxiliary processor 116 then enters
the low power or sleep mode.
[0099] At step 702, the fingerprint sensor 110 enters an idle
state. Where a state input/output line is coupled between the
fingerprint sensor 110 and the auxiliary processor 116, in one
embodiment step 702 allows the state input/output line to float
high. Step 702 can also include the fingerprint sensor 110
configuring a pin or terminal coupled to the state input/output
line as an input to be triggered as an interrupt on a falling
edge.
[0100] At step 703, the fingerprint sensor 110 checks to see
whether a conductive object is touching the fingerprint sensor 110.
Optionally, step 703 can also include the fingerprint sensor 110
determining whether the conductive object is likely to be a
finger.
[0101] At step 704, the fingerprint sensor 110 begins acquiring
fingerprint data. In one embodiment, where a state input/output
line is coupled between the fingerprint sensor 110 and the
auxiliary processor 116, step 704 can also include converting the
pin or terminal of the fingerprint sensor 110 coupled to the state
input/output line to an output and pulling that line low to notify
the auxiliary processor 116 that data capture is occurring.
[0102] Decision 705 determines whether the fingerprint data being
captured at step 704 was successfully captured. If it was not, the
method 700 either returns to step 704 or step 702, depending upon
whether the finger was lifted as determined at decision 706.
[0103] In one or more embodiments, the fingerprint sensor 110 is to
initiate a timer upon capturing the fingerprint data from the
finger, and to detect removal and replacement of the finger on the
fingerprint sensor 110. Where the timer has not expired and
replacement of the finger has occurred, the fingerprint sensor 110
can capture second fingerprint data from the finger. Whether this
occurs is determined at decision 707. Where it has, step 708 can
include a comparison of the fingerprint data to the second
fingerprint data, a determination of which of the fingerprint data
or the second fingerprint data is more representative of the
finger, and a deletion of which of the fingerprint data or the
second fingerprint data is less representative of the finger.
[0104] Once step 709, or optionally step 708 when a second image is
captured, is complete, the fingerprint sensor 110 enters a loop
where it monitors to determine if any of three actions occurs: 1) a
power button or other interrupt actuation event in the electronic
device, as determined at decision 710; 2) a new object contacting
or becoming proximately located with the fingerprint sensor 110, as
determined at decision 711; or if any timer initiated by the
fingerprint sensor 110 has expired, as determined at decisions
712,713.
[0105] If a power button or interrupt control actuation event or a
new object contacting or becoming proximately located with the
fingerprint sensor 110 occurs as determined at either decision 710
or decision 711, the fingerprint sensor 110 determines whether an
amount of time remaining in the timer is sufficient for the
auxiliary processor 116 to exit the low power or sleep mode. The
latter determination occurs at decision 712. If there is, then the
fingerprint data is deleted at step 714 and new fingerprint data is
captured at step 704. If not, then second fingerprint data is
captured and the best quality one of the fingerprint data or the
second fingerprint data is maintained via decision 707 and step
708. If the timer has expired when the power button or interrupt
control actuation event or the new object contacting or becoming
proximately located with the fingerprint sensor 110 occurs, as
determined at decision 713, the fingerprint sensor 110 deletes any
stored fingerprint data at step 715 and return to the idle mode at
step 702. This allows the state input/output line to again float
high.
[0106] It should be noted that the auxiliary processor 116 can, at
any time, awaken from the low power or sleep mode and issue an
interrupt 716 to the fingerprint sensor. The interrupt 716 can
cause the fingerprint sensor to deliver fingerprint data to the
auxiliary processor for matching operations, return the fingerprint
sensor to the idle mode, or perform other operations.
[0107] Accordingly, the method 700 of FIG. 7 provides a method in a
fingerprint sensor 110 operable with an auxiliary processor 116.
The fingerprint sensor 110 can enter an armed mode, detect an
object contacting a surface of the fingerprint sensor 110 while the
auxiliary processor 116 is in a low power or sleep mode, capturing
object data from the object, perform one or more pre-processing
functions on the object data, receive a request from the object
data from the auxiliary processor 116, and delivering the object
data to the auxiliary processor 116. As previously described, the
auxiliary processor 116 can then compare the object data to
reference data and determine whether the object data substantially
matches the reference data to authenticate the object.
[0108] The method 700 of FIG. 7 also provides, in the fingerprint
sensor 110, initiating a timer, retaining the object data prior to
expiration of the timer, and deleting the object data after
expiration of the timer. The method 700 also provides, in the
fingerprint sensor 110, configuring an input/output line as an
input during the detecting and the capturing. The method 700 also
provides, in the fingerprint sensor 110, converting the
input/output line to an output after the capturing. The method 700
optionally provides, in the fingerprint sensor capturing second
object data from the object, comparing the second object data to
the object data, and deleting a lesser quality one of the second
object data and the object data.
[0109] Turning now to FIG. 9, illustrated therein is yet another
schematic block diagram of yet another front end 900 of one
explanatory system in accordance with one or more embodiments of
the disclosure. This alternate front end 900 includes the
fingerprint sensor as before. The fingerprint sensor 110 is to
capture and store fingerprint data from a user's finger. This front
end 800 further comprises two state input/output lines 129,130.
Rather than being coupled to a single auxiliary processor as
before, the two state input/output lines 129,130 are coupled to a
secondary processor 902. The secondary processor 902 works in
tandem with the fingerprint sensor 110 and the other processor,
which is an application processor 901 in this embodiment.
[0110] The secondary processor 902 may optionally be operable with
non-secure function circuitry 903 to control one or more functions,
including actuation of a visible output 904, actuation of an audio
output 905, actuation of a haptic or tactile output 906 that a user
can feel, or actuation of another function 907. Alternatively, the
secondary processor 902 may actuate or control the one or more
functions directly in other embodiments.
[0111] In one embodiment, the application processor 901 is
responsible for performing the primary functions of the electronic
device into which the front end 900 is disposed. In one embodiment,
the application processor 901 is responsible for running the
operating system environment. In one or more embodiments, the
application processor 901 is responsible for managing the
applications and all secure information of the electronic device
into which the front end 900 is disposed. The application processor
901 is also responsible for launching, monitoring and killing the
various applications and the various application service
modules.
[0112] In one or more embodiments, the secondary processor 902 is
tasked with executing non-secure or non-application operations. For
example, the secondary processor 902 may execute input/output
functions, actuate user feedback devices, and so forth.
[0113] In one or more embodiments, as it tasked with many more
operations to manage, the application processor 901 consumes more
power than does the secondary processor 902 on an average basis
when operating normally under an average load. For example, in
ordinary operation the application processor 901 may consume on the
order of tens of Watts or more when running applications or
communicating voice or other data, while the secondary processor
902 may only consume on the order of less than a Watt in its normal
operation. Accordingly, in one or more embodiments the secondary
processor 902 will consume less power than the application
processor 901 when both the secondary processor 902 and the
application processor 901 are operational. In some situations, the
application processor 901 can consume an order or magnitude or more
power than the secondary processor 902.
[0114] The operation of the fingerprint sensor 110 can be as
before. However, the state input/output lines 129,130 can interface
with the secondary processor 902 rather than the application
processor 901. This configuration can be preferred because it
allows the application processor 901 to remain in the low power or
sleep mode for as long as possible while the secondary processor
902 performs contextual processing steps. As the secondary
processor 902 is a lower power processor, and is keeping track of
context, it can allow the application processor 901 to remain in
the low power or sleep mode until the matching steps (407) are
required. The secondary processor 902 can inform the fingerprint
sensor 110 when go to the idle mode of operation and when to run
normally.
[0115] Advantageously, one or more embodiments of the disclosure
employ the secondary processor 902 to work with the fingerprint
sensor 110 while leaving the application processor 901 in the low
power or sleep mode for longer periods of time. This solution works
to conserve overall power usage in an electronic device by
utilizing the secondary processor 902 to provide contextual
functionality while leaving the application processor 901 in a low
power state.
[0116] The difference in power consumption can result in different
operational characteristics for each processor. For example, in one
or more embodiments the application processor 901 can be placed
into a low power or sleep mode when the electronic device into
which the front end 900 is disposed is not in use. By contrast, in
one or more embodiments the secondary processor 902 may be left in
a continually operational mode. As the secondary processor 902
consumes relatively low power, this may provide advantages such as
quicker response times when a user begins, for example, interacting
with the fingerprint sensor 110 or other components of the
electronic device into which the front end 900 is disposed.
[0117] In the foregoing specification, specific embodiments of the
present disclosure have been described. However, one of ordinary
skill in the art appreciates that various modifications and changes
can be made without departing from the scope of the present
disclosure as set forth in the claims below. Thus, while preferred
embodiments of the disclosure have been illustrated and described,
it is clear that the disclosure is not so limited. Numerous
modifications, changes, variations, substitutions, and equivalents
will occur to those skilled in the art without departing from the
spirit and scope of the present disclosure as defined by the
following claims. Accordingly, the specification and figures are to
be regarded in an illustrative rather than a restrictive sense, and
all such modifications are intended to be included within the scope
of present disclosure. The benefits, advantages, solutions to
problems, and any element(s) that may cause any benefit, advantage,
or solution to occur or become more pronounced are not to be
construed as a critical, required, or essential features or
elements of any or all the claims.
* * * * *