You are on page 1of 83

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Chng 1:
GII THIU TNG QUAN V TI
1.1. Gii thiu chung v Oscilloscope

Hnh v 1.1: My hin th sng Oscilloscope


My Hin sng oscilloscope l mt thit b hin th th - n v ra th ca mt tn
hiu in. Trong hu ht cc ng dng, th ch ra tn hiu thay i th no theo thi
gian: Trc dc (Y) biu din in p v trc ngang (X) biu din thi gian. Cng hay
sng ca s hin th i khi c gi l trc Z. y l th n gin c th ch ra cho
ta nhiu iu v mt tn hiu.
Sau y l mt s cng nng:
-

Nhn dng tn hiu (Xung vung, rng ca, hnh sin, tn hiu hnh, tn hiu
ting)

Xc nh r cc gi tr thi gian v mc in p v ng i ca mt tn hiu

Tnh ton c tn s ca mt tn hiu dao ng

Nhn thy cc phn ng ca mt mch in c biu din bi tn hiu

Ch ra nu mt thnh phn li lm mo dng tn hiu

Tm ra tn hiu nh th no l dng mt chiu hay dng xoay chiu

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 1

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Ch ra tn hiu nh th no l nhiu v nu c th nhiu thay i th no theo thi


gian...

Hnh v 1.2: Dng th trn Oscilloscope


My oscilloscope trng rt ging vi mt ci tivi nh, n c mt mng li c v trn
mn hnh v c nhiu nm iu khin hn tivi. Mt trc ca mt oscilloscope thng c
cc phn iu khin c chia thnh cc phn Dc, Ngang v Trigger. C cc iu khin
hin th v cc u ni u vo.
1.2. Chc nng ca Oscilloscope
S hu ch ca mt my oscilloscope khng b gii hn ch trong th gii ca cc thit b
in t. Vi mt b chuyn i thch hp, mt my oscilloscope c th o c c tt c
cc kiu hin tng. Mt b chuyn i l mt thit b m to ra tn hiu in p ng li
cc kch thch vt l, v d nh m thanh, p lc c kh, p sut, nh sng hoc nhit .
V d nh, mt microphone l mt b chuyn i...
Mt k s t c th dng my oscilloscope o c s rung ca ng c. Mt nghin
cu sinh y khoa c th dng my oscilloscope o c cc sng no. Cc kh nng l
v tn!
1.3. Oscilloscope s v tng t
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 2

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 1.3: Oscilloscope s v tng t


Thit b in t c th c chia lm 2 loi: tng t v s. Thit b tng t lm vic
vi cc in p bin i lin tc, trong khi thit b s lm vic vi cc s nh phn ri rc
m c th biu din cc mu in p. Ly v d, my quay a thng thng l thit b
tng t, cn my chi a compact l mt thit b s.
Cc my oscilloscope cng c cc loi tng t v loi s. My oscilloscope tng t l
vic trc tip vi in p t vo c o di chuyn dng electron ngang qua mn
hnh my oscilloscope
Tri li, my oscilloscope s ly mu dng sng v dng mt b chuyn i tng t/s
(A/D) chuyn i in p c o thnh thng tin s. Sau , n dng thng tin s
ny ti cu trc li dng sng trn mn hnh
i vi nhiu ng dng, hoc l my oscilloscope s hoc l my oscilloscope tng t
s c dng. Tuy nhin, mi loi my c mt s c tnh ring lm cho n thch hp
hn hoc km thch hp hn trong cc tc v ring.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 3

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Ngi ta thng thch cc my oscilloscope tng t hn v n quan trng hin th


nhanh chng cc tn hiu ang thay i trong thi gian thc (hay nh l chng ang din
ra)
Cc my oscilloscope s cho php bn ghi li v xem cc s kin m chng c th ch
din ra duy nht 1 ln. Chng c th x l d liu dng sng s v gi cc d liu ti
my tnh x l. Nh vy, chng c th lu tr d liu dng sng s xem v in ra
sau .
1.4. Oscilloscope tng t
Khi bn ni u d ca my oscilloscope vo mch in, tn hiu in p i qua u d
ti h thng dc ca my oscilloscope. Ty thuc vo bn thit t chia thang o dc
(iu khin volts/div) nh th no th b suy hao lm gim in p tn hiu hoc l b
khuch i lm tng in p tn hiu in p t vo cc bn li tia lm cho mt im
sng di chuyn. (mt dng electron p vo lp phosphor bn trong CRT to ra im
sng). in p dng lm cho im sng i ln trong khi in p m lm cho im sng
i xung.
Tn hiu cng ng thi i ti h thng trigger khi ng hay kch mt qut ngang.
Qut ngang l mt thut ng ch vic h thng ngang lm cho im sng di chuyn ngang
trn mn hnh. Vic kch h thng ngang gy ra thi gian c bn di chuyn im sang
ngang trn mn hnh t tri sang phi trong mt khong thi gian xc nh. Nhiu ln
qut thnh cc dy nhanh lm cho chuyn ng ca im sng c hp thnh mt
ng lin nt. cc tc cao hn, im sng c th qut ngang mn hnh ln ti
500,000 ln mi giy.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 4

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 1.4: Oscilloscope tng t


Cng vi nhau, vic qut ngang v vic li dc vch ra mt th tn hiu trn mng
hnh. B kch khi l cn thit n nh ha tn hiu tun hon. N m bo rng ln
qut bt u cng mt im vi tn hiu tun hon, dn ti mt hnh nh r rng c
ch ra trn hnh sau:

Hnh v 1.5: B kch khi (Trigger)


Kt lun li, dng mt my oscilloscope tng t, bn cn iu chnh ba thit lp c
bn thch ng vi tn hiu a vo:
-

Vic lm suy gim hoc khuch i tn hiu. Dng iu khin volts/div iu


chnh bin ca tn hiu trc khi n c t vo cc bn li tia chiu dc.

Thi gian c bn. Dng iu khin sec/div thit t ln ca thi gian trn
mi khong chia c bin din ngang qua mn hnh.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 5

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Kch khi my oscilloscope. S dng mc kch n nh ha tn hiu tun hon


cng nh vic kch cc s kin n.

Cng vy, vic iu chnh cc iu khin tiu c v cng cho php bn tao ra hnh
nh sc nt v d nhn (khng b chi).
1.5. S lt v my Oscilloscope s
1.5.1. Khi nim v Oscilloscope s
tm hiu khi nim v Osilloscope s ta cn phi hiu c th no l mt Osilloscope
c nh. Osilloscope c nh l loi Osilloscope dng kho st cc loi tn hiu tc
thi, tun hon chm, hay tn hiu ngn, tn hiu qu ... Di tn s c th n 150MHz.
Di tn hiu t hng chc mV n hng trm vn.
Osilloscope s l loi dao ng k c nh s. Nguyn l lm vic da trn vic s ha tn
hiu kho st nh b chuyn i A /D gi l qu trnh ly mu v chuyn i. Cc mu
c ghi vo b nh, sau c bin i tr li thnh tng t phc v cho mc nh
hin th.
1.5.2. Cu trc Oscilloscope s

Tn
hiu o

Mch
o

B
ADC

B
VXL

My tnh hin
th kt qu

Hnh v 1.6: Cu trc ca Oscilloscope s


-

Tn hiu o: Xung vung, rng ca, hnh sin, tn hiu hnh, tn hiu ting, p lc
c kh, p sut, nh sng hoc nhit

Mch o: Ty thuc vo loi tn hiu u vo m mch o s tng t nh l


mch khuch i v chuyn i tn hiu. Mch khuch i thng l mch c h
s khuch i >0. Mch chuyn i ng vai tr chuyn i t tn hiu sau mch
khuch i v loi tn hiu ph hp vi loi tn hiu u vo ca b ADC. Thng
thng tn hiu m cc oscilloscope o thng l cc tn hiu dng hoc tn hiu
p. V vy mch khuch i thng l cc mch gim dng hoc mch phn p

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 6

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

s dng cc phn t nh bin dng, bin p, linh kin bn dn, mch in tr, in
cm, in dung
-

B ADC: L b chuyn i tn hiu tng t thnh tn hiu s. Tn hiu o sau


khi i qua mch o s c a vo b ADC. B ADC s chuyn i dng tn
hiu ny t tn hiu tng t thnh tn hiu s a n b vi x l. Trn thc t
b ADC c phn gii khc nhau: 8bit, 10bit, 12bit, 16bit, 24bit... phn gii
cng ln th tn hiu u ra s s cng gn vi tn hiu u vo tng t. u ra s
ca b ADC c th l bus song song hoc ni tip.

B vi x l: B vi x l ng vai tr x l trung tm, n nhn kt qu o t b


ADC gia cng v x l trc khi gi v my tnh hin th. B vi x l c
s dng ph bin hin nay l cc h vi iu khin nh 8051, AVR, PIC, PSOC,
ARM... vi tc x l ph hp. Ngy nay cc vi iu khin c tch hp thm
trong n cc b ADC c kh nng trch mu tc cao, ngoi ra n cn c kh
nng ghp ni vi my tnh theo cc chun ghp ni. Ngoi cc kh nng trn mt
u im ln na ca b vi x l l kh nng lu tr thng tin, kh nng ny ph
hp cho cc cho cc osilloscope tc cao.

My tnh hin th kt qu o: My tnh s nhn cc thng tin t b vi x l sau


gia cng v hin th. Vic truyn nhn thng tin t vi x l n my tnh v
ngc li s c thc hin qua cc chun ghp ni nh RS232, LPT, USB, khe
cm m rng

1.5.3. Nguyn l hot ng ca Oscilloscope s


Mt vi h thng m c cu thnh t cc my oscilloscope s th cng tng t nh
bng cc my oscilloscope tng t; tuy nhin, cc my oscilloscope s bao gm thm h
thng x l s liu.
Vi h thng thm vo, my oscilloscope s thu thp s liu cho ton b dng sng v
sau hin th chng Khi cc bn ni u o (d) ca my oscilloscope s vo mch
in; h thng dc s iu chnh bin ca tn hiu nh trong my oscilloscope tng
t.
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 7

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Tip ti, b chuyn i tng t/s trong h thng thu thp ly mu tn hiu cc thi
im ri rc v chuyn i in p tn hiu cc im ny thnh gi tr s, gi l cc
im ly mu. Xung ly mu ca h thng ngang quy nh b ADC ly mu bao nhin
ln. Tc m xung ticks c gi l tc ly mu v c o bng s mu
trn giy (Xem hnh v di).

Hnh v 1.7: Nguyn l hot ng ca Oscilloscope s


Cc im mu t ADC c lu tr trong b nh nh l cc im dng sng. C nhiu
hn mt im mu c th cu thnh nn mt im dng sng.
Cng vi nhau, cc im dng sng cu thnh nn mt bn ghi dng sng. S im sng
c dng to nn mt bn ghi dng sng c gi l di bn ghi. H thng kch
khi quy nh im bt u v im kt thc bn ghi. Mn hnh nhn cc im bn ghi
ny sau khi chng c lu tr trong b nh.
Ty thuc vo kh nng ca my oscilloscope thit k, vic x l thm cc im mu c
th c tin hnh lm nng cao cht lng hin th. B tin kch khi c th hu ch
cho php xem cc s kin trc im kch.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 8

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

V c bn, vi mt my my oscilloscope s cng nh vi my my oscilloscope tng


t, cn iu chnh cc thit lp dc, ngang v kch khi c th o c c.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 9

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

CHNG 2:
TNG QUAN VI IU KHIN PIC18F2455/2550/4455/4550
2.1. Gii thiu vi iu khin PIC18F2455/2550/4455/4550
H vi iu khin PIC18F2455/2550/4455/4550 l h vi iu khin tin tin ca
MICROCHIP, c bit h ny c tch hp cng USB 2.0, ADC 10 bit v tch hp nhiu
cng c khc. Mnh, mm do l t nh gi ngn gn v h vi iu khin ny. Chng
ny gii thiu tng quan cc khi tch hp ca h vi iu khin PIC18F v cc c im
ca cc khi tch hp, mc ch l phc v cho vic thit k cc chng sau.
Cc c im cng USB:
-

USB V2.0

Tc thp (1.5 Mb/s) v tc ton phn (12Mb/s)

H tr ti 32 im cui

RAM 1 kByte cho khi USB

Mch thu pht USB trn chip cng vi mch n p 3.3V

Cng song song streaming (SPP) cho truyn streaming USB

H tr c 4 ch truyn:

Truyn iu khin (Control transfer)

Truyn ngt (Interrupt transfer)

Truyn ng b (Isochronous transfer)

Truyn khi (Bulk transfer)

Cc c im ngoi vi:
-

Dng vo/ra (sink/source) cao 25mA/25mA

Ba ngt ngoi

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 10

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Bn khi timer (timer0 n timer3)

C ti 2 khi CCP (Capture/Compare/PWM)

Capture 16 bit cc i, phn gii 6.25 ns ( TCY /16 )

So snh 16 bit cc i, phn gii 100 ns ( TCY )

PWM c li ra vi gii t 1 n 10 bit

Khi CCP nng cao ECCP (Enhanced Capture/Compare/PWM)

Nhiu ch li ra

C th chn cc tnh

Thi gian cht lp trnh c

T ng tt v t ng khi ng

Khi USART nng cao

H tr bus LIN

Cng truyn ni tip ng b ch MSSP (Master Synchronous Serial Port)

ADC 10 bit, 13 li vo, thi gian thu thp d liu lp trnh c

2 b so snh tng t vi a hp li vo

Cc c im ca vi iu khin
-

Cu trc ti u bin dch C vi tp lnh m rng ty chn

B nh chng trnh flash nng cao cho php 100.000 ln xa/ghi

B nh d liu EEPROM cho php 1.000.000 ln xa/ghi

Lu tr d liu trong b nh flash/EEPROM hn 40 nm

Ngt nhiu mc u tin

Watchdog timer m rng, chu k kh trnh t 41 ms n 131 s

Bo v m lp trnh

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 11

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Ngun nui n 5V cho lp trnh ni tip trn mch qua 2 chn

Mch g li qua 2 chn

Di in p hot ng rng (2.0V n 5.5V)

Bng 2.1: Cc tnh nng k thut ca cc vi iu khin PIC18F2455/2550/4455/4550


Trong h vi iu khin PIC18, ch gia F cho php Vdd t 4.2V n 5.5V, ch gia
LF cho php m rng gii Vdd t 2.0V n 5.5V.
2.2. Dao ng xung nhp
Mch dao ng vi nhiu ty chn. H vi iu khin PIC18F2455/2550/4550 c 12 ty
chn mch dao ng, bao gm:
-

4 ch dao ng tinh th hoc cng hng gm

4 ch xung nhp ngoi

Mt b dao ng ni cung cp xung nhp 8MHz v mch dao ng RC ni cung


cp xung nhp 31KHz, cng nh 6 la chn tn s xung nhp t 125kHz n
4MHz, tt c ta c 8 la chn tn s xung nhp.

Nhn tn dng PLL (Phase Loop Lock) p dng cho c dao ng tinh th tn s
cao v dao ng ngoi cho di tn s xung nhp t 4MHz n 48MHz.

Hot ng xung nhp kp khng ng b (Asynchronous dual clock operation):


khi USB hot ng xung nhp tn s cao trong khi cc khi cn li trong vi iu
khin hot ng vi xung nhp tn s thp hn.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 12

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh 2.1: S khi PIC18F2455/2550 (28 chn)


-

Theo di an ton xung nhp (Fail-Safe clock monitor): ty chn ny cho php
ngun xung nhp chnh lun lun c theo di, nu xy ra trng hp xung nhp

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 13

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

chnh tt vi iu khin s tip tc hot ng vi tn s xung nhp thp hn.


-

Khi ng hai tc (Two-Speed Start-up): Ty chn ny cho php ngun xung


nhp ni hot ng khi reset lc khi ng hay vi iu khin hot ng tr li t
ch ng (wake-up from sleep mode) cho n khi ngun xung nhp chnh sn
sng.

Thch anh dao ng / cng hng gm: ch HS, HSPLL, XT, XTPLL thch anh
dao ng/ cng hng gm mc chn OSC1 v OSC2. mi ch C1, C2 t cnh
thch anh dao ng/cnghng gm c gi tr khc nhau (tham kho datasheet
PIC18F2455/2550/4550).
Nhn tn s PLL: Trong vi iu khin PIC18F2455/2550/4550 c khi PLL (Phase
Loop Lock), iu ny cho php khi USB hot ng tn s cao trong khi xung nhp ca
h thng tn s thp hn. PLL c php hot ng cc ch dao ng HSPLL,
XTPLL, ECPLL v ECPIO. N c thit k sinh ra tn s xung nhp chun 96MHz
t tn s li vo c nh 4MHz.
Khi dao ng ni (INTOSC): Trong vi iu khin PIC18F2455/2550/4550 c khi dao
ng ni pht ra hai tn hiu xung nhp khc nhau. Li ra trc tip 8 MHz, li ra qua b
chia (postscaler) cung cp xung nhp t 31 KHz n 4 MHz. Lu ngun dao ng ly
t thch anh dao ng/ cng hng gm gi l dao ng ngoi. Ngun dao ng ni li
ra 31KHZ cho php trong cc trng hp:
-

Timer bt ngun (Power-up timer)

Theo di an ton xung nhp

Watchdog timer

Khi ng hai tc (Two-Speed Start-up)

Li ra dao ng ni c chun bi hng ch to nhng vn c th tinh chnh bi ngi


s dng, vic tinh chnh ny c thc hin nh thanh ghi iu chnh dao ng
(Oscillator Control Register).
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 14

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh 2.2: S khi PIC18F4455/4550 (40/44 chn)


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 15

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh 2.3: S khi dao ng


Cc ch dao ng ni: S la chn ngun xung nhp cho USB xc nh bi cc ch
dao ng ni ring bit:
-

Ch INTHS: Xung nhp USB c cung cp bi dao ng trong ch HS.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 16

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Ch INTXT: Xung nhp USB c cung cp bi dao ng trong ch XT

Ch INTXT: Xung nhp USB c cung cp bi dao ng trong ch XT

Ch INTCKO: Xung nhp USB c cung cp t dao ng bn ngoi thch


anh dao ng/ cng hng gm.

Ch INTIO: xung nhp cho USB c cung cp vo chn OSC1/CLK1, cn


chn OSC2/CLK2 c chc nng nh chn I/O.

Tn s dao ng cho USB l 6 MHz hoc 48 MHz ty thuc vo ch tc


thp (low speed) hay ch tc ton phn (full speed).

Tn s dao ng cho USB l 6 MHz hoc 48 MHz ty thuc vo ch tc


thp (low speed) hay ch tc ton phn (full speed).

2.3. B nh
B nh Flash nng cao (Enhanced Flash) s dng cho b nh chng trnh v b nh d
liu EEPROM. S ln xa/ghi cho b nh chng trnh l 100.000 ln v cho b nh d
liu l 1.000.000 ln. D liu lu li trong b nh n 40 nm m khng cn lm ti. C
ba loi b nh trong h PIC18:
-

B nh chng trnh

RAM d liu

EEPROM d liu

Theo cu trc Harvard, b nh chng trnh v d liu dng 2 bus ring, iu ny cho
php tip cn ng thi 2 vng b nh. EEPROM d liu c th coi nh thit b ngoi vi
v tip cn thng qua b thanh ghi iu khin. H vi iu khin PIC18 c b m chng
trnh 21 bit nn c kh nng nh v 2 Mbyte b nh chng trnh.
IC18F2455,IC18F4455 c 24 Kbyte b nh flash v c th cha ti 12.288 lnh t n.
IC18F2550, PIC18F4550 c 32 Kbyte b nh flash v c th cha n 16.384 lnh t
n.
Kh nng t lp trnh: H vi iu khin PIC18F2455/2550/4550 c kh nng t np
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 17

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

chng trnh vo b nh chng trnh m khng cn phi c thit b ph bn ngoi, iu


ny c thc hin bng on chng trnh con Bootloader t trn phn cao b nh
chng trnh vo c bo v. Kh nng t lp trnh cho php cc ng dng dng h vi
iu khin ny c kh nng nng cp firm-ware.
B nh chng trnh Flash: 24Kbytes cho PIC18FX455, 32 Kbytes cho PIC18FX550.

Hnh 2.4: Bn t chc b nh h vi iu khin PIC18F2455/2550/4550


2.4. Khi Timer
H vi iu khin PIC18 c 4 b timer: timer0, timer1, timer2 v timer3. Mi timer c tnh
nng ring.
Timer0:
-

nh ch hot ng bng phn mm: timer hoc counter, 8 bit hoc 16 bit

B chia kh trnh 8 bit chuyn dng

Ngun xung nhp chn c (trong hay ngoi)

Kh nng chn cnh i vi xung nhp ngoi

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 18

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Ngt khi trn

Timer1:
-

Chn bng phn mm timer hay counter 16 bit

Kh nng c vit thanh ghi 8 bit (TMR1H v TMR1L)

Chn ngun xung nhp trong hay ngoi

Ngt khi trn

Khi RESET hot ng trn c s xung kch s kin CCP.

C trng thi xung nhp (T1RUN)

Timer2:
-

Timer 8 bit (TMR2) v thanh ghi chu k (PR2)

Kh nng c vit c 2 thanh ghi

Lp trnh bng phn mm cho b chia (1:1, 1:4, 1:16)

Ngt khi TMR2 gp PR2

Ty chn dng nh xung nhp dch cho khi MSSP

Timer3:
-

Chn bng phn mm hot ng nh l timer hoc counter 16 bit

Kh nng c ghi thanh ghi 8 bit (TMR3H v TMR3L)

Kh nng chn ngun xung nhp (trong hoc ngoi)

Ngt khi trn

Khi RESET hot ng trn c s xung kch s kin CCP

2.5. Khi CAPTURE/SO SNH/PWM (CCP).


H vi iu khin PIC18F2455/2550/4455/4550 c tt c 2 khi CCP. Mi khi cha
thanh ghi 16 bit. Ch Capture: Cp thanh ghi CCPRxH:CCPRxL bt gi tr 16 bit ca
thanh ghi TMR1 hoc TMR3 khi s kin xy ra chn CCPx tng ng. Mt s kin
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 19

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

c nh ngha:
-

Mi khi c cnh ln

Mi khi c cnh xung

Mi khi c cnh ln th 4

Mi khi c cnh ln th 16

S kin c chn bi bit chn ch CCPxM3:CCPxM0 (CCPxCON<3:0>). Khi s


kin Capture c thc hin, bit c yu cu ngt (CCPxIF) c SET v ch xa bng
phn mm.
Ch so snh: Thanh ghi 16 bit CCPRx c gi tr hng s c so snh vi gi tr ca
cp thanh ghi TMR1 hoc TMR3. Khi xy ra s kin bng nhau, chn CCPx c th l:
-

Chuyn mc cao

Chuyn mc thp

Pht xung (cc tnh dng hoc m)

Gi nguyn khng thay i trng thi (phn nh trng thi cht I/O)

Chn CCPx xc nh trn c s gi tr ca bit chn ch (CCPxM3:CCPxM0) . Khi s


kin so snh bng nhau bit c ngt CCPxIF c set (mc1).
Ch PWM (Pulse-Width Modulation: iu ch rng xung): Chn CCPx pht sinh
xung PMW phn gii 10 bit. rng xung (Duty Cycle) ca xung PWM c hnh
thnh theo minh ha hnh di y.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 20

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh 2.5: Hnh thnh xung PWM li ra


rng xung PWM c xc nh bng cch vit vo thanh ghi CCPRxL v cc bit
CCPxCON<5:4> , CCPRxL cha 8 bit cao v CCPxCON<5:4> cha 2 bit thp. gi tr 10
bit phn gii l gi tr CCPRxL : CCPxCON<5:4>
rng xung PWM c tnh theo cng thc:

PWM Duty Cycle=(CCPRxL : CCPxCON <5 : 4 >*Tosc*(TMR2 Pr esscale Value)

CCPRxL v CCPxCON<5:4> c th c vit vo mi thi im nhng gi tr rng


xung khng cht vo CCPRxH cho ti khi c s gp nhau (bng) gia PR2 v TMR2.
Trong ch PWM CCPRxH l thanh ghi ch c.
2.6. Khi USB (Universal Serial Bus)
H PIC18FX455/X550 tch hp cng USB h tr c tc truyn ton phn (full-peed)
12Mb/s v tc thp (low-speed) 1.5 Mb/s cho php giao tip nhanh gia USB my ch
v USB vi iu khin PIC. H tr n 32 im cui. RAM 1 kbyte cho USB. H tr 4
li truyn: truyn iu khin (Control transfer); truyn ngt (Interrupt transfer); truyn
ng thi (Isochronous transfer) v truyn khi (Bulk transfer).
Hot ng ca khi USB c nh cu hnh v qun l thng qua 3 thanh ghi iu
khin. Hn na c 19 thanh ghi qun l giao tip USB thc. Cc thanh ghi l:
-

Thanh ghi iu khin USB (UCON): Thanh ghi ny cha cc bit cn cho iu

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 21

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

khin trong qu trnh truyn gm: cho php ngoi vi USB chnh; reset con tr b
m ping-pong; iu khin ch treo; cm truyn gi.
-

Thanh ghi cu hnh USB (UCFG): Trc khi lin lc qua USB, khi USB kt hp
phn cng ngoi v/hoc trong phi c t cu hnh. UCFG cha cc bit lin
quan n vic t: tc full-speed hay low-speed; cho php dng in tr ko
ln trong IC; cho php thu-phat trong IC; s dng b m ping-pong.

Thanh ghi trng thi truyn USB (USTAT): Bo co trng thi giao tip trong SIE.

Hnh v 2.6: S khi USB


-

Thanh ghi a ch linh kin USB (UADDR): Cha duy nht a ch USB m ngoi
vi s gii m khi tch cc. UADDR = 00h khi reset USB bi vi iu khin. a ch
USB phi c vit bi vi iu khin trong pha setup USB c h tr bi
firmware ca Microchip.

Thanh ghi s frame (UFRMH:UFRML): Thanh ghi s frame cha s frame 11 bit,
8 bit thp cha trong UFRML, 3 bit cao cha trong UFRMH. Cp thanh ghi c
cp nht vi s frame hin ti khi gi SOF c nhn. Thanh ghi s frame c

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 22

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

dng cn bn cho li truyn ng thi (isochronous transfer).


-

Thanh ghi cho php im cui t 0 n 15 (UEPn): Mi ca 16 im cui hai


chiu c thanh ghi iu khin c lp UEPn, n l s im cui.

2.7. iu khin im cui USB


Mi ca 16 im cui hai chiu c thanh ghi iu khin c lp UEPn, n l s im cui
USB RAM. D liu USB di chuyn gia li vi iu khin v SIE (Serial Interface
Engine) thng qua vng nh gi l RAM USB. y l nh cng i c bit, vng nh
d liu bnh thng Bank 4 n Bank 7 (400h ti 7FFh) dung lng 1Kbyte. Bank 4
(400h n 4FFh) c dng c bit cho iu khin m im cui, trong khi Bank 5 n
Bank 7 dng cho d liu USB.
Ngt USB: Khi USB c th pht ra nhiu iu kin ngt. Trn hnh 2.6 cho thy logic
ngt cho khi USB. C hai lp ngt trong khi USB. Mc cao gm cc ngt trng thi
USB, n t cho php v t c trong thanh ghi cho php ngt UIE (USB Interrupt
Enable) v thanh ghi trng thi ngt USB UIR (USB Interrupt Status Register) tng
ng. Mc thp gm cc iu kin li USB, n t cho php v t c trong thanh ghi
trng thi ngt li USB UEIR (USB Error Interrupt Status Register) v thanh ghi cho
php ngt li USB UEIE (USB Error Interrupt Enable Register).

Hnh 2.7: Cc ngt ca khi USB


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 23

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

2.8. Khi bin i ADC 10 bit


Khi ADC 10 bit: Khi ADC ca h vi iu khin ny c kh nng kt hp vi vic thi
gian thu thp d liu kh trnh cho php khng cn ch chu k ly mu nn gim thi
gian bin i AD.
Khi bin i AD c 10 li vo i vi PIC18 v 28 chn v 13 li vo i vi v 40/44
chn. Khi ny c 5 thanh ghi:
-

Thanh ghi kt qu A/D cao (ADRESH)

Thanh ghi kt qu A/D thp (ADRESL)

Thanh ghi iu khin A/D 0 (ADCON0)

Thanh ghi iu khin A/D 1 (ADCON1)

Thanh ghi iu khin A/D 2 (ADCON2)

Hnh 2.8: S mch in thu thp d liu cho bin i A/D


Chn xung nhp bin i A/D: Thi gian bin i A/D mi bit c nh ngha l TAD .
Yu cu thi gian bin i A/D l 11* TAD cho bin i A/D 10 bit. C 7 ty chn cho
TA:
-

2 TOSC

4 TOSC

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 24

N TT NGHIP
-

8 TOSC

16 TOSC

32 TOSC

64 TOSC

Dao ng RC ni

GVHD: TS. Nguyn Vn Minh Tr

Hnh 2.9: S khi bin i A/D

Bng 2.10: TAD theo tn s hot ng ca vi iu khin


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 25

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

bin i A/D hot ng ng, TAD phi nh c th c nhng ln hn TAD ti thiu


Thi gian bin i A/D = TACQ

11* TAD

TAD1 , trong TAD1 l thi gian t

x
2.9. Khi tham chiu in p so snh
Khi tham chiu in p so snh l mt cu chia p gm 16 in tr (trn hnh 2.11).
Mc ch ca khi ny l to ra in p chun kh trnh cho cho cc mch so snh tng
t. nh cu hnh cho tham chiu in p so snh bng thanh ghi iu khin tham chiu
in p so snh CVRCON.

Hnh 2.11: S tham chiu in p so snh


2.10. Ngt
PIC18F2455/2550/4455/4550 c nhiu ngun tn hiu ngt v hai mc u tin ngt.
Vector ngt u tin mc cao l 000008h v vector ngt u tin mc thp l 000018h. C
10 thanh ghi c dng iu khin ngt l:
-

RCON

INTCON

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 26

N TT NGHIP
-

INTCON2

INTCON3

PIR1, PIR2

PIE1, PIE2

IPR1, IPR2

GVHD: TS. Nguyn Vn Minh Tr

Mi ngun tn hiu ngt c 3 bit iu khin hot ng. Chc nng ca 3 bit ny l:
-

Bit c ch th mt s kin ngt xy ra

Bit cho php cho php ngt, chng trnh nhy n a ch vector ngt ca tn
hiu ngt khi bit c c set

Bit u tin ngt chn mc u tin ngt

Hnh 2.12: S logic cc tn hiu ngt


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 27

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Mc u tin ngt c cho php bng cch SET bit IPEN (RCON<7>). Khi u tin
c cho php, c 2 bit cho php ngt ton cc. SET bit GIEH (INTCON<7>) cho php
tt c cc ngt m SET u tin cao. SET bit GIEL (INTCON<6>) cho php tt c cc
ngt m SET u tin thp. Khi c ngt, bit cho php v c cho php ngt ton cc
SET chng trnh s nhy n a ch vector ngt 000008h hoc 000018h ty thuc vo
mc u tin. Cc ngt ring r c th khng cho php thng qua cc bit cho php
tng ng.
Ngt USB
Khng ging nh cc giao din ngoi vi khc, khi USB c kh nng pht ra nhiu tn
hiu ngt. Cc tn hiu ngt USB gm c vi tn hiu ngt lin lc thng thng, vi tn
hiu ngt s kin trng thi v vi tn hiu ngt s kin li. Trong khi USB c trang
b mch logic ngt ring cho khi USB ( trnh by trong phn 2.7 v s logic ngt
USB hnh 2.6)
2.11. Cc chi tic c bit h PIC18F2455/2550/4455/4550
H vi iu khin ny c vi chi tit c bit nhm tng tin cy ti a v gim gi thnh
do cc linh kin bn ngoi c gim ti a. Cc chi tit c bit c th k ra l:
-

Ngun dao ng phong ph

Cc reset:

Reset ngun bt (POR)

Timer ngun bt (PWRT)

Timer khi ng dao ng (OST)

Reset Brown-out (BOR)

Qun l nng lng vi nhiu ch hot ng

Theo di an ton xung nhp

Khi ng 2 tc

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 28

N TT NGHIP
-

Bo v m chng trnh

Lp trnh ni tip trong chip

Tp lnh phong ph

GVHD: TS. Nguyn Vn Minh Tr

y l h vi iu khin 8 bit mnh, mm do v cht lng ca hng MICROCHIP ni


ring v ca c th gii ni chung.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 29

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

CHNG 3:
S LT V CHUN USB 2.0
3.1. Gii thiu chung v USB
3.1.1. Khi nim v USB
USB (Universal Serial Bus) l bus ni tip a nng cho php cc thit b u cui giao
tip vi my tnh ch (Host Computer).
3.1.2. Cc mc tiu hng ti khi s dng USB
-

D dng m rng cc thit b u cui ca PC.

Cung cp gii php chi ph thp song vn h tr truyn dn vi tc ln n


480Mb/s.

H tr ng dng thi gian thc nh voice, audio, video,...

Giao thc linh hot cho cc ch hn hp: isochronous data transfers v


asynchronous messaging.

Tch hp cng ngh thit b tin nghi.

c Windows v cc h iu hnh khc h tr do c th khng cn driver


mc thp cho cc thit b USB.

a nng do nhiu thit b c th ghp ni vi PC thng qua chun USB.

tin cy cao.

3.1.3. M t h thng USB


Mt h thng USB c m t bi ba nh ngha: Kt ni USB, cc thit b USB v USB
host. Kt ni USB c hiu l kiu kt ni m trong cc thit b USB c kt ni v
giao tip vi my tnh ch. Kt ni USB bao gm cc vn sau:
-

Kin trc Bus: M hnh kt ni gia cc thit b USB v Host.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 30

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Nhng mi quan h Inter-layer : Di dng mt tp kh nng, cc tc v USB


c thc hin ti mi lp trong h thng.

Cc m hnh lung d liu: L hnh thc m trong d liu di chuyn trong h


thng qua USB.

Lp trnh USB: USB cung cp mt s kt ni dng chung. Vic truy cp ti kt ni c


lp trnh theo th t h tr truyn d liu ng thi v kh s phn x ban u.
3.1.4. Kin trc Bus
Bus tun t a nng ni cc thit b USB vi Host USB. V mt kt ni vt l USB l
mt kin trc tng sao. Mt Hub ti trung tm ca mi sao, mi on dy l mt kt ni
t im ti im gia Host v mt Hub hoc mt chc nng no , hoc mt Hub ni
ti Hub khc hoc chc nng khc. Vi 7bit a ch, ngoi my ch USB ra n c th
qun l ti a 127 thit b ngoi vi. Hnh 4.1 s minh ho kin trc ca USB.

Hnh 3.1: M hnh bus USB


3.1.5. My ch USB (USB Host)
Ch c duy nht mt Host trong mt h thng USB bt k. Giao din USB ti h thng
my ch c xem nh b iu khin Host. B iu khin Host c th c thc hin
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 31

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

trong mt kt hp gm phn cng, chng trnh cho vi iu khin (firmware) hoc phn
mm. Mt Hub gc (root hub) c tch hp ch trong h thng Host cung cp mt
hoc nhiu im lp thm.
3.1.6. Cc thit b USB
Thit b USB c th l mt trong cc thit b sau:
-

Hub: cung cp im lp thm vo USB.

Cc chc nng: Cung cp cc kh nng cho h thng nh mt kt ni ISDN,


digital joystick, hoc speakers.

Thit b hiu c giao thc USB

3.1.7. Cp USB
USB truyn tn hiu v ngun qua mt cp 4 si hnh 3.2:
-

Vbus: in p cung cp cho thit b.

Tn hiu D+.

Tn hiu D-.

Dy t GND.

C 3 tc truyn d liu:
-

USB tc cao (USB high-speed): 480Mb/s.

USB ton tc (USB full-speed): 12Mb/s.

USB tc thp (USB low-speed): 1.2Mb/s.

Hnh v 3.2: Cable USB


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 32

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Cp USB bao gm 4 dy, D+ v D- c dng truyn tn hiu, Vbus v GND cp


ngun cho thit b (Thng th Vbus =5V cn GND=0V ti ngun). USB cho php chiu
di cc on

cp c th thay i ln ti vi mt.

pha my ch Host th D+ v D- c ni t qua cc in tr Rpd cn v pha thit b


ngoi vi, cc u dy D+, D- c bo v bi in tr cui ( chnh l cc in tr Rpu.
Thit b tc cao hoc ton tc cn c in tr ni +3.3 V cho u D+, thit b tc
thp cn c in tr ni ln 3.3 V cho u D-. Nhng in tr ny to nn cc mc in
th khc nhau gia D+ v D- gip cho my ch pht hin c vic cm vo hay rt ra
ca thit b cng nh tc truyn d liu ca thit b.
3.2. M hnh lung d liu USB
3.2.1. Cc thnh phn trong vic kt ni USB
Vic thc hin kt ni USB gm cc thnh phn:
-

Thit b vt l USB (USB physical device): L thit b tch ri c ni vi Host


thng qua cp USB thc hin cc chc nng theo yu cu ca ngi dng cui.

Phn mm khch (Client software): Phn mm thc thi trn Host, tng ng vi
thit b USB. Phn mm ny c th c h iu hnh cung cp hoc i km theo
thit b ca nh sn xut.

Phn mm h thng USB (USB system software): L phn mm h tr USB trong


h iu hnh ring. Phn mm h thng USB c cung cp bi h iu hnh, n
c lp vi thit b USB v phn mm khc.

USB Host Controller (Giao din BUS ca Host): L phn cng v phn mm cho
php thit b USB gn vi Host.Vi thit b vt l USB c cc lp sau:

Lp giao din BUS USB (USB bus Interface) c vai tr trong vic kt ni vt
l/bo hiu/gi tin gia thit b USB vi Host.

Lp thit b USB (USB device Layer) l ni phn mm h thng USB thc hin
cc hot ng chung vi thit b USB.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 33

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Lp chc nng (Function layer): Cung cp cc kh nng b sung ti Host thng


qua mt client sofware thch hp.

Hnh v 3.3: M hnh lung d liu USB


3.2.2. Bus Topology
Bus Topology gm 4 thnh phn chnh:
- Host v cc thit b: y l thnh phn s cp ca 1 h thng USB.
- Cu trc vt l: cho thy cc thnh phn ca USB c ni vi nhu nh th no.
- Cu trc logic: cho thy vai tr v trch nhim ca cc thnh phn USB khc nhau v
USB xut hin nh th no t hnh phi cnh ca Host v 1 thit b.
- Mi lin quan gia chc nng v phn mm khch (Client Software).
3.2.2.1. USB Host

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 34

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 3.4: Kt cu Host


Kt cu logic ca Host c ch ra trong hnh trn gm c:
-

B iu khin Host.

Phn mm h thng USB c gp chung (thc cht n gm: USB Driver,


Host Controller v Host software).

Phn mm khch (Client Software).

3.2.2.2. Cc thit b USB

Hnh v 3.5: Kt cu thit b vt l


Kt cu logic ca mt thit b USB vt l trong hnh trn gm:
-

Giao din bus USB.

Thit b USB logic.

Chc nng.

Cc thit b USB vt l cung cp cc chc nng b sung cho Host. Cc thit b USB khac
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 35

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

nhau th cung cp cc chc nng khc nhau. Mc d vy th cc thit b USB logic c ni


ghp ti Host c bn ging nhau.
3.2.2.3. Kin trc bus vt l (Physical Bus Topology)
Kt ni vt l ca cc thit b USB thng qua kin trc tng sao (tiered star topology) nh
hnh di. Cc im ni USB c thng qua bi 1 lp thit b USB c hiu l Hub.
Cc im ni b sung c kt ni thng qua Hub c gi l cc cng. Host bao gm c
1 Hub c ni vi n l Hub gc (Root Hub). Cc kt ni c thc hin ti cc cng
ca Hub gc. Cc thit b cung cp cc chc nng b sung cho Host c hiu l cc
chc nng (Funtion) .

Hnh v 3.6: Kin trc bus vt l USB


3.2.2.4. Kin trc bus logic
Trong khi cc thit b vt l c kt ni ti Host theo kin trc tng sao th qu trnh
truyn thng gia Host vi mi thit b logic c xem nh l kt ni trc tip ti cng
gc (root port). Trong trng hp ny th bn thn cc Hub cng l cc thit b logic,
nhng hnh v di y khng v ra cho hnh v n gin d hiu.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 36

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr


Hnh v 3.7: Kin trc bus logic USB

3.2.2.5. Mi quan h gia chc nng v phn mm khch


Trong qu trnh hot ng, phn mm khch nn c lp vi cc thit b khc c th c
gn ti USB.
3.2.3. Lung truyn thng USB

Hnh v 3.8: Lung truyn thng USB


USB c th cung cp dch v truyn thng gia phn mm trn Host v nhiu chc
nng ca USB, mi chc nng c th c yu cu lung truyn thng khc nhau cho mi
s tng tc vi phn mm. USB cung cp vic s dng ton b bus tt hn l vic cho
php tch ra nhiu lung truyn thng khc nhau ca 1 chc nng USB, mi lung truyn
thng s dng mt vi truy cp bus thc hin truyn thng gia phn mm v chc
nng ca USB. Mi lung truyn thng s kt thc ti mi im cui (end point) trn mt
thit b, thit b im cui c dng nhn dng lung truyn thng.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 37

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 3.9: Lung truyn thng USB

Phn mm trn Host lin lc vi thit b logic qua tp hp cc lung truyn thng. Tp
hp cc lung truyn thng s c la chn bi nh thit k phm mm hay phn cng
ph hp vi cc yu cu truyn thng ca thit b cng nh c tuyn truyn t ca
USB.
3.2.4. Cc loi truyn d liu USB
USB truyn d liu qua 1 ng dn (ng truyn) gia 1 bn l b nh m c lin kt
vi 1 phn mm khch trn my ch vi 1 bn l 1 im cui trn thit b USB. USB
cung cp cc dng truyn ti khc nhau c ti u ha p ng mt cch thch
hp nht cc nhu cu ca phn mm khch v chc nng.
C 4 kiu truyn USB:
-

Control tranfer (Truyn iu khin): thng s dng ci t phn cng v a


ra cc lnh cho iu khin thit b. Kiu truyn ny c lm vic mc u tin
cao vi kh nng kim sot li t ng. Mi gi tin c th truyn ln n 64byte.

Isochronous tranfer (truyn ng thi): khi lng d liu cn truyn ln vi tc


d liu c qui nh, chng hn nh dng cho card m thanh th thng p
dng truyn ng b. Theo cch truyn ny mt gi tr tc d liu xc nh
c duy tr. Vic hiu chnh li khng c thc hin v cc li l t cng khng
gy nh hng ng k n cht lng cuc truyn.

Interrup tranfer (Truyn ngt): s dng cho cc thit b cn cung cp mt lng d

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 38

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

liu nh (ch truyn theo hng vo) v tun hon chng hn nh: chut, bn phm
u s dng kiu truyn ngt. Khng ging nh c ch ngt, y khng c yu
cu ngt c gi ti ch USB m my tnh s hi vng theo chu k xem c thit
b no gi d liu ti khng. Thng thit b gi ti ch my tnh 8 byte d liu
trong mt ln truyn. Cc thit b s dng kiu truyn ngt nh bn phm, chut
hay cng c th dng cho mt thit b o lng khc.
-

Bus tranfer (Truyn khi): khi c lng d liu ln cn truyn v cn kim sot li
tryun, nhng li khng c yu cu thc p v thi gian truyn th d liu thng
c truyn theo kiu khi. Kiu truyn ny thng p dng cho cc thit b nh
my in, my qut.

3.3. Giao din vt l BUS USB


Bus USB c hai kiu u ni thng dng: kiu A v kiu B, thit k nh vy nhm mc
ch khng xy ra u ni nhm gia u cm vi thit b v u cm vi Hub. Khc vi
chun RS 232, vic u ni bus USB khng chia ra cc kiu u ni khc nhau, chng
hn ni thng v bt cho. Bus USB s dng mt Cable bn si dy ni vi cc thit
b, trong mt cp ng truyn hai si xon c dng lm cc d liu vi sai (D+ v
D-) cn hai dy lm ngun nui 5V v ni t (GND) (hnh 3.10).

Hnh 3.10: Cable USB


Cable ni lun thc hin s lin kt 1:1, ngha l Cable ch ni vi Hub v thit b. Kt
ni qua Cable USB s dng 4 ng dn c mu khc nhau qui nh cho cc tn hiu trn
bus.
Chn

Tn gi

Mu dy

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

M t

Trang 39

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

VCC

+5VCC

D-

Trng

D liu (D-)

D+

Xanh lc

D liu (D+)

GND

en

Ni t

Bng 3.11: Cc dy dn trong USB


Cc cm pha sau my tnh thng l kiu u ni A, qua c th ni trc tip cc
thit b USB vo my tnh PC. Cc thit b c tc thp chng hn nh chut cng c
th u thng vo cm ny bng mt phch cm cng kiu A.

Hnh 3.12: nh s cc chn ni cm USB v cab ni kiu A v B


3.4. Giao thc truyn
3.4.1. Cc trng trong truyn thng USB
Th t bit c truyn qua bus USB l bit c trng s nh nht (LSB) c truyn u
tin cho n bit MSB. USB c 4 loi gi truyn trn bus l: gi nhn dng (Token), gi
d liu (Data), gi khi u khung (Start Of Frame) v gi bt tay (Handshake). Trong
mi gi li gm c nhiu trng, truyn thng USB c cc loi trng sau:
-

Trng ng b (SYNC): tt c cc gi u c bt u bng trng SYNC,


l chui nh phn m NRZI (Non Return to Zero Inverted) ca chui KJKJKJ.
Vic s dng SYNC lm khi u cho mt gi n ging nh bit Start trong RS
232. Tt c cc gi u gii hn gia SOP (Start Of - Packet) v EOP (End Of
Packet).

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 40

N TT NGHIP
-

GVHD: TS. Nguyn Vn Minh Tr

Trng nhn dng (PID): theo sau ngay trng SYNC trong mi gi ca USB, gi
c chiu di 8bit gm 4 bit thp l 4bit nhn dng gi, 4bit cao l o ca 4bit thp
nhm kim sot li khi truyn. Trng PID m t loi gi s c truyn sau n.
C ch USB v cc thit b USB u nhn bit c cc m trng nhn dng
c qui nh. Nu m nhn c l khng nm trong cc m qui nh ch
USB s khng h tr. Sau y l bng danh sch m trng nhn dng ca cc
loi gi trong USB.

Trng a ch (ADDR): l a ch ring truy cp ti thit b. Thit b c th


nhn d liu hay truyn d liu v my ch (ph thuc vo gi tr gi nhn dng
PID) thng qua a ch ca n. Trng a ch s dng 7 bit [A0 A6]. Trng
a ch c trong cc gi IN, SETUP, OUT. Mi a ch, ch nh cho mt thit b
n l khi bt u c cp ngun cc thit b c a ch mc nh l zero v ch
USB nhn bng m t ca thit b thng qua a ch mc nh ny.

Trng im cui (End Point): mt trng im cui s dng 4 bit cho php la
chn im cui trong thit b. Tr im cui zero, s im cui l ring bit cho
tng thit b chc nng. Mt im cui l a ch ca mt b m trong thit b,
trng a ch c nh ngha trong cc gi IN, SETUP v OUT. T im cui
ti ch USB thit lp mt knh trao i thng tin gi l ng ng. Tt c cc
thit b chc nng u h tr mt ng ng mc nh vi im cui l zero, ch
USB s trao i vi thit b mi gn vo thng qua ng ng ny.

Trng s khung: trng s khung c di 11bit, n c gi trong gi SOF


(Start Of Frame Packets). SOF c gi bi ch USB theo chu k 1ms
0.005ms.

Trng d liu: trng d liu c di t 0 n 1023byte, cc byte c gi i


ln lt. Trong mi byte d liu bit d liu nh nht c gi trc v cui cng
l bit bit c trong s ln nht (Msb).

3.4.2. Cc loi gi trong truyn thng USB


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 41

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Gi nhn dng (Token Packets): ch cho bit loi truyn ngay sau n. C 3 loi gi nhn
dng:
-

IN: Bo thit b bit ch USB mun c thng tin.

OUT: bo cho thit b rng ch USB mun gi thng tin.

SETUP: c s dng bt u trong truyn iu khin.

Gi khi u khung (Start Of Frame): gi khi u khung c pht ra t ch USB theo


chu k 1.00ms

0.005ms, gi khi u khung (SOF) bao gm cc trng:

8bit: PID nhn dng loi gi.

11bit: s khung.

5bit: kim tra li CRC5.

Gi d liu (Data Packets): mt gi d liu bao gm mt trng PID (8bit).


Gi bt tay (Handshake Packets): c 3 loi gi bt tay
-

ACK: tr li d liu nhn thnh cng.

NAK: bo thit b khng tr li d liu nhn hay nhn b li. Tt c cc gi bt tay


u c truyn theo kiu ngt bo tin cho ch USB bit d liu khng c
gi.

STALL: ch ra rng thit b USB l khng c kh nng truyn hoc nhn d liu
hay ng ng yu cu l khng h tr.

3.5. im danh v gi phn mm iu khin


3.5.1. im danh
Kh nng t ng nhn ra v ci t phn mn iu khin cho cc thit b USB l do h
thng thng xuyn kim tra thng tin thit b trn cng. Vic im danh c thc hin
c lp bi h iu hnh, khng cn mt chng trnh ngi s dng phi thc hin cng
vic ny. Khi mt thit b USB c kt ni vo mng, hub nhn ra n thng qua mc
in p trn ng d liu. V trong mi thit b USB ng d liu c ni ngun
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 42

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

thng qua in tr, do khi kt ni vo bus in p ng d liu trn hub c a ln


mc cao bo cho hub bit mt thit b kt ni vo cng tng ng.
Khi h iu hnh nhn bit mt thit b mi c kt ni, n yu cu thit b kt ni cung
cp thng tin v thit b. Thit b c nhim v a ra bng cung cp thng tin v mnh
di dng mt bng m t (Description). Bng m t l mt cu trc d liu c qui
nh chnh xc v ni dung, cch sp xp d liu v chiu di ca n. H iu hnh da
vo thng tin cung cp t bng m t thit b m gi cc phn mm iu khin tng
ng.
3.5.2. Phn mm iu khin
Chc nng ca phn mm iu khin (driver) thit b ni chung, c th m t nh mt
mt xch lin kt gia phn cng v phn mm ca mt h thng. Trong mi trng t
Window 98 khng c mt chng trnh ng dng no c th truy cp trc tip ln phn
cng. Cch tt nht l gi ra mt phn mm iu khin thit b, phn mm ny trao i
trc tip vi phn cng hoc qua lp m nm su hn trong h thng. Phn mm iu
khin c cc nh sn xut thit b cung cp km theo v c vit trong khun kh u
t cho thit b ca mt cng ty. Phn mm lm vic trong ch li vi quyn u tin
cao hn. Mt phn mm iu khin c xem xt ging nh mt thit b o, ngha l mt
chng trnh ngi dng s dng mt phn mm iu khin ging nh chnh mt thit
b.
Tt c cc phn mm iu khin USB u da trn Win32-Driver-Model (WDM), m
hnh ny c s dng trong Window NT v c tng thch trong Window 98. Tt
c cc lnh gi phn mm iu khin u chy qua phm mm qun l vo/ra (I/O
Manager). Cc chng trnh ngi dng khc nhau gi gi yu cu ti phn mm qun l
vo/ra, phn mm ny sau phn phi ti phn mm iu khin c th.
3.6. Mt s vi mch s dng trong kt ni USB
Trn th trng hin nay cung cp mt s IC chuyn dng s dng cho vic kt ni
USB. Bn cnh nhiu vi iu khin (Microcontroller) ca cc hng khc nhau cng
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 43

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

tch hp cng USB to thun li trong vic s dng. Cc IC ny u tch hp phn cng
b tr t ng pht hin cc gi d liu, yu cu t ch USB, v t ng gi cc bng m
t thit b ti ch USB.
Cc vi mch h tr kt ni USB l cc Microcontroller c h tr phn cng, phn do.
Phn mm trao i dnh cho ngi thit k to iu khin ti a cho ngi s dng. Cc
Microcontroller h tr USB vi cc tc trao i tin: 1.5Mbps (Low - Speed), 12Mbps
(Full - Speed) v 480Mbps (Hight - Speed). Cc thit b truyn tin tc thp v trung
bnh nh: CY7C63001, AN21XX, CY7C64xxx, PIC18f4550, 68HC705JB2,v.v... Cc
thit b c tc cao nh: FTDI FT8U232, FTDI FT8U245, CY68013 FX2,
NET2280,v.v... Sau y l mt s vi iu khin hay dng:
CY7C63001
B vi x l 8bit theo khin trc Harvard.
-

Chy h 6MHz.

128byte RAM.

H tr USB tc 1.5Mbps.

ng gi 20 chn.

PIC16C745, PIC16C765 (Microchip)


-

H tr USB 1Mbps vi 6 im cui.

5 knh ADC 8bit,v.v

PIC18F4550 (Microchip)
-

H tr USB 12Mbps vi 16 im cui. Mi im cui 2 b m 512byte.

Chy xung nhp 48MHz.

NET2888 (Netchip)
-

H tr USB 1.0 v 1.1.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 44

N TT NGHIP
-

H tr 5 m cui.

Chy vi xung nhp 48MHz.

GVHD: TS. Nguyn Vn Minh Tr

68HC705JB3 (Motorola)
-

H tr USB tc 1.5Mbps.

H tr 2 ngt iu khin im cui.

144byte RAM.

PDIUSBD11 (ca Philips)


-

H tr USB 12Mbps.

Mt im iu khin v 6 im cui chung.

Chy vi xung nhp 12MHz.

CY7C68001
-

H tr USB tc 480Mbps v 12Mbps.

H tr 5 im cui vi b m 512byte cho truyn khi v 1024byte cho truyn


ng thi. 4Kbyte FIFO.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 45

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

CHNG 4:
THIT K V CH TO CC KHI CHC NNG
4.1. Khi ngun nui in p thp

Hnh v 4.1: Khi ngun nui


Cc c trng thit k ngun nui in p thp:
-

in p li vo 220 VAC

Trong mch ngun nui c s dng Bin p ngun i: -12V| 0V|+12V

Dng cc i li ra l : 1A

4.2. Mch x l trung tm

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 46

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 4.3: Mch x l trung tm

Hnh v 4.4: Mch ngun cho vi iu khin


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 47

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Hnh v 4.5: Mch hin th lcd

Hnh v 4.6: Mch led bo trng thi

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 48

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

4.3. Mch phn p


4.3.1. Mch phn p DC

Hnh v 4.7: Mch phn p DC


3.2. Mch phn p AC

Hnh v 4.8: Mch phn p AC

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 49

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

4. Mch cng

Hnh v 4.9: Mch cng


* Mt s linh kin khc s dng trong mch
LM324

Hnh v: LM324
LM324 l mt IC khuch i thut ton, cng sut thp bao gm 4 b khuch i thut
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 50

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

ton (Op-Amp) trong n. Thng thng mt b khuch i thut ton (Op-Amp) th cn


phi c ngun i. Tc l phi c ngun dng v ngun m. Chng hn nh Opamp
741. Tuy nhin cc Opamp trong LM324 c thit k c bit s dng vi ngun
n. Tc l ch cn Vcc v GND l .
Mt iu c bit na l ngun cung cp ca LM324 c th hot ng c lp vi ngun
tn hiu. V d ngun cung cp ca LM324 l 5V nhng n c th lm vic bnh thng
vi ngun tn hiu ng vo V+ v V- l 15V.
Vn cn quan tm khi thit k mch vi IC LM324:
-

in p cung cp: Ngun cung cp cho LM324 tm t 5V~32V.

p ti a ng vo: t 0~32V i vi ngun n v cng tr 15V i vi ngun


i.

Cng sut ca Lm324 loi chn cm (Dip): khong 1W.

in p ng ra: t 0 ~ (Vcc - 1,5V).


+ Dng ng ra khi mc theo kiu y dng (dng Sink): dng y ti a t c

20mA.
+ Dng ng ra khi mc theo kiu ht dng (dng Souce): dng ht ti a c th ln
n 40mA.
-

Tn s hot ng ca LM324: 1MHz.

li khuch i in p DC ca LM324 ti a khong 100 dB.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 51

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Chng 5: CC GII THUT PHN MM


5.1. Gii thut cho vi iu khin

Hnh v 5.1: Thut ton khi vi iu khin

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 52

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Chng trnh CCS:


#define __USB_PIC_PERIF__ 1//Pic lam thiet bi ngoai vi
#include <18F4550.h>
#device ADC=8

//khai bao thu vien Pic18f4550


//dung bo chuyen doi analog sang so 8 bit

#fuses
HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
//Cau hinh cho Pic
#use delay(clock=48000000)
//khai bo cc hng
#DEFINE USB_HID_DEVICE TRUE // S dng lp HID
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //Kiu truyn ngt
#define USB_EP1_TX_SIZE

32 // Dng 32 bytes b nh phn cng

#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT // Kiu truyn ngt


#define USB_EP1_RX_SIZE

32 //Dng 32 bytes b nh phn cng

// Liet ke cac thu vien trong CCS


#include <pic18_usb.h> //Khai bao thu cvien usb trong pic18
#include <usb_desc_hid-8-byte.h> //Cau hinh va mo ta thiet bi cho thiet bi USB
#include <usb.c>

//cai dat ma nhan dang va mo ta thiet bi usb

#include <lcd_lib_4bit.c> //khai bao thu vien lcd 4 bit


//Khai bao cac bien
int16 CCP1Value,CCP2Value;

// Gia tri CCP hien tai

int16 CCP1OldValue,CCP2OldValue; // Gia tri CCP truoc do


int16 dem=0;

//dem ngat timer1

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 53

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

int8 h=12;
int16 freqAC_high,freqAC_low,freqPulse_high,freqPulse_low;
//BOOLEAN CCP1Captured;
//chuong trinh debug giam sat tinh trang ket noi cua usb vao host
void usb_debug_task(void)
{
static int8 last_connected;
static int8 last_enumerated;
int8 new_connected;
int8 new_enumerated;
new_connected=usb_attached();
new_enumerated=usb_enumerated();
if(new_enumerated)
{
output_high(pin_b0);
delay_ms(10);
output_low(pin_b0);
delay_ms(10);
}
else
output_high(pin_b0);
last_connected=new_connected;
last_enumerated=new_enumerated;
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 54

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

}
//dinh nghia cac gia tri host truyen xuong
#define kenhAC

#define kenhPulse

10

#define kenhDC

11

#define ca3kenh

12

///////////////////////////////////////////
#int_timer1
void count_interupt()
{
dem++;
}
#int_ccp1
void capture_freqAC()
{
CCP1Value = CCP_1 +(65535*dem-CCP1OldValue);
CCP1OldValue = CCP_1;
dem=0;
}
#int_ccp2
void capture_freqFulse()
{
CCP2Value = CCP_2 +(65535*dem-CCP2OldValue);
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 55

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

CCP2OldValue = CCP_2;
dem=0;
}
void main()
{
unsigned int8 in_data[8];
unsigned int8 out_data[8];
unsigned int8 timebase=100;
unsigned int16 ADC0;//gia tri adc doc tu chan an0
unsigned int16 ADC1;//gia tri adc doc tu chan an1
unsigned int16 ADC2;//gia tri adc doc tu chan an2
unsigned int16 ADC3;//gia tri adc doc tu chan an3
output_high(pin_b0);//tat led o chan b0
output_low(pin_b4);// tat led o chan b4
output_low(pin_b2);// tat led o chan b2
output_low(pin_b3);// tat led o chan b3
//cai dat adc
setup_adc(ADC_CLOCK_INTERNAL);//thoi gian chuyen doi ADC theo xung noi VK
setup_adc_ports(AN0_TO_AN3 | VSS_VDD);//chon kenh do an0 ,an1,an2,an3
set_adc_channel(0);
//capture gia tri timer1
SETUP_TIMER_1(T1_INTERNAL | T1_DIV_BY_8);//Timer1 nh th
setup_ccp1(CCP_CAPTURE_RE);//Capture theo cnh ln
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 56

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

setup_ccp2(CCP_CAPTURE_FE);//Capture theo cnh xung


set_timer1(0);
CCP1Value = 0;
CCP1OldValue = 0;
CCP2Value = 0;
CCP2OldValue = 0;
//CCP1Captured = TRUE;
enable_interrupts(INT_CCP1);//dung bo capture1
enable_interrupts(INT_CCP2);//dung bocapture2
enable_interrupts(INT_TIMER1);//ngat timer1
enable_interrupts(GLOBAL);

//ngat toan cuc

usb_init();
lcd_init();
set_adc_channel(0);
read_adc();
delay_us(1);
lcd_putcmd(line_1);
printf(lcd_putchar,"Do An Tot Nghiep

");

lcd_putcmd(line_2);
printf(lcd_putchar," Khoa Dien-BKDN

");

delay_ms(2000);
lcd_putcmd(line_1);
printf(lcd_putchar," OscilloScope

");

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 57

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

lcd_putcmd(line_2);
printf(lcd_putchar," Pic18F4550

");

while (TRUE) {
usb_task();
usb_debug_task();
if (usb_enumerated())
{
if (usb_kbhit(1))
{
usb_get_packet(1, in_data, 8);
switch (in_data[0])
{
case 1: timebase = 4;

break;//1ms

case 2: timebase = 21;

break;//5ms

case 3: timebase = 43;

break;//10ms

case 4: timebase = 216;

break;//20ms

case 5: timebase = 436;

break;//50ms

case 6: timebase = 1248;

break;//100ms

case 7: timebase = 2456;

break;//200ms

case 8: timebase = 6125;

break;//500ms

}
switch (in_data[1])
{
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 58

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

case kenhAC: //kenhAC


{
//bong bao
output_high(pin_b4);//bat led b4
output_low(pin_b2);// tat led b2
output_low(pin_b3);// tat led b3
//Doc ADC
set_adc_channel(0);
delay_us(1);
ADC0 = read_adc();
delay_us(5);
set_adc_channel(2);
delay_us(1);
ADC2 = read_adc();
delay_us(5);
//chia tan so
freqAC_high=CCP1value /256;//byte cao cua tan so
freqAC_low=CCP1value %256; //byte thap cua tan so
//// truyen du lieu 8 bit
out_data[0]=ADC0;
out_data[1]=ADC2;
out_data[4]=freqAC_high;//truyen byte cao cua tan so dong xoay chieu
out_data[5]=freqAC_low;//truyen byte thap cua tan so dong xoay chieu
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 59

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

}
break;
case kenhPulse://kenh do xung
{
//led bao
output_high(pin_b2);//bat led b2
output_low(pin_b4);//tat led b4
output_low(pin_b3);//tat led b3
//doc adc
set_adc_channel(1);
delay_us(1);
ADC1 = read_adc();
delay_us(5);
//chia tan so
freqPulse_high=CCP2value /256;//byte cao cua tan so xung
freqPulse_low= CCP2value %256; //byte thap cua tan so xung
////truyen du lieu 8 bit
out_data[2]=ADC1;
out_data[6]=freqPulse_high;//truyen byte cao cua tan so xung
out_data[7]=freqPulse_low;//truyen byte thap cua tan so xung
}
break;
case kenhDC://kenh DC
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 60

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

{
//led bao
output_high(pin_b3);//bat led b3
output_low(pin_b2);//tat led b2
output_low(pin_b4);//tat led b4
//doc adc
set_adc_channel(3);
delay_us(1);
ADC3 = read_adc();
delay_us(5);
////truyen du lieu 8 bit
out_data[3]=ADC3;
}
break;
case ca3kenh: //2 kenh AC va DC
{
//led bao//
output_high(pin_b4);//
output_high(pin_b2);//
output_high(pin_b3);//
//doc adc1
set_adc_channel(1);
delay_us(1);
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 61

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

ADC1 = read_adc();
delay_us(5);
//doc adc0
set_adc_channel(0);
delay_us(1);
ADC0 = read_adc();
delay_us(5);
//doc adc2
set_adc_channel(2);
delay_us(1);
ADC2 = read_adc();
delay_us(5);
//doc adc3
set_adc_channel(3);
delay_us(1);
ADC3 = read_adc();
delay_us(5);
//chia tan so
freqAC_high=CCP1value /256;//byte cao cua tan so dong xoay chieu
freqAC_low=CCP1value %256; //byte thap cua tan so dong xoay chieu
freqPulse_high=CCP2value /256;//byte cao cua tan so xung
freqPulse_low= CCP2value %256; //byte thap cua tan so xung
//truyen du lieu
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 62

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

out_data[0]=ADC0;
out_data[1]=ADC2;
out_data[2]=ADC1;
out_data[3]=ADC3;
out_data[4]=freqAC_high;//truyen byte cao cua tan so dong xoay chieu
out_data[5]=freqAC_low;//truyen byte thap cua tan so dong xoay chiieu
out_data[6]=freqPulse_high;//truyen byte cao cua tan so xung
out_data[7]=freqPulse_low;//truyen byte thap cua tan so xung
}
break;
}
for(h=0;h<timebase;h++); //thoi gian truyen goi du lieu tiep theo
usb_put_packet(1, out_data, 8,USB_DTS_TOGGLE); //Truyen du lieu len may
tinh
}
}
}
}

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 63

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

5.2. Gii thut cho my vi tnh

Hnh v 5.2: Thut ton trn my vi tnh


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 64

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Chng trnh Visual basic 6.0:


Option Explicit
Dim timer As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long,
ByVal y As Long) As Long
Private Declare Function SetPixelV Lib "gdi32" (ByVal hDC As Long, ByVal x As Long,
ByVal y As Long, ByVal Color As Long) As Byte
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Dim REX() 'REX[ ] holds the real part of the frequency domain
Dim IMX() 'IMX[ ] holds the imaginary part of the frequency domain
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
If Command2.Caption = "Start" Then
Command2.Caption = "Stop"
Data.Enabled = True
'timer = 1
countt.Enabled = True
Else
Command2.Caption = "Start"
Data.Enabled = False
countt.Enabled = False
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 65

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

End If
End Sub
Private Sub Command3_Click()
With TChart1
.Zoom.ZoomRect .Axis.Bottom.CalcXPosValue(50), _
.Axis.Left.CalcYPosValue(.Axis.Left.MaxYValue), _
.Axis.Bottom.CalcXPosValue(100), _
.Axis.Left.CalcYPosValue(.Axis.Left.MinYValue)
End With
End Sub
Private Sub Command4_Click()
TChart1.Zoom.Undo
End Sub
Private Sub Command5_Click()
TChart1.Axis.Bottom.Scroll 10, False
End Sub
Private Sub Command6_Click()
Form1.PrintForm
End Sub
Private Sub countt_Timer()
timer = timer + 1
End Sub
Private Sub Data_Timer()
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 66

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

On Error Resume Next


Dim freqAC_low, freqAC_high As Byte ' tan so dong xoay chieu
Dim freqPulse_low, freqPulse_high As Byte ' tan so xung
Dim adc1_low, adc1_high As Byte ' adc kenh 1
Dim adc2_low, adc2_high As Byte 'adc kenh 2
Dim freq_sumAC As Long
Dim freq_sumPulse As Long
Dim total As Long
Dim voltageAC, voltagePulse, voltageDC, freqAC, freqPulse, ADC1, ADC2, ADC3,
ADC4, vhd, amp_display As Double
If Not MyDeviceDetected Then
FindTheHid
If MyDeviceDetected Then
Label2.Caption = "DETECTED USB"
Label2.ForeColor = RGB(0, 255, 0) 'green
Else
Label2.Caption = "NOT DETECTED USB"
Label2.ForeColor = RGB(255, 0, 0) 'red
End If
End If
Call ReadAndWriteToDevice
Call time_base
Call select_channel
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 67

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

'//////////////////doc tan so kenh AC///////////////


freqAC_low = ReadBuffer(6)
freqAC_high = ReadBuffer(5)
freq_sumAC = freqAC_low + freqAC_high * 256
freqAC = 12000000 / (freq_sumAC * 8)
''''''''''''''''''''''''''''''''
''''''''''''doc tan so kenh do xung''''''''''''''''
freqPulse_low = ReadBuffer(8)
freqPulse_high = ReadBuffer(7)
freq_sumPulse = freqPulse_low + freqPulse_high * 256
freqPulse = 12000000 / (freq_sumPulse * 8)
'''''''''adc va dien ap kenh do dien ap AC'''''''''''''
'adc1_high = ReadBuffer(1)
'adc1_low = ReadBuffer(2)
'ADC1 = adc1_low + adc1_high * 256
ADC1 = ReadBuffer(1)
ADC3 = ReadBuffer(2)
voltageAC = ADC1 / 255 * 50 ''dung de ve do thi
amp_display = ADC3 / 255 * 50 ''dung de hien thi gia tri bien do
vhd = amp_display / 1.41421356 ''gia tri hieu dung
'''''''''''adc va dien ap kenh 2'''''''''
'adc2_high = ReadBuffer(3)
'adc2_low = ReadBuffer(4)
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 68

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

'ADC2 = adc2_low + adc2_high * 256


ADC2 = ReadBuffer(3)
voltagePulse = ADC2 / 255 * 5
'''''''''Kenh do DC'''''''''''
ADC4 = ReadBuffer(4)
voltageDC = ADC4 / 255 * 50
'''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''hien thi ket qua lan cac label'''''
''''''hien thi kenh do dien ap AC
Label4.Caption = "Freq_AC:" & " " & Format(freqAC, "0.00") & " " & "Hz"
Label5.Caption = "RMS:" & "

" & Format(vhd + 3, "0.00")

Label6.Caption = "AMP:" & " " & Format(amp_display + 3, "0.00") & " " & "V"
''''''''''''hien thi kenh do dien ap Pulse''''''
Label7.Caption = "Freq_Pulse:" & " " & Format(freqPulse, "0.00") & " " & "Hz"
Label8.Caption = "ADC Value:" & " " & Format(ADC2, "0")
Label9.Caption = "Voltage Pulse:" & " " & Format(voltagePulse, "0.00") & " " & "V"
''''''''''''''hien thi dien ap DC''''''''''''''''''''''
Label23.Caption = Format(voltageDC, "0.00") & " " & "V"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''VE DO THI DANG SONG BANG TEECHART""""""""""""""""""
''''''''////////tab do dien ap xoay chieu//////////////////
TChart1.Axis.Left.SetMinMax -HScroll1.Value, HScroll1.Value
TChart1.Series(0).AddXY timer * 1, voltageAC - 25, "", vbRed 've do thi
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 69

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

TChart1.Series(1).AddXY timer * 1, voltagePulse, "", vbBlue 've do thi


TChart1.Series(3).AddXY timer * 1, voltageDC, "", vbGreen 've do thi
'TChart1.Series(3).AddXY timer * 1, voltage4, "", vbYellow 've do thi
TChart1.Series(2).AddXY timer * 5, 0, "", vbBlack 've do thi truc hoanh
TChart1.Page.Current = TChart1.Page.Count
''''''''////////tab do dien ap 1 chieu//////////////////
'TChart2.Axis.Left.SetMinMax -6, 6
'TChart2.Series(0).AddXY timer * 1, voltage3, "", vbGreen 've do thi
'TChart2.Series(1).AddXY timer * 1, voltage4, "", vbBlack 've do thi
'TChart2.Page.Current = TChart2.Page.Count
'/////////////////////////////////////////////////////////////////////////////
End Sub
Private Sub time_Timer()
Label3.Caption = " Time " & " " & Format(Now, "hh:nn:ss")
End Sub
Private Sub time_base()
If Option1(0) Then
OutputReportData(0) = 1 '1
Data.Interval = 1
ElseIf Option1(1) Then
OutputReportData(0) = 2 '5
Data.Interval = 5
ElseIf Option1(2) Then
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 70

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

OutputReportData(0) = 3 '10
Data.Interval = 10
ElseIf Option1(3) Then
OutputReportData(0) = 4 '20
Data.Interval = 20
ElseIf Option1(4) Then
OutputReportData(0) = 5 '50
Data.Interval = 50
ElseIf Option1(5) Then
OutputReportData(0) = 6 '100
Data.Interval = 100
ElseIf Option1(6) Then
OutputReportData(0) = 7 '200
Data.Interval = 200
ElseIf Option1(7) Then
OutputReportData(0) = 8 '500
Data.Interval = 500
End If
End Sub
Private Sub select_channel()
If Option2(0) Then
OutputReportData(1) = 9

'kenh AC==an0

Label4.Enabled = True 'kenh


SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 71

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Label5.Enabled = True 'kenh


Label6.Enabled = True 'kenh
Label7.Enabled = False 'kenh
Label8.Enabled = False 'kenh
Label9.Enabled = False 'kenh
Label22.Enabled = False 'kenh3
Label23.Enabled = False 'kenh3
ElseIf Option2(1) Then
OutputReportData(1) = 10

'kenh Pulse==an1

Label7.Enabled = True 'kenh2


Label8.Enabled = True 'kenh 2
Label9.Enabled = True 'kenh2
Label4.Enabled = False 'kenh1
Label5.Enabled = False 'kenh1
Label6.Enabled = False 'kenh1
Label22.Enabled = False 'kenh3
Label23.Enabled = False 'kenh3
ElseIf Option2(2) Then
OutputReportData(1) = 11

'kenh DC==an3

Label7.Enabled = False 'kenh2


Label8.Enabled = False 'kenh 2
Label9.Enabled = False 'kenh2
Label4.Enabled = False 'kenh1
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 72

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Label5.Enabled = False 'kenh1


Label6.Enabled = False 'kenh1
Label22.Enabled = True 'kenh3
Label23.Enabled = True 'kenh3
ElseIf Option2(3) Then
OutputReportData(1) = 12 ' ca 3 kenh
Label4.Enabled = True 'kenh1
Label5.Enabled = True 'kenh1
Label6.Enabled = True 'kenh1
Label7.Enabled = True 'kenh2
Label8.Enabled = True 'kenh2
Label9.Enabled = True 'kenh2
Label22.Enabled = True 'kenh3
Label23.Enabled = True 'kenh3
End If
End Sub

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 73

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Chng 6: KT QU V NHN XT

6.1.Kt qu t c:
Giao din chng trnh Visual Basic 6.0:

Dng sng in p 50Hz:

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 74

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Dng xung 10KHz:

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 75

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

M hnh thc t:

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 76

N TT NGHIP

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

GVHD: TS. Nguyn Vn Minh Tr

Trang 77

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

6.2. Kt lun:
6.2.1 Kt qu t c:
Qua thi gian tm hiu v nghin cu,em hon thnh n vi nhng kt qu t c
nh sau:
- hon thnh nhim v ca n l thit kt ch to mt b o hin th dng sng
in p s dng vi iu khin Pic18F4550 (ca hng Microchip) ghp ni my tnh qua
chun giao tip USB 2.0 .
- ch to thnh cng b o sng n gin,r tin,nhng cng kh cht lng vi cu
to n gin,d nng cp phn cng ln phn mm,c giao din ngi dng d s
dng,ghp ni vi my tnh qua cp USB gn nh phc v cho vic hc tp v nghin
cu ca sinh vin,c bit l nhng sinh vin chuyn ngnh v in-in t.
-Thit b ch to c th o c in p t 0-50 V vi in p mt chiu,v t 0-35 V
i vi in p xoay chiu.Ngoi ra c th o v hin th dng sng ca in p c tn s
t 50Hz-10KHz.
-Thit b hot ng kh n nh.
6.2.2 Nhng hn ch ca ti:
Do hn c hn ch v mt thi gian tm hiu i vi dng Pic18 ca Microchip v
chun giao tip USB 2.0,cng nh mt s iu kin khch quan ln ch quan khc m
ti cn mt s hn ch nh sau:
- Kt qu hin th vn cha t c chnh xc cao.
- Gii hn thang o in p v tn s cn thp.
- Phn m hnh thit b vn cha c gn nh ti u.
-Vn cn nhiu v dng sng khi o nhiu knh cng mt lc.

6.2.3 Hng pht trin v ng dng ti vo thc t:

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 78

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

thit b ca ti thc s c i vo thc t khai thc hiu qu vi mc ch phc


v cho vic hc tp nghin cu ca hc sinh sinh vin th cn c mt s ci tin v hon
thin ti nh sau:
-Nng cao di in p v tn s o cho thit b.
-Tm cch chng nhiu cho thit b khi o cng lc nhiu knh, thit b hot ng ng
chc nng l o a knh.
-C th dng nhng loi vi iu khin cp cao hn,mnh hn nh DsPic,Pic32 s
dng chun giao tip USB 3.0 tng tc x l,tc truyn d liu kt qu o
gn st vi gi tr thc t hn. S dng nhng chip c b chuyn i analog sang s
(khi ADC) c phn gian cao hn dng sng in p ra mn hn,chnh xc hn

Ph Lc
Trnh bin dch CCS v mch np Burn-E

I.Gii thiu v trnh bin dch CCS


1.Tng quan v CCS:
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 79

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

CCS l trnh bin dch ngn ng lp trnh bc cao C cho vi iu khin Pic ca
Microchip.Chng trnh ny l s tch hp ca 3 trnh ring bit cho 3 dng Pic khc
nhau l:
-PCB cho dng Pic 12-bit opcodes
-PCM cho dng Pic 14-bit opcodes
-PCH cho dng Pic 16 v 18 bit
Tt c 3 trnh bin dch ny c tch hp li vo trong mt chng trnh bao gm c
trnh son tho v trnh bin dch CCS.

1. u v nhc im ca trnh bin dch CCS:


Hin nay c nhiu chng trnh son tho v bin dch C cho Vi iu khin nh: KeilC,HT-PIC,MikroC ,CCSTuy nhin trong n ny em chn trnh bin dch CCS v
nhng u v nhc im sau:
+ u im:
- D s dng v n n gin,n gn vi ngn ng C bnh thng.
- C h tr mt khi lng ln cc th vin c sn,ngi dng c ch cn khai bo ra
v s sng.Do vy c th rt ngn thi gian lp trnh.Ngi dng cng c th to ra
nhng thu vin ring bit theo nhu cu trong d n ca mnh.
- C h tr nhiu cng c i km,c phn Help kh y h tr cho vic t hc tp.
- N ph bin v ra i t kh sm nn c nhiu ti liu tham kho,hc tp v
nghin cu.
- Ngi vit khng nht thit phi nm vng v phn cng ca Vi iu khin.
-Giao din chng trnh n gin,d s dng to ra cac Project ca mnh.
+ Nhc im:
-Khng th kt hp vi c php ca chng trnh khc.
-Khng ti u v code,cng nt chng trnh th ngn ng Asembly cho chip chy n
nh hn v di m my ngn hn.
-Kh c th lp trnh theo hng thi gian thc v nhng ng dng kht khe v thi
gian tnh ton.
SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 80

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

3. Giao din chng trnh bin son v bin dch CCS:

II. Mch np chng trnh Burn -E:


Hnh dng bn ngoi ca mch np Burn-E

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 81

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

Cc thng s ca mch np:


-Board si RF4 2 lp, dy 1.0mm.Linh kin b tr trn mt mt duy nht.
-Kch thc 62x20x9 mm.
-Giao tip USB 2.0 Full speed 12Mbits/s.
-ng np ni tip ICSP -6 chn.
-Cp nht Firmware qua phn mm Burn-E.
-Tng thch vi h iu hnh Windows Xp,Vista,Win 7(32bit va 64 bit).
-Khng cn ci t Driver.(Plug and Play)
Mch np v phn mm Burn-E c th h tr ti 700 Chip khc nhau ca nhiu nh sn
xut.
Giao din chng trnh np Burn-E:

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 82

N TT NGHIP

GVHD: TS. Nguyn Vn Minh Tr

III. Ti liu tham kho:


[1] Microchip technology Inc. PIC18F2455/2550/4455/4550 datasheet.
[2] Datasheet LM324, TL084, LM741,LM7805,LM7812
[3] Help CCSC, Microchip.
[4] Cc ti liu nc ngoi tham kho trn Internet Usb-in-a-nutshell,Usb complete,Usb
connectors.
[5] Gio trnh Vi iu khin Trn Thi Anh u-Khoa in-HBK Nng.
[6] Gio trnh Ghp ni v iu khin thit b ngoi vi-Nguyn Vn Minh Tr-Khoa
in-HBK Nng.
[7] Gio trnh K thut xung s-Lm Tng c & Trn nh Khi Quc-Khoa inHBK Nng.
[8] Cc trang web v din n nh:
http://www.google.com.vn/,
http://www.picvietnam.com/forum/
http://www.dientuvietnam.net/forums/forum.php
V mt s trang web v mt s din n ca nc ngoi khc.

SVTH: V Quang Huy H Quang Hiu- Lp: 08D1

Trang 83

You might also like