09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

General-purpose timers (TIM2 to TIM5) <strong>RM0090</strong><br />

Figure 119. General-purpose timer block diagram<br />

TIMx_ETR<br />

TIMx_CH1<br />

TIMx_CH2<br />

TIMx_CH3<br />

TIMx_CH4<br />

Reg<br />

XOR<br />

Notes:<br />

event<br />

TI3<br />

TI1<br />

TI2<br />

TI4<br />

15.3 TIM2 to TIM5 functional description<br />

15.3.1 Time-base unit<br />

TIMxCLK from RCC<br />

The main block of the programmable timer is a 16-bit/32-bit counter with its related autoreload<br />

register. The counter can count up. The counter clock can be divided by a prescaler.<br />

The counter, the auto-reload register and the prescaler register can be written or read by<br />

software. This is true even when the counter is running.<br />

The time-base unit includes:<br />

● Counter Register (TIMx_CNT)<br />

● Prescaler Register (TIMx_PSC):<br />

● Auto-Reload Register (TIMx_ARR)<br />

419/1416 Doc ID 018909 Rev 3<br />

ITR0<br />

ITR1<br />

ITR2<br />

ITR3<br />

Input filter &<br />

edge detector<br />

Preload registers transferred<br />

to active registers on U event<br />

according to control bit<br />

interrupt & DMA output<br />

ETR<br />

Input filter &<br />

edge detector<br />

Input filter &<br />

edge detector<br />

Input filter &<br />

edge detector<br />

Internal Clock (CK_INT)<br />

TI1FP1<br />

TI2FP2<br />

U<br />

Autoreload register<br />

Stop, clear or up/down<br />

CK_PSC PSC<br />

Prescaler<br />

CK_CNT<br />

+/- CNT<br />

counter<br />

CC1I<br />

TI1FP1<br />

TI1FP2<br />

IC1<br />

U<br />

IC1PS<br />

Prescaler<br />

Capture/compare 1 register<br />

TRC<br />

TI2FP1<br />

TI2FP2<br />

TRC<br />

TI3FP3<br />

TI3FP4<br />

TRC<br />

TI4FP3<br />

TI4FP4<br />

TRC<br />

Polarity selection & edge<br />

detector & prescaler<br />

IC2<br />

IC3<br />

IC4<br />

ITR<br />

TI1F_ED<br />

ETRP<br />

Input filter<br />

TRC<br />

CC2I<br />

IC2PS U<br />

Prescaler<br />

CC3I<br />

U<br />

IC3PS<br />

Prescaler<br />

CC4I<br />

U<br />

IC4PS<br />

Prescaler<br />

ETRF<br />

TRGI<br />

TGI<br />

Trigger<br />

controller<br />

Encoder<br />

Interface<br />

Capture/compare 2 register<br />

Capture/compare 3 register<br />

Capture/compare 4 register<br />

ETRF<br />

Slave<br />

mode<br />

controller<br />

U<br />

TRGO<br />

Reset, enable, up/down, count,<br />

UI<br />

CC1I<br />

OC1REF<br />

CC2I<br />

OC2REF<br />

CC3I<br />

OC3REF<br />

CC4I<br />

OC4REF<br />

to other timers<br />

to DAC/ADC<br />

output<br />

control<br />

output<br />

control<br />

output<br />

control<br />

output<br />

control<br />

OC1<br />

OC2<br />

OC3<br />

OC4<br />

TIMx_CH1<br />

TIMx_CH2<br />

TIMx_CH3<br />

TIMx_CH4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!