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).

Bits 15:12
IC2F[3:0]
Input capture 2 filter
Определяет частоту выборки сигнала 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

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

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

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

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

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

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

Bits 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)

Bits 7:4
IC1F[3:0]
Input capture 1 filter
Определяет частоту выборки сигнала 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

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

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

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

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

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

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

Bits 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 */