IP Library Granted Patent US 7,230,548
Granted Patent B2
US 7,230,548 · App. 11/087,524 · Granted Jun 12, 2007

Method and apparatus for high performance key detection with key debounce

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,230,548
App. No.
11/087,524
Granted
Jun 12, 2007
Kind
B2
Abstract

A system for detecting a key with key debounce including a circuit for detecting a key activation; a first counter coupled to the circuit and a clock for testing the key activation for a first user definable number of clock cycles; a key debounce buffer for storing a key index identifying the activated key, if the key activation is valid for the first user definable number of clock cycles; a second counter for testing the identified activated key for a first user definable number of hardware key scan cycles; and a key event buffer for storing a key activation event, if the key activation is valid for the first user definable number of hardware key scan cycles.

Claims (42)

1. A method for detecting a key with key debounce, the method comprising:

detecting a key activation;

testing the key activation for a user definable number of clock cycles;

storing a key index identifying the activated key in a buffer, if the key activation is valid for the user definable number of clock cycles;

testing the identified activated key for a user definable number of hardware key scan cycles; and

establishing a key activation event, if the key activation is valid for the user definable number of hardware key scan cycles.

2. The method of claim 1 , further comprising:

detecting a key release;

testing the key release for a user definable number of clock cycles;

testing the key release for a user definable number of hardware key scan cycles, if the key activation is valid for the user definable number of clock cycles; and

establishing a key release event, if the key release is valid for the user definable number of hardware key scan cycles.

3. The method of claim 1 , further comprising adding a user definable time delay to each of the hardware key scan cycles.

4. The method of claim 1 , wherein the clock cycles are related to system clock cycles.

5. The method of claim 1 , wherein the key activation is one or more of the group consisting of a pressed down key on a keyboard, a movement of a mice, a movement of a joystick, and a sensed event.

6. The method of claim 1 , wherein the user definable number of hardware key scan cycles for testing the key activation is the same as the user definable number of hardware key scan cycles for the key release.

7. The method of claim 1 , wherein the user definable number of hardware key scan cycles for testing the key activation is different from the user definable number of hardware key scan cycles for the key release.

8. A system for detecting a key with key debounce comprising:

a circuit for detecting a key activation;

a first counter coupled to the circuit and a clock for testing the key activation for a first user definable number of clock cycles;

a key debounce buffer for storing a key index identifying the activated key, if the key activation is valid for the first user definable number of clock cycles;

a second counter for testing the identified activated key for a first user definable number of hardware key scan cycles; and

a key event buffer for storing a key activation event, if the key activation is valid for the first user definable number of hardware key scan cycles.

9. The system of claim 8 , wherein the circuit detects a key release, the first counter tests the key release for a second user definable number of clock cycles, the second counter tests the key release for a second user definable number of hardware key scan cycles, if the key activation is valid for the second user definable number of clock cycles, and the key event buffer stores a key release event, if the key release is valid for the second user definable number of hardware key scan cycles.

10. The system of claim 8 , further comprising a user definable time delay added to each of the hardware key scan cycles.

11. The system of claim 8 , wherein the clock cycles are related to system clock cycles.

12. The system of claim 8 , wherein the key activation is one or more of the group consisting of a pressed down key on a keyboard, a movement of a mice, a movement of a joystick, and a sensed event.

13. The system of claim 8 , wherein the first and second user definable number of hardware key scan cycles for testing the key activation is the same as the first and second user definable number of hardware key scan cycles for the key release.

14. The system of claim 8 , wherein the first and second user definable number of hardware key scan cycles for testing the key activation is different from the first and second user definable number of hardware key scan cycles for the key release.

15. The system of claim 8 , wherein the first counter is an up/down counter.

16. The system of claim 8 , wherein the second counter is an up/down counter.

17. A system for detecting a key comprising:

means for detecting a key activation;

means for testing the key activation for a user definable number of clock cycles;

means for testing the tested activated key for a user definable number of hardware key scan cycles, if the key activation is valid for the user definable number of clock cycles; and

means for establishing a key activation event, if the key activation is valid for the user definable number of hardware key scan cycles.

18. The system of claim 17 , further comprising:

means for detecting a key release;

means for testing the key release for a user definable number of clock cycles;

means for testing the key release for a user definable number of hardware key scan cycles, if the key activation is valid for the user definable number of clock cycles; and

means for establishing a key release event, if the key release is valid for the user definable number of hardware key scan cycles.

19. The system of claim 17 , further comprising means for adding a user definable time delay to each of the hardware key scan cycles.

20. The system of claim 17 , wherein the clock cycles are related to system clock cycles.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048555/0510 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0097 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2005
From: LOU, WENKWEI
To: BROADCOM CORPORATION
Reel/Frame 016416/0273 →