
M
Wired Remote Controllers
14
______________________________________________________________________________________
Figure 10. Power-Up, Jack Detect, and Keypress Example
1
2
3
4
5
6
7
8
9
10
11
12
DATA ENTERED
RESET DATA (POR)
TIME
TIME
V
INT
VSENSE
t1
t2
t3
t4
t5
t6
WRITE
POINTER
READ
POINTER
SHDN
TRANSITION FROM
LOW TO HIGH.
1
WRITE
POINTER
READ
POINTER
OPEN CIRCUIT DETECTED
AND ENTERED IN FIFO.
DURATION
TIMER STARTS.
2
WRITE
POINTER
READ
POINTER
JACK INSERTION DETECTED AND
ENTERED IN FIFO. FINAL
DURATION TIME FROM 2
IS STORED. NEW DURATION TIME
FOR JACK DETECTION STARTS.
3
WRITE
POINTER
READ
POINTER
JACK REMOVAL DETECTED (OPEN
CIRCUIT) AND STORED IN FIFO.
FINAL DURATION TIME FROM 3
IS STORED. NEW DURATION TIME
FOR OPEN CIRCUIT STARTS.
4
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
TIMER...
0x00
0x00
0xFF
JD CODE
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
TIMER...
0x00
0x00
0x00
0x00
t
1
/32ms
0x00
0x00
0xFF
JD CODE
0xFF
0xFF
0xFF
0xFF
0xFF
0xFF
t
1
/32ms
t
2
/32ms
TIMER...
0x00
0x00
0x00
0x00
0x00
JACK INSERTION DETECTED AND
ENTERED IN FIFO. FINAL
DURATION TIME FROM 4
IS STORED. NEW DURATION TIME
FOR JACK DETECTION STARTS.
5
μ
P READS UNTIL FIFO EMPTY
FLAG IS REACHED. FURTHER
READS RESULT IN JD CODE AND
CURRENT TIME DURATION
OF JD CODE BEING SENT.
6
KEY PRESS DETECTED AND
ENTERED IN FIFO. FINAL TIME
DURATION FROM 6 IS STORED.
NEW DURATION TIME FOR
KEYPRESS STARTS.
7
μ
P READS UNTIL FIFO EMPTY
FLAG IS REACHED. FURTHER
READS RESULT IN KEY_ CODE
AND CURRENT TIME DURATION OF
KEY_ CODE BEING SENT.
8
WRITE
POINTER
READ
POINTER
0xFF
JD CODE
0xFF
JD CODE
0xFF
0xFF
0xFF
t
1
/32ms
t
2
/32ms
t
3
/32ms
TIMER...
0x00
0x00
0x00
0x00
0xFF
WRITE
POINTER
READ
POINTER
0xFF
0xFF
0xFF
0xFF
0xFF
TIMER...
0x00
0x00
0xFF
0x00
0x00
0xFF
JD CODE
0x00
0x00
0x00
WRITE
POINTER
READ
POINTER
0xFF
0xFF
0xFF
0xFF
0xFF
TIMER...
0x00
0xFF
JD CODE
KEY_ CODE
0x00
0x00
0x00
0x00
0x00
t
4
/32ms
WRITE
POINTER
READ
POINTER
0xFF
0xFF
0xFF
0xFF
0xFF
TIMER...
0x00
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
0x00
KEY_ CODE
KEY RELEASE DETECTED (JD
CODE) AND ENTERED IN FIFO.
FINAL DURATION TIME FROM 8 IS
STORED. NEW DURATION TIME
FOR JD CODE STARTS.
9
μ
P READS UNTIL FIFO EMPTY
FLAG IS REACHED. FURTHER
READS RESULT IN JD CODE AND
CURRENT TIME DURATION
OF JD CODE BEING SENT.
10
11
12
JACK REMOVAL DETECTED (OPEN CIRCUIT)
AND STORED IN FIFO. FINAL
DURATION TIME FROM 10
IS STORED. NEW DURATION TIME
FOR OPEN CIRCUIT STARTS.
μ
P READS UNTIL FIFO EMPTY
FLAG IS REACHED. FURTHER
READS RESULT IN 0xFF AND
CURRENT TIME DURATION
BEING SENT.
WRITE
POINTER
READ
POINTER
WRITE
POINTER
READ
POINTER
WRITE
POINTER
READ
POINTER
WRITE
POINTER
READ
POINTER
0xFF
0xFF
0xFF
TIMER...
0x00
0x00
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
t
5
/32ms
KEY_ CODE
JD CODE
0xFF
0xFF
0xFF
TIMER...
0x00
0x00
0xFF
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
JD CODE
0xFF
0xFF
0xFF
TIMER...
0x00
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
JD CODE
0xFF
t
6
/32ms
0xFF
0xFF
0xFF
TIMER...
0x00
0xFF
0xFF
0xFF
0xFF
0x00
0x00
0x00
0x00
0x00
0x00
0xFF
*BOTH POINTERS WRAP AROUND TO THE TOP WHEN THEY GET TO THE END OF FIFO.
*