Project

General

Profile

R1 GPTIM » History » Version 3

krufter_multiclet, 06/16/2015 01:44 PM

1 1 krufter_multiclet
h1. Таймер общего назначения Мультиклет R1
2 1 krufter_multiclet
3 1 krufter_multiclet
Краткие характеристики:
4 1 krufter_multiclet
* представляет собой декрементирующий 32-х битный счетчик;
5 1 krufter_multiclet
* предделитель 16 бит;
6 1 krufter_multiclet
* однократный и непрерывный режимы счета.
7 1 krufter_multiclet
8 1 krufter_multiclet
Исполнительная часть таймера состоит из предделителя и таймера. Предделитель и таймер представляют собой декрементирующие счетчики с регистрами начальных значений, из которых оно загружается в счетчик после достижения им значения -1.
9 1 krufter_multiclet
10 1 krufter_multiclet
*Алгоритм работы*
11 1 krufter_multiclet
Таймер начинает счет после установки бита TIMxCR(EN) = 1. Внутренний тактовый сигнал после предделителя подается на счетчик таймера. Как только его значение становится -1, формируется запрос обработки прерывания - бит TIMxCR(IP) принимает значение = 1, значение TIMxCNTPER(CNTPER) загружается в регистр текущего значения счетчика TIMxCNTVAL(CNTVAL). Если установлен непрерывный режим работы счетчика (бит TIMxCR(RS) = 1), то эти события периодически повторяются. Если установлен однократный режим работы (бит TIMxCR(RS) = 0), то возобновление счета не происходит, счетчик не декрементируется.
12 1 krufter_multiclet
13 1 krufter_multiclet
В любой момент таймер может быть перезагружен его начальным значением, при установке бита TIMxCR(LD) = 1.
14 1 krufter_multiclet
15 1 krufter_multiclet
Период таймера можно вычислить по следующей формуле:
16 1 krufter_multiclet
        *Tgptim=T_sys * (PSCPER+1) * CNTPER*, PSCPER >= 2(для 2-х канального таймера) и PSCPER >= 4(для 4-х канального таймера).
17 1 krufter_multiclet
Следует особо обратить внимание на то, что значение TIMxPSCPER(PSCPER) должно быть меньше 2(или 4), даже если туда записать такое значение.
18 2 krufter_multiclet
19 3 krufter_multiclet
GPTIM0 - 4 канала, GPTIM1 - 2 канала, GPTIM2 - 4 канала, GPTIM3 - 2 канала.