Hardware Reference
In-Depth Information
The processor in the original PC keyboard was an Intel 8048 microcontroller chip. Newer
keyboards often use an 8049 version that has built-in ROM or other microcontroller chips
compatible with the 8048 or 8049. For example, in its Enhanced keyboards, IBM has al-
ways used a custom version of the Motorola 6805 processor, which is compatible with
the Intel chips. The keyboard's built-in processor reads the key matrix, debounces the
keypress signals, converts the keypress to the appropriate scan code, and transmits the
code to the motherboard. The processors built in to the keyboard contain their own RAM,
possibly some ROM, and a built-in serial interface.
In the original PC/XT design, the keyboard serial interface is connected to an 8255 Pro-
grammable Peripheral Interface (PPI) chip on the motherboard of the PC/XT. This chip is
connected to the interrupt controller IRQ1 line, which signals to the system that keyboard
data is available. The data is then sent from the 8255 to the processor via input/output
(I/O) port address 60h. The IRQ1 signal causes the main system processor to run a sub-
routine (INT 9h) that interprets the keyboard scan code data and decides what to do.
InanAT-typekeyboarddesign,thekeyboardserialinterfaceisconnectedtoaspecialkey-
board controller on the motherboard. This controller was an Intel 8042 Universal Peri-
pheral Interface (UPI) slave microcontroller chip in the original AT design. This micro-
controller is essentially another processor that has its own 2KB of ROM and 128 bytes
of RAM. An 8742 version that uses erasable programmable read-only memory (EPROM)
can be erased and reprogrammed. In the past, when you purchased a motherboard ROM
upgrade for an older system from a motherboard manufacturer, the upgrade included a
new keyboard controller chip as well because it had somewhat dependent and updated
ROM code in it. Some older systems might use the 8041 or 8741 chips, which differ only
in the amount of built-in ROM or RAM. However, recent systems incorporate the key-
board controller into the main system chipset.
When the keyboard controller on the motherboard receives data from the keyboard, it sig-
nals the motherboard with an IRQ1 and sends the data to the main motherboard processor
via I/O port address 60h. Acting as an agent between the keyboard and the main system
processor,the8042-typekeyboardcontrollercantranslatescancodesandperformseveral
other functions. The system also can send data to the 8042 keyboard controller via port
60h,whichthenpassesitontothekeyboard.Additionally,whenthesystemneedstosend
commands to or read the status of the keyboard controller on the motherboard, it reads or
writes through I/O port 64h. These commands usually are followed by data sent back and
forth via port 60h.
The system also uses the 8042 keyboard controller to control the A20 memory address
line, which provides access to system memory greater than 1MB. More modern mother-
boards typically incorporate this functionality directly into the motherboard chipset. The
Search WWH ::




Custom Search