Encoder intarface

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Encoder intarface

Сообщение baghear »

Добрый день, подключил энкодер к STM32 как описано в RM0008.
Figure 93 gives an example of counter operation, showing count signal generation and
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).
В след за примером идет график поясняющий работу, на нем видно, что счет ведется по обоим фронтам, а детектор фронтов должен срабатывать только по положительному(TIMx_CCER register, TI1FP1 non-inverted, TI1FP1=TI1)
Объясните пожалуйста почему так?
Вложения
Screenshot_8.png
(11.22 КБ) 261 скачивание
Реклама
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: Encoder intarface

Сообщение Neekeetos »

baghear писал(а):В след за примером идет график поясняющий работу, на нем видно, что счет ведется по обоим фронтам, а детектор фронтов должен срабатывать только по положительному(TIMx_CCER register, TI1FP1 non-inverted, TI1FP1=TI1) Объясните пожалуйста почему так?
А почему он должен срабатывать только по положительному?
● SMS=’011’ (TIMx_SMCR register, both inputs are active on both rising and fallingedges).
Вот это задает режим обработки входов таймера, ясно написано что обрабатываются все фронты, не только положительные.
● CC1P=’0’ (TIMx_CCER register, TI1FP1 non-inverted, TI1FP1=TI1).
● CC2P=’0’ (TIMx_CCER register, TI1FP2 non-inverted, TI1FP2= TI2).
А это просто задает полярность входа, при желании входные сигналы отображенные на картинке можно инвертировать выставив соответствующий флажок ССхP. При этом если инвертировать только один, то направление счета у энкодера поменяется.
Информация по RLC mini находится >тут<
Реклама
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Re: Encoder intarface

Сообщение baghear »

Детектор фронтов, там стоит мультиплексор, пропускает либо один фронт либо другой, взависимости от ССхР ,если он пропускает только фронт одной полярности, как он будет срабатывать по обоим?
Ответить

Вернуться в «ARM»