Datasheet - Pixart Imaging Inc.

ADNS-3050
ADNS-3050 Entry-level Gaming Optical Navigation Sensor
Data Sheet
Description
Features
The Pixart ADNS-3050 is a small form factor entry-level
gaming optical navigation sensor. It is housed
in an 8-pin staggered dual in-line package (DIP). It is capable of high-speed motion detection typically at 60ips
and acceleration up to 20g; suitable for both wired and
wireless gaming navigation system. The low power management in wireless mode can be customized to suit user
preferences. In addition, it has an on-chip oscillator and
LED driver to minimize external components.
 Small Form Factor Package - 8-pin DIP
The ADNS-3050 sensor along with the ADNS-5110-001
lens, PS"%/4trim MFOTLED clip, and HLMP-EG3E
red LED forms a complete and compact mouse tracking
system. There are no moving parts, which translates to
high reliability and less maintenance for the end user.
Precision optical alignment is not required, thus facilitating
high volume assembly.
Theory of Operation
The ADNS-3050 is based on Optical Navigation Technology, which measures changes in position by optically
acquiring sequential surface images (frames) and mathematically determining the direction and magnitude of
movement. The ADNS-3050 contains an Image Acquisition System (IAS), a Digital Signal Processor (DSP), and a
four wire serial port. The IAS acquires microscopic surface
images via the lens and illumination system. These images are processed by the DSP to determine the direction
and distance of motion. The DSP calculates the ΔX and Δy
relative displacement values. An external microcontroller
reads and translates the ΔX and Δy information from the
sensor serial port into PS2, USB, or RF signals before sending them to the host PC.
 Operating Voltage: 2.8V-3.0V
 High Speed Motion Detection at typical of 60ips and
acceleration up to 20g.
 Selectable Resolutions up to 2000cpi
 Four wire Serial Port Interface
 External Interrupt Output for Motion Detection
 Internal Oscillator — no clock input needed
 On-chip LED driver
 Minimal number of passive components
 Programmable power-saving modes for selectable
wired or wireless application
 Customizable response time and downshift time for
rest modes
 Configurable LED operating modes and drive current
Applications
 Wired and Wireless Optical gaming mice and trackballs
 Integrated input devices
 Battery-powered input devices
NOTE: The ADNS-3050 sensor is not designed for use with blue
LED navigation system.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
PixArt Imaging Inc.
E-mail: [email protected]
1
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Pinout of ADNS-3050 Optical Mouse Sensor
Pin
Name
Input/Output
Description
1
MISO
O
Serial Data Output (Master In/Slave Out)
2
LED
I
LED Illumination Control Input
3
MOTION
O
Motion Interrupt Output (Active low,)
4
NCS
I
Chip Select (Active low)
5
SCLK
I
Serial Clock Input
6
GND
I
Ground
7
VDD
I
Supply Voltage
8
MOSI
I
Serial Data Input (Master Out/Slave In)
Date Code
4
5
3
6
2
7
1
8
Product Number
Lot Code
Item
Marking
Product Number
A3050
Remarks
Date Code
XYYWWZ
X = Subcon Code
YYWW = Date Code
Z = Sensor Die Source
Lot Code
VVV
Numeric
Figure 1. Package Outline Drawing (Top View)
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
2
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Product
Number
Date Code
Features for
Illustration only
Pin 1
9.10
0.358
9.90
0.390
A
3.72
0.146
3.50
0.138
5.15
0.203
12.85
(At shoulder)
0.506
Lot Code
±
90
3q
0.50
0.020
A
1.00
Lead Offset
0.039
Pin 1
Protective
Kapton Tape
4.55
0.179
∅ 4.12
0.162
12.85 ± 0.50
(At lead tip)
0.506 ± 0.020
`
(2.74)
0.108
Lead Pitch 2.00
0.079
(0.04)
0.002
Lead Width
Section A-A
∅ 0.70
0.028
3.92
0.154
Clear Optical Path
Notes:
1. Dimensions in millimeter / 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_SPC_8C_PKG_002
Figure 2. Package Outline Drawing
CAUTION: It is advised that normal static precautions be taken in handling and assembling
of this component to prevent damage and/or degradation which may be induced by ESD.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
PixArt Imaging Inc.
E-mail: [email protected]
3
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Overview of Optical Mouse Sensor Assembly
Pixart provides an IGES file drawing describing the base plate molding features for lens and PCB alignment
The ADNS-3050 sensor is designed for mounting on a through-hole PCB. There is an aperture stop and features
on the package that align to the lens. The ADNS-5110-001 lens BOE ADNS-5120-002 trim lens provides optics
for the imaging of the surface as well as illumination of the surface at the optimum angle. Features on the lens align
it to the sensor, base plate, and clip with the LED. The LED 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 HLMP-EG3E red LED is recommended for illumination.
Notes:
1. Dimensions in millimeter/inches
2. View from component side of PCB (or top view of mouse)
Figure 3. Recommended PCB Mechanical Cutouts and Spacing
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
PixArt Imaging Inc.
E-mail: [email protected]
4
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
TOP VIEW
CROSS SECTION SIDEVIEW
Important Note: Pin 1 of sensor should be located nearest to the LED
Figure 4. 2D Assembly drawing of ADNS-3050 (Top and Side View)
Note:
A – Distance from object surface to lens reference plane
B – Distance from object surface to sensor reference plane
Figure 5. Distance from lens reference plane to tracking surface (Z)
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
5
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
HLMP-EG3E LED
LED Clip
ADNS-3050 (Sensor)
Customer supplied PCB
ADNS-5110-001
Customer supplied base plate with
recommended alignment features
per IGES drawing
Important Note: IR LED is recommended for lower power consumption.
Figure 6. Exploded View of Assembly
PCB Assembly Considerations
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.
6. Place the lens onto the base plate.
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 to place 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 the base plate
aligning post to retain PCB assembly. The sensor
aperture ring should self-align to the lens.
10. Install mouse top case. There MUST be a feature in
the top case to press down onto the PCB assembly to
ensure all components are interlocked to the correct
vertical height.
ADNS-3050
VDD
GND
IMAGE ARRAY
DSP
LED
SERIAL PORT AND REGISTERS
3. Insert the LED clip assembly into PCB.
POWER AND CONTROL
2. Insert the LED into the assembly clip and bend the
leads 90 degrees.
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.
LED DRIVE
1. Insert the sensor and all other electrical components
into PCB.
OSCILLATOR
Figure 7. Block diagram of ADNS-3050 optical mouse
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
6
PixArt Imaging Inc.
E-mail: [email protected]
NCS
SCLK
MOSI
MISO
MOTION
+:)/PPZD\
9%86
'
'
*1'
6+,(/'
5
N
&
Q)
&
S)
9''
&21
5
5
-7$*
&
Q)
5
N
9''
3&%B62&.(7B;3
5
5
&
S)
&
S)
5
N
&
X)9
&
S)
&
Q)
9&&
=%
3
3
3
&211(&7723&%
=$
0&8
3
3
3
3
3
3
3
3
36&/.
30,62
3026,
31&6
3
3
3
3
3
3
3
3
3
3
=(QFRGHU
&&.567
3&'
3
3
95(*,1
9%86
'
'
8
&
S)
&
X)9
/('
/('
/('
=%
=$
6:B/()7
6:B5,*+7
6:B0,'
&3,
&3,
6&/.
0,62
026,
1&6
027,21
&
Q)
9''
7
Figure 8. Schematic diagram for interface between ADNS-3050 and microcontroller with HLMP-EG3E Red LED on a corded solution
NOTE: The ADNS-3050 Optical Mouse Sensor is not designed for use with blue LED navigation system.
5
:
*
%
6
+
5
5
&
X)9
9&&
9''
&)
*1'
6:
6:
6:
0LGGOH%XWWRQ
5LJKW%XWWRQ
/HIW%XWWRQ
&
X)9
6&/.
0,62
026,
1&6
027,21
5
5
9''
&3,
&3,
'
+/03('
HLMP-EG3E
&21
/('
/('
/('
$'166HQVRU%ORFN
$'16
8
5
5
;<B/('
3&%B62&.(7B;3
6&/.
0,62
026,
1&6
027,21
&
S)
&211(&7723&%
9''
&
Q)
9''
*1'
J1
-7$*&RQQHFWRU
SW2
SW4
0LGGOH%XWWRQ
5LJKW%XWWRQ
SW3
/HIW%XWWRQ
SW_LEFT
SW_RIGHT
SW_MID
X2
32.768KHz
%
*1'
3
3
3
35;'
37;'
;2873
;,13
567
3
3
37&.
3706
37',
37'2
767
U2
C3
100nF
9''
&3,
SW5
[$$%DWWHU\
2))
0&8
3$
3$
3
3
3
3
3
3
3
3
30,62
3026,
36&/.
3
3
3
3
3
3
C4
100nF
9''
MOT_MCU
RF_EN
RF_NCS
ZA
ZB
MISO_MCU
MOSI_MCU
SCLK_MCU
NCS_MCU
RF_IRQ
SW_CPI+
PCB Notes:
pin
9,24,34,25,26,28,11,17,18,
19, need to short track if
need to connect to GND
plane.
C1
C5
4.7uF/6.3V 4.7uF/6.3V
9%$7
9%$7
(1
U1
TPS61070
L1
4.7uH
*1'
100nF
C11
9''
027,21
0,62
026,
6&/.
1&6
4.7uF/6.3V
C9
$6HQVRU%ORFN
ADNS 3050
;<B/('
U5
33R
R5
R2
215k
R1
1M
96XSSO\%ORFN
9287
)%
6:
&20
%
$
Q1
=(QFRGHU
ZB
ZA
HLMP-EG3E
D5
HLMP-ED80
C6
C7
4.7uF/6.3V 4.7uF/6.3V
C8
10uF/6.3V
1R
R6
9
8
Figure 9. Schematic diagram for interface between ADNS-3050 and microcontroller with HLMP-EG3E Red LED on a wireless solution
NOTE: The ADNS-3050 Optical Mouse Sensor is not designed for use with blue LED navigation system.
9''
C2
10nF
R3
100k
9''
%
BT1
BATTERY
21
SW1
SW SLIDE-SPDT
*1'
P1
PAD2
$9&&
MSP430-2274
NOTE:
R1= R2 x {(Vo/Vfb) -1}
R1 = 215K x {(Vo/500mV) -1}
9''
*1'
R12
5.6R
TP3
TP2
9ROWDJH0HDVXUHPHQW
9%$7
9
*1'
C18
10nF
TP1
9
C17
10uF/6.3V
9%$7
Notes:
10uF input cap
optional
2SWLRQDO
9''
C19
1nF
RF_NCS
RF_IRQ
MISO_MCU MOSI_MCU SCLK_MCU RF_EN
nRF24L01
$17
$17
966
9''
U7
C22
22pF
R16
1M 1%
X1
16MHz
9''B3$
R15
22k
R7
1R
9''
0&8
R8
1R
9''
R9
1R
9''
5) 6(1625
VDD1: MCU Supply
VDD2: RF Supply
VDD3: Sensor Supply
*K]5)7UDQFHLYHU%ORFN
C21
22pF
&XUUHQW0HDVXUHPHQW
9
0,62
026,
6&/.
&61
&(
C20
33nF
'9''
Notes:
Pads for current
measurement.
Short by default.
,5()
9%$7
'9&&
'966
$966
966
,54
9''
966
9''
966
;&
;&
L3
8.2nH
C25
2.2nF
L5
2.7nH
L4
3.9nH
C26
4.7pF
C23
1.5pF
Notes:
1. 50 ohm trace
(highlighted trace)
E1
C24
1pF
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Design Considerations for Improved ESD Performance
Regulatory Requirements
For improved electrostatic discharge performance, typical
creepage and clearance distance are shown in the table
below. Assumption: base plate construction is as per the
Pixart supplied IGES file and ADNS-5110-001 or ADNS5120-002 trim lens. Note that the lens material is
polycarbonate or polystyrene HH30. Therefore,
cyanoacrylate based adhesives or other adhesives that
may damage the lens should NOT be used.
 Passes FCC B and worldwide analogous emission limits
when assembled into a mouse with shielded cable and
following Pixart’s recommendations.
ADNS-5110-001 Lens
Typical Distance (mm)
Creepage
15.43
Clearance
7.77
 Passes IEC-1000-4-3 radiated susceptibility level when
assembled into a mouse with shielded cable and
following Pixart’s recommendations.
 Passes EN61000-4-4/IEC801-4 EFT tests when
assembled into a mouse with shielded cable and
following Pixart recommendations.
 Provides sufficient ESD creepage/clearance distance to
withstand discharge up to 15KV when assembled into
a mouse according to usage instructions above.
Table 1. Absolute Maximum Ratings
Parameter
Symbol
Minimum
Maximum
Units
Notes
Storage Temperature
TS
-40
85
C
Operating Temperature
TA
-15
55
C
Lead Solder Temperature
TSOLDER
260
C
Supply Voltage
VDD
-0.5
3.7
V
2
kV
All pins
Input Voltage
VIN
-0.5
VDD + 0.5
V
All I/O pins
Output Current
Iout
7
mA
MISO pin
Typ.
Max
Units
ESD (Human Body Model)
For 7 seconds, 1.6mm below seating plane.
Table 2. Recommended Operating Condition
Parameter
Symbol
Min
Notes
Operating Temperature
TA
0
40
C
Power Supply Voltage
VDD
2.8
3.0
V
Power Supply Rise Time
tRT
0.005
100
ms
0 to VDD min
Supply Noise (Sinusoidal)
VNA
100
mVp-p
10kHz —50MHz
Serial Port Clock Frequency
fSCLK
1
MHz
50% duty cycle
Distance from Lens Reference
Z
2.5
mm
2.3
2.4
Plane to Tracking Surface
Speed
S
60
ips
Acceleration
A
20
g
In run mode
Load Capacitance
Cout
100
pF
MISO
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
9
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Table 3. AC Electrical Specifications
Electrical characteristics over recommended operating conditions. Typical values at 25 °C, VDD = 2.8 V.
Parameter
Symbol
Motion Delay after Reset
Min.
Typ.
Max.
Units
Notes
tMOT-RST
50
ms
From RESET register write to valid motion
Power Down
tPD
50
ms
From PD active to low current
Wake from Power Down
tWAKEUP
55
ms
From PD inactive to valid motion (when
write 0x5a to register 0x3a)
50
MISO Rise Time
tr-MISO
40
200
ns
CL = 100 pF
MISO Fall Time
tf-MISO
40
200
ns
CL = 100 pF
MISO Delay after SCLK
tDLY-MISO
120
ns
From SCLK falling edge to MISO data valid,
no load condition
MISO Hold Time
thold-MISO
500
1/fSCLK
ns
Data held until next falling SCLK edge
MOSI Hold Time
thold-MOSI
200
ns
Amount of time data is valid after SCLK
rising edge
MOSI Setup Time
tsetup-MOSI
120
ns
From data valid to SCLK rising edge
SPI Time between
Write Commands
tSWW
30
μs
From rising SCLK for last bit of the first data
byte, Commands to rising SCLK for last bit
of the second data byte
SPI Time between
Write and Read Command
tSWR
20
μs
From rising SCLK f or last bit of the first
data byte, to rising SCLK for last bit of the
second address byte
SPI Time between Read and
Subsequent Commands
tSRW
tSRR
250
ns
From rising SCLK for last bit of the first data
byte, to falling SCLK for the first bit of the
next address
SPI Read Address-Data Delay tSRAD
4
μs
From rising SCLK for last bit of the address
byte, to falling SCLK for first bit of data
being read
NCS to SCLK Active
tNCS-SCLK
120
ns
From NCS falling edge to first SCLK falling
edge
SCLK to NCS Inactive
(for Read Operation)
tSCLK-NCS
120
ns
From last SCLK rising edge to NCS rising
edge, for valid MISO data transfer
SCLK to NCS Inactive
(for Write Operation)
tSCLK-NCS
20
μs
From last SCLK rising edge to NCS rising
edge, for valid MOSI data transfer
NCS to MISO high-Z
tNCS-MISO
250
ns
From NCS rising edge to MISO high-Z state
Transient Supply Current
IDDT
60
mA
Max supply current during a VDD ramp
from 0 to VDD
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
10
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Table 4. DC Electrical Specifications
Electrical characteristics over recommended operating conditions. Typical values at 25° C, VDDLED = 2.8 V, IRLED HLMPEG3E, RLED = 33 .
Parameter
Symbol
Min
Typ.
DC Supply Current
IDD_RUN_DC
IDD_RUN_WIRELESS
IDD_REST1
IDD_REST2
IDD_REST3
26.604
14.236
0.817
0.105
0.022
10
Power Down Current
IPD
Input Low Voltage
VIL
Input High Voltage
VIH
Input Hysteresis
VI_HYS
200
Input Leakage Current
Ileak
±1
Output Low Voltage
VOL
Output High Voltage
VOH
Input Capacitance
Cin
Max
Vdd-0.5
50
Notes
mA
Including LED current.
No load on MISO
Default sensor setting for Rest 1,
Rest 2 and Rest 3 modes
μA
0.5
Vdd-0.7
Units
V
SCLK, MOSI, NCS
V
SCLK, MOSI, NCS
mV
SCLK, MOSI, NCS
±10
μA
Vin=VDD-0.6V, SCLK, MOSI, NCS
0.7
V
Iout=1mA, MISO, MOTION
V
Iout=-1mA, MISO, MOTION
pF
MOSI, NCS, SCLK
Synchronous Serial Port
Chip Select Operation
The synchronous serial port is used to set and read parameters in the ADNS-3050, and to read out the motion
information. The port is a four wire serial port. The host
micro-controller always initiates communication; the
ADNS-3050 never initiates data transfers. SCLK, MOSI, and
NCS may be driven directly by a micro-controller. The port
pins may be shared with other SPI slave devices. When the
NCS pin is high, the inputs are ignored and the output is
at tri-state.
The serial port is activated after NCS goes low; otherwise,
MISO will be high-Z, while MOSI and SCLK will be ignored.
If NCS is raised during a transaction, the entire transaction
is aborted and the serial port will be reset. This is true for
all transactions. After a transaction is aborted, the normal address-to-data or transaction-to-transaction delay
is still required before beginning the next transaction. To
improve communication reliability, all serial transactions
should be framed by NCS. NCS can also be used to reset
the serial port in case of an error occurs.
The lines that comprise the SPI port:
SCLK: Clock input. It is always generated by the master
(the micro-controller).
MOSI: Input data. (Master Out/Slave In)
MISO: Output data. (Master In/Slave Out)
NCS: Chip select input (active low). NCS needs to be low
to activate the serial port; otherwise, MISO will be
high Z, and MOSI & SCLK will be ignored. NCS can
also be used to reset the serial port in case of an
error.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
11
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Write Operation
Write operation, defined as data going from the micro-controller to the ADNS-3050, is always initiated by the microcontroller and consists of two bytes. The first byte contains the address (seven bits) and has a “1” as its MSB to indicate
write sequence. The second byte contains the data. The ADNS-3050 reads MOSI on rising edges of SCLK.
NCS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
1
A6
A5
A4
A3
A2
A1
A0
D7
D6
D5
D4
D3
D2
D1
D0
1
A6
SCLK
MOSI
MISO
MOSI DRIVEN BY MICRO-CONTROLLER
Figure 12. Write Operation
SCLK
MOSI
thold-MOSI
tsetup-MOSI
Figure 13. MOSI setup
Read Operation
A read operation, defined as data going from the ADNS-3050 to the micro-controller, is always initiated by the microcontroller and consists of two bytes. The first byte contains the address, is sent by the micro-controller over MOSI, and
has a “0” as its MSB to indicate data direction. The second byte contains the data and is driven by the ADNS-3050 over
MISO. The sensor outputs MISO bits on falling edges of SCLK and samples MOSI bits on every rising edge of SCLK.
NCS
SCLK
Cycle #
1
2
3
4
5
6
7
0
A6
A5
A4
A3
A2
A1
8
9
10
11
12
13
14
15
16
D7
D6
D5
D4
D3
D2
D1
D0
SCLK
MOSI
MISO
Figure 14. Read Operation
A0
tSRAD DELAY
SCLK
tDLY-MISO
MISO
tHOLD-MISO
D0
Note: The 500 ns minimum high state of SCLK is also the minimum
MISO data hold time of the ADNS-3050. Since the falling edge of SCLK is
actually the start of the next read or write command, the ADNS-3050 will
hold the state of data on MISO until the falling edge of SCLK.
Figure 15. MISO delay
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
12
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Required Timing between Read and Write Commands
There are minimum timing requirements between read and write commands on the serial port.
tSWW
SCLK
ADDRESS
DATA
ADDRESS
WRITE OPERATION
DATA
WRITE OPERATION
Figure 16. Timing between Two Write Commands
Timing between Two Write Commands
If the rising edge of the SCLK for the last data bit of the second write command occurs before the required delay (tSWW ),
then the first write command may not complete correctly.
tSWR
ttt
SCLK
ADDRESS
DATA
ADDRESS
ttt
WRITE OPERATION
NEXT READ OPERATION
Figure 17. Timing between Write and Read Commands
Timing between Write and Read Commands
If the rising edge of SCLK for the last address bit of the read command occurs before the required delay (tSWR), the write
command may not complete correctly.
tSRW & tSRR
tSRAD
ttt
SCLK
ADDRESS
DATA
ADDRESS
ttt
READ OPERATION
NEXT READ
or WRITE OPERATION
Figure 18. Timing between Read and Subsequent Write or Read Commands
Timing between Read and Subsequent Write or Read Commands
During a read operation SCLK should be delayed at least tSRAD after the last address data bit to ensure that the ADNS3050 has time to prepare the requested data. The falling edge of SCLK for the first address bit of either the read or write
command must be at least tSRR or tSRW after the last SCLK rising edge of the last data bit of the previous read operation.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
13
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Motion Detection Routine
Mode
Motion Polling
MOTION Interrupt
Wired
Yes
Yes
Wireless
Not Supported
Yes
Power Up Reset
Although ADNS-3050 does have an internal power up self
reset circuitry, it is still highly recommended to follow the
power up sequence below every time power is applied.
i. Apply power
Motion Polling
ii. Drive NCS high, then low to reset the SPI port
The micro-controller will poll the sensor for valid motion
data by checking on the MOTION_ST bit of MOTION_ST
register in a periodic cycle. If MOTION_ST bit is set, motion data in DELTA_X and DELTA_Y registers are valid and
ready to be read out by the micro-controller.
iii. Write 0x5a to register 0x3a
Motion polling sequence:
vi. Write 0x00 to register 0x41
1. Read MOTION_ST bit of MOTION_ST register. If
MOTION_ST bit = 1, go to step 2.
2. Read DELTA_X and DELTA_Y registers consecutively
3. Optional: Read PROD_ID register to check for
communication link or sensor functionality. This
Product ID verification MUST be done only after
reading MOTION_ST, DELTA_X and DELTA_Y registers.
iv. Wait for at least tSWW (or tWAKEUP when performing
reset to wake up from Power Down)
v. Write 0x20 to register 0x0d
vii. Configure the desired sensor settings accordingly
Reset
ADNS-3050 can be reset by following power up reset sequence. A full reset will thus be executed and any register settings must be reloaded. The table below shows the
state of the various pins during reset.
State of Signal Pins after VDD is Valid
Motion polling is recommended to be used in the corded
application like USB gaming mouse that requires fast motion response. This feature is not supported in wireless
mode.
MOTION Interrupt
MOTION output signal (pin 3) can be used as interrupt
input to the micro-controller of the mouse triggering the
read command of motion data from the sensor whenever
there is motion detected by the sensor. The MOTION signal
is active low level-triggered output. The MOTION pin level
will be driven low as long the MOTION_ST bit in register
0x02 is set and motion data in DELTA_X and DELTA_Y registers ready to be read out by the micro-controller. Once
all the motion data has been read, DELTA_X and DELTA_Y
values become zero, MOTION bit is reset and the MOTION
pin level is driven high again.
During Reset
After Reset
NCS
Ignored
Functional
MISO
Low
Depends on NCS
SCLK
Ignored
Depends on NCS
MOSI
Ignored
Depends on NCS
LED
High
Functional
Power Down
The ADNS-3050 can be set to power down mode by writing 0xE7 to register 0x3B to disable the sensor. The SPI port
should not be accessed during power down. Other ICs on
the same SPI bus can be accessed, as long as the sensor‘s
NCS pin is not asserted. The table below shows the state
of various pins during power down. To exit Power Down,
reset the sensor in order to wake it up. A full reset will thus
be executed. Wait tWAKEUP before accessing the SPI port.
Any register settings must then be reloaded.
MOTION Interrupt sequence:
1. When MOTION pin = Low, Read DELTA_X and DELTA_Y
registers consecutively.
2. Optional: Read PROD_ID register to check for
communication link or sensor functionality. This
Product ID verification MUST be done only after
reading MOTION_ST, DELTA_X and DELTA_Y registers.
MOTION interrupt should be implemented in wireless
application to lengthen battery life. It is very useful as
the main control of power management to wake up micro-controller and radio in the wireless system from rest
modes.
Pin
Pin
During Power Down
MOTION
Undefined
NCS
Functional*
MOSI
Functional*
SCLK
Functional*
MISO
Undefined*
*Notes:
•
•
NCS pin must be held to 1(HIGH) if SPI Bus is shared with other
devices, it can be in either state if the sensor is the only device to
connect to the host micro controller
Reading on register should only be performed after existing from the
power down mode. Any read operation during power down will not
reflect the actual data of the register.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
14
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Low Power Management for Wireless Mode
Example of pseudo code in C language:
The ADNS-3050 has three power-saving modes: Rest 1,
Rest 2 and Rest 3 when wireless mode is enabled. Each
mode can be configured to a different motion detection
period, affecting response time to mouse motion (Response Time). The sensor automatically changes to the
appropriate mode, depending on the time since the last
reported motion (Downshift Time). The Response Time
and Downshift Time for each mode are configurable via
register addresses, 0x0e to 0x13.
If (MOTION)
To enable wireless mode for low power management with
optimized tracking performance, implement the following steps after sensor power up reset sequence.
EA = 1;
i. Enable power-saving modes by setting F_AWAKE bit =
0 in NAV_CTRL2 register.
{
//Read sensor motion data and pixel statistic
EA = 0;
SHUTTER_HI = spi_read_sensor(ADNS3050_SHUT_HI_ADDR);
SHUTTER_LO= spi_read_sensor(ADNS3050_SHUT_LO_ADDR);
SQUAL = spi_read_sensor(ADNS3050_SQUAL_ADDR);
PIXEL_ACCUM = spi_read_sensor(ADNS3050_PIX_ACCUM_ADDR);
SHUTTER = (double)SHUTTER_HI*256+(double)SHUTTER_LO;
AVERAGE_SHUTTER = 1024*(double)PIXEL_ACCUM/SHUTTER;
// Lift detection monitoring
ii. Write 0x26 to register 0x35
if(AVERAGE_SHUTTER<440 && SQUAL<55)
iii. Write 0x30 to register 0x14
{
iv. Write 0x30 to register 0x18
SYS_deltaX = 0; //Motion data suppression
v. Write 0x01 to register 0x43
SYS_deltaY = 0; //Motion data suppression
vi. Write 0x01 to register 0x40
}
Lift Detection Cutoff Algorithm
}
When the mouse is raised from the tracking surface which
is also known as lifted condition, there is a specific z-height
whereby the tracking of the sensor will cease. However
the tracking cutoff height of the ADNS-3050 sensor varies
with the different tracking surfaces. In general to have a
lower tracking cutoff height than the default settings, the
algorithm illustrated in the form of a pseudo code is recommended as Z-height monitoring routine in the microcontroller firmware.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
15
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
Registers
The ADNS-3050 registers are accessible via the serial port. The registers are used to read motion data and status as well
as to set the device configuration.
Address
Register Name
Register Description
Read/Write
Default Value
0x00
PROD_ID
Product ID
R
0x09
0x01
REV_ID
Revision ID
R
0x00
0x02
MOTION_ST
Motion Status
R/W
0x00
0x03
DELTA_X
Delta_X
R
0x00
0x04
DELTA_Y
Delta_Y
R
0x00
0x05
SQUAL
Squal Quality
R
0x00
0x06
SHUT_HI
Shutter Open Time (Upper 8-bit)
R
0x01
0x07
SHUT_LO
Shutter Open Time (Lower 8-bit)
R
0x00
0x08
PIX_MAX
Maximum Pixel Value
R
0x00
0x09
PIX_ACCUM
Average Pixel Value
R/W
0x00
0x0a
PIX_MIN
Minimum Pixel Value
R
0x00
0x0b
PIX_GRAB
Pixel Grabber
R/W
0x00
0x0d
MOUSE_CTRL
Mouse Control
R/W
0x01
0x0e
RUN_DOWNSHIFT
Downshift Time from Run to Rest 1
R/W
0x46
0x0f
REST1_PERIOD
Time Period of Rest 1
R/W
0x00
0x10
REST1_DOWNSHIFT
Downshift Time from Rest 1 to Rest 2
R/W
0x4f
0x11
REST2_PERIOD
Time Period of Rest 2
R/W
0x09
0x12
REST2_DOWNSHIFT
Downshift Time from Rest 2 to Rest 3
R/W
0x2f
0x13
REST3_PERIOD
Time Period of Rest 3
R/W
0 x31
0x1c
SHUT_THR
Shutter Threshold
R/W
0x41
0x1d
SQUAL_THRESHOLD
Squal Threshold
R/W
0x3d
0x22
NAV_CTRL2
LED Mode Configuration
R/W
0x00
0x25
MISC_SETTINGS
DCR and wakeup settings Register
R/W
0x61
0x33
RESOLUTION
Full Resolution Register
R/W
0x04
0x34
LED_PRECHARGE
LED precharge time Register
R/W
0xa0
0x3a
RESET
Reset
W
0x00
0x3b
SHUTDOWN
Shutdown Register
W
0x00
0x3f
NOT_REV_ID
Inverted Revision ID
R
0xff
0x45
REST_MODE_CONFIG
Rest Mode Configuration
R/W
0x00
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
16
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
PROD_ID
Address: 0x00
Access: Read
Reset Value: 0x09
Bit 7
Field PID7
6
5
4
3
2
1
0
PID6
PID5
PID4
PID3
PID2
PID1
PID0
Data Type: 8-Bit unsigned integer
USAGE:
This register contains a unique identification assigned to the ADNS-3050. The value in this register does
not change; it can be used to verify that the serial communications link is functional. If using this register to
verify serial communications link during rest modes, please read following registers in this sequence: 0x00,
0x02, 0x03, 0x04, 0x00 (regardless of register 0x02’s status). If both or either one of the read 0x00 value is
correct, no additional action is required as the serial communication link is good. Only if both read 0x00
value attempts are wrong, perform a reset operation to the sensor to restore the serial communications link.
Note: Highly recommended to use Motion pin function during rest modes for motion detection in wireless mode.
REV_ID
Address: 0x01
Access: Read
Reset Value: 0x00
Bit 7
Field RID7
6
5
4
3
2
1
0
RID6
RID5
RID4
RID3
RID2
RID1
RID0
Data Type: 8-Bit unsigned integer
USAGE:
This register contains the IC revision. It is subject to change when new IC versions are released.
MOTION_ST
Address: 0x02
Access: Read/Write
Reset Value: 0x00
Bit 7
6
Field MOTION_ST RSVD
5
4
3
2
1
0
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Data Type: Bit field.
USAGE:
Register 0x02 allows the user to determine if motion has occurred since the last time it was read. If the
MOTION_ST bit is set, then the user should read registers 0x03 (DELTA_X) and 0x04 (DELTA_Y) to get the
accumulated motion data. Read this register before reading the DELTA_X and DELTA_Y registers. Writing any
data into this register clears MOTION_ST bit, DELTA_X and DELTA_Y registers. However the written data byte
will not be saved.
Bit
Field Name
7
MOTION_ST
Description
Motion detected since last report
0 = No motion (default)
1 = Motion occurred, data in DELTA_X and DELTA_Y registers
ready to be read
6-0
RSVD
Reserved
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
17
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
DELTA_X
Address: 0x03
Access: Read
Reset Value: 0x00
Bit 7
6
5
4
3
2
1
0
Field X7
X6
X5
X4
X3
X2
X1
X0
Data Type: Eight bit 2’s complement number.
USAGE:
X-axis movement in counts since last report. Absolute value is determined by resolution.
Reading this register clears the content of this register.
Motion
-128
-127
-2
-1
0
+1
+2
+126
+127
Delta_X
80
81
FE
FF
00
01
02
7E
7F
NOTE: Pixart Recommend that register 0x03 and 0x04 to be read consecutively
DELTA_Y
Address: 0x04
Access: Read
Reset Value: 0x00
Bit 7
6
5
4
3
2
1
0
Field Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
Data Type: Eight bit 2’s complement number.
USAGE:
Y-axis movement in counts since last report. Absolute value is determined by resolution.
Reading this register clears the content of this register.
Motion
-128
-127
-2
-1
0
+1
+2
+126
+127
Delta_Y
80
81
FE
FF
00
01
02
7E
7F
NOTE: Pixart Recommend that register 0x03 and 0x04 to be read consecutively
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
18
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
SQUAL
Address: 0x05
Access: Read
Reset Value: 0x00
Bit 7
Field SQ7
6
5
4
3
2
1
0
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Upper 8 bits of a 9-bit unsigned integer.
USAGE:
SQUAL (Surface Quality) is a measure of the number of valid features visible by the sensor in the current
frame. The maximum SQUAL register value is 128. Since small changes in the current frame can result in
changes in SQUAL, variations in SQUAL when looking at a surface are expected. The graph below shows 800
sequentially acquired SQUAL values, while a sensor was moved slowly over white paper. SQUAL is nearly
equal to zero, if there is no surface below the sensor. SQUAL is typically maximized when the navigation
surface is at the optimum distance from the imaging lens (the nominal Z-height).
Squal (White Paper)
60
50
Squal value
40
30
20
10
784
755
726
697
668
639
610
581
552
523
494
465
436
407
378
349
320
291
262
233
204
175
146
88
117
59
1
30
0
Count
Figure 20. Squal values (white paper)
Mean SQUAL vs Z (White Paper)
Squal count
60
50
Avg-3sigma
40
Avg
Avg+3sigma
30
20
10
0
-10
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
Distance from Lens Reference Plane to Tracking Surface - Z (mm)
Figure 21. Mean squal vs. Z (White Paper)
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
19
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
SHUT_HI
Address: 0x06
Access: Read
Reset Value: 0x01
Bit 7
Field S15
6
5
4
3
2
1
0
S14
S13
S12
S11
S10
S9
S8
SHUT_LO
Address: 0x07
Access: Read
Reset Value: 0x00
Bit 7
6
5
4
3
2
1
0
Field S7
S6
S5
S4
S3
S2
S1
S0
Data Type: Sixteen bit unsigned integer.
USAGE:
Units are in clock cycles. Read SHUT_HI first, then SHUT_LO. They should be read consecutively. The shutter is
adjusted to keep the average and maximum pixel values within normal operating ranges. The shutter value
is automatically adjusted.
Count
Figure 22. Shutter (white paper).
Shutter value
Mean Shutter vs Z (White paper)
600
550
500
450
400
350
300
250
200
150
100
50
0
Avg-3sigma
Avg
Avg+3sigma
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
Distance from Lens Reference Plane to Tracking Surface - Z (mm)
Figure 23. Mean shutter vs. Z (white paper).
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
PixArt Imaging Inc.
E-mail: [email protected]
20
784
757
730
703
676
649
622
595
568
541
514
487
460
433
406
379
352
325
298
271
244
217
190
163
136
82
109
55
1
28
Shutter value
Shutter (White Paper)
500
450
400
350
300
250
200
150
100
50
0
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
PIX_MAX
Address: 0x08
Access: Read
Reset Value: 0x00
Bit 7
Field MP7
6
5
4
3
2
1
0
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Eight-bit number.
USAGE:
Store the highest pixel value in current frame. Minimum value = 0, maximum value = 254.
The highest pixel value may vary with different frame.
PIX_ACCUM
Address: 0x09
Access: Read/Write
Reset Value: 0x00
Bit 7
Field AP7
6
5
4
3
2
1
0
AP6
AP5
AP4
AP3
AP2
AP1
AP0
Data Type: High 8-bits of an unsigned 17-bit integer.
USAGE:
This register stores the accumulated pixel value of the last image taken. This register can be used to find the
average pixel value, where Average Pixel = (register value AP[7:0])* 1.058
The maximum accumulated value is 122936 but only bits [16:9] are reported, therefore the maximum register
value is 240. The minimum is 0. The PIX_ACCUM value may vary with different frame.
PIX_MIN
Address: 0x0a
Access: Read
Reset Value: 0x00
Bit 7
Field MP7
6
5
4
3
2
1
0
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Eight-bit number.
USAGE:
Store the lowest pixel value in current frame. Minimum value = 0, maximum value = 254.
The minimum pixel value may vary with different frame.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
21
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
PIX_GRAB
Address: 0x0b
Access: Read/Write
Reset Value: 0x00
Bit 7
Field PG_VALID
6
5
4
3
2
1
0
PG6
PG5
PG4
PG3
PG2
PG1
PG0
Data Type: Eight bit word.
USAGE:
NOTE:
The pixel grabber captures 1 pixel per frame. Bit-7 (MSB) of this register will be set to indicate that the 7-bit
pixel data (PG[6:0]) is valid for grabbing. In a 19x19 pixel array, it will take 361 read operations to grab all the
pixels to form the complete image.
Bit(s)
Field Name
Description
7
PG_VALID
Pixel Grabber Valid
6:0
PG[6:0]
Pixel Data
Any write operation into this register will reset the grabber to origin (pixel 0 position). The sensor should not
be moved before the 361 read operations are completed to ensure original data is grabbed to produce good
(uncorrupted) image.
19 x 19 Pixel Array Address Map – (Surface reference view from top of mouse)
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
Last
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
0 First
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Top X-ray View of Mouse
Button
Left
+ve
Y
4
5
3
6
2
7
1
8
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
22
PixArt Imaging Inc.
E-mail: [email protected]
Button
Right
Pin 1
LED
+ve X
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
MOUSE_CTRL
Address: 0x0d
Access: Read/Write
Reset Value: 0x01
Bit 7
Field RSVD
6
5
4
3
2
1
0
RSVD
1
RES2
RES1
RES0
PD
0
Data Type: Bit field.
USAGE:
Resolution and chip reset information can be accessed or to be edited by this register.
Bit
Field Name
Description
5
1
Must set to 1
4:2
RES [2:0]
Set the resolution of sensor
000: 1000 dpi (default)
001: 250 dpi
010: 500 dpi
011: 1250 dpi
100: 1500 dpi
101: 1750 dpi
110: 2000 dpi
Reserved
0
Reserved
Reserved
0
Must set to 0
Note: As the sensor resolution increases, slight performance degradation on certain surfaces may be observed.
For higher than 500 dpi setting, use 12-bit motion reporting to achieve the maximum speed.
RUN_DOWNSHIFT
Address: 0x0e
Access: Read/Write
Reset Value: 0x46
Bit 7
Field RUD7
6
5
4
3
2
1
0
RUD6
RUD5
RUD4
RUD3
RUD2
RUD1
RUD0
Data Type: Eight bit number.
USAGE:
This register sets the Run to Rest1 mode downshift time. The configurable value is range from 0x46 to 0xff.
Min value for this register must be 0x46 or 70 in decimal.
Units are 16 frames (about 430ms@2600fps)
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
23
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
REST1_PERIOD
Address: 0x0f
Access: Read/Write
Reset Value: 0x00
Bit 7
Field RIP7
6
5
4
3
2
1
0
RIP6
RIP5
RIP4
RIP3
RIP2
RIP1
RIP0
Data Type: Eight bit number.
USAGE:
This register sets the Rest1 time period in seconds. Min value for this register is 0. Max value is 0xFD.
Rest 1 Period = (Register value (decimal) +1) x 0.007
NOTE:
Writing into this register when the sensor itself is operating in this rest mode may result in unexpected
behavior of the sensor. To avoid this from happening, below commands should be incorporated prior and
after the write command into this register.
i.
Write 0x80 to register 0x22H prior to writing into this register
ii.
Writing the desired value to this REST1_PERIOD register
iii.
Write 0x00 to register 0x22H after to writing into this register
REST1_DOWNSHIFT
Address: 0x10
Access: Read/Write
Reset Value: 0x4f
Bit 7
Field R1D7
6
5
4
3
2
1
0
R1D6
R1D5
R1D4
R1D3
R1D2
R1D1
R1D0
Data Type: Eight bit number.
USAGE:
This register sets the Rest1 to Rest2 mode downshift time.
Rest 1 Downshift Time = (Register value (decimal) x (Rest1 period) x 16. Min value for this register is 0.
REST2_PERIOD
Address: 0x11
Access: Read/Write
Reset Value: 0x09
Bit 7
Field R2P7
6
5
4
3
2
1
0
R2P6
R2P5
R2P4
R2P3
R2P2
R2P1
R2P0
Data Type: Eight bit number.
USAGE:
This register sets the Rest2 period in seconds. Min value for this register is 0. Max value is 0xFD.
Rest 2 Period = (Register value (decimal) +1) x 0.007
NOTE: Writing into this register when the sensor itself is operating in this rest mode may result in unexpected
behavior of the sensor. To avoid this from happening, below commands should be incorporated prior and
after the write command into this register.
i. Write 0x80 to register 0x22H prior to writing into this register
ii. Writing the desired value to this REST2_PERIOD register
iii. Write 0x00 to register 0x22H after to writing into this register
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
24
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
REST2_DOWNSHIFT
Address: 0x12
Access: Read/Write
Reset Value: 0x2f
Bit 7
Field R2D7
6
5
4
3
2
1
0
R2D6
R2D5
R2D4
R2D3
R2D2
R2D1
R2D0
Data Type: Eight bit number
USAGE:
This register sets the Rest1 to Rest2 mode downshift time. Min value for this register is 0.
Rest 2 Downshift Time = (Register value (decimal) x (Rest2 period) x 128
REST3_PERIOD
Address: 0x13
Access: Read/Write
Reset Value: 0x31
Bit 7
Field R3P7
6
5
4
3
2
1
0
R3P6
R3P5
R3P4
R3P3
R3P2
R3P1
R3P0
Data Type: Eight bit number.
USAGE:
This register sets the Rest3 period in seconds. Min value for this register is 0. Max value is 0xFD.
Rest 3 Period = (Register Value (decimal) +1) x 0.007
NOTE: Writing into this register when the sensor itself is operating in this rest mode may result in unexpected
behavior of the sensor. To avoid this from happening, below commands should be incorporated prior and
after the write command into this register.
i. Write 0x80 to register 0x22H prior to writing into this register
ii. Writing the desired value to this REST3_PERIOD register
iii. Write 0x00 to register 0x22H after to writing into this register
PREFLASH_RUN
Address: 0x14
Access: Read/Write
Reset Value: 0x80
Bit 7
Field PREFLASH_
6
5
4
3
2
1
0
PREFLASH_T
PREFLASH_T
PREFLASH_T
PREFLASH_T
PREFLASH_T
PREFLASH_T
PREFLASH_T
CTRL
Data Type: Bit field
USAGE:
This register usage is to turn on LED to saturate sensor array before electronic shutter is open.
Bit
Field Name
Description
7
PREFLASH_CTRL
0: Preflash control during idle state.
1: Preflash control during processing state.
6:0
PREFLASH_T
PREFLASH_T
PREFLASH_CTRL=1: Preflash time = Processing time PREFLASH_T*32*clk_period + Idle time
PREFLASH_CTRL=0: Preflash time =
PREFLASH_T*64*clk_period
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
25
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
PREFLASH_RUN_DARK
Address: 0x18
Access: Read/Write
Reset Value: 0x80
Bit 7
Field PREFLASH_
CTRL_D
6
5
4
3
2
1
0
PREFLASH_
T_D
PREFLASH_
T_D
PREFLASH_
T_D
PREFLASH_
T_D
PREFLASH_
T_D
PREFLASH_
T_D
PREFLASH_
T_D
Data Type: Bit field
USAGE:
This register usage is to turn on LED to saturate sensor array before electronic shutter is open on dark surface.
Bit
Field Name
Description
7
PREFLASH_CTRL_D
0: Preflash control during idle state.
1: Preflash control during processing state.
6:0
PREFLASH_T_D
PREFLASH_T_D
PREFLASH_CTRL=1: Preflash time = Processing time PREFLASH_T_D*32*clk_period + Idle time
PREFLASH_CTRL=0: Preflash time =
PREFLASH_T_D*64*clk_period
[if PREFLASH_T_D > Processing time/32 (~110 counts),
Preflash time = Idle time]
MOTION_EXT
Address: 0x1b
Access: Read
Reset Value: 0x00
Bit 7
Field MOT_EXT
6
5
4
3
2
1
0
PG_VALID
PG_FIRST
DEL_Y_
OVERFLOW
DEL_X_
OVER FLOW
RSVD
RSVD
RSVD
Data Type: Bit field
USAGE:
This register is store the status of current motion that occurred.
Bit
Field Name
Description
7
MOTION_EXT
0: No Motion default
1: Motion occurred
6
PG_VALID
1: Pixel Grabber Valid
5
PG_FIRST
1: Pixel Grabber First
4
Delta Y overflow
0: No Overflow
1: Delta Y overflow
3
Delta X overflow
0: No Overflow
1: Delta Y overflow
2:0
Reserved
Reserved
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
26
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
SHUT_THR
Address: 0x1c
Access: Read/Write
Reset Value: 0x41
Bit 7
Field SHT_THR
6
5
4
3
2
1
0
SHT_THR
SHT_THR
SHT_THR
SHT_THR
SHT_THR
SHT_THR
SHT_THR
Data Type: Bit field
USAGE:
This register is used to configure the rest mode run downshift frame operation of the sensor with the shutter
time.
Bit
Field Name
Description
7:0
SHUT_THRESH
Shutter Threshold
SQUAL_THRESHOLD
Address: 0x1d
Access: Read/Write
Reset Value: 0x3d
Bit 7
6
5
4
3
2
1
0
Field ST
ST
ST
ST
ST
PT
PT
PT
Data Type: Bit field
USAGE:
This register is used to configure the surface quality limit of the sensor.
Bit
Field Name
Description
7:3
ST
Minimum number of features to navigate
2:0
PT
Minimum size of feature to be usable.
NAV_CTRL2
Address: 0x22
Access: Read/Write
Reset Value: 0x00
Bit 7
Field F_AWAKE
6
5
4
3
2
1
0
0
0
RSVD
RSVD
RSVD
RSVD
RSVD
Data Type: Bit field
USAGE:
This register is used to configure the rest mode operation of the sensor.
Bit
Field Name
Description
7
F_AWAKE
Enable/Disable rest mode
0: Enabled rest mode
1: Disabled rest mode. (Default)
6:5
0
Must be set to 0
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
27
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
MISC_SETTINGS
Address: 0x25
Access: Read/Write
Reset Value: 0x61
Bit 7
Field MSR
6
5
4
3
2
1
0
RSVD
RSVD
RSVD
MSR
DS
DS
DS
Data Type: Bit field
USAGE:
This register is used to configure the DCR and wakeup settings register.
Bit
Field Name
Description
7
Reserved
Reserved
6:4
MSR
Minimum number of feature to wakeup from rest unit in
multiple of min_sq_run
3
Reserved
Reserved
2:0
DS
Number of bits to shift off dcr (decorrelation if correlation
threshold < auto correlation)
RESOLUTION
Address: 0x33
Access: Read/Write
Reset Value: 0x04
Bit 7
Field RSVD
6
5
4
3
2
1
0
RSVD
RSVD
RES_EN
DPI
DPI
DPI
DPI
Data Type: Bit field
USAGE:
This register is used to configure the resolution of the sensor.
Bit
Field Name
Description
7:5
Reserved
Reserved
4
RES_EN
0: Disable resolution setting
1: Enable resolution setting
3:0
DPI
0x00: 4000dpi
0x01: 250dpi
0x02: 500dpi
0x03: 750dpi
0x04: 1000dpi
0x05: 1250dpi
0x06: 1500dpi
0x07: 1750dpi
0x08: 2000dpi
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
28
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
LED_PRECHARGE
Address: 0x34
Access: Read/Write
Reset Value: 0xa0
Bit 7
Field LED_PRE
6
5
4
3
2
1
0
LED_PRE
LED_PRE
LED_PRE
LED_PRE
LED_PRE
LED_PRE
LED_PRE
Data Type: Bit field
USAGE:
This register is used to configure the LED precharge of the sensor. The default pre flash is about 190uS for
nominal clock of 26MHz~28Mhz.
Bit
Field Name
Description
7:0
LED_PRECHARGE
precharge time (in clock counts) = LED_PRECHARGE" *32 + 30
FRAME_IDLE
Address: 0x35
Access: Read/Write
Reset Value: 0x00
Bit 7
Field FRAME_IDLE
6
5
4
3
2
1
0
FRAME_IDLE
FRAME_IDLE
FRAME_IDLE
FRAME_IDLE
FRAME_IDLE
FRAME_IDLE
FRAME_IDLE
Data Type: Eight Bit Unsigned Integer
USAGE:
This register is used to control the frame rate. The value in this register is used to add frame idling time, which
effectively reduces the frame rate.
frame_idle_time (in clock counts) = (register value) * 32
Frame period (in clock counts) = shutter_time (reg 0x06 and reg 0x07) + (3400 clocks) + frame_idle_time
When this register is set to 0x00, the maximum frame rate is about 6666 fps @26MHz internal clock frequency
Bit
Field Name
Description
7:0
FRAME_IDLE
Frame Idling time(in clock counts)=FRAME_IDLE*32
POWER_UP_RESET
Address: 0x3a
Access: Write
Reset Value: 0x00
Bit 7
Field RESET
6
5
4
3
2
1
0
RESET
RESET
RESET
RESET
RESET
RESET
RESET
Data Type: Bit field
USAGE:
This register is used to configure the resolution of the sensor.
Bit
Field Name
Description
7:0
POWER_UP_RESET
Power up reset. 0x5a/0x5b for full reset. 0x96/0x97 for partial reset.
SHUTDOWN
Address: 0x3b
Access: Write
Reset Value: 0x00
Bit 7
Field SD
6
5
4
3
2
1
0
SD
SD
SD
SD
SD
SD
SD
Data Type: Bit field
This register is used to shut down the sensor
USAGE:
Bit
Field Name
Description
7:0
SHUTDOWN
Chip Shutdown
Write 0xe7 to power down sensor.
Write 0x5a to register 0x3a to reset the sensor in order to wake-up
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed o any other forms without permission.
29
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
INV_REV_ID
Address: 0x3f
Access: Read
Reset Value: 0xff
Bit 7
Field RRID7
6
5
4
3
2
1
0
RRID6
RRID5
RRID4
RRID3
RRID2
RRID1
RRID0
Data Type: Eight bit unsigned integer
USAGE:
This register contains the inverse of the revision ID which is located at register 0x01.
LED_CTRL
Address: 0x40
Access: Read/Write
Reset Value: 0x00
Bit 7
Field RSVD
6
5
4
3
2
1
0
RSVD
RSVD
RSVD
LED_CONT_OFF
LED_CONT_OFF
LED_SEL
LED_SEL
Data Type: Eight bit unsigned integer.
USAGE:
This register is used to control the LED operating mode and current to optimization the power consumption.
Bit
Field Name
Description
7:4
Reserved
Reserved
3
LED_CONT_OFF
0: Normal operation (Default)
1: LED continuous off
2
LED_CONT_ON
0: Normal operation (Default)
1: LED continuous on
1:0
LED_SEL
0x00: LED current set to 20mA
0x01: LED current set to 15mA
0x02: LED current set to 36mA
0x03: LED current set to 30mA
Note: if LED operating in Automatic current switching mode (AUTO_LED_CONTROL [0] at address 0x43 is cleared,
LED current selling (LED_CONTROL) [1:0]) will be ignored. Only when AUTO current switching is disabled through
setting AUTO_LED_CONTROL [0], the LED driver current is determine by LED_CONTROL [1:0].
MOTION_CTRL
Address: 0x41
Access: Read/Write
Reset Value: 0x40
Bit 7
Field MOT_ACT_HI
6
5
4
3
2
1
0
MOT_SENS
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Data Type: Eight bit unsigned integer.
USAGE:
This register is used to configure sensor motion control.
Bit
Field Name
Description
7
MOTION_ACTIVE_HI
0: Motion active low (default)
1: Motion active high
6
MOTION_SENSITIVITY
0: Motion pin is level sensitive
1: Motion pin is edge sensitive(default)
5:0
Reserved
Reserved
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
30
PixArt Imaging Inc.
E-mail: [email protected]
PixArt Imaging Inc.
E^ͲϯϬϱϬŶƚƌLJͲůĞǀĞů'ĂŵŝŶŐKƉƚŝĐĂůEĂǀŝŐĂƚŝŽŶ^ĞŶƐŽƌ
AUTO_LED_CONTROL
Address: 0x43
Access: Read/Write
Reset Value: 0x08
Bit 7
Field RSVD
6
5
4
3
2
1
0
RSVD
RSVD
RSVD
LED_HI
LED_HI
AUTO_LED_DS
AUTO_LED_DS
Data Type: Bit field
USAGE:
This is a “smart” LED drive feature whereby the LED current is self adjusting between the low and high current
settings (bit 3:1) according to the brightness of the tracking surface if this feature is enable (via clearing bit 0).
The brighter the surface, the lower the LED current will be. If A_LED_DIS (bit 0) is set, this means AUTO_LED
mode is disable, then the LED current determine by LSEL[1:0] setting in LED_CTRL register (0x40).
Bit
Field Name
Description
7:4
Reserved
Reserved
3:2
LED_HI
0x0: Auto LED high current is 15mA
0x1: Auto LED high current is 20mA
0x2: Auto LED high current is 30mA
0x3: Auto LED high current is 36mA
1
LED_LO
0x0: Auto LED low current is 15mA
0x1: Auto LED low current is 20mA
0
AUTO_LED_DIS
0x0: Enable Auto LED current switching
0x1: Disable Auto LED current switching
NOTE:
When AUTO LED is enable, the AUTO_LED current will be switched between low and high current setting
determined by LED_LO and LED_HI [1:0]. If LED_LO current setting is higher than the LED_HI, the current will
be based on the higher setting. For example if the LED_LO is 20mA and LED_HI is 15mA, the AUTOLED current
will be fixed at 20mA.
REST_MODE_CONFIG
Address: 0x45
Access: Read/Write
Reset Value: 0x00
Bit 7
Field RM1
6
5
4
3
2
1
0
RM0
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Data Type: Eight bit unsigned integer.
USAGE:
This register is used to set the operating mode of the ADNS-3050.
Bit(s)
Field Name
Description
7:6
RM[1:0]
Sensor Operating Mode
0x00: Normal (default)
0x01: Rest 1
0x02: Rest 2
0x03: Rest 3
5:0
RSVD
Reserved
Read operation to REST_MODE_CONFIG indicates which mode the sensor is in. Write operation into this register
will force the sensor into rest modes (Rest 1, 2 or 3). Write the value 0x40 into 0x45 register to force sensor into
Rest 1, 0x80 to Rest 2 or 0xC0 to Rest 3. To get out of any forced rest mode, write 0x00 into this register to set
back to normal mode.
All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission.
PixArt Imaging Inc.
E-mail: [email protected]