Project

General

Profile

R1 GPTIM » History » Version 2

Version 1 (krufter_multiclet, 06/16/2015 12:58 PM) → Version 2/3 (krufter_multiclet, 06/16/2015 01:44 PM)

h1. Таймер общего назначения Мультиклет R1

Краткие характеристики:
* представляет собой декрементирующий 32-х битный счетчик;
* предделитель 16 бит;
* однократный и непрерывный режимы счета.

Исполнительная часть таймера состоит из предделителя и таймера. Предделитель и таймер представляют собой декрементирующие счетчики с регистрами начальных значений, из которых оно загружается в счетчик после достижения им значения -1.

*Алгоритм работы*
Таймер начинает счет после установки бита TIMxCR(EN) = 1. Внутренний тактовый сигнал после предделителя подается на счетчик таймера. Как только его значение становится -1, формируется запрос обработки прерывания - бит TIMxCR(IP) принимает значение = 1, значение TIMxCNTPER(CNTPER) загружается в регистр текущего значения счетчика TIMxCNTVAL(CNTVAL). Если установлен непрерывный режим работы счетчика (бит TIMxCR(RS) = 1), то эти события периодически повторяются. Если установлен однократный режим работы (бит TIMxCR(RS) = 0), то возобновление счета не происходит, счетчик не декрементируется.

В любой момент таймер может быть перезагружен его начальным значением, при установке бита TIMxCR(LD) = 1.

Период таймера можно вычислить по следующей формуле:
*Tgptim=T_sys * (PSCPER+1) * CNTPER*, PSCPER >= 2(для 2-х канального таймера) и PSCPER >= 4(для 4-х канального таймера).
Следует особо обратить внимание на то, что значение TIMxPSCPER(PSCPER) должно быть меньше 2(или 4), даже если туда записать такое значение.

GPTIM0 - 4 канала, GPTIM1 - 2 канала, GPTIM3 - 4 канала, GPTIM3 - 2 канала.