Digilent DIO4 User Manual
Page 4

DIO4 Reference Manual
Digilent, Inc.
www.digilentinc.com
Page
4
T
CK
T
SU
Edge 0
Edge 10
CLK
DATA
T
HLD
T
CK
'1' stop bit
'0' start bit
T
CK
T
SU
Clock time
Data-to-clock setup time
30us
5us
50us
25us
Symbol
Parameter
Min
Max
T
HLD
Clock-to-data hold time
5us
25us
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).
PS2-style keyboards use scan codes to
communicate key press data (nearly all
keyboards in use today are PS2 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, a “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 code (and
they may send more than one scan code). When
an extended key is released, an “E0 F0” key-up
code is sent, followed by the scan code. Scan
codes for most keys are shown in the figure
below.
A host device can also send data to the
keyboard. Below is a short list of some often-
used commands.
ED
Set Num Lock, Caps Lock, and Scroll Lock
LEDs. After receiving an “ED”, the keyboard
returns an “FA”; then the host sends a byte to
set LED status: Bit 0 sets Scroll Lock; bit 1 sets
Num Lock; and Bit 2 sets Caps lock. Bits 3 to 7
are ignored.
EE
Echo. Upon receiving an echo command, the
keyboard replies with “EE”.
F3
Set scan code repeat rate. The keyboard
acknowledges receipt of an “F3” by returning an
“FA”, after which the host sends a second byte
to set the repeat rate.
FE
Resend. Upon receiving FE, the keyboard re-
sends the last scan code sent.
FF
Reset. Resets the keyboard.
ESC
76
` ~
0E
TAB
0D
Caps Lock
58
Shift
12
Ctrl
14
1 !
16
2 @
1E
3 #
26
4 $
25
5 %
2E
Q
15
W
1D
E
24
R
2D
T
2C
A
1C
S
1B
D
23
F
2B
G
34
Z
1Z
X
22
C
21
V
2A
B
32
6 ^
36
7 &
3D
8 *
3E
9 (
46
0 )
45
- _
4E
= +
55
BackSpace
66
Y
35
U
3C
I
43
O
44
P
4D
[ {
54
] }
5B
\ |
5D
H
33
J
3B
K
42
L
4B
; :
4C
' "
52
Enter
5A
N
31
M
3A
, <
41
> .
49
/ ?
4A
Shift
59
Alt
11
Space
29
Alt
E0 11
Ctrl
E0 14
F1
05
F2
06
F3
04
F4
0C
F5
03
F6
0B
F7
83
F8
0A
F9
01
F10
09
F11
78
F12
07
E0 75
E0 74
E0 6B
E0 72