Computer graphics processing and selective visual display system – Display peripheral interface input device – Cursor mark position control device
Reexamination Certificate
1999-11-17
2002-04-30
Nguyen, Chanh (Department: 2675)
Computer graphics processing and selective visual display system
Display peripheral interface input device
Cursor mark position control device
Reexamination Certificate
active
06380927
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally concerns a method and apparatus for determining a shaft position using an optical encoder, and in particular, concerns the determination of the rotational position of a detented optical encoder shaft in a computer input device.
BACKGROUND OF THE INVENTION
Pointing devices, such as computer mice and trackballs, are used to provide user input to a computer program and to control applications, and are well known in the art. Such pointing devices enable a user to move a cursor on a display screen and are fundamental to programs and operating systems that employ a graphical user interface, such as Microsoft Corporation's WINDOWS™ and Apple Corporation's MACINTOSH™ operating systems. In a typical pointing device, a ball is rotated in the housing of the device, either directly by the user's fingers, or by movement of the device over an underlying surface or pad. Depending upon its direction of rotation, the rotating ball in turn causes one or both of a pair of encoder shafts in the housing to rotate. The encoder shafts rotate about a pair of orthogonal axes, i.e., the “X” and “Y” axes, in response to components of the ball's rotation along those axes. As the encoder shafts rotate, the corresponding encoders produce signals that indicate the device's incremental motion along these orthogonal axes. These signals are processed by a microcontroller or other logic in the pointing device, which produces a corresponding stream of digital values indicative of a position of the device relative to the X and Y axes. These displacements are passed to a driver program executing on the computer to which the pointing device is attached. The driver program also receives other input signals from the pointing device, including a signal indicative of the state of control buttons on the device. The relative position data and the state of the control buttons are input to a computer program (or the operating system), which processes the information, causing a predefined action to occur. For example, many operating systems move a cursor displayed on a monitor or other display screen in response to a user's movement of a pointing device. The X and/or Y movement of the cursor on the display screen is a function of the motion of the ball (or device) along its respective X and/or Y axes.
In recent years, mouse manufacturers have added a third input axis to their products, commonly known as the “Z” axis. Originally developed by the Microsoft Corporation for use with its WINDOWS™ operating system, this Z-axis control on the mouse is primarily used for scrolling within a document or in a displayed window and is typically implemented using a detented wheel (the Z-wheel) that is coupled to a rotatable shaft. An encoder monitors rotation of the Z-wheel shaft by a user. Detents on the rotational motion of this wheel provide tactile feedback regarding the extent of the rotation of the wheel and enable a user to scroll a document or data display in consistent increments specified by the user, such as a predetermined number of lines/detent, or a screen/detent. The Z-wheel is typically mounted vertically and is disposed toward the front of a mouse so that it can be readily turned with a user's index or middle finger. The detent positions are typically spaced at increments of about 20°.
In order to obtain a desired level of performance, the output signal produced by the Z-axis encoder should accurately correspond to the number and direction of detent positions through which the user rotates the Z-wheel. For example, if a user rotates the Z-wheel through five detent positions in a forward direction (rotating the top of the Z-wheel toward the front of the mouse), this movement should be reflected in the corresponding control action applied by the computer program, e.g., by the program scrolling forward in a document displayed on a monitor through five of the scrolling increments/detent previously selected by the user.
Several techniques have been implemented in prior art Z-wheel mice to address this performance requirement. One solution is to use a mechanical encoder with a built-in detent mechanism. In this type of device, a mechanical detent is closely coupled with the encoder that produces an electrical output signal, which satisfies the foregoing performance requirement. However, mechanical encoders of this type generally cost more than may be desired in a product that must compete on price as well as performance. Therefore, a less-expensive optical encoder scheme is preferable for accurately detecting rotation of the Z-wheel through successive detent positions.
Optical encoders are commonly used to detect the motion and/or position of a member, as it moves either linearly or rotationally. Two classes of optical encoders are incremental encoders, and absolute encoders. Incremental rotary encoders are suitable for use in a mouse. Ideally, an incremental encoder produces a pair (two channels) of square wave signals that are approximately 90° out of phase, and this type of output signal is thus commonly referred to as a quadrature output. The quadrature output is processed to determine the extent of rotation of an element (such as a wheel) monitored by the encoder, and the direction of the element's rotation.
The primary components of a typical optical encoder (prior art) are shown in
FIGS. 1 and 2
, and include a codewheel or code disk
10
, an emitter
12
, and an integrated detector circuit
14
. The codewheel generally comprises a plurality of equally-spaced teeth
16
, forming slots
18
, which may be fully enclosed, or it may be fabricated using a clear plastic or glass disk imprinted with a radially-spaced pattern of lines, commonly called a “mask.” Emitter
12
typically comprises an LED
20
, which emits light rays
21
that are collimated into a parallel beam by a lens
22
. Integrated detector circuit
14
is disposed opposite the emitter and typically comprises at least two photodetectors
24
(as shown in FIG.
2
), or two sets of photodetectors (as shown in FIG.
1
), noise reduction circuitry
26
, and comparators
28
. Suitable photodetectors include photodiodes and phototransistors. The set of components comprising the emitter and photodetectors used in an optical encoder is commonly referred to as the encoder's “photo-optics.”
The codewheel is disposed relative to the emitter and integrated detector circuit so that when it is rotated, its slotted or lined portion moves between the emitter and integrated detector circuit. The light beam passing from the emitter to the integrated detector circuit is thus interrupted by the part of the codewheel between the pattern of slots or by the radial lines on the codewheel. Any portion of the light beam that is not blocked by the codewheel (or the lines that are imprinted) is detected by the photodetectors. The photodetectors typically produce an analog output signal that is proportional to the intensity of light they detect. In general, the output signal produced by each photodetector as the codewheel is turned at a constant rate is sinusoidal. The photodetectors are arranged in a pattern that is a function of the radius and slot or line density of the codewheel, so as to produce a quadrature output.
In the embodiment shown in
FIG. 1
, the photodetectors are spaced such that a light period (i.e., when light passes through the codewheel) on one pair of photodetectors corresponds to a dark period (i.e., when the codewheel blocks the light) on an adjacent pair of photodetectors, thereby producing two complementary outputs for each channel. The photodetector outputs are processed by the noise reduction circuitry, which removes extraneous noise. The resulting four signals are then evaluated by the comparators (one comparator for each complementary pair of signals), producing a digital waveform corresponding respectively to the encoder output for channels A and B. The digital waveform has voltage levels corresponding to a logic level zero and a logic level one. If the enc
de Leon Ceasar
Featherston Lord Nigel
Gibson Greg S.
Ostrum Brett T.
Anderson Ronald M.
Microsoft Corporation
Nguyen Chanh
LandOfFree
Determining the position of a detented optical encoder does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Determining the position of a detented optical encoder, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Determining the position of a detented optical encoder will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2853849