background image

8

2. Device Configuration

During this time the host will
set the standard PS/2
parameters such as scaling,
resolution, stream mode, and
eventually enabling stream
mode for data reports. For a
list of the valid PS/2
commands that this mouse
recognizes see Appendix G.

3. Wheel Enable (optional)

Since the wheel is not part of
the standard PS/2
specification, there is a
sequence of commands that
enable the wheel. Wheel-
aware drivers, such as those
for Microsoft and Linux
operating systems will initiate
this special sequence.

After the following sequence
of commands, the wheel
report format is enabled.

0xF3, 0xC8 Set Sampling
Rate 200 per second

0xF3, 0x64 Set Sampling Rate
100 per second

0xF3, 0x32 Set Sampling Rate
50 per second

0xF2, 0x03 Read Device Type
returns a value of 0x03

After the Read Device Type
command returns 0x03 to
indicate that this is a
Microsoft compatible three
button wheel mouse, the
wheel report format is
enabled. See Appendix G for
information on PS/2 standard
and wheel reporting formats.

4. Post Start Up Operation

After the streaming mode is
set and data reports are
enabled, the mouse will send
button, movement, and
optionally wheel reports back
to the host. Whenever the
mouse has new data to send
it will initiate a transfer to
the host.

USB Firmware Description

A function call map for USB
operation is shown in Figure 6.
The following are descriptions
of the functions in 

adns-

6000.asm.

Dual USB and PS2 Functions

GetMouseType

 

– called in

dualMain 

when the mouse is

first plugged into the PC. This
routine returns the interface of
the mouse. The following
sequences are performed by the
microcontroller to determine the
mouse type. Delay 50mS.
Initialize the PS2 BAT delay
counter. For a period of 2ms,
poll the SCLK and SDATA lines
every 10us. If we get 4 samples
in a row with non-zero data on
either line, detect a PS2
interface. If 2mS expires, enable
the USB pull up resistor and
delay 500uS. Poll the SCLK and
SDATA lines indefinitely until a
non-zero condition exists on
either line. During this polling
period, we begin to count down
the PS2 BAT delay. If SCLK(D+)
is sampled high, detect a PS2
interface. If SDATA(D-) sampled
high, disable the USB connect
resistor and Delay 100uS. If D+
and D- are both 0, detect a
USB interface, else detect a PS2
interface.

SPIInit

 

– This routine is called

in the 

try_download 

to enable

the SPI interface. The
CY7C63743-PXC is always
configured as a Master to drive
the serial clock on P0.7. The
clock is set to HIGH in idle
state, and the SCLK frequency
is set to send a bit rate of
1Mbit/s.

SensorReset

 

– This routine

resets the serial interface and
the ADND-6000 internal
registers by generating a pulse
on the RESET pin.

LoadSROM - 

called in

try_download 

after the

initialization of the SPI
interface. This routine is used
to load the SROM (Shadow
ROM) firmware into the ADNS-
6000 optical sensor. It should
be called after 

SensorReset

.

AdjustLASER - 

called to

calibrate the laser to the
required 506uW. This will
ensure that the LASER meets
Class 1 eye safety. Customer
must ensure that the correct
LP_CFG0 and LP_CFG1 register
values are written into the
registers for proper LASER
operation.

ProcessButtons

 

– This routine

is called within the infinite

usbTaskLoop 

and 

ps2TaskLoop

loops. The state of the buttons
are updated every one ms in
the 

Dual1msTimer 

Interrupt

Service Routine (ISR). This
routine compares the current
state of the buttons with their
last state to detect any changes
in the status. If the status
change of the buttons remains
until the expiration of debounce
timer (15ms), the new button
state is confirmed. This routine
will record the new button state
in the 

[buttonValue] 

variable

which will be reported to the
host in the main loop.

ReadProcessOptics

 

– 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.

Summary of Contents for ADNK-6003

Page 1: ...ound at the USB Implementers Forum web site at www usb org ADNB 6001 laser mouse bundle set is the world s first laser illuminated navigation system With laser navigation technology the mouse can oper...

Page 2: ...x 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 pi...

Page 3: ...stors 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...

Page 4: ...r Customer Supplied PCB ADNS 6120 lens Customer Supplied Base Plate With Recommended Features Per IGES Drawing Customer Supplied VCSEL PCB ADNV 6330 VCSEL ADNS 6230 001 clip or ADNS 6130 001 for trim...

Page 5: ...nent 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 inf...

Page 6: ...08 or through most 3rd party programming companies For further information on this product please contact Cypress Semiconductor Lens The lens technical information is contained in the ADNS 6120 Data...

Page 7: ...Control Read 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 trans...

Page 8: ...dition exists on either line During this polling period we begin to count down the PS2 BAT delay If SCLK D is sampled high detect a PS2 interface If SDATA D sampled high disable the USB connect resist...

Page 9: ...t that needs servicing The ProcessButtons and ReadProcessOptics functions are called within this loop to retrieve any new motion or button information The data received from these functions will be lo...

Page 10: ...are to STALL these transactions PS 2 Firmware Description A function call map for PS 2 operation is shown in Figure 7 The following are descriptions of the functions in Adns 6000 asm PS 2 Functions PS...

Page 11: ...mmand from the host This routine then sends a mouse packet in response to the command PS2SetStreamMode This routine is called in response to a SET STREAM MODE command from the host Stream mode is then...

Page 12: ...S2SetStreamMode ReadDeviceType Reset Enable ResetWrapMode Disable PS2ResetScaling ReadDeltaX ReadDeltaY Read Z Wheel HostRequestToSend PS2HostINhibit PS2Send Send_1 Send_0 Figure 7 PS 2 Operation Func...

Page 13: ...re both LOW exists for 256us This ISR enables the USB Device Address sets up the endpoint modes and jumps to usbMain for the USB initialization Dual1msTimer This ISR reads the current status of the bu...

Page 14: ...owing 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 r...

Page 15: ...r RBIN 24 MOSI 23 SCLK 21 MISO 22 R2 20K NCS 3 RESET NPD 4 R1 20K R9 10 K R10 10 K 24 MHz OSC_OUT OSC_IN GUARD X1 REFC REFB C9 0 1 C8 2 2 LASER_NEN XY_LASER Q2 2N3906 C2 0 1 C3 0 1 GND GND VDD3 VDD3 V...

Page 16: ...RES 20K 1 0 125W 0805_CUS 2 Chip RES 22K 1 0 125W 0805_CUS 2 Chip RES 240R 1 0 125W 0805_CUS 1 Resistor 18K7 1 0 25W AXIAL0 4 1 Resonator 24MHz RAD0 2B 1 MMBT3906 SOT 23 1 E Cap 2 2uF 50V CODE A 1 E C...

Page 17: ...17 Figure C2 PCB Schematic Top Layer Figure C1 PCB Schematic Bottom Layer Appendix C PCB Layout...

Page 18: ...18 Figure C4 PCB Schematic Bottom Overlay Figure C3 PCB Schematic Top Overlay...

Page 19: ...19 Appendix D Base Plate Feature Figure D1 Overall view of base plate...

Page 20: ...e 1 X X X X X X X X Byte 2 Y Y Y Y Y Y Y Y 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 Byte 3 R R R R R R R F R The following is the USB report protoco...

Page 21: ...Responds by sending a mouse report packet to host 0xEA Set Stream Mode Sets stream mode 0xE9 Status Request Returns current mode en disabled scaling button resolution and sampling rate information to...

Page 22: ...0x03 Read Device Type returns a value of 0x03 After the Read Device Type command returns 0x03 to indicate that this is a Microsoft compatible three button wheel mouse the wheel report format is enabl...

Page 23: ...0 001 LASER Assembly Clip LASER Clip 5 ADNV 6330 Single Mode Vertical Cavity Surface Emitting LASER VCSEL LASER 5 ADNK 6003 CD Includes Documentation and Support Files for ADNK 6003 Documentation a AD...

Page 24: ...88 6763 Europe 49 0 6441 92460 China 10800 650 0017 Hong Kong 65 6756 2394 India Australia New Zealand 65 6755 1939 Japan 81 3 3335 8152 Domestic Inter national or0120 61 1280 DomesticOnly Korea 65 67...

Reviews: