Cirrus Logic EP93xx User Manual
Page 770
26-8
DS785UM1
Copyright 2007 Cirrus Logic
Keypad Interface
EP93xx User’s Guide
2
6
2
6
26
PRSCL:
Row/Column counter pre-scaler load value. This value is
used to pre-load the RC pre-scale counter. The pre-scale
down counter counts the number of 1 MHz clocks for
every step of the RC counter. When the pre-scale counter
reaches 0, the RC counter steps. A pre-load value of
0x002 will cause the RC counter to step every three
clocks. The PRSCL value should never be set to 0x000 or
0x001, except for high speed counter tests, as the key
state machine will not resolve keys properly for these
values.
Key array scan time = clock period * (PRSCL+1)[64keys]
Example scan time for PRSCL[9:0] = 0x0FA
Scan time = 1
μ
s * (249 +1) = 16 ms
if de-bounce = 0xFC, key detection interrupt is fired in
approximately 48 ms.
Array scan time can range from 64
μ
sec. to 65.536 ms.
KeyDiagnostic
Address:
0x808F_0004
Default:
0x0000_0000
Definition:
Diagnostic key value register.
Bit Descriptions:
RSVD:
Reserved. Unknown during read.
DIAG:
Diagnostic key value. When diagnostic mode is enabled
(KeyScanInit.DIAG high) and this register is written, the
Row Column scan value is used to directly control the chip
key matrix scan drivers and receivers. Results are read
back via the KeyRegister.K bit.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RSVD
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RSVD
DIAG