Program controlled capacitive keyboard variable threshold sensing system
First Claim
1. In a data entry keyboard apparatus having a matrix array of variable state keys arranged in intersecting rows and columns, said keys each being responsive to a change of state thereof for affecting a signal change between a given row and column at the intersection thereof, said keyboard apparatus having a programmed micro computer having at least one signal input port and a number of signal output ports, said keyboard apparatus having a multiplexer means having inputs and outputs connected at its inputs to said micro computer at a first plurality of said output ports thereof and responsive to signals therefrom for providing at outputs of said multiplexer drive signals on only one row or column of said matrix array, and said keyboard apparatus having decoder means having inputs and outputs with its inputs connected to a second plurality of said output ports of said micro computer and responsive to signals therefrom for gating at the outputs of said decoder a signal output from only one said column or row respectively in said matrix array, said micro computer being programmed to sequentially scan said matrix array at the intersections between rows and colunns thereof to determine whether any of said variable state keys have had their state changed to affect a signal change between any row and column, said scanning being conducted row by column or column by row by said micro computer providing at said first plurality of output ports thereof to said multiplexer means a coded signal comprising a number bits for controlling which output of said multiplexer will receive a said drive signal and by sequentially providing at said second plurality of output ports to said decoder means a multi bit coded signal for controlling which of said columns or rows respectively in said matrix array will have signals gated out therefrom, the improvements comprising:
- at least one fixed electrical reference impedance arranged to form one said row or column in said matrix array, said reference impedance being scanned periodically in the same fashion as said matrix array intersections between rows and columns are scanned;
at least one variable threshold electrical signal amplifier means having a signal input and an output, said input thereof being connected to receive the outputs gated from said matrix array by said decoder means, said amplifier means being for amplifying said drive signals applied thereto which are above the threshold thereof and passing said amplified signals to said output thereof, said output being connected to said input port of said micro computer;
said variable threshold amplifier means having a plurality of address inputs separate from said signal input, said address inputs being connected to a third plurality of output ports of said micro computer, and said amplifier means having means for changing the amplification threshold level thereof responsive to the receipt of a threshold level setting address received at said address inputs thereof;
said amplifier means providing at its output connected to said microprocessor at said input port thereof an indication that a signal above the threshold level of said amplifier means has been detected and amplified by said amplifier means;
said micro computer being programmed to provide through said multiplexer a drive signal to said reference impedance at least once and to provide a drive signal again to said reference impedance each time that a signal responsive to said application of a drive signal to said reference impedance is detected and amplified by said amplifier means and provided to said input port of said micro computer;
said micro computer being programmed to provide at a third plurality of said output ports thereof a threshold setting address, said third plurality of output ports being connected to said address inputs of said variable threshold amplifier means for chaning said threshold level thereof, said threshold setting address being changed by said micro computer each time that a said reference impedance drive signal has been provided by said multiplexer and a signal from said amplifier means has been received at said input port of said micro computer;
said micro computer having a data memory means in which information is stored with each intersectional position in said matrix array identified by the unique row and column designations thereof, said information comprising a coded representation of the significance in data entry of the said variable state key located at said matrix array intersection, a stray impedance factor associated with each said key and any other functional attributes assigned to said key;
said micro computer being programmed to access said data memory means for said data associated with each said key identified by said matrix array intersectional position identified by said unique row and column designation each time that said intersection is scanned; and
said micro computer being programmed to store said threshold setting address signal last provided to said multiplexer to drive said reference impedance and, at each scan of each said intersection in said matrix array, said micro computer being programmed to add said stray impedance factor from said data memory means associated with said identified matrix array intersectional position to said threshold setting address to provide a new combined threshold setting address for each said identified matrix array intersectional position just prior to the time said multiplexer provides a said scanning drive signal thereto.
2 Assignments
0 Petitions
Accused Products
Abstract
A sensing apparatus for detecting impedance changes in a variable impedance matrix keyboard. A microcomputer is utilized to control the basic key intersection scanning and for accurately calibrating and adjusting the sensing threshold of the sense amplifier prior to testing each key intersection so that the effects of stray impedance and varying voltage levels may be compensated for. The micro computer supplies sense amplifier sensitivity threshold selection address codes to set the sensing level for the amplifier. Trial drive pulses are applied to a reference capacitor and are gated to the sense amplifier while the sensing level thereof is varied until no output is obtained. This effectively adjusts the sensing circuits for variable voltage power fluctuations occurring over a short time and compensates for variable capacitive effects not associated with actual key switch movements. The micro computer also has a memory containing known stray capacitance values associated with a given keyboard design and these values are also used to compensate by modifying the sensing threshold above or below the calibrated sensing level achieved. Thisis done after driving and measuring the capacitance response until a zero output is obtained so that the sensing level may be individually set for each given key in the matrix at that precise level which can provide the highest non-saturating sensitivity level for the amount of stray capacitance known to be associated with the key and for the existing power and capacitance conditions as originally determined by checking the reference capacitor.
-
Citations
6 Claims
-
1. In a data entry keyboard apparatus having a matrix array of variable state keys arranged in intersecting rows and columns, said keys each being responsive to a change of state thereof for affecting a signal change between a given row and column at the intersection thereof, said keyboard apparatus having a programmed micro computer having at least one signal input port and a number of signal output ports, said keyboard apparatus having a multiplexer means having inputs and outputs connected at its inputs to said micro computer at a first plurality of said output ports thereof and responsive to signals therefrom for providing at outputs of said multiplexer drive signals on only one row or column of said matrix array, and said keyboard apparatus having decoder means having inputs and outputs with its inputs connected to a second plurality of said output ports of said micro computer and responsive to signals therefrom for gating at the outputs of said decoder a signal output from only one said column or row respectively in said matrix array, said micro computer being programmed to sequentially scan said matrix array at the intersections between rows and colunns thereof to determine whether any of said variable state keys have had their state changed to affect a signal change between any row and column, said scanning being conducted row by column or column by row by said micro computer providing at said first plurality of output ports thereof to said multiplexer means a coded signal comprising a number bits for controlling which output of said multiplexer will receive a said drive signal and by sequentially providing at said second plurality of output ports to said decoder means a multi bit coded signal for controlling which of said columns or rows respectively in said matrix array will have signals gated out therefrom, the improvements comprising:
-
at least one fixed electrical reference impedance arranged to form one said row or column in said matrix array, said reference impedance being scanned periodically in the same fashion as said matrix array intersections between rows and columns are scanned; at least one variable threshold electrical signal amplifier means having a signal input and an output, said input thereof being connected to receive the outputs gated from said matrix array by said decoder means, said amplifier means being for amplifying said drive signals applied thereto which are above the threshold thereof and passing said amplified signals to said output thereof, said output being connected to said input port of said micro computer; said variable threshold amplifier means having a plurality of address inputs separate from said signal input, said address inputs being connected to a third plurality of output ports of said micro computer, and said amplifier means having means for changing the amplification threshold level thereof responsive to the receipt of a threshold level setting address received at said address inputs thereof; said amplifier means providing at its output connected to said microprocessor at said input port thereof an indication that a signal above the threshold level of said amplifier means has been detected and amplified by said amplifier means; said micro computer being programmed to provide through said multiplexer a drive signal to said reference impedance at least once and to provide a drive signal again to said reference impedance each time that a signal responsive to said application of a drive signal to said reference impedance is detected and amplified by said amplifier means and provided to said input port of said micro computer; said micro computer being programmed to provide at a third plurality of said output ports thereof a threshold setting address, said third plurality of output ports being connected to said address inputs of said variable threshold amplifier means for chaning said threshold level thereof, said threshold setting address being changed by said micro computer each time that a said reference impedance drive signal has been provided by said multiplexer and a signal from said amplifier means has been received at said input port of said micro computer; said micro computer having a data memory means in which information is stored with each intersectional position in said matrix array identified by the unique row and column designations thereof, said information comprising a coded representation of the significance in data entry of the said variable state key located at said matrix array intersection, a stray impedance factor associated with each said key and any other functional attributes assigned to said key; said micro computer being programmed to access said data memory means for said data associated with each said key identified by said matrix array intersectional position identified by said unique row and column designation each time that said intersection is scanned; and
said micro computer being programmed to store said threshold setting address signal last provided to said multiplexer to drive said reference impedance and, at each scan of each said intersection in said matrix array, said micro computer being programmed to add said stray impedance factor from said data memory means associated with said identified matrix array intersectional position to said threshold setting address to provide a new combined threshold setting address for each said identified matrix array intersectional position just prior to the time said multiplexer provides a said scanning drive signal thereto. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification