ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
773166
Sl (08.08.2017 13:45, просмотров: 2520)
Вопрос по 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 и потом прочитать. Увы. В прочитанном слове этого бита нет. Вопрос. Как подключить внутренний цифровой фильтр? Всем откликнувшимся, большое спасибо!