background image

ADNK-3083

Optical Mouse Designer’s Kit

Design Guide

ADNS-3080’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 four-wire syn-
chronous serial port is used to set and read parameters in 
the ADNS-3080, and to read out the motion, Delta_x and 
Delta_y information. This motion information is reported 
to the PC updating the position of the cursor. The advan-
tages of using the ADNS-3080 optical sensor are: best 
tracking accuracy, sensor programming  fl exibility via SPI 
port, and the automatic frame rate feature (1000fps to 
6400fps). The ADNS-3080 also has selectable resolution 
of 400cpi or 1600cpi. Furthermore, the ADNS-3080 sensor 
has excellent tracking performance on diffi

  cult surfaces 

such as wood and half-tone surfaces. Additionally, the 
Burst mode is another special serial port operation mode 
which may be used to reduce the serial transaction time 
for three predefined operations: motion read, SROM 
download, and frame capture. Speed improvement is 
achieved by continuous data clocking to or from multiple 
registers during this operation.

Motion Read

 is activated by reading the Motion_Burst 

register. The ADNS-3080 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-sup-

plied firmware file contents into the ADNS-3080. The 
fi rmware fi le is an ASCII text fi le with each 2-character 
byte (hexadecimal representation) 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 web site at 

http://www.semiconductor.

Avago.com

Introduction

This design guide describes how a cost-eff ective USB-
-PS/2 yet feature-rich optical mouse can be built using 
the  Avago Technologies high  performance ADNS-3080 
optical mouse sensor and Cypress Semiconductor 
CY7C63743-PXC USB microcontroller. The  document 
starts with the basic operations of a computer mouse 
peripheral followed by an introduction to the ADNS-
3080 optical mouse sensor and CY7C63743-PXC USB 
microcontroller. A schematic of the ADNS-3080 optical 
mouse sensor to the CY7C63743-PXC USB microcontroller 
buttons of a standard mouse is also shown in this docu-
ment. The software section of this design guide  describes 
the architecture of the fi rmware required to implement 
the USB and PS/2 mouse functions.

Optical Mouse Basics

The optical mouse measures changes in position by opti-
cally acquiring sequential surface images (frames), and 
mathematically determining the direction and magni-
tude of movement. The Z-wheel movement is done in the 
traditional method by decoding the quadrature signal 
generated by optical encoder. This design guide shows 
how to connect to and manage a standard confi guration 
of mouse hardware, as well as handle the USB and PS/2 
protocols. Each of these protocols provides a standard 
way of reporting mouse movement and button presses 
to the PC.

Introduction to ADNS-3080 Optical Mouse Sensor

Avago’s ADNS-3080 optical mouse sensor is used in this 
reference design as the primary navigation engine. This 
Optical Navigation Technology contains an Image Acqui-
sition System, a Digital Signal Processor, and a four-wire 
serial port. The CY7C63743-PXC periodically reads the 

Summary of Contents for ADNK-3083

Page 1: ...load a full array of pixel values from a single frame To learn more about sensor s technical information please visit the Avago web site at http www semiconductor Avago com Introduction This design gu...

Page 2: ...D and Optical Encoder combination Mouse Buttons Mouse buttons are connected as standard switches These switches are pulled up by the pull up resistors inside the microcontroller When the user presses...

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

Page 4: ...in Figure 3 below ADNK 3083 Designer s Kit Optical Mouse The ADNK 3083 optical mouse unit allows users to evaluate the performance of the Avago s Optical Tracking Engine sensor lens LED assembly clip...

Page 5: ...r IGES drawing Sensor Lens Object Surface 2 40 0 094 To Disassemble the ADNK 3083 Unit The ADNK 3083 comprises of the plastic mouse casing printed circuit board PCB lens buttons and USB cable See Figu...

Page 6: ...lopment Kit and the CY3654 P05 Personality Board Programming support and programmer adaptors for the Cypress CY7C63743 PXC can be found through Cypress CY3649 xxxV CY3083 SC28 CY3083 08 or through mos...

Page 7: ...c product Note 3 MaxPower value should be changed as per specific circuit s current draw 4 Post Enumeration Operation Once communication between the host and mouse is established the mouse now has the...

Page 8: ...D sampled high disable the USB connect resistor and Delay 100 S 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 t...

Page 9: ...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 Thi...

Page 10: ...l Map DualMain GetMouseType USB Main PS2 Interface System Initialization USB Initialization USBTaskLoop ProcessButtons ProcessOptics ReadMotionReg ReadDeltaX ReadDeltaY Read ZWheel Load new mouse pack...

Page 11: ...mand from the host The PS 2 mode is then set to remote mode PS2SetWrapMode This routine is called in response to a SET WRAP MODE command from the host It then sets the mouse mode to wrap mode See the...

Page 12: ...es and jumps to usbMain for the USB initialization Dual1msTimer This ISR reads the current status of the buttons Therefore every one millisecond the button state is updated the button status informati...

Page 13: ...sePacket HostRequestToSend PS2Receive GetBit send0 ReadMotionReg PS2SendResponseByte PS2Send Send_1 Send_0 ResetInterval PS2SetScaling SetWrapMode SetDefault PS2StatusRequest SetRemoteMode CheckWheel...

Page 14: ...ons L M QA QB Vcc GND V DD 19 16 GND 1K REFB 14 P0 3 7 NPD 4 P0 7 3 SCLK 21 P0 6 2 MISO 22 9 GUARD NC NC 11 18 20 P1 1 R 20 K 20 K 1 NCS LP2950ACZ 3 3 3 1 2 Vo Vin GND 4 7 F 0 1 F 0 1 F MMBT2222A 13 R...

Page 15: ...S 1 R16 Chip resistor 20K 1 0805_CUS 2 R8 R10 Chip resistor 240R 1 0805_CUS 1 R4 Resonator 24MHz XTAL4 1 X1 Transistor 2N2222 TO92C 1 Q3 Ceramic cap 2 2uF 16V 1206 1 C5 Tant cap 4 7uF 16V 1206 2 C2 C4...

Page 16: ...16 Figure C1 PCB Schematic Bottom Layer Figure C2 PCB Schematic Top Overlay Appendix C PCB Layout HLMP EG3E Figure C3 PCB Schematic Bottom Overlay...

Page 17: ...tional view of PCB assembly highlighting all optical mouse components optical mouse sensor clip lens LED PCB and base plate Clip LED PCB Sensor Lens Light Pipe Surface Base Plate Appendix D Base Plate...

Page 18: ...e Command Action 0xFF Reset Resets mouse to default states 0xFE Resend Resends last data to host 0xF6 Set Default Sets mouse to use default parameters 0xF5 Disable Disables the mouse 0xF4 Enable Enabl...

Page 19: ...dicate that this is a Microsoft compatible three button wheel mouse the wheel report format is enabled After this initialization sequence the PS 2 wheel reporting format is enabled The fourth byte rep...

Page 20: ...ADNS 2220 001 Assembly Clip Data Sheet d HLMP EG3E xxxxx Red LED Data Sheet Hardware Support Files a ADNK 3083 BOM List b ADNK 3083 Schematic c 3D Model IGES Files d Gerber File Software Support Files...

Reviews: