PS/2: Difference between revisions

1,083 bytes added ,  4 months ago
m
Fix broken link by linking to archive.org
[unchecked revision][unchecked revision]
(Start of PS/2 controller vs.protocol vs. device restructuring)
 
m (Fix broken link by linking to archive.org)
 
(8 intermediate revisions by 3 users not shown)
Line 1:
{{Stub}}
 
== PS/2 Overview ==
 
PS/2 is a type of serial communication, typically used for user input devices (keyboard, mouse, bar code scanner, etc). It involves a controller (e.g. "8042 chip" on PC compatible systems), the mechanical and electrical details of the communication itself, and a device.
 
=== History ===
 
Originally (1981) IBM used a different type of serial communication for XT keyboards. The older interface was not bi-directional - the device could talk to the controller, but the controller couldn't talk to the device.
Line 15 ⟶ 13:
Eventually the PS/2 was superseded by USB, however it is still fairly common (and for compatibility, some system have emulation layers that make USB devices appear as PS/2 devices).
 
== PS/2 Protocol ==
 
A diagram of the PS2 connector is below.
Line 35 ⟶ 33:
* 1 acknowledgement bit
 
== Driver Model ==
 
There are various types of PS/2 port controllers; including "bit banging" general purpose IO, special support built into the system's chipset and add-on PCI cards. There are also various types of PS/2 devices (keyboard, mouse, touch-pad, bar code scanner, magnetic card/stripe reader, fingerprint reader, etc).
 
Obviously you don't want to duplicate the code for every type of PS/2 device within each different PS/2 controller driver. You want to separate them, so that any driver for a PS/2 device can talk to any PS/2 controller driver (and so that the PS/2 device's code can be ported to different architectures without any changes). This is relatively simple to do - PS/2 controller drivers only need to be able to send and receive bytes (there's no baud rate control or anything) and a simple "byte stream" approach suffices.
==See Also==
 
== See Also ==
 
=== Articles ===
*[["8042" PS/2 Controller]]
*[[PL050 PS/2 Controller|PL050 PS/2 Controller (ARM)]]
*[[PS/2 Keyboard]]
*[[PS/2 Mouse]]
 
*[["8042" PS/2 Controller]]
=== External Links ===
*[http://www.versalent.biz/ps2facts.htm PS2 Facts and Info from Versalent]
*[httphttps://wwwweb.archive.org/web/20180302005138/https://computer-engineering.org/ps2protocol/ www.https://computer-engineering.org/ps2protocol/]
 
[[Category:Common Devices]]
[[Category:Hardware Interfaces]]
Anonymous user