WO2011120553A1 - Keyboard scanner - Google Patents

Keyboard scanner Download PDF

Info

Publication number
WO2011120553A1
WO2011120553A1 PCT/EP2010/054121 EP2010054121W WO2011120553A1 WO 2011120553 A1 WO2011120553 A1 WO 2011120553A1 EP 2010054121 W EP2010054121 W EP 2010054121W WO 2011120553 A1 WO2011120553 A1 WO 2011120553A1
Authority
WO
WIPO (PCT)
Prior art keywords
line
lines
state
key
keyboard
Prior art date
Application number
PCT/EP2010/054121
Other languages
French (fr)
Inventor
Bram Van Den Bosch
Steven Boeykens
Original Assignee
Greenpeak Technologies N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Greenpeak Technologies N.V. filed Critical Greenpeak Technologies N.V.
Priority to PCT/EP2010/054121 priority Critical patent/WO2011120553A1/en
Publication of WO2011120553A1 publication Critical patent/WO2011120553A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Abstract

A keyboard comprises an array of first lines (11) and second lines (12) which are electrically connectable by operation of a key on the keyboard. A first line driver (20) is coupled to each first line (11). A first resistor (31) is connected between each second line (12) and a supply line. Control logic selectively causes the apparatus to operate in: (i) a first state to detect when a key has been pressed; (ii) a second state to perform a keyboard scanning operation to determine which key has been pressed; and (iii) a third state during periods between keyboard scanning operations. Current flow through the first resistors (31) is minimised during the third state.

Description

KEYBOARD SCANNER
FIELD OF THE INVENTION
This invention relates to the field of scanning a keyboard to detect which key has been pressed.
BACKGROUND TO THE INVENTION
User interfaces in a range of devices have a keyboard for allowing a user of the device to interact with the device, such as selecting a function of the device or entering data. The user interface has apparatus for detecting when a key is pressed on the keyboard, and which key has been pressed. The keys of a keyboard are typically organised in a matrix. Figure 1 shows an example keyboard matrix 10 with three row lines 11 and three column lines 12. The row lines 11 and column lines 12 are normally isolated from one another. An electrical connection can be made at positions 13 between a row line 1 1 and a column line 12 when a key is pressed. The 3x3 matrix 10 can detect key presses of nine keys (0, 0) - (2, 2).
When a key is pressed, an electrical connection is made between the row line 11 and column line 12 associated with that key, as shown in Figure 2. This electrical connection can be detected by driving the row lines 11 and sensing the column lines 12. The column lines 12 are connected to a supply line (e.g. 3V) via a high- value pull-up resistor to guarantee a defined voltage level. In the rest of this document, the term "high-value pull-up resistor" is abbreviated to "pull-up resistor" for reasons of readability. A column line is sensed low if it has an electrical connection (pressed key) with a row line 11 that is driven low at that moment and it is sensed high at other times due to the pull-up resistor connecting the column line 12 to the supply line.
Figure 3 shows a scheme for detecting key presses in the matrix of Figure 1. To detect a key press, the row lines 1 1 are driven low during a key press detection operation. When no key is pressed, detectors connected to the column lines 12 sense a high level. When a key in a first column of the matrix is pressed, the detector connected to the column line of that first column will sense a low level. Once it has been determined that a key has been pressed, a keyboard scan operation is performed to identify the exact key, or keys, that are pressed. This process is shown in Figures 4 and 5. Each row line 1 1 is driven low, one row at a time, while the other row lines 1 1 are not driven. When a row line 1 1 is driven low, the status of the column lines 12 is sensed, and this status reflects the status of the keys on that row line 11. A low level indicates that the key is pressed, and a high level that the key is not pressed.
The process of detecting which key on the keyboard has been pressed consumes an amount of energy. There is an increasing requirement to reduce the energy consumption of electrical devices, especially in devices with a limited power supply, such as battery powered devices and devices which harvest energy.
The present invention seeks to reduce the energy consumption of a user interface which has a keyboard or similar input device.
SUMMARY OF THE INVENTION
A first aspect of the invention provides apparatus for detecting key presses on a keyboard, the apparatus comprising:
an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line;
a first resistor connected between each second line and a supply line;
control logic which is selectively arranged to:
operate the apparatus in a first state to detect when a key has been pressed;
operate the apparatus in a second state to perform a keyboard scanning operation to determine which key has been pressed;
operate the apparatus in a third state during periods between keyboard scanning operations, wherein current flow through the first resistors is minimised during the third state. Advantageously, current flow through the first resistors is reduced to a negligible amount during the third state, and even more advantageously current flow ceases entirely. This reduces the overall amount of energy consumed by the apparatus.
Current flow through the first resistors can be minimised in several ways. The control logic can disable the first resistors. In one implementation, the second lines are selectively connectable to the first supply line via the first resistor and to a second supply line via a second resistor. The control logic is arranged to use the first resistors during the first state and the second state and to use the second resistors during the third state. In another implementation, the second lines are selectively connectable to the first supply line via the first resistors and to a latch. The control logic is arranged to use the first resistors during the first state and the second state and to use the latch during the third state.
Another way of minimising current flow through the first resistors is to operate the first line drivers in a high impedance state during the third state.
Advantageously, the control logic is arranged to operate the apparatus in the third state during at least one of: a debounce period; when a repeatable key has been detected; when no key press detection is required.
A second aspect of the invention provides apparatus for scanning a keyboard to determine which key has been pressed, the apparatus comprising:
an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line;
control logic which is arranged to scan the first lines in turn by, for each first line:
during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and;
during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to operate the first line in a high impedance state and then drive the first line at the first logical level.
An advantage of this aspect of the invention is a reduced amount of energy to perform the keyboard scanning operation, as energy is saved by operating the first line drivers at the first logical level for a reduced period of time.
A third aspect of the invention provides apparatus for scanning a keyboard to determine which key has been pressed, the apparatus comprising:
an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line;
a second line driver coupled to each second line;
control logic which is arranged to scan the first lines by, for each first line:
during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and;
during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to drive the first lines in a high impedance state while causing the second line driver to drive the second lines at a second logical level.
An advantage of this aspect of the invention is a reduced amount of energy to perform the keyboard scanning operation, as energy is saved by operating the first line drivers at the first logical level for a reduced period of time. A further advantage is that a signal level on the second line is restored more quickly following detection, thereby allowing the keyboard scanning operation to be performed more quickly.
These aspects of the invention all address the same problem of energy consumption by keyboard scanning apparatus. Embodiments of the invention can be applied to keyboards of any size, and can be used to determine a single key press or multiple simultaneous key presses. The first logical level and second logical level can correspond, respectively, to a logical "0" and "1" or to a logical "1" and "0".
Advantageously, the first lines and second lines correspond to rows and columns of a keyboard matrix. The terms "row" and "column" do not imply a particular orientation of the matrix.
Further aspects of the invention provide corresponding methods. The various aspects of the invention can be combined.
The functionality described here can be implemented in hardware or a by a combination of hardware and software executed by a processing apparatus. The processing apparatus can comprise a computer, a processor, a state machine, a logic array or any other suitable processing apparatus. The processing apparatus can be a general-purpose processor which executes software to cause the general-purpose processor to perform the required tasks, or the processing apparatus can be dedicated to the perform the required functions. Another aspect of the invention provides machine- readable instructions (software) which, when executed by a processor, perform any of the described methods. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The machine -readable instructions can be downloaded to the storage medium via a network connection.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 shows an example keyboard matrix;
Figure 2 shows operation of the keyboard matrix;
Figure 3 shows detection of a key press in the matrix;
Figure 4 shows a flow chart of a keyboard scan process to determine which key has been pressed in the keyboard matrix;
Figure 5 shows the iterations of the keyboard scan process;
Figure 6 shows apparatus for performing the keyboard scan process;
Figure 7 shows a prior art keyboard scan process; Figure 8 shows a keyboard scan process according to an embodiment of the present invention;
Figure 9 shows alternative apparatus for performing the keyboard scan process; Figure 10 shows a keyboard scan process according to an embodiment of the present invention;
Figure 11 shows a prior art method repetition of the keyboard scan process after a debounce period;
Figure 12 shows a prior art repetition of the keyboard scan process to detect repeatable keys;
Figure 13 shows an alternative cell for connecting to a column line;
Figure 14 shows an alternative cell for connecting to a column line;
Figure 15 shows repetition of a keyboard scan process according to an embodiment of the present invention.
DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention will be described with respect to particular embodiments and with reference to certain drawings but the invention is not limited thereto but only by the claims. The drawings described are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes. Where the term "comprising" is used in the present description and claims, it does not exclude other elements or steps. Furthermore, the terms first, second, third and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and that the embodiments of the invention described herein are capable of operation in other sequences than described or illustrated herein.
Figure 6 shows a first embodiment of apparatus for detecting key presses on a keyboard 10. A simple 3x3 keyboard is shown, although it should be understood that the keyboard 10 can have any desired number of keys. The keyboard comprises a matrix of row lines 1 1 and column lines 12. The matrix is configured such that an electrical connection can be made at positions 13, at each intersection of a row line 11 and a column line 12, by operation of a key on the keyboard 10. Typically, a switch is provided at each position 13. A row line driver 20 is connected to each row line 11 and is operable to either: (i) apply a first logical signal level (e.g. a logical "0") to the row line 1 1 or (ii) cause the row line 11 to be terminated with a high impedance. The row driver 20 is responsive to a control signal 22 from the row drive logic 25. Column circuitry 30 is connected to each column line 12. The column circuitry 30 comprises a pull-up resistor 31 connected between the respective column line 12 and a supply voltage VDD. The column circuitry 30 also comprises a buffer amplifier 32. The column circuitry 30 is arranged to output a first signal level (e.g. a logical "0") or a second signal level (e.g. a logical "1") in response to the state of switches 13 and row lines 11. Column sense logic 40 detects the signal level output by the column circuitry 30 associated with each column line 12. Control logic 50 controls operation of the row drive logic 25 and receives inputs from the column sense logic 40. Control logic 50 determines, on the basis of the received inputs, which key has been pressed on the keyboard 10.
There are two main contributors to the energy consumed by the keyboard scan operation:
EKeyboardScan = EPullUpResistors + E Active (1)
EPullUpResistors is the energy consumed in the pull-up resistors 31. This energy is proportional to the time the row lines 1 1 are driven low, while a key on the corresponding row line is being pressed (i.e. the amount of time in which current is flowing through the pull-up resistors 31).
EActive is the energy consumed by the device (e.g. logic 25, 40, 50) executing the keyboard scan. This includes all the overhead energy (clocks, regulators, etc) that is consumed because the device needs to be up and running to execute the keyboard scan. This energy is proportional to the time it takes to perform the keyboard scan operation itself.
Figure 7 shows a conventional keyboard scan operation in more detail. This will be called "basic mode". In the basic mode, the row lines 1 1 are driven low one by one (in the Row Drive state) and the column lines 12 are sensed (in the Measurement state). To keep the energy consumption as low as possible, the Row Drive period (RDP) is as short as possible. The Row Drive period has an application specific minimal value. Indeed, to detect a correct state, the Row Drive period needs to be longer than the time it takes for a signal level on the column lines to be "pulled up" by the pull-up resistors 31 (Rise time). The rise time is a function of the capacitance of the keyboard matrix and the resistance value of the pull-up resistors.
Passive Column Charge Mode
A first improvement, called passive column charge mode, reduces the energy that is consumed by the keyboard scan operation. As the applications that use the keyboard scan operations become more low power, e.g. Infra-red (IR) is replaced by Radio Frequency (RF) in remote controls, the energy consumed by the keyboard scan operation can become a significant part of the overall energy budget of the application. The improvement is shown in Figure 8.
The passive column charge mode reduces the energy that is needed to perform a keyboard scan operation by reducing the time the row lines 1 1 are driven low. This reduces the amount of energy consumed by the pull-up resistors 31, which is the term EPullUpResistors in equation (1). This is achieved by adding a state to the keyboard scan operation in which the column lines 12 are pulled up while the row lines 11 are not driven.
Compared to the conventional operation shown in Figure 7, an additional state
(Passive Column Charge period PCP) is added. In this state, the column lines 12 are pulled up while the row lines 11 are not driven. As such, there will be no current flowing through the row drivers 20 in this state. Advantageously, the sum of the Passive Column Charge Period (PCP) and the Row Drive period (PDP) should be longer than the Rise Time, so that the rise time does not extend into the measurement period MP. As a result, the Row Drive period RDP is smaller in the passive column charge mode (Figure 8) compared to the basic mode (Figure 7). Current flows through the row drivers 20 for a shorter period in the passive column charge mode compared to the basic mode, yielding an energy consumption reduction.
The operation will now be described in more detail. Row Lines 11 can have (i) a high impedance state (Z) or (ii) a low signal level state (0) in which the line is driven by a row driver 20 with a low signal level. For the duration shown in Figure 8 it is assumed that a key (1, 1) on the keyboard is pressed. Figure 8 shows the keyboard scan operation to detect exactly which key, or multiple keys, has been pressed on the keyboard. The keyboard scan operation comprises a cycle of operations which is repeated on each of the row lines 1 1 . At time tl Row Line 1 is held in a high impedance state (Z) and remains in this state until time t2. The time period tl-t2 is the Passive Column Charge Period (PCP). During the period t2-t3 Row Line 1 is driven with level "0". Because key (1,1) is pressed, an electrical connection is formed between Row Line 1 and Column Line 1. This causes a sharply falling edge in the signal level on Column Line 1 at time t2. During the time period t3-t4 the signal level on each column line is detected. This is called the Measurement Period (MP). On Column Line 1 the signal level is detected as logical level "0", i.e. key is pressed, and on other column lines the signal level is detected as logical level "1", i.e. no key pressed. At time t4 Row Line 1 is returned to the high impedance state.
The sequence of operations that has just been described is repeated for Row Line
2. The time period t4-t5 is the Passive Column Charge Period (PCP). Because pull-up resistor 31 is connected to Column Line 1, this causes an exponentially-rising signal level on Column Line 1. Column Line 1, together with Row Line 1, act as a capacitor that is recharged from the supply line using the small current delivered through the pull- up resistor 31. One side of the capacitor is connected to +VDD via the pull-up resistor 31 and the other side of the capacitor is connected to the ground plane. The capacitor is the capacitance of the tracks (row/column line) on the Printed Circuit Board towards the ground plane. During the period t5-t6 Row Line 2 is driven with level "0". Because only key (1 ,1) is pressed, no electrical connection is formed between Row Line 2 and Column Line 1. During the time period t6-t7 the signal level on each column line is detected. On each column line the signal level is detected as logical level "1", i.e. no key pressed. At time tl Row Line 2 is returned to the high impedance state.
It can be seen that there is an exponential rise on a column line after the row with a key pressed has been driven and measured, i.e. during recovery after a row has been scanned. In Figure 8 it is necessary to wait until after the rise time has elapsed to ensure that the signal level on Column Line 1 has returned to logical level "1". This prevents a false indication that a key is pressed when scanning the next row (Row Line 2)·
The apparatus required to implement the passive column charge mode is the same as that needed for the basic mode, except for the modification to the logic to drive the row lines 11 at a different time.
Active Column Charge Mode
A second improvement, called active column charge mode, reduces the energy that is needed to perform a keyboard scan operation by reducing the time it takes to perform a keyboard scan operation. The energy consumed by the device itself (E Active) is reduced. This is achieved by adding a state to the keyboard scan operation in which the column lines 12 are driven high (the 10 cells connected to the column lines 12 act as outputs, instead of inputs), while the row lines 11 are not driven. In this mode the row lines are driven low for a shorter time, compared to the basic mode, and therefore the energy consumed by the pull-up resistors is also reduced (EPullUpResistors).
Figure 9 shows a second embodiment of apparatus for detecting key presses on a keyboard 10. The apparatus is similar to that shown in Figure 6, and similar parts are labelled with similar reference numerals. As before, a row line driver 20 is connected to each row line 1 1 and is operable to either apply a first logical signal level (e.g. a logical "0") to the row line, or to cause the row line to be terminated with a high impedance. The row driver 20 is responsive to a control signal 22. Each column line 12 is connected to a cell 300. Cell 300 supports two functions: (i) a signal level detecting function and (ii) a line driving function. The cell 300 comprises a pull-up resistor 31 connected between the respective column line 12 and a supply voltage VDD and a buffer amplifier 32 having an input connected to the column line 12. The buffer amplifier 32 outputs a detected signal to logic 400. Logic 400 is operable to detect a first signal level (e.g. a logical "0") or a second signal level (e.g. a logical "1") in response to the state of switches 13 and row lines 11. Cell 300 also comprises a line driver 33 which operates in a similar manner to the row line driver 20. The column line driver 33 is connected to the column line 12 and is operable to either apply a second logical signal level (e.g. a logical "1") to the column line, or to cause the row line to be terminated with a high impedance. The column driver 33 is responsive to a control signal 34.
Control logic 50 controls operation of the row drive logic 25 and the column drive logic 400 and also receives inputs from the column sense logic 400. Control logic 50 determines, on the basis of the received inputs, which key has been pressed on keyboard 10.
The operation of the apparatus shown in Figure 9 will now be described in more detail, with reference to Figure 10. For the duration of Figure 10 it is assumed that a key (1, 1) on the keyboard is pressed. Figure 10 shows the keyboard scan operation to detect exactly which key, or multiple keys, has been pressed on the keyboard. The keyboard scan operation comprises a cycle of operations which is repeated on each of the row lines 1 1. At time tl Row Line 1 is held in a high impedance state (Z) and remains in this state until time t2. Also, during the time period tl-t2 the column driver 33 for each column is enabled to drive a signal with logical level "1". The period tl-t2 is called the Active Column Charge Period (ACP). During the period t2-t3 Row Line 1 is driven with level "0". Because key (1 , 1) is pressed, an electrical connection is formed between Row Line 1 and Column Line 1. This causes a sharply falling edge in the signal level on Column Line 1 at time t2. During the time period t3-t4 the signal level on each column line is detected. This is called the Measurement Period (MP). On Column Line 1 the signal level is detected as logical level "0" and on other column lines the signal level is detected as logical level "1". At time t4 Row Line 1 is returned to the high impedance state. It can be seen that the column driver 33 is only operated during the period tl-t2. At other times t2-t4 it is disabled, and remains in a high impedance state Z.
The sequence of operations that has just been described is repeated for Row Line
2. The time period t4-t5 is the Active Column charge Period (ACP). Pull-up resistor 31 is connected to Column Line 1. Column Line 1, together with Row Line 1, act as a capacitor. However, the line driver is able to charge this capacitor very quickly. Comparing Figure 10 with Figures 7 and 8, it can be seen that the signal level on Column Line 1 is quickly restored to logical level "1" following detection of Row Line 1. During the period t5-t6 Row Line 2 is driven with level "0". Because only key (1,1) is pressed, no electrical connection is formed between Row Line 2 and Column Line 1. During the time period t6-t7 the signal level on each column line is detected. On each column line the signal level is detected as logical level "1". At time t7 Row Line 2 is returned to the high impedance state.
It can be seen that there is a much quicker rise in signal level on a column line after the row with a key pressed has been driven and measured, i.e. during recovery after a row has been scanned. The column driver 33 used in this embodiment can deliver a higher current to the column line compared to the current delivered via a pull- up resistor 31 in the passive column charge mode (e.g. a current of the order of ~8mA compared to a current of the order of ~0.030mA in the passive column charge mode).
Three State Control of Row Line Drivers and Column Pull-up Resistors
A further aspect of the invention will now be described. A keyboard scan operation can be performed multiple times. The main reasons to repeat the keyboard scan operation are to cope with key "bouncing" and to detect repeatable keys, i.e. keys which a user holds down for a duration of time to repeat an operation. Each of these will be briefly described.
The keys can show some bouncing. When a keyboard scan operation indicates that one or more keys is pressed, the keyboard scan operation should be repeated after a debounce period. If the status of the keys during the latter keyboard scan operation is the same as the status of the keys during the previous keyboard scan operation, there is determined to be a stable situation. If the status of the keys differs from the status of the keys during the previous keyboard scan operation, the keyboard scan operation should be repeated again after a debounce period, until a stable status is detected. This process is shown in Figure 11.
For some keys, an action needs to be repeated as long as the key is being held pressed. These keys are called repeatable keys. When a keyboard scan operation indicates that a repeatable key is pressed, the desired application-level action is executed and the keyboard scan operation is repeated after a repetition interval. When the latter keyboard scan operation indicates that the repeatable key is still pressed, this cycle is repeated. When the latter keyboard scan operation indicates that the repeatable keys is released, the process ends. This process is shown in Figure 12.
There are two main contributors to the energy consumed in between the keyboard scan operations:
EInbetweenKeyboardScans = EPuUUpResistors + Eldle (2)
EPuUUpResistors is the energy consumed in the pull-up resistors. This energy is proportional to the time the row lines are driven low, while a key on the corresponding row line is being pressed (i.e. the amount of time in which current is flowing through the pull-up resistors). In prior art systems, the debounce period and the repetition interval period are examples of periods of time in which the row lines are driven low, while there is a high probability that a key on the corresponding row line is being pressed. Eldle is the energy consumed by the device (uC or dedicated keyboard scan HW) that is in the idle state in between the keyboard scans.
Conventionally, there is a two-state control of the row line drivers and column pull-up resistors. In a first state 'S I ' all of the row drivers drive the row lines at a first logical level (e.g. logical "0"), to enable detection of key press/releases. One (or more) of the column lines will detect a change in signal level if a key in that column has been pressed. In a second state, which will be called 'S2', the row lines are dynamically controlled to perform a keyboard scan operation. This determines on which row line the pressed key is located. In all states, the column pull-up resistors are enabled.
A further aspect of the invention will now be described. A three state control of row line drivers and column pull-up resistors reduces energy consumed by the pull-up resistors {EPuUUpResistors) during the debounce period and during the repetition periods. The first state S I and second state S2 are the same as just described. In the first state ' S I ' , all of the row lines are driven low, to enable detection of key press/releases. State SI is typically used between two keyboard scan operations, except during debounce periods and repetition periods. In the second state 'S2' described above the row lines are dynamically controlled to perform the keyboard scan operation, i.e. row lines are driven one at a time to determine in which row the key has been pressed. A third state 'S3' is used during debounce periods and repetition periods, that avoids any current flow from the row driver 20 through the pull-up resistors 31. This reduces the energy consumed by the pull up resistors 31. A first way of implementing the third state S3 is to operate the row lines 11 in a high impedance state. The row driver 20 is not enabled during the third state S3.
A second way of implementing the third state S3 is to disable the pull-up resistor 31 in the column circuitry 30 associated with a column line 12. Figures 13 and 14 show two alternative forms of the column circuitry 30. In Figure 13, the column line 12 is selectively connectable to (i) a supply line VDD via a pull-up resistor 31 and a switch 35 or to (ii) ground via a pull-down resistor 36 and a switch 37. When the pull-up resistor 31 is connected to the supply line VDD via switch 35, the pull-up resistor is said to be "enabled", and operates as previously described. When the pull-down resistor 36 is connected to ground via switch 37, the pull-up resistor 31 is said to be "disabled". The apparatus is operated in this way during state S3. Column sense logic 40 will detect a level "0" on the column line when the pull-up 31 resistor is disabled, as the column line is connected to ground via pull-down resistor 36. The state of the row driver 20 is not important since, even if the row driver 20 is enabled, the row line 11 is driven at level "0" and the column line is held at level "0" and there will be no current flow.
In Figure 14, the column line 12 is selectively connectable to (i) a supply line VDD via a pull-up resistor 31 and a switch 35 or to (ii) a bus keeper BK 38. An alternative name for a "bus keeper" is a "bus holder" or a latch. A bus keeper 38 is a weak latch circuit that holds the last value on the line and prevents the signal level on the line from floating over a period of time to an undefined level.
Figures 13 and 14 show how column circuitry 30 of Figure 6 can be modified to disable the pull-up resistors 31. Cells 300 can be modified in a similar manner. The apparatus shown in Figures 13 and 14 ensure that the column lines 12 maintain a defined value (logical "0" or "1") and do not float to a value around VDD/2, which would induce a high power consumption in the column circuitry 30.
The third state S3 can also be used during periods in which no key press/release detection is needed by the application, to reduce energy consumption during these periods. The three state control of line drivers and pull-up resistors can be combined with the passive column charge mode or active column charge mode described previously. During the keyboard scan operation (state S2), the control logic operates as previously described to implement passive column charge mode or active column charge mode.
The apparatus shown in Figures 6 and 9 can perform this aspect of the invention.
Control logic 25, 50 operates the line drivers 20 and/or column circuitry 30, 300.
The operation of this aspect of the invention will now be described in more detail, with reference to Figure 15. For at least some part of the duration shown in Figure 15 it is assumed that a key (1, 1) on the keyboard is pressed. Figure 15 shows the keyboard scan operation to detect exactly which key, or multiple keys, has been pressed on the keyboard. The keyboard scan operation comprises a cycle of operations which is repeated on each of the row lines 11. Initially, no keys are pressed. Control logic operates the line drivers and detectors in state SI to detect any key press. At time tl a key (1, 1) is pressed and next the press of some key is detected. At time t2 the control logic enters state S2 and performs a keyboard scan to determine which key, or keys, have been pressed, and next the press of key (1, 1) is detected. Following the keyboard scan, the control logic operates the line drivers and detectors in state S3. After a debounce period (DP), control logic 50 again operates the line drivers and detectors in state S2 to perform a keyboard scan. It is assumed that the result obtained during the keyboard scans is the same, i.e. a stable situation. At time t4 the control logic operates the line drivers and detectors in state S3. At time t5 which is a repeatable key period (RP) later than t4, the control logic enters state S2 to perform another keyboard scan and determines that the same key is still pressed. After this keyboard scan (KS) period the control logic returns the line drivers and detectors in state S3 for a period RP. At time t6 the control logic enters state S2 to perform another keyboard scan and determines that the same key is still pressed. Control logic returns the line drivers and detectors in state S3. At time tl the key (1, 1) is released. At time t8 the control logic enters state S2 to perform another keyboard scan and determines that the key has been released. At time t9 the control logic operates the line drivers and detectors in state S 1 to detect when any key is pressed. In the embodiments described above the row line drivers are described as driving the row lines at a logical level "0" and the column lines are connected to a supply line representing a logical level "1 ". It will be understood that this can be reversed, with the row line drivers driving the row lines at a logical level "1" and the column lines connected to a supply line representing a logical level "0". Similarly, in the Active Column Charge mode the column line driver can drive the column line at a logical level "0".
The invention is not limited to the embodiments described herein, which may be modified or varied without departing from the scope of the invention.

Claims

Claims:
1. Apparatus for detecting key presses on a keyboard, the apparatus comprising: an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line;
a first resistor connected between each second line and a supply line;
control logic which is selectively arranged to:
operate the apparatus in a first state to detect when a key has been pressed;
operate the apparatus in a second state to perform a keyboard scanning operation to determine which key has been pressed;
operate the apparatus in a third state during periods between keyboard scanning operations, wherein current flow through the first resistors is minimised during the third state.
2. Apparatus according to claim 1 wherein the control logic is arranged to operate the apparatus in the third state during at least one of: a debounce period; when a repeatable key has been detected during a keyboard scanning operation; when no key press detection is required.
3. Apparatus according to claim 1 or 2 wherein, during the third state, the control logic is arranged to disable the first resistors.
4. Apparatus according to claim 3 wherein the second lines are selectively connectable to the first supply line via the first resistor and to a second supply line via a second resistor, the control logic being arranged to use the first resistors during the first state and the second state and to use the second resistors during the third state.
5. Apparatus according to claim 3 wherein the second lines are selectively connectable to the first supply line via the first resistors and to a bus keeper or latch, the control logic being arranged to use the first resistors during the first state and the second state and to use the latch during the third state.
6. Apparatus according to any one of the preceding claims wherein the control logic is arranged to operate the first line drivers in a high impedance state during the third state.
7. Apparatus according to any one of the preceding claims wherein, in the first state, the control logic is arranged to cause the first line drivers to hold the first lines at a first logical level and, in the second state, the control logic is arranged to cause the first line drivers to drive the first lines at a first logical level as the first lines are scanned and to operate the first lines in a high impedance state when they are not being scanned.
8. A method of detecting activity on a keyboard, the keyboard comprising an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard, a first line driver is coupled to each first line and a first resistor is connected between each second line and a supply line, the method comprising:
operating the apparatus in a first state to detect when a key is pressed;
operating the apparatus in a second state to perform a keyboard scanning operation to determine which key has been pressed;
operating the apparatus in a third state during periods between keyboard scanning operations, wherein current flow through the first resistors is minimised during the third state.
9. Apparatus for scanning a keyboard to determine which key has been pressed, the apparatus comprising:
an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line; control logic which is arranged to scan the first lines in turn by, for each first line:
during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and;
during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to operate the first line in a high impedance state and then drive the first line at the first logical level.
10. Apparatus according to claim 9 wherein the time period preceding the measuring time period for the current or present first line is greater than a time required for the signal level on the second line to change between the first logical level, representative of a key being pressed, and a second logical level, representative of a key not being pressed.
11. Apparatus according to claim 9 or 10 wherein each of the second lines is connected to a supply line via a respective first resistor.
12. Apparatus according to claim 1 1 wherein each of the second lines is permanently connected to the supply line via the respective first resistor.
13. Apparatus according to according to any one of claims 9 to 12 wherein the control logic is selectively arranged to:
operate the apparatus in a first state to detect when a key is pressed; operate the apparatus in a second state to perform a keyboard scanning operation to determine which key has been pressed;
operate the apparatus in a third state during periods between keyboard scanning operations, wherein current flow through the first resistors is minimised during the third state.
14. A method of scanning a keyboard to determine which key, the keyboard comprising an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard and a first line driver coupled to each first line, the method comprising scanning the first lines in turn by, for each first line:
during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and; during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to operate the first line in a high impedance state and then drive the first line at the first logical level.
15. Apparatus for scanning a keyboard to determine which key has been pressed, the apparatus comprising:
an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard;
a first line driver coupled to each first line;
a second line driver coupled to each second line;
control logic which is arranged to scan the first lines by, for each first line:
during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and;
during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to drive the first line in a high impedance state while causing the second line driver to drive the second lines at a second logical level.
16. Apparatus according to claim 15 wherein the second lines are connected to a supply line via a pull-up resistor.
17. Apparatus according to claim 16 wherein the second lines are permanently connected to a supply line via a pull-up resistor.
18. Apparatus according to according to any one of claims 15 to 17 wherein the control logic is selectively arranged to:
operate the apparatus in a first state to detect when a key is pressed; operate the apparatus in a second state to perform a keyboard scanning operation to determine which key has been pressed;
operate the apparatus in a third state during periods between keyboard scanning processes, wherein current flow through the first resistors is minimised during the third state.
19. A method of scanning a keyboard to determine which key has been pressed, the keyboard comprising an array of first lines and second lines, wherein a first line is electrically connectable to a second line by operation of a key on the keyboard, a first line driver is coupled to each first line and a second line driver is coupled to each second line, the method comprising scanning the first lines in turn by, for each first line: during a measuring time period, causing the line driver of the first line to drive the first line at a first logical level and detecting a signal level on the second lines and; during a time period preceding the measuring time period for the current or present first line, and following a measuring time period for a previous first line, causing the first line driver to drive the first line in a high impedance state while causing the second line driver to drive the second lines at a second logical level.
20. A machine readable medium storing machine readable instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 8, 14 or 19.
PCT/EP2010/054121 2010-03-29 2010-03-29 Keyboard scanner WO2011120553A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/054121 WO2011120553A1 (en) 2010-03-29 2010-03-29 Keyboard scanner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/054121 WO2011120553A1 (en) 2010-03-29 2010-03-29 Keyboard scanner

Publications (1)

Publication Number Publication Date
WO2011120553A1 true WO2011120553A1 (en) 2011-10-06

Family

ID=43127166

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/054121 WO2011120553A1 (en) 2010-03-29 2010-03-29 Keyboard scanner

Country Status (1)

Country Link
WO (1) WO2011120553A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112666454A (en) * 2020-11-27 2021-04-16 深圳市创荣发电子有限公司 Remote controller test method, device and storage medium
CN114448444A (en) * 2022-01-21 2022-05-06 长沙锐逸微电子有限公司 High-performance mechanical keyboard driving chip and mechanical keyboard

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2216312A (en) * 1988-04-04 1989-10-04 Fluke Mfg Co John Keyboard scanner apparatus and method
JPH07152468A (en) * 1993-11-30 1995-06-16 Nec Ic Microcomput Syst Ltd Key matrix input device
US5872561A (en) * 1997-03-31 1999-02-16 Allen-Bradley Company, Llc Fast scanning switch matrix
EP1028532A1 (en) * 1999-02-11 2000-08-16 Alcatel Keyboard processing device
US20080316066A1 (en) * 2007-06-19 2008-12-25 Fujitsu Limited Key Control Circuit, Electronic Apparatus, Portable Device, and Key Control Method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2216312A (en) * 1988-04-04 1989-10-04 Fluke Mfg Co John Keyboard scanner apparatus and method
JPH07152468A (en) * 1993-11-30 1995-06-16 Nec Ic Microcomput Syst Ltd Key matrix input device
US5872561A (en) * 1997-03-31 1999-02-16 Allen-Bradley Company, Llc Fast scanning switch matrix
EP1028532A1 (en) * 1999-02-11 2000-08-16 Alcatel Keyboard processing device
US20080316066A1 (en) * 2007-06-19 2008-12-25 Fujitsu Limited Key Control Circuit, Electronic Apparatus, Portable Device, and Key Control Method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112666454A (en) * 2020-11-27 2021-04-16 深圳市创荣发电子有限公司 Remote controller test method, device and storage medium
CN112666454B (en) * 2020-11-27 2024-02-20 深圳市创荣发电子有限公司 Remote controller testing method, device and storage medium
CN114448444A (en) * 2022-01-21 2022-05-06 长沙锐逸微电子有限公司 High-performance mechanical keyboard driving chip and mechanical keyboard

Similar Documents

Publication Publication Date Title
US8217809B2 (en) Low power sensing via resistive sensor matrix
US9086439B2 (en) Circuits, devices and methods having pipelined capacitance sensing
US6784810B2 (en) A/D converter with comparators and low-power detection mode for resistive matrix keyboards
US20160077667A1 (en) Scan method for a touch panel and touch device
US7158056B2 (en) Method and apparatus for scanning a key or button matrix
US8497690B2 (en) Automated capacitive touch scan
US8074000B2 (en) Hotkey processing method and computer system
US20160179187A1 (en) I/O Interface-Based Signal Output Method and Apparatus
US8350730B2 (en) Keyboard scan
US20180120355A1 (en) Multiple Channel Capacitive Voltage Divider Scanning Method And Apparatus
US9041673B2 (en) Method of controlling noise processing circuit of touch panel and related noise processing apparatus
KR20110114910A (en) Integarated circuit and power consumption measuring method thereof
US7714746B2 (en) Method and apparatus for keyboard readout
EP3358450A1 (en) Touch panel, terminal device, and method for use in detecting touched point
TWI493869B (en) Keypad module and detecting method for keypad matrix
WO2011120553A1 (en) Keyboard scanner
US9436248B2 (en) Data processing system with protocol determination circuitry
US20170060288A1 (en) Capacitive touch sensing with lumped sensors
CN104423616B (en) Input device and control unit
US20120075219A1 (en) Detection method and detecting apparatus for detecting multiple touch points on touch panel
US8350733B2 (en) Keyboard scan for human interface devices
CN109308140A (en) Electronic device and display image producing method
US20220137781A1 (en) Touchscreen calibration circuit
EP2290819A1 (en) Node management of an electronic circuit component
WO2015167418A1 (en) Perform a self-capacitive scan of a stylus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10716775

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10716775

Country of ref document: EP

Kind code of ref document: A1