1300 Henley Court Pullman, WA 99163 509.334.6306 www.digilentinc.com PmodPS/2 Reference Manual Revised May 26, 2016 This manual applies to the PmodPS/2 rev. C Overview The Digilent PmodPS/2 is a module that allows users to attach a PS/2 compatible keyboard or mouse to their system board. Features include: Standard PS/2 port Jumper to allow for an external power source Small PCB size for flexible designs 1.0 0.8 (2.5 cm 2.0 cm) 6-pin Pmod connector with GPIO interface Follows Digilent Pmod Interface Specification Type 1 Example code available in resource center The PmodPS/2. 1 Functional Description The PmodPS/2 module is a standard PS/2 connector that by nature of the PS/2 supports N-KEY rollover. This is a feature that guarantees that every movement and key press will be received and addressed. Naturally, whether or not the key press will actually perform a function is dependent on the software, but the system board will still receive all of the inputs. 2 Interfacing with the Pmod The PmodPS/2 communicates with the host board via the GPIO protocol. Both the keyboard and mouse will use a data and a clock line to communicate their information to the system board. Specific details on how this is done are available in their respective sections below. Copyright Digilent, Inc. All rights reserved. DOC : 502-094 Page 1 of 4 Other product and company names mentioned may be trademarks of their respective owners. PmodPS/2 Reference Manual Pin Number Description 1 Data 2 Not Used 3 Clock 4 Not Used 5 Ground 6 VCC Table 1. Pin description table. 3 Keyboard and Mouse Interface The keyboard and mouse both use identical signal timings. Both use 11-bit words that include a start, stop, and odd parity bit, but the data packets are organized differently, and the keyboard interface allows bi-directional data transfers (so the host device can illuminate state LEDs on the keyboard). Bus timings are shown below. The clock and data signals are only driven when data transfers occur, and otherwise they are held in the idle state at logic 1. The timings define signal requirements for mouse-to-host communications and bi-directional keyboard communications. T T CK CK Edge 10 Edge 0 Pin Definitions Pin 2 Pin 1 CLK Pin Function 1 2 1 Data T HLD 4 3 T 2 Reserved SU 6 5 Pin 6 Pin 5 3 GND DATA 4 Vdd 5 Clock Bottom-up PS/2 hole pattern 6 Reserved 0 start bit 1 stop bit Connector Symbol Parameter Min Max Tck Clock time 30us 50us Tsu Data-to-clock setup time 5us 25us Thld Clock-to-data hold time 5us 25us Table 2. Bus timings. 3.1 Keyboard The keyboard uses open-collector drivers so that either the keyboard or an attached host device can drive the two- wire bus (if the host device will not send data to the keyboard, then the host can use simple input-only ports). PS/2-style keyboards use scan codes to communicate key-press data (nearly all keyboards in use today are PS/2 style). Each key has a single, unique scan code that is sent whenever the corresponding key is pressed. If the key is pressed and held, the scan code will be sent repeatedly once every 100ms or so. When a key is released, an F0 key-up code is sent, followed by the scan code of the released key. If a key can be shifted to produce a new character (like a capital letter), then a shift character is sent in addition to the original scan code, and the host device must determine which character to use. Some keys, called extended keys, send an E0 ahead of the scan Copyright Digilent, Inc. All rights reserved. Page 2 of 4 Other product and company names mentioned may be trademarks of their respective owners.