• Aucun résultat trouvé

if pt

N/A
N/A
Protected

Academic year: 2022

Partager "if pt"

Copied!
30
0
0

Texte intégral

(1)

I. Introduction

Opt ic a l M ouse

Function a l S pe c if ic at ion

Robert Garner 24 July 82

The optical mouse (OM) system involves three components: the 16·pin nMOS chip, the special patterned surface (the mouse pad), and the optical system which resohes the dot array onto Ihe chip's sensor array. This document contains the schematic diagrams for the chip, describes and specifics the cxtemal behavior. and develops the equations for the dimensions of tile pad dots, sensors, and the optical system magr.ification. Other aspects orthe optics (such as the required depth of field and light intensity) are not developed here. Figure 1 is a block diagram of the OM chip and figure 2 is its floorplan.

2. Theory of Operation 2.1 Photo Diode Operation

The optical mouse input transducer consists of a 4x4 array of reversed-biased p-n diodes. E."lch diode is a 170 micron square of n-type diffusion over the p-type substrate. TIle substrate is connected to ground white the diffusion is momentarily charged posilive. After the dynamic node (Le., sensor) is cl~arged

positive, it is then isolated by a turned off transistor. Figure 6, the overall schematic, and figure 7 show the sensors as parallel capacitors and diodcs.

If a photon strikes the silicon semiconductor with an energy greater than its band gap energy (Le., with a wavelength less than 1.1 micrometers-·the infrared), the phOion is absorbed :md causes the generation of an electron-hole pair. If the electron-hole pair is generated within the junction's depletion region, the electron drifts toward the positively charged n-type dopants and the hole drifts toward the negatively charged p-type dopants of the substrate. TIlliS, the positive charge on the diffusion is reduced over time

ill a rate proportional to the photon flux. In other words, the output of [he dynamic sensor node diminishes as light is received.

Quantities which effect a sensor's response are the depth below the sllfface ofrhe depIction (transition) region, the widlh orthc dcplction region (Le., relative impurity concclllration) and the spectral contect of the lighl. The scnsors are most sensitive if the light frcquency is near the band gap energy (infrared and visible) and the depletion region is wide ;md ncar the surface. Nme thal the optical mouse is based on an architectural timing scheme that is insensitive to changes in lhese parameters.

(2)

2

Tcst Shift Test ~ TeslEnab Register .

,

Control ~ Tcsl031a

1~ Sensor Logic

~ TeslClock

r.--

Galelesl

DOD D

("~ ,,',s/ inputs

Sensor

DOD D

Cleared

Array

DO DD D ODD

11

Seo~

Inhibition

"eo'_

-i>

Array Timil'g -i>

,"-

Spol

P

-i>

W W

Old Pixel Done Detect

Register

11OldSpoI

Move Detect Arm}'

9 MoveO"eclion

Tracker

'· H'"

'.e"

P LA

y.u, y.' "' Y,F"'

Array

~

X COlInler

PLA

Y Counter

Tri

PLA

pc

f-n-

XA

XB

YA

YB

quadra Iurf/mous.

OIIIPt.//S

Figure L Opti cal MOll se Bl ock Di ag ram

2

(3)

XA

XB

PhiLong!

TestData

PhiShort/

Testelk

YB

YA

GN D

TestEnable

, 0 [2] 0 0

....

LYON

, ...

3350 .

B

Y Qw(l/t!lr X (;(1",(1/" Track"r

1 ,'mm'

. "

l

pu. pu. pu.

Timing

0

Cog<

0

BlueS

0

3,., Old SRDgisrensor er Array f,fo~e Defecl 00" Dcf]CArrJy f

0

lllueA

T ••

(;(Ifllrol logic

13 4

YellowS

' ''''' > 1 <

830

> 1 <

'030

0

Shirl RegiMer Tesr

i 8 El EJ EJ El EJEl El

Inhibillon

[2]

Atray

YcllowA

1El EJ El

15421

~

Good

1'8 El EJ El

f

---3!11 170

~ 1 ,'mm' po' l

0 C' []

Xerox PARe

~} [2]

Richard

VLSf Design Lyo" + Martin

Oplical Mou· a H.:leberU

GatcTcst Vdd RedA Redl!

version , , - X

-1

DO$'t'~e motion direc1ion,

..

mouse . (dOl motion is neg"r;""

y ol/hese)

Fig ure 2. Floor Plan , Pin Number s, Direc ti on s, & Dim en si ons

Notcs: (1) All dimensions in microns. The external size docs not include distance to scribe marks, typically x microns away.

(2) Substrate should be canceted to ground (pin 8).

3

(4)

2.2 Inhibition aud Time I>criods

Time is partitioned into into two epochs: a light-gathering. or "walehing" phClse and.1 recording phasc.

During thc gathering phase lhe sensors arc pre-charged to Vdd: thereafter, they discharge at rates dependent upon the intensity at each sensor node. Since the all-charged and ali-discharged states afC

not interesting. a snap-shot afthe image is obtained by cross-coupling thc sensors in a "Iateral-

inhibition" manor. When the voltage on a particular sensor drops below a gate threshold. all sensors in its inhibiuon neighborhood arc ignored. Because Ihc mhibition pattern is l:1.rge, only a few sensor nodes need to discharge berare the snapshot is complete. The wired-in inhibition patern about each sensor (see figure 3) implies 30 stable 4x4 images which can exist. These arc shown in figure 4.

The output ora sensor node, as inhibited by its neighbors and inverted. is called PixeJUght (see the schematic). Thus. if a scnsor node discharges before any of the sensors which inhibit it discharge, its PixelUght equals 1. I\n inhibited or still-charged sensor has PixelUght = O. Figure 1 is a transistor- level schematic or the Pixel and In"'tib:tion arrays

During the light-gathering phase, eventually either PixelUght '" 1 in one of the middle four sensors of the the 4x4 array. or PixelUght '" 1 for two sensors around the edge of the array (Le .• a stable patterns appears) and the signal Done becomes true and the chip enters the recording phase.

On the chip. the Done signal is actually compmed with a great denl of redundancy: Done is set to true only when, for each sensor. PixelUght = 1, or one of its inhibitor's has PixelUght = 1. Note that a buffered version ofPixelUght, called Spot, is used for detecting Done.

4

(5)

2.3 l)clcrmining Molion

During the recording phase the stable image outPlll of the watching phase is compared with the rcsu\Glnt image of the previous watching phase, present in the "old SpOl regisler" (sec schematic). If there is implied motion, the X-dircc~ion :md/or Y -direction counters JfC updated. 111e output of these counters directly drives the four mouse quadrature outputs connected to the host machine.

To dClenninc ifthcri:: is motIOn, fur each image position of the 4x4 array, the "motion detect. array"

decides whether Spot = 1 and Old Spot = 1 for any of the eight. conterminous sensors afthe previous image. TIlUS, computed for each sensor, is the direction an active Spot may have moved: up and left, or righl not-at-all, etc .. The results for all sensors are or'd together, and consequently, of the move detect array's nine outputs (see schematic). either one, or two, or none (in the case of jumps) of them can be true. Figure 10 shows the schematic of the move detect array and figure 6 shows the implied motion resulting from pairs of "old" and "new" images.

The nine outputs of the move detect array then feed the "tracker PLA" which sons them into signals which directly controllhe X and Y counter PLAs. For each counter, there arc three outPIllS: right (or up). half, or full. full

=

1 for motions of at least one sensor center-lo-cenler distance and half

=

1 for

diagonal distances less than this (sec figure 5). fight:: 1 says the counter should increment. right = 0 implies is should be decremented. The low-order bit orme X and Y counters (the h~lf·stcp bits, XL' and YL') have no external connection (although they should). The two upper bits orthe PLAs follow the Gray code, while the low bit is toggled: 000,001,010,011, 110, 111, 100, and 101.

5

(6)

6

011 • • aD • • 11110. . . I I D

• • • 0 iii . . . .

..11 •

Oal • •

• • 110 II"~ lIa • • 0 • • •

a co 0 aOuD 0000 0 0 0 .

II 12

13 14

• • ao

. " .. ••••

0 • • •

0.110 aotla aDOIl oallo

Maao );11:1.

••••

0 • • •

• • aD

••••

lIaa 0 • • •

21

22

23 24

IInDO

••••

a • • • oa • •

aaao 1113 • • II • • • 0 • • •

Ollno DO • • • • 011 0.110

.lIao aaaa IIII.a Ollall

31 32 33

34

11000 0000 0000 0 0 0 .

I I U l l a

•••• ••••

D • • •

aaao IUUUI aa •• oa • •

0 • • 0 aD •• • • 011 0.110

41 42 43

44

F igure 3. Inhibition Patterns for Each Sensor

Open squares represent nodes which are not inhibited.

(7)

7

c.co bODd 11000

6 0 0 0 0 0 0 0 0 14 DOOII DOCO

22

oooe 00011

DilDO DODO DODD

DODO O[UIO aODO DODD

o

caoo 0 0 0 0 7 0 0 0 0 DODO 15 0 0 0 0 0 0 0 0

23

0 0 0 0 0 0 0 0

0 0 0 0 OOIJD ODaD DOaO

0 0 0 0 0000 aooa oooa

cOllie CIlDO

Doom

DOCO coco

OOCD coon

0 0 0 0

8 16 24

cooo 0 0 0 0 0 0 . 0 01100

DOCD DODO CDC. 00011

0 0 0 0 CO DO

2 9 0 0 0 0 ..,ooa [JOOO aooo 25 coco DOOO

0 0 0 0 DOCO 0 0 0 0 0 0 0 0

0 0 0 0 OEiOO 0 0 0 0 DODO

0 0 0 0

oaoo

3 10 DODO 0000 18 COOO DODO 26 DODO cooo

DODO capo 0 0 0 . COOl'!

aooo DODO 00110 01:100

-

0 0 0 0 0 0 0 0

oooa

4 0 0 0 0

000

QI!I[]

'8

[l

DODO 0 0 0 0 0 0 0 .

0 0 0 0 OODO

oooa

11 19 27

0 0 0 . eana

-

Dace 0 0 . 0

0 0 0 0 0 0 0 0

5 12 1200011 0 0 0

20

0 0 0 0 DODO

28

DODO DODO

aOoo 0 0 0 0 DODO .oao

DODO ODCO Doce

0 0 0 .

a DO []

DODO 0 0 0 .

oooa

0 0 0 0

13 21 29

DODO 11000 . 0 0 0

Figure 4. All Possibl e Stable Image Patterns

(8)

Old Image Ncwlmage

DODO 0 0 0 0

o

01100 0 0 0 0

0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0

0000 DaDo

0 0 0 0 00110

2 12 DODO 00011

0 0 0 0 0 0 0 0

ODCO 00110

0000 0000

10 7 0000 0 0 0 0

OOilO 00110 OOOC 0 0 0 0 CO DO

0 . 0 0

3 OOtiO 0 0 0 0

0 0 0 0 DODO

0 0 0 0 0 0 0 0 0 0 0 0

00110

2 29 0 0 0 . 0 0 0 0

0 0 0 0 11000

0 0 0 0 01100

IIOOU 0 0 0 0

8 10 aoco 0 0 0 0

0 0 0 0 ooao

0 0 0 0 00011

0 0 0 6 0 0 0 0

29 24 DODO 0 0 0 0

aooo caoo

CISCO DOCO

0 0 0 0 0 0 0 0

10 12 OOCII aooo

0 0 . 0 0000

01100 11000

DOOD 0000

10 22 0 0 0 0 oooa

00110 0 0 0 0

0000 0 0 0 0

01100 0000

o o

01100 0 0 0 0

0000 COCO

DODD DODO

00011 DODO

29 29 OODII 0 0 0 0

1:1000 !!IODO

0 0 0 0 0 0 0 0 OUOD

0000

o

29 00011 0 0 0 0

0000 aooo

DaDo DOOII 0 0 0 0

0000

10 5 OODc 0 0 0 0

00110 11000

TnJe Move Detccl Array Outputs

Right

Right

Righ~

Stayed

Up-Right

Up-Right

Up-Right

Right.

Up

Down-Len Up-Right

Len

Up-Right

Stayed

Stayed

none

Effcct on XY IntcrprcLltion Counters

G S t raiSht

-- Full-Step X .... X+l

G Straight

-- Full-Step X .... X + 1

D S t raight

-- Half-Step

X • X + 112

u D iagOnal X .... X+l / ' Full-Step Yt-Y+l

U D i asonal Xt-X+l / ' Full-Step Yt-Y+ 1

u D i agOnal

X·X + I

/ ' pUll-Step Yt-Y+ 1

G D i asonal Xt-X+ll2

". Half Step

y.

Y

+

112

D O P PoSing

X·X y.y

D NearlY

X·X

Opposing

y.y

D N o Motion

X·X y.y

D N o Motion

X'X y.y

DJLlmped

X'X y.y

D JUmped

X·X y.y

Figure 5_ Typica l rma ge Pairs and Th ei r Effect onlhe XY Cou nters

8

(9)

Down-Right

:;;., ;;;" ).

~ ~ ~

~ ~

,.

~ ~ ~

Right

///:

/ / / . / / / .

Up-Righl

t t t t

Down Down-Left

• • • •

.;:;

. .. ..

• •

• • .. .. ..

• • • • .. ..

'E

• • • • ..

.( .(

Slayed Left

Up Up-Left

Figure 6_ Dot Equations for Move Detect Array

OldScnsor is tail of vectors and current Sensor value is head of vectors

9

(10)

2.4 Quadrature Outputs

The upper two bits of !.he X and Y counters arc the quadrature outputs afme

mouse:

XA, XB, VA. and YB. Mouse motion is with respcct to the chip itself: if the mouse is moving right (i.c., the imaged pad dots arc moving lefl across the sensors). then positive transitions on the XB outPlll will occur before positive transitions on the XA QutpUl Likewise. iflhc mouse is moving down (i.c., the imaged pad dots arc moving lip across the sensors). then positive transitions on the VA output wit! occur before positive tri'lnsirions on the VB output. Up (positive Y) and right (positi .. c X) directions, with rcspL'Ct to the sensor array, arc shown in figure 3. (Note that, regardless of optical image reversals or chip orientations, me directions implied by the quadrature outputs can be made correct by interchanging outputs XA with XB orYA with YB.) 111e distance between positive (or negative) tranSitions on XA and XB

corresponds, at minimum, to 11200 of a inch.

2.5 Self-Timed Operation and Clocks

The optical mouse chip is sclftimed: the watching and recording phas(;s cycle at a rate dcpemient upon the light flux. There arc two internal clockS: phiLong and phi Short. phiLong is gcnerally high during me watching phase, while phiShort is high during the recording phase. phiLong is used to recirculate data in the pseudo'static registers; implemented this y!ay (see schematic) because the whole chip is being bombared by light which would otherwise cause ALL the dynamic nodes to discharge. phiShort gates data onto to the storage nodes (the old spot register and the X and Y counter PLAS) which record the results of tile last watching phase.

111e cycling orthe selr-timed.light·controlled logic starts with the sensor array being charged by the signal Reset during the recording phase (phi Short high). See figure 9. After all of the scnsorr arc high.

Ready goes high, causing phiShort to drop. which then causes phiLong to rise, thereby removing the Reset pulse. After some light is received, Ready drops and then Done rises (I.e .. a stable image appears). 111is triggers SlOp (a timing logic state bit). consequently causing phiLong to drop, and phiShort lO rise. thereby turning off SlOp. The zeroing of Stop causes Reset to become true, and, fortunately we are back to the beginning of the cycle.

As the mouse is self.timed. the light must be intense enough to enable the Outputs to faithFully ronow a fast mouse. (Suppose the mouse can be moved at the lightning-fast rate of70 inches/second. At the nominal COllnt rate of200 counts/inch, this implies that the clock frequency must be at least 14 kHz (70 microseconds). A reasonable goal is a clock rate of 5 kHz, which would ideally correspond to a tracking rate of2S inches/sec. The degradation of LEOs and incandescent lights over the life lime of the mouse should be considered.

lO

(11)

Note that the duration of the low pan of phi Long can not be greater [han the lime it l:lkcs light to discharge the dynamic nodes controlled by either phiLong ur phiShort. 111C phiLong-!ow, "danger"

period equais about 9 gate delays (sec figure 9) plus the lime required to charge the sensor array to Vdd.

Since the duration of phi Long = 1 approximately represents the time required to discharge a sensor node, which is a dynamic node, lhe light should not be so intense as to cause the duty cycle of phi Long to appro3ch 50%. (phi Long's low period was mC<Jsurcd once at 1.1 microseconds.)

2.6 Mouse Pad

This brings us to the subject of the mouse pad. The pattern chosen is a hexagonal pattern of while dots on a black background. Ideally, the white dots arc circles, blll other shapes, such as hexagons, are fine.

This pattern was chosen because. for all possible mouse orientations, the disparity between the minimum and maximum distance between dots is less for a hexagonal array rnan for a square array (.866 versus .707, or 18%). Funhcnnorc, a hexagonal array has three axes of symmetry instead oflhe squarc's two. Thc requ;red pad dot si7e and dO( separation arc derived in section 5.

The pad should be printed with an ink (such as a carbon-based ink) which will absorb light near the infra-red end of the spectrum. On the other hand, the (white) paper should be a good infra-red reflector. The contrast ratio should be as high as possible in order to reduce the effects of dirt and smudging.

II

(12)

3. Pin Descriptions Pin Name

1 Red Oebouncer A. 2 Red Debouncer B.

3 Yellow Debouncer A.

4 Yellow Debouncer B.

5 Blue Oebouncer A.

6 Blue Oebouncer B.

7 TestEnable.

8 Ground

9

VA

10

VB

" XA

12

XB

13 PhiLong/TestOata

Function

Sce figure 7 for schematic of dcbounccr pad pairs

When LOW, disables internal tcslcircuitry and causes pins 13 & 1410 output PhiLong & PhiShort. When HIGH, pins 13 and 14 become test inputs (see below).

Quadrature output for Y direction.

Quadrature output for X direction.

"

As an output (when pin7 = HIGH), equals internal Phil..ong clock (H IGH while garnering light, sec fig. 5). As an input (when pin7 == LOW), supplies data to Test Shirt Register (see figure 6). A HIGH value in the Shift Regislercauses sensor node to be discharged. '[be input value should remain stable for at least lllS aner the HIGH-to-LOW cdge ofTestClock.

14 PhiShortlTestCtock As an output (when pin7 = H IGI-I), c<Juals internal PhiShort ClOCK (HIGH when cycling data registers, sce fig. 5). As an input

15 GateTest

16

VDD

(when pin7

=

LOW), supplies clock to Test Shift Register

(see figure 6). While the clock is HIGH. the register isshifled and the TestData pin value is entered into the first position (see fig. 6).

Ignored when T estEnable

=

LOW. When T estEnable == H IG H, a HIGH level on GateTest applies the pattern in the Test Shift Register to the sensor array. (sec fig. 6).

+SVDC

12

(13)

4. Logic Equations

4.1 Inhibition & Done Detect Arrays

Figure 3 is an encoding ofbolh the inhibition and done detcct equations. In the case orlhe inhibition logic, each array of figure 3 represents a NOR gate with PixelLightxy as its output. A solid black box indicates an input tenn to the NOR gate, equal to the row-column coordinates of the box. An isolated while box indicates an input to the NOR gale which is the Sensor node iLSclf. For example, the equation for PixelUghl21 follows. Ready is the NOR of all Pixel Light's.

P]xelUght21 ;: not(Sensor21 or PixelUghll1 or Pi!(elUght31 or PixelLighl41 orPixelUghl12 or Pi:o;elUght22 or PixelUght32 or Pixellight42 Of Pixel light 13 Of PlxelLighl23 Of Pillellight33 Of PixeILight4JJ.

In (he case or the done detect logic, each array of figure 3 represents a NOR gale with GroupxyDone' as its output GroupxyDone' indicates lhat one or more oflhe PixerLights which dcline the inhibition neighborhood for PixerUghtxy is true. A solid box and (he single isolated while box indicate the input terms to the NOR gate, equal to Spotxy. (Recall that Spotxy is a buffered version ofPixerUghtxy.) For example, lhe equation for Group21 Done follows. Done isjusllhe NOR of all GroupDone's.

Group21 Done:: nor(Spol 11 or Spol21 Of Spol31 Of Spol41 or Spot12 or Spot22 or Spot32 or Spot42 Of

Spol13 or Spo123 or Spot33 or SpOI43).

4.2 Move Detect Array

For each sensor, the move detect array computes, given the contcnninous sensor val lies of the previous cycle, which direction the projected spot moved. Figure 10 is a schematic oflhe move detect array.

Figure 6 is an encoding of the move detect logic equations: Each direction, such as DownRight', is the output ofa NOR gate with nine AND gales as inputs. 111e two inrJuts (Jfc;"!ch AND gate arc g:ven by head and tail of c<lch linc of ligure 6 For example, the equation for DownRight' is:

DownRight' :: not{(Spot22 and OtdSpoll') or (Spot23 and OldSpot 12) or (Spo124 and OIdSpot13) or (Spot32 and OldSpol21) Of (Spot33 and OldSp0122) or (Spo134 and OldSpol23) or (Spot42 and OldSpol31) Of (Spo143 and OklSpo(32) or (Spo144 and OldSpot33).

4.3 Timing Logie

The schematic for the timing logic is shown in ligurc 9.

13

(14)

4.4 Tracker PLi\

The schcmalic for the Tracker PLA is shown symbolically in figure 13. Circles represcnt inputs of mintcnns and miuicrms of outputs. For example, the equation for YUp is

YUp = MovedUpLeft and no/(MovedUp) and nol(MovedUpRighl) and not(Moye(!left) and noI(S!ayed) and no/(MovedRigh\) ,md nOI\MoyedDowflLell) and not{MovedDown) and not{MovedDownRighl»

or (nOI(MolledUplefl) and nol(Mo\OedUp) and not(MovedUpRighl) and MovedLell) and"not(Slayed) and nor(MovedRight) iJnd nol(MoliedDownlell) ;:Jnd nor(MovedOown) and no/(MovedOownRighl»

or (not{MovedUpLell) and nOI(MovedUp) and no/(MovedUpRight) rmd nol(Movectleft) and nOI(Stayed) and not(Mo\ledRight) ond MovedOownLefl and no/(MolledDown) and not{MovedDownRighl) )

or (MovedUplelt and not(MO~edUp) and not(Mo'JooUpRight) and no/(MovedLert) .md Stayed and

no/(MovedRight) and nol(MovedDownLell) and nor(MovedDown) Bnd no/{MovedDownRight»

or (nol(MovedUpLefl) and nol{Mo'ledUp) and no/{MovedUpRighl) and MovedLefl) ana Stayed) and no/(MovedRlgl)l) and no/(MovedDownLcft) and no/(MovedDown) and no/{MovedDownRighl»

or (no/(MovedUpLell) and not(MovedUp) and not(MovedUpRight) and not(MovedLelt) and Stayed) and no/(MovedRight) and MovedDownLeft) and not(MovedDown) and no!(MovedDownRight) I

or (lIo/(MovedUpLefl) and MovedUp and no/\~AovedUpRighl) and MovedLefl) and no/{Stayed) and not(MovedAighl) and no/(MovedDownLeftl <Jnd no/(MovedDown) and no/(MovedDownRighl»

or (not(MovedUpLelt) and no/(MO'JedUp) and not(MovedUpRight) and MovedLefl and not(Slayecl) and nOI{MovedAighl) and no/(MO'JedDownLefl) and MovedDown and no/(MovedDownRight) )

4.5 X and Y Counter PLAs

TIle schematics for the X and Y Counter PLAs are shown symbolically in figure 14. Circles rcpresenl inputs ofmintenns and ffiintcnns of outputs. For example. the equation for XA is

XA = «·XL <Jnd ·Clear) or {-Up and -Half and rull and -XA and -XB <Jnel·Clear) or

(Up /lnd Half and ·Full and -XA and XB <Jnd ·Clear) Of (Up and -Half and Full and ·XA and XB and ·Clear) or (·Upanel Half and ·Full and XA and XB and ·Clear) or (.Hall and -Full and XA Bnd XBand ·Clear) or (Up and Half and ·Full and XA and XB and -Clear) or (Up and ·Halr and Full and XA and XB and ·Clear) or (·Up and -Half and Full and XA and ·XB and ·Clear) or (·Up and Hall and -Full and XA and ·XB and -Clear) or (-Half and ·Full and XA and -XB and -Clear))

and «Xl and ·Clear) or {·Up and ·Half {Jnd Full and -XA and ·XB and ·Clear) or

(·Up and Hall and -Full and -XA and -XBand -Clear) or (Up Ilnd -HJIf and Full and ·XAand XB and ·Clear) or (·Hall and ·Full and XA and XBand -Clear) Of (Up and Half and ·Full and XA and XB and ·Clear) or

(Up and ·Hall and Full and XA and XB <Jnd -Clear) or (·Up and ·Hall and Full and XA and ·XB and -Clear) Of (·Up and Hail and ·Full and XA and -XB and ·Clear) or (·Half and ·Full and XA and -XB and ·Clear) or (Up and Half and ·Full and XA and ·XBalld ·Clear))

14

(15)

S. I)ad and Sensor Dimensions

I\s shown in figure 16. lhe mouse pad is a white paper tessellated with black dots whose centers arc at lhe vertices of adjoining cquiiJtcral triangles. There arc IwO quantitit:S which specify this hexagonal paltcm pad: the distance between dots 0 and the dot diameter dia. Currently. 0

=

.0178" (445 Ilm) and dia = .008"

±

.001" (203 ± 27 Ilm). "nlC dots can be isomorphic to shapes in the range from hexagons to circles.

The sensor army, on the other hand, is a square array of square sensors. specified by the sensor center-

lO-center distance S. Currently, S = 220.urn (.00865").

5.1 Min. Avg, and tAax Dot Separation

'Illc raw dot count falC varies depending on onc's direction oflraycl across the the equilateral triangles.

As shown in figure 16, the dot fatC is maximum if onc moves parallel to the dot ccnter"to"center line.

The rate is minimum if one moves 30° to this axis.

qm:u is just the side of a unit equilateral triangle:

q"""

=

1.00.

qmin is the height of a unit equilateral triangle:

qmin = cos (n 16) = sqn(3)12 := .866 .

qavg is the average between the trianglc's side and hcight:

qavg

=

qmi/(nI6" 0)· (integral from 0 to -:r16 of sec ada)

= (3*sqrt(3)"d/-:r) * (integral from 0 to w/6 of sec ada)

= (3"'sqrt(3td/n)" In(sec w/6

+

tan .,,/6)

=

3'sqrt(3)ln(3)/2w

=

.909.

IS

(16)

5.2 Min, A vg, and Max Slabi" Patlcrn Sensor Separation

Only a fixed number of all possible sensor pairs ·participate in the dot imaging processes: orthe 30 stable paucrns (fig 4). 26 oflhcm involve a pair of sensors. The scpcration between these sensors, in units of sensor size (see figure 15) is called a.

The minimum scpcration occurs for patterns like 8 and 9:

a min = 3.00.

Since, in practice, the mouse can not exactly maintain an orientation

o ro

oa practical minimum scpcration is an average between patterns 6, 11, and 15:

~min

=

36/3

+

aU/3

+

a15/3

=

3.00/3

+

2'3.1613 = 3.10 . The maximum scpcration occurs for patterns 4 and 5:

"mu =

sqrt(3'

+

32)

=

4.24.

Since, in practice,lhc mouse can not exactly maintain an orientation of 45°. a practical maximum scpcrarion is an average between patterns 4.22, and 23:

~maJ[ :;: a/3

+

a22! )

+

a2)/3

= 4.2413

+

2'3.6113 = 3.93.

Finally, the average scperation is

~yg :;: 1126 (2a';,5

+

4a6_9

+

4alO_ll

+

8a14_21

+

8a22_29)

= 1126 (2'sqrt(18)

+

4'3

+

4'sqrt(lO)

+

8'sqrt(lO)

+

8'sqrt(I3»

=

3.36.

16

(17)

S.3 Dctcmlination of Magnification. Sensor Separation, & Dot Separation

llie lens magnifies dots separated by the distance qD on the object plane and (ideally) projccts them onto the sensor array of the image plane with a stable pattern scpcralion of

as.

'111U5,

m

=

i/o

=

(as)/(qD) . (1)

Likewise, when a dOL on the pad (object plane) moves a distance of 1 Ie, where c is the count rate, its image moves m/c. During this time, the mouse will increment the X andlor Y counter by one.

Furmcnnorc, when an imaged dOL moves the stable-pattern distance as, the X and/or Y counter mUSt increment by three. (Look at the stable patterns offigure 4: the dO( pairs arc separated by 3 in the X andlor Y directions.) 111u5, the following proportion is Lrue:

m/c

as

1 count 3 counts or,

m = (caS)/3 , or,

c = (3m)/(aS) , or,

S = (3m)/(ac) .

Equating equations (1) and (2) results in D = 3/qc .

(2)

(3)

(4)

(5)

Equation (5) implies that the pad dot seperation is only a function of the desired count rate and a choice of the count rate scaling factor (which is a function of orientation). 111e boltom line is that 3/qD dots must pass before the sensor array in order to achieve a count rate of c. Choosing a value for q tics the count rate to either the min, max or avg dot rate directions. However, as demonstrated in the next section, a choice of q is not the controlling factor of mouse count rate variation.

According to eq. (2), m and S arc directly proportional: consequently. a choice of me sensor size fixes the lens magnification, and vice versa. For example, suppose m is df.'Creascd. but S is not, then.

according to cq. (3), the count rate will go down. However. according to eq (5), the dot spacing must be increased or else tile mouse will track even morc slowly.

If the desired count rate is 200 counts/inch and we assume the average value of q (the mouse visits all angles between 0 and 30° with equal probability) and the lens magnification matches the sensor seperation. then the pad dot seperation should be:

D,,,,, = 3/(.909"200) = .0165" (420 ~m).

17

(18)

5.4. Determination

ors

and m.

Once the conStants a and Q arc chosen, the scpcration between array sensors then depends on the magnification. or, antithetically. the magnific1tion depends on the sensor scpcration.

Jfwc choose the avcrage value

ora

(Le., the stable paucrns wii1 occur with equal probability). then cqualions(2) and (4) can be used to design a mouse which will. on the average, count at 200 steps/inch:

or

Saoo

= (.1m)/(200aavg)

=

(3m)/(200'3.36)

= .00446m (i~chts)

mc200 = 224S .

Given a magnification of 1.8, the required sensor scperation is S,200

=

.00446(1.8)

=

.00803"

=

200 ~m

likewise, given a magnification ofl.938, the required sensor scperation is S"oo = .00446(1.938) = .00864" = 220 ~m .

1 8

(19)

5.5 Varialion in Counting Rates

The counting rate varies as a function of orientation. Two factors control this variation: the number of dots per inch as a function oranglc (q) and (he average value or the stable pattern dut sC[Jcration aClual/)'occurring for a particular 01 icnlation (a). II is the second Factor which has a larger impact on the count rate than the pad itself.

111~ towl possible counl fatc variation due to q is 13.4% l;clween the min and max extremes and !U%

between min and avg.

For the count rate \'ariation due to a. there are two cases. When a ) aavg' the count rate increases since more than one stable pattern is possible before the mouse is moved the distance of l/qc. In the worst case, an extra half step of motion can he added for about evcry threc counts (for example, between pal(4) and pal(27». In practically. it is probably more like an extra half step for every six counts, for a total count rate incrc3S<'" of8.3%.

When a

<

aavg. the count rate decreases as the mouse must be moved slightly further to evoke count steps. lnis factor equals the difference between the actual a and aavg (the value the mouse was designed to). Using the practical minimum, we get a factor of a pmin -aavg'8av8' or about 7.7% ..

The lowest counting ratc occurs when the short side (0°) oflhe sensor array travels par:lllcl to the dot- to'dot center line (0°). This rate differs from lhe average by 7.7% (a.s explained in prc\'iolls paragraph).

Interestingly enough, the highest rate does not occur when the short side ofmc sensor Ilrray travels at 30° to the dot-Io-dot center line. Even though there are marc dots/inch in this direction (lower q), the count rate is reduced because a

<

83\"S' Thus, what would otherwise be a 9.l% larger than average rale, is actually reduced by 7.7% to bc approximately the average count rate (only 1.4% greater than average).

The highcst count rate occurs when lhe sensor array is moved at a 45° angle with respect to the dot-to- dot center line (0°). In this case a

>

aa,'&' and the COllO[ rate is 8.3% larger lhan average, as explained above.

19

(20)

In summary. the lowest rale is 7.7% beluw average, and the highest is 8.3% above. for a total \'ariation of 16% between min .1nd max. If one wanted to design the mouse so that lhc 200 countlim;h track rate equaled the lowest count rate, the average count rate would be 200+ .077·200

=

215 counts/inch and the dOl sepcration should be

D"lS

=

3/(.909'215)

=

.0153" (383 ~m).

m or S can lhcn be SCt to any \'alue desired. lfS is left 0.1220 }.Lm. then the new required value.of m is

mc21S

=

(215"3.36"',00864)/3

= 2.08 .

5.6 Historical Notes

T. The current mouse was originally designed assuming that the desired rate or200 countslinch

represented the average counting rale. MH suggested that m be changed from 1.938 to 1.8 instead of to 2.08.

Since, in versions 7 and 9, S was not correspondingly changed to 200 /-Lm. a magnification of 1.S would give a theoretical average counting rate of(eq. 2):

Cayg '" (3mcaVg)/(aavgS cav,)

=

(3'1.8)/(3.36'.00865)

= ISS counts/inch . and a minimum rate ofl71 (7.7% less).

IfS is not cbanged. the jot spacing should be increased from .0165" 10 .017S":

Dc200 = 3/(QavgCavg)

=

3/(.909'185)

=

.0178" (445 ~m)

II. The original PARC-prOlotype mouse (versions 1 and 3) was designed with a sensor scperation 0[320 pm (.0126"). Thus. the intended magnificalion was (eq. (4» :

m,200

=

224S

=

224'.0126

=

2.82.

20

(21)

However, the magnification was later determined to be about l.9. so the pad spacins hJd to be adjusted to insure proper opcr':llion. From cq(l). the scpcration was changed (0:

Dem "" (aa,,&S)/(Q3,,~mca\'S)

~ (J.J6'.0126)/(.909*1.9)

~ .0245"

Thus, the theoretic.)\ a\'cr.:lge count rate became (rrom eq. 5):

cavg "" 3/(QavgD)

=

135 counts/inch

6.7 Dclcnnination of Dot Diameter

lnc image orthe patlcrn pad dot should be large enough such that its smallest dimension covers the diagonal or the sensor. Conservatively assuming that the sensor width equals the sensor ccnter-to-ccntcr disL1ncc, the minimum dOl diameter is

diamin = s·sqrt(2)/m = .0122/m •

The maximum diameter should be no more man about twice this value.

Assuming a magnification of 1.938.

diamin = .0122/1.94 ::0 .0063"

and a magnification of 1.8 yields

diamin = .0122/1.8 = .0068"

Rounding up, the spec becomes .008" ± .001" (203 ± 27 }Lm).

21

(22)

Pixel Array

.y r .

0

.... '::1

".

sensor-11

Vdd

wbSlfa'"

".

MoveDetcct Array

Inhibition Ready Done Old Spot

Array Detect Dctcct Registcr

¢ LOflg 0""", 0l "",

, ~ 1

Done'

"

L.gh111 0

OidSpoll1

0 0

0

"

0 0 0

0 0 0 0

0 0

Done'

"

OIdSpot44

X and Y Counter PLAs Tmckcr PLA

¢ long ¢LOog

Figure 7. Ove rall Sc hematic

(23)

10 Tesl Shill RCfJisu,·,

YO,

-~,..,.-.nU--'---'---'-'---U++---'-T"T-,--++t1h-,)---" ,

-,-H n --++++1:1: - 111 -++1+1: 1:111 --l+~ : n 1 ",

'dd

Pi~e! oghlll Pi~e! Jgh121

o o o

o 0 0

""¢.

Pixel". inhib;'Of$ delifttJd

by transisror$ on /1$ lOW Pi ,..'' t

' .. , "h

,

,

Pixel ighl34 Pixel .igh144

Sensors at, 170 micron squareS 0/0." over SlJbslrl"~

Spol21

o To Don.

o Dolocr Arrar

o

I -'--

.,;:~

~ ~ ~

-+---r----+---r---.JR""""----+~--_+__.-__._r_---,l>.-

.... Ready

4r"

0 0 0

YO'

Figure 8, Pixe l Array . Inhi bition Ar ray. & Ready Detec t

Halle numbers are l/W 10< \(;ln5iSI9"s an<! Zpu/Zpd for irW(:Ilers.

2)

(24)

TestEnabie CZJ;>o--J

Sensor Pixel Light

Spot Ready

Done Stop

Reset

>

j ----,r---I

:::X>--,---q ,

>--,---7

"So",

r---r--I ;:»-r--q, >-- + -7"L"""

}----.--I> ~-l-.--~cj9~----"» Re~'

*

Capacitors are l600t 10 micron depletion-mode gales. or about.8 pf.

An gilles have Zpo/Zpd ,. 6.

I I

I I

I I

, ,

, I I ,

, , I , ,

, I

, ,

, I

Watching Phase

,

Recording Phase

),(

(long time)

,

(short time)

Figure 9. Tim ing Logic

I

I

L

24

(25)

T o I F r o m

o

1 d

s

p

o

t

R c g

S t

e r

0 0 0

QldSpot43

QldSpOt33

-

OIdSD0123

OIdSpot13

C~1Spot42

OidSpOl32

OIdSpo122

OIdSpot12

0 0 0

Voo

To Tracker PLA

Down·R,ghl Dowo RIghi Stayed leU

t t t t t t

Oown-Aigh/' Righ,' U~-Righ" Down" Staye-cr Up'

t t t t

~:,L PI II

~:: I I Il ~~:IL

0 0 0

~ :: ,L ~:,L

, ~I ,L_ ~:Il_ I

I [ I

h l ~ ,l

I ~I

~ l ~ l

I ~I

~ I I ~ I

I

I ~ I

, I

I ~ I

I

~I I

I ~ l I

~ ~

o 00

Up·Loft

Down-terr' left' Up-LeW

t

-E-Do/ Afol«:m

t r

L,

~~ P.::I

~L ~::,L I

~1 ~:,L I

L ~:_L

I , I

~ ,

P'I-

Spot24 F r o m D o

Spol14 n

e

Spol14 D e t e

SpotT4 C

o o o

Spot41

t

A r r a

1 -<

y

~

P'I -

1 -<

Spot21

~

P. I~ ,

1 -<

Spotll

..:

)jl ,

r

Fi gure 10. M ove Detec t Array

Uotie numbers are L/W lor lr"n$iSlor:s

2S

(26)

26

GJteTest ~

;; b ;,::" v ~ r:i::::::

~ crear

~ ~ $-l

-

V

I.'

6 01.

TestEnable

J

v v

l

TestCJock

~LC»'=D-[»-<{>-

lli:J-t;:J 11\;",

"'"'-

TestOalo [ii]

I

I I c,."c. .

I J

l -L ...::.. OoneEnah

I

1.

I ,

I

(.1

) Sensor44

,

~

r I J

-L

~ ~=~

1 J

I I

~~~"4

J ->

SenSOl'14

r

~ -;> SenSOl'43 Se"""'"

~ Sensor23

0 0 ~ SenSOl'13

0 0

-+

Sensor42

0 0 ~

->

Sens0r32 Scnsor22

-? Sensor12

-+

ScnSOl'41

- ? Senso~l

~ SeM0r21

-.l r

Se""""

Figure llTest Shi fl Reg i ster & Co ntrol

1t3hc numbels afe l/W 10( transistors and ZUlI/Zoo lor oat"""

(27)

Only 2511 o//lle gales of tile p uH-up t,ansistors are implanted.

hancement modo t,,,nsisto'

) I 1110 remammg pari IS an rm l .. 5u

-r'

L .. 511

W .. 1000u

I

W. 1(lOOu

1 2

l .. Su

W.925u

J

l W.D25u .. Su

'"

Dcbounccr P:lds (RedA, RcdB, Ye\1owA. YcllowD. I31uel\, nlueB)

TestEnable'

7

90 Squares 12.31( ohml

.. "eSlo,

"'

L-4---~UZ--~['I.

Test Enable Input Pad

(inverting wi super buffer)

Vdd

l.Su W. IOOOIl

9

XA ----~( 118

l.5u W_D25u

Output Pads (YA. YD. XA. XD)

(l1on.ln~efll"9)

. v,'-

"")I-l~--II I )~ 1~6_----l---I~ L

W.

.5u

IOOOu

r[

112

'--t---t----,----II---ir--'~~'~ /~ ·~----I~l . 5U

~

.r" r.,

~

W .9" ,

9\;n.", ---II[ 118 JI-.,--I[., 1/8 JI--'--I[ 118

~I- -If

118

~I-

V

v'/' '" "" " ' . : .0.:

~ 113

TeslEnabie' --I 1112

'"

Tri-Statc Pads (PhiLongrrcslData. PhiShorlfTcstClk)

Fi gure 12.0p tical Mou se Pad '

14

fTfu/Oata h.u fn~"rllnf}

superbvl/9r hero)

27

(28)

AND'PI,ne

.

I ,

,~

-

,

-

,

I I:> I f- f-- L I ' ~~ IL

l-

I ' I I :> I

I-

L

o

long Input Latch

I

IJp-

U, U,-

lefl Sla~'ed Dowo- Dowo Dowo-

LeI! Righi Righi lelt Righi

9 Inputs

Figure 13. Tracker PLA

OR-Plane 22 Terms:

Downl-b1f-RlQh IHolr H"

... , ,

DownH;)lf.Loft UpHaIl·RlQh UpH.'.III·LeUHa Down·Ri9htH9

"

DownHaI!

(}own·LeliHaIf RighlHal1 LeltHa.l!

Up.RoghlHall l/pHall Up-Lefl~lal'

[)own-R,ght Oowo Down-Lelt Right

len

Up-Right

U,

Up·Lclt Stayed J.Jmped

.XH,"

u,,"

"""

""

8 Outputs

28

(29)

29

AND-Plane OR-Plane

10 Rightful!

, 10 nlghlHaIf

10 51:lyed 10 Lef1 Half 10 LeltFuN 11 Rightful!

11 RiOhlHaIf 11 Slayed 11 lelt Half

"

Lell Full

, 01 RIght fun

01 RIghI Hall' 01 SaIyed 01 leI! Half 01 leltFuU 00 Rightful!

00 B10htHalf 00 Stayed 00 left Half 00 Lei' full XL_O XL. '

0

lO,,"

o

~L,> 9~ IU ~ 19 ~)-~

=6=~

Sh"" lnpul Latch

1

XR,,"'

T

I ~ '

XA

XB

Xl

'''."

"

XB

,

Figure 14. X Counter PLA

(30)

IE--qD---3>I

<> <>

Sensor Array (Image Plane)

S = Sensor center-to-center distance a = SL1ble patlcm sensor-Io-sensor distance

o

= DOl center-la-center distance

q

=

Dot separation factor (fune. of angle) dia = Dot diagmeter

m = lens magnification

MouscPad

<>

(Object Plone)

Figure 15. Proj ec ti on of Pad onto Sensor Array

dllection 01 t.Wimum dO'

"'''

( ' 5 - -D

----'$"----""'---€l>---o>

o o

doreclion 01

MinImum

'"

rate

Figure 16. H exagona l Pad Pattern Show ing min & max Count Direc tions

30

Références

Documents relatifs

Alladi (Alladi, 1987) proved an Erd˝os–Kac theorem for integers without large prime factors... We follow closely the proofs of Propositions 2 and 3, making appropri-

Total Florida: The index of birds per ten party- hours calculated from the Christmas Bird Counts for the coastal regions of, Florida for Brown Peli- cans for the thirty

The black dots on the graph are estimated indices of annual population size as calculated by the statistical model, with error bars representing the 95% credible intervals for

As the main result of this paper, we employ equality (1.4) to show that in the case of radial functions the answer to W 1,1 -problem is positive (Theorem 3.12).. Even in this case,

Note that the Levi subgroup L (see subsection 1.4.2) of Q takes each of the types of orbits above to themselves, but moves around the isotropic two-dimensional subspaces V i in

Key words : Stable process, local time, fractional derivative, Hilbert transform, limit theorem, occupation time,

SILHOL: Real algebraic surfaces with rational or elliptic fiberings. VIRO: Construction of real algebraic surfaces with many

Control-affine systems, time-dependent systems, sub-Riemannian geometry, value function, Ball–Box theorem, nilpotent approximation.. ∗ This work was supported by the European