29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

RM0008<br />

General-purpose timer (TIMx)<br />

Figure 99.<br />

General-purpose timer block diagram<br />

Internal Clock (CK_INT)<br />

TIMx_ETR<br />

TIMxCLK from RCC<br />

ETR<br />

ITR0<br />

ITR1<br />

ITR2<br />

ITR3<br />

Polarity selection & edge<br />

detector & prescaler<br />

ITR<br />

TI1F_ED<br />

ETRP<br />

Input filter<br />

TRC<br />

ETRF<br />

TRGI<br />

TGI<br />

Trigger<br />

controller<br />

Slave<br />

mode<br />

controller<br />

TRGO<br />

to other timers<br />

to DAC/ADC<br />

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

TI1FP1<br />

TI2FP2<br />

Encoder<br />

Interface<br />

U<br />

Autoreload register<br />

UI<br />

Stop, clear or up/down<br />

CK_PSC PSC CK_CNT<br />

+/- CNT<br />

Prescaler<br />

counter<br />

U<br />

TIMx_CH1<br />

TIMx_CH2<br />

TIMx_CH3<br />

TIMx_CH4<br />

XOR<br />

TI1<br />

TI2<br />

TI3<br />

TI4<br />

Input filter &<br />

edge detector<br />

Input filter &<br />

edge detector<br />

Input filter &<br />

edge detector<br />

Input filter &<br />

edge detector<br />

TI1FP1<br />

TI1FP2<br />

TRC<br />

TI2FP1<br />

TI2FP2<br />

TRC<br />

TI3FP3<br />

TI3FP4<br />

TRC<br />

TI4FP3<br />

TI4FP4<br />

TRC<br />

IC1<br />

IC2<br />

IC3<br />

IC4<br />

CC1I<br />

U<br />

IC1PS<br />

Prescaler<br />

CC2I<br />

IC2PS U<br />

Prescaler<br />

CC3I<br />

U<br />

IC3PS<br />

Prescaler<br />

CC4I<br />

U<br />

IC4PS<br />

Prescaler<br />

Capture/compare 1 register<br />

Capture/compare 2 register<br />

Capture/compare 3 register<br />

Capture/compare 4 register<br />

ETRF<br />

CC1I<br />

OC1REF<br />

CC2I<br />

OC2REF<br />

CC3I<br />

OC3REF<br />

CC4I<br />

OC4REF<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<br />

Notes:<br />

Reg<br />

Preload registers transferred<br />

to active registers on U event<br />

according to control bit<br />

event<br />

interrupt & DMA output<br />

14.3 TIMx functional description<br />

14.3.1 Time-base unit<br />

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

register. The counter can count up, down or both up <strong>and</strong> down. The counter clock can be<br />

divided by a prescaler.<br />

The counter, the auto-reload register <strong>and</strong> 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 />

Doc ID 13902 Rev 9 321/995

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

Saved successfully!

Ooh no, something went wrong!