Presentation is loading. Please wait.

Presentation is loading. Please wait.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra.

Similar presentations


Presentation on theme: "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra."— Presentation transcript:

1 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra

2 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 2 PS/2 Keyboard Uses a synchronous serial protocol ♦ What does that mean?

3 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 3 Physical Interface Two lines ♦ Clock (10-20KHz) ♦ Data Asserted low There’s documentation in NEXYS board manual, starting on P. 7

4 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 4 Bidirectional Kybd-to-host and host-to-kybd on same wires ♦ CAPS LOCK light for example To send, host takes data line low ♦ Sometimes take clk low first Then kybd starts clocking ♦ Host sends data synced to kybd clock You shouldn’t need to send to kybd

5 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 5 Protocol 11 bits ♦ Start – always 0 ♦ 8 bits of data ♦ Odd parity bit ♦ Stop bit – always 1 Clocked by keyboard Value should be latched on negedge of keyboard clock ♦ Slow enough that you could easily build simple FSM and clock on your 50 MHz clock Illustration from http://www.beyondlogic.org/keyboard/keybrd.htm

6 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 6 What is Sent ASCII is not sent Scan codes for keys ♦ Least significant bit first Illustration from http://www.beyondlogic.org/keyboard/keybrd.htm

7 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 7 Scan Codes Normally translated by software ♦ You remap your keys, for example Software takes care of ♦ Shift, caps lock, control

8 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 8 Some Scan Codes Long Two code sequence common Have a look at Break key!

9 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 9 Even More Complicated Scan code generated when you press And when you release ♦ Two bytes: F0 followed by key scan code ♦ Example: Space pressed, 29 sent Space released, F0 29 sent If you hold key, scan code repeated

10 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 10 Resources Information http://www.beyondlogic.org/keyboard/keybrd.htm Scan codes http://www.barcodeman.com/altek/mule/scandoc.php There is also Verilog for keyboard interfaces available on web.

11 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 11 My Verilog Have Verilog for keyboard Have not ported to new FPGA To use ♦ You should memory-map the character code register ♦ Maybe add a single bit register to indicate that new character has arrived

12 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Mouse Very similar interface (clk & data) 3 words sent w/ mouse movement or button press 12

13 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Movement Movement is relative XS, YS are sign (+ is up/right) XV, YV are overflow (too fast) L, R are buttons (the 0 is middle?) 13

14 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Scroll Wheel, etc. Extensions to original 2 button PS/2 mouse See http://www.computer-engineering.org/ps2mouse/ 14


Download ppt "The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra."

Similar presentations


Ads by Google