Download Print this page

Agilent Technologies ADNK-6003 Design Manual

Optical mouse designer's kit

Advertisement

Quick Links

Introduction
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-PS/2 optical mouse can
be built using the Cypress
Semiconductor CY7C63743-PXC
USB microcontroller and the
Agilent ADNS-6000 optical
sensor. The document starts
with the basic operations of a
computer mouse peripheral
followed by an introduction to
the CY7C63743-PXC USB
microcontroller and the Agilent
Technologies ADNS-6000
Optical Navigation Sensor. A
schematic of the CY7C63743-
PXC 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 and PS/2
mouse functions. The
Agilent ADNK-6003
Optical Mouse Designer's Kit
Design Guide
CY7C63743-PXC data sheet is
available from the Cypress web
site at www.cypress.com . The
ADNS-6000 data sheet is
available from the Agilent web
site at
www.semiconductor.agilent.com.
USB documentation can be
found 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
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.
The ADNS-6000 sensor along
with the ADNS-6120 lens,
ADNS-6220 clip and ADNV-
6330 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.
Optical Mouse Basics
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 and PS/2
protocols. Each of these
protocols provides a standard
way of reporting mouse
movement and button presses
to the PC.

Advertisement

loading

Summary of Contents for Agilent Technologies ADNK-6003

  • Page 1 Agilent ADNK-6003 Optical Mouse Designer’s Kit Design Guide Introduction The Universal Serial Bus (USB) CY7C63743-PXC data sheet is mouse tracking system. There is an industry standard serial available from the Cypress web are no moving parts, which interface between a computer site at www.cypress.com .
  • Page 2 Introduction to the CY7C63743-PXC Hardware Implementation The firmware will use these definitions to read and The CY7C63743-PXC is an 8- The standard hardware to configure the GPIO pins, bit RISC microcontroller with implement a mouse is shown without any other an integrated USB Serial in Figure 1.
  • Page 3 and a four-wire serial port. Capture is a fast way to Mouse Buttons The CY7C63743-PXC download a full array of pixel Mouse buttons are connected periodically reads the ADNS- values from a single frame. as standard switches. These 6000’s Delta_X and Delta_Y To learn more about sensor’s switches are pulled up by the registers to obtain any...
  • Page 4 (See Appendix C and D) To Disassemble the ADNK-6003 Unit System Requirements The ADNK-6003 comprises of the plastic mouse casing, PCs using Windows 95/ printed circuit board (PCB), Windows...
  • Page 5 Eye Safety While reassembling the components, please make sure The ADNS-6000 and the that the Z height (Distance associated components in the from lens reference plane to schematic of Figure A1 are surface) is valid. Refer to intended to comply with Class Figure 5.
  • Page 6 The Gerber File presents without exceeding it. development, contact Cypress detailed schematics used in to purchase the CY3654 ADNK-6003 in PCB layout Good engineering practices Development Kit and the form. See Appendix C for more should be used to guarantee CY3654-P05 Personality Board.
  • Page 7 2. idProduct should be assigned for specific USB Interface mouse is left idle (i.e. no product. movement, no new button All USB Human Interface 3. MaxPower value should be changed as per presses, no wheel movement) specific circuit’s current draw. Device (HID) class applications the firmware will NAK requests 4.
  • Page 8 USB Firmware Description 2. Device Configuration LoadSROM - called in try_download after the A function call map for USB During this time the host will initialization of the SPI operation is shown in Figure 6. set the standard PS/2 interface. This routine is used parameters such as scaling, The following are descriptions to load the SROM (Shadow...
  • Page 9 ReadMotionReg – Reads the SPIWriteRoutine – Writes the SET ADDRESS request has ADNS-6000 Motion register. data to be transmitted onto the been received. The device The data returned from this SPI pins. address change cannot actually register will be used to take place until after the status CheckProductID –...
  • Page 10 configured for boot or report DualMain protocol. See the HID class documentation for more details. System getDeviceConfiguration – This Initialization routine is entered whenever a GET CONFIGURATION Request is received. This function then Load SROM starts a control read transaction that sends the configuration, interface, AdjustLASER endpoint, and HID descriptors...
  • Page 11: Set Sample Rate

    PS2SendResponseByte – Sends command from the host. The PS2SetScaling – This routine a response byte (ACK, ERROR, PS/2 mode is then set to is called in response to a SET RESEND) to the host remote mode. SCALING command from the host.
  • Page 12 output by right-shifting the send_1 – sends a PS/2 1 bit mouse counts to achieve a /2 send_0 – sends a PS/2 0 bit for each resolution factor. GetBit – receives a PS/2 bit void ApplyScaling(void) – from the host This routine scales the mouse output according to the following to the PS/2 mouse...
  • Page 13 SET RESOLUTION Command DualMain – When power is suspending the chip. The first applied to the program then enters a The SET RESOLUTION CY7C63743-PXC, a Power On suspended state, and will wake command is conditionally Reset (POR) occurs; the at least as often as the enabled by the statement microcontroller starts executing wakeup timer interrupts or as...
  • Page 14 Manufacturer String*1 A request for the manufacturer string will return the following string. “Agilent 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.
  • Page 15 EC10E laser * Outputs configured as open drain R3 20K Scroll wheel encoder R4 20K Figure A1. Circuit-level block diagram for ADNK-6003 designer’s kit optical mouse using the Agilent ADNS-6000 optical mouse sensor and Cypress CY7C63743-PXC enCoRe USB Controller.
  • Page 16 Appendix B: Bill of Materials for Components Shown on schematic Comment Footprint Quantity Cer. Cap 0.1uF (104) 0805_CUS Cer. Cap 470pF 50V 0805_CUS Chip RES. 10K 1% 0.125W 0805_CUS Chip RES. 1K3 1% 0.125W 0805_CUS Chip RES 2K7 1% 0.125W 0805_CUS Chip RES 20K 1% 0.125W 0805_CUS...
  • Page 17: Appendix C: Pcb Layout

    Appendix C: PCB Layout Figure C1. PCB Schematic (Bottom Layer) Figure C2. PCB Schematic (Top Layer)
  • Page 18 Figure C3. PCB Schematic (Top Overlay) Figure C4. PCB Schematic (Bottom Overlay)
  • Page 19 Appendix D: Base Plate Feature Figure D1. Overall view of base plate...
  • Page 20 Appendix F: 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 Middle Right...
  • Page 21 Appendix G: PS/2 reporting format The PS/2 portion of the firmware handles the following requests and commands listed in the table below. Hex Code 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...
  • Page 22 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 Bit 7 Bit 0 Byte 0...
  • Page 23: Appendix H: Kit Components

    LASER Clip ADNV-6330 Single Mode Vertical Cavity Surface Emitting LASER (VCSEL) LASER ADNK-6003 CD Includes Documentation and Support Files for ADNK-6003 Documentation a. ADNB-6001 and ADNB-6002 Data Sheet b. AN-5088 LASER Mouse Sensor Eye Safety Calculations Hardware Support Files a. ADNK-6003 BOM List b.
  • Page 24 India, Australia, New Zealand: (+65) 6755 1939 Japan: (+81 3) 3335-8152(Domestic/Inter- national), or 0120-61-1280(Domestic Only) Korea: (+65) 6755 1989 Singapore, Malaysia, Vietnam, Thailand, Philippines, Indonesia: (+65) 6755 2044 Taiwan: (+65) 6755 1843 Data subject to change. Copyright © 2005 Agilent Technologies, Inc. July 1, 2005 5989-3119EN...