TIMx capture/compare mode register 1 (TIMx_CCMR1) - Input capture mode

Первый регистр режимов захвата/сравнения таймеров TIM2-TIM5 - режим захвата входных данных

Смещение (Address offset): 0x18

Reset value: 0x0000

15141312111098
IC2F[3:0] IC2PSC[1:0] CC2S[1:0]
rwrwrwrwrwrwrwrw
00000000
76543210
IC1F[3:0] IC1PSC[1:0] CC1S
rwrwrwrwrwrwrwrw
00000000


Каждый канал может быть настроен на ввод - режим захвата (capture mode) или на вывод - режим сравнения (compare mode). Направление работы канала определяется настройкой битов CCxS[1:0]. Остальные биты этого регистра выполняют разные функции в режимах ввода или вывода.

Ниже описаны функции битов регистра при настройке канала на ввод - режим захвата входных данных (capture mode).



Биты
Имя
Описание
15:12
IC2F[3:0]
Input capture 2 filter
Частота выборки сигнала и длина цифрового фильтра 2
Определяет частоту выборки сигнала TI2 и длину цифрового фильтра, применяемого к TI2. Цифровой фильтр состоит из счетчика событий, в котором для подтверждения перехода на выходе требуется N последовательных событий:

 0000 : fsampling = fdts;  фильтра нет

 0001 : fsampling = fck_int;  N = 2

 0010 : fsampling = fck_int;  N = 4

 0011 : fsampling = fck_int;  N = 8

 0100 : fsampling = fdts/2;  N = 6

 0101 : fsampling = fdts/2;  N = 8

 0110 : fsampling = fdts/4;  N = 6

 0111 : fsampling = fdts/4;  N = 8

 1000 : fsampling = fdts/8;  N = 6

 1001 : fsampling = fdts/8;  N = 8

 1010 : fsampling = fdts/16;  N = 5

 1011 : fsampling = fdts/16;  N = 6

 1100 : fsampling = fdts/16;  N = 8

 1101 : fsampling = fdts/32;  N = 5

 1110 : fsampling = fdts/32;  N = 6

 1111 : fsampling = fdts/32;  N = 8

11:10
IC2PSC[1:0]
Input capture 2 prescaler
Предделитель на входе канала 2 таймера

Определяет коэффициент деления сигнала IC2 на входе регистра захвата/сравнения TIMx_CCR2. Коэффициент деления сбрасывается при отключении захвата входного сигнала:

 00 : предделитель отключен. захват выполняется на каждом активном фронте (событии) входного сигнала.

 01 : захват выполняется за 2 входных события

 10 : захват выполняется за 4 входных события

 11 : захват выполняется за 8 входных событий

9:8
CC2S[1:0]
Capture/Compare 2 selection
Определяет направление канала и используемый входной сигнал

 00 : канал настроен на выход

 01 : канал настроен на вход, входной сигнал TI2

 10 : канал настроен на вход, входной сигнал TI1

 11 : канал настроен на вход, входной сигнал TRC. Этот режим работает если выбран вход внутреннего триггера (биты TS[2:0] регистра TIMx_SMCR)

Биты CC2S[1:0] доступны для записи только при выключенном канале (CC2E=0 в TIMx_CCER)

7:4
IC1F[3:0]
Input capture 1 filter
Частота выборки сигнала и длина цифрового фильтра 1
Определяет частоту выборки сигнала TI1 и длину цифрового фильтра, применяемого к TI1. Цифровой фильтр состоит из счетчика событий, в котором для подтверждения перехода на выходе требуется N последовательных событий:

 0000 : fsampling = fdts;  фильтра нет

 0001 : fsampling = fck_int;  N = 2

 0010 : fsampling = fck_int;  N = 4

 0011 : fsampling = fck_int;  N = 8

 0100 : fsampling = fdts/2;  N = 6

 0101 : fsampling = fdts/2;  N = 8

 0110 : fsampling = fdts/4;  N = 6

 0111 : fsampling = fdts/4;  N = 8

 1000 : fsampling = fdts/8;  N = 6

 1001 : fsampling = fdts/8;  N = 8

 1010 : fsampling = fdts/16;  N = 5

 1011 : fsampling = fdts/16;  N = 6

 1100 : fsampling = fdts/16;  N = 8

 1101 : fsampling = fdts/32;  N = 5

 1110 : fsampling = fdts/32;  N = 6

 1111 : fsampling = fdts/32;  N = 8

3:2
IC1PSC[1:0]
Input capture 1 prescaler
Предделитель на входе канала 1 таймера

Определяет коэффициент деления сигнала IC1 на входе регистра захвата/сравнения TIMx_CCR1. Коэффициент деления сбрасывается при отключении захвата входного сигнала:

 00 : предделитель отключен. захват выполняется на каждом активном фронте (событии) входного сигнала.

 01 : захват выполняется за 2 входных события

 10 : захват выполняется за 4 входных события

 11 : захват выполняется за 8 входных событий

1:0
CC1S[1:0]
Capture/Compare 1 selection
Определяет направление канала и используемый входной сигнал

 00 : канал настроен на выход

 01 : канал настроен на вход, входной сигнал TI1

 10 : канал настроен на вход, входной сигнал TI2

 11 : канал настроен на вход, входной сигнал TRC. Этот режим работает если выбран вход внутреннего триггера (биты TS[2:0] регистра TIMx_SMCR)

Биты CC1S[1:0] доступны для записи только при выключенном канале (CC1E=0 в TIMx_CCER)



/******************  Bit definition for TIM_CCMR1 register  *******************/

#define  TIM_CCMR1_IC1PSC     ((uint16_t)0x000C)     /* IC1PSC[1:0] bits (Input Capture 1 Prescaler) */
#define  TIM_CCMR1_IC1PSC_0   ((uint16_t)0x0004)     /* Bit 0 */
#define  TIM_CCMR1_IC1PSC_1   ((uint16_t)0x0008)     /* Bit 1 */

#define  TIM_CCMR1_IC1F       ((uint16_t)0x00F0)     /* IC1F[3:0] bits (Input Capture 1 Filter) */
#define  TIM_CCMR1_IC1F_0     ((uint16_t)0x0010)     /* Bit 0 */
#define  TIM_CCMR1_IC1F_1     ((uint16_t)0x0020)     /* Bit 1 */
#define  TIM_CCMR1_IC1F_2     ((uint16_t)0x0040)     /* Bit 2 */
#define  TIM_CCMR1_IC1F_3     ((uint16_t)0x0080)     /* Bit 3 */

#define  TIM_CCMR1_IC2PSC     ((uint16_t)0x0C00)     /* IC2PSC[1:0] bits (Input Capture 2 Prescaler) */
#define  TIM_CCMR1_IC2PSC_0   ((uint16_t)0x0400)     /* Bit 0 */
#define  TIM_CCMR1_IC2PSC_1   ((uint16_t)0x0800)     /* Bit 1 */

#define  TIM_CCMR1_IC2F       ((uint16_t)0xF000)     /* IC2F[3:0] bits (Input Capture 2 Filter) */
#define  TIM_CCMR1_IC2F_0     ((uint16_t)0x1000)     /* Bit 0 */
#define  TIM_CCMR1_IC2F_1     ((uint16_t)0x2000)     /* Bit 1 */
#define  TIM_CCMR1_IC2F_2     ((uint16_t)0x4000)     /* Bit 2 */
#define  TIM_CCMR1_IC2F_3     ((uint16_t)0x8000)     /* Bit 3 */