AVAGO ADNS-5060 Self-adjusting frame rate for optimum performance Datasheet

ADNS-5060
Optical Mouse Sensor
Data Sheet
Description
Features
The ADNS-5060 is a mainstream, small form factor optical
mouse sensor. It is used to implement a non mechanical
tracking engine for computer mice.
• Small form factor, pin-to-pin compatible with
ADNS-26x0
It 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.
• Built-in LED driver for simpler circuitry
The sensor is housed in an 8-pin staggered dual
inline package (DIP). It is designed for use with the
HDNS-2100 round lens or HDNS-2100#001 trim lens,
HLMP-ED80-xx000, and the HDNS-2200 LED Clip,
providing an optical mouse solution that is compact
and affordable. There are no moving parts, so precision
optical alignment is not required, thereby facilitating high
volume assembly.
• Internal oscillator – no clock input needed
The output format is a two wire serial port. The current X
and Y information are available in registers accessed via
the serial port.
• Register-to-register compatible with ADNS-26x0
• High speed motion detection up to 30ips and 8g
• Self-adjusting frame rate for optimum performance
• Default 1050cpi resolution, adjustable from 150 to
1350cpi via 150cpi step
• Operating voltage: 5V nominal
• Two-wire serial interface
Applications
• Optical Mice
• Optical trackballs
• Integrated input devices
The ADNS-5060 is capable of high-speed motion detection
– up to 30ips and 8g. In addition, it has an on-chip
oscillator and built-in LED driver to minimize external
components. Frame rate is also adjusted internally.
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.
Theory of Operation
The ADNS-5060 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 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.
The ADNS-5060 contains an Image Acquisition System
(IAS), a Digital Signal Processor (DSP), and a two wire serial
port.
An external microcontroller reads the Δx and Δy information from the sensor serial port. The microcontroller then
translates the data into PS2 or USB signals before sending
them to the host PC.
Pinout of ADNS-5060 Optical Mouse Sensor
Name
Description
1
NC
No Connect
I/O type
2
NC
No Connect
3
SDIO
Serial Port Data
I/O
4
SCLK
Serial Port Clock
I
5
LED_CNTL
Digital Shutter Signal Out
O
6
GND
System Ground
Ground
7
VDD5
5V DC Input
Power
8
REFA
Internal Reference
O
LED_CNTL
5
GND
6
VDD5
7
REFA
8
A5060 XYYWWZ
Pin
Figure 1. Package outline drawing (top view)
4
SCLK
3
SDIO
2
NC
1
NC
Figure 2. Package outline drawing
Overview of Optical Mouse Sensor Assembly
Avago Technologies provides an IGES file drawing describing the base plate molding features for lens and PCB
alignment.
The ADNS-5060 sensor is designed for mounting on a
through-hole PCB, looking down. There is an aperture
stop and features on the package that align to the lens.
The HDNS-2100/2100#001 lens provides optics for the
imaging of the surface as well as illumination of the
Figure 3. Recommended PCB mechanical cutouts and spacing
surface at the optimum angle. Features on the lens align it
to the sensor, base plate, and clip with the LED.
The HDNS-2200 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-ED80 LED is recommended for illumination.
Figure 4. 2D Assembly drawing of ADNS-5060 (top and side view)
Clip
(HDNS-2200#001)
Sensor
LED
(HLMP-ED80)
Customer supplied
PCB
Lens
(HDNS-2100/
HDNS-2100#001)
Customer supplied
base plate with
recommended
alignment features
per IGES drawing
Figure 5. Exploded view drawing
PCB Assembly Considerations
Design considerations for improved ESD Performance
1. Insert the sensor and all other electrical components
into PCB.
For improved electrostatic discharge performance, typical
system creepage and clearance distance are shown in the
table below.
2. Insert the LED into the assembly clip and bend the
leads 90 degrees.
3. Insert the LED clip assembly into PCB.
4. 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.
5. Place the lens onto the base plate.
6. 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.
7. 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.
8. 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.
9. 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 correct vertical height.
SERIAL
PORT
IMAGE
PROCESSOR
LED _CNTL
LED
CONTROL
VOLTAGE REGULATOR
AND POWER CONTROL
SERIAL SCLK
PORT SDIO
REFA VOLTAGE
REFERENCE
VDD5 5 VOLT
GND POWER
Figure 6. Block diagram of ADNS-5060 optical mouse sensor
Assumption: Base plate construction as per the Avago
Technologies supplied IGES file and HDNS-2100/2100#001
lens.
Typical Distance
HDNS-2100
round lens
HDNS-2100#001
trim lens
Creepage (mm)
40.5
17.9
Clearance (mm)
32.6
9.2
Note that the lens material is polycarbonate and therefore, cyanoacrylate
based adhesives or other adhesives that may damage the lens should
NOT be used.
33R
33R
GND1
GND1
GND1
33pF
VCC1
33pF
RΩ
7 Vpp
QB
QA
10
6MHz
(Optional)
VS S 6
P0.1 2
P0.2 3
P0.3 4
P0.7 15
P0.6 16
9
R
Buttons
M
L
GN D1
4.7uF
GN D1
GN D1
0.1uF
10nF
GN D1
P0.5 17
XTALIN
USB MC U
11
VDD
VCC 1
22uH
XT ALOUT
1 P0.0
14 P1.1
5 P1.0
8 Vreg
12 D-
GN D1 13 D+
ZLED
VDD
GND
1.3KΩ
0.1 uF
10uF/16V
22uH
Figure 7a. Schematic Diagram for Interface between ADNS-5060 and Microcontroller (compatible with A26x0 sensors)
SHL D
GND
D-
D+
VDD
10nF
VC C
VCC 1
4 SC LK
3 SD IO
6 GND
7
VDD5
A5060
REFA 8
NC 2
NC 1
LE D_CNTL 5
Internal
Image
Se nsor
2.2uF
GN D1
1KΩ
100KΩ
2N3906
HLMP-E D80-xx000
(R ecommended: B in P)
32Ω
33R
33R
GND1
GND1
33pF
VC C1
GND1
33pF
ZLED
QB
VDD
RΩ
QA
GND
1.3KΩ
GND1
VS S 6
P0.1 2
P0.2 3
P0.3 4
P0.7 15
P0.6 16
P0.5 17
4.7µF
22uH
6MHz
(Optional)
XTALIN
9
USB MC U
XT ALOUT
10
1 P0.0
14 P1.1
5 P1.0
8 Vreg
12 D-
13 D+
7 Vpp
11
VDD
VCC1
10uF/16V
22uH
R
Buttons
M
L
GN D1
GND1
7
VDD5
4 SC LK
3 SD IO
6 GND
10nF
GN D1
0.1µF
GN D1
Figure 7b. Schematic Diagram for Interface between ADNS-5060 and Microcontroller (using internal LED driver)
SH LD
GND
D-
D+
VDD
0.1 µF
10nF
VC C
VC C1
A5060
5
RE FA 8
NC 2
GND1
2.2µF
HLMP-E D80-XX 000
(R ecommended: B in P)
NC 1
LE D_CNTL
Internal
Image
Se nsor
Regulatory Requirements
• Passes FCC B and worldwide analogous emission limits when assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
• Passes IEC-1000-4-3 radiated susceptibility level 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 HB.
• Provides sufficient ESD creepage/clearance distance to avoid discharge up to 15kV when assembled into a mouse
using HDNS-2100 round 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, human body model MIL 883 Method 3015
Lead Solder Temp
Supply Voltage
VDD
-0.5
ESD
Notes
For 10 seconds, 1.6mm below seating plane.
Input Voltage
VIN
-0.5
VDD+0.5
V
SDIO, SCLK, LED_CNTL
Input Voltage
VIN
-0.5
3.6
V
REFA
10
Recommended Operating Conditions
Parameter
Symbol
Minimum
Operating Temperature
TA
0
Power supply voltage
VDD
4.10
Power supply rise time
Typical
Maximum Units
Notes
40
°C
5.5
V
VRT
100
ms
Supply noise
VN
100
mV
Peak to peak within 0-50 MHz bandwidth
Serial Port Clock
Frequency
fSCLK
3
MHz
550% duty cycle.
Distance from lens
reference plane to surface
Z
2.5
mm
Results in ±0.1 mm DOF, (See Figure 8)
Speed
S
Acceleration
A
SDIO read hold time
tHOLD
100
ns
Hold time for valid data (Refer to Figure 20)
SDIO serial write-write
time
tSWW
100
us
Time between two write commands.
(Refer to Figure 22)
SDIO serial write-read
time
tSWR
100
us
Time between write and read operation.
(Refer to Figure 23)
SDIO serial read-write
time
tSRW
250
ns
Time between read and write operation.
(Refer to Figure 24)
SDIO serial read-read
time
tSRR
250
ns
Time between two read commands.
(Refer to Figure 24)
SPI Read Address-Data
Delay
tSRAD
4
us
From rising SCLK for last bit of the address
byte, to falling SCLK for first bit of data
being read. (Refer to Figure 24)
Data delay after PD
deactivated
tCOMPUTE 3.1
ms
After tCOMPUTE, all registers contain data
from first image after wakeup from
Power-Down mode. Note that an additional
75 frames for AGC stabilization may be
required if mouse movement occurred
while Power Down. (refer to Figure 9)
SDIO write setup time
tsetup
ns
Data valid time before the rising of SCLK.
(refer to Figure 17)
2.3
2.4
30
in/sec
8
60
ADNS-5060
HDNS-2100
Z
OBJECT SURFACE
Figure 8. Distance from Lens Reference Plane to Surface
11
5.0
g
AC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V
Parameter
Symbol
Min.
Power Down (PD)
tPD
1.33
Power Up after PowerDown mode deactivated
tPUPD
Power Up from VDD ↑
tPU
Rise and Fall Times:
SDIO
tr
Units
Notes
us
32 clock cycle minimum after setting bit 6 in
the Configuration register.
(refer to Figure 11)
50
ms
From Power-Down mode deactivation to
accurate reports 610 us + 75 frames
(refer to Figure 9)
40
ms
From VDD valid to accurate reports
610 us + 50 frames
30
ns
CL = 30 pF (the rise time is between
10% to 90%)
tf
16
ns
CL = 30 pF (the fall time is between
10% to 90%)
Serial Port transaction
timer
tSPTT
90
ms
Serial port will reset if current transaction is
not complete within tSPTT.
(refer to Figure 26)
Transient Supply Current
IDDT
mA
Max supply current during a VDD ramp
from 0 to 5.0 V with > 500 us rise time.
Does not include charging currents for
bypass capacitors.
12
Typical
Max.
70
DC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V.
Parameter
Symbol
Minimum Typical
Supply Current
(mouse moving)
IDD AVG
17.5
Supply Current
(mouse not moving)
IDD
13
Power-down Mode
Current
IDDPD
180
Maximum Units
Notes
20
Average sensor only current, at max
frame rate. No load on SDIO.
mA
mA
250
uA
0.8
V
SCLK pin
Input Low Voltage
VIL
Input High Voltage
VIH
Input Capacitance
CIN
Input Resistance
RIN
2.0
V
10
1
pF
MΩ
SDIO pin
VDD=4V, Load = 50pF, 80ns rise & fall
Input Low Voltage
VIL
0.8
Input High Voltage
VIH
Output Low Voltage
VOL
Output High Voltage
VOH
0.8*VDD
V
Drive Low Current
IL
2.0
mA
Drive High Current
IH
2.0
mA
Input Capacitance
CIN
Input Resistance
RIN
2.0
V
V
0.5
10
1
V
pF
MΩ
LED_CNTL pin
(Schematic A)
Output Low Voltage
VOL
0.1
V
Output High Voltage
VOH
0.8*VDD
V
Drive Low Current
IL
250
uA
Drive High Current
IH
250
μA
With 1kW connected to base of transistor
LED_CNTL pin
(Schematic B)
LED_CNTL Current
during run mode
(pin voltage range
should be greater
than 0.8V)
ILED_CNTL_run
45
LED_CNTL Peak Current
(pin voltage range
should be greater
than 0.8V)
IXY_PK
45
LED_CNTL Current
during mouse not
moving
ILED_CNTL_rest
25
mA
LED_CNTL Current
during power down
ILED_CNTL_pd
0.1
μA
13
50
mA
Average current at maximum frame rate
mA
Peak current at maximum frame rate
Power Down Deactivation Timing
Note: All timing circuits shown, from Figure 9 onwards, are based on the
24MHz resonator frequency.
Power Down deactivated
Power Down
Deactivation
IDD
75 frames
610 us
tpupd
tCOMPUTE (See Figure 12)
Figure 9. Power-up timing mode
Power Down deactivated
Power Down
Deactivation
Oscillator
Start
Reset
Count
250 us
360 us
Initialization
2410 us
New acquisition
LED
CURRENT
SCLK
610 us
Figure 10. Detail of wake-up timing after PD
14
Optional SPI transactions
with old image data
tcompute
SPI transactions
with new image data
At default frame rate
Power-down Mode (PD) and Timing
ADNS-5060 Power-down mode
ADNS-5060 can be placed in a power-down mode by
setting bit 6 in the configuration register via a serial I/O
port write operation. Note that while writing a “1” to bit 6
of the configuration register, all other bits must be written
with their original value in order to keep the current
configuration. After setting the configuration register,
wait at least 32 system clock cycles. To get the chip out
of the power-down mode, clear bit 6 in the configuration
register via a serial I/O port write operation. (CAUTION!
In power-down mode, the SPI timeout (tSPTT ) will not
function. Therefore, no partial SPI command should be
sent. Otherwise, the sensor may go into a hang-up state).
While the sensor is in power-down mode, only the bit 6
data will be written to the configuration register. Writing
the other configuration register values will not have any
effect. For an accurate report after power-up, wait for a
total period of 50ms before the microcontroller is able
to issue any write/read operation to the ADNS-5060. The
sensor register settings, prior to power-down mode, will
remain during power-down mode.
CLK
32 clock cycles min
SCLK
1
SDIO
A6
A5
A4
A3
D5
D4 D3
D2
D1
D0
IDD
tPD
Figure 11: Power-down timing
The address of the configuration register is 1000000 (retail
option). Assume that the original content of the configuration register is 0x00.
SCLK
Write
Operation
1
Con-guration Register Address
1
0
0
0
0
0
Con-guration Register Data (0x40)
0
0
1
SDIO
Figure 12: Power Down configuration register writing operation
Setting the power down bit simply sets the analog circuitry
into a no current state.
Note: LED_CNTL and SDIO will be tri-stated during power down mode.
15
0
0
0
0
0
0
Typical Performance Characteristics
The following graphs (Figures 13-15) are the typical performance of the ADNS-5060 sensor, assembled as shown in the
2D assembly drawing with the HDNS-2100 Lens, the HDNS-2200 clip, and the HLMP-ED80-xx000 (See Figure 4).
Resolution vs Z
1200
Manila
White Paper
Black Formica
Spruce Wood
Resolution (cpi)
1000
800
600
400
200
0
1.6
1.8
2
3
2.2
2.4
2.6
2.8
3.2
Distance from Lens Reference Plane to Tracking Surface, Z (mm)
3.4
Figure 13. Resolution (based on 1050cpi setting) vs. Z (mm)
Average Path Error vs Z
25
Manila
Black Formica
White Paper
Spruce Wood
Resolution (cpi)
20
15
10
5
0
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)
3.4
Normalized Response
Figure 14. Average error vs. distance (mm)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
400
500
600
Figure 15. Relative wavelength responsivity
16
700
Wavelength (nm)
800
900
1000
LED Mode
Write Operation
For optimized tracking performance, the LED is in DC
mode when motion is detected, and ADNS-5060 will pulse
the LED when the mouse is in idle state.
Write operations, where data is going from the microcontroller to the ADNS-5060, 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 data direction. The second byte contains the
data. The transfer is synchronized by SCLK. The microcontroller changes SDIO on falling edges of SCLK. The ADNS5060 reads SDIO on rising edges of SCLK.
Synchronous Serial Port
The synchronous serial port is used to set and read
parameters in the ADNS-5060, and to read out the motion
information.
The port is a two wire, half duplex serial port. The host
micro-controller always initiates communication; the
ADNS-5060 never initiates data transfers.
The lines that comprise the SPI port:
SCLK: Clock input. It is always generated by the master
(the micro-controller).
SDIO: Input and Output data.
SCLK
Cycle #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
A6
A5
A4
A3
A2
A1
A0
D7
D6
D5
D4
D3
D2
D1
D0
SCLK
SDIO
SDIO Driven by Microcontroller
Figure 16. Write operation
1/(2 fSCLK) 1/(2 fSCLK)
SCLK
SDIO
250ns, min
tsetup = 60ns, min
Figure 17. SDIO setup and hold times SCLK pulse width
17
DON'T
CARE
Read Operation
A read operation, means data that is going from the ADNS5060 to the microcontroller, is always initiated by the microcontroller and consists of two bytes. The first byte that
contains the address is written by the microcontroller and
has a “0” as its MSB to indicate data direction. The second
byte contains the data and is driven by the ADNS-5060.
The transfer is synchronized by SCLK. SDIO is changed on
falling edges of SCLK and read on every rising edge of SCLK.
SCLK
Cycle #
1
2
3
4
5
6
7
8
0
A6
A5
A4
A3
A2
A1
The microcontroller must go to a high-Z state after the
last address data bit. The ADNS-5060 will go to the high-Z
state after the last data bit. Another thing to note during a
read operation is that SCLK needs to be delayed after the
last address data bit to ensure that the ADNS-5060 has at
least 100 us to prepare the requested data. This is shown
in the timing diagrams below (See Figures 18 to 20).
9
10
11
12
13
14
15
16
D7
D6
D5
D4
D3
D2
D1
D0
SCLK
SDIO
A0
SDIO Driven by Micro-Controller
SDIO Driven by ADNS-5060
Detail "A"
Detail "B"
Figure 18. Read operation
Detail “A”
250ns,max
tSRAD
SCLK
Microcontroller
to ADNS-5060
SDIO handoff
0ns, min
60ns, min
SDIO
A0
A1
250ns, min
250ns,max
Hi-Z
D7
D6
160ns, min
Figure 19. Microcontroller to ADNS-5060 SDIO handoff
Detail “B”
tHOLD
SCLK
ADNS-5060 to
Microcontroller
SDIO hando-
160ns, max
SDIO
D0
Released by ADNS-5060
Figure 20. ADNS-5060 to microcontroller SDIO handoff
18
R/W bit of next address
Driven by microcontroller
NOTE: The 250 ns high state of SCLK is the minimum data
hold time of the ADNS-5060. Since the falling edge of SCLK
is actually the start of the next read or write command, the
ADNS-5060 will hold the state of D0 on the SDIO line until
the falling edge of SCLK. In both write and read operations,
SCLK is driven by the microcontroller.
Forcing the SDIO line to the Hi-Z state
There are times when the SDIO line from the ADNS-5060
should be in the Hi-Z state. For example, if the microprocessor has completed a write to the ADNS-5060, the SDIO
line will go into a Hi-Z state because the SDIO pin was configured as an input. However, if the last operation from the
microprocessor was a read, the ADNS-5060 will hold the
D0 state on SDIO until a falling edge of SCLK.
PD
Timing
To place the SDIO pin into a Hi-Z state, activate the powerdown mode by writing to the configuration register. Then,
the power-down mode can stay activated, with the ADNS5060 in the shutdown state. Or the power down mode
can be deactivated, returning the ADNS-5060 to normal
operation. In both conditions, the SDIO line will go into
the Hi-Z state.
PD
Activated
32
clock
cycles
10ns, max
SDIO
Hi-Z
Figure 21. SDIO Hi-Z state and timing
Another method to put the SDIO line into the Hi-Z state,
while maintaining the ADNS-5060 at normal mode, is
to write any data to an invalid address such as 0x00 to
address 0x77. The SDIO line will go into the Hi-Z state after
the write operations.
Required Timing between Read and Write Commands (tsxx)
There are minimum timing requirements between read
and write commands on the serial port.
tSWW ≥100µs
SCLK
Address
Data
Address
Write Operation
Data
Write Operation
Figure 22. 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 100 us required
delay, then the first write command may not complete
correctly.
tSWR ≥100µs
SCLK
Address
Data
Write Operation
Figure 23. Timing between write and read commands
19
Address
Next Read Operation
If the rising edge of SCLK for the last address bit of the
read command occurs before the 100 us required delay,
then the write command may not complete correctly.
tSRW, tSRR ≥250ns
tSRAD
SCLK
Address
Data
Read Operation
Address
Next Read or
Write Operation
Figure 24. Timing between read and either write or subsequent read commands
The falling edge of SCLK for the first address bit of either
the read or write command must be at least 250 ns after
the last SCLK rising edge of the last data bit of the previous
read operation.
Error Detection and Recovery
1. The ADNS-5060 and the microcontroller might get out
of synchronization due to ESD events, power supply
droops or microcontroller firmware flaws.
2. The ADNS-5060 has a transaction timer for the serial
port. If the sixteenth SCLK rising edge is spaced more
than approximately 90 milliseconds from the first SCLK
edge of the current transaction, the serial port will
reset.
3. Invalid addresses:
– Writing to an invalid address will have no effect.
Reading from an invalid address will return all zeros.
4. Collision detection on SDIO
– The only time that the ADNS-5060 drives the SDIO
line is during a READ operation. To avoid data
collisions, the microcontroller should relinquish SDIO
before the falling edge of SCLK after the last address
bit. Then the ADNS-5060 begins to drive SDIO after
the next rising edge of SCLK. Next, the ADNS-5060
relinquishes SDIO within 160 ns of the falling SCLK
edge after the last data bit. The microcontroller
can begin driving SDIO any time after that. In order
to maintain low power consumption in normal
operation or when the PD pin is set high, the
microcontroller should not leave SDIO floating until
the next transmission (although that will not cause
any communication difficulties).
20
5. In case of synchronization failure, both the ADNS-5060
and the microcontroller may drive SDIO. The ADNS5060 can withstand 30 mA of short circuit current
and will withstand infinite duration short circuit
conditions.
6. The microcontroller can verify a successful write
operation by issuing a read command to the same
address and comparing the written data to the read
data.
7. The microcontroller can verify the synchronization of
the serial port by periodically reading the product ID
from status register (Address: 0x41).
Notes on Power-up and the Serial Port
The sequence in which VDD, SCLK and SDIO are set during
power-up can affect the operation of the serial port. The
diagram below shows what can happen shortly after
power-up when the microprocessor tries to read data
from the serial port.
VDD
SCLK
Address = 0x41
Data = 0x0b010XXXXX
SDIO
Problem Area
Figure 25. Power-up serial port sequence
This diagram shows the VDD rising to valid levels, at some
point the microcontroller starts it’s program, sets the SCLK
and SDIO lines to be outputs, and sets them high. Then,
the microcontroller waits to ensure the ADNS-5060 has
powered up and is ready to communicate. The microprocessor then tries to read from location 0x41, Status
register, and is expecting a value of 0x0b010XXXXX. If it
receives this value, then it knows the communication to
the ADNS-5060 is operational.
The problem occurs if the ADNS-5060 powers up before
the microprocessor sets the SCLK and SDIO lines to be
outputs and high. The ADNS-5060 sees the raising of the
SCLK as a valid rising edge, and clocks in the state of the
SDIO as the first bit of the address (sets either a read or a
write, depending upon the state).
In the case of a SDIO low, a read operation will start. When
the microprocessor actually begins to send the address,
the ADNS-5060 already has the first bit of an address.
When the seventh bit is sent by the microprocessor, the
ADNS-5060 has a valid address, and drives the SDIO line
high within 250 ns (see detail “A” in Figure 18 and Figure
19). This results in a bus fight for SDIO. Since the address
is wrong, the data sent back would be incorrect.
In the case of a SDIO high, a write operation will start. The
address and data will be out of synchronization, causing
the wrong data written to the wrong address.
Solution
One way to solve the problem is by waiting for the serial
port timer to time out.
1. Serial Port Timer Timeout
VDD
>tSPTT
SCLK
Address = 0x41
Data = 0x0b010XXXXX
SDIO
Don't Care State
Figure 26. Power up serial port timer sequence
21
Soft Reset
If the microprocessor waits at least tSPTT from VDD valid,
it will ensure that the ADNS-5060 has powered up and
the timer has timed out. This assumes that the microprocessor and the ADNS-5060 share the same power
supply. If not, then the microprocessor must wait for tSPTT
from ADNS-5060 VDD valid. Then when the SCLK toggles
for the address, the ADNS-5060 will be in-sync with the
microprocessor.
ADNS-5060 may also be given the reset command at any
time via the serial I/O port. The timing and transactions
are the same as those just specified for the power-up
mode in the previous section.
The proper way to perform soft reset on ADNS-5060 is:
1. The microcontroller starts the transaction by sending
a write operation containing the address of the
configuration register and the data value of 0x80. Since
the reset bit is set, ADNS-5060 will reset and any other
bits written into the configuration register at this time
is properly written into the Configuration Register.
After the chip has been reset, very quickly, ADNS5060 will clear the reset bit so there is no need for the
microcontroller to re-write the Configuration Register
to reset it.
Resync Note
If the microprocessor and the ADNS-5060 get out of sync,
then the data either written or read from the registers will
be incorrect. An easy way to solve this is to use watchdog
timer timeout sequence to resync the parts after an
incorrect read.
Power-up
ADNS-5060 has an on-chip internal power-up reset (POR)
circuit, which will reset the chip when VDD reaches the
valid value for the chip to function.
2. The digital section is now ready to go. It takes 3 frames
for the analog section to settle.
CLK
Reset Occurs
here
SCLK
1
SDIO
A6
A5
A4
A3
D5
D4
D3
D2
D1
D0
Figure 27. ADNS-5060 soft reset sequence timing
Soft reset will occur when writing 0x80 to the configuration register.
SCLK
Write
Operation
1 1
Con-guration Register Address
0
0
0
0
0
SDIO
Figure 28. Soft reset configuration register writing operation
22
Con-guration Register Data (0x80)
0
1
0
0
0
0
0
0
0
Registers
The ADNS-5060 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
Read/Write
Default Value
0x00
Configuration1
R/W
0x00
0x01
Status1
R
0x01
0x02
Delta_Y1
R
0x00
0x03
Delta_X1
R
0x00
0x04
SQUAL1
R
0x00
0x05
Maximum_Pixel1
R
0x00
0x06
Minimum_Pixel1
R
0x3f
0x07
Pixel_Sum1
R
0x00
0x08
Pixel_Data1
R
0x00
0x09
Shutter_Upper1
R
0x01
0x0a
Shutter_Lower1
R
0x00
0x0b
Pixel_Grab
R/W
0x00
0x14
Product_ID2a
R
0x10
0x15
Product_ID2b
R
0x1N
0x16
Motion2
R
0x00
0x17
Delta_X2
R
0x00
0x18
Delta_Y2
R
0x00
0x19
SQUAL2
R
0x00
0x1a
Operation_Mode2
R/W
0x04
0x1b
Configuration2
R/W
0x00
0x33
Mouse_Control
R/W
0x07
0x40
Configuration3
R/W
0x00
0x41
Status3
R
0x41
0x42
Delta_Y3
R
0x00
0x43
Delta_X3
R
0x00
0x44
SQUAL3
R
0x00
0x45
Maximum_Pixel3
R
0x00
0x46
Minimum_Pixel3
R
0x3f
0x47
Pixel_Sum3
R
0x00
0x48
Pixel_Data3
R
0x00
0x49
Shutter_Upper3
R
0x01
0x4a
Shutter_Lower3
R
0x00
23
Configuration1
Access: Read/Write
Address: 0x00
Reset Value: 0x00
Bit
7
6
Field
Reset
PD
5
4
3
2
1
Reserved [1:5]
0
FWake
Data Type: Bit field
USAGE: The Configuration register allows the user to change the configuration of the sensor. Shown below are the bits,
their default values, and optional values.
Field Name
Description
Reset
Reset
0 = Normal operation
1 = Reset the part
PD
Power down
0 = Normal operation
1 = power down all analog circuitry
FWake
Forced Awake Mode
0 = Normal, fall asleep after one second of no movement
1 = Always awake
Status1
Access: Read
Address: 0x01
Reset Value: 0x01
Bit
7
6
5
Field
ID2
ID1
ID0
4
3
2
Reserved
Data Type: Bit field
USAGE: Status information and type of mouse sensor, current state of the mouse.
Field Name
Description
ID2 -ID0
Product ID (0b000)
Awake
Mouse State
0 = Asleep
1 = Awake
24
1
0
Awake
Delta_Y1
Access: Read
Address: 0x02
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 movement is counted since last report. Absolute value is determined by resolution. Reading clears the register.
Motion
-128
-127
-2
-1
0
+1
+2
+126
+127
Delta_Y
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x02 MUST be read prior to Register 0x03.
Delta_X1
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: Eight bit 2’s complement number.
USAGE: X movement is counted since last report. Absolute value is determined by resolution. Reading clears the register.
Motion
Delta_X
-128
-127
-2
-1
0
+1
+2
+126
+127
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x02 MUST be read prior to Register 0x03.
25
SQUAL1
Access: Read
Address: 0x04
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SQ7
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Upper 8 bits of a 9-bit integer.
USAGE: SQUAL (Surface QUALity) 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, variations
in SQUAL are expected, when looking at a surface. The graph below shows 250 sequentially acquired SQUAL
values, while a sensor was moved slowly over white paper. SQUAL is nearly equal to zero when there is no
surface below the sensor.
70
60
Squal value
50
40
30
20
10
0
1
50
99 148 197 246 295 344 393 442 491 540 589 638 687 736 785
Count
80
Avg-3sigma
Avg
Avg+3sigma
70
Squal count
60
50
40
30
20
10
0
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
Distance from Lens Reference Plane to Tracking Surface, Z (mm)
Figure 29. Typical mean SQUAL vs. z (white paper)
26
3.4
Maximum_Pixel1
Access: Read
Address: 0x05
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
O
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Six bit number.
USAGE: Maximum Pixel value in current frame. Minimum value = 0, maximum value = 127. The maximum pixel value
may vary from frame to frame. Shown below is a graph of 250 sequentially acquired maximum pixel values,
while the sensor was moved slowly over white paper.
Max Pixel on White Paper
120
110
100
Max Pixel
90
80
70
60
50
40
30
20
Count
Figure 30. Maximum Pixel on White Paper
27
800
750
700
650
600
550
500
450
400
350
300
250
200
150
100
50
0
10
0
Minimum_Pixel1
Access: Read
Address: 0x06
Reset Value: 0x3f
Bit
7
6
5
4
3
2
1
0
Field
O
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Six bit number.
USAGE: Minimum Pixel value in current frame. Minimum value = 0, maximum value = 127. The minimum pixel value may
vary from frame to frame.
Min Pixel on White Paper
80
70
60
Min Pixel
50
40
30
20
10
Count
Figure 31. Minimum Pixel on White Paper
28
800
750
700
650
600
550
500
450
400
350
300
250
200
150
100
50
0
0
Pixel_Sum1
Access: Read
Address: 0x07
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
PS7
PS6
PS5
PS4
PS3
PS2
PS1
PS0
Data Type: Upper 8 bits of a 15-bit unsigned integer.
USAGE: This register is used to find the average pixel value. It reports the upper 8 bits of a 15-bit unsigned integer, which
sums all 361 pixels in the current frame. It may be described as the full sum divided by 128. The formula to
calculate the average pixel value is as below:
Average Pixel = Register Value x 128/361
= Pixel_Sum x 0.355
The maximum register value is 178 (63 x 361 / 128 truncated to an integer). The minimum is 0. The pixel sum
value may vary from frame to frame.
Pixel Data1
Access: Read/Write
Address: 0x08
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SOF
Data_Valid
PD5
PD4
PD3
PD2
PD1
PD0
Data Type: Two status bits, six bit pixel data.
USAGE: Digital Pixel data. Minimum value = 0, maximum value = 63. Any writes to this register resets the pixel hardware
so that the next read from the Pixel Data register will read pixel #1 and the StartOfFrame bit will be set. Subsequent reads will auto increment the pixel number.
To dump a complete image, set the LED to forced awake mode, write anything to this register, then read 361
times where the DataValid bit is set. On the 362th read, the StartOfFrame bit will be set indicating that we have
completed one frame of pixels and are starting back at pixel 1.
It takes at least 361 frames to complete an image as we can only read 1 pixel per frame.
The pixel hardware is armed with any read or write to the Pixel Data register and will output pixel data from
the next available frame. So, if you were to write the Pixel Data register, wait 5 seconds then read the Pixel Data
register; the reported pixel data was from 5 seconds ago.
Field Name
Description
SOF
Start of Frame
0 = Not start of frame
1 = Current pixel is number 1, start of frame
Data_Valid
There is valid data in the frame grabber
PD5– PD0
Six bit pixel data
29
Pixel Map (sensor is facing down, looking through the sensor and lens at the surface)
Last Pixel
18
37
56
75
94
113
132
151
170
189
208
227
246
265
284
303
322
341
360
17
36
55
74
93
112
131
150
169
188
207
226
245
264
283
302
321
340
359
16
35
54
73
92
111
130
149
168
187
206
225
244
263
282
301
320
339
358
15
34
53
72
91
110
129
148
167
186
205
224
243
262
281
300
319
338
357
14
33
52
71
90
109
128
147
166
185
204
223
242
261
280
299
318
337
356
13
32
51
70
89
108
127
146
165
184
203
222
241
260
279
298
317
336
355
12
31
50
69
88
107
126
145
164
183
202
221
240
259
278
297
316
335
354
11
30
49
68
87
106
125
144
163
182
201
220
239
258
277
296
315
334
353
10
29
48
67
86
105
124
143
162
181
200
219
238
257
276
295
314
333
352
9
28
47
66
85
104
123
142
161
180
199
218
237
256
275
294
313
332
351
8
27
46
65
84
103
122
141
160
179
198
217
236
255
274
293
312
331
350
7
26
45
64
83
102
121
140
159
178
197
216
235
254
273
292
311
330
349
6
25
44
63
82
101
120
139
158
177
196
215
234
253
272
291
310
329
348
5
24
43
62
81
100
119
138
157
176
195
214
233
252
271
290
309
328
347
4
23
42
61
80
99
118
137
156
175
194
213
232
251
270
289
308
327
346
3
22
41
60
79
98
117
136
155
174
193
212
231
250
269
288
307
326
345
2
21
40
59
78
97
116
135
154
173
192
211
230
249
268
287
306
325
344
1
20
39
58
77
96
115
134
153
172
191
210
229
248
267
286
305
324
343
0
19
38
57
76
95
114
133
152
171
190
209
228
247
266
285
304
323
342
First Pixel
Figure 32. Pixel Map
30
Shutter_Upper1
Access: Read
Address: 0x09
Reset Value: 0x01
Bit
7
6
5
4
3
2
1
0
Field
S15
S14
S13
S12
S11
S10
S9
S8
Shutter_Lower1
Access: Read
Address: 0x0A
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 word.
USAGE: Units are clock cycles; default value is 0x0100. Read Shutter_Upper first, then Shutter_Lower. They should be read
consecutively. The shutter is adjusted to keep the average and maximum pixel values within normal operating
ranges. The shutter value can be adjusted to a new value on every frame. When the shutter adjusts, it changes
by ± 1/16 of the current value. Shown below is a graph of 250 sequentially acquired shutter values, while the
sensor was moved slowly over white paper.
160
140
Shutter value
120
100
80
60
40
20
0
1 40 79 118 157 196 235 274 313 352 391 430 469 508 547 586 625 664 703 742 781
Count
300
Avg-3sigma
Avg
Avg+3sigma
Shutter value (Count)
250
200
150
100
50
0
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
Distance from Lens Reference Plane to Tracking Surface, Z (mm)
Figure 33. Typical mean shutter vs. z (white paper)
31
3.4
Pixel_Grab
Access: Read/Write
Address: 0x0b
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
Valid
PD6
PD5
PD4
PD3
PD2
PD1
PD0
Data Type: Eight-bit word.
USAGE: The pixel grabber captures 1 pixel per frame. If there is a valid pixel in the grabber when this register is read, the
MSB will be set, an internal counter will incremented to capture the next pixel and the grabber will be armed to
capture the next pixel. It will take 361 reads to upload the complete image. Any write to this register will reset
and arm the grabber to grab pixel 0 on the next image.
Product_ID2a
Access: Read
Address: 0x14
Reset Value: 0x10
Bit
7
6
5
4
3
2
1
0
Field
PID7
PID6
PID5
PID4
PID3
PID2
PID1
PID0
Data Type: 8-Bit unsigned integer.
USAGE: The value in this register does not change; it can be used to verify if the serial communications link is functional.
Product_ID2b
Access: Read
Address: 0x15
Reset Value: 0x1N
Bit
7
6
5
4
Field
PID3
PID2
PID1
PID0
3
2
1
0
Reserved
Data Type: 8-Bit unsigned integer.
USAGE: The value in this register does not change; upper nibble can be used to verify if the serial communications link
is functional.
32
Motion2
Access: Read
Address: 0x16
Reset Value: 0x00
Bit
7
Field
MOT
6
5
Reserved
4
3
OVFY
OVFX
2
1
Reserved
0
RES
Data Type: Bit field.
USAGE: Register 0x16 allows the user to determine if motion has occurred since the last time it was read. If the MOT bit is
set, then the user should read registers 0x17 and 0x18 to get the accumulated motion. Read this register before
reading the Delta_X and Delta_Y registers. It also tells if the motion buffers have overflowed and the current
resolution is also shown.
Field Name
Description
MOT
Motion since last report
0 = No motion
1 = Motion occurred, data ready for reading in Delta_X and Delta_Y registers
OVFY
Motion overflow Y, ∆Y buffer has overflowed since last report
0 = No overflow
1 = Overflow has occurred
OVFX
Motion overflow X, ∆X buffer has overflowed since last report
0 = No overflow
1 = Overflow has occurred
RES
Resolution in counts per inch
0 = 1050
1 = 600
33
Delta_X2
Access: Read
Address: 0x17
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 word.
USAGE: X movement is counts since last report. Absolute value is determined by resolution. Reading clears the
register.
Motion
Delta_X
-128
-127
-2
-1
0
+1
+2
+126
+127
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x17 MUST be read prior to Register 0x18.
Delta_Y2
Access: Read
Address: 0x18
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 movement is counts since last report. Absolute value is determined by resolution. Reading clears the register.
Motion
-128
-127
-2
-1
0
+1
+2
+126
+127
Delta_Y
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x17 MUST be read prior to Register 0x18.
SQUAL2
Access: Read
Address: 0x19
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SQ7
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Upper 8 bits of a 9-bit integer.
USAGE: SQUAL (Surface QUALity) 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, variations
in SQUAL are expected, when looking at a surface. Figure 29 shows 250 sequentially acquired SQUAL values,
while a sensor was moved slowly over white paper. SQUAL is nearly equal to zero when there is no surface below
the sensor.
34
Operation_Mode2
Access: Read/Write
Address: 0x1a
Reset Value: 0x04
Bit
7
6
Field
Reset
PD
5
4
Reserved
3
2
1
0
Sleep
FSleep
FWake
Data Type: Bit field.
USAGE: The Operation_Mode2 register allows the user to change the operation of the sensor. Shown below are the bits,
their default values, and optional values.
Operation_Mode2[2:0]
“0xx”=Disable sleep mode
“110”=Force enter sleep
“101”=Force wakeup from sleep mode
Notes:
1. After 1 sec not moving during normal mode, chip will enter sleep mode. The chip remains in sleep mode until motion is detected or wakeup is
asserted.
2. Only either one of these two bits FSleep and FWake can be set to 1 at the same time, others have to be set to 0. After a period of time, the bits which
were set to 1, will be reset to 0 by internal signal.
Field Name
Description
Reset
Full Chip Reset
0 = Normal operation
1 = Reset the chip
PD
Power down
0 = Normal operation
1 = Power down all analog circuitry
Sleep
Sleep Mode Enable
0 = Disable
1 = Enable
FSleep
Force Enter Sleep Mode Manually
0 = Normal, fall asleep after one second of no movement
1 = Enter sleep mode and this bit will be reset to “0”
FWake
Manual Wake Up From Sleep Mode Manually
0 = Normal, fall asleep after one second of no movement
1 = Enter wake up mode and this bit will be reset to “0”
35
Configuration2
Access: Read/Write
Bit
7
Field
RES
Address: 0x1b
Reset Value: 0x00
6
5
4
3
2
1
0
Reserved
Data Type: Bit field.
USAGE: The Configuration2 register allows the user to change the configuration of the sensor. Shown below are the bits,
their default values, and optional values.
Field Name
Description
RES
Resolution in count per inch
0 = 1050
1 = 600
Mouse_Control
Access: Read/Write
Address: 0x33
Reset Value: 0x07
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
RES_EN
RES3
RES2
RES1
RES0
Data Type: Eight bit number.
USAGE: Resolution information can be accessed or to be edited by this register.
Field Name
Description
RES_EN
= 0 Disable RES[3:0] setting.
= 1 Enable RES[3:0] setting.
RES[3:0]
= 0b0001: 150 CPI
= 0b0010: 300 CPI
= 0b0011: 450 CPI
= 0b0100: 600 CPI
= 0b0101: 750 CPI
= 0b0110: 900 CPI
= 0b0111: 1050 CPI
= 0b1000: 1200 CPI
= 0b1001: 1350 CPI
Note: Bit 4 MUST be set to ‘1’ before the resolution set in this register takes effect.
36
Configuration3
Access: Read/Write
Address: 0x40
Reset Value: 0x00
Bit
7
6
Field
Reset
PD
5
4
3
2
1
Reserved
0
FWake
Data Type: Bit field.
USAGE: The Configuration register allows the user to change the configuration of the sensor. Shown below are the bits,
their default values, and optional values.
Field Name
Description
Reset
Reset
0 = Normal operation
1 = Reset the part
PD
Power down
0 = Normal operation
1 = Power down all analog circuitry
Fwake
Forced Awake Mode
0 = Normal, fall asleep after one second of no movement
1 = Always awake
Status3
Access: Read
Address: 0x41
Reset Value: 0x41
Bit
7
6
5
Field
ID2
ID1
ID0
4
3
2
Reserved
Data Type: Bit field.
USAGE: Status information and mouse sensor type, current state of the mouse.
Field Name
Description
ID2 - ID0
Product ID (0b010)
Awake
Mouse State
0 = Asleep
1 = Awake
37
1
0
AWake
Delta_Y3
Access: Read
Address: 0x42
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 movement is counts since last report. Absolute value is determined by resolution. Reading clears the register.
Motion
-128
-127
-2
-1
0
+1
+2
+126
+127
Delta_Y
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x42 MUST be read prior to Register 0x43.
Delta_X3
Access: Read
Address: 0x43
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 movement is counts since last report. Absolute value is determined by resolution. Reading clears the register.
Motion
Delta_X
-128
-127
-2
-1
0
+1
+2
+126
+127
80
81
FE
FF
00
01
02
7E
7F
NOTES: Register 0x42 MUST be read prior to Register 0x43.
SQUAL3
Access: Read
Address: 0x44
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SQ7
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Upper 8 bits of a 9-bit integer.
USAGE: SQUAL (Surface QUALity) 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, variations
in SQUAL are expected, when looking at a surface. Figure 29 shows 250 sequentially acquired SQUAL values,
while a sensor was moved slowly over white paper. SQUAL is nearly equal to zero when there is no surface below
the sensor.
38
Maximum_Pixel3
Access: Read
Address: 0x45
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
O
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Six bit number.
USAGE: Maximum Pixel value in current frame. Minimum value = 0, maximum value = 127. The maximum pixel value
may vary from frame to frame. Shown in Figure 30 is a graph of 250 sequentially acquired maximum pixel
values, while the sensor was moved slowly over white paper.
Minimum_Pixel3
Access: Read
Address: 0x46
Reset Value: 0x3f
Bit
7
6
5
4
3
2
1
0
Field
O
MP6
MP5
MP4
MP3
MP2
MP1
MP0
Data Type: Six bit number.
USAGE: Minimum Pixel value in current frame. Minimum value = 0, maximum value = 127. The minimum pixel value
may vary from frame to frame. See Figure 31.
Pixel_Sum3
Access: Read
Address: 0x47
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
PS7
PS6
PS5
PS4
PS3
PS2
PS1
PS0
Data Type: Upper 8 bits of a 15-bit unsigned integer.
USAGE: This register is used to find the average pixel value. It reports the upper 8 bits of a 15-bit unsigned integer, which
sums all 361 pixels in the current frame. It may be described as the full sum divided by 128. The formula to
calculate the average pixel value is as below:
Average Pixel = Register Value x 128/361
= Pixel_Sum x 0.355
The maximum register value is 178 (63 x 361 / 128 truncated to an integer). The minimum is 0. The pixel sum
value may vary from frame to frame.
39
Pixel Data3
Access: Read/Write
Address: 0x48
Reset Value: 0x00
Bit
7
6
5
4
3
2
1
0
Field
SOF
Data_Valid
PD5
PD4
PD3
PD2
PD1
PD0
Data Type: Two status bits, six bit pixel data.
USAGE: Digital Pixel data. Minimum value = 0, maximum value = 63. Any writes to this register resets the pixel hardware
so that the next read from the Pixel Data register will read pixel #1 and the StartOfFrame bit will be set. Subsequent reads will auto increment the pixel number.
To dump a complete image, set the LED to forced awake mode, write anything to this register, then read 361
times where the DataValid bit is set. On the 362th read, the StartOfFrame bit will be set indicating that we have
completed one frame of pixels and are starting back at pixel 1.
It takes at least 361 frames to complete an image as we can only read 1 pixel per frame.
The pixel hardware is armed with any read or write to the Pixel Data register and will output pixel data from the
next available frame. So, if you were to write the Pixel Data register, wait 5 seconds then read the Pixel Data
register; the reported pixel data is from 5 seconds ago.
Field Name
Description
SOF
Start of Frame
0 = Not start of frame
1 = Current pixel is number 1, start of frame
Data_Valid
There is valid data in the frame grabber
PD5– PD0
Six bit pixel data
Shutter_Upper3
Access: Read
Address: 0x49
Reset Value: 0x01
Bit
7
6
5
4
3
2
1
0
Field
S15
S14
S13
S12
S11
S10
S9
S8
Shutter_Lower3
Access: Read
Address: 0x4A
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 word.
USAGE: Units are clock cycles; default value is 0x0100HEX. Read Shutter_Upper first, then Shutter_Lower. They should
be read consecutively. The shutter is adjusted to keep the average and maximum pixel values within normal
operating ranges. The shutter value can be adjusted to a new value on every frame. When the shutter adjusts,
it changes by ± 1/16 of the current value. Shown in Figure 32 is a graph of 250 sequentially acquired shutter
values, while the sensor was moved slowly over white paper.
40
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-2009 Avago Technologies. All rights reserved.
AV02-1472N - May 14, 2009
Similar pages