U.S. patent application number 13/427813 was filed with the patent office on 2013-03-21 for low power capacitive touch detector.
This patent application is currently assigned to ATMEL CORPORATION. The applicant listed for this patent is Kristoffer Koch, Frode Milch Pedersen. Invention is credited to Kristoffer Koch, Frode Milch Pedersen.
Application Number | 20130069672 13/427813 |
Document ID | / |
Family ID | 47751511 |
Filed Date | 2013-03-21 |
United States Patent
Application |
20130069672 |
Kind Code |
A1 |
Pedersen; Frode Milch ; et
al. |
March 21, 2013 |
LOW POWER CAPACITIVE TOUCH DETECTOR
Abstract
A low power capacitive detector is disclosed. The detector
includes a mechanism to measure and detect touch on capacitive
sensors. The detector uses signal processing to suppress noise and
increase sensitivity. The detector does not require dedicated
analog circuitry, making it easy to adopt in a microcontroller
system. The detector can be scaled to a larger number of capacitive
sensors without noticeable increase in silicon cost.
Inventors: |
Pedersen; Frode Milch;
(Trondheim, NO) ; Koch; Kristoffer; (Trondheim,
NO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Pedersen; Frode Milch
Koch; Kristoffer |
Trondheim
Trondheim |
|
NO
NO |
|
|
Assignee: |
ATMEL CORPORATION
San Jose
CA
|
Family ID: |
47751511 |
Appl. No.: |
13/427813 |
Filed: |
March 22, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13233589 |
Sep 15, 2011 |
|
|
|
13427813 |
|
|
|
|
Current U.S.
Class: |
324/679 |
Current CPC
Class: |
H03K 17/962 20130101;
H03K 17/955 20130101; G01R 27/26 20130101; H03K 2217/960715
20130101; H03K 2217/94047 20130101 |
Class at
Publication: |
324/679 |
International
Class: |
G01R 27/26 20060101
G01R027/26 |
Claims
1. (canceled)
2. A capacitive touch detection system of a microcontroller, the
capacitive touch detection system comprising: a counter module
configured to detect an input signal, count a number of occurrences
that the input signal has a certain value during a time period, and
generate a raw count signal having a raw count value based on the
number of occurrences; a filtering system coupled to the counter
module, the filtering system configured to remove noise from the
raw count signal and to generate a processed count signal having a
processed count value; and a first state detector coupled to the
filtering system, the first state detector configured to perform a
first comparison of the processed count value against a first
threshold value and generate a first output signal based on the
first comparison.
3. The system of claim 1, further comprising a second state
detector coupled to the filtering system, the second state detector
configured to perform a second comparison of the processed count
value to a second threshold value to generate a second output
signal based on the second comparison, wherein the first output
signal and the second output signal are microcontroller interrupt
signals.
4. The system of claim 1, wherein the filtering system comprises: a
median filter configured to generate a median filter output signal;
and an averaging filter coupled to the median filter, the averaging
filter configured to filter the median filter output signal and
generate the processed count signal.
5. The system of claim 1, wherein the filtering system comprises: a
median filter configured to generate a median filter output signal;
and an averaging filter coupled to the median filter, the averaging
filter configured to filter the median filter output signal and
generate an idle signal having idle value; wherein the system is
configured to reduce the raw count value by the idle value.
6. The system of claim 5, further comprising: a first sensor; a
second sensor; and a sequencer configured to: sequentially select
the first sensor and then the second sensor to provide the input
signal; and store a copy of the idle value in a memory unit.
7. The system of claim 1, wherein the filtering system comprises: a
median-3 filter configured to generate a median filter output
signal based on three consecutive raw count values; a memory unit
configured to store the three consecutive raw count values; a first
moving average filter coupled to the median-3 filter, the first
moving average filter configured to filter the median filter output
signal and produce the processed count signal; and a second moving
average filter, slower than the first moving average filter,
coupled to the median-3 filter, the second moving average filter
configured to filter the median filter output signal and generate
an idle signal having an idle value; wherein the system is
configured to reduce the raw count value by the idle value.
8. The system of claim 1, further comprising a control module;
wherein the control module is coupled to a capacitive sensing
system and to an oscillator; wherein the oscillator is configured
to provide a clock signal to the counter module in response to
receiving a start signal from the control module; and wherein the
control module is configured to provide a charge control signal to
charge and discharge the capacitance detection system.
9. The system of claim 8, wherein the control module is coupled to
a real time clock (RTC); wherein the real time clock is configured
to provide a periodic signal to the control module once during a
time interval longer than the time period; and wherein the control
module is configured to send the charge control signal and start
signal in response to the periodic signal.
10. The system of claim 8, wherein the capacitance sensing system
comprises: a first capacitive sensor; a first digital input/output
(I/O) pin coupled to the first capacitive sensor through a first
digital I/O pad; a second digital I/O pin coupled to the first
capacitive sensor through a second digital I/O pad; and a first
input buffer coupled to the first digital I/O pad, the first input
buffer configured to provide a first buffered signal.
11. The system of claim 10, further comprising: a variable resistor
coupled between the first I/O pad and the second I/O pad; and a
second capacitive sensor coupled to the second digital I/O pad, the
second capacitive sensor configured to create a mutual capacitance
between the first capacitive sensor and the second capacitive
sensor.
12. A method for detecting a capacitive touch input, the method
comprising: counting a number of occurrences that an input signal
has a certain value during a time period; generating a raw count
signal having a raw count value proportional to the number of
occurrences; filtering the raw count signal to remove noise and to
generate a processed count signal having a processed count value;
and comparing the processed count value against a first threshold
value to generate a first output signal.
13. The method of claim 12, further comprising comparing the
processed count value against a second threshold value to generate
a second output signal, wherein the first output signal and the
second output signal are microcontroller interrupt signals.
14. The method of claim 12, wherein filtering the raw count signal
comprises: filtering the raw count signal with a median filter to
generate a median filter output signal; and filtering the median
filter output signal with an averaging filter to generate the
processed count signal.
15. The method of claim 12, wherein filtering the raw count signal
comprises: reducing the raw count value by an idle value; filtering
the raw count signal with a median filter to generate a median
filter output signal; and filtering the median filter output signal
with an averaging filter to generate an idle signal having the idle
value.
16. The method of claim 15, further comprising selecting a first
sensor to provide the input signal, then selecting a second sensor
to provide the input signal, wherein the idle value is stored in a
memory unit.
17. The method of claim 12, further comprising: reducing the raw
count value by an idle value; filtering the raw count signal with a
median-3 filter to generate a median filter output signal based on
three consecutive raw values in a memory unit; storing the raw
count value in the memory unit; filtering the median filter output
signal with a first averaging filter to generate the processed
count signal; and filtering the median filter output signal with a
slower moving averaging filter to generate an idle signal having
the idle value.
18. The method of claim 12, further comprising: sending, from a
real time clock (RTC), a periodic signal to a control module once
during a time interval longer than the time period; sending, from a
control module and in response to receiving the periodic signal, a
start signal to an oscillator; generating, from the oscillator and
in response to receiving the start signal, a clock signal that
controls a rate at which the number of occurrences is counted.
19. The method of claim 12, further comprising: charging a
capacitance sensor by driving a first voltage onto a first digital
input/output (I/O) pin coupled to a capacitance sensor; and
discharging the capacitance sensor during the time period by
driving a second voltage onto a second digital I/O pin coupled to
the sensor to discharge the capacitance sensor, wherein the second
voltage is lower than the first voltage.
20. The claim of method 19, further comprising: recharging the
capacitance sensor by driving a third voltage onto the second
digital I/O pin; and re-discharging the capacitance sensor during a
second time period by driving a fourth voltage onto the first
digital I/O pin; wherein the fourth voltage is lower than the third
voltage; and wherein counting the number of occurrences further
comprises adding the amount of times that the input signal has a
second value during the second time period.
21. The claim of method 19, further comprising adjusting a variable
resistor coupled between the first and digital I/O pins to change
the number of occurrences counted during the time period.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of and claims priority to
U.S. application Ser. No. 13/233,589, entitled "Low Power
Capacitive Touch Detector," filed on Sep. 15, 2011, the entire
contents of which are incorporated herein by reference.
TECHNICAL FIELD
[0002] This disclosure relates generally to electronics and more
particularly to capacitive touch sensors.
BACKGROUND
[0003] Capacitive sensors increasingly replace mechanical buttons
in consumer and handheld equipment. They are low cost and robust,
as they require no mechanical components, and can sense the
presence of a finger through a dielectric material, such as an
encapsulation or glass. The capacitive sensors are usually detected
by measuring the self-capacitance of the sensor, which will change
up to a few percent when touched. If the detection is sensitive
enough then proximity detection is also possible. Proximity
detection allows detection of an approaching finger from a
distance. This can be used to wake a device from a low power state
before the application is physically touched. It is therefore
particularly important to be able to detect proximity while using
as little power as possible.
[0004] A disadvantage with capacitive sensors is that they have
high impedance, making the sensors sensitive to electrical noise in
the environment. The capacitance value can drift with environmental
conditions, such as temperature and moisture. The challenge in
capacitive sensing is producing an accurate capacitance measurement
and distinguishing the signal from the noise and drift while
consuming as little power as possible.
[0005] There are several conventional techniques in use to detect a
change in self-capacitance of a capacitive sensor when touched or
approached by a finger. One technique uses two I/O pins with a
sensing capacitor between them. One of the input/output (I/O) pins
is connected to the sensor. A switching sequence on each I/O driver
pumps capacitance into the sensor capacitance until the I/O pin
input threshold is reached. The drawback to this technique is that
two I/O pins are needed, an external capacitor is needed and power
is wasted by charging and discharging the sensor. In addition,
noise rejection is limited.
[0006] Another technique uses an I/O pin to charge the sensor
before sampling it with an analog-to-digital converter (ADC). The
charge is shared between the sensor and a sample and hold (S/H)
capacitor. The measurement is repeated with opposite charge on the
sensor. This dual-slope measurement cancels low-frequency noise.
However, there is no suppression of high frequency noise, apart
from oversampling a large number of times, which is slow and
requires power. In addition, the ADC must be used for sensing,
limiting its use for other functions in an application. Only pins
connected to the ADC input can be sensed, limiting the number of
sensors in the system. Software is required for touch processing
and detection.
[0007] In yet another technique, a microcontroller includes
circuitry that can inject a fixed charge into the sensor
capacitance and the S/H capacitor of the ADC. The resulting voltage
on the ADC S/H capacitor can then be measured during conversion.
This does not provide any noise rejection and software is required
to process and detect touch.
[0008] In still another technique, the sensor pin is made to
oscillate by charging it with a known current and comparing it to a
fixed reference voltage. The resulting frequency is compared to a
known frequency. The measurement sequence is long, and a large
number of charge/discharge cycles are needed, resulting in wasted
power. In addition, there is no noise rejection.
SUMMARY
[0009] A capacitive sensor is coupled between digital I/O pins of
an integrated circuit (IC) package, such as a microcontroller. A
parasitic capacitor of the capacitive sensor is charged through one
of the digital I/O pins, and then discharged through an external
resistor coupled between the digital I/O pins. A discharge of the
parasitic capacitor is timed using a capacitance counter. The count
value at the end of the discharge period reflects a
resistor-capacitor (RC) time constant of an RC circuit formed by
the parasitic capacitor and the external resistor. The raw count
representing the sensor's self-capacitance can be filtered to
remove low, medium and high frequency noise in the count, and then
compared to one or more threshold values of one or more state
detectors, the output(s) of which can be used to determine a touch
event (e.g., physical touch, proximity touch, out-of-touch).
[0010] Particular implementations of a low power capacitive touch
detector provide one or more of the following advantages. The
detector allows capacitive touch detection with small and low cost
external components. The detector can be used on any digital I/O
pins in a microcontroller. The detector does not depend on an ADC.
The detector suppresses noise in all frequency bands, providing
increased sensitivity. The detector allows both touch and proximity
detection.
[0011] The details of one or more disclosed implementations are set
forth in the accompanying drawings and the description below. Other
features, aspects, and advantages will become apparent from the
description, the drawings and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a simplified block diagram of an exemplary low
power capacitive touch detector system coupled to a capacitive
sensor.
[0013] FIG. 2 illustrates an exemplary differential capacitive
sensor.
[0014] FIG. 3 is a flow diagram of an exemplary process for
detecting capacitive touch.
DETAILED DESCRIPTION
Exemplary Low Power Touch System
[0015] FIG. 1 is a simplified block diagram of an exemplary low
power capacitive touch detection system coupled to a capacitive
sensor. In some implementations, system 100 is part of an
integrated circuit, such as a microcontroller or
application-specific integrated circuit (ASIC). In the example,
system 100 is integrated with drivers 126a, 126b and input buffer
128 in an IC package having digital I/O pins 122a ("A") and 122b
("B"). System 100 can include control module 102, capacitance
counter 104, idle tracker 106, median filter 108, averaging filter
110, threshold detectors 112a, 112b and state detectors 114a and
114b.
[0016] System 100 can be coupled to capacitive sensor 118 through
digital I/O pins 122a and 122b. The self-capacitance of capacitive
sensor 118 can be modeled as a parasitic capacitor 120 ("Cs")
between capacitive sensor 118 and "Earth" (free-space return).
External resistor 124 ("R") is coupled between pins 122a and 122b,
which are coupled to digital I/O pads, preferably with slew-rate
control to reduce electromagnetic interference (EMI). Drivers 126a,
126b and input buffer 128 are typically part of the I/O pad
circuitry. I/O pad circuitry can also include protective circuitry
(e.g., diodes).
[0017] Oscillator 101 (e.g., a high-frequency RC oscillator)
provides a clock to capacitance counter 104. Oscillator 101 can be
included in the IC package or external to the IC package. Real-time
Clock 116 (RTC) is coupled to control module 102 and provides
periodic event signals to control module 102. RTC 116 can be
included in the IC package or external to the IC package.
Exemplary Acquisition
[0018] In some implementations, a capacitance acquisition starts by
driver 126a driving digital I/O pin 122a and charging parasitic
capacitor 120 to a first voltage level (e.g., Vdd). Driver 126b
then drives digital I/O pin 122b to a second voltage level that is
lower than the first voltage level, resulting in parasitic
capacitor 120 discharging through resistor 124. During discharging,
capacitance counter 104 counts the number of clock cycles that
input buffer 128 reads as logic "0". For example, a series of data
read from input buffer 128 over 32 clock cycles can be
00000010000000000010111111111111. For this data series example,
capacitance counter 104 counts "18" (the number of zeros in the
data series). The resulting count value provided by capacitance
counter 104 is proportional to the parasitic capacitance of
capacitive sensor 118. The counting can continue for a fixed number
of clock cycles. For example, if the maximum expected count value
is 1024, capacitance counter 104 can count for 1024 clock
cycles.
[0019] The sequence described above can be repeated, but with
digital I/O pin 122a driven to "0" and digital I/O pin 122b driven
to "1". During the discharging, capacitance counter 104 counts the
number of clock cycles that input buffer 128 reads as logic "1".
Using the example series of data above, the count would be "14",
which is the number of ones in the example data series.
[0020] The count values from the two measurements can then be added
with the resulting value being a single measurement of capacitance.
These "dual-slope" capacitance measurements performed in rapid
succession cancel any low frequency noise, such as 50-60 Hz noise
usually contributed by a main power supply.
[0021] The measured count value is proportional to the product of
parasitic capacitance 120 and resistor 124 (RC time constant) and
the frequency of oscillator 101. For a given application, resistor
124 can be a variable resistor that can be adjusted to give
sufficient time (count value) for the signal to be measured.
Typically, this count value is in the range of 100 counts for touch
detection and 1000 counts for proximity detection.
Exemplary Signal Processing
[0022] Even if low frequency noise is rejected by the dual-slope
measurement technique, medium and high frequency noise can also be
picked up by capacitive sensor 118. High frequency noise is seen as
a "white" uncorrelated noise added to the correct capacitance
value. This additive noise can be removed by median filter 108. In
some implementations, median filter 108 can be a median-3 filter
and use memory 115 to store three consecutive count values to
compute the median of those count values.
[0023] The output of median filter 108 is fed to averaging filter
110. In some implementations, averaging filter 110 can be a fast
moving average filter, which suppresses medium-frequency noise in
the acquired measurement.
[0024] Idle tracker 106 compensates for capacitance drift by
feeding the output of median filter 108 to a slow moving average
filter. Idle tracker 106 uses the output of median filter 108 to
determine a baseline or "idle" capacitance value that is output by
capacitive sensor 118 when untouched. Filters 108, 110 and 106 can
be implemented in hardware, firmware, or software or some
combination thereof. For low power applications, filters 108, 110
and 106 are preferably implemented in hardware.
[0025] In some implementations, an integer part of the "idle" value
computed by idle tracker 106 is subtracted from the measured
capacitance output from capacitance counter 104 by means of a
saturating subtraction. Saturating subtraction limits the
difference to a fixed range between a minimum and maximum value. If
the result of the subtraction is greater than the maximum value, it
is set to the maximum. If the result is below the minimum, value it
is set to the minimum. Since the absolute value of this difference
is much smaller than the measured capacitance output from
capacitance counter 104, the number of bits needed for processing
is reduced, resulting in reduced cost and power consumption.
[0026] This implementation has the further advantage that the
average value of median filter 108 output is zero. The output of
average filter 110 then represents the difference between the
"idle" value and the measured capacitance output by capacitance
counter 104. This allows a direct comparison against threshold 112
without subtracting the "idle" value first.
Exemplary Detection
[0027] One or more state detectors (e.g., state detectors 114a,
114b), perform detection by comparing the fast moving average
output by averaging filter 110 to one or more thresholds (e.g.,
thresholds 112a and 112b). The one or more thresholds 112 can be
defined by a user. Capacitive sensor 118 is "in detect" when the
fast moving average exceeds threshold 112. In some implementations,
an "in detect" condition produces an interrupt to a Central
Processing Unit (CPU) or other device. In the example shown, two
state detectors 114a, 114b and their corresponding thresholds 112a,
112b allow varying degrees of sensitivity for capacitive sensor
118. For example, threshold 112a can be used to detect physical
touch events and threshold 112b can be used to detect proximity
events. In some implementations, a threshold and detector can be
used to detect long touches, which could cause idle tracker 106 to
output negative values.
Optional Extensions
Differential Sensor Support
[0028] The process described above describes sensing conventional
self-capacitance sensors. One drawback of these sensors is that the
signal is sensitive to the coupling of the sensor as well as the
sensing circuit to Earth. This coupling can be small for handheld
equipment, reducing the signal strength to the point that a touch
is not detected.
[0029] To overcome this issue, it is possible to use a mutual
capacitance sensor, which includes two sensor halves, where the
capacitance changes according to the electric field between the
sensors. The mutual capacitance does not depend on the coupling to
Earth.
[0030] FIG. 2 illustrates an exemplary differential capacitive
sensor. In some implementations, mutual capacitance sensors can be
used instead of self-capacitance sensors, as shown in FIG. 2. In
this case, each half of capacitive sensor 201a, 201b is connected
to digital I/O pins 122a, 122b. The process described above is
otherwise unchanged. The measured capacitance will be sensitive to
changes in self-capacitance 202a, 202b and mutual capacitance 204.
Capacitive sensor 201 thus provides a signal even in an application
with poor Earth coupling, providing a more robust solution than a
pure self-capacitance solution.
Sampled Operation
[0031] System 100 contains the control logic for starting
oscillator 101, performing acquisition, signal processing and
detection. System 100 can thus operate in a "sampled" manner, by
which an ultra-low power RTC 116 (e.g., a 32 KHz real-time RTC) can
produce periodic events, which activate system 100 periodically.
The average power can then be determined by the time required to
perform the measurement, the current consumption when active, and
the interval between sampling periods. Since system 100 does not
require any high power consumption analog circuits, and the signal
processing allows even weak signals to be identified rapidly, the
"on" time of system 100 is limited, saving power considerably
compared to conventional.
Internal Discharge
[0032] It is possible to eliminate external resistor 124 by relying
on pull-up and pull-down functions in I/O pads. The resistive value
of the internal pull-up resistors of conventional I/O pads is
relatively low when compared to external resistor 124, so the
measured count value will be low. This can still be an option if
only physical touch should be detected, and Earth coupling is good,
providing a strong signal from capacitive sensor 118. A drawback of
this method is that the signal value is small due to the rapid
discharge caused by the low resistance value of the internal
pull-ups resistors. This can be compensated by repeating the
measurement cycle and accumulating multiple measurements to produce
a single result to be processed by the digital filters.
Multiple Sensors
[0033] System 100 only relies on conventional I/O pads, so it can
be extended to support multiple sensors at relatively little cost.
Since the time it takes to measure and detect a sensor is much
shorter than the sampling interval, it is possible to use the same
logic to support multiple sensors. In this case, the sensors can be
sequentially measured and detected, controlled by a sequencer. The
sequencer can configure idle tracker 104, averaging filter 110, and
state detectors 114a, 114b for each sensor before the measurement.
After the measurement and detection, the new state of idle tracker
104 and averaging filter 110 can be stored, before progressing to
the next sensor. A register bank or circular buffer in memory can
be used to store the affected registers. The cost of this approach
may be less than supporting multiple sensors by multiple
independent instances of system 100.
Exemplary Process
[0034] FIG. 3 is a flow diagram of an exemplary process 300 for
detecting capacitive touch. Process 300 can be implemented by
system 100 of FIG. 1.
[0035] In some implementations, process 300 can begin by charging a
sensor capacitor (302). For example, the capacitive sensor can be
coupled to a first digital I/O pin of an IC package (e.g., a
microcontroller). A driver of an digital I/O pad for the first
digital I/O pin can be used to charge a parasitic capacitor of the
capacitive sensor.
[0036] Process 300 can continue by enabling the sensor capacitor to
discharge through a resistor (304). For example, the capacitive
sensor can also be coupled to a second digital I/O pin of the IC
package. A driver of an digital I/O pad for the second I/O pin can
be used to drive voltage onto the second digital I/O pin, resulting
in the charge on the parasitic capacitor discharging through an
external resistor coupled between the I/O pins.
[0037] Process 300 can continue by timing the discharge of the
sensor capacitor through the resistor (306). For example, an
oscillator can be coupled to a capacitance counter to time the
discharge of the parasitic capacitor through the external resistor.
A count value at the end of the discharge period reflects the RC
time constant of the RC circuit formed from the parasitic capacitor
and the external resistor. The end of discharge period can be
determined by examining an input buffer value for the first I/O pin
and monitoring when it changes its logic value.
[0038] Process 300 can continue by detecting a touch event based on
the time of discharge (308). For example, the raw capacitance
measurement can be filtered to remove low, medium and high
frequency noise, and then compared to one or more threshold values
of one or more state detectors to determine the touch event (e.g.,
physical touch, proximity touch, out-of-touch). The one or more
state detectors can provide an interrupt to a CPU or other device
based on results of the comparison.
[0039] The disclosed implementations of a low power capacitive
touch detector allow low cost, low power, high sensitivity robust
capacitance measurements by a combination of several mechanisms.
Instead of depending on dedicated analog circuitry, the disclosed
implementations rely on integration with conventional
microcontroller features, such as I/O pads, an RC oscillator and a
real-time clock. Sensitivity can be selected by the user by tuning
an external resistor. The implementations work with single-ended
self-capacitance sensors and differential mutual-capacitance
sensors, ensuring robustness even in poor earth coupling
conditions. The implementations use effective acquisition and
filtering techniques to remove low, medium, and high frequency
noise, as well as capacitance drift. Due to the efficient noise
rejection, the capacitive sensor does not need to be charged and
discharged many times, which saves a significant amount of power
compared to traditional techniques. The implementations can be
self-controlled, allowing it to work in sampled operation, only
consuming power during the actual measurement and signal
processing. The implementations work without software interaction,
making it suitable to process touch detection and wake the CPU.
This makes it ideal for use in low-power modes, unlike
software-dependent algorithms. The implementations can easily be
scaled to a high number of sensors by dynamic reconfiguration and
sequential operation of the invention.
[0040] While this document contains many specific implementation
details, these should not be construed as limitations on the scope
what may be claimed, but rather as descriptions of features that
may be specific to particular embodiments. Certain features that
are described in this specification in the context of separate
embodiments can also be implemented in combination in a single
embodiment. Conversely, various features that are described in the
context of a single embodiment can also be implemented in multiple
embodiments separately or in any suitable sub combination.
Moreover, although features may be described above as acting in
certain combinations and even initially claimed as such, one or
more features from a claimed combination can, in some cases, be
excised from the combination, and the claimed combination may be
directed to a sub combination or variation of a sub
combination.
* * * * *