AVAGO ADNS-5700-H5ND Optical navigation technology Datasheet

ADNS-5700
Optical Mouse Sensor
Data Sheet
Description
Features
The ADNS-5700-XXXX is a compact, one chip USB optical
mouse sensor for implementing a non-mechanical tracking engine for computer mice.
 Optical navigation technology
It is based on optical navigation technology that measures
changes in position by optically acquiring sequential
surface images (frames) and mathematically determining
the direction and magnitude of movement.
 High speed motion detection up to 30 inches per
second (ips) and acceleration of 8g
The sensor is in a 18 -pin optical package that is designed
to be used with the ADNS-5100-001 trim lens the ADNS5200 Clip and the HLMP-EG3E-xxxxx LED. These parts
provide a complete and compact mouse sensor. There are
no moving parts, and precision optical alignment is not
required, facilitating high volume assembly.
The output format is USB. This device meets HID Revision
1.11 specification and is compatible with USB Revision 2.0
specification.
 Default resolution 1000cpi, selectable resolution
800cpi or 1200cpi through different part number
 Accurate navigation over a wide variety of surfaces
 No precision optical alignment needed
 Wave Solderable
 Single 5.0 volt power supply
 Meets USB Revision 2.0 specification
 Meets HID Revision 1.11
 Tilt Wheel function
 Optical or Mechanical Z-Wheel function
 12bits motion reporting
Frame rate is varied internally to the sensor to achieve
tracking and speed performance, eliminating the need for
the use of many registers.
 2 axis sensor rotation : 0° or 270°
Default resolution is specified as 1000 counts per inch,
with rates of motion up to 30 inches per second. Buttons
and tilt wheel features are also available.
 Mice for desktop PC’s, Workstations, and portable PC’s
A complete mouse can be built with the addition of a PC
board, switches and mechanical Z-wheel, plastic case and
cable.
Theory of Operation
The ADNS-5700-XXXX is based on Optical Navigation
Technology. It contains an Image Acquisition System (IAS),
a Digital Signal Processor (DSP) and USB stream output.
The IAS acquires microscopic surface images via the
lens and illumination system provided by the ADNS-5100001 trim lens, ADNS-5200 clip and HLMP-EG3E-xxxxx LED.
These images are processed by the DSP to determine the
direction and distance of motion. The DSP generates the
x and y relative displacement values which are converted
to USB motion data.
Applications
 Trackballs
 Integrated input devices
Pinout 18pin PDIP
ADNS-5700-XXXX
Pin Number
3 button
H3MB, H3NB
H4MB, H4NB
5 button
H5MD, H5ND
1
D+
D+
D+
2
D-
D-
D-
3
ZA
ZA
ZA
4
ZB
ZB
ZB
5
LED_GND
LED_GND
LED_GND
6
XY_LED
XY_LED
XY_LED
7
VDD5
VDD5
VDD5
8
GND
GND
GND
9
REG0
REG0
REG0
10
VDD3
VDD3
VDD3
11
NC
TL
B4
12
NC
TR
OSC_IN
13
GND
GND
GND
14
OSC_IN
OSC_IN
OSC_OUT
15
OSC_OUT
OSC_OUT
B3
16
B3
B3
B2
17
B2
B2
B1
18
B1
B1
B5
Pin description table
Product Number
Pin Name
Description
D+
USB D+ line
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
D-
USB D- line
ZA
ZA Optical wheel quadrature input
ZB
ZB Optical wheel quadrature input
LED_GND
LED ground
XY_LED
XY_LED Input
VDD5
5 Volt Power (USB VBUS)
GND
System ground
ZLED
Z-Wheel LED input
REG0 / VDD3
3 Volt Power VDD3
NC
No Connect
OSC_IN
Ceramic resonator input
OSC_OUT
Ceramic resonator output
B5
Fifth Button
B4
Fourth Button
B3
Middle button input
B2
Right button input
Figure 1a. Package pinout
B1
Left button input
Note : See table for Part number marking
Date Code
Lot Code
Item
Marking
Product Number
A5700
Remarks
Date Code
XYYWWZ
X = Subcon Code
YYWW = Date Code
Z = Sensor Die Source
Lot Code
VVV
Numeric
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY RIGHTS.
2
Strap (Jumper) Table
The PID/string strap matrix is the following:
Resolution
(cpi)
Buttons
Tilt
Wheel
Z-Wheel
Sensor
Position
VID
PID
Mfg
String
Product
String
Standard 3
buttons
1000
3
No
Mechanical
0°
0x192F
0x0416
Null
USB Optical
Mouse
ADNS-5700-H4MB
Standard 3
buttons
1000
3
TW
Mechanical
0°
0x192F
0x0416
Null
USB Optical
Mouse
ADNS-5700-H5MD
Standard 5
buttons
1000
5
No
Mechanical
0°
0x192F
0x0616
Null
USB Optical
Mouse
ADNS-5700-H3NB
Standard 3
buttons
1000
3
No
Mechanical
270°
0x192F
0x0416
Null
USB Optical
Mouse
ADNS-5700-H4NB
Standard 3
buttons
1000
3
TW
Mechanical
270°
0x192F
0x0416
Null
USB Optical
Mouse
ADNS-5700-H5ND
Standard 5
buttons
1000
5
No
Mechanical
270°
0x192F
0x0616
Null
USB Optical
Mouse
Part Number
Description
ADNS-5700-H3MB
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
The XY motion reporting direction when is lens is attached to the sensor is shown in Fig 1b for 0° and Fig 1c for 270°
sensor orientation.
Top Xray View of Mouse
Y
RB
18
17
16
15
14
13
12
11
10
1
2
3
4
5
6
7
8
9
POSITIVE X
Figure 1b. Package pinout at 0°
3
P
O
S
I
T
I
V
E
LB
RB
18
17
16
15
14
13
12
11
10
LB
Y
1
2
3
4
5
6
7
8
9
P
O
S
I
T
I
V
E
Top Xray View of Mouse
POSITIVE X
Figure 1c. Package pinout at 270°
Pin 1
(2.54)
0.100
(0.46)
0.018
Feature for
Illustration only
5.60 ± 0.03 (At Base)
0.220 ± 0.001
(3.40)
0.134
(1q)
SECTION A-A
12.85 (At shoulder)
0.506
50q
20.30
0.799
1.00
0.039
9.10
0.358
4.30
0.169
0.25
0.010
5.15
0.203
DETAIL1
Scale 10:1
see DETAIL1
6.19
0.244
4.55
0.179
0.40
0.016 Lead Width
1.00 Lead Offset
0.039
A
7.28 ± 0.03
0.287 ± 0.001
Pin 1
Clear Optical Path
11.46
0.451
2X 90 ± 3q
(6.43)
0.253
0.25
0.010
12.85 ± 0.54
(At lead tip)
0.506 ± 0.021
Protective Kapton Tape
A
(1.00)
0.039
2.00 Lead Pitch
0.079
Notes:
1. Dimensions in milimeter / inches.
2. Dimensional tolerance: ± 0.1mm.
3. Coplanarity of leads: 0.1mm.
4. Lead pitch tolerance: ± 0.15mm.
5. Non-cumulative pitch tolerance: ± 0.15mm.
6. Angular tolerance: ± 3q
7. Maximum flash: 0.2mm.
8. Brackets () indicate reference dimension.
9. Document Number: LED_SOC_18A_Pkg_001
Figure 2. Package outline drawing
CAUTION: It is advised that normal static precautions be taken in handling and assembly
of this component to prevent damage and/or degradation which may be induced by ESD.
4
1.09 ± 0.03
0.043 ± 0.001
10.35
0.408
2X ∅ 3.05
0.120
Recommended
7.57
0.298
5.03
0.198
12.95
0.510
2.25
0.089
0.35
0.014
2X
∅ 1.00
0.039
40.59
1.598
Recommended
38.52
1.516
28.09
1.106
26.50
1.043
Clear Zone
18X
1.00
0.039
∅ 0.80
0.031
Recommended
0
12.61
0.496
10.60
0.417
2.00
2.65 0.079
0.104
0
Pin #1 Hole
2.00
0.079
Notes:
1. Dimensions in milimeter / inches and for reference only.
Figure 3. Recommended PCB mechanical cutouts and spacing (Top view)
Note: The recommended pin hole dimension of the sensor is 0.7 mm.
Shown with ADNS-5100-001 trim lens, ADNS-5200 clip and HLMP-EG3E-xxxxx.
Avago Technologies provides an IGES file drawing describing the base plate molding features for lens and PCB alignment. Stand-off of the base plate shall not be larger than 5mm.
5
42.16
1.660
Surface
PCB
B
Top of Sensor
to Surface
10.59
0.417
B
Top of PCB
to surface
7.45
Sensor
0.293
PCB
13.10
0.516
LED
Clip
Lens
13.89
Top of Clip
0.547
2.40
0.094
Lens reference plane to Tracking surface (Z)
Notes:
1. All dimensions in millimeters/inches.
2. All tolerance ±0.1 mm.
Figure 4. 2D assembly drawing of ADNS-5700-XXXX
6
SECTION B-B
LED
LED CLIP
Sensor
PCB
Lens
(Full flange shown)
Customer Supplied
Base Plate with
recommended
features per IGES
3D Model
Figure 5. Exploded view drawing
The components interlock as they are mounted onto
defined features on the base plate.
The ADNS-5700 sensor is designed for mounting on a
through hole PCB, looking down. The aperture stop and
features on the package align it to the lens (See figure 3).
The ADNS-5100-001 trim lens provides optics for the
imaging of the surface as well as illumination of the surface
at the optimum angle. Lens features align it to the sensor,
base plate, and clip with the LED.
7
The ADNS-5200 clip holds the LED in relation to the lens.
The LED must be inserted into the clip and the LED’s leads
formed prior to loading on the PCB. The clip interlocks the
sensor to the lens, and through the lens to the alignment
features on the base plate.
The HLMP-EG3E-xxxxx
illumination.
LED
is
recommended
for
Block Diagram
USB
PORT
D
ZA
Z WHEEL
OSCILLATOR
LED
B1
B2
BUTTONS
B3
TL/B4
TR/B5
D+
CONTROL AND
I/O PROCESSOR
ZB
ZLED
OSC_IN
OSCILLATOR
OSC_OUT
LGND
LED
DRIVE
POWER
ON
RESET
IMAGE
PROCESSOR
R
VE
G
O
LU
TL
AA
GT
EO
R
XY_LED
Vdd3
GND
VOLTAGE
REFERENCE
Vdd5
GND
5 VOLT
POWER
GND
Figure 6. Block Diagram
PCB Assembly Considerations
1. Insert the sensor and all other electrical components
into PCB.
2. Bend the LED leads 90 degrees and then insert the LED
into the assembly clip until the snap feature locks the
LED base.
3. Insert the LED/clip assembly into PCB.
4. This sensor package is only qualified for wave-solder
process.
5. Wave Solder the entire assembly in a no-wash solder
process utilizing solder fixture. The solder fixture
is needed to protect the sensor during the solder
process. It also sets the correct sensor to PCB distance,
as the lead shoulders do not normally rest on the PCB
surface. The fixture should be designed to expose
the sensor leads to solder while shielding the optical
aperture from direct solder contact. A solder fixture
MUST be used to set the correct sensor to PCB distance.
6. Place the lens onto the base plate.
8
7. Remove the protective Kapton tape from optical
aperture of the sensor. Care must be taken to
keep contaminants from entering the aperture.
Recommend not placing the PCB facing up during the
entire mouse assembly process. Recommend to hold
the PCB first vertically for the Kapton removal process.
8. Insert PCB assembly over the lens onto base plate
aligning post to retain PCB assembly. The sensor
aperture ring should self-align to the lens.
9. The optical position reference for the PCB is set by the
base plate and lens. Note that the PCB motion due to
button presses must be minimized to maintain optical
alignment.
10. Install mouse top case. There MUST be feature in the
top case to press down onto the clip to ensure all
components are interlocked to correct vertical height
Design considerations for improving ESD Performance
The table below shows typical values assuming base plate
construction per the Avago Technologies supplied IGES
file and ADNS-5100-001 trim lens. Stand-off of the base
plate shall not be larger than 5mm.
Typical Distance
ADNS-5100-001
Creepage
17.9mm
Clearance
9.2mm
Note that the lens material is polycarbonate or polystyrene HH30, therefore, cyanoacrylate based adhesives
should not be used as they will cause lens material deformation
Sensor
PCB
LED
Lens/Light Pipe
Base Plate
Surface
Figure 7. Typical Application
9
Clip
+3.3 V
Vdd 5 V
C2
C2, C3 = 1 nF
C4 = 4.7 uF
C5 = 3.3 uF
C4
C5
10
7
VDD 3 VDD 5
C3
8 GND
13
Vdd 5 V
LED_GND 5
R1
GND
XY_LED 6
+3.3 V
NAV LED
OSC IN 14
1.5K
33 
USB D -
33 
USB D +
OSC OUT 15
2 D1 D+
C6
100 pF
C7
100 pF
9 ZLED
Vdd
QA
3 ZA
B 1 18
QB
4 ZB
B 2 17
ZLED
Guard
GND
R1 value (ohm)
LED Bin
59.0
K
59.0
L
59.0
M
59.0
N
59.0 to 66.5
P
59.0 to 78.7
Q
59.0 to 93.1
R
59.0 to 110
S
59.0 to 143
T
B 3 16
Z - encoder
27 K
27 K
See pinout table
11
12
Figure 8a. Application Circuit with ADNS-5700-HxxB with Optical Z-Wheel
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
 All caps (except C4) MUST be as close to the sensor pins as possible.
 C3 and C5 connected to pin 10 must be terminated at pin 13.
 Caps should be ceramic.
 Caps should have less than 5 nH of self inductance.
 Caps connected to VDD3 MUST have less than 0.2 ESR.
 1.5k resistor should be ± 1% tolerance.
Surface mount parts are recommended.
10
+3.3 V
Vdd 5 V
C2, C3 = 1 nF
C4 = 4.7 uF
C5 = 3.3 uF
C2
C4
C5
C3
C1
C6
10
7
VDD 3 VDD 5
9 REG 0
8 GND
Vdd 5 V
GND 13
LED_GND 5
R1
+3.3 V
XY_LED 6
1.5 K
USB D -
NAV LED
OSC IN 14
33 
Guard
GND
2 DC7
100 pF
USB D +
33 
OSC OUT 15
1 D+
C8
100 pF
Vdd 5 V
Mechanical
ZWheel
3 ZA
B1 18
4 ZB
B2 17
R1 value (ohm)
LED Bin
59.0
K
59.0
L
59.0
M
59.0
N
59.0 to 66.5
P
59.0 to 78.7
Q
59.0 to 93.1
R
59.0 to 110
S
59.0 to 143
T
B3 16
11
See pinout table
12
Figure 8b. Application Circuit with ADNS-5700-HxxB with Mechanical Z-Wheel
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
 All caps (except C4) MUST be as close to the sensor pins as possible.
 C1 and C6 connected to pin 10 must be terminated at pin 13.
 C3 and C5 connected to pin 9 must be terminated at pin 8.
 Caps should be ceramic.
 Caps should have less than 5 nH of self inductance.
 Caps connected to VDD3 MUST have less than 0.2 ESR.
 1.5k resistor should be ± 1% tolerance.
Surface mount parts are recommended.
11
+3.3 V
Vdd 5 V
C1, C2, C3 = 1 nF
C4 = 4.7 uF
C5, C6 = 3.3 uF
C2
C4
C5
C1
C3
C6
10
7
VDD 3 VDD 5
9 REG 0
8 GND
Vdd 5 V
GND 13
LED_GND 5
R1
+3.3 V
XY_LED 6
1.5 K
NAV LED
OSC IN 12
USB D -
33 
C7
100 pF
USB D +
Guard
GND
2 D-
33 
OSC OUT 14
1 D+
C8
100 pF
B5 18
B4 11
Vdd
3 ZA
4 ZB
Mechanical
ZWheel
B3 15
B2 16
B1 17
R1 value (ohm)
LED Bin
59.0
K
59.0
L
59.0
M
59.0
N
59.0 to 66.5
P
59.0 to 78.7
Q
59.0 to 93.1
R
59.0 to 110
S
59.0 to 143
T
Figure 8c. Application Circuit with ADNS-5700-H5MD and ADNS-5700-H5ND with 5 Button and Mechanical Z-Wheel
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
 All caps (except C4) MUST be as close to the sensor pins as possible.
 C1 and C6 connected to pin 10 must be terminated at pin 13.
 C3 and C5 connected to pin 9 must be terminated at pin 8.
 Caps should be ceramic.
 Caps should have less than 5 nH of self inductance.
 Caps connected to VDD3 MUST have less than 0.2 ESR.
 1.5k resistor should be ± 1% tolerance.
12
Regulatory Requirements
 Passes FCC B and worldwide analogous emission limits
when assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
 Passes EN61000-4-4/IEC801-4 EFT tests when
assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
 UL flammability level UL94 V-0.
 Provides sufficient ESD creepage/clearance distance
to withstand discharge up to 15kV when assembled
into a mouse with lens according to usage instructions
above.
Absolute Maximum Ratings
Parameter
Symbol
Minimum
Maximum
Units
Storage Temperature
TS
-40
85
°C
Operating Temperature
TA
-15
55
°C
260
°C
5.5
V
2
kV
All pins, JESD22-A114
Lead Solder Temp
Supply Voltage
VDD
-0.5
ESD
Notes
For 7 seconds, 1.6mm below seating plane.
Input Voltage
VIN
-0.5
VDD+0.5
V
All I/O pins except OSC_IN and OSC_OUT,
D+, D-
Input Voltage
VIN
-1.0
4.6
V
D+, D-, AC waveform, see USB specification
(7.1.1)
Input Voltage
VIN
-0.5
3.6
V
OSC_IN and OSC_OUT
Input Short Circuit Voltage
VSC
0
VDD
V
D+, D-, see USB specification (7.1.1)
Typical
Recommended Operating Conditions
Parameter
Symbol
Minimum
Operating Temperature
TA
0
Power supply voltage
VDD
4.25
Power supply voltage
Vddm
4
Power supply rise time
VRT
0.003
Supply noise
VN
Velocity
Vel
Acceleration
Acc
Clock Frequency
fclk
Resonator Impedance
XRES
Distance from lens reference
plane to surface
Z
Frame Rate
13
Maximum
Units
40
°C
5.0
5.25
Volts
For accurate navigation and
proper USB operation
5.0
5.25
Volts
Maintains communication to
USB host and internal register
contents.
100
ms
100
mV
30
23.64
2.3
24
2.4
4000
Notes
Peak to peak within 0-80 MHz
bandwidth
ips
8
g
0.5g from Rest
24.36
MHz
Due to USB timing constraints
55

2.5
mm
See Figure 9
fps
Internally adjusted by sensor
Sensor
LENS
Z
OBJECT SURFACE
Figure 9. Distance from lens reference plane to object surface
AC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V
Parameter
Symbol
Wakeup delay from rest
mode due to motion.
Max.
Units
T WUPP
2
ms
Power up delay
TPUP
50
ms
Debounce delay on button
inputs
TDBB
5
10
17
ms
“Maximum” specified at 8ms polling
rate.
Scroll wheel sampling period
TSW
150
200
300
μs
ZA PIN for optical scroll wheel
1.9
2.0
2.8
ms
ZA PIN for mechanical scroll wheel
60
mA
Max. supply current during a VDD ramp
from 0 to 5.0 V with > 500 s rise time.
Does not include charging currents for
bypass capacitors.
pF
OCS_IN, OSC_OUT to GND
Transient Supply Current
IDDT
Input Capacitance (OSC Pins)
COSC_IN
Min.
Typical
50
Notes
USB Electrical Specifications
Electrical Characteristics over recommended operating conditions.
Parameter
Symbol
Min.
Max.
Units
Notes
Output Signal Crossover Voltage
VCRS
1.5
2.0
V
CL = 200 to 600 pF (see Figure 10)
Input Signal Crossover Voltage
VICRS
1.2
2.1
V
CL = 200 to 600 pF (see Figure 10)
Output High
VOH
2.8
3.6
V
with 15 kohm to Ground and 7.5 k to Vbus
on D- (see Figure 11)
Output Low
VOL
0.0
0.3
V
with 15 kohm to Ground and 7.5 k to Vbus
on D- (see Figure 11)
Single Ended Input
VSEI
0.8
V
Input High (Driven)
VIH
2.0
Input High (Floating)
VIHZ
2.7
Input Low
VIL
Differential Input Sensitivity
VDI
0.2
Differential Input Common Mode
Range
VCM
0.8
Single Ended Receiver Threshold
VSE
0.8
Transceiver Input Capacitance
CIN
14
V
3.6
V
0.8
V
7.5k to VDD5
V
|(D+)-(D-)| See Figure 12
2.5
V
Includes VDI, See Figure 12
2.0
V
12
pF
D+ to VBUS, D- to VBUS
USB Timing Specifications
Timing Specifications over recommended operating conditions.
Parameter
Symbol
Min.
D+/D- Transition rise time
TLR
75
D+/D- Transition rise time
TLR
D+/D- Transition fall time
TLF
D+/D- Transition fall time
TLF
Rise and Fall time matching
TLRFM
Wakeup delay from USB suspend
mode due to buttons push
Units
Notes
ns
CL = 200 pF (10% to 90%), see Figure 10
ns
CL = 600 pF (10% to 90%), see Figure 10
ns
CL = 200 pF (90% to 10%), see Figure 10
300
ns
CL = 600 pF (90% to 10%), see Figure 10
125
%
TR/TF; CL = 200 pF; Excluding the first transition from the Idle State
T WUPB
17
ms
Delay from button push to USB operation
Only required if remote wakeup enabled
Wakeup delay from USB suspend
mode due to buttons push until
accurate navigation
T WUPN
50
ms
Delay from button push to navigation
operation
Only required if remote wakeup enabled
USB reset time
Treset
18.7
Data Rate
tLDRATE
1.4775
1.5225
Mb/s
Average bit rate, 1.5 Mb/s +/- 1.5%
Receiver Jitter Tolerance
tDJR1
-75
75
ns
To next transition, see Figure 13
Receiver Jitter Tolerance
tDJR2
-45
45
ns
For paired transitions, see Figure 13
Differential to EOP Transition Skew
tLDEOP
-40
100
ns
See Figure 14
EOP Width at Receiver
tLEOPR
670
ns
Accepts EOP, see Figure 14
Source EOP Width
tLEOPT
1.25
Width of SE0 interval during
Differential Transition
tLST
Differential Output Jitter
tUDJ1
Differential Output Jitter
tUDJ2
VOH
Max.
300
75
80
s
1.50
s
210
ns
See Figure 11
-95
95
ns
To next transition, see Figure 15
-150
150
For paired transitions, see Figure 15
D+
90%
90%
VCRS
VOL
10%
Figure 10. Data Signal Rise and Fall Times
15
10%
DTLR
TLF
Rise Time
Fall Time
Minimal Reflectance
and Ringing
One Bit Time (1.5 MB/s)
VOH (min)
VOH (min)
VIL (max)
VOL (max)
GND
tLST
Figure 11. Data Signal Voltage Levels
Differential Input Voltage Range
Differential Output
Crossover
Voltage Range
-1.0
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
4.6
Input Voltage Range (volts)
Figure 12. Differential Receiver Input Sensitivity vs. Common Mode Input Range
TPERIOD
TDJR
TDJR1
Consecutive Transitions
N * TPERIOD + TDJR1
Paired Transitions
N * TPERIOD + TDJR2
Figure 13. Receiver Jitter Tolerance
16
TDJR2
TPERIOD
Crossover Point
Crossover Point
Extended
Differential
Data Lines
Differential Data
to SE0 Skew
N * TPERIOD + TLDEOP
Source EOP Width: TLEOPT
Receiver EOP Width: TLEOPR
Figure 14. Differential to EOP Transition Skew and EOP Width
TPERIOD
Differential
Data Lines
Consecutive Transitions
N * TPERIOD + TUDJ1
Paired Transitions
N * TPERIOD + TUDJ2
Figure 15. Differential Output Jitter
17
DC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V.
Parameter
Symbol
System Current, mouse moving
Minimum Typical
Maximum Units
Notes
IDD5
100
mA
Includes XY_LED current
System Current, mouse not moving
IDD5N
100
mA
Includes XY_LED current
System current, USB suspend mode,
Remote Wakeup Enabled
IDD5S
500
A
Includes XY_LED current and
D- pullup resistor.
Supply current (Sensor only),
mouse moving
IDDS
12
15
mA
No load on B1-B5, XY-LED, ZA, ZB,
D+, D-
Supply current (Sensor only),
mouse not moving
IDDSN
11
14
mA
No load on B1-B5, XY-LED, ZA, ZB,
D+, D-
Sensor supply current, USB suspend
mode
IDDSS
260
A
No load on B1-B5, XY-LED, ZA, ZB,
D+,D-
XY_LED current
ILED
49
mA
Typical at Rbin 59ohm with binP
LED. Maximum DC current allowed
through XY_LED pin and LED.
XY_LED Output Low Voltage
VOL
1.1
V
Refer to Figure 16
Input Low Voltage
VIL
0.5
V
Pins: ZA, ZB, B1-B5,
VIL max of 0.5VDC is at VDD min of
4VDC, with a typical of 0.8VDC at
VDD of 5VDC
Input High Voltage
VIH
V
Pins: ZA, ZB, B1-B5
Input Hysteresis
VHYST
mV
Pins: B1-B5, OPT 0, OPT 1
Button Pull Up Current
BIOUT
A
Pins: B1-B5, OPT 0, OPT 1
40
0.6*VDD
285
125
275
500
Buttons
Debounce Algorithm
The minimum time between button presses is TDBB.
Buttons B1 through B5 are connected to a Schmidt trigger
input with 100 uA current sources pulling up to +3 volts
during normal, sleep and USB suspend modes.
 Button inputs B1, B2, B3, B4, B5 are sampled every 2ms.
18
 Three consecutive low create a button press event.
 Three consecutive high create a button release event.
Typical Performance Characteristics
Performance Characteristics over recommended operating conditions. Typical values at 25 °C, VDD=5.0 V, 24MHz
Parameter
Symbol
Path Error
(Deviation)
PError
Minimum Typical
Maximum Units
0.5
Notes
%
Average path error as percent of total 2.5” travel on
various standard surfaces
The following graphs are the typical performance of the ADNS-5700 sensor, assembled as shown in the 2D assembly
drawing with the ADNS-5100-001 trim lens/Prism, the ADNS-5200 clip, and the HLMP-EG3E-xxxxx LED.
Resolution vs Z-Height on Standard Surfaces (ADNS-5700-XXXX)
1200
White Paper
Manila
Spruce Wood
Black Formica
Resolution(cpi)
1000
800
600
400
200
0
1.6
1.8
2
2.2
2.4
2.6
Z-Height (mm)
2.8
3
3.2
Normalised response
Figure 16. Typical Resolution vs. Z Height
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
400
Relative Wavelength Response
500
600
700
Wavelength in nm
800
900
1000
Figure 17. Wavelength responsivity.[1] (Comparative Surfaces)
Note:
1. The ADNS-5700 is designed for optimal performance when used with the HLMP-EG3E-xxxxx (Red LED 639nm).
2. Z = distance from Lens Reference Plane to Surface.
3. DOF = Depth of Field
19
Configuration after Power up (Data Values)
State from Figure 9-1 of USB spec:
Powered or Default
Address or Configured
State from Figure 9-1 of USB spec:
Suspended from any other state
B1
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
B2
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper
B3
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper
B4
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
B5
VDD3 or GND if used as VID/PID jumper
else pullup active for button use
VDD3 or GND if used as VID/PID jumper
else pullup active for button use
D-
USB I/O
Hi-Z input
D+
USB I/O
Hi-Z input
OSC_IN
24MHz
Logic ‘1’
OSC_OUT
24MHz
Logic ‘1’
XY_LED
Always ON / Pulsing
Pulled high (off )
ZB
Hi-Z input
Hi-Z input
ZA
Hi-Z if ZA tied to GND
Hi-Z input
Z_LED
Hi-Z input
Hi-Z input
Signal
Function
20
USB Commands
Mnemonic
Command
Notes
USB_RESET
D+/D- low > 18.7us
Device Resets; Address=0
USB_SUSPEND
Idle state > 3mS
Device enters USB low-power mode
USB_RESUME
Non-idle state
Device exits USB low-power mode
Get_Status_Device
80 00 00 00 00 00 02 00
Normally returns 00 00, Self powered 00 00,
Remote wakeup 02 00
Get_Status_Interface
81 00 00 00 00 00 02 00
Normally returns 00 00
Get_Status_Endpt0
82 00 00 00 xx 00 02 00
OUT: xx=00, IN: xx=80
Normally returns 00 00
Get_Status_Endpt1
82 00 00 00 81 00 02 00
Normally returns 00 00, Halt 00 01
Get_Configuration
80 08 00 00 00 00 01 00
Return: 00=not config., 01=configured
Get_Interface
81 0A 00 00 00 00 01 00
Normally returns 00
Get_Protocol
A1 03 00 00 00 00 01 00
Normally returns 01, Boot protocol 00
Get_Desc_Device
80 06 00 01 00 00 nn 00
See USB command details
Get_Desc_Config
80 06 00 02 00 00 nn 00
See USB command details
Get_Desc_String
80 06 xx 03 00 00 nn 00
See USB command details
Get_Desc_HID
81 06 00 21 00 00 09 00
See USB command details
Get_Desc_HID_Report
81 06 00 22 00 00 nn 00
See USB command details
Get_HID_Input
A1 01 00 01 00 00 nn 00
Return depends on motion & config
Get_Idle
A1 02 00 00 00 00 01 00
Returns rate in multiples of 4ms
Get_Vendor_Test
C0 01 00 00 xx 00 01 00
Read register xx
Set_Address
00 05 xx 00 00 00 00 00
xx = address
Set_Configuration
00 09 xx 00 00 00 00 00
Not configured: xx=00
Configured: xx=01
Set_Interface
01 0B 00 00 00 00 00 00
Only one interface supported
Set_Protocol
21 0B xx 00 00 00 00 00
Boot: xx=00, Report: xx=01
Set_Feature_Device
00 03 01 00 00 00 00 00
Enable remote wakeup
Set_Feature_Endpt0
02 03 00 00 xx 00 00 00
Halt. OUT: xx=00, IN: xx=80
Set_Feature_Endpt1
02 03 00 00 81 00 00 00
Halt
Clear_Feature_Device
00 01 01 00 00 00 00 00
Disable Remote wakeup
Clear_Feature_Endpt0
02 01 00 00 xx 00 00 00
Clear Halt; OUT: xx=00, IN: xx=80
Clear_Feature_Endpt1
02 01 00 00 81 00 00 00
Clear Halt
Set_Idle
21 0A 00 rr 00 00 00 00
rr = report rate in multiples of 4ms
Set_Vendor_Test
40 01 00 00 xx yy 00 00
Write yy to address xx
Poll_Endpt1
Read buttons, motion, & Z-wheel
Note:
The last two bytes in a command shown as “nn 00” specify the 16-bit data size in the order of “LowByte HighByte.” For example a two-byte data size
would be specifed as “02 00.” ADNS-5700-XXXX will not provide more bytes than the number requested in the command, but it will only supply up to
a maximum of 8 bytes at a time. The ADNS-5700-XXXX will re-send the last packet if the transfer is not acknowledged properly.
21
USB COMMAND DETAILS
USB_RESET
D+/D- low for an extended period
USB Spec:
A device may reset after seeing an SE0 for more than 18.7 uS, and definitely after 10mS.
Notes:
After power up and prior to Reset, the device will not respond to any USB commands. After the
device has been given a USB Reset, the device’s address will be reset to zero and the device will
be in the Default state. The chip will default to Report protocol and any pending output will be
flushed.
All registers will be reset to a state that matches power-on-reset with the following exceptions:
USB State register will be “Default” instead of “Attached”.
USB_SUSPEND
Idle state for an extended period
USB Spec:
A device may suspend after seeing an idle for more than 3mS, and definitely after 10mS.
Notes:
The chip will take a minimum of 5mS to start Suspend, though will definitely start after 6mS.
The chip may finish the current frame if necessary before stopping the clock. Thus, an additional
frame time may be used to reach Suspend mode.
USB_RESUME
Non-idle state
USB Spec:
Remote Resume signalling from a device must be between 1mS and 15mS. The host is required
to send Resume signaling for 20mS plus 10mS of resume recovery time in which it does not
access any devices. This allows devices enough time to wake back up.
Notes:
The chip can cause a Resume if Remote Wakeup is enabled and a button has been pressed.
Remote resume signalling from the chip will last 11.45mS to 12.45mS.
Get_Status_Device
80 00 00 00 00 00 02 00
Returns:
xx yy
xx[0] = Self Powered
xx[1] = Remote Wakeup
xx[7:2] = 0
yy = 00 (Reserved)
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
Use Set_Feature_Device/Clear_Feature_Device to set/clear remote wakeup.
Get_Status_Interface 81 00 00 00 00 00 02 00
Returns:
00 00
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept
Notes:
Both return bytes are reserved and currently 00.
22
Get_Status_Endpt0
82 00 00 00 xx 00 02 00
82 00 00 00 00 00 02 00
82 00 00 00 80 00 02 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Returns:
xx yy
xx[0] = Halt
xx[7:1] = 0
yy = 00 (Reserved)
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
Use Set_Feature_Endpt0/Clear_Feature_Endpt0 to (try to) set/clear Halt bit. According to USB,
“It is neither required or recommended that the Halt feature be implemented for the Default
Control Pipe.” Since a new SETUP command will clear any Endpt0 halt bit, it is impossible to tell if
there really is a halt bit.
Get_Status_Endpt1
82 00 00 00 81 00 02 00
Returns:
xx yy
xx[0] = Halt
xx[7:1] = 0
yy = 00 (Reserved)
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept
Notes:
Use Set_Feature_Endpt1/Clear_Feature_Endpt1 to set/clear Halt bit.
Get_Configuration
80 08 00 00 00 00 01 00
Returns:
xx
xx = config value
Default:
Accept (undefined in USB Spec) – returns 00
Addressed:
Accept – returns 00
Configured:
Accept – returns 01
Notes:
Use Set_Configuration to change.
Get_Interface
81 0A 00 00 00 00 01 00
Returns:
00
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept – returns 00
Notes:
Command has no alternate interfaces, so only valid value is 00
23
Get_Protocol
A1 03 00 00 00 00 01 00
Returns:
xx
xx = 00 = Boot protocol
xx = 01 = Report protocol
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
Defaults to Report protocol after USB Reset. Use Set_Protocol to change.
Get_Desc_Device
80 06 00 01 00 00 nn 00
80 06 00 01 00 00 12 00
Returns:
12 01 00 02 00 00 00 08
vv vv pp pp dd dd mm PP
ss 01
vv vv = vendor id
pp pp = product id (vendor specified)
dd dd = device id (vendor specified) (bcd rev_id byte)
mm = iManufacturer
PP = iProduct
ss = iSerialNumber (00 - no string)
Default:
Accept
Addressed:
Accept
Configured:
Accept
Get_Desc_String will return “stall” if Manufacturer string is queried when iManufacturer = 0x00.
24
Get_Desc_Config
80 06 00 02 00 00 nn 00
80 06 00 02 00 00 22 00
Returns:
09 02 22 00 01 01 00 A0
32 09 04 00 00 01 03 01
02 00 09 21 11 01 00 01
22 rr 00 07 05 81 03 05
00 0A
rr = HID Report descriptor length
47 = 12 bit motion reporting
With Z-Wheel:
09 02 22 00 01 01 00 A0
32 09 04 00 00 01 03 01
02 00 09 21 11 01 00 01
22 3D 00 07 05 81 03 04
00 0A
// Config Descriptor
| 09
//
bLength
| 02
//
bDescriptorType
| 22
//
wTotalLength (34 decimal)
| 00
//
high byte of WTotalLength
| 01
//
bNumInterfaces
| 01
//
bConfigurationValue
| 00
//
iConfiguration
| A0
//
bmAttributes (bus powered/remote wakeup)
| 32
//
MaxPower (in 100mA in 2mA units)
// Interface Descriptor
| 09
//
bLength
| 04
//
bDescriptorType
| 00
//
bInterfaceNumber
| 00
//
bAlternateSetting
| 01
//
bNumEndpoints
| 03
//
bInterfaceClass (HID Class)
| 01
//
bInterfaceSubClass
| 02
//
bInterfaceProtocol
| 00
//
iInterface
// HID Descriptor
| 09
//
bLength
| 21
//
bDescriptorType
| 11
//
bcdHID ( HID Release ##.##; HID 1.11 compliant )
| 01
//
| 00
//
bCountry
| 01
//
bAvailable
| 22
//
bType
| 34
//
wLength (Length of HID Report below)
| 00
//
// Endpoint Descriptor
| 07
//
bLength
| 05
//
bDescriptorType
| 81
//
bEndpointAddress (IN & #=1)
| 03
//
bmAttributes (Interrupt)
| 05
//
wMaxPacketSize
| 00
//
12bit 0x06
| 0A
//
bInterval (10mS)
25
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
This is the concatenation of 4 descriptors:
Configuration
Interface
HID
Endpt
Get_Desc_String
80 06 xx 03 00 00 nn 00
xx= 00 Language String
01 Manufacturer String
02 Product String
Returns:
ss 03 „unicode string“
ss = String descriptor length
These values are determined by jumper configuration on page xx:
For xx=00:
04 03 09 04
For xx=01:
return “stall” if Manufacturer string is queried when iManufacturer = 0x00. See Get_Desc_Device
section
For xx=02:
24 03 55 00 53 00 42 00
20 00 4f 00 70 00 74 00
69 00 63 00 61 00 6c 00
20 00 4d 00 6f 00 75 00
73 00 65 00
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
A request for any other string will STALL.
Get_Desc_HID
81 06 00 21 00 00 09 00
Returns:
09 21 11 01 00 01 22 rr 00
rr = HID Report descriptor length
47 = 12 bit motion
Default:
Accept
Addressed:
Accept
Configured:
Accept
26
// Language ID
// “USB”
// “Opt”
// “ ical”
// “Mou”
// “se”
Get_Desc_HID_Report
81 06 00 22 00 00 nn 00
Returns:
This returns a report descriptor that describes how many buttons and x, y, z data.
These values are determined by jumper configuration see table on page 4:
With Tilt wheel and 12bit reporting: 05 01 09 02 A1 01 09 01
A1 00 05 09 19 01 29 05
15 00 25 01 75 01 95 05
81 02 75 03 95 01 81 01
05 01 09 30 09 31 16 01
F8 26 FF 07 75 0C 95 02
81 06 09 38 15 81 25 7F
75 08 95 01 81 06 05 0C
0A 38 02 81 06 C0 C0
//
HID Report
| 05 01
//
USAGE_PAGE (Generic Desktop)
| 09 02
//
USAGE (Mouse)
| A1 01
//
COLLECTION (Application)
| 09 01
//
USAGE (Pointer)
| A1 00
//
COLLECTION (Physical)
| 05 09
//
USAGE_PAGE (Button)
| 19 01
//
USAGE_MINIMUM (Button 1)
| 29 05
//
USAGE_MAXIMUM (Button #)
| 15 00
//
LOGICAL_MINIMUM (0)
| 25 01
//
LOGICAL_MAXIMUM (1)
| 75 01
//
REPORT_SIZE (1)
| 95 05
//
REPORT_COUNT (Button #)
| 81 02
//
INPUT (Data,Var,Abs)
| 75 03
//
REPORT_SIZE (8 - Button #)
| 95 01
//
REPORT_COUNT (1)
| 81 01
//
INPUT (Cnst,Ary,Abs)
| 05 01
//
USAGE_PAGE (Generic Desktop)
| 09 30
//
USAGE (X)
| 09 31
//
USAGE (Y)
| 16 01 F8
//
LOGICAL_MINIMUM (-127)
| 26 FF 07
//
LOGICAL_ MAXIMUM (127)
| 75 0C
//
REPORT_SIZE (8)
| 95 01
//
REPORT_COUNT (3)
| 81 06
//
INPUT (Data,Var,Rel)
| 09 38
//
USAGE (Zwheel)
| 15 81
//
LOGICAL_MINIMUM (-127)
| 25 7F
//
LOGICAL_ MAXIMUM (127)
| 75 08
//
REPORT_SIZE (8)
| 95 01
//
REPORT_COUNT (1)
| 81 06
//
INPUT (Data,Var,Rel)
| 05 0C
//
USAGE_PAGE (Consumer)
| 0A 38 02
//
USAGE (AC Pan)
| 81 06
//
INPUT (Data,Var,Rel)
| C0
//
END_COLLECTION
| C0
//
END_COLLECTION
27
With without Tilt wheel and 12bit reporting: 05 01 09 02 A1 01 09 01
A1 00 05 09 19 01 29 05
15 00 25 01 75 01 95 05
81 02 75 03 95 01 81 01
05 01 09 30 09 31 16 01
F8 26 FF 07 75 0C 95 02
81 06 09 38 15 81 25 7F
75 08 95 01 81 06 C0 C0
//
HID Report
| 05 01
//
USAGE_PAGE (Generic Desktop)
| 09 02
//
USAGE (Mouse)
| A1 01
//
COLLECTION (Application)
| 09 01
//
USAGE (Pointer)
| A1 00
//
COLLECTION (Physical)
| 05 09
//
USAGE_PAGE (Button)
| 19 01
//
USAGE_MINIMUM (Button 1)
| 29 05
//
USAGE_MAXIMUM (Button #)
| 15 00
//
LOGICAL_MINIMUM (0)
| 25 01
//
LOGICAL_MAXIMUM (1)
| 75 01
//
REPORT_SIZE (1)
| 95 05
//
REPORT_COUNT (Button #)
| 81 02
//
INPUT (Data,Var,Abs)
| 75 03
//
REPORT_SIZE (8 - Button #)
| 95 01
//
REPORT_COUNT (1)
| 81 01
//
INPUT (Cnst,Ary,Abs)
| 05 01
//
USAGE_PAGE (Generic Desktop)
| 09 30
//
USAGE (X)
| 09 31
//
USAGE (Y)
| 16 01 F8
//
LOGICAL_MINIMUM (-127)
| 26 FF 07
//
LOGICAL_ MAXIMUM (127)
| 75 0C
//
REPORT_SIZE (8)
| 95 01
//
REPORT_COUNT (3)
| 81 06
//
INPUT (Data,Var,Rel)
| 09 38
//
USAGE (Zwheel)
| 15 81
//
LOGICAL_MINIMUM (-127)
| 25 7F
//
LOGICAL_ MAXIMUM (127)
| 75 08
//
REPORT_SIZE (8)
| 95 01
//
REPORT_COUNT (1)
| 81 06
//
INPUT (Data,Var,Rel)
| C0
//
END_COLLECTION
| C0
//
END_COLLECTION
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
The length of this report is needed in the HID descriptor.
28
Get_HID_Input
A1 01 00 01 00 00 nn 00
nn = 06 (with tilt wheel and 12 bit motion reporting)
nn = 05 (without tilt wheel and 12 bit reporting)
Returns:
bb xx yy zz tw
(tilt wheel) OR
bb xx yy zz
(Z-wheel) OR
bb xx yy
(if no Z-wheel present)
bb = button byte
xx = X motion byte
yy = Y motion byte
zz = Z motion byte
tw = tilt wheel byte
Default:
Stall
Addressed:
Stall
Configured:
Accept
Notes:
If the device is configured, it will always respond with a report for this command, even if no
motion or button changes have occurred. In this case, it would report 00 for motion and simply
report the current button state. If a report is pending on endpt1, the data there will be reported
and the report on endpt1 cleared.
The mouse will only create new button/motion packets when it is in the Configured state
See USB byte format end of this section for more detail
Get_Idle
A1 02 xx 00 00 00 01 00
xx = 00 All reports
xx = 01 First report
Returns:
rr
rr = rate in multiples of 4mS
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
The third byte of the command is to select the Report ID. There is only one for the mouse -- so,
using 00 or 01 will work.
See also Set_Idle.
Get_Vendor_Test
C0 01 00 00 xx 00 01 00
ii = ignore
xx = address of register to read
Returns:
rr (depends on register read)
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
Address range (xx) is datasheet register range
29
Set_Address
00 05 xx 00 00 00 00 00
xx = new device address, from 00 to 7F
Default:
Accept
Addressed:
Accept
Configured:
Accept (undefined in USB Spec)
Chip gets new address, but stays in ”Configured” mode.
Notes:
If device is not configured, the device will be given the new address and put in the addressed state
(or default if new address=00). If the device is already configured, the device will be given the
new address state and remain configured.
Set_Configuration
00 09 xx 00 00 00 00 00
xx = 00 = not configured
xx = 01 = configured
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
Invalid config values will cause stall. Chip will stall invalid value in configured mode, and leave
device in old (configured) mode.
Set_Interface
01 0B 00 00 00 00 00 00
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept
Notes:
Mouse has only one valid interface (00) and alternate setting (00). Invalid values will cause stall.
Chip retains previous (valid) interface state after executing this command in configured mode
even if invalid values are given and command was stalled.
Set_Protocol
21 0B xx 00 00 00 00 00
xx = 00 = Boot protocol
xx = 01 = Report protocol
Default:
Accept (Not in USB Spec)
Addressed:
Accept (Not in USB Spec)
Configured:
Accept
Notes:
3 byte data packets will be reported in boot mode. These bytes are button, XX data, and YY data.
Tilt wheel botton 7,8 will not be reported
Set_Feature_Device
00 03 01 00 00 00 00 00
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
This sets the remote wakeup bit.
30
Set_Feature_Endpt0
02 03 00 00 xx 00 00 00
02 03 00 00 00 00 00 00
02 03 00 00 80 00 00 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Stall
Notes:
This (tries to) sets the halt bit. The chip always stalls the status stage for this command. The
chip never reports the halt bit set for Endpt0 with the Get_Status_Endpt0 command, as any
new SETUP command will clear Endpt0 stall.
Set_Feature_Endpt1
02 03 00 00 81 00 00 00
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept
Notes:
Sets the halt bit for Endpt1.
Clear_Feature_Device
00 01 01 00 00 00 00 00
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
This clears the remote wakeup bit.
Clear_Feature_Endpt0
02 01 00 00 xx 00 00 00
02 01 00 00 00 00 00 00
02 01 00 00 80 00 00 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Default:
Accept (undefined in USB Spec)
Addressed:
Accept
Configured:
Accept
Notes:
The chip does NOT stall like it does for Set_Feature_Endpt0.
Clear_Feature_Endpt1
02 01 00 00 81 00 00 00
Default:
Stall (undefined in USB Spec)
Addressed:
Stall
Configured:
Accept
Notes:
See Set_Feature_Endpt1.
31
Set_Idle
21 0A xx rr 00 00 00 00
xx = 00 All reports
xx = 01 First report
rr = rate in multiples of 4mS
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
The third byte of the command is to select the Report ID. There is only one for the mouse – so,
using either 00 or 01 will work.
The fourth byte of the command sets the rate in multiples of 4mS. The initial value for mice will
be x00 which means “infinite” – that is packets only come out when there is a change in data.
Data will only be allowed to come out when the device is configured. However, the chip will
accept the command in Default or Addressed mode and use that value when the device is later
configured.
Set_Vendor_Test
40 01 00 00 xx yy 00 00
xx = address
yy = data
Default:
Accept
Addressed:
Accept
Configured:
Accept
Notes:
Address range for “xx” should be 0x00 to 0x3F. Addresses above this are reserved for possible
future use. See also Get_Vendor_Test.
32
Poll_Endpt1
Returns:
bb xx yy zz tw
bb = button byte
xx = X motion byte
yy = Y motion byte
zz = Z motion byte (if Z-Wheel)
tw = tilt wheel byte
Default:
Ignore request
Addressed:
Ignore request
Configured:
Accept (NAK if no data; Send packet if available)
Notes:
See also Get_HID_Input. Endpt will only stall if halt bit is set by Set_Feature_Endpt1. Details
of data packet are below
Endpt1 should be polled at least every 10 frames (mS). It is typically polled every 8 frames
on Windows machines. For internal testing, Endpt1 can be continuously polled if desired.
The chip will not generate any report packets unless in the Configured state.
If Endpt1 is currently empty, any motion or button change will be loaded into the Endpt1
buffers. Once the Endpt1 buffers are full, any further motion events will get accumulated.
When the Endpt1 buffers are later polled and emptied, the current accumulated X/Y/Z
values will be loaded into the Endpt1 buffers. After transferring their data, the accumulation registers are reset so they are ready to start accumulating new motion events.
Button information is handled a bit differently. If the Endpt1 buffers are empty, and a
button change event occurs, the new button state is put into the Endpt1 buffers. At the
same time, the button state that is put in Endpt1 is copied for later use. While Endpt1 is
full, changes in button state are essentially ignored. When Endpt1 is emptied, if the current
button state is different than that which was last loaded into Endpt1, then the new state
will be loaded and a new copy saved. Basically, the button state that is loaded into Endpt1
is always the current button state at that point in time. It should also be noted that there is
hardware on the chip to help de-bounce the buttons.
Special note on wLength:
The wLength paramater in commands specifies the maximum number of bytes a device
should send back. The commands listed below are not able to handle a wLength of 0 correctly.
Get_Status_Device
Get_Status_Interface
Get_Status_Endpt0
Get_Status_Endpt1
Get_Configuration
Get_Interface
This chip will send one byte of data rather than none when wLength=0 is requested for the
above commands.
33
USB Data Packet Format of mouse with tilt wheel
Bit
7
6
5
4
3
2
1
0
Byte 1
0
0
0
0
0
B3(MB)
B2(RB)
B1(LB)
Byte 2
X7
X6
X5
X4
X3
X2
X1
X0
Byte 3
Y3
Y2
Y1
Y0
X11
X10
X9
X8
Byte 4
Y11
Y10
Y9
Y8
Y7
Y6
Y5
Y4
Byte 5
Z7
Z6
Z5
Z4
Z3
Z2
Z1
Z0
Byte 6
TW7
TW6
TW5
TW4
TW3
TW2
TW1
TW0
USB Data Packet Format of mouse without tilt wheel
Bit
7
6
5
4
3
2
1
0
Byte 1
0
0
0
0
0
B3(MB)
B2(RB)
B1(LB)
Byte 2
X7
X6
X5
X4
X3
X2
X1
X0
Byte 3
Y3
Y2
Y1
Y0
X11
X10
X9
X8
Byte 4
Y11
Y10
Y9
Y8
Y7
Y6
Y5
Y4
Byte 5
Z7
Z6
Z5
Z4
Z3
Z2
Z1
Z0
Byte 6
0
0
0
0
0
0
0
0
USB Data Packet Format of 5 button mouse
Bit
7
6
5
4
3
2
1
0
Byte 1
0
0
0
B5
B4
B3(MB)
B2(RB)
B1(LB)
Byte 2
X7
X6
X5
X4
X3
X2
X1
X0
Byte 3
Y3
Y2
Y1
Y0
X11
X10
X9
X8
Byte 4
Y11
Y10
Y9
Y8
Y7
Y6
Y5
Y4
Byte 5
Z7
Z6
Z5
Z4
Z3
Z2
Z1
Z0
Byte 6
0
0
0
0
0
0
0
0
34
Registers
The sensor can be programmed through registers, via the
USB port, and configuration and motion data can be read
from these registers. Certain registers must be “enabled”
after power up but before first read or write to that register. The registers will be “disabled” by VDD going low or
sending a USB reset command.
Address
Register
Address
Register
0x00
Product_ID
0x08
Shut_Low
0x01
Revision_ID
0x09
Pix_Max
0x02
MouseStat
0x0a
Pix_Accum
0x03
Delta_X_L
0x0b
Pix_Min
0x04
Delta_Y_L
0x0c
Pix_Grabber
0x05
Delta_XY_H
0x0d
Dz
0x06
SQUAL
0x0e-3f
Reserved
0x07
Shut_Hi
0x40
InvRevID
Product_ID
Access: Read
Address: 0x00
Reset Value: 0x27
Bit
7
6
5
4
3
2
1
0
Field
PID7
PID6
PID5
PID4
PID3
PID2
PID1
PID0
Data Type: Eight bit number with the product identifier.
USAGE: The value in this register does not change; it can be used to verify that the sensor communications link is OK.
Revision_ID
Access: Read
Address: 0x01
Reset Value: 0x01
Bit
7
6
5
4
3
2
1
0
Field
RID7
RID6
RID5
RID4
RID3
RID2
RID1
RID0
Data Type: Eight bit number with current revision of the IC.
USAGE: This register contains the IC revision. It is subject to change when new IC versions are released.
35
MouseStat
Access: Read
Address: 0x02
Reset Value: Undefined
Bit
7
6
5
4
3
2
1
0
Field
MOT
Reserved
Reserved
BUT5
BUT4
BUT3
BUT2
BUT1
Data Type: Bit field
USAGE: A “1” in the motion bit indicates that the USB endpoint has valid data. This register is included for test purposes
only. For navigation use, use the USB HID defined commands. The button status bits reported are for the debounce signals.
Field Name
Description
MOT
For Internal test purposes only
Reserved
Reserved
BUT5
Reports the status of B5
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT4
Reports the status of B4
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT3
Reports the status of B3
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT2
Reports the status of B2
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT1
Reports the status of B1
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
36
Delta_X_L
Access: Read
Address: 0x03
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
X7
X6
X5
X4
X3
X2
X1
X0
Data Type: Bit field
USAGE: The value in this register reflects the last USB delta X (lower 8 bits) data output or data queued for output.
This register is included for test purposes only. For navigation use, use the HID defined commands. Data is 2’s
complement. Absolute value is determined by the currently set resolution.
Register 0x03 must be read before register 0x04 (Delta_Y_L) and 0x05 (Delta_XY_H)
Delta_Y_L
Access: Read
Address: 0x04
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
Data Type: Bit field
USAGE: The value in this register reflects the last USB delta Y (lower 8 bits) data output or data queued for output. This
register is included for test purposes only. Register 0x03 should be read before register 0x04 (Delta_Y_L) and
0x05 (Delta_XY_H), else Delta_Y_L will return 0. For navigation use, use the HID defined commands. Data is 2’s
complement. Absolute value is determined by the currently set resolution.
Delta_XY_H
Access: Read
Address: 0x05
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
X11
X10
X9
X8
Y11
Y10
Y9
Y8
Data Type: Bit field
USAGE: The value in this register reflects the last USB delta X and Y (upper 4 bits) data output or data queued for output.
This register is included for test purposes only. Register 0x03 should be read before register 0x04 (Delta_Y_L)
and 0x05 (Delta_XY_H), else Delta_XY_H will return 0. For navigation use, use the HID defined commands. Data
is 2’s complement. Absolute value is determined by the currently set resolution.
37
SQUAL
Access: Read
Address: 0x06
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SQ7
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Eight bit number.
USAGE: SQUAL is a measure of the number of features visible by the sensor in the current frame. The maximum value is
128. Since small changes in the current frame can result in changes in SQUAL, slight variations in SQUAL on one
surface is expected.
Shut_Hi
Access: Read
Address: 0x07
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
S15
S14
S13
S12
S11
S10
S19
S18
Data Type: Eight bit number.
USAGE: The combination of Shut_Hi and Shut_Low is a 16-bit number. This is the number of clocks the shutter was open
for the last image taken. The units are in main clocks ticks (nominally 24MHz). To avoid split read issues, read
Shut_Hi first.
Shut_Low
Access: Read
Address: 0x08
Reset Value: 0x64
Bit
7
6
5
4
3
2
1
0
Field
S7
S6
S5
S4
S3
S2
S1
S0
Data Type: Eight bit number.
USAGE: The combination of Shut_Hi and Shut_Low is a 16-bit number. This is the number of clocks the shutter was open
for the last image taken. The units are in main clocks ticks (nominally 24MHz). To avoid split read issues, read
Shut_Hi first (0x06).
38
Pix_Max
Access: Read
Address: 0x09
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
0
MX6
MX5
MX4
MX3
MX2
MX1
MX0
Data Type: Eight bit number.
USAGE: This is the maximum pixel value from the last image taken.
Pix_Accum
Access: Read
Address: 0x0a
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
AC7
AC6
AC5
AC4
AC3
AC2
AC1
AC0
Data Type: Eight bit number.
USAGE: This is the accumulated pixel value from the last image taken. For the 19x19 raw image only the 8 most interesting bits are reported ([15:8]). To get the true average pixel value, divide this register value by 1.41.
Pix_Min
Access: Read
Address: 0x0b
Reset Value: 0x7f
Bit
7
6
5
4
3
2
1
0
Field
0
MN6
MN5
MN4
MN3
MN2
MN1
MN0
Data Type: Eight bit number.
USAGE: This is the minimum pixel value from the last image taken.
Pix_Grab
Access: Read
Address: 0x0c
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
VALID
PG6
PG5
PG4
PG3
PG2
PG1
PG0
Data Type: Eight bit number.
USAGE: The pixel grabber captures 1 pixel per frame. If there is a valid pixel in the grabber when this is read, the MSB will
be set, an internal counter will incremented to captured the next pixel and the grabber will be armed to capture
the next pixel. It will take 361 reads to upload the completed image.
Any write to this register will reset and arm the grabber to grab pixel 0 on the next image. See pixel array numbering in Figure 19.
39
Pixel Address Map (Looking through the sensor at the surface)
0
19
38
57
76
95
114 133 152 171 190 209 228 247 266 285 304 323 342
1
20
39
58
77
96
115 134 153 172 191 210 229 248 267 286 305 324 343
2
21
40
59
78
97
116 135 154 173 192 211 230 249 268 287 306 325 344
3
22
41
60
79
98
117 136 155 174 193 212 231 250 269 288 307 326 345
4
23
42
61
80
99
118 137 156 175 194 213 232 251 270 289 308 327 346
5
24
43
62
81
100 119 138 157 176 195 214 233 252 271 290 309 328 347
6
25
44
63
82
101 120 139 158 177 196 215 234 253 272 291 310 329 348
7
26
45
64
83
102 121 140 159 178 197 216 235 254 273 292 311 330 349
8
27
46
65
84
103 122 141 160 179 198 217 236 255 274 293 312 331 350
9
28
47
66
85
104 123 142 161 180 199 218 237 256 275 294 313 332 351
10
29
48
67
86
105 124 143 162 181 200 219 238 257 276 295 314 333 352
11
30
49
68
87
106 125 144 163 182 201 220 239 258 277 296 315 334 353
12
31
50
69
88
107 126 145 164 183 202 221 240 259 278 297 316 335 354
13
32
51
70
89
108 127 146 165 184 203 222 241 260 279 298 317 336 355
14
33
52
71
90
109 128 147 166 185 204 223 242 261 280 299 318 337 356
15
34
53
72
91
110 129 148 167 186 205 224 243 262 281 300 319 338 357
16
35
54
73
92
111 130 149 168 187 206 225 244 263 282 301 320 339 358
17
36
55
74
93
112 131 150 169 188 207 226 245 264 283 302 321 340 359
18
37
56
75
94
113 132 151 170 189 208 227 246 265 284 303 322 341 360
Top Xray View of Mouse
P
O
S
I
T
I
V
E
LB
RB
18
17
16
15
14
13
12
11
10
1
2
3
4
5
6
7
8
9
Y
POSITIVE X
Figure 19. Pixel Map
The figure above shows the readout order of the array. Rows are read top to bottom and
columns are from right to left.
Dz
Access: Read
Address: 0x0d
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
Z7
Z6
Z5
Z4
Z3
Z2
Z1
Z0
Data Type: Bit field
USAGE: If mouse is configured to contain a Z-wheel, this register contains the Z-wheel count. Range is from –127 to 127
decimal.
Reserved
40
Address: 0x0e – 0x3f
InvRevID
Access: Read
Address: 0x040
Reset Value: 0xfe
Bit
7
6
5
4
3
2
1
0
Field
RRID7
RRID6
RRID5
RRID4
RRID3
RRID2
RRID1
RRID0
Data Type: Eight bit number with current revision of the IC.
USAGE: Contains the inverse of the revision ID which is located in register 0x01.
IC Register state after Reset (power up)
Address
Register
Default Value
Meaning
0x00
Product_ID
0x27
Product ID = 27 (Fixed value)
0x01
Revision_ID
0x01
Revision of IC (Fixed value). (For each device design revision).
0x02
MouseStat
–
0x03
Delta_X_L
0x00
0x04
Delta_Y_L
0x00
0x05
Delta_XY_H
0x00
0x06
SQUAL
0x00
0x07
Shut_Hi
0x00
0x08
Shut_Low
0x64
0x09
Pix_Max
0x00
0x0a
Pix_Accum
0x00
0x0b
Pix_Min
0x00
0x0c
Pix_Grabber
0x00
0x0d
Dz
0x00
0x0e-3f
Reserved
–
0x40
InverseRevesion ID
0xFE
For product information and a complete list of distributors, please go to our web site:
www.avagotech.com
Avago, Avago Technologies, and the A logo are trademarks of Avago Technologies in the United States and other countries.
Data subject to change. Copyright © 2005-2011 Avago Technologies. All rights reserved.
AV02-1655EN - November 1, 2011
Similar pages