LM3S818 Luminary Micro, Inc, LM3S818 Datasheet - Page 346
LM3S818
Manufacturer Part Number
LM3S818
Description
Lm3s818 Arm Microcontroller
Manufacturer
Luminary Micro, Inc
Datasheet
1.LM3S818.pdf
(392 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
LM3S818-EQN50-C2
Manufacturer:
Texas Instruments
Quantity:
10 000
Company:
Part Number:
LM3S818-EQN50-C2T
Manufacturer:
MICRON
Quantity:
1 200
Company:
Part Number:
LM3S818-EQN50-C2T
Manufacturer:
Texas Instruments
Quantity:
10 000
Company:
Part Number:
LM3S818-IGZ50-C2
Manufacturer:
TI
Quantity:
82
Company:
Part Number:
LM3S818-IQN50-C2T
Manufacturer:
Texas Instruments
Quantity:
10 000
- Current page: 346 of 392
- Download datasheet (3Mb)
Quadrature Encoder Interface (QEI)
346
The period of the timer is configurable by specifying the load value for the timer in the QEILOAD
register. When the timer reaches zero, an interrupt can be triggered, and the hardware reloads the
timer with the QEILOAD value and continues to count down. At lower encoder speeds, a longer
timer period is needed to be able to capture enough edges to have a meaningful result. At higher
encoder speeds, both a shorter timer period and/or the velocity predivider can be used.
The following equation converts the velocity counter value into an rpm value:
rpm = (clock * (2 ^ VelDiv) * Speed * 60) ÷ (Load * ppr * edges)
where:
clock is the controller clock rate
ppr is the number of pulses per revolution of the physical encoder
edges is 2 or 4, based on the capture mode set in the QEICTL register (2 for CapMode set to 0
and 4 for CapMode set to 1)
For example, consider a motor running at 600 rpm. A 2048 pulse per revolution quadrature
encoder is attached to the motor, producing 8192 phase edges per revolution. With a velocity
predivider of ÷1 (VelDiv set to 0)and clocking on both PHA and PHB edges, this results in 81,920
pulses per second (the motor turns 10 times per second). If the timer were clocked at 10,000 Hz,
and the load value was 2,500 (¼ of a second), it would count 20,480 pulses per update. Using the
above equation:
rpm = (10000 * 1 * 20480 * 60)
Now, consider that the motor is sped up to 3000 rpm. This results in 409,600 pulses per second, or
102,400 every ¼ of a second. Again, the above equation gives:
rpm = (10000 * 1 * 102400 * 60) ÷ (2500 * 2048 * 4) = 3000 rpm
Care must be taken when evaluating this equation since intermediate values may exceed the
capacity of a 32-bit integer. In the above examples, the clock is 10,000 and the divider is 2,500;
both could be predivided by 100 (at compile time if they are constants) and therefore be 100 and
25. In fact, if they were compile-time constants, they could also be reduced to a simple multiply by
4, cancelled by the ÷4 for the edge-count factor.
Important:
The division can be avoided by selecting a timer load value such that the divisor is a power of 2; a
simple shift can therefore be done in place of the division. For encoders with a power of 2 pulses
per revolution, this is a simple matter of selecting a power of 2 load value. For other encoders, a
load value must be selected such that the product is very close to a power of two. For example, a
100 pulse per revolution encoder could use a load value of 82, resulting in 32,800 as the divisor,
which is 0.09% above 2
divide in most cases. If absolute accuracy were required, the controller’s divide instruction could
be used.
The QEI module can produce a controller interrupt on several events: phase error, direction
change, reception of the index pulse, and expiration of the velocity timer. Standard masking, raw
interrupt status, interrupt status, and interrupt clear capabilities are provided.
Reducing constant factors at compile time is the best way to control the intermediate
values of this equation, as well as reducing the processing requirement of computing
this equation.
14
; in this case a shift by 15 would be an adequate approximation of the
Preliminary
÷
(2500 * 2048 * 4) = 600 rpm
February 6, 2007
Related parts for LM3S818
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
Part Number:
Description:
Lm3s1110 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1133 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1138 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1150 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1162 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1165 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1332 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1435 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1439 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1512 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1538 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1601 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1607 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet:
Part Number:
Description:
Lm3s1608 Arm Microcontroller
Manufacturer:
Luminary Micro, Inc
Datasheet: