Universal serial bus keyboard system
DCFirst Claim
1. A serial bus host controller for coupling a serial bus keyboard to a computer system via a standardized serial bus which transfers data in a packetized protocol, the serial bus host controller for sending and receiving serial bus packets, the serial bus host controller comprising:
- a keyboard controller emulator for generating and receiving data, status and commands pertaining to the serial bus keyboard, said keyboard controller emulator including;
a serial bus address register for storing the serial bus address of the serial bus keyboard;
a data buffer; and
a status register;
a detector for detecting when said data buffer and said status register are accessed; and
an interrupt generator for providing a system management interrupt to the computer system when said data buffer and said status register are accessed.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A keyboard system according to the present invention includes a serial bus host controller coupled to a serial bus keyboard. The keyboard includes both keyboard scan logic and scan code conversion logic for passing to the host controller over the serial bus. The host controller includes circuitry for processing the data between the serial bus and a host bus. The host controller further includes 8042 emulation logic for providing a hardware compatible interface to the keyboard controller. The 8042 emulation logic also includes circuitry for communicating over the serial bus during times when the serial bus has not yet been initialized.
52 Citations
33 Claims
-
1. A serial bus host controller for coupling a serial bus keyboard to a computer system via a standardized serial bus which transfers data in a packetized protocol, the serial bus host controller for sending and receiving serial bus packets, the serial bus host controller comprising:
-
a keyboard controller emulator for generating and receiving data, status and commands pertaining to the serial bus keyboard, said keyboard controller emulator including; a serial bus address register for storing the serial bus address of the serial bus keyboard; a data buffer; and a status register; a detector for detecting when said data buffer and said status register are accessed; and an interrupt generator for providing a system management interrupt to the computer system when said data buffer and said status register are accessed. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for coupling to a serial bus keyboard via a standardized serial bus which transfers data in a packetized protocol, the computer system comprising:
-
a serial bus keyboard; and a serial bus host controller coupled to said serial bus keyboard for sending and receiving serial bus packets, comprising; a keyboard controller emulator for generating and receiving data, status and commands pertaining to the serial bus keyboard, said keyboard controller emulator including; a serial bus address register for storing the serial bus address of the serial bus keyboard; a data buffer; and a status register; a detector for detecting when said data buffer and said status register are accessed; and an interrupt generator for providing a system management interrupt to the computer system when said data buffer and said status register are accessed. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A serial bus host controller for coupling a serial bus keyboard to a computer system via a standardized serial bus which transfers data in a packetized protocol, the serial bus host controller for sending and receiving serial bus packets, the serial bus host controller comprising:
-
a keyboard controller emulator for generating and receiving data, status and commands pertaining to the serial bus keyboard, including; a serial bus address register for storing the serial bus address of the serial bus keyboard; a data input buffer; a data output buffer, said keyboard controller providing an interrupt when said data output buffer is changed; and a status register; and a detector for detecting when the data buffers and said status register are accessed; packet parsing logic for determining if a packet is received from the serial bus keyboard; data output buffer writing logic for writing into said data output buffer a data value extracted from a packet received from said serial bus keyboard; and data input buffer reading logic for reading from said data input buffer a data value written therein by the computer system for said serial bus keyboard and developing a packet for transmission to said serial bus keyboard, wherein when said data value is written into said data output buffer a keyboard controller interrupt is generated. - View Dependent Claims (12, 13, 14)
-
-
15. A computer system for coupling to a serial bus keyboard via a standardized serial bus which transfers data in a packetized protocol, the computer system comprising:
-
a serial bus keyboard; and a serial bus host controller coupled to said serial bus keyboard for sending and receiving serial bus packets,, comprising; a keyboard controller emulator for generating and receiving data, status and commands pertaining to the serial bus keyboard, including; a serial bus address register for storing the serial bus address of the serial bus keyboard; a data input buffer; a data output buffer, said keyboard controller providing an interrupt when said data output buffer is changed; and a status register; and a detector for detecting when the data buffers and said status register are accessed; packet parsing logic for determining if a packet is received from the serial bus keyboard; data output buffer writing logic for writing into said data output buffer a data value extracted from a packet received from said serial bus keyboard; and data input buffer reading logic for reading from said data input buffer a data value written therein by the computer system for said serial bus keyboard and developing a packet for transmission to said serial bus keyboard, wherein when said data value is written into said data output buffer a keyboard controller interrupt is generated. - View Dependent Claims (16, 17, 18)
-
-
19. A method of communicating with a serial bus keyboard over a standardized serial bus in a computer system having a serial bus host controller, said host controller including a keyboard controller emulator, the keyboard controller emulator including a queue and scheduler for communicating directly with the serial bus, the method comprising the steps of:
-
(a) powering on the computer system; (b) enabling a keyboard controller queue and scheduler; (c) said keyboard controller queue and scheduler polling the serial bus for a serial bus keyboard; (d) determining an -address of said serial bus keyboard; (e) storing said serial bus keyboard address in a register; (f) said keyboard controller emulator processing packets, if any, with the serial bus keyboard until the host controller is initialized; (g) loading a host controller device driver; and (h) disabling said keyboard controller queue and scheduler after said host controller device driver is loaded. - View Dependent Claims (20, 21)
-
-
22. A method of communicating with a serial bus keyboard over a standardized serial bus in a computer system having a serial bus host controller and a basic input/output system (BIOS) for controlling device initialization, said host controller including a keyboard controller emulator, the method comprising the steps of:
-
(a) powering on the computer system; (b) disabling the keyboard controller emulator; (c) the BIOS polling the serial bus for a serial bus keyboard; (d) the BIOS determining an address of said serial bus keyboard; (e) the BIOS storing said serial bus keyboard address in a register; (f) the BIOS enabling the keyboard controller emulator; (g) the BIOS handling any communications between the computer system and the serial bus keyboard until a host controller device driver is loaded; (h) loading a host controller device driver; and (i) disabling the keyboard controller emulator. - View Dependent Claims (23, 24)
-
-
25. A method of communicating with a serial bus keyboard over a standardized serial bus in a computer system having a serial bus host controller, said host controller including a keyboard controller emulator, the method comprising the steps of:
-
(a) powering on the computer system; (b) polling the serial bus for a serial bus keyboard; (c) determining an address of said serial bus keyboard; (d) storing said serial bus keyboard address in a register; (e) loading a host controller keyboard device driver; (f) generating a system management interrupt (SMI) if keyboard data is received by the host controller; and (g) processing the keyboard data. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A method of communicating with a serial bus keyboard over a standardized serial bus in a computer system having a serial bus host controller, the host controller including a keyboard controller emulator, the keyboard controller emulator having a data output buffer and a status register, the method comprising the steps of:
-
(a) initializing the host controller; (b) generating a host controller interrupt if a packet is received by the host controller; (c) determining a source of the packet; (d) writing packet data into the data output buffer if the packet source is the serial bus keyboard; (e) updating the status register if data is written into the data output buffer; and (f) generating a keyboard controller interrupt. - View Dependent Claims (33)
-
Specification