AVAGO ADNK-6003-SP01CD Optical mouse designerâ s kit Datasheet

ADNK-6003-SP01
Optical Mouse Designer’s Kit
Design Guide
Introduction
Optical Mouse Basics
The Universal Serial Bus (USB) is an industry standard
serial interface between a computer and peripherals
such as a mouse, joystick, keyboard, UPS, etc. This design
guide describes how a cost-effective USB optical mouse
can be built using the Sunplus, SPCP825A USB microcontroller and the Avago Technologies ADNS-6000 optical
sensor. The document starts with the basic operations of
a computer mouse peripheral followed by an introduction to the Sunplus SPCP825A USB microcontroller and
the Avago Technologies ADNS-6000 Optical Navigation
Sensor. A schematic of the Sunplus SPCP825A USB microcontroller to the ADNS-6000 optical sensor and buttons
of a standard mouse can be found in Appendix A. The
software section of this application note describes the architecture of the firmware required to implement the USB
mouse functions. The Sunplus SPCP825A data sheet is
available from the Sunplus web site at www.sunplus.com
. The ADNS-6000 data sheet is available from the Avago
Technologies web site at www.avagotech.com. USB documentation can be found at the USB Implementers Forum
web site at www.usb.org.
The optical mouse measures changes in position by
optically acquiring sequential surface images (frames),
and mathematically determining the direction and
magnitude of movement. The Z-wheel movement is done
in the traditional method by decoding the quadrature
signal generated by optical sensors. This design guide
shows how to connect to and manage a standard configuration of mouse hardware, as well as handle the USB
protocols. Each of these protocols provides a standard
way of reporting mouse movement and button presses to
the PC.
ADNS-6000 laser mouse set is the world’s first laser-illuminated navigation system. With laser navigation technology, the mouse can operate on many surfaces that prove
difficult for traditional LED-based optical navigation.
Its high-performance architecture is capable of sensing
high-speed mouse motion -- velocities up to 20 inches
per second and accelerations up to 8g.
Serial Peripheral Interface (SPI)
The ADNS-6000 sensor along with the ADNS-6120 lens,
ADNS-6230-001 clip and ADNV-6340 laser diode form
a complete and compact laser mouse tracking system.
There are no moving parts, which means high reliability and less maintenance for the end user. In addition,
precision optical alignment is not required, facilitating
high volume assembly.
1
Introduction to the Sunplus, SPCP825A
The Sunplus, SPCP825A is a general purpose OTP USB microcontroller. It has dual USB speed, namely low and full
speed. It can support PS/2 mode. The transceiver is fully
controlled by the firmware. Moreover the USB SIE provides
good flexibility for firmware to handle USB protocol. The
built-in PLL allows CPU to work at 6MHz or 12MHz by
using only one 6MHz crystal or resonator.
The Sunplus SPCP825A provides a SPI compatible
interface. The SPI circuit supports byte serial transfer in
either Master or Slave mode. The integrated SPI circuit
allows the Sunplus SPCP825A to communicate with
external SPI compatible hardware, in this case the ADNS6000.
Hardware Implementation
The standard hardware to implement a mouse is shown
in Figure 1. For X and Y movement, the optical sensor
is used. The Z- wheel movement is detected by a set of
optical sensors that output quadrature signals. For each
button there is a switch that is pulled up internally by the
built in pull up resistors. The D - line is pulled up via a 1.3k
ohm resistor connected to the VREG pin.
MISO
VREG
Avago Technologies
ADNS-6000
Optical Mouse Sensor
MOSI
SCLK
1.3k Ohm
NCS
Z Optics
Sunplus SPCP825A
USB Controller
Left Button
USB interface
Wheel Button
Right Button
D+/DSCLK/SDATA
Figure 1. Sunplus SPCP825A - ADNS-6000 Optical Mouse Hardware Block Diagram
Firmware Configurable GPIO
The reference firmware is configured to use the GPIO pins
as shown on the schematic in Appendix A. However, it
may be more optimal to use a different I/O configuration
to meet the mechanical constraints of PCB design. The
reference firmware is designed to be easily configured
to another set of pin connections. This is accomplished
through changes in the I/O definitions at the beginning
of the SPCP825A_A6000.asm listing. The following statements are the pin definitions as they exist today. The
firmware will use these definitions to read and configure
the GPIO pins, without any other modifications.
Communications between the Sunplus SPCP825A and
the ADNS-6000 are done through the integrated SPI
interface. The serial port cannot be activated while the
2
chip is in power down mode (NPD low) or reset (RESET
high). When the SPI is enabled thru PB0 (NCS), the PB2
(SCLK), PB1 (MISO) and PB3 (MOSI) GPIO pins serve
special functions to enable the SPI interface to talk with
external hardware. During normal operation, the Sunplus
SPCP825A SPI is always configured as a Master to output
the serial clock on PB7. Therefore, the USB microcontroller
always initiates communication. Data sent by the ADNS6000 optical sensor is received on the PB1 (MISO), and
data is shifted out to the ADNS-6000 through the PB3
(MOSI). See the schematic in Appendix A. When writing
to the ADNS-6000, the microcontroller drive both the
SCLK and the MOSI lines. When reading from the ADNS6000, the microcontroller drives both the SCLK and MOSI
lines initially. After tSRAD delay, the ADNS-6000 will drive
Optical Sensor
Mouse Optics
Avago Technologies ADNS-6000 optical sensor is used in
this reference design as the primary navigation engine.
This Optical Navigation Technology contains an Image Acquisition System, a Digital Signal Processor, a two channel
quadrature output, and a four-wire serial port. The
Sunplus SPCP825A periodically reads the ADNS-6000’s
Delta_X and Delta_Y registers to obtain any horizontal
and vertical motion information happening as a result of
the mouse being moved. The output of the ADNS-6000
optical sensor is 4-wire serial port.
The motion of Z-wheel is detected using the traditional
method by decoding the quadrature signal generated by
optical sensors. Two phototransistors are connected in
a source-follower configuration. An infrared LED shines,
causing the phototransistors to turn on. In between the
phototransistors and LED is a pinwheel that turns on the
mouse ball rollers. The fan of this pinwheel is mechanically designed to block the infrared light such that the phototransistors are turned on and off in a quadrature output
pattern. Every change in the phototransistor outputs represents a count of mouse movement. Comparing the last
state of the optics to the current state derives direction
information. As shown in Figure 2 below, traveling along
the quadrature signal to the right produces a unique set
of state transitions, and traveling to the left produces
another set of unique state transitions. In this reference
design, only the motion at the Z-wheel is detected using
this method.
This motion information will be reported to the PC to
update the position of the cursor. The advantages of using
ADNS-6000 optical sensor are the best tracking accuracy,
flexibility of programming the optical sensor via the SPI
port, and the automatic frame rate feature (1000fps to
6400fps). Besides, ADNS-6000 optical sensor performs
excellent tracking on difficult surfaces which conventional Led based technology is unable to track such as glossy
and smooth surfaces. In addition, Burst mode is another
special serial port operation mode that may be used to
reduce the serial transaction time for three predefined
operations: motion read and SROM download and frame
capture. The speed improvement is achieved by continuous data clocking to or from multiple registers.
Motion Read is activated by reading the Motion_Burst
register. The ADNS-6000 will respond with the contents
of the Motion, Delta_X, Delta_Y, SQUAL, Shutter_Upper,
Shutter_Lower and Maximum_Pixel registers in that
order. SROM download uses Burst Mode to load the
Avago Technologies-supplied firmware file contents into
the ADNS-6000. The firmware file is an ASCII text file with
each 2-character byte on a single line. Frame Capture is
a fast way to download a full array of pixel values from a
single frame.
To learn more about sensor’s technical information, please
visit the Avago Technologies web site at http://www.
avagotech.com
3
Figure 2. Optics Quadrature Signal Generation
Mouse Buttons
Some details on ADNK-6003-SP01
Mouse buttons are connected as standard switches. These
switches are pulled up by the pull up resistors inside the
microcontroller. When the user presses a button, the
switch will be closed and the pin will be pulled LOW to
GND. A LOW state at the pin is interpreted as the button
being pressed. A HIGH state is interpreted as the button
has been released or the button is not being pressed.
Normally the switches are debounced in firmware for 1520ms. In this reference design there are three switches:
left, Z-wheel, and right.
The ADNK-6003-SP01 reference design mouse unit allows
users to evaluate the performance of the Optical Tracking
Engine (sensor, lens, LASER assembly clip, LASER) over
a USB Sunplus SPCP825A USB Controller. This kit also
enables users to understand the recommended mechanical assembly. (See Appendix C and D)
USB Connection
The Sunplus SPCP825A has a configuration register that
switches control from the SIE to manual control on the
D+ and D- pins. This allows the firmware to dynamically
configure itself to operate as a USB mouse. The firmware
for this reference design will automatically detect the
host topology (USB). The connections for the connectors
are shown in Figure 3 below.
System Requirements
PCs using Windows® 95/ Windows® 98/ Windows® NT/
Windows® 2000 with standard 3-button USB mouse
driver loaded.
Operating (For USB Mode)
Hot pluggable with USB port. The PC does not need to be
powered off when plugging or unplugging the evaluation mouse.
To Disassemble the ADNK-6003-SP01 Unit
The ADNK-6003-SP01 comprises of the plastic mouse
casing, printed circuit board (PCB), lens, buttons, and USB
cable. (See Figure 4.) Unscrewing the one screw located
at the base of the unit can open the ADNK-6003-SP01
unit. Lifting and pulling the PCB out of the base plate can
further disassemble the mouse unit.
Caution: The lens is not permanently attached to the
sensor and will drop out of the assembly.
Figure 3. USB peripheral connectors
*or ADNS-6130-001 for trim lens
Customer Supplied VCSEL PCB
ADNS-6000 (sensor)
ADNV-6340 (VCSEL)
Customer Supplied PCB
ADNS-6230-001 (clip)
ADNS-6120 (lens)*
Customer Supplied Base Plate
With Recommended Features
Per IGES Drawing
Figure 4. Exploded view drawing of optical tracking engine with ADNS-6000 Optical Mouse Sensor
4
While reassembling the components, please make sure
that the Z height (Distance from lens reference plane to
surface) is valid. Refer to Figure 5.
VCSEL
VCSEL PCB
VCSEL Clip
Sensor
Sensor PCB
Lens
2.40
0.094
Surface
Figure 5. Distance from lens reference plane to surface
Enabling the SROM
Eye Safety
The ADNS-6000 must operate from the externally loaded
programming. This architecture enables immediate
adoption of new features and improved performance
algorithms. The external program is supplied by Avago
Technologies as a file which may be burned into a programmable device. A microcontroller with sufficient
memory may be used. On power-up and reset, the ADNS6000 program is downloaded into volatile memory using
the burst-mode procedure described in the Synchronous
Serial Port section. The program size is 1986 x 8 bits.
The ADNS-6000 and the associated components in the
schematic of Figure A1 are intended to comply with Class
1 Eye Safety Requirements of IEC 60825-1. Avago Technologies suggests that manufacturers perform testing to
verify eye safety on each mouse. It is also recommended
to review possible single fault mechanisms beyond those
described below in the section “Single Fault Detection”.
For more information, please refer to the ADNS-6000
datasheet.
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 V-0.
• Provides sufficient ESD creepage/clearance distance
to avoid discharge up to 15kV when assembled into a
mouse according to usage instruction above.
5
Under normal conditions, the ADNS-6000 generates the
drive current for the laser diode (ADNV-6340). In order to
stay below the Class 1 power requirements, resistor Rbin
must be set at least as high as the value in the bin table,
based on the bin number of the laser diode and LP_CFG0
and LP_CFG1 must be programmed to appropriate values.
Avago Technology recommends using the exact Rbin
value specified in the bin table to ensure sufficient laser
power for navigation. The system comprised of the ADNS6000 and ADNV-6340 is designed to maintain the output
beam power within Class 1 requirements over component
manufacturing tolerances and the recommended temperature range when adjusted per the procedure below
and when implemented as shown in the recommended
application circuit of Figure A1. For more information,
please refer to Eye Safety Application Note 5088.
LASER Power Adjustment Procedure
Kit Component Summary
1. The ambient temperature should be 25 ° C ± 5 ° C.
2. Set VDD3 to its permanent value.
3. Ensure that the laser drive is at 100% duty cycle by
setting bit 6 of register 0x0A to 0.
4. Program the LP_CFG0 and LP_CFG1 registers to
achieve an output power as close to 506uW as
possible without exceeding it.
Below is the summary of the components contained in
the ADNK-6003-SP01 Designer’s Kit.
Good engineering practices should be used to guarantee
performance, reliability and safety for the product design.
The lens technical information is contained in the ADNS6120 Data Sheet. The flange on the standard ADNS-6120
lens is for ESD protection.
LASER Output Power
The laser beam output power as measured at the navigation surface plane is specified below. The following conditions apply:
1. The system is adjusted according to the above
procedure.
2. The system is operated within the recommended
operating temperature range.
3. The VDD3 value is no greater than 50mV above its
value at the time of adjustment.
4. No allowance for optical power meter accuracy is
assumed.
Sensor
The sensor technical information is contained in the
ADNS-6000 Data Sheet.
Lens
LASER Assembly Clip
The information on the assembly clip is contained in the
ADNS-6230-001 Data Sheet.
LASER
The LASER technical information is contained in the
ADNV-6340 Data Sheet and Application Note AN-5088.
Additional application notes regarding Eye Safety Requirements are also available at Avago Technologies
website.
Base Plate Feature – IGES File
The IGES file on the CD-ROM provides recommended
base plate molding features to ensure optical alignment.
This includes PCB assembly diagrams like solder fixture in
assembly and exploded view, as well as solder plate. See
Appendix D for details.
Reference Design Documentation – Gerber File
The Gerber File presents detailed schematics used in
ADNK-6003-SP01 in PCB layout form. See Appendix C for
more details.
Overall circuit
A schematic of the overall circuit is shown in Appendix A
of this document. Appendix B lists the bill of materials.
6
Firmware Implementation
The firmware for this reference design is written in the
Avago Technologies assembly language. The following
files are required to compile the mouse.
tion returned from the mouse, the host now knows the
number of data endpoints supported by the mouse (2). At
this point, the process of enumeration is completed.
SPCP825A _A6000.asm - main mouse firmware
calibration_hid.asm – HID compliant device USB descriptor ROM tables. Load during calibration mode.
Notes
1. idVendor should be changed to the value as supplied by the USB-IF
2. idProduct should be assigned for specific product.
3. MaxPower value should be changed as per specific circuit’s current
draw.
hiddesc3.asm - 3 buttons mouse mode USB descriptor
ROM tables. Load during normal mouse mode.
4. Post Enumeration Operation
pro_6000.asm – Routine to access ADNS-6000 sensor
register.
spi.asm – Routine to access ADNS-6000 sensor register
and EEPROM during calibration mode.
SPCP825A.inc – The SPCP825A I/O registers definition.
Once communication between the host and mouse is established, the peripheral now has the task of sending and
receiving data on the control and data endpoints. In this
case, when the host configures endpoint 1, the mouse
starts to transmit button and motion data back to the
host when there is data to send. At any time the peripheral may be reset or reconfigured by the host.
adns6000_srom_25.inc – ADNS-6000 SROM firmware.
USB Requests – Endpoint 0
ADNS6000.inc – ADNS-6000 interface constants.
delay.inc – SPCP825A delay loop subroutine.
decode_setup.inc
constants.
–
USB
descriptor
and
request
DET_Z.inc – SPCP825A Z-axis event handler.
DET_KEY.inc – SPCP825A button event handler.
USB Interface
All USB Human Interface Device (HID) class applications
follow the same USB start-up procedure. The procedure is
as follows
1. Device Plug-in
When a USB device is first connected to the bus, it is
powered and running firmware, but communications on
the USB remain non-functional until the host has issued
a USB bus reset.
2. Bus Reset
The pull-up resistor on D– notifies the hub that a low
speed (1.5 Mbps) device has just been connected. The
host recognizes the presence of a new USB device and
initiates a bus reset to that device.
3. Enumeration
The host initiates SETUP transactions that reveal general
and device specific information about the mouse. When
the description is received, the host assigns a new and
unique USB address to the mouse. The mouse begins
responding to communication with the newly assigned
address, while the host continues to ask for information
about the device description, configuration description and HID report description. Using the informa-
7
Endpoint 0 acts as the control endpoint for the host.
On power-up endpoint 0 is the default communication
channel for all USB devices. The host initiates ControlRead and Control-Write (see Chapter 8 of the USB specification) to determine the device type and how to configure
communications with the device. In this particular design,
only Control-Read transactions are required to enumerate
a mouse. For a list of valid requests see Chapter 9 of the
USBG specification. In addition to the standard “Chapter
9” requests, a mouse must also support all valid HID class
requests for a mouse.
USB Requests – Endpoint 1
Endpoint 1 is the data transfer communications channel
for mouse button, wheel, and movement information. Requests to this endpoint are not recognized until
the host configures endpoint 1. Once this endpoint is
enabled, then interrupt IN requests are sent from the host
to the mouse to gather mouse data. When the mouse is
left idle (i.e. no movement, no new button presses, no
wheel movement) the firmware will NAK requests to this
endpoint. Data is only reported when there is a status
change with the mouse.
Two HID report formats are used in this design. The
boot protocol, as defined by the HID specification, is the
default report protocol that all USB enabled systems understands. The boot protocol has a three-byte format, and
so does not report wheel information. The HID report descriptor defines the report protocol format. This format is
four bytes and is the same as the report format with the
exception of the fourth byte, which is the wheel information. Appendix F of this document lists the USB Data
Reporting Format.
USB Firmware Description
A function call map for USB operation is shown in Figure
6. The following are descriptions of the functions in
SPCP825A _A6000.asm.
IO_initial – This function is use to set the Sunplus microcontroller as input or output.
Port A(PA) is set as input while both Port B(PB) and Port
C(PC) are set as output. This function also includes setting
and enabling of pull-up resistor for left, right and middle
keys.
clear_ram – This function clears the internal ram of the
microcontroller.
Usb_initial – This function is used to enable the USB
mode. This is done by enabling the watchdog and LVR and
the low speed is selected. The USB reset event interrupt as
well as the set up event interrupt are enabled.
ReadDeltaY – Reads the ADNS-6000 Delta_Y register for
the Y movement. Calls the ReadSPI routine to enable the
SPI interface and perform reading operations through the
two wire serial interface. Any new Y motion information is
added to the [yCount] variable.
DetectKeyLoop – This function is used to detect the left,
right and middle buttons changes.
check_mouse_data –This function is used to determine
whether the buttons, X, Y or Z-wheel data need to be sent
to the host.
reset_adns6000 – This function is responsible for
resetting the hardware, loading the SROM (Shadow ROM)
firmware into the ADNS-6000 optical sensor. The ID from
the device and program are compared. If the ID is not the
same, then the program is trapped in the dead loop, i.e.
the device is unusable.
DetectUsbReset – This routine initializes USB interface
service and SPI ports. Then, the normal_mode variable is
compared, if normal_mode is equal to ‘0’ then this routine
will invoke the calibration_operation routine to enter calibration loop. If normal_mode variable flag is equal to ‘1’
then Read_LP_CFG_REG is called to load the calibrated
LP_CFG0 and LP_CFG1 register value. Subsequently,
the ADNS-6000 sensor is reset and AdjustLaser routine
is invoked to write the LP_CFG0 and LP_CFG1 value to
the sensor register. Then, SetShuttherMode routine is
called to enable VCSEL in shutter mode and laser output
is enabled.
Report_mouse_data – This function is used to send
buttons, X, Y and Z-wheel data to the computer.
Default_state – This function is used to set the default
service routing.
AdjustLaser – the AdjustLaser is used to read the value
from the EEPROM and then store them into the ADNS6000 sensor. The mouse will do calibration when the left
button is pressed when the mouse is first plugged into the
USB port. However if the mouse left button is not pressed,
the value of calibration is already stored in the EEPROM
i.e. there is no need of calibration.
SPI_init – This function involves the initialization of SPI.
Read_LP_CFG_REG – This function reads the calibrated
laser power configuration register from EEPROM.
sample_mouse – This routine returns any updates in
the X, Y and Z-wheel motion information. The motion of
the Z-wheel is detected using the traditional method by
decoding the quadrature signal generated by the phototransistors. The X and Y directions of the movement
are obtained by calling the ReadDeltaX and ReadDeltaY
routines. The X, Y, and Z-wheel movement is stored in the
[xCount], [yCount], and [zCount] variables which will be
sent to the host in the main routine.
ReadDeltaX – Reads the ADNS-6000 Delta_X register for
the X movement. Calls the ReadSPI routine to enable the
SPI interface and perform reading operations through the
two wire serial interface. Any new X motion information is
added to the [xCount] variable.
8
judge_mode – This function is used to check for normal
mouse or calibration mode.
detect_key_change – This function is used to detect left,
right or middle button changes.
ReadMotionReg – Reads the ADNS-6000 Motion
register. The data returned from this register will be used
to determine if any motion has occurred or if any fault
condition exists.
Calibration operation - The calibration mode is different
from the AdjustLaser as the calibration mode happens
when the left button is pressed whereas the AdjustLaser is used to read the EEPROM values and put them into
the ADNS-6000 sensor. This means in the Normal mouse
mode, the AdjustLaser is done even in the normal mouse
mode. Actually when the mouse enters the calibration
mode, it cannot come back to the normal mouse mode
without unplugging the USB plug.
USB Functions
Main_loop –This function spins in an infinite loop waiting
for an event that needs servicing. sample_mouse and
report_mouse_data are the functions which are called
within this loop to retrieve any new motion or button information. The data received from these functions will be
loaded into the endpoint 1 buffer to be sent to the host.
ep0SetupReceived – This routine is entered whenever a
SETUP packet is received in on endpoint 0. It parses the
packet and calls the appropriate routine to handle the
packet.
ep0InReceived – This routine is entered whenever an IN
packet is received on endpoint 0.
ep0OutReceived – This routine is entered whenever an
OUT packet is received on endpoint 0.
setDeviceConfiguration – This routine is entered when a
SET CONFIGURATION request has been received from the
host.
setDeviceAddress – This routine is entered whenever
a SET ADDRESS request has been received. The device
address change cannot actually take place until after the
status stage of this no-data control transaction, so the
address is saved and a flag is set to indicate that a new
address was just received. The code that handles IN transactions will recognize this and set the address properly.
setInterfaceIdle – This routine is entered whenever a
SET IDLE request is received. See the HID specification
for the rules on setting idle periods. This function sets the
HID idle time. See the HID documentation for details on
handling the idle timer.
setInterfaceProtocol – This routine is entered whenever
a SET PROTOCOL request is received. This no-data control
transaction enables boot or report protocol.
getInterfaceReport – This routine is entered whenever a
GET REPORT request is received.
getInterfaceIdle – This routine is entered whenever a
GET IDLE request is received. This function then initiates
a control-read transaction that returns the idle time. See
the HID class documentation for more details.
getDeviceConfiguration – This routine is entered
whenever a GET CONFIGURATION Request is received.
This function then starts a control read transaction that
sends the configuration, interface, endpoint, and HID descriptors to the host.
requestNotSupported – Unsupported or invalid descriptor requests will cause this firmware to STALL these transactions.
System
Initialization
Judge Mode
USB Initialization
Normal Mouse
Mode
Calibration
Operation
Write EEPROM
Calibration Loop
Load SROM
Read EEPROM
Calibration Mode
Write Sensor
Adjust Laser
Process
Command
Main Loop
Detect Key
Change
Read Sensor
Test Sensor
Reset Sensor
ReadDeltaX
Sample Mouse
Echo
ReadDeltaY
Send Data
Read Z Wheel
Figure 6. USB Operation Function Call Map
9
Finish Command
Manufacturer String*1
A request for the manufacturer string will return the
following string.
“Avago Technologies Reference Design Mouse”
Product String*2
A request for the product string will return the following
string.
“ADNS-6000 Mouse”
Configuration String
A request for the configuration string will return the
following string.
“HID-Compliant Mouse”
Endpoint 1 String
A request for the endpoint string will return the following
string.
“Endpoint 1 Interrupt Pipe”
Notes:
1. The Manufacturer String should be changed to the name of your
company.
2. The Product String should be changed to your product’s name.
10
Figure A1. Circuit-level block diagram for ADNK-6003-SP01 designer’s kit optical mouse using the Avago Technologies ADNS-6000 optical mouse sensor and Sunplus SPCP825A.
Appendix A: Schematic Diagram of the Overall Circuit
11
Appendix B: Bill of Materials for components shown on the circuit.
Comment
Footprint
Quantity
Cer. Cap 0.1uF (104)
0805
6
Cer. Cap 2.2uF, 16V
CASE A
2
Cer. Cap 4.7pF, 20V
CASE A
2
Cer. Cap 470pF
CASE A
1
Chip RES. 10K 1% 0.125W
0805
2
Chip RES. 12.7K 1% 0.125W
0805
1
Chip RES 2K7 1% 0.125W
0805
1
Chip RES 20K 1% 0.125W
0805
4
Chip RES 100K 1% 0.125W
0805
1
Chip RES 240R 1% 0.125W
0805
1
Photo Transistor
DIP
1
2N3906
TO-92
1
Crystal, 6MHz
DIP
1
Crystal, 24MHz
DIP
1
SPCP825A
DIP-24
1
ADNS-6000
DIP-20
1
25LC040/P
SO-8
1
HEADER 5
HEADLOCK5P
1
LED
DIP
1
LP2950ACZ-3.3
TO-92
1
Jumper, RED
DIP
1
Jumper, BLK
DIP
1
VCSEL
DIP
1
SW SPDT
DIP
3
12
Appendix C: PCB Layout
Figure C1: PCB Schematic (Bottom Layer)
Figure C2: PCB Schematic (Top Layer)
13
Figure C3: PCB Schematic (Top Overlay)
Figure C4 : PCB Schematic (Bottom Overlay)
14
Appendix D: Base Plate Feature
Figure D1: Overall view of base plate
Appendix E: USB data reporting format
The USB report has two formats, depending on if boot or report protocol is enabled. The following format is the boot
protocol and is understood by a USB aware BIOS.
Bit 7
Bit 0
Byte 0
0
0
0
0
0
Middle
Right
Left
Byte 1
X
X
X
X
X
X
X
X
Byte 2
Y
Y
Y
Y
Y
Y
Y
Y
The following is the USB report protocol format and allows the additional wheel movement information in the fourth
byte. When the wheel is moved forward the fourth byte reports a 0x01, and when moved backward the fourth byte
reports 0xFF. When the wheel is idle, then this byte is assigned 0x00.
Bit 7
15
Bit 0
Byte 0
0
0
0
0
0
Middle
Right
Left
Byte 1
X
X
X
X
X
X
X
X
Byte 2
Y
Y
Y
Y
Y
Y
Y
Y
Byte 3
Z
Z
Z
Z
Z
Z
Z
Z
Appendix F: Kit Components
The designer’s kit contains components as follows:
Part Number
Description
Name
Quantity
ADNS-6000
High Performance Laser Mouse Sensor
Sensor
5
ADNS-6120
Laser Mouse Round Lens Plate
Lens
5
ADNS-6130-001
Laser Mouse Trim Lens Plate
Lens
5
ADNS-6230-001
Laser Mouse VCSEL Assembly Clip
VCSEL Clip
5
ADNV-6340
Single Mode Vertical Cavity Surface Emitting LASER (VCSEL)
VCSEL
ADNK-6003-SP01 CD
Includes Documentation and Support Files for ADNK-6003-SP01
Documentation
a. ADNS-6000 Data Sheet
b. ADNS-6120 Round Lens Data Sheet
c. ADNS-6130-001 Trim Lens Data Sheet
d. ADNS-6230-001 VCSEL Assembly Clip Data Sheet
e. ADNV-6340 VCSEL Data Sheet
f. Avago Technologies ADNS-6000, ADNS-6010, ADNS-6090 and ADNS-7010
Laser Mouse Eye Safety Calculation Application Note 5088
Hardware Support Files
a. ADNK-6003-SP01 BOM List
b. ADNK-6003-SP01 Schematic
c. 3D Model IGES FIles
d. Gerber File
Software Support Files
a. Microcontroller Firmware
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-2008 Avago Technologies. All rights reserved. Obsoletes AV01-0427EN
AV02-1383EN - September 9, 2008
5
1
Similar pages