ADNK-6003-SP01

ADNK-6003-SP01 Datasheet


ADNK-6003-SP01 Optical Mouse Designer’s Kit

Part Datasheet
ADNK-6003-SP01 ADNK-6003-SP01 ADNK-6003-SP01 (pdf)
PDF Datasheet Preview
ADNK-6003-SP01 Optical Mouse Designer’s Kit

Design Guide

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 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 The ADNS-6000 data sheet is available from the Avago Technologies web site at USB documentation can be found at the USB Implementers Forum web site at

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.

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.

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 protocols. Each of these protocols provides a standard way of reporting mouse movement and button presses to the PC.

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.

Serial Peripheral Interface SPI

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

Avago Technologies ADNS-6000

Optical Mouse Sensor

MISO MOSI SCLK NCS

VREG

Z Optics

Sunplus SPCP825A USB Controller
1.3k Ohm

Left Button Wheel Button Right Button

D+/DSCLK/SDATA

USB interface

Figure 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
chip is in power down mode NPD low or 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

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.

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 avagotech.com

Mouse Optics

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.

Figure Optics Quadrature Signal Generation

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

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.
More datasheets: 61-238/QK2C-B45562FAGB2/ET | 61-238/QK2C-B50632FAGB2/ET | 61-238/LK2C-B28322FAGB2/ET | 61-238/KK2C-S40408F6GB2/ET | 61-238/QK2C-B28322FAGB2/ET | 61-238/LK2C-B56706F4GB2/ET | DFR0289 | FSBB30CH60B | 17201 | 67-21-R7SC-T1R1S1B7E-2T8-AM


Notice: we do not provide any warranties that information, datasheets, application notes, circuit diagrams, or software stored on this website are up-to-date or error free. The archived ADNK-6003-SP01 Datasheet file may be downloaded here without warranties.

Datasheet ID: ADNK-6003-SP01 519948