U.S. patent application number 16/780396 was filed with the patent office on 2020-06-04 for method and apparatus for configurable photodetector array patterning for optical encoders.
The applicant listed for this patent is TT Electronics PLC. Invention is credited to James Cusey, Stepan Iliasevitch, Brent Hans Larson, Benjamin Mak, Bharath Mandyam.
Application Number | 20200173816 16/780396 |
Document ID | / |
Family ID | 63519957 |
Filed Date | 2020-06-04 |
![](/patent/app/20200173816/US20200173816A1-20200604-D00000.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00001.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00002.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00003.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00004.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00005.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00006.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00007.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00008.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00009.png)
![](/patent/app/20200173816/US20200173816A1-20200604-D00010.png)
View All Diagrams
United States Patent
Application |
20200173816 |
Kind Code |
A1 |
Cusey; James ; et
al. |
June 4, 2020 |
Method and Apparatus For Configurable Photodetector Array
Patterning For Optical Encoders
Abstract
An encoder device includes an array of detectors that are
operable to detect a flux and to generate currents in response to
the detection; multiple current lines for conducting currents; a
set of switches coupled between the array of detectors and the
multiple current lines such that an output of each of the array of
detectors is routed to none or one of the multiple current lines;
and a controller operable to configure the set of switches.
Inventors: |
Cusey; James; (Carrollton,
TX) ; Iliasevitch; Stepan; (Plano, TX) ; Mak;
Benjamin; (Carrollton, TX) ; Mandyam; Bharath;
(Carrollton, TX) ; Larson; Brent Hans;
(Carrollton, TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
TT Electronics PLC |
Carrollton |
TX |
US |
|
|
Family ID: |
63519957 |
Appl. No.: |
16/780396 |
Filed: |
February 3, 2020 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15681182 |
Aug 18, 2017 |
10551223 |
|
|
16780396 |
|
|
|
|
62473525 |
Mar 20, 2017 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G01D 5/347 20130101;
G01D 5/34715 20130101; G01D 5/38 20130101; G01D 5/12 20130101; H01L
27/14 20130101; H01L 31/164 20130101; H01L 27/1446 20130101 |
International
Class: |
G01D 5/347 20060101
G01D005/347; H01L 27/14 20060101 H01L027/14; H01L 31/16 20060101
H01L031/16; G01D 5/12 20060101 G01D005/12; G01D 5/38 20060101
G01D005/38 |
Claims
1. An encoder device, comprising: an array of detectors that are
operable to detect a flux and to generate currents in response to
the detection; multiple current lines for conducting currents; a
set of switches coupled between the array of detectors and the
multiple current lines such that an output of each of the array of
detectors is routed to none or one of the multiple current lines;
and a controller operable to configure the set of switches.
2. The encoder device of claim 1, wherein the multiple current
lines include four lines.
3. The encoder device of claim 1, wherein the array of detectors
has non-homogeneous shapes.
4. The encoder device of claim 1, wherein some detectors of the
array of detectors are of a rectangular shape, a round shape, an
elliptical shape, or a shape having rounded corners.
5. The encoder device of claim 1, further comprising a first memory
that is operable to store first data for configuring the set of
switches, wherein the controller is operable to access the first
data from the first memory.
6. The encoder device of claim 5, further comprising a second
memory that is operable to store second data for configuring the
set of switches, wherein the controller is operable to access the
first data from the first memory and to access the second data from
the second memory.
7. The encoder device of claim 1, wherein some of the array of
detectors are operable to be turned off or partially on during
operations of the encoder device.
8. The encoder device of claim 1, further comprising multiple
transimpedance amplifiers coupled to the multiple current
lines.
9. The encoder device of claim 8, wherein each of the multiple
transimpedance amplifiers includes an adjustable current sink
additive to its input.
10. An encoder apparatus, comprising: an array of photodetectors
that are operable to generate currents in response to detection of
light incident thereon; multiple current lines for conducting
currents; a set of switches coupled between outputs of the array of
photodetectors and the multiple current lines; a memory operable to
store data; and a controller operable to access the data from the
memory and configure the set of switches according to the data such
that an output of each of the array of photodetectors is connected
to no more than one of the multiple current lines at a time.
11. The encoder apparatus of claim 10, further comprising an
emitter operable to generate the light.
12. The encoder apparatus of claim 10, further comprising a motion
object that is operable to modulate the light before the light is
detected by the array of photodetectors.
13. The encoder apparatus of claim 10, wherein some of the array of
photodetectors are operable to be turned off or partially on during
operations of the encoder apparatus.
14. The encoder apparatus of claim 10, wherein the array of
photodetectors includes photodetectors of different sizes or of
different shapes.
15. A method, comprising: collecting first characteristics of a
motion object; collecting second characteristics of a configurable
detector array that includes an array of detectors; determining a
partition map that defines quadrature states for the array of
detectors based on the first and the second characteristics; and
storing the partition map into a non-volatile memory.
16. The method of claim 15, wherein the motion object is a code
wheel and the first characteristics include radii, pulse per
resolution, or rotation speed of the code wheel.
17. The method of claim 15, wherein the second characteristics
include dimensions of the array of detectors, detector spacing,
detector shape, detector size, X-direction misalignment between the
array of detectors and the motion object, or Y-direction
misalignment between the array of detectors and the motion
object.
18. The method of claim 15, further comprising: retrieving the
partition map from the non-volatile memory; configuring the
configurable detector array according to the partition map; and
performing a detection of movement of the motion object.
19. The method of claim 18, further comprising: from the detection
of movement of the motion object, generating data about
misalignment between the motion object and the configurable
detector array.
20. The method of claim 19, further comprising: computing another
partition map based on the data about the misalignment.
Description
PRIORITY
[0001] This is a continuation application of U.S. patent
application Ser. No. 15/681,182, filed Aug. 18, 2017, which claims
the benefits of U.S. Prov. App. No. 62/473,525 entitled "Method and
Apparatus for Configurable Photodetector Array Patterning for
Optical Encoders," filed Mar. 20, 2017. The entire disclosure of
both applications is incorporated by reference herein.
BACKGROUND
[0002] An encoder system, such as an optical encoder, may include
an electro-mechanical device that detects and converts positions
(e.g., linear and/or angular positions) of an object to analog or
digital output signals by using one or more photodetectors. There
are different types of optical encoders, such as rotary encoders
and linear encoders. Manufacturers of rotary and/or linear encoders
traditionally require a different integrated circuit (IC) design
for each different code wheel (for rotary encoders) or code strip
(for linear encoders) configuration (radius and
pulses-per-revolution for rotary encoders, pulses-per-unit-length
for linear encoders, and/or slit shapes) they deploy. For
manufacturers that make many different encoder modules in
low-to-moderate volume with configurations, this necessitates the
purchase of a portfolio of different ICs in low-to-moderate volume.
This results in a higher cost and a need of more complex supply
chain than would be needed if the same IC may be used for multiple
encoder modules regardless of code wheel or code strip
configurations.
[0003] Accordingly, improvements in the encoder system are
desired.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Aspects of the present disclosure are best understood from
the following detailed description when read with the accompanying
figures. It is emphasized that, in accordance with the standard
practice in the industry, various features are not drawn to scale.
In fact, the dimensions of the various features may be arbitrarily
increased or reduced for clarity of discussion.
[0005] FIG. 1 is an illustration of an example transmissive optical
encoder, in accordance with some embodiments.
[0006] FIG. 2 is an illustration of an example pattern of
quadrature-track code wheel slits in a transmissive optical encoder
system, in accordance with some embodiments.
[0007] FIG. 3 shows an example embodiment of quadrature assignments
(A+, A-, B+, B-) to a photoactive region on an optical sensor IC,
superimposed upon a code wheel's quadrature track shown in FIG. 2,
in accordance with some embodiments.
[0008] FIG. 4 shows aggregate illuminated areas of A+, A-, B+, B-
regions in FIG. 3 when a code wheel is rotated clockwise at a
constant rate, in accordance with some embodiments.
[0009] FIG. 5 illustrates an example configurable photodetector
array and configured quadrature assignments to photo pixels in the
array, superimposed upon a code wheel's quadrature track, in
accordance with some embodiments.
[0010] FIG. 6 shows an example schematic of quadrature assignment
mechanism to photo pixels in a configurable photodetector array, in
accordance with some embodiments.
[0011] FIG. 7 shows an example circuit diagram of an example
interpolator resistor ladder architecture that converts
configurable photodetector array's readings into analog output with
transimpedance amplifiers (TIAs), in accordance with an
embodiment.
[0012] FIG. 8 illustrates a block diagram of an example optical
encoder IC, in accordance with an embodiment.
[0013] FIGS. 9A and 9B illustrate example techniques using the
configurable photodetector array to implement alignment check
between an optical encoder and a code wheel, in accordance with
some embodiments.
[0014] FIGS. 10A and 10B illustrate two example configurations of
implementing a quadrature-track pixel array together with an
index-track pixel array, in accordance with some embodiments.
[0015] FIG. 11 shows a flowchart of an example method of
determining a pixel partition map, in accordance with some
embodiments.
[0016] FIG. 12 shows a flowchart of an example method of operating
an optical encoder with configurable photodetector array, in
accordance with some embodiments.
DETAILED DESCRIPTION
[0017] The following disclosure provides many different
embodiments, or examples, for implementing different features of
the provided subject matter. Specific examples of components and
arrangements are described below to simplify the present
disclosure. These are, of course, merely examples and are not
intended to be limiting. Any alterations and further modifications
to the described devices, systems, methods, and any further
application of the principles of the present disclosure are fully
contemplated as would normally occur to one having ordinary skill
in the art to which the disclosure relates. For example, the
features, components, and/or steps described with respect to one
embodiment may be combined with the features, components, and/or
steps described with respect to other embodiments of the present
disclosure to form yet another embodiment of a device, system, or
method according to the present disclosure even though such a
combination is not explicitly shown. Further, for the sake of
simplicity, in some instances the same reference numerals are used
throughout the drawings to refer to the same or like parts.
[0018] The present disclosure is generally related to optical
detection system and methods thereof, more particularly to an
optical encoder with a configurable photodetector array and methods
for detecting and converting position information of a target
object to analog or digital output signals. For the purposes of
simplicity, the embodiments described herein will use a code wheel
(for rotary encoders) as an example of the target object, although
the scope of embodiments may include any suitable optical detection
of moving objects. For example, the principles in the present
disclosure can also be used for detecting linear movements (e.g., a
code strip for linear encoders). Various embodiments of the present
disclosure enable the use of a single IC design for encoder modules
of varying configurations without significant degradation of output
signal quality, thus enabling the lower cost arising from higher
volume and a simpler supply chain resulting from needing to manage
fewer IC part numbers.
[0019] Additionally, other embodiments may employ a magnetic
detector. However, for ease of illustration, the embodiments
described herein focus on optical detection, and it is understood
that such principles may be applied to magnetic detection
systems.
[0020] Optical encoders may include incremental encoders that are
used to track motion and can be used to determine position and
velocity. This can be either linear or rotary motion. Because the
direction can be determined, very accurate measurements can be
made. FIG. 1 depicts an embodiment of a transmissive rotary optical
encoder. Within FIG. 1, the region of a code wheel labeled
"alternating opaque and transparent regions" consists of one or
more tracks. In this example, a track is the set of all points on
the code wheel whose distance from the center of the shaft is
between an inner radius R1 and an outer radius R2, and the opaque
(e.g., bars) and transparent (e.g., slits) regions of the track are
arranged such that the track has discrete rotational symmetry of
order N about the shaft center, where N.gtoreq.1. One such track on
an incremental encoder is known as the quadrature track, whose
order of rotational symmetry is termed the pulses per revolution
(PPR) of the encoder system.
[0021] FIG. 2 depicts an example embodiment of a quadrature track.
The optical sensor integrated circuit (IC) in FIG. 1 contains a
plurality of photoactive areas, grouped into regions, such as A+,
A-, B+, and B- regions, and aligned to the quadrature track of the
code wheel (i.e. at a distance from the axis of code wheel rotation
between R1 and R2 of the quadrature track). Each of the A+, A-, B+,
and B- regions is composed of one or more discrete photoactive
areas connected in parallel (so that the photocurrents of the
parallel discrete photoactive areas are additive). A light emitter
(e.g., an LED) illuminates lights towards the photoactive areas.
The light would be blocked by the opaque regions of the track or
pass through the transparent regions and arrive at the photoactive
areas.
[0022] FIG. 3 depicts an example embodiment of the A+, A-, B+, and
B- regions of the optical sensor IC in a system with part of the
code wheel quadrature track superimposed. FIG. 4 depicts the
aggregate photocurrents of the A+, A-, B+, and B- regions as
depicted in FIG. 3 over a span of time assuming a constant code
wheel rotation rate (herein aggregate photocurrent is assumed to be
directly proportional to aggregate illuminated area). As can be
seen in FIG. 4, the photocurrent waveforms are periodic with period
1/(f.sub.CW*PPR), where f.sub.CW is the rotational frequency of the
code wheel and PPR is the order of rotational symmetry of the
quadrature track of the code wheel. Moreover, the photocurrent
waveforms are approximately sinusoidal and are in quadrature (i.e.
equal in magnitude and separated in phase by 90.degree.). The
scheme depicted in FIG. 3, where the photoactive areas on the
sensor IC alternate spatially between the A+, B+, A-, and B-
regions and are closely matched in size and position to the
geometries of the slits and bars in the quadrature track of the
code wheel, is known as a phased-array design. Because the geometry
of the code wheel quadrature-track slits and bars changes if the
code wheel configuration (radius and PPR) changes, a phased-array
design intended for use with a particular code wheel configuration
does not operate properly when used with a different code wheel
configuration. Furthermore, different code wheels may have
different slit shapes. In the illustrated embodiment, the slit
shape is regular, such as a pie-shaped with a radius at each end,
and different slits may have an identical slit shape. In various
other embodiments, a slit shape may be irregular, while different
slits on a same code wheel may further have different shapes.
Therefore, manufacturers of incremental encoders traditionally
require a different IC design for each different code wheel
configuration they deploy. For manufacturers that make many
different encoder modules in low-to-moderate volume with
configurations, this necessitates the purchase of many different
ICs in low-to-moderate volume. This results in a higher cost and
more complex supply chain than would be needed if the same IC may
be used for multiple encoder modules regardless of
configuration.
[0023] For example, if a customer normally supports 3 code wheel
radii and 4 different PPR per radii, then the customer would have
to maintain an inventory of 12 different ASICs (at least in
theory). It is therefore desired to enable the use of a single IC
design for encoder modules of varying configurations without
significant degradation of output signal quality, thus allowing the
lower cost arising from higher volume and a simpler supply chain
resulting from managing fewer IC part numbers. The principles in
this disclosure would allow the customer to inventory a single IC
for a multitude of code wheel radii and PPR, generally allowing a
lower cost position for the customer due to higher volumes and
reduced material handling.
[0024] FIG. 5 illustrates a configurable photodetector array and an
example of configured quadrature assignment to each photodetector
in the array, superimposed upon a code wheel's quadrature track.
The configurable photodetector array forms a photoactive area of
the IC. Each photodetector may include either a photodiode or a
phototransistor. For simplicity, a photodetector in the array is
also referred to as a photo pixel, or a pixel, and the configurable
photodetector array is also referred to as pixel array. The
photodetector in the illustrated embodiment is merely an example,
and is not intended to limit the present disclosure beyond what is
explicitly recited in the claims. The principle of the present
disclosure may also be applicable to a magnetic encoder. For
example, a magnetic encoder system may have a configurable
magnetic-field detector array to detect magnetic flux changes due
to modulation from a moving object, such as a code wheel or a code
stripe.
[0025] In an example pixel array, each pixel can be configured to
any one of the quadrature assignments (i.e., A+, A-, B+, B-). This
configuration can be done when the IC is powered up by reading from
a pixel partition map stored in a memory module, such as a
non-volatile memory. The configuration may also be updated
on-the-fly. For example, in FIG. 5, the pixel in the top left
corner is assigned B+ based on a pixel partition map fitted to a
particular code wheel configuration, while when the IC is installed
with a different code wheel, the pixel may be changed to A+, A-, or
B-, depending on a different pixel partition map. Or, during an
optical encoder operation, the system may determine to
incrementally change the pixel map on-the-fly, and this particular
pixel may be changed from B+ to A+, A-, or B-, together with some
other pixels in the pixel array. Also, there can be more than one
pixel array in the IC. In some embodiments, one or more tracks of
the code wheel are aligned to one or more pixel arrays.
[0026] In some embodiments, pixels configured with the same
quadrature assignments form photoactive regions in strip shapes. In
some embodiments, the pixels configured with the same quadrature
assignments form photoactive regions in mosaic shapes. The
assignment of the pixels is typically a consideration of the code
wheel's radius and PPR, and pixel array's shape, pixel numbers, and
spacing. In some embodiments, the consideration of pixel assignment
also includes installation misalignments between the IC and the
code wheel. In furtherance of some embodiments, the consideration
of pixel assignments includes correcting unbalanced currents or
gains, such as due to installation misalignments.
[0027] A pixel array may have a rectangular shape, a square shape,
or other shapes suitable. The shape of pixels may also be made
non-homogeneous within the pixel array. Having different size/shape
pixels may reduce total system noise. The rectangular, grid-based
pixels may produce a small amount of noise compared with an ideally
shaped detector that better matches the slit. Adjusting the shape
to round, elliptical, or rounded corners may reduce overall noise.
Further, changing the size of individual or groups of pixels may
also improve system noise at the expected cost of increased layout
complexity and increased modeling requirements to determine pixel
mapping.
[0028] A pixel array may include a plurality of pixels and a
plurality of lumped current-mode outputs. Referring to FIG. 6, each
pixel includes a photoactive area with at least two electrical
terminals, in which current flows between the first terminal
(connected to all pixels in the array, also as common terminal) and
the second terminal (unique to each pixel, also as individual
terminal) in proportion to the optical power incident to the
photoactive area. The second terminal is coupled to an electrical
switch (e.g., MUX). The electrical switch receives configuration
bits from control lines (e.g., a bus line, or an SRAM word line)
and routes the individual terminal of the photoactive area to one
of the lumped current-mode outputs, no more than one of which is
routed to the individual terminal at any given time. In this way,
each lumped current-mode output carries current equal to the sum of
the photocurrents in the photoactive areas of all pixels whose
switches to that output are closed. One or more memory bits are
used to select which electrical switch, if any, is to be closed,
along with any circuitry and connections used to control the
switches appropriately based on the states of the memory bits.
[0029] The pixels in a pixel array may be partitioned among the
various lumped current-mode outputs based upon the configuration of
the code wheel. Partitioning may be performed by writing to the
memory bits to control the switches. The pattern for the pixels is
based on the design of the code wheel in the system. In an example
embodiment, a process of simulation or experimentation is used to
determine the mapping for the pixels based on the code wheel radii
and the slit pattern, which will be discussed in more detail below.
The results are used by the system microcontroller to write into
the memory of the ASIC to set each pixel to the correct region.
[0030] For example, a pixel array may contain 64 rows by 32 columns
of pixels, a total of 2048 pixels. Each pixel requires two bits
(e.g., SRAM bits) to associate it to one of the four lump
quadrature track assignments. The system may use an 11-bit bus
address to select a pixel, and an extra 2 bits to select one of the
four lump quadrature track assignments.
[0031] In some embodiments, pixels can be set to off. An example
solution sets each pixel to one of the 4 primary regions: A+, B+,
A-, B-. It may be advantageous in some cases to turn individual
pixels off. This may be performed pixel-by-pixel or based on entire
rows or columns. This may allow the pixels to potentially more
closely match the code wheel pattern. Further, this capability may
allow better current balancing across the 4 main regions,
simplifying the design of the downstream blocks in the ASIC like
the transimpedance amplifiers (TIAs), filters, and comparators. One
implementation to shut a pixel off is to add one more control bit
to the MUX to select a status that none of the four lump current
mode outputs are coupled to the individual terminal.
[0032] In some embodiments, pixels may be set to some intensity
other than fully on. Normally pixels are fully on and assigned to
one of 4 regions. Pixels may be set for partial intensity allowing
a weighted current output, such as a half or quarter pixel to be
used, or even zero (i.e., pixel is off) with extra one or more
control bits. This intensity adjustment may potentially improve the
mapping of pixels in a fixed pattern to the slits in a code
wheel.
[0033] The lumped current outputs in this example are routed to
transimpedance amplifiers (TIAs), such as four single ended TIAs or
two differential TIAs. These amplifiers convert the current output
from the pixel array into voltage signals that can be used for
downstream processing. These TIAs are sized appropriately for the
current outputs from the 4 blocks. In an embodiment, The TIAs may
be highly linear in order to produce high-quality analog outputs
for the quadrature tracks. In another embodiment, the TIAs are
logarithmic, in order to accommodate a wide dynamic range of input
(e.g., when analog quadrature-track outputs aren't needed). The
transimpedance should be large enough to keep the angular position
error introduced by the amplifier's own internal noise and offset
of downstream comparators small, yet small enough to preserve good
linearity at full-scale input current. Each TIAs' instance may have
an adjustable current sink additive to its input, for offset
compensation. The current sink value for a particular instance may
be controlled by a control byte corresponding to that instance. The
adjustable current sink may include latches in which to store the
control bit(s) (e.g., a byte).
[0034] FIG. 7 shows a circuit diagram of an example interpolator
resistor ladder architecture that converts configurable
photodetector array's readings into analog output with
transimpedance amplifiers (TIAs). This is merely an example. Other
suitable implementations, such as other suitable number of
interpolator resistors (.gtoreq.2) and/or other suitable circuit
topology, may also be used. In the illustrated embodiment, this
block generates analog waveforms that are phase-shifted from the
filtered A+/A-/B+/B- TIA output waveforms by between 0.degree. and
90.degree. in equal steps of 5.625.degree. (=90.degree./16). By
digitally comparing appropriate interpolated waveforms, square
waves of up to 16.times. the frequency of the TIA outputs can be
generated for this example embodiment. The block consists of four
identical resistor ladders, each between the filtered outputs of
two of the four quadrature-track TIAs (A+, A-, B+, B-): one between
the B+ and A- filtered TIA outputs, one between the A- and B-
filtered TIA outputs, one between the B- and A+ filtered TIA
outputs, and the fourth between the A+ and B+ filtered TIA outputs.
Various other embodiments may be scaled as appropriate to provide
any number of steps.
[0035] FIG. 8 illustrates a block diagram of an example optical
encoder IC. After the TIA, the system may optionally contain a
filter to remove harmonics introduced by the non-ideal mapping of
pixels to code wheel slits. The filter is not strictly required and
can be inserted to improve overall performance. The non-ideal shape
of the mapped pixels compared to a phase-array may cause some
distortion of the signals. This filter may also be configurable to
adapt different operating speeds of the code wheel. Much of this
distortion can be corrected by applying a filter to reduce
harmonics. Other elements in the block diagram include but not
limited to interpolator, comparator, output drivers, and power
supply. Optical encoders generally offer either digital or analog
outputs and the pixel array enables both. In the case of analog
outputs, the 4 channels are sent to an external ADC where they are
sampled and sent to a signal processing chip/microcontroller to
determine position and rate of change. Digital outputs can be made
by running the analog signals through internal comparators in the
ASIC to produce a quadrature binary output that does not require an
external ADC. The capabilities of interpolation and decimation plus
analog/digital outputs are common to many encoders and are not
unique, nor are they restricted by the pixel array.
[0036] The encoder IC may also provide current control for the
companion light emitter (e.g., an LED), either driving at a
constant current over voltage/temperature or using feedback to
provide a constant optical power density. Either the pixel array or
a discrete detector may be used to monitor this feedback. This
concept is not specific to the pixel array other than the potential
use of a row or column to serve as the feedback mechanism.
Furthermore, a combination of pixel dithering and LED current drive
changes may provide improvement in detection of small changes.
[0037] FIGS. 9A and 9B shows some extension usage to the pixel
array, particularly an alignment check between an optical encoder
and a code wheel, according to an example embodiment. The example
pixel array may be used to either assist mechanical alignment of a
system, or to remap pixels to provide an equivalent mechanical
alignment, or both (or other). The pixels in the array may be set
to a unique pattern during the manufacturing process to aid with
alignment. Once the IC and PCB board have been locked in place
mechanically, the pixel array pattern may be modified to further
enhance performance. The theoretical pattern for the pixel array
assumes perfect (or near-perfect) alignment between the array and
the code wheel slits. The mechanical stackup (housing, PCB, chip
placement, die placement in chip) may cause a non-trivial error.
The in-situ performance of the system may be measured and a custom
pixel pattern may be calculated and used for each unique system
comprising mechanical and electrical components. Pixels may be
mapped into a quarter or row configuration and the outputs from the
regions compared while rotating the code disk. If the pixel array
was off-center from the code wheel, the analog outputs from the 4
pixel channels would be unbalanced indicating to the operator that
the array was mis-aligned and providing an indication of which
direction to move to better align the ASIC with the code wheel.
[0038] FIG. 9A illustrates a pixel array may assign all or part of
pixels into a ref_top region and a ref_bottom region, while
non-assigned pixels outside these two regions may be turned off.
The optical detector may determine the Y-direction misalignment by
comparing the current difference between these two regions.
Alternatively, in FIG. 9B, a pixel array may assign all or part of
pixels into a ref_left region and a ref_right region. Again, by
comparing current difference between these two regions, X-direction
misalignment can be derived. After this misalignment calibration,
the system may then tune the pixel partition map to compensate the
misalignment. The misalignment can be measured by the pixel array
or by a secondary (separate) pixel array. In some embodiment, the
misalignment is measured by a set of separate optical sensors.
[0039] Pixels may potentially be dithered during run time. Normally
pixels are set to a static configuration at startup. Having the
ability to shift a pixel from one region to another or to off, may
allow increased performance particularly at low rotation speeds.
Dithering is often done in signal processing to help interpolate
between adjacent values. This technique may be applied here. Such
embodiment may employ a second memory to set pixels and the ability
to switch between memories in a very short time. This may be
accomplished by a second register and a mux to select.
[0040] FIG. 10A shows a separate pixel array can be used for index
track purposes. Traditional encoders have had separate code wheel
tracks to provide index tracking: one pulse per revolution, or a
one-third identification of the code wheel location. The separate
array may be used for any of these purposes and may in some
instances be used for index track separately from configuration.
Alternatively, one pixel array can be partitioned into a
quadrature-track pixel region and an index-track pixel region, as
shown in FIG. 10B. Again, the index-track pixel region can be
converted to part of a larger quadrature-track pixel region during
run time, depending on system needs.
[0041] The optical encoder may be adapted for use in both
transmissive and reflective architectures. The description here is
for a transmissive design where the LED is on one side of the code
wheel and the detector is on the other. In a reflective design, the
LED sits on the same side with the detector IC, either on-chip or
off-chip with the detector IC, and reflects light off the code
wheel with reflective "slits" and non-reflective spaces. This
provides a smaller customer design. The pixel array supports both
transmissive and reflective architectures. In an exemplary
reflective design, the LED is on the same die with the detector IC.
In another exemplary reflective design, the LED and the detector IC
are on two separate devices (e.g., two dies) but physically
assembled together.
[0042] The concept can be applied to linear encoders as well as
rotary. In a linear design, the equivalent of code slits would be
on a linear axis and slide up/down the pixel array. The pixel array
would work equally well in that scenario. For example, in a linear
encoder embodiment the motion object may include pulses-per-length,
as opposed to a rotary encoder that uses radius and PPR.
[0043] The pixels may be constructed with configurations accessed
either from a random-access memory (RAM) or from a non-volatile
memory (NVM). In the case of RAM, a host microcontroller may set
each memory. Alternatively, the encoder ASIC may contain logic to
read from an external NVM or an internal NVM and set the memory
that way. Internal NVM may be programmable--i.e., flash, or may be
a one-time-programmable memory. The pixels may also be set using a
read-only memory (ROM) to store static pattern although that
reduces the advantage of customer flexibility. Customers with
sufficient volume may order a ROM pattern to eliminate the need to
configure the memory at run time.
[0044] FIG. 11 shows a flow chart of an example method 300 to
determine a pixel partition map for configuring the pixel array. A
physically separate computer system (e.g., a PC) and/or other
microcontroller unit(s) may execute the operations of method 300 by
reading code from a computer-readable medium and executing that
code to provide the functionality discussed herein. In an example
embodiment, method 300 is executed by a standalone computer system
(e.g., a PC) during a manufacturing operation, rather than by the
microcontroller unit in the encoder IC or during the encoder run
time. At operation 302, code wheel geometry characteristics are
collected from the setup of the code wheel, as stored in memory.
The code wheel geometry characteristics may include wheel radii,
PPR, and rotation speed (for example, as PPR increases, the mapping
of the pixels may look increasingly less like a traditional
phased-array configuration). Alternatively, if the motion object is
a code strip instead of the code wheel, the geometry
characteristics may include a pulse-per-length parameter of the
code strip. At operation 304, pixel array characteristics are
collected from the setup of the pixel array, as stored in memory.
The pixel array characteristics include pixel array dimensions
(e.g., row by column), pixel spacing, pixel shape, pixel size. The
pixel array characteristics may include X-/Y-direction misalignment
information in other embodiments.
[0045] At operation 306, the method 300 determines a pixel
partition map. The determining of a pixel partition map may rely on
calculating a threshold of different pixel partition maps, such as
a threshold of an error deviation from 100% precision. When a
candidate pixel partition map reaches the threshold, it may be
selected as the final pixel partition map. At operation 308, the
method 300 stores the pixel partition map to a memory module, such
as the memory module in the encoder IC.
[0046] FIG. 12 shows a flow chart of an example method 500 of
operating an optical encoder with pixel array. A microcontroller or
other processor of an encoder may execute the operations of method
500 by reading code from a computer-readable medium and executing
that code to provide the functionality discussed herein. At
operation 502, the optical encoder retrieves a pixel partition map
from a memory module after a power up. In an embodiment, the
optical encoder may run an internal state machine that reads an
external non-volatile memory to load the map. At operation 504,
each pixel in the pixel array is configured to a state defined in
the pixel partition map, for example the map defines each
individual pixels into the four quadrants discussed above. For
example, control signals may be applied to switches (e.g.,
multiplexors of FIG. 6) to couple each pixel with a respective
current line. At operation 506, the optical encoder performs an
optical detection, by collecting currents from different assigned
regions on the pixel array in response to a light emitter that is
modulated by a moving object, such as code slits rotating around a
linear axis or sliding up/down a linear strip.
[0047] In some embodiments, the retrieved pixel partition map is
for misalignment calibration purpose, and then the system may go
into operation 508 that measures and generates misalignment results
and followed by the operation 510 that re-computes a pixel
partition map for formal operation usage and write into the memory
module. Instead, the method 500 may go from operation 506 to
operation 512 directly to generate digital or analog outputs, such
as quadrature-track and/or index-track outputs, from the optical
measurement.
[0048] Although not intended to be limiting, one or more
embodiments of the present disclosure provide many benefits to an
optical encoder using configurable photodetector array. As most
conventional optical encoder designs use a fixed pattern phased
array for detectors, such pattern exactly matches a code wheel,
thus limiting the array to a specific size and PPR (pulse per
revolution) code wheel. These conventional phase arrays (4 channels
typically) are each routed to a dedicated amplifier channel.
[0049] In contrast, the pixel array described with respect to
various embodiments may have configurable pixels that may be set by
a memory to map to one of the four channels. The configurable
pixels may be set either by a host microcontroller, using an
internal non-volatile memory with a circuit to read and set, or by
using a masked ROM where the pixels are set in some factory
alignment configuration. However, various embodiments may use any
appropriate processor or memory. Furthermore, in-system
configurability is possible for some embodiments. Encoder
manufacturers may apply a patch in the field, updating the pixel
map after the product has been installed in the field. This patch
may improve or otherwise change performance characteristics.
[0050] Also, the lack of a visible phased-array pattern makes the
design less susceptible to cloning. Traditionally, a regular
phased-array can be observed under a microscope to determine size
of features thus allowing a competitor to copy the design. The
pixel array does not have any indication of mapping thus requiring
the I.sup.2C or other protocol stream to be interrupted in order to
determine which pixels are mapped to which quadrant. This would be
considerably more difficult to copy.
[0051] Moreover, the configurable pixel arrays may also allow a
customer to use same IC to develop a product portfolio of
difference performance levels, for example by setting different
thresholds in operation 306 of method 300 (FIG. 11) to limit an
optical encoder's precision level. Therefore, encoder manufacturers
may provide different performance/price points with a common set of
hardware including code wheel. Remapping the pixel array with a
common code wheel may allow different performance of the resulting
system. Encoder manufacturers may offer higher or lower price
points based on performance with identical hardware thus allowing
them to market their products differently.
[0052] The principle of the present disclosure may also be
applicable to a magnetic encoder as to an optical encoder. For
example, in a magnetic encoder, instead of a configurable
photodetector array including a plurality of photodetectors, the
system may have a configurable magnetic-field detector array
including a plurality of magnetic detectors. A magnetized part in
the emitter generates a magnetic flux. The configurable
magnetic-field detector detects changes of the magnetic flux
modulated by the moving object, such as a code wheel or a code
stripe. The other aspects of the magnetic encoder are similar to
what have been described above in the optical encoder and omitted
here for the sake of simplicity.
[0053] The foregoing outlines features of several embodiments so
that those skilled in the art may better understand the aspects of
the present disclosure. Those skilled in the art should appreciate
that they may readily use the present disclosure as a basis for
designing or modifying other processes and structures for carrying
out the same purposes and/or achieving the same advantages of the
embodiments introduced herein. Those skilled in the art should also
realize that such equivalent constructions do not depart from the
spirit and scope of the present disclosure, and that they may make
various changes, substitutions, and alterations herein without
departing from the spirit and scope of the present disclosure.
* * * * *