Download presentation
Presentation is loading. Please wait.
1
1 COMP541 Keyboard Interface Montek Singh April 9, 2007
2
2 PS/2 Keyboard Uses a synchronous serial protocol What does that mean? What does that mean?
3
3 Two lines Clock (10-20KHz) Clock (10-20KHz) Data Data Pulled high by resistors Asserted low Takes away your pushbutton unless you do clever stuff Physical Interface
4
4Bidirectional Kybd-to-host and host-to-kybd on same wires CAPS LOCK light for example CAPS LOCK light for example To send, host takes data line low Sometimes take clk low first Sometimes take clk low first Then kybd starts clocking Host sends data synced to kybd clock Host sends data synced to kybd clock You shouldn’t need to send to kybd
5
5Protocol 11 bits Start – always 0 Start – always 0 8 bits of data 8 bits of data Odd parity bit Odd parity bit Stop bit – always 1 Stop bit – always 1 Clocked by keyboard Value should be latched on negedge of keyboard clock Illustration from http://www.beyondlogic.org/keyboard/keybrd.htm
6
6 What is Sent ASCII is not sent Scan codes for keys Least significant bit first Least significant bit first Illustration from http://www.beyondlogic.org/keyboard/keybrd.htm
7
7 Scan Codes Normally translated by software You remap your keys, for example You remap your keys, for example Software takes care of Shift, caps lock, control Shift, caps lock, control
8
8 Some Scan Codes Long Two code sequence common Have a look at Break key!
9
9 Even More Complicated Scan code generated when you press And when you release Two bytes: F0 followed by key scan code Two bytes: F0 followed by key scan code Example: Example: Space pressed, 29 sent Space released, F0 29 sent If you hold key, scan code repeated
10
10Resources 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
11 My Verilog I will post my Verilog code on the web site You should memory-map the character code register You should memory-map the character code register Maybe add a single bit register to indicate that new character has arrived Maybe add a single bit register to indicate that new character has arrived
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.