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