Tải bản đầy đủ (.ppt) (32 trang)

Vi điều khiển và ứng dụng OutputCompare

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (874.62 KB, 32 trang )

Chuyên đề II
Vi điều khiển và ứng dụng
Output Compare


OC with DsPIC

2


Chi tiết

3


Chức năng

4


Các chế độ hoạt động
 Single compare match mode,
 Dual compare match mode generating either one

output pulse or a sequence of output pulses,
 Pulse Width Modulation (PWM) mode.

5


Single compare match


 OCx pin is high, initial state is low, and interrupt is

generated,
 OCx pin is low, initial state is high, and interrupt is
generated,
 State of OCx pin toggles and interrupt is generated.

6


OCx pin is high control bits
OCM<2:0> are set to 001

7


OCx pin is low
OCM<2:0> are set to 010

8


Single compare match, pin
OCx toggles
OCM<2:0> areset to 011

9


Ví dụ


10


Dual compare match mode
 single pulse and an interrupt request,
 a sequence of pulses and an interrupt request.
 control bits OCM<2:0>are set to 100 or 101

11


Single output pulse at pin Ocx
OCM<2:0> are set to 100

12


Sequence of output pulses at pin Ocx
control bits OCM<2:0> are set to 101

13


Ví dụ

14


The Pulse Width Modulation

(PWM) Mode
 PWM mode without fault protection input
 PWM mode withfault protection input

15


PWM mode without fault
protection input
 Set the PWM period by writing to the selected timer






16

period register, PRy.
Set the PWM duty cycle by writing to the OCxRS
register.
Write the OCxR register with the initial duty cycle.
Enable interrupts for the selected timer.
Configure the output compare module for one of two
PWM operation modes by writing 100 to control bits
OCM<2:0>(OCxCON<2:0>).
Set the TMRy prescale value and enable the selected
time base.



PWM mode with fault
protection input pin
 Input pin OCxFA for the output compare channels 1 to

4
 Input pin OCxFB for the output compare channels 5 to
8
 If the input pin OCxFA or OCxFB is low, the inverter
is error

17


PWM period and duty cycle
calulation
 The PWM period,

TPWM=(PRy +1)TCY (TMRy prescale value),
and the PWM frequency by:
fPWM=1/TPWM.
 Example:
Calculation of the PWM period for a microcontroller having a 10MHz
clock with x4 PLL, Device clock rate is 40MHz. The instruction clock
frequency is FCY =FOSC/4, i.e. 10MHz. Timer 2 prescale setting is 4.
Calculate the PWM period for the maximum value
PR2=0xFFFF=65535.
TPWM =(65535+1) x 0.1µs x (4) =26.21 ms, i.e. fPWM =1/TPWM =
38.14 Hz.
18



PWM duty cycle
 If the duty cycle register,OCxR, is loaded with 0000,

the duty cycle is zero and pin OCx will remain low
throughout the PWM period.
 If the duty cycle register is greater that PRy, the output
pin OCx will remain high throughout the PWM period
(100% duty cycle).
 If OCxR is equal to PRy, the OCx pin will be high in
the first PWM cycle and low in the subsequent PWM
cycle

19


Ví dụ

20


Mạch D/A

21


Ví dụ sóng vuông

22



Ví dụ sóng hình thang

23


Sóng hình sin

24


A second order filter

25


×