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 канала. |