background image

9

ReadDeltaY

 

– Reads the ADNS-3080 Delta_Y register for the 

Y movement. Calls the 

ReadSPI 

routine to enable the SPI 

interface and perform reading operations through the 
four-wire serial interface. Any new Y motion information 
is added to the 

[yCount] 

variable.

WriteSPI

 

– Writes to the ADNS-3080 register. A write op-

eration consists of two bytes. The fi rst byte contains the 
address (7 bits) and has “1” as its MSB. The second byte 
contains data. The microcontroller to drive both the SCLK 
and the MOSI lines. 

SPIWriteRoutine 

is called to carry the 

write operation.

ReadSPI

 

– Reads the desired ADNS-3080 registers. A read 

operation is composed of two parts. First, the microcon-
troller performs a write to the ADNS-3080, sending the 
address of the target register to be read. The microcon-
troller drives both the SCLK and MOSI lines. After t

SRAD 

delay, the ADNS-3080 will drive the data via MISO. The 
microcontroller is only driving the SCLK line (outputs 
SCLK for the serial interface). 

SPIWriteRoutine 

is called to 

carry the write operation.

SPIWriteRoutine

 

– Writes the data to be transmitted onto 

the SPI pins.

CheckProductID

 

– This function checks the product ID of the 

sensor chip being used. The ID returned should match 
with the ADNS-3080’s ID.

GetButtons

 

– Returns the current state of the buttons.

USB Functions

usbMain

 

– This routine initializes the USB related pa-

rameters and enables VREG to signal the host that the 
mouse has been connected. The program then goes to 
the 

usbTaskLoop 

.

usbTaskLoop

 

– This function spins in an infi nite loop waiting 

for an event 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 loaded into the 
endpoint 1 buff er to be sent to the host.

ep0SetupReceived

 

– This routine is entered whenever a 

SETUP packet is received 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.

setDeviceConfi guration

 

– 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 take place until after the status stage of 
this no-data control transaction. So the address is saved 
and a fl ag is set to indicate that a new address was just 
received. The code that handles IN transactions will rec-
ognize this and set the  address properly.

getDescriptor

 

– This routine is entered when a GET DESCRIP-

TOR request is received from the host. This function 
decodes the descriptor request and sends the proper 
descriptor.

setInterfaceIdle

 

– This routine is entered whenever a SET 

IDLE request is received. See the HID specifi cation 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.

getInterfaceProtocol

 

– This routine is entered whenever a GET 

PROTOCOL request is received. This request initiates a 
control-read transaction that tells the host if the mouse is 
confi gured for boot or report protocol. See the HID class 
documentation for more details.

getDeviceConfi guration

 

– This routine is entered whenever 

a GET CONFIGURATION Request is received. This func-
tion then starts a control read transaction that sends the 
confi guration, interface, endpoint, and HID descriptors 
to the host.

requestNotSupported

 

– Unsupported or invalid descriptor 

requests will cause this fi rmware to STALL these transac-
tions.

Содержание ADNK-3083

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 13: ...sePacket HostRequestToSend PS2Receive GetBit send0 ReadMotionReg PS2SendResponseByte PS2Send Send_1 Send_0 ResetInterval PS2SetScaling SetWrapMode SetDefault PS2StatusRequest SetRemoteMode CheckWheel...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Отзывы: