1 / 14

Keyboard Interface

Keyboard Interface. Anselmo Lastra. PS/2 Keyboard. Uses a synchronous serial protocol What does that mean?. Physical Interface. Two lines Clock (10-20KHz) Data Asserted low There’s documentation in NEXYS board manual, starting on P. 7. Bidirectional.

claus
Télécharger la présentation

Keyboard Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Keyboard Interface Anselmo Lastra

  2. PS/2 Keyboard • Uses a synchronous serial protocol • What does that mean?

  3. Physical Interface • Two lines • Clock (10-20KHz) • Data • Asserted low • There’s documentation in NEXYS board manual, starting on P. 7

  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. 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. 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. Scan Codes • Normally translated by software • You remap your keys, for example • Software takes care of • Shift, caps lock, control

  8. Some Scan Codes Long • Two code sequence common • Have a look at Break key!

  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. 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. 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. Mouse • Very similar interface (clk & data) • 3 words sent w/ mouse movement or button press

  13. 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?)

  14. Scroll Wheel, etc. • Extensions to original 2 button PS/2 mouse • See http://www.computer-engineering.org/ps2mouse/

More Related