Sl (08.08.2017 13:45, просмотров: 2627)
Вопрос по STM32F7xxx TIM2/3/4/5 Я делаю ШИМ на счетчиках TIM2/3/4/5. Все работает, но есть проблемы.
Счетчики одинаковые, кроме того, что TIM2/5 32 битные а TIM3/4 16 битные. И описание для них общее. Там описывается возможность подключения внешнего сигнала TIMx_ETR, с помощью которого можно внешним(по отношению к процессору выключать ШИМ). Конечно, после соответствующей инициализации счетчиков.
Проблема 1.
Для счетчиков 2, 3, 4, в Datasheet можно найти выводы процессора, которые для этого предназначены.
Datasheet - production data. STM32F745xx STM32F746xx. DocID027590 Rev 4. Table 10, 12.
Это:
-TIM2_ETR/PA0 или TIM2_ETR/PA5
-TIM3_ETR/PD2
-TIM4_ETR/PE0
Проверено на TIM2/3/4. Работает. На эти выходы я подавал сигнал и ШИМ приостанавливался, на время действия сигнала.
А для счетчика 5 такого вывода нет!!!
Хотя, если посмотреть схему документацию на STM32F205xx_7xx, то там есть такой вывод!!!
Это, TIM5_ETR/PH10 - альтернативная функция - AF2.
Попытка использовать PH10 как вход, запрещающий PWM для TIM5, положительного результата не дали.
Кто нибудь знает решение этой проблемы?
Использование PH10(или других) как входа внешнего прерывания не предлагать
Проблема 2.
Для того же входного сигнала, который на аппаратном уровне выключает PWM, внутри процессора предусмотрен цифровой фильтр. Можно выбирать частоту сэмплирования и количество импульсов, внутри которых не обработанный входной сигнал должен быть постоянным. В Reference Manual сказано, если бит TIMx->SMCR.OCCS = 1 то внешний сигнал (например, TIM2_ETR/PA0 для TIM2) прежде чем включить/выключить PWM внутри процессора проходит через цифровой фильтр. Если бит TIMx->SMCR.OCCS = 0 то цифровой фильтр не используется.
Reference manual. DocID026670 Rev 6. page 733
“OCREF_CLR_INPUT can be selected between the OCREF_CLR input and ETRF (ETR after the filter) by configuring the OCCS bit in the TIMx_SMCR register.”
Пошагово выполняю инициализацию счетчика в IAR Embedded Workbench 8.0. А бита TIMx->SMCR.OCCS нет и записать туда 1 не получается!!!
Была у меня гипотеза, что IAR “не знает” об этом бите, но реально он есть. Пытался туда записать 1 и потом прочитать. Увы. В прочитанном слове этого бита нет.
Вопрос. Как подключить внутренний цифровой фильтр?
Всем откликнувшимся, большое спасибо!