Управление на CCP модулите - 9 лекция

Компютърна и комуникационна техника Презентация

Слайд 1

Управление на CCP модулите

Слайд 2

Функционални възможности на модулите CCP1 и CCP2
Всеки модул Хронометър/Сравнение/ШИМ (CCP – Capture Compare Pulse Wide Modulation) съдържа 16битов регистър, който може да работи като:
16битов регистър хронометър;
16битов регистър за сравнение;
PWM управляващ/управляван регистър.
Модул CCP1:
CCPR1L (младши байт) и CCPR1H (старши байт).
Регистърът CCP1CON управлява операциите на модула.
Специалното събитие тригер се генерира при съвпадение на сравняваните стойности и нулира Таймер 1.
Модул CCP2:
CCPR2L (младши байт) и CCPR2H (старши байт).
Регистърът CCP2CON управлява операциите на модула.
Специалното събитие тригер се генерира при съвпадение на сравняваните стойности, като установява Таймер 1 в начално състояние и стартира A/D преобразуването.

Слайд 3

Функционални възможности на режим хронометър
Хронометър (Capture) се нарича устройство, което измерва времето между два определени момента.

Prescaler
+1 ,4 ,16

RC2/CCP1
извод

Qrs

CCP1CON<3:0>

Capture

Enable

Set Flag bit CCP1IF
(PIR 1<2>)

CCPR1H

CCPR1L

TMR1H

TMR1L

Слайд 4

Програмиране на режим хронометър
Таймер 1 трябва да работи в режим таймер или синхронизиран брояч.
Когато режимът хронометър се променя, може да се генерира фалшиво събитие за прекъсване. Потребителят трябва да държи бита CCP1IE (PIE1<2>) нулиран, за да предотврати това фалшиво прекъсване и е необходимо да нулира флаговия бит CCP1IF след всяка промяна в режима на работа.
Всеки сигнал RESET нулира брояча на прескалера. Превключването от един прескалер към друг може да генерира прекъсване. Затова при промяна на прескалера се изключва CCP модула.
Пример:
CLRF CCP1CON ; Изключва CCP модула
MOVLW NEW_CAPT_PS ; Зарежда W с новия ; прескалер и CCP ON
MOVWF CCP1CON ; Зарежда CCP1CON с тази ; стойност

Слайд 5

Функционални възможности на режим сравнение
Сравнение (Compare) се нарича операция, която индицира по определен начин еднаквостта в съдържанието на два регистъра.

извод
RC2/CCP1

Q R

S

Изходна
логика
Компаратор

TRISC<2>
Разрешаване на изхода
CCP1CON<3:0>
Избор на режим

Съвпадение

Специално събитие тригер
Установяване на флага CCP1IF (PIR 1<2>)

CCPR1H

CCPR1L

TMR1H

TMR1L

Специалното събитие тригер ще ресетне Timer 1, установи флаговия бит TMR1IF(PIR<0>) и установи бита GO/DONE (ADCON0<2>)

Слайд 6

Програмиране на режим сравнение
Конфигурация на изводите CCP:
RC2/CCP1 - изход чрез нулиране на бита TRISC<2>;
Нулирането на регистъра CCP1CON превключва CCP1/PWM изхода към ниско ниво по подразбиране.
Избор на режим на Таймер 1: Таймер 1 трябва да работи в режим таймер или синхронизиран брояч.
Режим на софтуерно прекъсване: Когато е избран режим на софтуерно прекъсване, CCP1 изводът не се изменя.
Специално събитие тригер: В този режим хардуерно се генерира специално събитие, наречено тригер, което може да се използва за начало на някакво действие.
Изходът от специалното събитие тригер в модула CCP1 нулира двойката регистри TMR1. Това позволява регистърът CCPR1 ефективно да бъде 16битов програмируем период на модула Таймер 1.
Изходът от специалното събитие тригер в модула CCP2 нулира двойката регистри TMR1 и стартира A/D преобразованието (ако A/D модулът е разрешен).

Слайд 7

Функционални възможности на режим PWM
Изводите изработват PWM (Pulse Wide Modulation) - широчинно-импулсна модулация с до 10бита резолюция.
За да се направи изводът CCP1 изход, битът TRISC<2> трябва да се нулира. Това се налага от факта, че CCP1 изводът е мултиплексиран с данни от PORTC.

Определение: Широчинно импулсна модулация е модулация, при която широчината на импулса е пропорционална на амплитудата на модулиращия сигнал.

Слайд 8

Функционални възможности на режим широчинно-импулсна модулация
Когато TMR2 = PR2, през следващия цикъл се извършват следните три събития:
TMR2 се нулира;
изводът CCP1 се вдига в единица (изключение: при работен цикъл на PWM = 0%, изводът CCP1 няма да се установи);
работният цикъл на PWM се прехвърля от CCPR1L в CCPR1H.

R Q
S
RC2/CCP1
TRISC<2>
Компаратор

Компаратор

PR2

CCP1CON< 5: 4 >

Нулира таймера, извода CCP1 и
поддържа постоянна стойност.

Забележка 1: 8-битовият таймер се свързва с 2-битовия вътрешен Q такт, или 2 бита от прескалера, за да се създаде 10-битова стойност
Регистър на продължи-
телността на импулса

Слайд 9

Стъпки при програмиране на CCP модула в режим PWM:
Установяване на периода на PWM чрез запис в регистъра PR2.
Установяване на работния ход на PWM чрез запис в регистъра CCPR1L и битовете CCP1CON<5:4>.
Конфигуриране на извода CCP1 като изход чрез нулиране на бита TRISC<2>.
Установяване стойността на прескалера на TMR2 и разрешаване на таймер2 чрез запис в T2CON.
Конфигуриране на CCP1 модула за PWM операция.

Слайд 10

Програмиране на режим PWM
ТPWM = [(PR2) + 1] * 4 * TOSC * PVTMR2
FPWM = 1 / ТPWM
t = (CCPR1L:CCP1CON<5:4>) * TOSC * PVTMR2



Duty Cycle

Period
TMR2=PR2 (Timer 2 RESET)

TMR2=Duty Cycle

TMR2=PR2 (Timer 2 RESET)

Слайд 11

Пример за честоти и резолюция на PWM при 20 MHz
ТPWM = [(PR2) + 1] * 4 * TOSC * PVTMR2 =
256*4*0,05*10-6*16 = 819,2*10-6
FPWM = 1 / ТPWM = = 106/819,2 = 1,22 kHz
(при TOSC = 20 MHz - TOSC = 1/(20*106) = 0,05*10-6s)

Преглед на началото - целият файл след изтегляне

Описание

Асемблер - машинен език! Дисциплина: Едночипови микрокомпютри

0 коментара

Все още няма коментари. Бъдете първият, който ще коментира.

За да коментирате, трябва да сте влезли в профила си.

Влезте