ADNS-8020 Track-on-Glass Laser Sensor Data Sheet Description Features The ADNS-8020 is the Track-on-Glass Laser navigation sensor empowered by PixArt Imaging that enables navigation on all surface types including glass. It is capable of sensing mouse motion with velocities up to 30 inches per second (ips) on non-glass surfaces, 10 inches per second (ips) on glass and acceleration up to 8g. Track on Glass and Laser technologies The ADNS-8020 has dual power supplies of 1.8V and 3.0V, which enables wireless application to lengthen battery life. It integrates both sensor and VCSEL chips in a single 16-pin molded lead-frame DIP package. It is designed to be used with ADNS-8100-002 lens to form a complete laser illuminated navigation system. These parts provide a complete and compact navigation system without moving parts and laser calibration process is NOT required in the complete mouse form, thus facilitating high volume assembly. Performance is not guaranteed if the ADNS8020 sensor is paired with a lens other than the ADNS8100-002. Additionally, performance is not guaranteed if the ADNS-8100-002 lens is used in conjunction with a different navigation sensor other than the ADNS-8020. Theory of Operation The sensor is based on Track-on-Glass and Laser technologies, which measure changes in position by optically acquiring sequential surface images (frames) and mathematically determining the direction and magnitude of movement. It contains an Image Acquisition System (IAS), a Digital Signal Processor (DSP), and a four wire serial port. The IAS acquires microscopic surface images via the lens and illumination system provided by the VCSEL. These images are processed by the DSP to determine the direction and distance of motion. The DSP calculates the Δx and Δy relative displacement values. An external microcontroller reads the Δx and Δy data information from the sensor serial port, then translates the data into USB or RF signals before sending them to the host PC or game console. 16-pin molded lead-frame DIP package with integrated VCSEL Dual power operation, 1.8V and 3V High speed motion detection up to 30ips on non-glass surfaces and 10ips on glass surface, and acceleration up to 8g Enhanced SmartSpeed self-adjusting frame rate for optimum performance Motion detect pin output 16-bit motion data registers Internal oscillator – no resonator nor crystal needed Programmable resolution up to 1600cpi Four wire serial port Programmable rest downshift and rest period times Minimal number of passive components Compliance to IEC/EN 60825-1 Eye Safety Class 1 laser power output level On-chip laser fault detect circuitry Advanced technology 832-865 nm wavelength VCSEL Single-mode lasing operation Applications Wired and Wireless Laser Mice Optical trackballs NOTE: The ADNS-8020 will be referred as “sensor” and the ADNS-8100-002 as “lens” hereafter. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Pinout Pin Name Description 1 -VCSEL Negative terminal of VCSEL 2 XY_LASER Laser driver output 3 NC No Connection 4 NCS Chip select (Active Low Input) 5 MISO Serial data output (Master In/Slave Out) 6 SCLK Serial clock input 7 MOSI Serial data input (Master Out/Slave In) 8 MOTION Motion Detect (Active Low Output) 9 VDDIO IO Voltage input (1.65-3.3V) 10 DGND Digital Ground 11 VDD18 1.8V Input 12 VDD3 3V Input 13 AGND Analog Ground 14 VDD3 3V Input 15 LASER_NEN Laser enable (Active Low Output) 16 +VCSEL Positive terminal of VCSEL Pin 1 Pin 16 Date Code Item Marking Product Number A8020 Date Code XYYWWZV X = Subcon Code YYWW = Date Code Z = Sensor Die Source V = VCSEL Die Source Lot Code VVV Numeric Product Number Remarks Pin 8 Pin 9 Lot Code Figure 1. Device pin-out All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 2 PixArt Imaging Inc. Track-on-Glass Laser Sensor NOTES: 1.0 Dimension in millimeters / inches 2.0 Linear dimension general tolerance: ± 0.10mm unless specified otherwise 3.0 Bracket in bracket () is for reference only 4.0 Maximum flash: 0.20mm 5.0 Lead pitch tolerance: ± 0.15mm 6.0 Angular tolerance: ± 3.0° 7.0 Coplanarity of lead: 0.10mm 8.0 Reference number: LSR_INT_16B_PKG_008 Figure 2. Package outline drawing All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 3 4 Important Note: PixArt does provide 3D model drawing with the recommended mechanical specification. Please do request if from regional FAE. Should these mechanical specifications are not adhered to PixArt cannot be held responsible for sensor performance. Figure 3. 2D Assembly drawing of sensor and lens coupled with PCB and base plate (Dimensions are for reference only) PixArt Imaging Inc. Track-on-Glass Laser Sensor Figure 4. Recommended PCB Mechanical Cutouts and Spacing All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 5 Assembly Recommendations VDD3 VDD3 VDD1.8 VDDIO Image Oscillator 6 NCS SCLK MOSI MISO MOTION DGND LASER Drive +VCSEL VCSEL LASER_NEN XY_LASER -VCSEL Figure 5. Block diagram of sensor Regulatory Requirements Passes FCC B and worldwide analogous emission limits when assembled into a mouse and following PixArt recommendations. Passes IEC-1000-4-3 radiated susceptibility level when assembled into a mouse following PixArt recommendations. Passes IEC-61000-4-2 Electrostatic Discharge Immunity Test (ESD) and provides sufficient ESD creepage/ clearance distance to withstand discharge up to 15kV when assembled into a mouse according to usage instructions above. Passes IEC/EN 60825-1 Eye Safety Class 1 when operating with the laser output power pre-calibrated by PixArt Imaging without external hardware and software control of laser current. Design Considerations for Improving ESD Performance For improved electrostatic discharge performance, typical creepage and clearance distance are shown in the table below. Assumption: base plate construction as per the PixArt supplied 3D model file when use with the lens. The lens can be sealed (i.e. glued) to the base plate. Note that the lens material is polycarbonate and therefore, cyanoacrylate based adhesives or other adhesives that may damage the lens should NOT be used. Typical Distance In millimeters (mm) Creepage 7.12 Clearance 3.80 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] Serial Port and Register AGND Power and control 1. Insert the sensor package and all other electrical components into the application PCB. 2. Wave-solder the entire assembly in a no-wash soldering process utilizing a solder fixture. The solder fixture is needed to protect the sensor during the solder process. The fixture should be designed to expose the sensor leads to solder while shielding the optical aperture from direct solder contact. NOTE: Sensor package does not support IR reflow soldering process. 3. Place the lens onto the base plate. Care must be taken to avoid contamination on the optical surfaces. 4. Remove the protective kapton tapes from the optical aperture of the sensor and VCSEL respectively. Care must be taken to keep contaminants from entering the aperture. 5. Insert the PCB assembly over the lens onto the base plate. The sensor package should self-align to the lens. The optical position reference for the PCB is set by the base plate and lens. The alignment guide post of the lens locks the lens and sensor package together. Note that the PCB motion due to button presses must be minimized to maintain optical alignment. 6. Optional: The lens can be permanently locked to the sensor package by melting the lens’ guide posts over the sensor with heat staking process. Press down with a force value of between 500gf - 1kgf to ensure good mating between lens and sensor package. The gap between the lens and sensor after heat stake process must be less than 80 micron. 7. Install the mouse top case. There must be a feature in the top case (or other area) to press down onto the sensor to ensure the sensor and lenses are interlocked to the correct vertical height. 8. Susceptibility of VCSEL to Delamination Failure. The moisture sensitive component VCSEL device is not handled in accordance with the MSL 3 requirements an increased chance of VCSEL failure is present. Sensor P12 % % P14 9'' VDD3.0 P15 ZA ZB PROG R0 3 352* 3 3 P20 14 9''B63, VDD_SPI P1 5)02'8/( 13 9ROWDJH0HDVXUHPHQW 9'' VDD1.9 P13 SW1 SLIDE SW SPDT 2AA BATTERY BT1 2)) [$$%DWWHU\ GND 1 21 5)0RGXOH3&% 3 3 5(6(7 *1' *1' *1' *1' *1' *1' *1' *1' *1' 9''B5) RESET MSCK S4 9%$7 9%$7 C4 10uF/6.3V L2 4.7uH 10uF/6.3V C5 L1 4.7uH 7 Figure 6a. Schematic Diagram for 3-Button Scroll-Wheel Cordless Mouse 9%$7 VBAT 9%$7 CS 3 MISO 3 MOSI 3 Application Circuit 3 COM 3 R1 9'' 3 MOTION 3 R2 3 S1 3 3 S3 NCS R3 400k R4 2M R2 453k R1 1M3 R23 0R R24 0R 995HJXODWRU%ORFN )% 9287 TPS61220 *1' (1 9,1 / U2 )% 9287 TPS61220 *1' (1 9,1 / U1 C7 100nF C6 100nF PROG R2 S1 9 CON1 R14 1M 11 =(QFRGHU ZA ZB COM R13 1M 9''B5) NCS RESET R1 Z-ENCODER_3P $ % &20 Q1 -7$*&211(&725 PCB_SKT_SMD_1.27/2X5 -7$* 63$5( 9''B63, R9 0R 9'' 0R R20 9''B63, 9''B5) 9'' 5 DQG 5 ZLOO EH XVHG RQH DW D WLPH 12 5)&XUUHQW0HDVXUHPHQW R5 0R 9'' RESET PCB_SKT_SMD_1.27/2X5 CON2 '(%8* 10 '(%8*&211(&725 NCS C13 4.7uF/10V R7 0R 9'' C10 4.7uF/10V R6 0R 9'' Note: VDD1.9 = 1.9V VDD3.0 = 3.0V C8 4.7uF/10V C12 4.7uF/10V R2 S3 S1 R26 1M 9'' C3 100nF C1 100nF 6SDUHFRPSRQHQWIRU5)&XUUHQW0HDVXUHPHQW 2 9'' 8 9%$7 9%$7 + 3.3uF/16V C11 + 9''B63, C16 3.3uF/16V R10 0R 9'' NCS MISO MSCK MOSI R21 1M 9''B63, C14 100nF C15 100nF 1&6 0,62 06&. 026, SW4 SW3 SW2 3.3uF/16V C17 + R11 0R 9'' 7 NC $*1' '*1' 9'',2 9'' 9'' 9'' 9&6(/ U3 CON3 0LGGOH%XWWRQ 5LJKW%XWWRQ /HIW%XWWRQ C2 100nF Q2 7LWOH *OD]H5HIHUHQFH'HVLJQ:LUHOHVV0RXVH 1&6 0,62 6&/. 026, 027,21 1& /$6(5B1(1 9&6(/ ;<B/$6(5 ADNS-8020 22nF C19 + PCB_SKT_SMD_1.27/2X3 C9 3.3uF/16V 9''B63, 5 4 3 S3 ((3520%ORFN 6HQVRU%ORFN C18 100nF 0R R8 9'' 6 COM NO NC COM NO NC COMNO TACT_SW &3, SW5 DIP_SWITCH_4WAY SW6 21 S4 S3 S1 R1 V G '1, R12 0R 0R R15 1M R17 1M 9''B63, R16 1M CAT25320 +2/' :3 R19 1M $IILQH['HVLJQ R18 1M R25 1M 9''B63, C20 100nF 9''B63, CS MISO MSCK MOSI MOTION 9'' J &6 62 6&. 6, U4 NTA4151PT1G R0 R22 9&& 966 C1 100nF C3 100nF C4 33nF C13 5pF P7 P6 P5 P1 9''B5) R0 33nF C5 PROG ZB ZA 9''B5) 8 Figure 6b. Schematic Diagram for RF Module GND9 GND8 GND7 GND6 GND5 GND4 GND3 GND2 GND1 VDD 9''B5) C14 5pF 966 3 352* 3 '(& '(& 9'' 3 U1 P32 CS ;& C6 12pF X1 16MHz P29 P28 NRF24LE1 P10 P11 P12 P13 P14 P15 P16 3 3 5(6(7 9''B3$ $17 $17 966 9'' 22K R1 C7 12pF C15 5pF COM 3 9'' R1 3 *1' MOTION 3 R2 ;& MISO 3 MOSI 3 3 3 9'' S1 3 ,5() 966 3 S2 3 S3 ANT2 ANT1 VDD_PA RESET MSCK S4 P17 P18 P19 C2 100nF 9''B5) 6.8nH L3 C9 2.2nF L2 6.8nH 4.7nH L1 C10 OPEN 1.5pF C8 1 C11 1pF C12 1pF 2KP7UDFH3RLQW AT1 ANTENNA PixArt Imaging Inc. Track-on-Glass Laser Sensor Eye Safety The following conditions are applied during LOP testing: The sensor and the associated components in the schematic of Figure 6 are intended to comply with Class 1 Eye Safety Requirements of IEC/EN 60825-1. PixArt Imaging calibrates the sensor’s laser output power (LOP) to Class 1 eye safety level and store the registers values that control the LOP prior shipping out, thus no LOP calibration is required in complete mouse system at manufacturer site. The system is operated at the typical recommended operating supply voltage and temperature of 25°C ± 5°C. The sensor is designed to maintain the laser output power using the lens within Class 1 Eye Safety requirements over components manufacturing tolerances under the recommended operating conditions and application circuits of Figure 6 as specified in this document. Under normal operating conditions, the sensor generates the drive current for the VCSEL. Increasing the LOP by other means on hardware and software can result in a violation of the Class 1 eye safety limit of 716μW. For more information, please refer to Eye Safety Application Note. Laser Power Adjustment Procedure Laser Drive Mode The laser is pulsed automatically during Run and Rest modes. For testing purpose, the laser can be set to continuous ON mode for laser output power measurement. The default setting of laser is in Forced_Disable mode during which the laser is turned OFF. The laser have to be turned ON during power up sequence by setting Forced_ Disabled bit (Bit-0) of LASER_CTRL0 register to 0. The VDD3 value is no greater than 300mV above the typical recommended operating conditions. No allowance for optical power meter accuracy is assumed. The PixArt pre-calibrated laser settings will always be loaded automatically into the SPI Laser registers: LASER_CTRL0, LASER_CTRL1, LP_CFG0 and LP_CFG1 upon the SROM is successfully downloaded into the sensor. For testing purpose, the pre-calibrated laser settings can be overwritten by changing the SPI laser registers with new laser setting after SROM download. 1. The ambient temperature should be 25°C ± 5°C. 2. Set VDD3 to the typical recommended operating voltage. 3. Power up,reset the sensor and download SROM 4. Enable the Calibration mode by writing 010b to Bit[3, 2, 1] of LASER_CTRL0 register to set the laser to continuous ON mode. 5. Set the Range bit (Bit-7) of LASER_CTRL0 register to 0. 6. Set the Range_C bit (Bit-7) of LASER_CTRL1 complement to setting of Range bit in LASER_CTRL0 register. 7. To turn on the laser, set the Forced_Disabled bit (Bit-0) of LASER_CTRL0 register to 0 and set Bit-6 of LASER_ CTRL1 register to 1. 8. Set the laser current to the minimum value by writing 0x00 to LP_CFG0 register and the complementary value 0xFF to LP_CFG1 register. 9. Program LP_CFG0 and LP_CFG1 registers with increasing values to achieve an output power as close to 506μW as possible without exceeding it for Eye Safety Class 1 classification. Disabling the Laser LASER_NEN is connected to the gate of a P-channel MOSFET transistor, which, when ON connect VDD3 to the laser. In normal operation, the LASER_NEN is low. In the case of a fault condition, LASER_NEN goes high to turn the transistor off and disconnects VDD3 from the laser. PixArt recommends the microcontroller host resets the sensor when FAULT bit (Bit-6) of Motion register is set. Laser Output Power (LOP) Testing The pre-calibrated LOP can be measured for testing purpose as per steps below 1. Power up, reset the sensor and download SROM. 2. Enable the laser by setting Forced_Disabled bit of LASER_CTL0 register to 0. 3. Enable the Calibration mode by writing 010b to bits [3,2,1] of LASER_CTL0 register to set the laser to continuous ON mode. 4. Measure the LOP at the navigation surface plane. 10. If this power is obtained, the laser power adjustment is completed. 11. If it was not possible to achieve the power target, set the laser current to the minimum value by writing 0x00 to LP_CFG0 register and the complementary value 0xFF to LP_CFG1 register. 12. Set the Range and Range_C bits in LASER_CTRL0 and LASER_CTRL1 to 1 and 0 respectively, to choose to the higher laser current range. 13. Program LP_CFG0 and LP_CFG1 registers with increasing values to achieve an output power as close to 506μW as possible without exceeding it. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. 9 PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Single Fault Detection The sensor is able to detect a short circuit or fault condition at its internal laser’s cathode node, which could lead to excessive laser output power. A leakage path to ground on this node will trigger the fault detection circuit, which will turn off the laser drive current source and set the internal signal of LASER_NEN output high. The system will prevent excessive laser power by shutting off the laser. In addition to the ground path fault detection described above, the fault detection circuit is periodically checking for proper operation by internally generating a path to ground with the laser turned off via LASER_NEN. If the laser cathode is shorted to VDD3, this test will fail and will be reported as a fault. VDD3 Microcontroller S LASER DRIVER LASER_NEN G P_MOSFET VDD3 D fault control block Serial Port -VCSEL voltage sense +VCSEL VCSEL current set 22nF GND Figure 7. Single Fault Detection and Eye-safety Feature Block Diagram All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 10 PixArt Imaging Inc. Track-on-Glass Laser Sensor Absolute Maximum Ratings Parameter Symbol Min. Storage Temperature TS -40 Lead-Free Solder Temperature Power Supply Voltage Max. Units 85 C 260 C VDD3 -0.5 3.4 Volts VDD1.8 -0.5 2.1 Volts VDDIO -0.5 3.4 Volts ESD (Human Body Model) ESD Input Voltage VIN Laser Output Power LOPMAX VCSEL forward current If 2 -0.5 Notes For 7 seconds, 1.8mm below seating plane. Refer to wave soldering profile in PCB Assembly & Soldering Considerations Application Note AN-5023. kV All Pins VDDIO +0.5 Volts 716 μW 7 mA All I/O Pins Class 1 Eye Safety AEL limit Notes: 1. Stresses greater than those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are the stress ratings only and functional operation of the device at these or any other condition beyond those indicated for extended period of time may affect device reliability. 2. The inherent design of this component causes it to be sensitive to electrostatic discharge. The ESD threshold is listed above. To prevent ESDinduced damage, take adequate ESD precautions when handling this product. Recommended Operating Conditions Parameter Symbol Min. Typ. Max. Units Notes Operating Temperature TA 40 C Power Supply Voltage VDD3 2. 8 3.0 3.3 Volts VDD1.8 1.7 1.8 2 Volts VDDIO 1.65 3.3 Volts Including noise. If operate outside the range, there is neither assurance of any function nor assurance of any parametric limits except for IDD ramp. VRT3 0.25 1000 ms 0 to 3.0V Power Supply Rise Time 0 Supply Noise (Sinusoidal) VNA 100 mVp-p 10kHz-50MHz Serial Port Clock Frequency fSCLK 2 MHz Active drive, 50% duty cycle Distance From Lens Reference Plane To Navigation Surface Z_REF 2.6 mm Refer to Figure 3 Distance from Lens Lowest Point to Navigation Surface Z_LP mm Refer to Figure 3 Speed S 30 10 ips ips Non-glass surfaces Reference glass of min 5mm thickness Acceleration A 8 g Load Capacitance Cload 100 pF VCSEL Peak Wavelength λ 865 nm 2.2 2.4 2.2 832 MOTION, MISO Note: This sensor is designed to work on glass with a thickness of at least 5mm. Most glass surfaces provide enough microscopic features to allow tracking. It will not work on glass that is perfectly clean and virtually scratch-free. The minimum requirements for the sensor to work reliably on glass is there must be at least 50 features/mm2 at the minimum of 6 μm width and 2 μm depth. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 11 PixArt Imaging Inc. Track-on-Glass Laser Sensor AC Electrical Specifications Electrical Characteristics over recommended operating conditions. (Typical values at 25 °C, VDD3 = 3.0V, VDD1.8 = 1.8V, VDDIO=1.8V) Parameter Symbol Min. Motion Delay After Reset tMOT-RST 50 Shutdown tSTDWN Wake From Shutdown tWAKEUP Forced Rest Enable tREST-EN Wake From Forced Rest tREST-DIS Typ. Max. Units Notes ms From reset to valid motion, assuming motion is present s From Shutdown mode active to low current ms From Shutdown mode inactive to valid motion. Notes: A RESET must be asserted after a shutdown. Refer to section “Notes on Shutdown and Forced Rest”, also note tMOT-RST 1 s From Force Rest set to low current 1 s From Force Rest cleared to valid motion 500 50 MISO Rise Time tr-MISO 50 200 ns CL = 100pF MISO Fall Time tf-MISO 50 200 ns CL = 100pF MISO Delay After SCLK tDLY-MISO 120 ns From SCLK falling edge to MISO data valid, no load conditions MISO Hold Time thold-MISO 200 ns Data held until next falling SCLK edge MOSI Hold Time thold-MOSI 200 ns Amount of time data is valid after SCLK rising edge MOSI Setup Time tsetup-MOSI 120 ns From data valid to SCLK rising edge SPI Time Between Write Commands tSWW 180 s From rising SCLK for last bit of the first data byte, to rising SCLK for last bit of the second data byte. SPI Time Between Write And Read Commands tSWR 180 s From rising SCLK for last bit of the first data byte, to rising SCLK for last bit of the second address byte. SPI Time Between Read And Subsequent Commands tSRW tSRR 20 s From rising SCLK for last bit of the first data byte, to falling SCLK for the first bit of the address byte of the next command. SPI Read Address-Data Delay tSRAD 160 s From rising SCLK for last bit of the address byte, to falling SCLK for first bit of data being read. NCS Inactive After Motion Burst tBEXIT 500 ns Minimum NCS inactive time after motion burst before next SPI usage NCS To SCLK Active tNCS-SCLK 120 ns From last NCS falling edge to first SCLK rising edge SCLK To NCS Inactive (For Read Operation) tSCLK-NCS 120 ns From last SCLK rising edge to NCS rising edge, for valid MISO data transfer SCLK To NCS Inactive (For Write Operation) tSCLK-NCS 20 s From last SCLK rising edge to NCS rising edge, for valid MOSI data transfer NCS To MISO High-Z tNCS-MISO 500 ns From NCS rising edge to MISO high-Z state MOTION Rise Time tr-MOTION 50 200 ns CL = 100pF MOTION Fall Time tf-MOTION 50 200 ns CL = 100pF Transient Supply Current IDDT3 70 mA Max supply current during VDD3 ramps from 0 to 3.0V IDDT1.8 60 mA Max supply current during VDD1.8 ramps from 0 to 1.8V IDDTIO 70 mA Max supply current during VDDIO ramps from 0 to 3.0V All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 12 PixArt Imaging Inc. Track-on-Glass Laser Sensor DC Electrical Specifications Electrical Characteristics over recommended operating conditions. (Typical values at 25 °C, VDD3=3.0 V, VDD1.8 = 1.8 V, VDDIO= 1.8V), on white paper with laser pre calibrated values. Parameter Symbol VDD3 DC Supply Current IDD3_RUN_NG Units Notes 0.8 mA IDD3_RUN_G 4.6 mA IDD3_REST1_NG 65 uA Average current of VDD3 includes laser current on: IDD3_XXX_NG: Non-glass surfaces IDD3_REST1_G 295 uA IDD3_REST2_NG 20 uA IDD3_REST2_G 65 uA IDD3_REST3_NG 9 uA IDD3_REST3_G 17 uA IDD1.8_RUN_NG 3.2 mA IDD1.8_RUN_G 4.2 mA IDD1.8_REST1_NG 205 uA IDD1.8_REST1_G 250 uA IDD1.8_REST2_NG 50 uA IDD1.8_REST2_G 55 uA IDD1.8_REST3_NG 15 uA IDD1.8_REST3_G 16 uA VDD3 DC Supply Current for Fast Frame Mode IDD3_FF 2.3 mA VDD1.8 DC Supply Current for Fast Frame Mode IDD1.8_FF 9.6 mA Shutdown Supply Current IDD3_STDWN 6 25 uA IDD1.8_STDWN 8 65 uA NCS, SCLK, MOSI = VDDIO MISO = GND 0.3*VDDIO V SCLK, MOSI, NCS V SCLK, MOSI, NCS mV SCLK, MOSI, NCS A Vin = 0.7*VDDIO , SCLK, MOSI, NCS V Iout=1mA, MISO, MOTION V Iout=-1mA, MISO, MOTION V Iout= 1mA, LASER_NEN V Iout= -0.5mA, LASER_NEN pF MOSI, NCS, SCLK VDD1.8 DC Supply Current Min. Typ. Input Low Voltage VIL Input High Voltage VIH Input Hysteresis VI_HYS 100 1 Input Leakage Current Ileak Output Low Voltage, MISO, MOTION VOL Output High Voltage MISO, MOTION VOH Output Low Voltage, LASER_NEN VOL Output High Voltage, LASER_NEN VOH Input Capacitance Cin Max. 0.7*VDDIO 10 0.3*VDDIO 0.7*VDDIO 0.3*VDD3 0.7*VDD3 10 IDD3_XXX_G: Glass reference surface No load on MISO, MOTION Average current of VDD1.8 on: IDD1.8_XXX_NG: Non-glass surfaces IDD1.8_XXX_G: Glass reference surface No load on MISO, MOTION Highly reflective surfaces (White tile & Glossy Formica) and Glossy Magazine. For typical rest mode current consumption refer to non glass mode. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 13 PixArt Imaging Inc. Track-on-Glass Laser Sensor Synchronous Serial Port Motion Pin Timing The synchronous serial port is used to set and read parameters in the sensor, and to read out the motion information. The serial port is also used to load SROM data into the sensor. The motion pin is an active low output that signals the micro-controller when motion has occurred. The motion pin is lowered whenever the motion bit is set; in other words, whenever there is non-zero data in the Delta_X or Delta_Y registers. Clearing the motion bit (by reading Delta_X and Delta_Y, or writing to the Motion register) will put the motion pin high. The motion pin can also return high if either one or both the Delta_X and Delta_Y registers were nonzero (motion pin low) and then subsequently both registers return to zero data (motion pin high). For example if there is minute motion that causes one or both delta registers to go to one count (motion pin low) and then subsequently both registers returning back to zero count (motion pin high). The port is a four wire port. The host micro-controller always initiates communication; the sensor never initiates data transfers. SCLK, MOSI, and NCS may be driven directly by a micro-controller. The port pins may be shared with other SPI slave devices. When the NCS pin is high, the inputs are ignored and the MISO is tri-stated as long as the supplies valid. The lines that comprise the SPI port are: SCLK: Clock input. It is always generated by the master (the micro-controller). MOSI: Input data. (Master Out/Slave In) MISO: Output data. (Master In/Slave Out) NCS: Chip select input (active low). NCS needs to be low to activate the serial port; otherwise, MISO will be high Z, and MOSI & SCLK will be ignored. NCS can also be used to reset the serial port in case of an error. Chip Select Operation SCLK The serial port is activated after NCS goes low. If NCS is raised during a transaction, the entire transaction is aborted and the serial port will be reset. This is true for all transactions including PROM download. After a transaction is aborted, the normal address-to-data or transaction-totransaction delay is still required before beginning the next transaction. To improve communication reliability, all serial transactions should be framed by NCS. In other words, the port should not remain enabled during periods of non-use because ESD and EFT/B events could be interpreted as serial communication and put the chip into an unknown state. In addition, NCS must be raised after each burst-mode transaction is complete to terminate burst-mode. The port is not available for further use until burst-mode is terminated. Write Operation Write operation, defined as data going from the microcontroller to the sensor, is always initiated by the microcontroller and consists of two bytes. The first byte contains the address (seven bits) and has a “1” as its MSB to indicate data direction. The second byte contains the data. The sensor reads MOSI on rising edges of SCLK. MOSI t Hold,MOSI t setup, MOSI Figure 8 MOSI Setup and Hold Time NCS 1 2 3 4 5 1 A6 A5 A4 A3 6 7 8 9 A1 A0 D7 10 11 12 13 D4 D3 14 15 16 1 2 D1 D0 1 A6 SCLK MOSI A2 D6 D5 D2 MISO MOSI Driven by Micro-Controller Figure 9. Write Operation All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. 14 PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Read Operation A read operation, defined as data going from the sensor to the micro-controller, is always initiated by the micro-controller and consists of two bytes. The first byte contains the address, is sent by the micro-controller over MOSI, and has a “0” as its MSB to indicate data direction. The second byte contains the data and is driven by the sensor over MISO. The sensor outputs MISO bits on falling edges of SCLK and samples MOSI bits on every rising edge of SCLK. NOTE: The minimum high state of SCLK is also the minimum MISO data hold time of the sensor. Since the falling edge of SCLK is actually the start of the next read or write command, the sensor will hold the state of data on MISO until the falling edge of SCLK. SCLK tDLY-MISO tHOLD-MISO MISO D0 Figure 10. MISO Delay and Hold Time NCS SCLK Cycle 1 2 3 4 5 6 7 A6 A5 A4 A3 A2 A1 8 9 10 11 12 13 14 15 16 D5 D4 D3 D2 D1 D0 SCLK MOSI 0 A0 D7 MISO D6 tSRAD delay Figure 11. Read Operation Required timing between Read and Write Commands (tsxx) There are minimum timing requirements between read and write commands on the serial port. tSWW SCLK Address Data Write O peration Address Data Write O peration Figure 12. Timing between two write commands If the rising edge of the SCLK for the last data bit of the second write command occurs before the tsww delay, then the first write command may not complete correctly. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 15 PixArt Imaging Inc. Track-on-Glass Laser Sensor tSWR SCLK Address Data Address Next Read Operation Write Operation Figure 13. Timing between write and read commands tSRW & t SRR tSRAD for read SCLK Address Data Address Next Read or Write Operation Read Operation Figure 14. Timing between read and either write or subsequent read commands If the rising edge of SCLK for the last address bit of the read command occurs before the tswr required delay, the write command may not complete correctly. During a read operation, SCLK should be delayed at least tSRAD after the last address data bit to ensure that the sensor has time to prepare the requested data. The falling edge of SCLK for the first address bit of either the read or write command must be at least tSRR or tSRW after the last SCLK rising edge of the last data bit of the previous read operation. In addition, during a read operation SCLK should be delayed after the last address data bit to ensure that the sensor has time to prepare the requested data. Burst Mode Operation Burst mode is a special serial port operation mode which may be used to reduce the serial transaction time for three predefined operations: motion read and PROM download and frame capture. The speed improvement is achieved by continuous data clocking to or from multiple registers without the need to specify the register address, and by not requiring the normal delay period between data bytes. Motion Read Reading the Motion_Burst register activates this mode. The sensor will respond with the following motion burst report in order. BYTE[00] = Motion BYTE[01] = Observation BYTE[02] = Delta_X_L BYTE[03] = Delta_X_H BYTE[04] = Delta_Y_L 16 BYTE[05] = Delta_Y_H BYTE[06] = SQUAL BYTE[07] = Pixel_Sum BYTE[08] = Maximum_Pixel BYTE[09] = Minimum_Pixel BYTE[10] = Shutter_Upper BYTE[11] = Shutter_Lower NOTE: Motion burst data can be read from the Motion_ Burst register even in run or rest mode. After sending the register address, the micro-controller must wait one frame, and then begin reading data. All data bits can be read with no delay between bytes by driving SCLK at the normal rate. The data are latched into the output buffer after the last address bit is received. After the burst transmission is complete, the micro-controller must raise the NCS line for at least tBEXIT to terminate burst mode. The serial port is not available for use until it is reset with NCS, even for a second burst transmission. Procedure to start motion burst, 1. Lower NCS 2. Send 0x50 to Motion_Burst. 3. Wait for TSRAD. 4. Start reading SPI Data continuously up to 12bytes, Motion burst may be terminated by pulling NCS high. 5. To read new motion burst data, repeat from step 1. 6. Write any value to Motion register to clear any residual motion if desired. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor SROM Download This function is used to load the PixArt supplied firmware file contents into the sensor after sensor power up sequence. The firmware file is an ASCII text file. SROM download procedure: 1. Write 0x05 to Power_Up_Reset register 2. Wait for at least 50 ms. 3. Write 0x1d to SROM_Enable register for initializing 4. Wait for 10 ms. 5. Write 0x18 to SROM_Enable register again to start SROM download 6. Write SROM file into SROM_Load_Burst register, 1st data must be download before SROM starts running. exit burst mod tBEXIT μs NCS SROM_Enable reg write SROM_Enable reg write address key data MOSI SROM_Load reg address byte 1 byte 2 byte 3070 address enter burst mode frame period SCLK tNCS-SCLK >120ns 0μs 0μs 5μs 5μs μs Soonest to read SROM_ID Figure 15. SROM Download Burst Mode exit burst mode tBEXIT μs NCS 2 reg write to enter frame capture mode MOSI address frame capture address pixel dump reg read address data enter burst mode soonest to begin again SCLK tNCS-SCLK >120ns MISO Wait for 2 frames tLOAD tSRAD μs P1 P2 P484 Figure 16. Frame Capture Burst Mode All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 17 μs PixArt Imaging Inc. Track-on-Glass Laser Sensor Frame Capture This is a fast way to download a full array of pixel values from a single frame. This mode disables navigation and overwrites any downloaded firmware. A hardware reset is required to restore navigation, and the firmware must be reloaded. Procedure of Frame Capture: To trigger the capture, write to the Frame_Capture register. The next available complete 1 frame image will be stored to memory. The data are retrieved by reading the Pixel_Burst register once using the normal read method, after which the remaining bytes are clocked out by driving SCLK at the normal rate. If the Pixel_Burst register is read before the data is ready, it will return all zeros. 3. Disable rest modes by setting REST_EN = 0 (Bit-5) of Configuration_II register NOTE: Manual reset and SROM download are needed after Frame Capture to restore navigation for motion reading. 1. The sensor should have powered up and reset correctly. 2. Enable laser by setting Forced_Disable bit (Bit-0) of LASER_CTRL0 register to 0. 4. Write 0x93 to Frame_Capture register. 5. Write 0xc5 to Frame_Capture register. 6. Wait for 20ms 7. Check for first pixel by reading bit zero of Motion register. If =1, first pixel is available. 8. Continue read from Pixel_Burst register until all 484 pixels are transferred. 9. Continue step 4-8 to capture another frame. Top Xray View of Mouse Positive Y LB RB Positive X 1 16 8 9 Expanded view of the surface as viewed through the lens First output 0 1 2 22 23 24 44 45 t 66 67 t 88 89 t 110 132 154 176 198 111 133 155 177 199 20 21 42 43 64 65 86 87 108 130 152 174 196 218 109 131 153 175 197 219 220 242 264 286 308 330 352 374 396 418 440 462 221 243 265 287 309 331 353 375 397 419 441 463 240 262 284 306 328 350 241 263 285 307 329 351 etc. t t t 459 481 372 394 416 438 460 482 373 395 417 439 461 483 Last output Figure 17. Pixel Address Map (surface referenced) All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 18 PixArt Imaging Inc. Track-on-Glass Laser Sensor Power Up Shutdown The sensor does not perform an internal power up selfreset; the Power_Up_Reset register must be written every time power is applied. The appropriate sequence is as follows: The sensor can be set in Shutdown mode by writing to Shutdown register. The SPI port should not be accessed when Shutdown mode is asserted, except for the powerup command (writing 0x5a to register 0x3a). (Other ICs on the same SPI bus can be accessed, as long as the sensor’s NCS pin is not asserted.) 1. Apply power to VDD3, VDD1.8 and VDDIO in any order, with a delay of no more than 100ms in between each supply. (VDD3 should not be grounded while VDD1.8 is applied). Ensure all supplies are stable. 2. Drive NCS high, and then low to reset the SPI port. 3. Write 0x5a to Power_Up_Reset register 1. Drive NCS high, and then low to reset the SPI port. 2. Write 0x5a to Power_Up_Reset register. 3. Wait for at least 50 ms. 4. Wait for at least 50 ms. 5. Read from registers 0x02, 0x03, 0x04, 0x05 and 0x06 (or read these same 5 bytes from burst motion register) one time regardless of the motion pin state 6. SROM download. 7. Enable laser by setting Forced_Disable bit (Bit-0) of LASER_CTRL0 register to 0. 8. Load configuration for other registers 4. Read from registers 0x02, 0x03, 0x04, 0x05 and 0x06 (or read these same 5 bytes from burst motion register) one time regardless of the motion pin state. 5. SROM download. 6. Enable laser by setting Forced_Disable bit (Bit-0) of LASER_CTRL0 register (address 0x20) to 0. 7. Any non-default register setting must then be reloaded. NOTES: During power-up there will be a period of time after the power supply is high but before normal operation. The table below shows the state of the various pins during power-up and reset. 1. Manual reset and SROM download are needed after Frame Capture to restore navigation for motion reading. 2. There are long wakeup times from Shutdown and forced Rest. These features should not be used for power management during normal mouse motion. State of Signal Pins After VDD is Valid NCS High before Reset To deassert Shutdown mode: NCS Low before Reset After Reset Functional Pin On PowerUp NCS Functional High Low MISO Undefined Hi-Z Functional Depends on NCS The table below shows the state of various pins during shutdown. Pin Status when Shutdown Mode NCS High*1 SCLK Ignored Ignored Functional Depends on NCS MISO Hi-Z *2 SCLK Ignore if NCS = 1 *3 MOSI Ignored Ignored Functional Depends on NCS MOSI Ignore if NCS = 1 *4 MOTION Undefined Undefined Undefined Functional MOTION High LASER_ NEN Undefined Undefined Undefined Functional *1 NCS pin must be held to 1 (high) if SPI bus is shared with other devices. It is recommended to hold to 1 (high) during Shutdown unless powering up the Sensor. It must be held to 0 (low) if the sensor is to be re-powered up from shutdown. *2 MISO should be either pull up or down during shutdown in order to meet the low power consumption specification in the datasheet. *3 SCLK is ignored if NCS is 1 (high). It is functional if NCS is 0 (low). *4 MOSI is ignored if NCS is 1 (high). If NCS is 0 (low), any commands sent on the MOSI pin will be ignored except the power-up command). 19 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Registers Summary The sensor registers are accessible via the serial port. The registers are used to read motion data and status as well as to set the device configuration. Address Register (Before SROM download) Access (Read = R, Write = W or Read/Write = R/W) Reset Value 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d – 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a – 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27- 0x29 0x2a 0x2b - 0x39 0x3a 0x3b 0x3c - 0x3e 0x3f 0x40 - 0x4f 0x50 0x51-0x61 0x62 0x63 0x64 Product_ID Revision_ID MOTION Delta_X_L Delta_X_H Delta_Y_L Delta_Y_H SQUAL Pixel_Sum Maximum_Pixel Minimum_Pixel Shutter_Lower Shutter_Upper Reserved Configuration_I Configuration_II Reserved Frame_Capture SROM_Enable Run_Downshift Rest1_Rate Rest1_Downshift Rest2_Rate Rest2_Downshift Rest3_Rate Reserved LASER_CTRL0 LASER_CTRL1 LP_CFG0 LP_CFG1 Observation Data_Out_Lower Data_Out_Upper Reserved SROM_ID Reserved Power_Up_Reset Shutdown Reserved Inverse_Product_ID Reserved Motion_Burst Reserved SROM_Load_Burst Reserved Pixel_Burst R R R R R R R R R R R R R 0x3a 0x02 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Undefined Undefined R/W R/W 0x0a 0x28 R/W W R/W R/W R/W R/W R/W R/W 0x00 Undefined 0x7d 0x01 0x7d 0x09 0x5e 0x31 R/W R/W R/W R/W R/W R R Undefined Undefined Undefined Undefined 0x00 Undefined Undefined R 0x00 W W Undefined Undefined R 0xc5 R 0x00 W Undefined R 0x00 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. 20 PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Product_ID Address: 0x00 Access: R Reset Value: 0x3a Bit 7 6 5 4 3 2 1 0 Field PID7 PID6 PID5 PID4 PID3 PID2 PID1 PID0 Data Type: 8-bit unsigned integer USAGE: This value is a unique identification assigned to this model only. The value in this register does not change; it can be used to verify that the serial communications link is functional. Revision_ID Address: 0x01 Access: R Reset Value: 0x02 Bit 7 6 5 4 3 2 1 0 Field RID7 RID6 RID5 RID4 RID3 RID2 RID1 RID0 Data Type: 8-bit unsigned integer USAGE: This register contains the current IC revision, the revision of the permanent internal firmware. It is subject to change when new IC versions are released. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 21 PixArt Imaging Inc. Track-on-Glass Laser Sensor MOTION Address: 0x02 Access: R Reset Value: 0x00 Bit 7 6 Field MOT FAULT 5 4 3 2 LP_Valid Reserved Reserved OP_Mode1 1 OP_Mode0 0 FRAME_Pix_First Data Type: Bit field USAGE: MOTION register 0x02 allows the user to determine if motion has occurred since the last time it was read. If the MOT bit is set, Delta_X_L, Delta_X_H, Delta_Y_L and Delta_Y_H registers should be read in sequence to get the accumulated motion. (Note: Read register Delta_X_L before the subsequently read Delta_X_H, Delta_Y_L and Delta_Y_H registers in order to freeze Delta_X_H, Delta_Y_L and Delta_Y_H register values). Writing anything to MOTION register 0x02 clears the entire register, Delta_X_L, Delta_X_H, Delta_Y_L and Delta_Y_H registers. The written data byte is not saved. This register also indicates if a laser fault was detected. Field Name Description MOT Motion since last report or Shutdown 0 = No motion 1 = Motion occurred, data ready for reading in Delta_X_L, Delta_X_H, Delta_Y_L and Delta_Y_H registers FAULT Indicates that the XY_LASER is shorted to GND. 0 = no fault detected 1 = fault detected LP_Valid Laser power settings 0 = LASER_CTRL0 and LASER_CTRL1 registers and/or LP_CFG0 and LP_CFG1 registers do not have complementary values 1 = laser power is valid OP_Mode[1:0] Operating mode of the sensor 00 = Run mode 01 = Rest 1 10 = Rest 2 11 = Rest 3 FRAME_Pix_First This bit is set to indicate first pixel in frame capture. 0 = Frame capture data not from pixel 0,0 1 = Frame capture data is from pixel 0,0 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 22 PixArt Imaging Inc. Track-on-Glass Laser Sensor Delta_X_L Address: 0x03 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field X7 X6 X5 X4 X3 X2 X1 X0 Data Type: 16 bits 2’s complement number. Lower 8 bits of Delta_X. USAGE: X movement is counts since last report. Absolute value is determined by resolution. X Read register Delta_X_L before the subsequently read Delta_X_H, Delta_Y_L and Delta_Y_H registers in order to freeze Delta_X_H, Delta_Y_L and Delta_Y_H register values. If Delta_X_H, Delta_Y_L and Delta_Y_H registers are not read before the Delta_X_L register is read for the second time, the data in Delta_X_H, Delta_Y_L and Delta_Y_H will be lost. Delta_X_H Address: 0x04 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field X15 X14 X13 X12 X11 X10 X9 X8 Data Type: 16 bits 2’s complement number. Upper 8 bits of Delta_X. USAGE: Delta_X_H must be read after Delta_X_L to have the full motion data. Motion Counts -32768 -32767 Delta_X 8000 8001 -2 -1 0 +1 +2 FFFE FFFF 0000 0001 0002 Delta_Y_L Address: 0x05 Access: R Reset Value: 0x00 +32766 +32767 7FFE 7FFF Bit 7 6 5 4 3 2 1 0 Field Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Data Type: 16 bits 2’s complement number. Lower 8 bits of Delta_Y. USAGE: Y movement is counts since last report. Absolute value is determined by resolution. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 23 PixArt Imaging Inc. Track-on-Glass Laser Sensor Delta_Y_H Address: 0x06 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field Y15 Y14 Y13 Y12 Y11 Y10 Y9 Y8 Data Type: 16 bits 2’s complement number. Upper 8 bits of Delta_Y. USAGE: Delta_Y_H must be read after Delta_Y_L to have the full motion data. Motion Counts -32768 -32767 Delta_Y 8000 8001 -2 -1 0 +1 +2 FFFE FFFF 0000 0001 0002 +32766 +32767 7FFE 7FFF NOTES: PixArt RECOMMENDS that registers 0x02, 0x03, 0x04, 0x05 and 0x06 to be read sequentially. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 24 PixArt Imaging Inc. Track-on-Glass Laser Sensor SQUAL Address: 0x07 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field SQ7 SQ6 SQ5 SQ4 SQ3 SQ2 SQ1 SQ0 Data Type: Upper 8-bits of a 11-bit unsigned integer. USAGE: The SQUAL (Surface quality) register is a measure of the number of valid features visible by the sensor in the current frame. Use the following formula to find the total number of valid features. Number of Features = SQUAL Register Value * 8 The maximum SQUAL register value is 40(Dec) (0x28). Since small changes in the current frame can result in changes in SQUAL, variations in SQUAL when looking at a surface are expected. The graph below shows 900 sequentially acquired SQUAL values, while a sensor was moved slowly over white paper. SQUAL Value (White Paper) after SROM download At Z = 2.4mm, 1100cpi, [email protected]" diameter, Speed=6ips 200 Squal value 160 120 80 40 0 1 56 111 166 221 276 331 386 441 496 551 606 661 716 771 826 881 Count Figure 18. SQUAL Values (White Paper) Mean SQUAL vs Z (White Paper) after SROM download 1100cpi, [email protected]" diameter, Speed=6ips Squal count 200 Avg-3sigma 160 Avg 120 Avg+3sigma 80 40 0 - 0.8 -0.6 -0.4 -0.2 0 0.2 0.4 Delta from Nominal Focus (mm) 0.6 0.8 1 Figure 19. Mean SQUAL vs. Z (White Paper) All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 25 PixArt Imaging Inc. Track-on-Glass Laser Sensor Pixel_Sum Address: 0x08 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field AP7 AP6 AP5 AP4 AP3 AP2 AP1 AP0 Data Type: High 8-bits of an unsigned 18-bit integer. USAGE: This register is used to find the average pixel value. It reports the upper byte of a 18-bit counter which sums all active pixels in the current frame. To find the average pixel value, follow the formula below. Average Pixel = Register Value *1024 / 484 The maximum register value is 60 (0x3C). The minimum register value is 0. The pixel sum value can change every frame. Maximum_Pixel Address: 0x09 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field MP7 MP6 MP5 MP4 MP3 MP2 MP1 MP0 Data Type: 7-bit unsigned integer USAGE: Maximum Pixel value in current frame. Minimum value = 0, maximum value = 127. The maximum pixel value can change every frame. Minimum_Pixel Address: 0x0A Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field MinP7 MinP6 MinP5 MinP4 MinP3 MinP2 MinP1 MinP0 Data Type: 7-bit unsigned integer USAGE: Minimum Pixel value in current frame. Minimum value = 0, maximum value = 127. The minimum pixel value can change every frame. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 26 PixArt Imaging Inc. Track-on-Glass Laser Sensor Shutter_Lower Address: 0x0B Access: R Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field S7 S6 S5 S4 S3 S2 S1 S0 Shutter_Upper Address: 0x0C Access: R Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field S15 S14 S13 S12 S11 S10 S9 S8 Data Type: 16-bit unsigned integer USAGE: Units are clock cycles of the internal oscillator (nominally 50MHz). Read Shutter_Upper first, then Shutter_ Lower. They should be read consecutively. The shutter is adjusted to keep the average pixel values within normal operating ranges. The shutter value is checked and automatically adjusted to a new value if needed on every frame when operating in default mode. Shown below is a graph of 900 sequentially acquired shutter values, while the sensor was moved slowly over white paper. Shutter Values (White Paper) after SROM download At Z = 2.4mm, 1100cpi, [email protected]” diameter, Speed = 6 ips 100 Shutter value 80 60 40 20 0 1 50 99 148 197 246 295 344 393 442 491 540 589 638 687 736 785 834 883 Count Figure 20. Shutter Values (White Paper) Mean Shutter vs Z (White Paper) after SROM download 1100cpi, [email protected]" diameter, Speed=6ips 300 Shutter value (Count) Avg-3sigma 250 Avg 200 Avg+3sigma 150 100 50 0 - 0.8 - 0.6 - 0.4 - 0.2 0 0.2 0.4 Delta from Nominal Focus (mm) 0.6 0.8 1 Figure 21. Mean Shutter vs. Z (White Paper) All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. 27 PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Configuration_I Address: 0x0F Access: R/W Reset Value: 0x0a Bit 7 6 5 4 3 2 1 0 Field Reserved Reserved Reserved Reserved RES3 RES2 RES1 RES0 Data Type: Bit Field USAGE: This register sets the resolution. Field Name Description RES[3:0] Sets resolution 0x04 = 400 0x06 = 600 0x08 = 800 0x09 = 1000 0x0a =1100 0x0b =1200 0x0c =1300 0x0d =1400 0x0e =1500 0x0f =1600 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 28 PixArt Imaging Inc. Track-on-Glass Laser Sensor Configuration_II Address: 0x10 Access: R/W Reset Value: 0x28 Bit 7 6 5 4 3 2 1 0 Field F_Rest1 F_Rest0 Rest_En NAGC 1 0 0 0 Data Type: Bit Field USAGE: This register is used to change configuration of sensor. When the sensor is put into Force Rest function via F_Rest[1:0], the operation mode of sensor will change from current mode to the next desired Rest mode and stay at the desired Rest mode until the Force Rest mode is released. Once Force Rest mode is released, the sensor will resume to normal operation from the desired Rest mode and auto downshift to the next level of Rest modes if no motion or recover to Run mode if motion is detected. For example: Current mode Next desired mode Force Rest mode action After Force Rest mode is released (F_Rest[1:0] = 00) Run Rest1 Force Rest1 F_Rest[1:0] = 01 Resume to normal operation from REST1, auto downshift to Rest2, then Rest3 in sequence if no motion or back to Run mode if motion detected. Run Rest2 Force Rest2 F_Rest[1:0] = 10 Resume to normal operation from REST2, auto downshift to Rest3 if no motion or back to Run mode if motion detected. Run Rest3 Force Rest3 F_Rest[1:0] = 11 Resume to normal operation from REST3, stay in Rest3 if no motion or back to Run mode if motion detected. Field Name Description F_Rest[1:0] Puts chip into Rest mode 00 = Normal operation 01 = Force Rest1 10 = Force Rest2 11 = Force Rest3 Rest_En Enable Rest mode 0 = Forced awake mode. Normal operation without REST modes. 1 = REST modes enabled NAGC Disable AGC. Shutter value will be set to the current shutter value if Rest mode disabled. 0 = no, AGC is active 1 = yes, AGC is disabled BIT[3:0] Must be set to 0x8 (b1000) All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 29 PixArt Imaging Inc. Track-on-Glass Laser Sensor Frame_Capture Address: 0x12 Access: R/W Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field FC7 FC6 FC5 FC4 FC3 FC2 FC1 FC0 Data Type: 8-bit unsigned integer USAGE: Used to capture the next available complete 1 frame of pixel values to be stored to RAM. Writing to this register will cause any firmware loaded to be overwritten and stops navigation. A hardware reset and SROM download are required to restore normal operation for motion reading. Refer to Frame Capture section for use details. SROM_Enable Address: 0x13 Access: W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field SE7 SE6 SE5 SE4 SE3 SE2 SE1 SE0 Data Type: 8-bit unsigned integer USAGE: Write to this register to start either SROM download or SROM CRC test. See SROM Download section for use details. SROM CRC test can be performed to check for successful SROM download. SROM CRC test is only valid after SROM downloaded. Navigation is halted and the SPI port should not be used during this SROM CRC test. PixArt recommends reading the MOTION register to determine the laser fault condition before performing the SROM CRC test. In the case of a laser fault condition, PixArt recommends to reset the sensor. SROM CRC test procedure is as below: 1. Write 0x15 to SROM_Enable register to start SROM CRC test. 2. Wait for at least 10ms. 3. Read the CRC value from Data_Out_Lower and Data_Out_Upper registers. Note: After the SROM CRC test completed, laser power need to be enabled again to resume the navigation by setting bit (Bit-0) of LASER_CTRL0 register to 0. Run_Downshift Address: 0x14 Access: R/W Reset Value: 0x7d Bit 7 6 5 4 3 2 1 0 Field RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 Data Type: 8-bit unsigned integer USAGE: This register set the Run to Rest 1 downshift time. Default value is 470ms. Use the formula below for calculation. Run Downshift time (ms) = RD[7:0] x 3.75 Default = 125 x 3.75 = 470ms All the above values are calculated base on system clock, which expected to have 20% tolerance. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. 30 PixArt Imaging Inc. E-mail: [email protected] PixArt Imaging Inc. Track-on-Glass Laser Sensor Rest1_Rate Address: 0x15 Access: R/W Reset Value: 0x01 Bit 7 6 5 4 3 2 1 0 Field R1R7 R1R6 R1R5 R1R4 R1R3 R1R2 R1R1 R1R0 Data Type: 8-bit unsigned integer USAGE: This register set the Rest 1 frame rate period. Default value is 20ms. Use the formula below for calculation. Rest1 frame rate period = (R1R[7:0] + 1) x 10ms. Default = (1 + 1) x 10 = 20ms All the above values are calculated base on 100Hz Hibernate clock, which expected to have 40% tolerance. Rest1_Downshift Address: 0x16 Access: R/W Reset Value: 0x7d Bit 7 6 5 4 3 2 1 0 Field R1D7 R1D6 R1D5 R1D4 R1D3 R1D2 R1D1 R1D0 Data Type: 8-bit unsigned integer USAGE: This register set the Rest 1 to Rest 2 downshift time. Default value is 9920ms. Use the formula below for calculation. Rest1 Downshift time = R1D[7:0] x 4 x Rest1_Rate. Default = 125 x 4 x 20 = 10000ms = 10s All the above values are calculated base on 100Hz Hibernate clock, which expected to have 40% tolerance. Rest2_Rate Address: 0x17 Access: R/W Reset Value: 0x09 Bit 7 6 5 4 3 2 1 0 Field R2R7 R2R6 R2R5 R2R4 R2R3 R2R2 R2R1 R2R0 Data Type: 8-bit unsigned integer USAGE: This register set the Rest 2 frame rate period. Default value is 100ms. Use the formula below for calculation. Rest2 frame rate period = (R2R[7:0] + 1) x 10ms. Default = (9 + 1) x 10 = 100ms All the above values are calculated base on 100Hz Hibernate clock, which expected to have 40% tolerance. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 31 PixArt Imaging Inc. Track-on-Glass Laser Sensor Rest2_Downshift Address: 0x18 Access: R/W Reset Value: 0x5e Bit 7 6 5 4 3 2 1 0 Field R2D7 R2D6 R2D5 R2D4 R2D3 R2D2 R2D1 R2D0 Data Type: 8-bit unsigned integer USAGE: This register set the Rest 2 to Rest 3 downshift time. Default value is 10mins. Use the formula below for calculation. Rest2 Downshift time = R2D[7:0] x 64 x Rest2_Rate. Default = 94 x 64 x 100ms (Rest2_Rate default value) = 601.6s = 10mins All the above values are calculated base on 100Hz Hibernate clock, which expected to have 40% tolerance. Rest3_Rate Address: 0x19 Access: R/W Reset Value: 0x31 Bit 7 6 5 4 3 2 1 0 Field R3R7 R3R6 R3R5 R3R4 R3R3 R3R2 R3R1 R3R0 Data Type: 8-bit unsigned integer USAGE: This register set the Rest 3 frame rate period. Default value is 500ms. Use the formula below for calculation. Rest3 frame rate period = (R3R[7:0] + 1) x 10ms. Default = (49 + 1) x 10 = 500ms All the above values are calculated base on 100Hz Hibernate clock, which expected to have 40% tolerance. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 32 PixArt Imaging Inc. Track-on-Glass Laser Sensor LASER_CTRL0 Address: 0x20 Access: R/W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field Range Reserved Reserved Reserved CW2 CW1 CW0 Force_Disabled Data Type: Bit field USAGE: This register is used to control the laser drive mode. For testing purpose, the laser power can be changed by following the Laser Power Adjustment Procedure. Field Name Description RANGE Laser current range 0 = 0.8 – 4mA 1 = 4 – 10mA * Important Note - Do not adjust the laser current > 7mA. CW[2:0] Laser drive mode - Write 010b to bits [3,2,1] to set the laser to continuous ON (CW) mode. - Write 000b to exit laser continuous ON mode, all other values are not recommended. Reading the DELTA_X_L (0x03) will reset the value to 000b and exit laser continuous ON mode. Force_Disabled LASER force disabled 0 = Enabled laser 1 = Laser is forced disable LASER_CTRL1 Address: 0x21 Access: R/W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field Range_C 1 0 0 0 0 1 0 Data Type: Bit field USAGE: For testing purpose, the laser power can be changed by following the Laser Power Adjustment Procedure. Field Name Description Range_C Bit-7 of this register must be the complement of the corresponding Bit-7 in LASER_CTRL0 register for the laser current range control to be as programmed, otherwise the laser is turned off and the LP_VALID bit in the MOTION register is set to 0. BIT[6:0] Must be set to 0x42 (b1000010). All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 33 PixArt Imaging Inc. Track-on-Glass Laser Sensor LP_CFG0 Address: 0x22 Access: R/W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field LP7 LP6 LP5 LP4 LP3 LP 2 LP 1 LP 0 Data Type: 8-bit unsigned integer USAGE: This register is used to set the laser current. It is to be used together with LASER_CTRL1 register, where it contains the complement of LASER_CTRL0 register. If the registers do not contain complementary values, the laser is turned off and the LP_VALID bit in the MOTION register is set to 0. For testing purpose, the laser power can be changed by following the Laser Power Adjustment Procedure. Field Name Description LP[7:0] Controls the 8-bit DAC for adjusting laser current. For Range 0.8 - 4mA One step is equivalent to (1/295) x 100% = 0.34% change of relative laser current. For Range 4 - 10mA One step is equivalent to (1/365) x 100% = 0.27% change of relative laser current. Refer to the table below for examples of relative laser current settings. Range 0.8 - 4mA (Range = 0) Relatives Laser Current LPCFG0 LPCFG1 Range 4 - 10mA (Range = 1) Relatives Laser Current LPCFG0 LPCFG1 13.56% 0x00 0xFF 30.14% 0x00 0xFF 13.90% 0x01 0xFE 30.41% 0x01 0xFE 14.24% 0x02 0xFD 30.68% 0x02 0xFD .. .. .. .. .. .. .. .. .. .. .. .. 99.32% 0xFD 0x02 99.45% 0xFD 0x02 99.66% 0xFE 0x01 99.73% 0xFE 0x01 100.00% 0xFF 0x00 100.00% 0xFF 0x00 * Important Note - Do not adjust the laser current > 7mA All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 34 PixArt Imaging Inc. Track-on-Glass Laser Sensor LP_CFG1 Address: 0x23 Access: R/W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field LPC7 LPC 6 LPC 5 LPC 4 LPC 3 LPC 2 LPC 1 LPC 0 Data Type: 8-bit unsigned integer USAGE: The value in this register must be a complement of LP_CFG0 register for the laser current to be as programmed, otherwise the laser is turned off and the LP_VALID bit in the MOTION register is set to 0. Observation Address: 0x24 Access: R/W Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field Reserved OB6 OB5 OB4 OB3 OB2 OB1 OB0 Data Type: Bit field USAGE: The user must clear the register by writing 0x00, waiting an appropriate delay, and read the register. The active processes will set their corresponding bit indicating the sensor is functioning. This register may be used as part of a recovery scheme to detect a problem caused by EFT/B or ESD by monitoring the OB[5:0] status. Field Name Description 0 = chip is not running SROM code OB6 1 = chip is running SROM code OB[5:0] Set once per frame Data_Out_Lower Address: 0x25 Access: R Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 35 PixArt Imaging Inc. Track-on-Glass Laser Sensor Data_Out_Upper Address: 0x26 Access: R Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field DO15 DO14 DO13 DO12 DO11 DO10 DO9 DO8 Data Type: 16-bit word USAGE: Data in these registers come from the SROM CRC test. The data can be read out in either order. CRC Result Data_Out_Upper Data_Out_Lower SROM CRC test 0xBE 0xEF SROM CRC Test: Performs a CRC test on the SROM contents. The test is initiated by writing 0x15 to SROM_Enable register. SROM CRC test is only valid after SROM is downloaded. SROM_ID Address: 0x2A Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field SR7 SR6 SR5 SR4 SR3 SR2 SR1 SR0 Data Type: 8-bit unsigned integer USAGE: Contains the revision of the downloaded Shadow ROM (SROM) firmware. If the firmware has been successfully downloaded and the chip is operating out of SROM, this register will contain the SROM firmware revision; otherwise it will contain 0x00. Power_Up_Reset Address: 0x3A Access: W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field PUR7 PUR 6 PUR 5 PUR 4 PUR 3 PUR 2 PUR 1 PUR 0 Data Type: 8-bit unsigned integer USAGE: Write 0x5a to this register to reset the chip. All settings will revert to default values. Reset is required after recovering from shutdown mode and after every power up. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 36 PixArt Imaging Inc. Track-on-Glass Laser Sensor Shutdown Address: 0x3B Access: W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field SD7 SD6 SD5 SD4 SD 3 SD2 SD1 SD0 Data Type: 8-bit unsigned integer USAGE: Write 0xb6 to set the chip to shutdown mode, use POWER_UP_RESET register to power up the chip. Inverse_Product_ID Access: R Address: 0x3F Reset Value: 0xc5 Bit 7 6 5 4 3 2 1 0 Field PID7 PID6 PID5 PID4 PID3 PID2 PID1 PID0 Data Type: 8-bit unsigned integer USAGE: This value is the inverse of the Product_ID. It can be used to test the SPI port hardware. Motion_Burst Address: 0x50 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field MB7 MB6 MB5 MB4 MB3 MB2 MB1 MB0 Data Type: 8-bit unsigned integer USAGE: The Motion_Burst register is used for high-speed access to up to 12 bytes of information in this order: Motion, Observation, Delta_X_L, Delta_X_H, Delta_Y_L, Delta_Y_H, SQUAL, Pixel_Sum, Maximum_Pixel, Minimum_Pixel, Shutter_Upper, and Shutter_Lower registers. See Burst Mode-Motion Read section for use details. Write any value to this register will clear all motion burst data. SROM_Load_BurstAddress: 0x62 Access: W Reset Value: Undefined Bit 7 6 5 4 3 2 1 0 Field SL7 SL6 SL5 SL4 SL3 SL2 SL1 SL0 Data Type: 8-bit unsigned integer USAGE: The SROM_Load_Burst register is used for high-speed programming SROM from an external PROM or microcontroller. See SROM Download section for use details. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected] 37 PixArt Imaging Inc. Track-on-Glass Laser Sensor Pixel_Burst Address: 0x64 Access: R Reset Value: 0x00 Bit 7 6 5 4 3 2 1 0 Field PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 Data Type: 8-bit unsigned integer USAGE: The Pixel_Burst register is used for high-speed access to all the pixel values for one complete frame capture, without writing to the register address to obtain each pixel data. The data pointer is automatically incremented after each read so all 484 pixel values may be obtained by reading this register 484 times. See Frame Capture section for use details. Note: Maximum pixel value is 127. PB7 is always zero. All rights strictly reserved any portion in this paper shall not be reproduced, copied or transformed to any other forms without permission. PixArt Imaging Inc. E-mail: [email protected]