Режим 1 внешнего тактирования.



Когда активирован external clock-source mode 1, любой сигнал, который может быть направлен на внутренний сигнал таймера TRGI, может использоваться также как такты счетчика таймера. Рис. 8 показывает возможные источники тактов для счетчика таймера:

• Входной сигнал ETRF: сигнал ETR после пред делителем синхронизируется и затем фильтруется.
• Внутренние сигналы синхронизации таймера (входы ITR).
• Сигнал TI1FD, который является выходом канала 1 таймера, но которые чувствительны к обоим перепадам сигнала (каждый перепад на входе таймера 1 генерирует импульс).
• Входные сигналы TI1FP1 и TI2FP2 синхронизируются, фильтруются, затем подаются соответственно на пред делительные входы таймера TI1 и TI2.

В этой секции рассматривается только external clock mode 1, когда внешний тактовый сигнал подается на таймер через один из его входов, другими словами, когда такты подаются на таймер через входы ETR, TI1 или TI2.

Использование входа ETR для таймера это альтернативная конфигурация для external clock-source mode 2, так что подробно она в этой секции не описывается. Соответствующее руководство содержит правильную конфигурацию для активации этой альтернативы тактирования.

Входы таймера, TI1 и TI2 в качестве источников тактов. Когда активирован external clock mode 1, только входы TI1 и TI2 могут использоваться для подачи тактового сигнала на счетчик таймера. Если в таймере не встроено 4 канала, в этом режиме входы TI3 и TI4 не могут тактировать таймер.

Тактовый сигнал, поступающий на входы таймера TI1 или TI2, сначала кондиционируется перед поступлением на счетчик. Кондиционирование входа осуществляется каскадом внешней синхронизации, затем сигнал проходит через пред делитель и каскад фильтрации.

Входной фильтр и пред делитель конфигурируются. Канал, связанный с целевым входом таймера, должен быть сконфигурирован как входной; затем те же самые управляющие битовые поля, используемые для конфигурирования входного канала, используются для конфигурирования входа внешнего сигнала тактов.

Ниже показана типовая последовательность конфигурирования входов TI1 или TI2 как входа для внешнего сигнала тактов:

1. Конфигурирование канала, связанного со входом таймера, на который подается внешний тактовый сигнал. Даже при том, что любое значение бит, кроме 00, записанное в поле capture/compare selection (CCxS), установит канал таймера в режим входа, правильное значение для конфигурации CCxS = 01.

Примечание: битовое поле записывается только когда связанный с ним канал таймера запрещен (когда сброшено битовое поле разрешения/запрета для этого канала в регистре TIMx_CCER, CCxE = 0.

2. Конфигурирование полярности активного перепада. Встроенные таймеры в некоторых микроконтроллерах STM32 имеют входы входы, чувствительные к спаду уровня, нарастанию уровня или к обоим перепадам (наподобие серии STM32F2); в других семействах STM32 встроенные таймеры имеют входы, чувствительные только для спада или нарастания уровня (наподобие серии STM32F1). Справочный документ руководства для каждого микроконтроллера STM32 указывает правильное значение для записи в битовые поля управления полярностью. В качестве примера, чтобы настроить вход таймера микроконтроллеров STM32F30x на чувствительность к обоим перепадам, битовые поля полярности для интересующего канала должны быть сконфигурированы как CCxP = 1 и CCxNP = 1.

3. Если необходимо, конфигурирование входного фильтра, связанного с интересующим каналом таймера, чтобы вырезать импульсы с длительностью, меньше чем указанное значение. Порог для отбрасывания или пропуска сходного импульса конфигурируется через битовое поле ICxF[3:0] в регистре TIMx_CCMRx, связанным с используемым каналом таймера.

4. После правильного сконфигурированного входа таймера с требуемыми параметрами, кондиционированный входной сигнал перенаправляется в счетчик таймера. Этот шаг осуществляется путем записи правильного значение в битовое поле выбора триггера TS[2:0], находящееся в регистре TIMx_SMCR. Например, если используется вход TI1 в качестве внешнего тактового входа, то правильная конфигурация должна быть TS[2:0]=101.

5. В завершение активируется режим 1 внешнего тактирования (external clock-source mode 1). Это делается записью правильного значение в битовое поле выбора slave/master (SMS) в регистре TIMx_SMCR. Обратите внимание, что это битовое поле имеет разную ширину для разных семейств микроконтроллеров STM32. Руководство пользователя задает правильное значение для записи в битовое поле SMS, чтобы активировать разные режимы тактирования. Например, для серии STM32F1 поле SMS имеет длину 3-бита и правильное значение для конфигурирования SMS[2:0] = 111, в то время как для микроконтроллеров STM32F30x битовое поле SMS длиной 4 бита, и правильное значение SMS[3:0] = 0111.

6. Установка битового поля CEN в регистре TIMx_CR1, чтобы разрешить счетчик таймера.

 

Рис. 13 показывает типовую последовательность счета счетчика таймера, когда таймер сконфигурирован для счета вверх. Содержимое счетчика равно null в момент установки битового поля CEN, и таймер получает внешнее тактирование в режиме 1 через вход TI1.

 

Рис. 13. Инкремент счетчика таймера (external clock mode 1).

Этот пример показывает, что сконфигурирован активный перепад нарастания уровня, где битовые поля управления фильтром и пред делителем сохранены в своем значении по умолчанию (в том состоянии, в каком они находятся после сброса). Рис. 10 также показывает эффект каскада ресинхронизации на входе TI1 таймера.

Есть задержка между фронтом нарастания уровня тактового сигнала на входе TI1 таймера и фронтом нарастания уровня внутреннего подсчитываемого сигнала, который поступает на счетчик таймера CK_CNT. В этом примере регистр пред делителя TIMx_PSC равен null, поэтому сигнал CK_CNT такой же, как и сигнал CK_PSC (CK_CNT = CK_PSC).

Из-за каскада ресинхронизации требуется, чтобы частота внешних тактов была в 3 раза меньше внутренней частоты тактирования ядра таймера, как показано следующей формулой:

TIMxCLKfreq ≥ 3 x ITxfreq

 


Дата добавления: 2020-01-07; просмотров: 204; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!