Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
1/6

Tutorial no 06.01
Gi n:

on Hip, www.picvietnam.com

Ni dung:

S dng cc module ADC v MCPWM ca dsPIC


MICROSOFT WORD

Tm tt:
y l tutorial 5 v lp trnh vi dsPIC. Tutorial ny hng dn cch s dng module ADC v
MCPWM ca dsPIC, l nhng module ngoi vi c sn trong cc chip dsPIC. Cc v d c vit
bng hp ng v ngn ng C (dng trnh dch C30 Compiler ca Microchip), v trong a s trng
hp hai phin bn hp ng v C30 l hon ton tng ng.

1. Gii thiu
Tutorial ny gii thiu cc module ADC v MCPWM ca dsPIC. Trc tin, cc
thng tin chung v cc module ADC v MCPWM s c gii thiu, cng vi mt trnh
t thit lp ch lm vic cho mi module. K n, cc v d s minh ha cch s
dng cc module ny trong thc t. V d 5-1 s gii thiu cch iu chnh rng
xung theo mt gi tr tng t c c v thng qua mt ng vo analog. V d 5-2
minh ha mt ch lm vic khc ca module ADC. Mt s ch s c nu ra khi
cn thit.

2. Cc quy c trong ti liu


M t
Font Palatino Linotype:

Biu th

In nghing

Ti liu tham kho

Vit hoa ch u

Mt menu, hp thoi
Tn ring (ca tp tin,
project, )

t trong du nhy kp

V d
dsPIC30F/33F
Programmers Reference
Manual
Chn Project Wizard
Vidu3

Font Courier:
Courier thng

M ngun
Tn tp tin

mov #0x8010, W0
Vidu3-1.s

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
2/6

3. Cc v d v module ADC v MCPWM


Bn hy chp cc tp tin ngun c nh km vo mt th mc no m bn s
dng to ra project Vidu5.

3.1.

Gii thiu v cc module ADC v MCPWM

Cc chip dsPIC c module ADC thuc mt trong hai dng: 10-bit vi tc ln n


1 MSPS (triu mu/giy) hay 12-bit vi tc ln n 200 kSPS (nghn mu/giy). Cc
module ADC c thit k nhm phc v cho cc mc ch khc nhau. Trong cc
dsPIC thuc dng iu khin ng c (m chip 4012 ang c xt l mt trong s ),
module ADC l loi 10-bit vi tc cao, nhm p ng yu cu v tc ly mu ca
cc b iu khin truyn ng in. Cc b ADC trong cc dsPIC s dng thut ton
chuyn i SAR, do c thi gian chuyn i c xc nh trc.
Vic chuyn i tn hiu t dng tng t sang dng s bao gm hai giai on: giai
on ly mu tn hiu (sampling) v giai on chuyn i (conversion). Bn c th bt
u giai on ly mu bng tay hay t ng. Thi im chm dt ly mu (v bt u
chuyn i) c th do ngi dng xc nh (bng cch tt bit SAMP) hay c mt
ngoi vi no xc nh (mt timer dnh ring, module MCPWM, Timer 3, hay chn
INT0). Nh vy thi gian ly mu l khc nhau vi cc thit lp khc nhau. Giai on
chuyn i d liu cn c 12 xung clock cho module ADC, vi mt chu k xung clock
TAD c th c chn l t TCY/2 n 32TCY. TCY chnh l thi gian ca mt chu k my.
Module ADC ca dsPIC c 4 b khuch i S/H (Sample and Hold), c nh a
ch l knh 0 n knh 3. Bn c th ch dng knh 0, hay dng knh 0 v 1, v cng c
th dng c 4 knh cho vic thu thp d liu. Knh 0 l knh linh hot nht trong vic
chn la cc ng vo tng t. B m ca module ADC c th cha c ti a 16 kt
qu.
Module ADC cn c thit lp cu hnh theo nhng bc sau:
Chn cc chn dng lm ng vo analog bng cc bit ADPCFG<15:0>
Chn ngun in p chun bng cc bit ADCON2<15:13>
Chn tc xung clock cho module ADC ph hp vi tc d liu v tc ca
b x l bng cc bit ADCON3<5:0>
Xc nh bao nhiu knh S/H s c dng bng cc bit ADCON2<9:8> v
ADPCFG<15:0>
Xc nh cch thc ly mu bng cc bit ADCON1<3> v ADCSSL<15:0>
Chn th t ly mu/chuyn i thch hp bng cc bit ADCON1<7:0> v
ADCON3<12:8>
Chn cch biu din kt qu chuyn i trong b m bng cc bit ADCON1<9:8>

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
3/6

Chn tc to ngt bng cc bit ADCON2<5:9>


Bt module ADC bng bit ADCON1<15>
Nu c s dng ngt, cn thit lp thm cu hnh cho ngt A/D:
Xa bit ADIF
Chn u tin cho ngt A/D
Ch : Ngun p chun ngoi cn c dng cho cc tc chuyn i t 500 kSPS
tr ln.
Cc bit ADCS<5:0> (ADCON3<5:0>) c dng thit lp tc xung clock cho
module ADC. Gi tr ca ADCS<5:0> c xc nh t cng thc:
ADCS =

2T AD
1
TCY

Gi tr c chn ca TAD khng c php nh hn 83.33 ns.


Nu vic chuyn i A/D c thc hin trong ch Sleep, cn phi dng b dao
ng RC dnh ring cho module ADC bng cch t bit ADRC(ADCON3<7>). Khi
gi tr ca cc bit ADCS<5:0> khng c ngha i vi hot ng ca module ADC.
Module MCPWM c nhiu ng ra c iu ch rng, thch hp cho cc ng
dng iu khin ng c, hay cc ngun xung. Mt s dsPIC c nhiu module
MCPWM, v mt module c th c 6 hay 8 ng ra. i vi dsPIC30F4012 ang c xt
y, chip c mt module vi 6 ng ra, gm 3 cp b ph (complementary).
Cc dsPIC vi module MCPWM c 6 ng ra s c 3 b iu ch rng c lp, vi
phn gii l TCY/2, tng ng vi 3 cp ng ra b ph. Cc cp ng ra ny cng c
th c s dng c lp, vi trng thi tch cc c thit lp bng cc bit cu hnh.
Module MCPWM h tr nhiu kiu ng ra: ging hng theo cnh hay theo im gia,
ch to xung duy nht, hay ging hng theo im gia c cp nht kp.
Module MCPWM c th to ngt c bit ng b cc php chuyn i A/D. N
cng h tr to thi gian cht (dead time) cho ch dng ng ra b ph, v c mt s
chn pht hin s c bng phn cng.
C th khi to hot ng ca module MCPWM theo trnh t sau:
Xc nh thi gian cho mt chu k xung bng cch t mt gi tr 15-bit vo thanh
ghi ngng m chu k xung PTPER, theo cng thc
PTPER =
PTPER =

f PWM

f PWM

f CY
1 , cho ging hng theo cnh
PTMR Prescaler

f CY
1 , cho ging hng theo im gia
PTMR Prescaler 2

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
4/6

Thit lp thanh ghi SEVTCMP cho vic to ngt s kin c bit (nu cn)
Thit lp ch dng cc chn PWM bng thanh ghi PWMCON1
Thit lp vic dng overdrive trong thanh ghi OVDCON
t gi tr chu k nhim v vo cc thanh ghi PDCx tng ng. Ch l phn
gii ca chu k nhim v l TCY/2, cn phn gii ca chu k xung l TCY. Do ,
chng hn PTPER = 0x7F th PDCx = 0xFF mi l chu k nhim v = 100%.
Thit lp postscaler cho vic to ngt s kin c bit, cch thc cp nht thanh ghi
chu k nhim v v vic ng b overdrive bng thanh ghi PWMCON2
Thit lp prescaler v postscaler cho thanh ghi m chu k xung, ch m chu
k xung v kch hot vic m chu k xung bng thanh ghi PTCON
Khi cc ng ra PWM c s dng ch b ph, b to thi gian cht c t
ng cho php trnh cho cc linh kin cng sut b trng dn. Mi cp ng ra b ph
c dnh ring mt thanh ghi m thi gian cht 6-bit, vi mt prescaler gip cho vic
to thi gian cht c linh hot hn.
Mt (hay nhiu) chn pht hin s c cng c th c dng a cc ng ra
PWM v mt trng thi xc nh khi xy ra s c, bng tc ng ca phn cng.
Tn hiu s kin c bit lun lun c module MCPWM to ra, v module ADC
c th dng n ng b vic chuyn i vi vic to xung PWM. Tn hiu s kin
c bit ny c th dng vi mt postscaler t 1:1 n 1:16, v iu ny s c ch nu
vic chuyn i A/D khng cn phi c thc hin mi chu k PWM.
Thng tin chi tit v module ADC v MCPWM c th c tm thy cc chng
15 (module MCPWM) v 17 hay 18 (module ADC) ca ti liu dsPIC30F Family Reference
Manual (DS70046-phin bn hin ti l DS70046E).

3.2.

V d 5-1

Lm theo cc bc nh trong tutorial 1 to ra mt project c tn l Vidu5, sau


bn thm vo project tp tin ngun Vidu5-1.s v kch bn lin kt
p30f4012.gld cho trng hp dng hp ng. i vi trng hp dng C30, chng
ta cng to mt project theo cch tng t, ch khc l chng ta s chn Microchip C30
Toolsuite bc 2, v tp tin ngun c s dng l Vidu5-1.c.
Trong v d ny, mt gi tr in p t 0V n VDD c t vo ng vo AN0/RB0
(s dng mt bin tr vi im gia ni vo AN0/RB0), chng trnh s c gi tr in
p thng qua module ADC v iu chnh rng ca xung ti cc ng ra PWM1L/RE0,
PWM2L/RE2, v PWM3L/RE4 mt cch tng ng. Nu bn c dao ng k th bn c
th theo di s thay i rng ca xung (tn s xung c gi c nh 40 kHz), nu
khng c dao ng k th bn c th dng mt VOM o gi tr trung bnh ca dng

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
5/6

sng in p ra ti PWM1L/RE0, PWM2L/RE2, v PWM3L/RE4. Chng trnh kh trc


quan v c ch thch y , do khng cn gii thch thm y.
Mch nguyn l chung cho v d ny v v d 5-2 c th hin trong hnh 3.1.
Vdd

U1
9
10
1

X1
R1

RV1
8MHz

C2

C1
33pF

33k

33pF

5k

1u

C3

C1Chan 2
Chan 3

C5

14
13
7
8
2
6

1u
Vdd

C6
1u

U3

C1+

T1OUT
R1IN
T2OUT
R2IN

T 1IN
R1OUT
T 2IN
R2OUT

11
12
10
9

VS+
VS-

11
12
15
14

RE0/PWM1L
RE1/PWM1H
RE2/PWM2L
RE3/PWM2H
RE4/PWM3L
RE5/PWM3H
FLTA/INT0/RE8

RB0/CN2/VREF+/AN0/EMUD3
RB1/CN3/VREF-/AN1/EMUC3
RB2/CN4/SS1/AN2
RB3/CN5/INDX/AN3
RB4/CN6/IC7/QEA/AN4
RB5/CN7/IC8/QEB/AN5
RF2/SDA/SDI1/U1RX/EMUC/PGC
RF3/SCL/SDO1/U1TX/EMUD/PGD
RC13/CN1/U1AT X/T 2CK/SOSCI/EMUD
RC14/CN0/U1ARX/T 1CK/SOSCO/EMUC
EMUC2/OC1/IC1/INT 1/RD0
EMUD2/OC2/IC2/INT 2/RD1

AVDD
AVSS

26
25
24
23
22
21
16

PWM1L
PWM2L
PWM3L

18
17
Vdd
28
27

DSPIC30F4012DIP

C25

2
3
4
5
6
7

CLKIN/OSC1
RC15/CLKO/OSC2
MCLR

C2+

C4

MAX232

1u

Hnh 3.1: Mch nguyn l ca phn cng dng cho cc v d 5-1 v 5-2
Nhng im cn ch trong v d ny l module MCPWM c dng kch hot
vic chuyn i A/D, vi module ADC lm vic ch ly mu t ng. Hn na,
module MCPWM ch s dng cc chn PWM1L, PWM2L, v PWM3L mt cch c lp.

3.3.

V d 5-2

Thc hin cc thao tc tng t nh trong tutorial 2, bn hy loi b tp tin


Vidu5-1.s khi project, v thm tp tin Vidu5-2.s vo project (vi project vit
bng C30 th bn s thay Vidu5-1.c bng Vidu5-2.c).
V d ny cng thc hin mt vic kh n gin l c gi tr in p ti ng vo
AN0/RB0 sau mi giy, sau gi kt qu c ra cng RS-232 ( dng s hex). M
ngun chng trnh ch thch kh chi tit, do khng cn gii thch thm y.
im cn ch v d ny l module ADC s dng b nh thi dnh ring t
chm dt ly mu v kch hot chuyn i A/D. Ngoi ra, module ADC lm vic ch
t ng ly mu (ly mu ngay sau khi module c kch hot).

4. Tm tt
Qua tutorial ny, cc module ADC v MCPWM ca dsPIC c gii thiu.
Nhng thng tin khi qut v cc module ADC v MCPWM ca dsPIC c cp.
Mt trnh t khi to cho cc module ADC v MCPWM cng c ngh. Thng

Ngi bo co:

Nguyn Quang Nam

Ti liu:

Ngy:

10/3/2006

Trang:

TUT06.01
6/6

qua 2 v d, mt s ch lm vic ca module ADC cng nh module MCPWM


c minh ha. Hy vng thng qua tutorial ny, bn tin thm mt bc trong vic
lm ch dsPIC.
Chc bn thnh cng!

You might also like