RM0091
Encoder interface mode acts simply as an external clock with direction selection. This
means that the counter just counts continuously between 0 and the auto-reload value in the
TIMx_ARR register (0 to ARR or ARR down to 0 depending on the direction). So you must
configure TIMx_ARR before starting. in the same way, the capture, compare, prescaler,
repetition counter, trigger output features continue to work as normal. Encoder mode and
External clock mode 2 are not compatible and must not be selected together.
In this mode, the counter is modified automatically following the speed and the direction of
the incremental encoder and its content, therefore, always represents the encoder's
position. The count direction correspond to the rotation direction of the connected sensor.
The table summarizes the possible combinations, assuming TI1 and TI2 don't switch at the
same time.
Table 43.
Active edge
Counting on
TI1 only
Counting on
TI2 only
Counting on
TI1 and TI2
An external incremental encoder can be connected directly to the MCU without external
interface logic. However, comparators are normally be used to convert the encoder's
differential outputs to digital signals. This greatly increases noise immunity. The third
encoder output which indicate the mechanical zero position, may be connected to an
external interrupt input and trigger a counter reset.
Figure 84
direction control. It also shows how input jitter is compensated where both edges are
selected. This might occur if the sensor is positioned near to one of the switching points. For
this example we assume that the configuration is the following:
●
CC1S='01' (TIMx_CCMR1 register, TI1FP1 mapped on TI1).
●
CC2S='01' (TIMx_CCMR2 register, TI1FP2 mapped on TI2).
●
CC1P='0' (TIMx_CCER register, TI1FP1 non-inverted, TI1FP1=TI1).
●
CC2P='0' (TIMx_CCER register, TI1FP2 non-inverted, TI1FP2= TI2).
●
SMS='011' (TIMx_SMCR register, both inputs are active on both rising and falling
edges).
●
CEN='1' (TIMx_CR1 register, Counter enabled).
Counting direction versus encoder signals
Level on
opposite
signal (TI1FP1
for TI2, TI2FP2
for TI1)
High
Low
High
Low
High
Low
gives an example of counter operation, showing count signal generation and
Doc ID 018940 Rev 1
TI1FP1 signal
Rising
Falling
Down
Up
Up
Down
No Count
No Count
No Count
No Count
Down
Up
Up
Down
Advanced-control timers (TIM1)
TI2FP2 signal
Rising
No Count
No Count
Up
Down
Up
Down
Falling
No Count
No Count
Down
Up
Down
Up
257/742
Need help?
Do you have a question about the STM32F05 series and is the answer not in the manual?