Professional Documents
Culture Documents
TI LI U LU HNH N I B
L I NI U
Ngy nay, my vi tnh (MVT) c c i ti n, nng c p v th tr ng ho t t c x l c c nhanh, gi thnh r . Trong nh ng th p nin qua, MVT c p d ng kh p m i ni, thay th cho cc h th ng c nhi u nh c i m. c bi t, trong h th ng i n, i n cng nghi p, MVT c ng d ng ngy cng nhi u, mang l i nhi u tnh nng u vi t cho h th ng. Do yu c u pht tri n l thuy t v h th ng c s d ng MVT m ra nhi u lnh v c h c m i. M t v d c th c a vi c ng d ng MVT trong cng nghi p l cc h th ng o l ng v i u khi n s d ng MVT. Trong cc h th ng ny, MVT nh n cc d li u o t tr ng thi v t l c a h th ng, vi d nh nhi t , p su t, i n p , v tnh ton a ra nh ng quy t nh, tn hi u i u khi n tr l i h th ng, nh m t c cc yu c u i u khi n ra c a h th ng. Mu n thi t k , v n hnh v b o qu n t t h o-i u khi n cng nghi p, ng i k s c n n m v ng v k thu t my tnh, cch vi t chng trnh, k thu t ghp n i thi t b ngo i vi, vi c x l s li u, l thuy t i u khi n s Mn h c ghp n i v i u khi n thi t b ngo i vi (TBNV) nh m cung c p cc ki n th c c b n trong vi c tm hi u, thi t k m ch ghp n i ngo i vi v i MVT. Cc m ch thi t k ph c v cho vi c o l ng, i u khi n, giao ti p gi a MVT v i MVT, MVT v i h vi i u khi n.
M CL C
CHNG 1: C S
1.1. Gi i thi u chung 1.1.1. C u trc h th ng 1.1.2. Nhi m v c a b ghp n i 1.1.3. Th t c trao i d li u c a my vi tnh 1.2. Gi i thi u m t s vi m ch dng trong b ghp n i 1.2.1. Cc m ch logic c b n 1.2.2. Cc m ch l t 1.2.3. Cc m ch thanh ghi m 1.2.4. Cc m ch gi i m a ch 1.2.5. Cc m ch truy n d li u
LI U N I TI P
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 3.1.3 Th t c trao i d li u n i ti p 3.2 M ch thu pht d b v n nng UART 8250 3.2.1 S kh i v ch c nng cc kh i c a UART 8250 3.2.2 Ghp n i v i UART 8250 3.2.3 L p trnh cho UART 8250
V S -TNG T
6.1. Gi i thi u m t s m ch khu ch i thu t ton 6.1.1 Cc tham s c b n c a m ch khu ch i thu t ton 6.1.2 Cc s c b n c a b khu ch i thu t ton 6.2 B chuy n i s -tng t DAC 6.2.1 Ho t ng c a DAC 6.2.2 Cc tham s c b n c a b chuy n i c a DA 6.2.3 Cc m ch DAC i n hnh 6.2.4 Ghp n i v i DAC 6.2.5 L p trnh xu t d li u ra DAC 6.3 B bi n i tng t -s ADC Gi ng vin: Nguy n Vn Minh Tr 4
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 6.3.1 Nguyn t c lm vi c c a ADC 6.3.2 Cc tham s c b n c a b chuy n i AD 6.3.3 Cc phng php chuy n i AD 6.3.4 Ghp n i v i ADC 6.3.5 L p trnh nh n d li u t ADC
CHNG 7:
C S
1.1.1 C u trc h th ng My vi tnh hay h vi x l u c c u trc chung do Phn Ni-Man xu t g m kh i x l trung tm (CPU), b nh (M) v cc c a vo/ra (I/O), nh trn hnh 1.1. Ngoi ra, MVT cn c n ph i trao i d li u v mi tr ng bn ngoi, v d giao ti p v i ng i s d ng qua bn phm-mn hnh, trao i d li u v i cc thi t b ngoi thng d ng, cc thi t b ngoi trong h o-i u khi n, v cc MVT khc trong m ng. Do cc b ghp n i thi t b ngo i vi (BGN TBNV) c xy d ng, g m: BGN cc thi t b vo chu n nh bn phm, con chu t BGN cc thi t b ra chu n nh mn hnh, my in BGN cc b nh ngoi chu n nh c ng, CD-ROM BGN v i MVT khc trong m ng nhi u MVT. BGN v i h vi i u khi n, h vi x l. BGN h o l ng - i u khi n: RAM V X L BGN Bn phm Mn hnh BGN My in BGN b nh ngoi ROM ng dy d li u v a ch MVT ng dy i u khi n
BGN Vo/ra
BGN Vo/ra
c ng
C m bi n o l ng
C c u ch p hnh
Thi t b CN
MVT /Vi K Hnh 1.1: C u trc h GN trao i d li u tin gi a MVT v TBNV Trong : VXL l vi t t t c a vi x l RAM l random-access memory ROM l read-only memory BGN l b ghp n i CD-ROM l compact disk read-only memory CN l cng nghi p K l i u khi n Gi ng vin: Nguy n Vn Minh Tr 6
t bi t trong h o l ng - i u khi n, MVT nh n d li u tr ng thi v t l c a h th ng (nhi t , p su t, i n p, dng i n) d i d ng tn hi u i n, t u d cc b c m bi n (sensor), b chuy n i (tranducer), b pht hi n (detector). V MVT cn nh n thng tin v tr ng thi s n sng hay b n c a thi t b o. MVT sau a tn hi u ch p nh n trao i d li u v i TBNV, thu th p v x l d li u, tnh ton cc tn hi u i u khi n a ra cc c c u ch p hnh (cc van ng m , cc rle trong m ch i n, cc m ch ng l c i u t c ng c i n), hay a ra cc thng s k thu t cho thi t b . Ngoi ra, MVT cn c n lu tr d li u trn c ng, a compact (CD-ROM) tra c u lc c n, hi n th k t qu o d i d ng b ng s li u, d ng th hay hnh v ho trn mn hnh. 1.1.2 Nhi m v c a b ghp n i TBNV c ghp n i v i MVT thng qua cc ph n thch ng v cng ngh v thch ng logic nh hnh 1.2. GN cng ngh lm nhi m v i u ch nh m c tn hi u gi a cng ngh s n xu t TBNV v cng ngh s n xu t cc m ch c u trc nn BUS c a MVT. GN logic lm nhi m v t o cc tn hi u i u khi n TBNV t nh ng tn hi u trn BUS h th ng. Nhi m v c a BGN l ph i h p trao i d li u gi a MVT v TBNV. 1. Ph i h p v m c v cng su t tn hi u - M c tn hi u c a MVT th ng l m c TTL (0V, 5V), trong khi TBNV c m c i n tho i (15V, 48V) hay m c i n cng nghi p (220V/380V). - Cng su t ng dy MVT nh (c ch c mA), trong khi cng su t c n cho TBNV l r t l n ty theo t ng h th ng. Do BGN ph i bi n i i n p v khu ch i cng su t cho ph h p gi a MVT v TBNV. Th ng dng vi m ch 3 tr ng thi a d `li u ra, a d li u vo. Do vi m ch s tr ng thi tr khng cao khi khng c trao i d li u, c l p TBNV v i MVT, khng tiu th m t cht cng su t no c a ng dy v b o v MVT. 2. Ph i h p v d ng d li u - D li u trao i c a MVT lun l song song d ng s nh phn, c th truy n theo 8 bit, 16 bit, 32 bit, 64 bit. - D li u c a TBNV c th song song 8 bit v 16 bit, n i ti p ho c tn hi u lin t c. Do BGN s chuy n i d ng d li u cho ph h p gi a MVT v TBNV, v d chuy n i t tn hi u lin t c sang tn hi u s . 3. Ph i h p v t c trao i d li u - MVT th ng ho t ng v i t c cao (t n s ln t i hng trm MHz) trong khi TBNV th ng ho t ng ch m hn nhi u. Do BGN nh n v lu d li u t MVT r i truy n cho TBNV theo ph p ch m c a TBNV, gi i phng cho MVT lm nhi m v khc (ph c v TBNV khc, ch y chng trnh x l s li u hay hi n th trn mn hnh). Tng t , BGN nh n d li u c a TBNV v ch MVT c d li u vo. 4. Ph i h p v phng th c trao i d li u - Vi c c/xu t d li u do MVT kh i x ng: Khi , MVT a l nh i u khi n t i kh i ng BGN hay TBNV, MVT c tr ng thi c a TBNV. N u tr ng thi TBNV cha s n sng, MVT s ch .
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi N u TBNV tr ng thi s n sng, MVT s ti n hnh c/xu t d li u. - Vi c c/xu t d li u do TBNV kh i x ng: Khi , TBNV a yu c u trao i d li u t i b ph n x l ng t c a BGN. N u c nhi u TBNV ng th i a ra yu c u, BGN s s p x p theo th t u tin nh s n, r i a t ng yu c u t i MVT. MVT sau khi nh n tn hi u yu c u, s chu n b v a tn hi u xc nh n s n sng trao i. n l c BGN nh n v truy n tn hi u s n sng n cho TBNV. Sau , MVT v TBNV s trao i d li u qua trung gian l BGN. i u khi n MVT s li u BGN GN GN logic cng ngh i u khi n TBNV s li u
Hnh 1.2: GN gi a MVT v TBNV 1.1.3 Th t c trao i d li u c a my vi tnh MVT trao i d li u v i TBNV theo m t trong hai ch : - Ch chng trnh: G m cc l nh VO, RA v CHUY N d li u gi a cc thanh ghi. - Ch truy c p th ng t i b nh : BGN lc ny i u khi n s trao i gi a TBNV v b nh qua trung gian BGN. Cc c a vo ra c a VXL tr ng thi tr khng cao. BGN i u khi n m i ho t ng c a b nh v TBNV, bao g m: . Pht a ch cho b nh v TBNV. . Pht l nh c RD hay ghi WR s li u. . Cc s li u c, ghi c trao i gi a b nh v TBNV thng qua cc thanh ghi m c a BGN. ch trao i d li u theo chng trnh, vi c th c hi n c th theo m t trong ba phng php sau (hnh 1.3): - ng b hay khng i tho i. - Khng ng b hay c i tho i. - Ng t chng trnh. 1. Trao i ng b : Sau khi kh i ng TBNV, MVT khng c n quan tm t i TBNV c s n sng trao i d li u hay khng m a lun l nh trao i d li u. Do TBNV ph i lun s n sng trao i d li u. Phng php trao i d li u ny c u i m l nhanh, khng t n th i gian ch i. Tuy nhin n c nh c i m l thi u tin c y, i khi b m t d li u v c th c s c lm TBNV cha s n sng trao i. 2. Trao i khng ng b : Trnh t trao i di n ra nh sau: - MVT a tn hi u i u khi n t i BGN. - MVT ch v ki m tra tr ng thi s n sng trao i c a TBNV. N u cha s n sng th c l ki m tra l i tr ng thi ny.
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi - MVT trao i d li u v i TBNV khi s n sng. Phng php ny th ng dng v t c trao i d li u c a TBNV ch m hn so v i MVT. Phng php trao i d li u ny c u i m l r t tin c y, nhng l i t n th i gian s d ng MVT. 3. Trao i theo ng t chng trnh: Phng php ny kh c ph c c nh c i m c a phng php trn. Trnh t nh sau: - MVT ang th c hi n chu i l nh c a chng trnh no . - TBNV c yu c u trao i d li u, s g i tn hi u yu c u trao i (yu c u ng t INTR ). - MVT a tn hi u ch p nh n (xc nh n ng t INTA). - Chng trnh chnh b ng t, MVT chuy n sang chng trnh con ph c v ng t, t c chng trnh con trao i d li u cho TBNV yu c u. - Chng trnh chnh l i c ti p t c th c hi n ch b ng t. Chng trnh Cha TBNV s n sng ? R i Trao i d li u a) ng b b) Khng ng b c) Ng t chng trnh Ng t Trao i d li u Chng trnh Chng trnh
Trao i d li u
1.2.
Thng th ng BGN c cc thanh ch t d li u, b m 3 tr ng thi n i v i BUS v cc m ch l t t o tn hi u i tho i. 1.2.1 Cc m ch logic c b n M ch AND Vcc 4B 4A 4Y 3B 3A 3Y - SN7408 B ng tr ng thi 14 13 12 11 10 9 8 - SN7409 A B Y L L L H L L L H L 1 2 3 4 5 6 7 H H H
1A 1B 1Y 2A 2B 2Y GND
M ch OR - SN7432
Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
1 2 3 1A 1B 1Y
4 5 6 7 2A 2B 2Y GND
B ng tr A L H L H
ng thi B Y L L L H H H H H
M -
Vcc 6A 6Y 5A 5Y 4A 4Y 14 13 12 11 10 9 8
B ng tr ng thi:
A L H
1 2 3 4 5 6 7 1A 1Y 2A 2Y 3A 3Y GND
Y H L
M ch EX-OR - SN74136
Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
B ng tr ng thi A L H L H B L L H H Y L H H L
1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND
10
Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
B ng tr ng thi:
1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND
A L H L H
B L L H H
Y H H H L
Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
B ng tr ng thi
1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND
A L H L H
B L L H H
Y H L L L
M ch EX-NOR - SN74HC266
B ng tr ng thi
Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
A L H L H
B L L H H
Y H L L H
1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND
B ng tr ng thi C H L L A X L H Y Z L H
1 2 3 4 5 6 7 1C 1A 1Y 2C 2A 2Y GND
11
3C Vcc 4C 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8
1 2 3 4 5 6 7 1C 1A 1Y 2C 2A 2Y GND
2 2 CK PR 2Q 2 Q 14 13 12 11 10 9 8
D PR Q CK CLRQ
B ng tr ng thi PR L H L H H H
*
CLR H L L H H H
CK X X X L
D X X X H L X
Q H L H* H L Q0
CLR Q CK D PR Q
1 2 3 4 5 6 7 1 1Q 1 Q GND 1 1D 1 CLR CK PR
Q L H H* L H Q0
Trong Q0 l tr ng thi c tr c , H l tr ng thi c m. 1.2.3 Cc m ch thanh ghi m - SN74LS373, SN74LS374 l lo i vi m ch ch t truy n qua 8 bits cng m 3 tr ng thi. m v ch t c i u khi n c l p b ng cc u vo i u khi n khc nhau l:
12
B ng s th t c a 74LS373
MODE Ho t ng u vo Thanh ghi n i Di L H x L H u ra
OE
Kch ho t v c thanh ghi L L Ch t v c thanh ghi Ch t v khng cho ra L H
LE H H L
Oi L H
Q0 x
Q0
Z
B ng s th t c a 74LS373
MODE Ho t ng u vo Thanh ghi n i Di L H L x L H u ra
OE
Kch ho t v c thanh ghi L L Ch t v c thanh ghi Ch t v khng cho ra L H
CP
Oi L H
Q0 x
Q0
Z
13
B ng s th t c a 82C82 DI OE H L L L X L H X
DO
Z
L H Q0
1.2.4 Cc m ch gi i m a ch M t s vi m ch c dng nhi u trong cc h th ng gi i m c a VXL l SN74LS138 (m ch gi i m 3-8), SN74LS139 (hai gi i m 2-4). minh ho cho phng php ny ta ch n vi m ch 74LS138. B ng s th t c a vi m ch cho bi t t i m t th i i m ch c m t trong tm u ra c m c logic 0. i u ki n c n c m t trong cc m c th p u ra l cc u vo E1 , E2 , E3 ph i c kch ho t, t c l E1 , E2 m c th p v E3 m c cao. Khi 74LS138 c kch ho t, cc u vo a ch A0, A1 v A2 s l a ch n u ra, i u ny cho php c th ch n c m t trong tm thi t b nh khc nhau t i m t th i i m.
14
Output 1 H H H H L H H H H H H 2 H H H H H L H H H H H 3 H H H H H H L H H H H 4 H H H H H H H L H H H 5 H H H H H H H H L H H 6 H H H H H H H H H L H 7 H H H H H H H H H H L
H x x L L L L L L L L
x H x L L L L L L L L
x x L H H H H H H H H
x x x L L L L H H H H
x x x L L H H L L H H
x x x L H L H L H L H
H H H L H H H H H H H
15
Hnh 1.4: M ch gi i m ch n ROM dng 74LS138 1.2.5 Cc m ch truy n d li u - SN74LS245 Cc chn A1A8, B1B8 l cc chn g i/ nh n d li u 2 h ng tng ng. Chn 19 ( G ) l chn ch n IC (Chip Enable). Chn 1 (DIR) l chn ch n h ng g i/ nh n d li u (Direction).
B ng s th t c a 74LS245
G L L H DIR L H X D D Ho t ng li u vo B, ra A li u vo A, ra B
16
2.1.1 Cc l nh vo ra b ng h p ng : L nh nh n d li u t thi t b vo/ra l INput v m t l nh g i s li u ra thi t b vo/ra l OUTput. C b n cch dng khc nhau c a m i l nh ny: hai lo i chuy n d li u 8 hay 16 bt thng qua cc c ng vo/ra 8 bt, v hai chuy n d li u 8 hay 16 bt thng qua cc c ng 16 bt. V d hai l nh sau y s c cc byte c a ng d n d li u t c ng LPT1: MOV DX,378H IN AL,DX ; n p a ch c a thanh ghi d li u vo DX ; c thng tin trn ng d n d li u (D0 n D7) c a LPT1 sang thanh ghi AL B ng 2.1: B ng cc l nh vo ra
Instruction Data Width 8 8 16 16 8 8 16 16 Comment
IN AL,d8 IN AL,DX IN AX,d8 IN AX,DX OUT d8,AL OUT DX,AL OUT d8,AX OUT DX,AX
c m t byte t c ng vo/ra 8 bt c m t byte t c ng vo/ra xc nh b i thanh ghi DX c m t word t c ng vo/ra 8 bt c m t word t c ng vo/ra xc nh b i thanh ghi DX G i m t byte ra c ng vo/ra 8 bt G i m t byte ra c ng vo/ra xc nh b i thanh ghi DX G i m t word ra c ng vo/ra 8 bt G i m t word ra c ng vo/ra xc nh b i thanh ghi DX
17
G i m t byte ra c ng vo/ra 8 bt xc nh b i a ch addr_port c m t byte t c ng vo xc nh b i a ch addr_port G i m t word ra c ng vo/ra, 8 bt th p xc nh b i a ch addr_port, 8 bt cao xc nh b i a ch addr_port+1 c m t word t c ng vo/ra, 8 bt th p xc nh b i a ch addr_port, 8 bt cao xc nh b i a ch addr_port+1 G i m t byte ra c ng vo/ra 8 bt xc nh b i a ch addr_port c m t byte t c ng vo xc nh b i a ch addr_port G i m t byte ra c ng vo/ra, 8 bt th p xc nh b i a ch addr_port, 8 bt cao xc nh b i a ch addr_port+1 c m t word t c ng vo/ra, 8 bt th p xc nh b i a ch addr_port, 8 bt cao xc nh b i a ch addr_port+1
V d cc l nh sau xu t 5 (8 bt 00000101) qua thanh ghi d li u c a LPT1 #include <dos.h> #define Dat_reg 0x378 char data_var=5; outport(Dat_reg,data_var); 2.1.3 Cc l nh vo ra b ng Turbo Pascal B ng 2.3: B ng cc l nh vo ra
Instruction Data Width 8 8 Comment
18
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Port[$378] := X; Xu t ra gi tr bi n X ln ng d n d li u (D0 n D7) c a c ng LPT1 Y := port[$379]; c n i dung thanh ghi tr ng thi c a LPT1 vo bi n Y Ch : M t ch s h 16 ph i thm d u: 0x vo tr c s trong ngn ng C, v $ vo tr c s trong ngn ng Pascal.
2.1.4 Gi n th i gian cc l nh c/ghi d li u: Bus h th ng, bao g m bus d li u (data bus), bus i u khi n (control bus) v bus a ch (address bus), l cc ng d n truy n thng gi a vi x l v TBNV. Cc VXL 8 bit d li u th ng c 8 ng dy data bus, v 16 ng dy tng ng 16 ng a ch address bus. Hai tn hi u RD, WR control bus th ng c s d ng xc nh th i i m d li u n nh trn data bus. Hnh 1.5 l gi n th i gian tn hi u trn bus h th ng.
D li u c ghi ra TBNV
D li u t TBNV
D li u t VXL
WR
Hnh 1.5: Gi n th i gian tn hi u trn bus h th ng. M i chu k bus (bus cycle) bao g m vi c chuy n 1 t d li u gi a VXL v i b nh ho c TBNV. M i chu k bus b t u khi VXL xu t m t a ch ch n m t v tr b nh ho c cc c ng vo ra. Trong gi n ny, cc bus a ch v d li u c bi u di n b ng 1 c p ng th ng ch thng tin trn bus n nh. Khi cc ng trn s c t ngang nhau di n t d li u thay i. ng nt t l tr ng thi th n i khi khng c thi t b no li n.
19
Trnh bin d ch s chuy n o n l nh trn thnh m my, v khi ch y o n m my ny, VXL s t o ra cc tn hi u: - A0A15 t addrport - RD kch ho t m c 0. B gi i m s so snh cc gi tr trn ng a ch v i a ch c ng cho tr c, n u trng a ch , u ra b gi i m s kch ho t m c 0. Do u ra m ch OR s m c 0, kch ho t cho b m ba tr ng thi m ra, v d li u t TBNV s vo bus d li u c a VXL. Lc ny, VXL s nh n - D0 ,..., D7 gn vo cho bi n data1. K t thc chu k l nh, RD tr v m c 1. a ch A0A15
RD
Gi i m BCB 1 BCB 2
D0 D1
BCB 7 TBNV
20
+E K/ i
D7 Bus MVT BGN Hnh 2.2: C a ra n gi n, khng c i tho i Tng t , m t c a ra n gi n khng c i tho i c th hi n trn hnh 2.2. D li u t VXL c g i ra TBNV qua thanh ghi m, dng i u khi n n. M ch khu ch i s nng cng su t ln ph h p v i cng su t c a n. Khi l p trnh ph n m m, chng ta s g vo dng l nh C: Pascal: outportb(addrport,data2); port(addrport) := data2;
Trnh bin d ch s chuy n o n l nh trn thnh m my, v khi ch y o n m my ny, VXL s t o ra cc tn hi u: - A0A15 t addrport - WR kch ho t m c 0. B gi i m s so snh cc gi tr trn ng a ch v i a ch c ng cho tr c, n u trng a ch , u ra b gi i m s kch ho t m c 0. Do u ra m ch NOR s nh y ln m c 1, kch ho t cho b thanh ghi m m ra, v TBNV nh n d li u t MVT, g m: - D0 ,..., D7 tng ng v i bi n data2. K t thc chu k l nh, WR tr v m c 1.
21
Q0
Gi i m
Q1
Q D Q CKL Cl
D0 D1
BCB 7 TBNV
C a vo c i tho i th hi n trn hnh 2.3. TBNV g i s li u t i u vo cc thanh ghi. Khi s li u n nh, thi t b ngo i vi g i ti p m t xung n p. S n ln xung n p a d li u c a TBNV vo nh trong thanh ghi. S n xu ng xung n p kch m ch l t, a u ra Q = D = 1. l tr ng thi s n sng c a TBNV. B VXL s ki m tra tr ng thi ny b ng thu t ton trong o n l nh: #define BIT0 0x01; #define addrport1 0x00F8; #define addrport3 0x00F9; do data3 = inportb(addrport1); while (data3&BIT0!=BIT0); data4 = inportb(addrport2); B ng l nh inportb u tin, VXL s a a ch addrport1 ra cc chn a ch , kch ho t RD = 0 . u ra OR = 0, m m ch m ba tr ng thi, a tn hi u Q = 1 vo ng d li u D0. Qua , d li u v i D0 = 1 s c gn cho bi n data3. K t thc chu k l nh, RD = 1 , u ra c ng OR chuy n sang m c 1 lm m ch m ba tr ng thi chuy n sang tr ng thi tr khng cao, cch ly chn Q v ng d li u D0. Sau khi VXL ki m tra th y d li u s n sng (bit D0 = 1), l nh inportb th hai s lm VXL t o tn hi u kch m b m ba tr ng thi, a d li u c a TBNV ang nh trong cc thanh ghi vo bus d li u v gn cho bi n data4. Cng b ng xung ch n m ch ny, m ch l t s xo Q v m c logic 0.
22
D Q Q CKL Pr
TBNV s n sng nh n
Gi i m
WR
D0 D1
1 DQ
Q CKL Cl Q
S li u s n sng Ghi nh n K/ i
D7 Bus MVT BGN Hnh 2.4: C a ra c i tho i Hnh 2.4 m t c a ra c i tho i. Khi TBNV s n sng nh n d li u, TBNV s a ra m t tn hi u logic 1. B VXL s ki m tra tr ng thi c a TBNV trong o n l nh: #define BIT0 0x01; do data5 = inportb(adrport); while (data5&BIT0 != BIT0); outportb(adrport,data6); Cch ho t ng c a VXL tng t trn, l nh inportb s n p d li u c D0 = 1 vo bi n data5, bi n ny dng so snh nh n bi t TBNV s n sng cha. K t thc l nh inportb, u ra m ch OR chuy n sang 1, t o xung ln u ra m ch AND, lm chuy n tr ng thi m ch l t Q = D = 0, ng th i lm m ch m ba tr ng thi chuy n sang tr ng thi tr khng cao, cch ly chn Q v ng d li u D0. N u th y TBNV s n sng nh n th l nh outportb ti p theo s g i a ch adrport cng tn hi u WR = 0 t o ra m t xung ra m ch OR. S n ln xung ny n p d li u data6 trn bus d li u vo thanh ghi xu t ra TBNV, s n xu ng a tn hi u Q = D = 1, bo cho TBNV l s li u s n sng. Sau khi nh n s li u, TBNV sinh ra tn hi u ghi nh n xo tn hi u s li u s n sng (v m c 0) v l p tn hi u TBNV s n sng nh n (ln m c 1), ch b VXL g i s li u ti p theo. Trao i d li u c i tho i lm vi c ch c ch n hn trao i khng i tho i. V TBNV c t c ho t ng ch m, nn s li u u vo VXL c lc khng ng khi TBNV TBNV
23
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi c s li u cha n nh. Do m t thu t ton c n dng cho trao i khng i tho i l c nhi u l n v ki m tra k t qu cc l n v i nhau. N u k t qu gi ng nhau th d li u vo xem nh n nh.
8255A
WR
Bus s li u trong
i u khi n nhm B
INTR
D0 D7
RD WR RESET
D0 D7 INTRA INTRB RD
WR RST
PA0 PA7
VXL
8255A A0 A1 Gi i m a ch cao A0 A1
CS
PC0 PC7
TBNV
A2 An
PB0 PB7
24
Vi m ch PPI 8255A l vi m ch i u khi n b ng chng trnh c p d ng kh r ng ri. Hnh 1.10 trnh by s ghp n i 8255A, g m c: 1. Ph n ghp n i v i VXL: - B m s li u trao i d li u hai chi u gi a MVT v ng dy s li u trong. - B logic i u khi n c vi t: t c b gi i m a ch l nh cho cc thanh ghi m v thanh ghi i u khi n. V i t h p cc tn hi u a ch (A0, A1). ch n vi m ch ( CS ), cc l nh c ( RD ) v ghi ( WR ) c a VXL, ta c cc l nh ghi v c khc nhau cho cc c a (A, B, C) v t i u khi n (control word) nh b ng 2.4. B ng 2.4: B ng tr ng thi c a 8255A A1 0 0 1 1 0 0 1 1 x A0 0 1 0 1 0 1 0 1 x
CS
RD
WR
L nh (c a VXL) cc aA cc aB cc aC Ghi c a A Ghi c a B Ghi c a C Ghi thanh ghi i u khi n Vi m ch khng cao tr ng thi tr
0 0 0 0 0 0 0 0 1
0 0 0 0 1 1 1 1 x
1 1 1 1 0 0 0 0 x
2. Ph n ghp n i v i TBNV: - C a A, B: hai thanh ghi m s li u (8 bit) vo ho c ra tu chng trnh - C a C c th chia l hai nhm c l p b ng chng trnh: n a cao (PC4 PC7) v n a th p (PC0 PC3). Tu theo ch s d ng trong t i u khi n, c a C c th dng: Trao i s li u vo ho c ra ch 0 (mode 0). i u khi n ho c i tho i v i TBNV v VXL khi c a A v B ch 1 b ng cch xc l p v xo t ng bit PCi . i u khi n ho c i tho i v i TBNV v VXL khi c a A v B ch 1 v 2. ch 1 v 2, c cc bit c a C, ta bi t c tr ng thi c a cc c a A v B. 3. Ph n cc m ch i u khi n n i b : C cc kh i i u khi n (nhm A, nhm B) cc c a A, B v C.
25
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2.3.2 Cc ch lm vi c c a 8255A: B ghp n i 8255A c ba ch lm vi c c b n nh hnh 2.7: - Ch 0: vo/ra thng th ng - Ch 1: ch t vo/ra - Ch 2: BUS hai chi u Tu theo t i u khi n ghi vo thanh ghi i u khi n khi kh i ng cho vi m ch, ta c cc ch lm vi c v chi u trao i s li u c a cc c a A, B, C khc nhau, nh hnh 2.8.
Nhm B
Chi u c a C th p
00 - Ch 0 01 - Ch 1 1x - Ch 2
Chi u c a A
1 - vo 0 - ra
Chi u c a B
1 - vo 0 - ra
Chi u c a C cao
1 - vo 0 - ra
Ch c a B
1 - vo 0 - ra
1 - Ch 1 0 - Ch 0
26
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 1. Ch 0: y l ch vo ra c b n c a vi m ch, n m b o d li u c a ra ho c ghi vo cc c ng ring bi t . Trong ch ny, vi m ch c cc ch c nng sau : - Vi m ch ho t ng g m hai c ng 8 bit v hai c ng 4 bit. - Cc c ng c th l c ng vo ho c c ng ra. - Cc tn hi u ra c ch t l i . - Cc tn hi u vo khng c ch t . - Trong ch ny 8255 c 16 c u hnh ho t ng vo/ra nh s d ng t i u khi n v l nh OUT nh sau :
27
28
th th i gian qu trnh c.
th th i gian qu trnh ghi. 2. Ch 1: Trong ch ny c ng A v c ng B s d ng cc ng dy tn hi u c a c ng C t o ho c ti p nh n tn hi u h i tho i ( hanshaking signal ) ngha l m i qu trnh trao i d li u c a t ng c ng u dng cc tn hi u h i tho i. Cc ch c nng c b n c a ch 1 l - Vi m ch ho t ng g m hai nhm, nhm A v nhm B. - M i nhm ch a m t c ng 8 bit v m t c ng i u khi n 4 bit. - C ng 8 bit c th l c ng vo , ho c c ng ra ,c hai c ng vo ra u l c ng ch t . - Cc c ng 4 bit c s d ng i u khi n v xc nh tr ng thi c a cc c ng 8 bit. Cc tn hi u i u khi n vo c dng trong ch vo : STB (Strobe input) M c th p c a tn hi u vo ny cho php d li u c c vo . IBF (Input Buffer Full)
29
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi M c cao c a tn hi u ra ny ch ra r ng d li u c ghi vo c ng ch t, v b n ch t y l m t tn hi u xc nh n. Tn hi u IBF c xc l p khi tn hi u STB ang m c th p v c kh i t o l i khi c s n dng c a u vo RD . INTR ( Interrupt Request ) M c cao c a tn hi u ra ny c th c s d ng yu c u ng t t i CPU. Khi m t thi t b vo yu c u ph c v , tn hi u INTR c xc l p b i tn hi u STB =1, tn hi u IBF=1 v INTE =1 .Tn hi u ny c kh i t o l i khi s n sau c a tn hi u RD . Ch c nng ny cho php cc thi t b vo yu c u ng t t i CPU m t cch n gi n b ng cch a d li u c a n ra c ng. Cc t l nh i u khi n v th th i gian c a ch ny nh sau:
* th th i gian c a ch ho t ng ny nh sau :
th th i gian qu trnh c .
30
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Cc tn hi u i u khi n ra c dng trong ch ra OBF ( Output Bufer Full F/F). Tn hi u ra OBF chuy n v m c th p thng bo r ng CPU ghi d li u ra m t c ng xc nh. Tn hi u OBF F/F s c xc l p s n ln c a tn hi u WR v b xo khi tn hi u vo ACK m c th p . ACK (Acknowledge Input ).
M c th p c a tn hi u vo ny thng bo cho 8255 r ng d li u t c ng A ho c c ng B c ch p nh n. V b n ch t y l tn hi u phc p t thi t b ngo i vi thng bo n nh n c d li u g i t i t CPU. INTR (Interrupt Request )
M c cao c a tn hi u ra ny c s d ng yu c u ng t CPU khi m t thi t b ngoi nh n c d li u truy n t CPU. Tn hi u INTR xc l p khi tn hi u ACK = "1", OBF = "1" v INTE ="1" . Tn hi u ny c kh i t o l i s n xu ng c a tn hi u WR . Cc t l nh c a ch ny nh sau:
* th th i gian c a ch ho t ng ny nh sau :
31
th th i gian qu trnh ghi. Trong ch 1, hai c ng A v B c th c l p trnh m t cch ring bi t l c ng vo ho c c ng ra ho t ng trong cc ng d ng vo /ra c h i tho i khc nhau. Cc t l nh ho t ng trong ch ny nh sau:
3. Ch 2 Ch ho t ng ny cung c p kh nng trao i d li u v i cc thi t b ngo i vi s d ng m t ng truy n 8 bit v a truy n v a nh n d li u (Bus vo/ra hai chi u). Cc tn hi u h i tho i c dng trong ch ny i u khi n vi c truy n d li u cng tng t nh ch 1. Cc ch c nng c b n c a ch 2: Gi ng vin: Nguy n Vn Minh Tr 32
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi - Trong ch ny ch c nhm A c s d ng . - C ng A l c ng vo/ ra hai chi u 8 bit . - Cc tn hi u vo/ra u c ch t l i. - 5 bit c a c ng C c s d ng lm c ng i u khi n ,tr ng thi cho c ng A 8 bit. Cc tn hi u i u khi n ra . OBF( Output buffer full ) Tn hi u ra OBF m c th p thng bo CPU khi d li u ra c ng A.
ACK (Acknowledge)
i u khi n b i vi c l p bit ho c xo bit PC4 . Cc tn hi u i u khi n vo . STB (Srobe input ). M c th p c a tn hi u vo ny c d li u vo c ng vo ch t . IBF ( Input bufer Full ).
33
4. Ch k t h p Ngoi vi c ho t ng ring r theo t ng ch , 8255 cn c kh nng ho t ng ng th i k t h p cc ch khi khng ph i t t c cc bit trong c ng C c s d ng i u khi n ho c dnh cho tr ng thi. Cc bit cn l i c th c s d ng th c hi n cc ch c nng sau : Khi c l p trnh l cc ng vo tn hi u T t c cc ng vo tn hi u u c th c truy c p trong su t qu trnh c c ng C thng th ng. Nh trong hnh v minh ho sau :
34
Khi c l p trnh l cc ng tn hi u ra Cc bit trong s cc bit cao c a c ng C ( PC7- PC4) ph i c truy c p m t cch ring r b ng cch s d ng ch c nng xo /l p bit. Cc bit trong s cc bit th p c a c ng C c th truy c p b ng ch c nng xo /l p bit ho c dng 3 bit tng ng ghi ra c ng C . * c tr ng thi c ng C. Trong mode 0, c ng C truy n d li u t i ho c t thi t b ngo i vi. Khi 8255 c l p trnh ho t ng trong mode 1 ho c mode 2, c ng C c s d ng t o ra ho c nh n tn hi u h i tho i trao i v i thi t b ngo i vi. c n i dung c a c ng C cho php ng i l p trnh ki m tra tr ng thi c a cc thi t b ngo i vi v i u khi n qu trnh trao i d li u. Khng c l nh c bi t no dng c thng tin tr ng thi t c ng C m ch c thao tc c thng th ng th c hi n ch c nng ny.
35
5. Ch c nng xo bit v l p bit (single bit set/reset ) B t c bit no trong 8 bit c a c ng C u c th c thi t l p ho c c xo nh s d ng cc l nh ghi ra thanh ghi i u khi n cc bit ph h p. Nh v y khi c ng C ang c dng i u khi n, ghi tr ng thi cho c ng A ho c c ng B th nh ng bit c a c ng C c th c xo ho c c thi t l p nh s d ng cc l nh xo, thi t l p bit nh khi c ng C l c ng ra d li u. - T l nh ho t ng trong ch nh sau:
36
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 6. Ch c nng i u khi n ng t (Interrupt control ) Khi 8255 c l p trnh ho t ng ch 1 ho c ch 2, cc tn hi u i u khi n c a n c th c s d ng nh yu c u ng t t i CPU. Tn hi u yu c u ng t t o b i c ng C c th b c m hay c php nh xo hay xc l p m ch l t INTE s d ng ch c nng l p xo bit nh nu trn. Ch c nng ny cho php ng i l p trnh c th cho php ho c khng cho php m t thi t b I/O ng t CPU m khng gy nh h ng t i b t k m t thi t b no khc trong c u trc ng t . 2.3.3 Ghp n i v i 8255A Hnh 2.9 trnh by m t v d m t m ch GN 8255A v i my in, my c bng ch 0. N a th p c a C l c a vo, dng c cc tr ng thi - PC1 cho tr ng thi b n c a my in. - PC0 cho tr ng thi s n sng c a my c bng. N a cao c a C l c a ra, dng a ra tn hi u i u khi n: - PC5 a tn hi u ch t s li u cho my in (qua b o). - PC4 d ch chuy n bng gi y i 1 v tr v bn ph i (qua b khu ch i o). Hnh 2.10 m t m ch ghp n i v i my in ch 1. Cc tn hi u i tho i g m: - PC4 tn hi u ra ch t s li u, c th dng PC7 ( OBFA ) thay th . - PC6 tn hi u vo cho ACK , xc nh n in s li u. - PC3 dng yu c u ng t chng trnh, a vo chn INTR c a VXL. Nh s d ng ch 1, cc tn hi u PC6, PC7 s t ng thu pht m khng c n l nh c a chng trnh, tr PC4 ph i a l nh. V i vi c n i vo INTR c a VXL, chng trnh ph c v ng t khng c n l nh ki m tra tr ng thi c a PC6. 8255
Reset Reset
PA0 PA7
PC5 PC1
My in
D0 D7
D0 D7
RD WR A0 A1
PC0 PC4
PB0 PB7
VXL
RD
WR
A0 A1
A2 A19
Gi i m a ch
CS
Busy
ch 0.
37
D0 D7
D0 D7 PA0 PA7
VXL INTR
INTRA INTA
PC3
PC4 PC6
Data strobe
ACK
8255
PC7
OBFA
My in
ch 1.
D0 D7
DAC
PB0 PB1
D0 D7
D0 D7
RD WR A0 A1
L i ra tng t
VXL
RD
WR
A0 A1
PB2 PB3
Ch t s li u
D0 D7
L i vo tng t
A2 A19
Gi i m a ch
CS
Hnh 2.11: V d GN 8255 Hnh 2.11 m t v d ghp n i 8255A . 2.3.4 L p trnh cho 8255A
ch k t h p.
ch 2 c a c a PA v ch 0 c a c a PB.
Vi m ch c ng song song l p trnh c PPI 8255 c kh nng ho t ng trong cc ch ho t ng khc nhau cc ch ho t ng ny c th k t h p c v i nhau t o kh nng l p trnh i u khi n ho t ng m t cch linh ho t. Khi vi t chng trnh cho 8255A ho t ng, ta ph i : - Vi t lu thu t ton. - Xc nh t i u khi n ch cho thanh ghi i u khi n, t tr ng thi cho t ng m ch c th . - Chng trnh kh i pht b ng l nh ghi vo thanh ghi i u khi n. - a n i dung cc bt cho cc c a dng i u khi n TBNV. - c v ki m tra tr ng thi : l thanh ghi tr ng thi n u 8255 dng ch 1,2; l m t c a ghi tr ng thi TBNV n u ch 0. - a s li u vo hay ghi s li u ra cc c a.
38
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi V d vi t chng trnh i u khi n a s li u ra my in nh trn hnh 2.9, v a ch cao dnh cho my in xc nh l 3FE18h. Lu thu t ton th hi n trn hnh 2.12. B t u B t u L p xung ch t PC4
Hnh 2.12: Lu trao i d li u gi a MVT v my in, my c bng. Xc nh cc thanh ghi ch v chi u c a c a: 3FE18h A19 . A3 A2 A1 A0 T b ng 1.17, ta c a ch sau: PA c a ch addr_A := 3FE18h PB c a ch addr_B := 3FE19h PC c a ch addr_C := 3FE1Ah Thanh ghi i u khi n addr_dk := 3FE1Bh Xc nh t i u khi n v t tr ng thi: Khng dng ch l p c nn D7=1 PA ch 0, c a ra nn D6=0 D5=0 D4=0 N a c a C cao l c a ra nn D3=0 PB ch 0, c a vo nn D2=0 D1=0 N a c a C th p l c a vo nn D0=1 Ta c t i u khi n sau: Data_dk := 81h (=1000 0001 B) T tr ng thi cho cc c ng PC: PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 Cho PC5 0 0 1 0 0 0 0 0 data_C5 := 20h
39
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Cho PC4 Cho PC1 Cho PC0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 data_C4 := 10h data_C1 := 02h data_C0 := 01h
Chng trnh vi t b ng Pascal nh sau: Begin {Gn cc bi n} Port[addr_dk] := data_dk; Repeat Var1 := port[addr_C]; Until ((var1 and data_C1)=data_C1); Port[addr_A] := s; Port[addr_C] :=0; Port[addr_C] := data_C5; End
40
LI U N I TI P
3.1.1 Yu c u trao i d li u n i ti p Trao i d li u n i ti p l trao i l n l t t ng bit, trn m t ng dy duy nh t. Do t t n km v ng dy, nhng t c truy n th p. S trao i ny do cc yu c u: - Thi t b pht hay nh n d li u t ng bit. V d VXL 8085 pht t ng bit l i ra n i ti p SOD (chn s 4) v nh n d li u l i vo n i ti p SID (chn s 5); v TBNV n i ti p nh my cassette, a t , my in n i ti p - Kho ng cch gi a hai thi t b trao i d li u l l n (c th n hng ngn km ho c hn), do v y vi c dng 8 ng dy truy n d li u song song l r t t n km. Ngoi ra, ng i ta c th dng lun ng dy i n tho i trao i d li u, thng qua b i u ch - gi i i u ch (MODEM) i u khi n n i ti p c 2 lo i truy n d li u: -truy n d li u ng b (t c nhanh). - truy n d li u khng ng b (t c ch m). 1. Trong trao i d li u ng b : D li u c truy n 1 l n g m 1 kh i nhi u byte, c ch n u v cu i b i k t SYNC( m ASCII l 16h). M i kh i c th hng trm byte hay hng trm Kbyte. sync d li u truy n i c n c s ng b v t c gi a my pht v my thu, c 2 cch ng b - M t my pht xung t ni pht v truy n t i my thu b i m t ng dy khc. Do t n thm m t ng dy H ny s d ng 1 my pht xung ng b cung c p xung ng b cho c hai bn pht v thu. Pht ng b - My thu ch tr ng thi ch , khi c k t ng b SYNC th my pht xung nh p trong my thu b t ln v chuy n sang ch thu xung ng b c kch ho t b i k t SYNC. Pht Thu ng b Gi ng vin: Nguy n Vn Minh Tr 41 Thu sync
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2. Trong trao i thng tin khng ng b : Cc byte c t trong m t khung v truy n c l p v i nhau, g i l m t l i tin. D ng thng tin truy n nh sau:
D li u truy n c th 5,6 ,7,8 bit; thng th ng l 7 bit ( n u truy n s li u v ch ci) hay 8 bit ( n u truy n c cc k t m r ng i u khi n h t File). M t l i tin g m: - 1 bit Start th ng l m c 0 (+12V). Theo chu n RS232C, tn hi u t my tnh qua c ng Com, m c i n p l 12 V v c qui nh:0=12V, 1= -12V. - 58 bit d li u, y d li u truy n i l m ASCII, nh s 0 s c truy n i l m ASCII = 48 = 030h ch khng ph i l truy n i 0. - 1 bit b c dng ki m tra tnh ch n l d li u truy n. T ng s bit 1 c a m t l i tin (k c bit ch n l ) s c ghi vo bit ch n l v c ki m tra so snh ni pht v ni thu. - 1, 1.5 hay 2 bit Stop (tu theo s l a ch n tr c khi trao i) cng m c 1. S bit Stop th c ch t l di c a tn hi u Stop m c logic 1. Bit Start dng ng b xung nh p my pht v my thu. N u kho ng cch g n d i 300m, s thu pht l khng c n MODEM. nh ng kho ng cch l n ng i ta khng dng my pht xung ngoi m dng MODEM t o xung ng b cho c my pht v my thu. Vi c dng MODEM l ch ng nhi u trn ng truy n. Trn ng dy i n tho i, ng i ta khng pht t ng bit 0/1 m dng MODEM (modulation-demodulation) i u ch tn hi u thnh d ng xoay chi u (02400 Hz, 11200 Hz) v truy n tn hi u xoay chi u . 3.1.2 M ch trao i d li u n i ti p. 1. M ch khng c n b ghp n i: -s d ng 2 chn ra-vo n i ti p SID ( serial IN) v SOD ( serial OUT) c a vi x l 8085 trao i. -c th dng 1 chn c a l i vo ra song song c a VXL lm chn vo ra n i ti p. Trao i tin ki u ny khng ph c t o trong c u t o m ch nhng ph c t p trong qu trnh l p trnh v theo di thi t b , i h i nhi u th i gian x l. Thi t b ngoi vo/ra song song VXL SOD SID CLK D C
Thanh ghi d ch
42
BGN c ch c nng chuy n d li u song song t my tnh (h VXL) thnh tn hi u d ng n i ti p v truy n n TBNV. truy n chnh xc, BGN ngoi ch c nng chuy n d li u song song thnh n i ti p, n cn t o ra cc bit Start, stop, parity ng khung d li u. Lo i ny lm vi c n gi n nhng khng m r ng c thi t b ngo i vi, kho ng cch truy n tin ng n. BGN ss-nt TBNV (VXL) nt
VXL
Hnh 3.2: M ch c n BGN ss-nt Trong , song song l ss, n i ti p l nt. 3. M ch c KGN song song- n i ti p v n i ti p-song song: H ny cng gi ng nh h trn, ch khc l TBNV lm vi c v i d li u song song, nn c n c BGN trung gian chuy n d li u song song thnh n i ti p. BGN ss-nt TBNV (VXL) ss
VXL
BGN nt-ss
VXL
BGN ss-nt
ng dy i n tho i
RS-232C
MODEM
MODEM
BGN ss-nt
TBC (VXL) ss
Hnh 3.4: M ch c n BGN ss-nt, RS 232 v MODEM. H ny thng d ng v th ng xuyn g p trong th c t . Trong VXL th ng l 1 my vi tnh, cn thi t b u cu i (TBC) c th l 1 i t ng b t k. N u TBC l my vi tnh th h th ng dng trao i File. Ch : Chu n RS232C c m c i n p l 12V. Chu n RS422 c m c i n p l 15V. Chu n RS485 c m c i n p l 30V (i n tho i). chuy n t RS232C thnh RS485 hay RS422 s c nh ng b chuy n (shift) trung gian, thng th ng l nh ng b m, v a t o m c tn hi u,v a ph i h p tr khng.
43
3.1.3 Th t c trao i d li u n i ti p 1. Th t c pht d li u TxD (Tranceiver Data) : TBC (hay MVT) g i tn hi u DTR (Data Terminal Ready) m c 0 n MODEM bo hi u s n sng. MODEM tr l i TBC b ng tn hi u DSR (Date Set Ready) m c 0. N u TBC c 1 k t s n sng g i i, n g i RTS (Request To Send) n MODEM MODEM g i tn hi u CD (Carrier Detect) cho TBC bo hi u lin l c thng v i MTV. Khi MODEM s n sng pht s li u trn ng dy, MODEM pht xung nh p v tn hi u CTS (Clear To Send) n TBC (xung nh p trn ng dy). TBC g i cc k t s li u (SDU) cho MODEM. Khi TBC g i xong, n nng tn hi u RTS ln cao bo cho modem bi t l pht xong. MODEM tr l i cho TBC b ng tn hi u CTS m c cao, bo hi u hon thnh vi c truy n tin. Qua ta th y vi c g i i k t b ng modem nhi u th t c v do t c ch m 2. Th t c nh n d li u RxD (Receiver Data) Trong qu trnh nh n tin, ph i b o m my tnh s n sng nh n ,khi : TBC pha thu g i DTR m c th p cho MODEM bo n s n sng (Data terminal ready) MODEM thu g i tn hi u tr l i b ng DSR . MODEM thu nh n tn hi u CD t ng dy v kch g i tn hi u nh p MODEM cho TBC. TBC pht tn hi u RTS cho modem (Request to Send). MODEM g i tn hi u CTS m c th p cho TBC (Clear to Send) bo MODEM s n sng nh n tin. MODEM nh n TxD trn ng dy, sau ph i i u ch thnh cc bit 0/1 v l n l t g i chu i tn hi u RxD cho TBC. Khi thu xong, TBC nng tn hi u RTS ln cao, bo cho MODEM l thu xong MODEM tr l i b ng nng tn hi u CTS ln cao, bo qu trnh nh n xong. Vi c ti n hnh chuy n d li u ss/nt hay nt/ss c th c hi n b i cc thanh ghi d ch (Shift register). Cc thanh ghi ny c tc d ng khi nh n 1 byte song song u vo n s cho u ra m t chu i bit k ti p nhau theo th t t bit th p n bit cao c a byte. i v i my tnh, cc ch c nng trn c th c hi n thng qua vi m ch 8251 c a hng INTEL. Gi ng vin: Nguy n Vn Minh Tr 44
Hnh 3.5: S chn 8250 Ch c nng cc chn g m: - Cc chn t 1- 8 (D0- D7 ): Cc chn d li u, 8 chn ny c n i v i bus d li u. Qua 8 chn d li u ny m d li u c i t bus t i d i d ng song song sau khi qua vi m ch 8250 bi n i thnh tu n t i t i c ng RS232. D li u t c ng RS232 t i d i d ng tu n t , sau khi i qua vi m ch 8250 c bi n i thnh song song v qua 8 chn ny truy n ln bus. - Chn s 9 (RCLK ): nh n xung ng h a ra t b t o t c . - Chn s 10 (SIN): nh n d li u tu n t i t i t c ng RS232. - Chn s 11 (SOUT): G i d li u tu n t sang c ng RS232. - Chn s 12,13,14 (CS0 -CS2): Chip select - tn hi u ch n vi m ch. - Chn s 15 ( BOUDOUT ) : L i ra c a b t o t c . - Chn s 16,17 (XTAL1,XTAL2) :L y xung Clock t b pht nh p b ng th ch anh t i v i t n s 3,072 MHz. - Chn 18(DOSTR ): I/O write. - Chn s 19 ( DOSTR ) : o c a I/O write - Chn s 20 (Vss ): n i t
45
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s - Chn s 21 (DISTR) : I/O Read . 22 ( DISTR ): o c a I/O Read . 26,27,28 ( A0 - A2 ): nh n a ch truy n t i gi i m l nh . 30 (INTRPT) : Interrupt Control Logic . 32 ( RTS ) : Request To Send ( yu c u g i ) . 33 ( DTR ) : Data Terminal Ready .(D li u s n sng ) 35 (MR) : Reset . 36 ( CTS ) : Clear To Send 37 ( DSR ) : Data Set Ready . 38 ( DCD ) : Data Carrier Detect . 39 ( RI ): Ring Indicate . 40 (VDo) : n i v i ngu n m t chi u +5V.
(3F8) (3FB) (3F8) (3F9) (3FD) (3F8) (3FC) (3FE) (3F9) (3FA)
Hnh 3.6: S kh i 8250 Nh v y, 8250 c 11 thanh ghi n i, v i cch truy c p nh b ng sau: B ng 3.1: a ch cc thanh ghi c a 8085
DLAB
A2
A1
A0
c/ghi
Thanh ghi
46
0 0 1 1 x x x x x x
0 0 0 0 0 0 1 1 1 1
0 0 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1
m thu (RBR) v m pht (THR) cho php yu c u ng t (IER) ch t chia ph n th p (LSB) ch t chia ph n cao (MSB) nh n d ng ng t (IIR) i u khi n dng (LCR) i u khi n MODEM (MC) tr ng thi dng (LSR) tr ng thi modem (MSR) nh nhp (DM)
M i thanh ghi trong 8250 tng ng v i m t a ch c ng, trong c hai thang ghi c bi t, n c ch c nng c th thay th tu thu c gi tr bit DLAB (divitor latch access bit Bit truy c p ch t) (DLAB l bit D7 c a thanh ghi d ng s li u). N u DLAB = 1 th thanh ghi th c hi n ch c nng ch t chia ph n cao v ph n th p. n u DLAB = 0 , hai thanh ghi dng m v nh n d li u, v IER. 2. M t cc thanh ghi: a) Thanh ghi m thu (Receiver Buffer Register RBR) ng v i DLAB = 0, thanh ghi c a ch l 3F8h (COM1), hay 2F8h (COM2): Khi 8250 nh n c k t qua chn SIN (chn 10) k t c chuy n vo thanh ghi d ch, t i y n c tho khung (cc bit start, stop, parity) v n p song song vo thanh m thu (lu thanh ghi c 8 bit). CPU ch c d li u trong thanh ghi ny v n thao tc v i BUS d li u song song t i thi u m i l n l 1 byte. b) Thanh ghi m pht (Transmitter Holding Register THR) tng ng v i DLAB = 0, a ch l 3F8h (2F8h) K t c n pht i ph i c ghi t thanh ghi vo, thanh ghi ny n n m ch (holding) cho n khi k t tr c n c pht i, sau n a vo thanh ghi d ch c a b pht, t i y n c ng khung v a ra t ng bit m t vo chn SOUT (chn 11) c a 8250, d li u u ra y c d ng n i ti p. c) Thanh ghi cho php ng t (Interrupt Enable Register - IER), bit DLAB = 0 , a ch 3F9h (COM1) hay 2F9h (COM2) Thanh ghi ny th c hi n cho php/c m cc nguyn nhn gy ra ng t khc nhau. Trong khi 8250 ho t ng, c tc ng n CPU thng qua chn INTRPT (chn 30), m i bit trong cc bit D3, D2, D1, D0 m c cao s cho php cc ho t ng tng ng v i cc bit a ra nguyn nhn ng t tng ng, v c m ng t khi ghi 0 vo cc bit. Bit 7-4 3 Ch c nng D tr , lun t b ng 0. cho php 8250 pht yu c u ng t tr ng thi MODEM
47
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2 1 0 cho php 8250 pht yu c u ng t theo tr ng thi d ng truy n nh n ho c ng t dng thng tin (l i ch n l , trn khung). cho php 8250 pht yu c u ng t khi thanh ghi m pht r ng. cho php 8250 pht yu c u ng t khi thanh ghi m thu y, d li u s n sng
d) Thanh ghi ch t chia ph n th p (Divisor Latch - LS) tng ng DLAB = 1, a ch l 3F8h, hay 2F8h. e) Thanh ghi ch t chia ph n cao (Divisor Latch MS) tng ng DLAB = 1, a ch l 3F9h, hay 2F9h. t t c truy n mong mu n, gi tr tnh ton c t trong hai thanh ghi, c g i l thanh ghi ch t chia t c c tnh theo cng th c T n s nh p chu n B chia = 16 x t c baud mong mu n t n s nh p chu n do ng h th ch anh c a 8250 pht ra, n b ng 1,8432 MHZ - t c t i a tnh ton l 115200 baud. - t c baud th c hi n cc chn SIN, SOUT. B ng ch m i lin h gi a t c s li u v cc h s chia d ng hexa decimal nh sau: Baud 50 110 150 300 600 S chia 0900 0417 0300 0180 00C0 Baud 1200 2400 4800 9600 11520 S chia 0060 0030 0018 000C 0001 -
Qua ta th y gi tr trong thanh ch t chia c n 1 byte r i lu t t c . thu n ti n, ng i ta s dng 2 byte v ghi vo 2 thanh ghi, chnh l LSB v MSB. f) Thanh ghi nh n d ng ng t (Interrupt Identification Register - IIR), a ch l 3FAh, hay 2FAh. Thanh ghi nh n d ng ng t (ch c th c) ch a m m c u tin cao nh t c a cc yu c u ng t (t i chn 30-INPUT c a 8250) ang ch c ph c v . N u c nhi u ng t cng m t lc th IIR s ch a m ng t no c n x l tr c. Do v y khi c n x l ng t, CPU c n c bit D0 c a thanh ghi ny bi t c yu c u ng t v ki m tra cc bit D1 v D2 xc nh ngu n g c cc yu c u ng t. Sau khi 8250 b Reset, ch c yu c u ng t u tin s m t c ph c v . Ta c th thay i
48
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi i u ny b ng cch dng m t n che i cc bit yu c u ng t no b ng cch ghi vo thanh ghi IIR cc gi tr bit thch h p. Cc bit D7D3 lun t b ng 0. D2, D1: m ho cc yu c u ng t c m c u tin cao nh t ang ch ph c v . D2 D1 M c u tin Nh n di n ng t 0 0 4 Tr ng thi MODEM chng trnh c tr ng thi MODEM 0 1 3 Thanh ghi m pht r ng 1 0 2 TG m thu y, s li u s n sng 1 1 1 tr ng thi dng thay i D0=0: c yu c u ng t D0=1: khng c yu c u ng t T cc nh n d ng ng t trn, VXL s chuy n n cc a ch ch a cc chng trnh con ph c v ng t. VXL s xo cc bit D0, D1, D2 v 0 sau cc thao tc: - c thanh ghi tr ng thi chu i. - c d li u t thanh ghi m thu. -ghi vo b pht ho c c thanh ghi nh n di n ng t. - c tr ng thi thanh ghi thao tc MODEM (RS232-C). g) Thanh ghi i u khi n dng (Line Control Register LCR), a ch l 3FBh, hay 2FBh. Thanh ghi ny cn c tn l thanh ghi nh khun d ng d li u v n quy t nh khun d ng c a d li u truy n trn ng dy. Bit Ch c nng 7 =1 truy nh p thanh ghi ch t chia (LSB & MSB) l p t c baud =0 truy nh p IER,THR,RBR 6 t cho php tn hi u Break 5-3 B5 B4 B3 Ch n ch n l x x 0 Non 0 0 1 Odd 0 1 0 Even 1 0 1 High Parity 1 1 1 Low Parity 2 = 1 th dng 1.5 bit Stop n u di t l 5, cn n u di t 6-8 bit th c 2 bit Stop. = 0 th dng 1 bit Stop 1-0 B1 B0 S bit data 0 0 5 0 1 6 1 0 7 1 1 8
49
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi hi u tn hi u Break, ta xem v d khung d li u trn v i 8 bit data, khng ki m tra ch n l v 1 bit Stop.
Khi ng dy tr ng thi Mark, m c logic l 1. Bit Start s l m c logic 0. Sau t ng bit data s c g i trn ng dy. Bit Stop (logic 1) sau c gn vo k t thc vi c truy n. Sau bit Stop s l bit logic 0, c ngha l bit Start c a m t d li u m i. N u khng c thm d li u truy n i, ng dy ph i tr ng thi r i, m c logic 1. Do n u ng dy gi tr ng thi 0 sau bit Stop trong m t th i gian b ng di 1 t , tn hi u Break s c t o ra. Tn hi u Break l tn hi u bo cho CPU hay MODEM bi t k t truy n xong v ang t m ng t vi c truy n. h) Thanh ghi i u khi n MODEM (MODEM Control Register MCR), a ch 3FCh Thanh ghi ny cn g i l thanh ghi i u khi n cc tn hi u ra c a MODEM v n cho php i u khi n cc tn hi u t i cc chn DTR (chn 33) v DTS (chn 32) c a 8250. Bit Ch c nng 7-5 D tr , lun c thi t l p v 0. 4 =1 cho php 8250 lm vi c ch n i vng c c b ki m tra cc ch c nng c a 8250. =0 lm vi c ch th ng. 3 =1 : kch ho t k t xu t OUT2 2 =1 : kch ho t k t xu t OUT1 1 =1 : tn hi u t i chn RTS c a 8250 c chuy n v m c 0, my tnh pht chuy n tn hi u RTS t i MODEM bo hi u n s n sng pht d li u. 0 =1 : tn hi u t i chn DTR c a 8250 t m c 0, lc ny my tnh g i tn hi u DTR t i MODEM (hay t i MVT u kia n u giao ti p khng dng MODEM) bo hi u n s n sng lm vi c (tn hi u g i t i chn s 4 c a DB9 hay chn 20 c a DB25).
i) Thanh ghi tr ng thi dng (Line Status Register LSR) a ch 3FDh Ch c nng thanh ghi ny cho bi t tr ng thi dng tn hi u trn ng dy nh th no, cc bit D0D5 u c th gy ra ng t n u cc bit tng ng trong thanh ghi IER c l p . Cc bit tr ng thi c ngha nh sau:
Bit
Ch c nng
50
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 7 6 5 4 3 2 1 0 D tr =1: bo thanh ghi chuy n pht r ng (Transmitter Shift Register Empty), bo m t k t c pht i, bit ny b xo khi c m t k t chuy n t THR sang TSR. =1: bo thanh ghi m truy n r ng, k t chuy n t THR sang TSR (Transmitter Shift Register), bit ny b xo khi CPU a k t n THR. =1: bo nh n c tn hi u Break, bit ny b xo khi c thanh ghi LSR. =1: bo l i khung (framming error) ch ng h n bit stop =0, bit ny b xo khi CPU c thanh ghi LSR. =1: nh n bo c l i ki m tra ch n l (parity error), bit ny b xo khi CPU c thanh ghi LSR. =1: c l i trn (over run) x y ra khi k t tr c b m t, bit ny b xo khi CPU c thanh ghi LSR. =1: nh n c 1 k t v n trong thanh ghi m thu (RBR), bit ny b xo v 0 khi CPU c thanh ghi RBR.
j) Thanh ghi tr ng thi modem (MODEM Status Regisster MSR), a ch 3FEh Thanh ghi ny cn c g i l thanh ghi tr ng thi vo t RS232C v n cho bi t tr ng thi hi n th i c a cc tn hi u i u khi n MODEM. Bit Ch c nng 7 =1 : DCD ang ho t ng, bo lin l c v i MODEM c thi t l p. 6 =1 : RI ang ho t ng 5 =1 : MODEM (hay MVT u kia) g i tn hi u DSR (Data Set Ready) v my tnh cho bi t s n sng nh n d li u (qua chn 6 c a DB9 hay DB25) 4 =1 : MODEM (hay MVT u kia) g i tn hi u CTS (Clear To Send) v my tnh cho bi t s n sng nh n d li u (qua chn 8 c a DB9 hay chn 5 c a DB25). 3 =1 : bit D7 v a i tr ng thi 2 =1 : bit D6 v a i tr ng thi 1 =1 : bit D5 v a i tr ng thi 0 =1 : bit D4 v a i tr ng thi k) Thanh ghi nh nhp (Scratch Register), a ch 3FFh (dnh cho CPU, t s d ng nn khng nghin c u)
51
D0 D7
SOUT SIN
RTS DTR DSR
RxD TxD
DCD CTS RI
CTS RI
OUT1 OUT 2
Gi i m a ch 5V 0V
CS 2
CS1 CS0
XTAL1 CS XTAL2 CS
Hnh 3.7: S ghp n i v i 8250 3.2.3 L p trnh cho UART 8250: Lu thu t ton: a. Kh i pht vi m ch theo trnh t sau: - Ghi vo thanh ghi d ng s li u theo : + D7 = DLAB = 1 chu n b ghi ch t cho b chia t c . + Khung tin v i s bit Stop + S bit c a tin - Ghi gi tr b chia t n s vo cc thanh ghi ch t chia LSB, MSB tu theo t c baud. - Ghi cc php yu c u ng t vo thanh ghi yu c u ng t. b. Pht s li u n i ti p: - c thanh ghi nh n d ng ng t bi t b m r ng, c th pht tin. - Ghi vo thanh ghi i u khi n MODEM a l nh DRT (bit D0-1) i u khi n MODEM chu n b pht. - c thanh ghi tr ng thi MODEM ki m tra cc bit DSR (D5), RI (D6), DCD (D7) xem chu n b pht cha? ( gi tr chng =1) - c thanh ghi tr ng thi dng xem c sai s khng v hai thanh truy n v m c tr ng khng? ( a tin ra) - Ghi tin ra vo thanh ghi m pht t MVT. - Ghi l nh RTS (D1=1) vo thanh ghi i u khi n MODEM i u khi n pht s li u.
52
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi c. Nh n s li u n i ti p: Ghi l nh DTR (D0=1) vo thanh ghi i u khi n MODEM c tr ng thi MODEM DSR, RI, DCD thanh ghi tr ng thi MODEM. c thanh ghi tr ng thi dng bi t c s li u thu cha (D0=1); ho c c thanh ghi nh n di n ng t bi t thm s li u thu. - c s li u vo t thanh ghi m s li u vo.
V d 8250 c n trao i tin 8 bit, t c 9600 baud, khng ki m tra ch n l , 2 bit Stop, a ch lm vi c u 03F8h. Ghi thanh ghi i u khi n dng D0D1=11 , D2=1, D3=0, D4=0, D5=0, D6=0, D7=1 data1_LCR=87h n u D7=0data2_LCR=07h addr_LCR=03FBh Ghi thanh ghi ch t b chia 9600 baud s chia=000C data_LS = 0Ch v data_MS = 00h addr_LS=03F8h v addr_MS=03F9h Ghi thanh ghi cho php ng t khng lm vi c, c m ng t: data_IER=00h; addr_IER=03F9h c thanh ghi nh n d ng ng t THR_rong= 02h addr_IIR=03FAh Ghi thanh ghi i u khi n MODEM Addr_MCR=3FCh Data_DRT=01h Data_RTS=02h c thanh ghi tr ng thi MODEM Addr_MSR=3FEh DSR (D5), RI (D6), DCD (D7) = 1 data1_MSR=E0h c thanh ghi tr ng thi dng Addr_LSR=3FDh Khng l i D1 D2 D3 = 0; t/g m r ng D5 D6 =1data1_LSR=60h Chng trnh con th c hi n cc cng vi c trn: 1. Kh i pht vi m ch theo trnh t sau: port[addr_LCR] :=data1_LCR; port[addr_LS] :=data_LS; port[addr_MS] :=data_MS; port[addr_LCR] :=data2_LCR;
53
port[addr_ IER] :=data_IER; 2. Pht s li u n i ti p repeat Var1 := port[addr_IIR]; Until ((var1 and THR_rong)=THR_rong); port[addr_MCR] := data_DRT; repeat Var2 := port[addr_MSR]; Until ((var2 and data1_MSR)=data1_MSR); Repeat var3 := port[addr_LSR]; until ((var3 and data1_LSR)=data1_LSR); port[addr_THR] :=$50; {s li u truy n i} port[addr_MCR] := data_RTS; 3.Nh n s li u n i ti p port[addr_MCR] := data_DRT; Repeat Var2 := port[addr_MSR]; Until ((var2 and data1_MSR)=data1_MSR); Repeat var3 := port[addr_LSR]; until ((var3 and data1_LSR)=data1_LSR); Var4 :=port[addr_RBR];
54
55
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Nh ng ng t ny l m t ph n c a cc chng trnh ROM -BIOS, cc s hi u dnh cho cc ng t c a ROM- BIOS l t 10h n 1C h v 48h . Ngoi ra cn c cc ng t DOS v ng t BASIC ph c v h i u hnh DOS v chng trnh BASIC . 3. Cc ng t a ch B ng 4.1 : B ng ch c nng cc ng t trong my vi tnh INT (Hex) 00 01 02 03 04 05 - 07 08 09 0A 0B 0C 0D 0E 0F 10 - 6F 70 71 72 73 74 75 76 77 78 - FF IRQ Common Uses
Exception Handlers Chia m t s cho 0 Exception Handlers Th c hi n t ng b c Non-Maskable IRQ Non-Maskable IRQ (Cc l i ch n l ) Exception Handlers Exception Handlers Hardware IRQ0 Hardware IRQ1 Hardware IRQ2 Hardware IRQ3 Hardware IRQ4 Hardware IRQ5 Hardware IRQ6 Hardware IRQ7 Hardware IRQ8 Hardware IRQ9 Hardware IRQ10 Hardware IRQ11 Hardware IRQ12 Hardware IRQ13 Hardware IRQ14 Hardware IRQ15 Software Interrupts B th i gian h th ng Bn phm Redirected C ng n i ti p COM2/COM4 C ng n i ti p COM1/COM3 Reserved/Sound Card i u khi n a m m C ng song song ng h th i gian th c Redirected IRQ2 Reserved Reserved PS/2 Mouse Math's Co-Processor Hard Disk Drive Reserved i m d ng chng trnh do ng i s d ng t Exception Handlers V t qu n i dung thanh ghi hay b nh
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi BIOS dng khi kh i ng h th ng v t o cc k t th . Cc s hi u dnh cho cc ng t ny l t 1D hex n 1F hex.
4.2.1 Cho php ho c c m ng t 1. Cho php ho c c m ng t b ng l nh - L nh c m ng t DI (Disable interrupt) v cho php ng t EI (Enable Interrupt) c a 8085. - Ghi vo thanh ghi c n i dung bit IF (Interrupt Flag) cc gi tr : IF =1 : cho php ng t IF=0 : c m ng t 2. Cho php ho c c m ng t b ng m ch ph n c ng V i l i vo NMI v yu c u ng t c a TBNV, ta c th dng cc m ch l t i u khi n cho php ho c c m ng t. 4.2.2 S p x p u tin ng t Theo m t trong ba phng php sau: 1. Phng php h i vng (polling): Dng chng trnh, c theo th t u tin cc bit tr ng thi c a cc TBNV v ki m tra chng. N u bit no xc l p ln 1, t c TBNV tng ng c yu c u ng t, v VXL chuy n sang chng trnh con ng t ph c v TBNV . Sau l i c v ki m tra bit tr ng thi TBNV c m c u tin th p hn. Phng php ny n gi n v thi t b nhng m t th i gian h i vng. 2. Phng php ng t c ng trnh m t th i gian h i vng, ng i ta n i cc bit tr ng thi c a TBNV v i m ch OR, l i ra c ng OR n i vo chn INTR c a VXL. Khi b t k TBNV no c yu c u ng t, VXL s nh n bi t qua INTR v ti n hnh h i vng. Phng php ny gi m c th i gian ki m tra tr ng thi khi cha c yu c u ng t no, nhng cng khng thay i c th t u tin. 3. Phng php x l u tin b ng m ch c ng C hai lo i u tin theo v tr v u tin tu theo m ch so snh. u tin theo v tr t g n VXL S m ch v d trn hnh 4.1, v i ho t ng nh sau: - Tn hi u tr l i ng t INTA (Interrupt Acknowledge) t VXL i n i ti p qua cc BGN, qua m ch x l ng t v tr v l i VXL theo m t m t xch kn (daisy chain). BGN no t g n VXL c m c u tin cao
57
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi N u m t BGN ghi nh n ng t, tn hi u INTA b ch n v khng truy n t i BGN sau. Do , VXL khng nh n c tn hi u INTA, ngha l c m t yu c u ng t x y ra.
1 INTR DI0DIn
VXL INTA
DI0DIn INTA
BGN1
BGN2
BGN3
INTA
(b) (a) Hnh 4.1: S u tin ng t theo v tr v vector ng t Phng php ny tuy n gi n nhng th t u tin khng thay i c v n u c m t BGN no b h ng, m ch s lun bo c yu c u ng t. u tin ng t dng m ch so snh Dng cc vi m ch Intel 8214, 8259 c th thay i u tin ng t b ng chng trnh. 4.2.3 Xc nh ngu n gy ng t C nh ng phng php xc nh TBNV no gy ng t chuy n sang chng trnh con ph c v ng t tng ng cho TBNV : Phng php h i vng: VXL c v ki m tra l n l t tr ng thi cc TBNV. N u k t qu l 1, tr ng thi TBNV l s n sng v ngu n ng t l TBNV . Phng php c vector ng t t o b i tn hi u ng t INTA trong u tin ng t theo v tr. Phng php c vo thanh ghi u tin PR trong s dng m ch so snh.
4.2.4 T o vector ng t Vector ng t ch a a ch u c a chng trnh con ph c v ng t. Cc vector ng t c a MVT PC c trnh by trn b ng 4.1. Ta c th t o vector ng t b ng c ng AND colector h nh hnh 4.1 (b). Phng php ny thay i c m c u tin v cch tm ngu n ng t, nhng m ch ph c t p v t ti n.
58
K thu t vo ra DMA (direct memory access) l phng php truy c p tr c ti p t i b nh ho c I/O m khng c s tham gia c a CPU. Phng php ny trao i d li u gi a b nh v thi t b ngo i vi v i t c cao v ch b h n ch b i t c c a b nh ho c c a b i u khi n DMA. T c truy n DMA c th t t i 10 12 Kbyte/s v i cc b nh RAM c t c cao. DMA c ng d ng trong nhi u m c ch nhng thng th ng n c dng trong qu trnh "refresh" DRAM, xu t mn hnh, c ghi a, truy n d li u gi a cc vng nh v i t c cao . 5.1.2 Ho t ng DMAC (DMA Controller) c b n Hai tn hi u yu c u v xc nh n trong h th ng VXL l HOLD c s d ng yu c u DMA v HLDA l u ra xc nh n DMA. Khi tn hi u HOLD ho t ng (HOLD = 1), DMA c yu c u. B VXL tr l i b ng cch kch ho t tn hi u HLDA, xc nh n yu c u, ng th i th n i cc cng vi c hi n th i cng cc bus d li u v a ch , i u khi n c t tr ng thi tr khng cao. Tr ng thi ny cho php cc thi t b I/O bn ngoi ho c cc b VXL khc n m quy n i u khi n bus h th ng truy c p tr c ti p b nh . Tn hi u HOLD c m c u tin cao hn INTR ho c u vo NMI (ng t khng che c) v ch sau RESET. Tn hi u HOLD lun c hi u l c t i b t k th i i m no trong su t qu trnh th c hi n cc l nh khc c a VXL. Ch r ng t lc tn hi u HOLD thay i cho n khi tn hi u HLDA thay i tr i qua m t s chu k clock . DMA th ng c th c hi n gi a thi t b I/O v b nh . Qu trnh c DMA l qu trnh a d li u t b nh ra thi t b I/O, v ng c l i qu trnh ghi DMA l qu trnh a d li u t I/O t i b nh . Trong c hai chu trnh ny thi t b I/O v b nh c i u khi n ng th i d n n c n c cc tn hi u i u khi n khc nhau. i u khi n qu trnh c DMA ta c n hai tn hi u ho t ng MEMR ( c b nh ) v IOW (ghi I/O). i u khi n qu trnh ghi ta c hai tn hi u MEMW (ghi b b nh ) v IOR ( c I/O). B i u khi n DMA cung c p a ch b nh v tn hi u ch n thi t b I/O cho 8088 trong su t qu trnh DMA. Do t c truy n DMA ph thu c vo t c c a b nh v t c c a b i u khi n DMA nn trong tr ng h p t c c a b i u khi n DMA nh hn so v i b nh th b i u khi n DMA s lm gi m t c chung c a h th ng . Hnh v sau minh ho qu trnh ho t ng DMA c b n cng th th i gian c / ghi DMA :
59
60
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 5.1.3. Cc ch trao i d li u DMA + Trao i d li u theo kh i: trao i nhi u l i d li u, m t gi tr n n 0. + Trao i l y ln chu k t ng ph n: DMA pht hi n data bus r i, r i th c hi n trao i d li u DMA. DMAC ph i c: Thi t b pht hi n ng dy r i Thi t b b o m VXL b treo cho t i khi DMAC khng s d ng ng dy, khi n VXL ch m t th i gian Tw t i khi DMAC th c hi n trao i xong trong m t ph n c a trao i d li u v ti p t c n t ph n l y ln chu k sau cho t i khi k t thc trao i c t d li u DMA.
+ Trao i l y ln chu k trong su t: gi ng ch trn, nhng DMA b t VXL ch t i khi trao i xong m t t d li u tr n v n.
61
62
Hnh 5.2: S kh i chi ti t c a 8237 - CLK : c n i v i tn hi u ng h h th ng . - CS :Tn hi u ch n m ch, thng th ng n i v i u ra c a m t b gi i m a ch . - RESET : Xo cc thanh ghi t m, thanh ghi tr ng thi , thanh ghi l nh,thanh ghi yu c u. - READY : t o tr ng thi ch cho 8237A-5 i v i b nh ho c I/O c t c th p. - HLDA (hold Acknowledge): tn hi u thng bo CPU th n i bus a ch , d li u, i u khi n c a n. - DREQ0 - DREQ3 (DMA request) : u vo yu c u truy n DMA cho m i knh c a 8237A-5, c c tnh c a cc tn hi u vo ny l c th l p trnh c . - DB0 - DB7 (data bus ): Chn n i v i bus d li u c a b VXL 8088 c s d ng trong qu trnh trao i d li u - IOR v IOW : i u khi n c v ghi I/O . - EOP (end of process ) : tn hi u hai chi u bo k t thc DMA t i cu i chu k DMA . - A0- A3 : Ch n thanh ghi n i c n l p trnh v m t ph n a ch truy n DMA trong qu trnh DMA . - A7 - A4 : Cung c p 1 ph n a ch cn l i c a DMA . Gi ng vin: Nguy n Vn Minh Tr 63
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi - HRQ (hold request ) : n i v i HOLD c a VXL t o yu c u DMA . - DACK0- DACK3 : (DMA channel acknowledge ) u ra ch p nh n DMA ( c th l p trnh c) Th ng dng ch n thi t b c n i u khi n DMA. - AEN : Cho php ch t a ch n i v i DB0 - DB7 ng th i khng cho php cc b m trong h th ng c n i v i VXL. - ADSTB : (address strobe ) : ho t ng nh ALE nhng ch s d ng b i b i u khi n DMA ch t a ch A8- A15 trong su t qu trnh truy n DMA. -MEMW ,MEMR: u ra i u khi n b nh c, ghi d li u trong chu k DMA tng ng . 2. Ch c nng cc kh i v cc thanh ghi * Cc kh i ch c nng c a vi m ch : - Kh i m bus d li u. y l b m 8 bit ghp n i 8237 v i bus h th ng . (D0- D7) : Cc ng bus d li u ba tr ng thi, hai chi u. Khi 8237 ang c l p trnh i u khi n b i 8088 CPU, 8 bit d li u c a thanh ghi a ch DMA, thanh ghi ch (Mode set Register ) c g i n t bus d li u. Khi 8088 CPU c m t thanh ghi a ch DMA, ho c thanh ghi m (terminal count Register), thanh ghi tr ng thi d li u c truy n n 8088 thng qua bus d li u. Trong su t chu k DMA (khi 8237 ang n m quy n i u khi n bus d li u), 8237 s g i 8 bit quan tr ng nh t c a a ch b nh (t m t trong s cc thanh ghi a ch DMA) t i b i u khi n bus. Cc bit a ch ny s c truy n ngay khi b t u chu k DMA, sau bus d li u s c gi i phng th c hi n qu trnh trao i d li u v i b nh trong su t qu trnh DMA. * Cc knh DMA (DMA channel ): M i knh (CH0 - CH3) bao g m hai thanh ghi 16 bit : Thanh ghi a ch DMA v thanh ghi m (Terminal Count Register ) . Hai thanh ghi ny ph i c kh i t o tr c khi cc knh c php ho t ng. Thanh ghi a ch DMA c c cng v i a ch c a nh u tin c truy c p. Gi tr c ghi vo thanh ghi m (termianal count register) xc nh s cc chu k DMA ngay tr c khi u ra c a b m k t thc TC (Terminal Count ) ho t ng. Ni chung khi mu n c N chu k DMA th gi tr N-1 ph i c a t i 14 bit th p c a thanh ghi m c ng vo ra (Terminal Count Register). Hai bit cao nh t c a thanh ghi ny xc nh lo i ho t ng DMA cho knh ny .
64
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi * Kh i c ghi logic (Read/ Write logic ) Khi 8088 CPU c ho c ghi m t trong s cc thanh ghi c a 8237, kh i logic i u khi n c ghi nh n l nh c I/O (IOR) ho c I/O Write (IOW) thng bo cho vi m ch i u khi n bus 8288 gi i m 4 bit a ch th p nh t (A0- A3 ) v ng th i ghi n i dung c a bus d li u vo thanh ghi a ch (n u l tn hi u IOW) ho c ghi n i dung thanh ghi a ch ln bus d li u (n u l tn hi u IOR ). Trong su t qu trnh DMA kh i logic i u khi n c ghi th c hi n l nh c I/O v ghi b nh ( chu k DMA ghi) ho c tn hi u ghi I/O v c b nh (chu k DMA c). C n lu r ng trong su t qu trnh i u khi n DMA thi t b I/O khng ho t ng trong ch ny ph i c t tr ng thi "c m " s d ng tn hi u AEN. * Cc thanh ghi n i: - Thanh ghi a ch hi n th i (CAR ): Lu 16 bt a ch b nh trong su t qu trnh truy n DMA. M i knh u c m t thanh ghi ny v CAR tng ho c gi m tu thu c vo cch l p trnh. - Thanh ghi m t hi n th i (CWCR ): i u khi n s byte c truy n trong qu trnh DMA . S ghi trong thanh ghi ny nh hn s byte c truy n 1 n v . - Thanh ghi a ch c s v t c s (BWCR): s d ng khi ch n ch t ng kch ho t cho m t knh ,trong qu trnh ny thanh ghi BWCR c dng g i l i cc thanh ghi CAR v CWCR sau khi DMA k t thc. - Thanh ghi l nh (Command Register ): l p trnh cho ho t ng c a 8237
- Thanh ghi ch (Mode Registe ): Thi t l p ch ho t ng cho m i knh . Gi ng vin: Nguy n Vn Minh Tr 65
- Thanh ghi che set/reset (Mask register set/reset mode): xo ,thi t l p vi c c m cc knh .
66
IOR 0 1 1 1 1 1 0 1 1 1
IOW 1 0 0 0 0 0 1 0 0 0
Ho t ng c thanh ghi tr ng thi Ghi thanh ghi l nh Ghi thanh ghi yu c u Ghi thanh ghi m t n n Ghi thanh ghi ch Xo flip-flop con tr byte c thanh ghi t m th i Xo ch Xo thanh ghi m t n Ghi t t c cc bit c a thanh ghi m t n
67
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi K nh 0 Thanh ghi a ch c s v hi n hnh a ch hi n hnh m l i c s v hi n hnh m l i hi n hnh a ch c s v hi n hnh a ch hi n hnh m l i c s v hi n hnh m l i hi n hnh a ch c s v hi n hnh a ch hi n hnh m l i c s v hi n hnh m l i hi n hnh a ch c s v hi n hnh a ch hi n hnh m l i c s v hi n hnh m l i hi n hnh Ho t ng Ghi c Ghi c Ghi c Ghi c Ghi c Ghi c Ghi c Ghi c
CS
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IOR
1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
IOW A3
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Int FF 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Data Bus A7A0 A8A15 A7A0 A8A15 W7W0 W15W8 W7W0 W15W8 A7A0 A8A15 A7A0 A8A15 W7W0 W15W8 W7W0 W15W8 A7A0 A8A15 A7A0 A8A15 W7W0 W15W8 W7W0 W15W8 A7A0 A8A15 A7A0 A8A15 W7W0 W15W8 W7W0 W15W8
68
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 5.2.2 Ghp n i v i 8237A-5 trong h vi x l 8088 Vi m ch 8237 c s d ng trong my vi tnh IBM PC th c hi n cc qu trnh DMA trao i d li u tr c ti p gi a thi t b ngoi v my vi tnh . Tn hi u AEN v ADSTB ra c a 8237A-5 i u khi n u ra c a ch t 82C82. Trong su t qu trnh ho t ng bnh th ng c a 8088 (AEN=0 ) cc vi m ch ch t a ch cung c p cc bit a ch A15- A8 . a ch bus A7- A0 c cung c p tr c ti p b i 8237A-5 v ch a m t ph n a ch truy n DMA. Tn hi u i u khi n MEMR ,MEMW ,IOR ,IOW cng c t o b i b i u khi n DMA. Gi thi t a ch u cho DMAC l 0070h.
Hnh 5.3: S ghp n i 8237 v i 8088 1. Cc tr ng thi ho t ng Vi m ch 8237A c cc tr ng thi sau: - Tr ng thi ngh SI: tr ng thi tr khng cao, khng c ch n m ch ( CS =1). - Tr ng thi ch SO: Tr ng thi u c a qu trnh trao i DMA. 8257 nh n tn hi u DREQ, x l v g i yu c u Hold cho VXL nhng cha nh n c tn hi u xc nh n theo HLDA. Khi nh n c xc nh n, DMAC b t u qu trnh trao i d li u. - Tr ng thi pht a ch ngu n s li u S1: DMAC pht a ch ngu n s li u (c a I/O ho c Memory) - Tr ng thi pht l nh c cho ngu n s li u S2: DMAC pht l nh c s li u c a ngu n s li u - Tr ng thi ch SW: DMAC ch trong th i gian Sw s li u c c xong ngu n pht s li u, ghi xong vo thanh ghi m, ch Ready c a DMAC. Gi ng vin: Nguy n Vn Minh Tr 69
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Tr ng thi pht a ch c a ch s li u S3: DMAC pht a ch c a ni g i s li u (Memory ho c c a I/O) - Tr ng thi pht l nh ghi s li u vo ch S4: DMAC pht l nh ghi s li u t thanh ghi m ra c a vo-ra 2. Cc ch Tu n i dung thanh ghi ch lc kh i pht, DMAC c cc ch sau: Ch chuy n t ng t n (Single Transfer Mode) Ch chuy n nhi u t (Block Transfer Mode) Ch chuy n theo nhu c u (Demand Transfer Mode) v i s l ng t tu theo ng i s d ng i u khi n. Ch ghp t ng (Cascade Mode) l ch chuy n lin ti p cc t , i u khi n b i cc DMAC m c n i t ng. -
3. Cc ch u tin c a yu c u DMAC Cng gi ng nh x l ng t, DAMC c hai ch u tin: Ch u tin c nh: knh 0 c m c u tin cao nh t, knh 3 c m c u tin th p nh t. Ch u tin vng: knh v a c ph c v s c m c u tin th p nh t. Khi m i l p ch , knh 0 c m c u tin cao nh t.
4. Kh i pht v m b o chng trnh ph c v Tr c khi a DMAC vo ho t ng, chng trnh ph i kh i pht n. Qu trnh kh i pht g m 2 giai o n: Xo c ng b ng tn hi u Reset, lm cc thanh ghi v 0. Ghi cc l nh c a chng trnh kh i pht: VXL ghi vo cc thanh ghi ch c nng nh a ch ban u, s t trao i, s knh, che ch n yu c u c a knh khng c n ho t ng, ch trao i, chi u tng hay gi m a ch Khi ghi d li u vo thanh ghi 16 bit, ph i ghi l n l t 2 byte theo th t byte th p tr c, byte cao sau. Sau khi c kh i pht, DMAC s hon ton t ng lm vi c. K t thc chng trnh kh i pht ny, lun ph i c l nh ghi bit D4=1 vo thanh ghi ch cho php t kh i ng.
5. K t thc trao i DMA C hai cch k t thc trao i d li u: - K t thc t ng: K t thc khi b m s tin trao i m v 0, hay s m k t thc TC (Terminal Count). V i DMAC 8237, vi c k t thc th hi n tn hi u Hold k t thc, t c tr v m c logic 0.
70
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi K t thc c ng b c: y l tn hi u t ngoi vo (do m ch TBNV ho c do ng i i u hnh can thi p b ng cch n nt l nh) k t thc qu trnh trao i DMA. knh mong mu n
6. Ki m tra s k t thc
Trong khi DMAC ho t ng, thanh ghi tr ng thi lun c c p nh t, t c lun ghi tr ng thi hi n th i c a DMAC. Khi k t thc, VXL c th c n i dung ny c a thanh ghi tr ng thi bi t r ng knh no c a DMA t n s m k t thc TC, s l i trao i l bao nhiu ( tr ng h p k t thc c ng b c do EOP t ngoi vo) v knh vo ang ch ph c v . 7. c i m v ho t ng c a 8237 8237 c nh ng c i m chnh sau: - Cho php ho c c m ring bi t t ng knh DMA trong s 4 knh. - Trao i d li u DMA tr c ti p gi a hai vng b nh . - Cho php n i t ng cc DMAC tng s knh DMA. - C th t o yu c u DMA b ng chng trnh - V i 8237-2, t c trao i DMA c th t t i 1,6Mbps. Do ngoi ph c v trao i d li u gi a MVT v mn hnh, a, DMA cn c dng trong m ng MVT. 5.2.3 L p trnh cho 8237A a. Chng trnh truy n d li u gi a b nh -b nh b ng DMA V d c n chuy n kh i nh c a ch 1000h-13FFh t i kh i nh 1400h-17FFh thng qua DMA. Chng trnh s g m cc b c sau: - Xo flip-flop con tr byte v 0. - L p trnh cho cc knh 0 v 1: a a ch ngu n v ch vo knh 0 v 1. - t gi tr b m b ng s byte c n chuy n -1 - L p trnh thng qua thanh ghi ch cho knh 0 v 1 - L p trnh cho thanh ghi l nh - Cho php knh 0 v a ra yu c u DMA - Ki m tra bit h t d li u. N u xong th k t thc DMA. Xc nh a ch cc thanh ghi: Addr_chanel0 = $70; Addr_chanel1 =$72; Addr_CT1 =$73 ;// a ch b m knh 1 Addr_SR =$78 ;// a ch thanh ghi tr ng thi Addr_CR =$78 ;// a ch thanh ghi i u khi n Addr_MR =$7B ; // a ch thanh ghi ch Addr_MKR = $7F;// a ch thanh ghi c m Addr_RR = $79 ; // a ch thanh ghi yu c u Addr_pFF = $7C ; // a ch flip-flop con tr byte
71
port[addr_pFF]=$00;// xo con tr FF v 0. // t a ch ngu n vo knh 0 port[addr_chanel0] =$00; port[addr_chanel0] =$10; // t a ch ch vo knh 1 port[addr_pFF]=$01;// xo con tr FF v 0. port[addr_chanel1] =$00; port[addr_chanel1] =$14; //Ch nh s byte c n chuy n 4000 port[addr_pFF]=$01;// xo con tr FF v 0. port[addr_CT1] =$00; port[addr_CT1] =$40; // t ch : knh 0 c 1011 1000b= B8h ; knh 1 ghi: 1011 0101=B5h port[addr_pFF]=$01;// xo con tr FF v 0. port[addr_MR]=$B8; port[addr_MR]=$B5; // L p trnh thanh ghi l nh cho php truy n M-M= 01h Port[addr_CR]=$01; // B m t n che ch n knh 0 = 0000 1110 b=0Eh port[addr_MKR]= $0E; //Yu c u DMAC = 0000 0100 b=04h port[addr_RR] = $04; //Ki m tra tr ng thi k t thc m: knh 0 truy n h t d li u (D0=1) =01h Repeat Var1=port[addr_SR]; Until ((var1 and $01)=$01); //k t thc truy n Return;
72
V S -TNG T
c th i u khi n c cc my mc trong nh my, cc thi t b y t chng ta c n quan tm n cc nh h ng c a mi tr ng bn ngoi nh p su t, nhi t ... Th ng c m t s b c nh n c tn hi u i n bi u di n cho cc y u t v bi n i t d ng tng t sang d ng s cc my tnh c th x l c. Hnh 6.1 bi u di n s n gi n c a m t h th ng i u khi n t ng dng my vi tnh. Setpoint K DAC K H th ng th c CCCH CB
My vi tnh
ADC
Hnh 6.1: S c u trc h th ng i u khi n t ng dng my vi tnh u tin l c m bi n (CB) dng bi n i cc gi tr v t l nh nhi t , p su t ... sang m t i n p hay dng tng ng. Sau c m bi n th ng l b khu ch i (K) v l c. Khu ny c th c hi n b i m t s m ch khu ch i thu t ton. Sau , tn hi u tng t ny c chuy n sang d ng s b ng b bi n i tng t -s (Analog-Digital Converter-ADC), v c my vi tnh nh n, x l, lu tr , so snh v i tn hi u t, v t o ra tn hi u i u khi n (K) tng ng. V my vi tnh ch lm vi c tn hi u s (logic 0 v 1) nn c n c b chuy n i s -tng t (Digital-Analog Converter-DAC) t o ra tn hi u i u khi n d ng tng t . Ti p theo l khu khu ch i (K) v l ch p t o tn hi u ph h p cung c p cho c c u ch p hnh (CCCH) c a h th ng th c.
73
Hnh 6.2: S b khu ch i thu t ton. Ud hi u i n p vo UP , IP i n p vo v dng i n vo c a thu n. UN , IN i n p vo v dng i n vo c a o. Ur , Ir i n p ra v dng i n ra. B khu ch i thu t ton khu ch i hi u i n p Ud = UP - UN v i h s khu ch i K 0 > 0 . Do i n p ra:
U r = K 0U d = K 0 (U p U N )
K0 =
2. H s khu ch i ng pha KCM
Ur Ur = Ud U p U N
N u t vo c a thu n v c a o c a b khu ch i thu t ton cc i n p b ng nhau, ngha l: UP = UN = UCM =0 th Ud = 0. G i UCM l i n p vo ng pha. L t ng ta c Ur=0. Tuy nhin, th c t khng ph i nh v y. Do gi a i n p ra v i n p vo ng pha c quan h t l l h s khu ch i ng pha KCM :
K CM = U r U CM
74
I0 = IP - IN v i UP = UN = 0 Thng th ng I0 = 0,1IP. Tr s c a dng vo l ch khng thay i theo nhi t . Hi n t ng ny g i l hi n t ng tri dng l ch khng.
6.1.2 Cc s c b n c a b khu ch i thu t ton
1. S khu ch i khng o
75
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi H s khu ch i khi khng c ph n h i m l n v cng. i n tr l i vo l n v cng. r ng d i thng l n v cng. H s nn ng pha CMRR l n v cng. i n tr l i ra b ng khng . Th i gian p ng b ng khng Do , h s khu ch i c a m ch l t ng l:
K= R1 + R2 R2
2. M ch m y l tr ng h p c bi t c a m ch khu ch i khng o
76
Hnh 6.7: V d v b bi n i DA 4 bt M c ch c a b bi n i DA, nh nu, l bi n i tn hi u nh phn n bt thnh dng hay p tng ng. Hnh 6.7 l m t v d v m t b bi n i DA 4 bt n gi n. D a vo v tr c a cc cng t t Bi (1 l ng v 0 l m ), i n tr u vo s thay i theo. Do i n p u ra cng s thay i theo :
77
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi B B3 B4 B + U r = 104.5 15 + 2 4 + 4 2,5.10 12,5.103 10 5.10 V nguyn t c b chuy n i s -tng t ti p nh n m t m s n bt song song ho c n i ti p l i vo v bi n i ra dng i n ho c i n p tng ng l i ra. Dng i n hay i n p l i ra l hm bi n thin ph h p theo m s l i vo.
Hnh 6.8: S kh i DAC M t b DAC hon ch nh bao g m ba ph n t c b n: i n p quy chi u n nh bn ngoi (Vref) DAC c s Khu ch i thu t ton Nh v y i n p u ra c a b bi n i V0 s ph thu c vo m nh phn u vo theo cng th c sau: V0 = Vref (B020 + B121 + ... + Bn2n)/2n+1 Trong B0 l bt th p nh t v Bn l bt cao nh t c a m nh phn u vo, Vref l i n p quy chi u. DAC c s c u t o b ng cc i n tr chnh xc v nh ng chuy n m ch tng t c i u khi n b i m s u vo . Cc chuy n m ch tng t i u ch nh dng i n hay i n p trch ra t i n p quy chi u v t o nn dng i n hay i n p u ra tng ng v i m s u vo. M ch khu ch i thu t ton dng y chuy n i dng thnh p ng th i c ch c nng t ng m. B bi n i DAC c c i m l i l ng ra tng t khng lin t c, r i r c c a u ra ph thu c vo s bt c a b bi n i, nh ng DAC c s bt u vo l n th t ng s n c i n p ra cng l n v kho ng cch gi a cc n c cng nh .
78
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 6.2.2 Cc tham s c b n c a b chuy n i DA phn gi i (Solution): Lin quan n s bt c a m t DAC. N u s bt l n th s tr ng thi c a tn hi u nh phn l 2n ngha l s c 2n m c i n th (ho c dng i n) khc nhau, do c phn gi i l 1/2n. phn gi i cng b th i n th (ho c dng i n u ra) cng c d ng lin t c, cng g n v i th c t v ng c l i. chnh xc (Accuracy): C th nh gi ch t l ng c a m t DAC b ng sai s c a n. i l ng bi u di n sai s l l ch t i a gi a i l ng ra v m t ng th ng n i i m 0 v i i m FS (Full Scale) trn c tuy n chuy n i DA. tuy n tnh (Linearity): tuy n tnh c a DAC cho bi t l ch i n p so v i m t ng th ng i qua nh ng i m nt c a c tuy n chuy n i. l c tnh th ng g p nh t v i DAC. ng cong c tuy n l n i u n u s thay i l ch trn l khng i d u. c m t DAC n i u, l ch ny ph i l n hn 0 cho m i n c thang. Ngoi ra m c tuy n tnh c a DAC ph i nh hn ho c b ng 1/2 LSB (Least Significant Bit- Tham kh o hnh 6.14) n tr nn n i u. Nh v y 1/2 LSB l c trng v gi i h n n i u c a m t DAC. Phi tuy n vi sai: l i l ng cho bi t l ch gi a gi tr th c t v l t ng cho m t n c i n p ra ng v i m i thay i c a m s vo. i l ng ny cho bi t v nh n c a ng cong c tuy n i v i DAC. Th i gian thi t l p: i v i m t DAC l th i gian c n thi t i n p ra t t i gi tr t i h n sai s xung quanh gi tr n nh. Gi i h n ny th ng l 1/2 LSB ho c bi u di n b ng gi tr FS. Th i gian thi t l p tr c h t ph thu c vo ki u chuy n m ch, ki u i n tr v ki u khu ch i dng xy d ng b DAC. Thng th ng n c nh ngha b ng th i gian t khi i n p b t u thay i cho t i khi t t i vng gi i h n sai s cho tr c. N khng bao g m th i gian tr tnh t khi c s thay i m s u vo cho t i khi i n p ra b t u p ng.
6.2.3 Cc m ch DAC i n hnh Cc DAC c th c xy d ng theo m t trong nh ng ki u m ch sau: Chuy n i DA theo ki u i n tr tr ng l ng Chuy n i DA theo ki u m ch R-2R Chuy n i DA theo phng php m ho Shannon-Rack
79
Hnh 6.9: DAC theo phng php i n tr tr ng l ng M ch g m m t ngu n i n p chu n Uch, cc chuy n m ch, cc i n tr c gi tr l n l t l R, R/2, R/4, ... , R/2n-1 v cc m ch khu ch i thu t ton. V i m ch nh trn, khi m t kho i n th i no c n i v i ngu n i n th chu n th s cung c p cho b KTT dng i n c gi tr l:
Ii = U ch R i 2
Dng i n ny c l p v i cc kho cn l i. Nh v y c th th y ngay r ng bin i n p ra ph thu c vo cc v tr c ng hay m kho ngha l c n i v i i n p chu n Uch hay ni cch khc ph thu c vo gi tr cc bt tng ng trong tn hi u s a vo m ch chuy n i. M t cch t ng qut, v i m t DAC c n bt th tn hi u ra c tnh theo cng th c:
U r = U ch Rf
(2 R
n 1
.Bn 1 + L + 20.B0
Trong B0 Bn-1 c gi tr "0" ho c "1". M ch c u i m l n gi n, nhng nh c i m l chnh xc v tnh n nh c a k t qu ph thu c nhi u vo tr s tuy t i c a cc i n tr v s n nh c a chng trong cc mi tr ng khc nhau. Ngoi ra cn ph thu c vo tnh n nh v chnh xc c a ngu n i n p chu n.
80
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2. B chuy n i DA theo ki u thang i n tr R-2R (R-2R ladder)
Hnh 6.10: DAC theo phng php m ch R-2R DAC v i thang i n tr R-2R kh c ph c c m t s nh c i m c a DAC i n tr tr ng l ng. M ch ch g m hai i n tr R v 2R m c theo hnh thang v i nhi u kho i n (m i kho i n cho m t bt) v m t ngu n i n p chu n Uch. i l ng c n tm l dng Ith ch y vo m ch KTT khi c m t s kho i n c n i v i Uch. Theo m ch i n ta c: Ura = -Ith.Rf Xt t i chuy n m ch tng ng v i bt th i, nt tng ng trn m ch hnh thang l 2i . S d ng nh l Thevenin, khi ng chuy n m ch vo Uch th i n th tng ng Thevenin t i nt 20 s l Uch/2 v ngu n tng c n i tr l R, nh v y t i nt 21 (ti n v pha m ch KTT) ta c ngu n tng ng Thevenin c tr s l Uch/4 v n i tr l R. T nh ng k t qu trn suy ra r ng khi di chuy n v pha m ch KTT th tr s i n th Thevenin t i m i nt b ng m t n a tr s t i nt k c n bn tri n, v t i nt 2n-1 do c tnh c a b KTT i n th c coi b ng 0V. M t cch t ng qut, ta c cng th c tnh i n p ra c a m t DAC n bt v i i n tr hnh thang R-2R nh sau:
U r = U ch
(2 2 .R
n
Rf
n 1
.Bn 1 + L + 20.B0
81
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Cc DAC theo thang i n tr ph i dng s i n tr kh l n, v d n u m t DAC n bt th c n dng 2(n-1) i n tr trong khi phng php i n tr tr ng l ng ch ph i dng n thi. Nhng b l i chnh xc v tnh n nh c a tn hi u ra c m b o t t hn. 6.2.4 Ghp n i v i DAC V nguyn t c m t b DAC c th ghp n i tng thch v i h u h t cc b VXL. i v i cc b DAC 8 bt, cng vi c th m ch cn r t n gi n khi ghp n i v i cc VXL, l do l cc VXL u c BUS d li u l b i c a 8. i v i cc b DAC 12 hay 16 bt ta ph i s d ng cc m trung gian c s bt tng ng sau ti n hnh trao i s li u nhi u l n. Hnh 6.11 v 6.12 bi u di n m ch ghp n i h VXL v i m t DAC 8 bit v DAC 16 bit. a ch A0A15 Gi i m
WR
D0 D1 DAC 8 bit +
D7 Bus MVT BGN Hnh 6.11: M ch ghp n i h VXL v i m t DAC 8 bits a ch A0A15 Gi i m (3) 74 273 (1) 74 273 Bus MVT BGN (2) 74 273 DAC 16 bit +
WR
D0 D7
82
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 6.2.5 L p trnh xu t d li u ra cho DAC i v i DAC 8 bit, ta ch c n dng l nh xu t d li u Port[addr_port] := data; Trong a ch c ng addr_port s qua m ch gi i m a ch t o xung kch m m ch m a d li u s vo u vo DAC. S li u c n chuy n i c t trong data. i v i DAC 16 bit, ta c n hai l nh xu t: Port[addr_port1] := data1; Port[addr_port2] := data2; Trong a ch c ng addr_port1 qua m ch gi i m a ch t o xung th nh t kch m m ch ch t m 74273 th nh t, lu gi 8 bit th p c a d li u, th hi n trong data1. L nh xu t d li u th hai theo a ch addr_port2 s t o xung th hai kch m m ch ch t m 74273 th hai (pha d i) a 8 bit cao c a d li u, th hi n trong data2. ng th i xung th hai ny cng m ch t m 74273 th ba truy n s li u 8 bit th p u ra 74273 th nh t sang u ra 74273 th ba. K t qu l DAC nh n c 16 bit d li u cng m t lc.
Hnh 6.13: S minh ho nguyn t c lm vi c c a ADC Tn hi u tng t sau khi qua x l c a vo m ch l y m u. M ch l y m u c hai nhi m v chnh: L y m u tn hi u tng t t i cc th i i m khc nhau v cch u nhau, ni cch khc y l qu trnh r i r c ho tn hi u v m t th i gian. L ng t ho v m ho tn hi u. Qu trnh l ng t ho v b n ch t l qu trnh lm trn s c th c hi n theo nguyn t c so snh, tn hi u c n chuy n i c
83
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi so snh v i m t n v chu n. Cn m ho l qu trnh x p x p l i k t qu l ng t theo m t quy lu t nh t nh tu thu c vo lo i m yu c u u ra b bi n i (c th l m nh phn ho c m hexa). 6.3.2. Cc tham s c b n c a b chuy n i AD Cc tham s c b n c a b chuy n i g m c: D i chuy n i c a i n p tng t u vo, chnh xc b chuy n i v t c chuy n i. D i bi n i c a i n p tng t u vo l kho ng i n p m ADC c th th c hi n chuy n i c. Kho ng i n p ny c th l y gi tr t 0 n m t gi tr m hay dng, ho c cng c th l i n p hai c c tnh -UAM + UAM. chnh xc c a ADC: Tham s c trng cho chnh xc c a ADC l phn gi i (Resolution). Tn hi u u ra c a m t ADC l cc gi tr s c x p x p theo m t quy lu t no . S cc s h ng m u ra (s bt trong t m nh phn) tng ng v i d i bi n i i n p vo cho bi t m c chnh xc c a php bi n i.
Hnh 6.14: Sai s c a cc b chuy n i AD v DA V d m t b bi n i AD c s bt u ra l N=12 th s phn bi t c 212=2096 m c trong d i bi n i i n p u vo c a n - UAM ch ng h n. Nh v y m i m c ADC phn bi t c u vo l UAM/2096. Trong th c t ng i ta dng s bt N c trng cho chnh xc c a m t ADC khi d i bi n i i n p u vo l khng i. T c chuy n i cho bi t s k t qu chuy n i trong m t giy, cn c g i l t n s chuy n i fc. Cng c th dng tham s th i gian chuy n i Tc c trng cho t c chuy n i (Tc = 1/fc). T c chuy n i cng cao th chnh xc cng gi m v ng c l i.
84
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 6.3.3. Cc phng php chuy n i AD C nhi u cch phn lo i cc b bi n i AD, hay dng hn c l phng php phn lo i v m t th i gian. Phng php ny c u i m l cho php phn on m t cch t ng qut v t c chuy n i. Chuy n i song song (Parallel Comparator ADC): Tn hi u c n chuy n i c so snh cng m t lc v i nhi u gi tr chu n, v v y cc bt c xc nh ng th i v a n u ra. Chuy n i n i ti p theo m m: Qu trnh so snh c th c hi n t ng b c theo quy lu t m m. K t qu chuy n i c xc nh b ng cch m s l ng gi tr tn hi u tng t c n chuy n i. Chuy n i n i ti p theo m nh phn: Qu trnh so snh c th c hi n t ng b c theo quy lu t c a m nh phn. Cc n v chu n dng so snh l y cc gi tr gi m d n theo m nh phn, do cc bt c xc nh l n l t t bt c ngha nh t MSB (Most Significant Bit) n bt c t ngha nh t LSB (Least Significant Bit). Chuy n i song song - n i ti p k t h p: Trong phng php ny qua m i b c so snh c th xc nh c t i thi u l 2 bt ng th i. 1. Chuy n i theo phng php song song
85
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Nguyn t c ho t ng c a b chuy n i: Tn hi u tng t UA c ng th i a n cc b so snh t S1 Sm. i n p chu n Uch c a n u vo th hai c a b so snh qua thang i n tr R. Do cc i n p chu n t vo b so snh ln c n khc nhau m t l ng khng i v gi m d n t S1 Sm. u ra c a cc b so snh c i n p chu n l y trn thang i n tr th c m c logic "1", cn ng c l i c m c logic "0". Cc u ra c a m ch c n i v i m t m ch "AND", u cn l i c a m ch "AND" n i v i xung nh p. Ch khi xu t hi n xung nh p u vo m ch "AND" th xung ra c a b so snh c vo m ch nh Flip - Flop (FF). Nh v y xung nh p ng vai tr m b o cho qu trnh so snh v a tn hi u vo b nh , sau b m ho s bi n i tn hi u vo d i d ng m m thnh m nh phn (c th l d ng khc). M ch bi n i song song c u i m l t c chuy n i nhanh , nhng k t c u m ch kh ph c t p n u ta tng phn gi i c a php bi n i AD (resolution). Th c v y thi t l p m t b bi n i c phn gi i n bt th c n ph i c (2n -1) b so snh, do v y phng php ny ch dng cho cc b ADC t c cao v phn gi i th p. 2. Chuy n i AD theo phng php m
Hnh 6.16: S kh i m ch ADC ki u m M ch bao g m cc ph n t : B so snh, RS Flip-Flop, c ng "AND" dng ng m xung nh p, b m n bt v m t DAC n bt. Cc ph n t c m c thnh m ch h i ti p. Ho t ng c a m ch: Lc u m ch Flip-Flop v m ch m c Reset, l i ra Q c a FF m c logic "0", b m cng xo v 0, do i n p ra UDAC c a DAC l 0V. C ng AND m cho cc xung nh p vo m ch m. Lc ny i n p vo Ua l n hn UADC nn Uss tr th p. UDAC tng d n theo hnh b c thang v m ch m lin t c i tr ng thi t Gi ng vin: Nguy n Vn Minh Tr 86
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi th p ln cao, khi UDAC l n hn Ua th Uss chuy n ln cao lm cho l i ra Q c a FF chuy n ln m c logic "0" lm c ng AND ng l i. Lc ny n i dung b m l tn hi u s n bt tng ng v i tn hi u tng t Ua c n chuy n i. Nh v y th i gian chuy n i c a ADC ki u m ph thu c vo l n c a tn hi u tng t Ua v t n s xung nh p. N u Ua cng l n th th i gian chuy n i cng di, n u xung nh p cao th th i gian chuy n i ng n. Ngoi ra ADC ki u m cn c m t c i m l th i gian chuy n i c a m ch s h n ch t n s bi n thin cao nh t c a tn hi u tng t u vo Ua. 3. Chuy n i AD theo phng php x p x lin ti p
Hnh 6.17: S kh i m ch ADC x p x lin ti p Chuy n i AD theo phng php x p x lin ti p c u i m l n l th i gian chuy n i t l thu n v i s bt c a m s v th i gian thi t l p c a m ch ghi ch khng ph thu c vo l n c a tn hi u chuy n i. Kh i u m ch ghi tr ng thi Reset, sau m ch i u khi n kch thch bt l n nh t U xu t hi n Bn 1 = 1 . u ra DAC s tr thnh U ADC = ch . Khi s x y ra m t trong 2 hai tr ng h p: N u UDAC > Ua th bt ny c b qua (thi t l p "0") N u UADC < Ua th bt ny c duy tr (thi t l p "1")
87
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Sau l i kch thch bt k ti p xu t hi n Bn 2 = 1 . Lc ny u ra DAC s t c l U U U ADC = Bn 1 ch + ch . V cng vi c so snh tng t trn xc l p bit Bn 2 . 2 4
Cng vi c so snh c ti p t c n khi UDAC = Ua th qu trnh chuy n i k t thc. 4. Chuy n i AD theo phng php song song- n i ti p k t h p
B1 B 2 B N1
TNG TH HAI
Hnh 6.18: B chuy n i AD theo phng php song song n i ti p k t h p. y l s k t h p phng php song song v phng php n i ti p nh m dung ha u khuy t i m c a hai phng php ny: gi m b t ph c t p c a phng php song song v tng t c chuy n i so v i phng php n i ti p. Cng c th g i y l phng php phn o n t ng nhm bit, v i s bit trong m i nhm N 2. 5. Chuy n i AD theo phng php tch phn hai s n d c
88
UA
B m
Kt qua
t1 VSS
t2
Z0
Trong , t1 l th i gian m ng v i s xung lm b m b trn. t2 l th i gian tch i n p chu n Vch. VC l i n p rng ca Z l s xung m c. Zo l s xung trong th i gian t0. Vch l i n p chu n c c c tnh nh hnh v . VA l i n p vo (c c tnh nh hnh v ). u ra c a b tch phn. VSS l i n p ra c a b so snh.
89
trong khi b m s m xung t ngu n dao ng chu n t n s fn. VA c tch phn trong th i gian t1 cho n khi b m b trn (th i i m t1). Lc ny m ch logic s i u khi n chuy n kha K sang v tr 2 v m ch tch phn s ti p t c tch phn Vch nhng v i chi u ng c l i v Vch c c c tnh ng c c c tnh VA. Khi tn hi u ra c a b tch phn VC gi m xu ng b ng 0 th m ch so snh s ng c ng. N i dung ghi trong b m l k t qu bi n i. N t l v i th i gian tch phn i n p chu n t2.
6.3.4. Ghp n i v i ADC Ph n l n cc ADC c n m t tn hi u Start b t u qu trnh chuy n i. Sau khi k t thc chuy n i, m t tn hi u Finish c thi t l p bo hi u qu trnh chuy n i k t thc. Do ta c th dng m ch ghp n i ra s li u n gi n c i tho i ghp n i v i ADC. Hnh 6.18 bi u di n m t m ch ghp n i v i m t ADC 8 bit. Qu trnh chuy n i c kh i ng b ng m t xung dng Start. K t thc qu trnh ny, s li u s c a ra l i ra ADC, ng th i tn hi u Finish chuy n t 0 ln 1 . L i ra ADC c n i v i m ch m ba trang thi 74244. Chn xu t c a 74244 c n i v i chn Clear c a m ch l t 7474 xa tr ng thi s n sng s li u c a ADC. M t xung c s li u ADC s ng th i xa lun u ra Q c a 7474 v 0 trnh vi c c hai l n cng 1 s li u. Xung Finish a m c 1 ra chn Q c a m ch l t 7474 r i qua m ch m 3 tr ng thi 74125 a vo ng d li u D0.
74 244
D7 D0
IOW IOR
Cl
74 138
A0 An Bus MVT
90
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi i v i ADC 16 bit, chng ta c n m t b ch t m th hai c s li u 8 bit cao theo m t a ch th hai.
6.3.5 L p trnh nh n d li u t ADC Qu trnh nh n d li u t ADC trn hnh 6.18 c th c hi n qua cc b c sau: + T o xung Start b t u qu trnh chuy n i AD + Ki m tra vi c chuy n i th c hi n xong ? + c d li u vo a ch t o tn hi u Start t 74138 : addr_St a ch t o tn hi u m ch t 74125 : addr_Fh a ch t o tn hi u m m 74244: addr_ADC
Port[addr_St]:=0; Repeat Var1 := port[addr_Fh]; Until ((Var1 AND 1)=1) //Delay(thoigianchuyendoi) -> khong dung mach doc finish Data :=port[addr_ADC];
91
CHNG 7:
7.1:
Hnh 7.1 v 7.2 cho th y MVT c ra s n m t s cc c ng cho php ghp n i v i cc thi t b vo ra c b n (nh mn hnh, bn phm, chu t, my in) v cc c ng vo ra khc (nh c ng USP, khe c m m r ng ISA/PCI slots) . Do m t v n t ra l ph i thi t k cc m ch ghp n i gi a TBNV v i cc c ng ny, ph c v cho vi c o l ng v i u khi n m t h th ng t ng ha.
92
7.2: Ch r ng VXL ch c m t bus d li u, trong khi c r t nhi u thi t b ngo i vi v nh cng mu n trao i d li u v i VXL qua bus ny. Do m i thi t b ngo i vi s c c p m t a ch ring bi t, cho php n lm vi c v i VXL khi a ch ring bi t c a ra trn bus a ch . B ng 7.1 trnh by cc a ch vo ra c b n cho cc thi t b ngo i vi trong my vi tnh IPM. B ng 7.1: a ch vo/ra c b n cho cc thi t b trong cc my vi tnh IPM PC Base Address 0F - 1F 20 - 3F 40 - 5F 60 - 6F Device First DMA Controller 8237 A-5 First Interrupt Controller 8259A, Master 8254-2 8042, Keyboard
93
Real Time Clock, NMI mask DMA Page Register, 74LS612 DMA Channel 0 DMA Channel 1 DMA Channel 2 DMA Channel 3 DMA Channel 5 DMA Channel 6 DMA Channel 7 Refresh Second Interrupt Controller 8259A, Slave Second DMA Controller 8237 A-5 Clear 80287 Busy Reset 80287 80287 Math coprocessor Secondary ATA Hard Disk Controller Primary ATA Hard Disk Controller Game Controller/Joystick Expansion Unit LPT2 Parallel port
94
280 - 29F 2E8 2EF 2E1 2F8 - 2FF 2E2 2E3 300 - 31F 300 - 31F 320 - 32F 378 - 37F 380 38C 3A0 3A9 3B0 3BB 3C0 3CF 3D0 3DF 3E8 3EF 3F0 3F7 3F8 3FF
LCD on Wyse 2108 PC SMC Elite default factory setting COM4 GPIB Adapter 0 COM2 Data acquisition Prototype Card 3Com EtherLink default factory setting XT Hard disk interface LPT1 Parallel port SLDC/Secondary Bi-sync interface Primary Bi-sync interface Monochrome display EGA display control Color/Graphics Display (CGA) COM3 Floppy disk controller COM1
95
96
ti 6: Thi t k m t m ch ghp n i v i c ng a nng USB dng i u khi n hnh trnh ng c b c PH N I: GI I THI U V C NG A NNG USB I. Gi i Thi u Chung V Bus USB
C ng USB v th c ch t l m t bus v qua c th u n i ng th i r t nhi u thi t b ngo i vi v i ch ng l ai khc nhau. V v y c th g i bus USB l m t bus n i ti p a nng
97
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi T nh n d ng thi t b ngo i vi ,t ng v b n ch c nng i v i ph n m m i u khi n v c u hnh H tr cho cc thi t b l ai khc nhau, v i nhi u ch c nng khc nhau. i u khi n lu ng d li u thng qua b m b ng vi c qu n l giao th c t s n bn trong . C c ch x l l i/ hon tr l i. H tr kh nng nh n d ng cc thi t b m c l i. Giao th c n gi n trong vi c th c hi n v tch h p
2. u n i v cp:
Bus USB c hai ki u u n i khc nhau: ki u A v ki u B Bus USB s d ng m t cp b n s i u n i v i cc thi t b ,trong m t c p ng truy n hai s i xo n c dng lm cc ng d n d li u vi phn, cn hai c p kia c dng lm ng d n 5V v ng n i t chung GND Chn Tn g i 1 Vcc 2 D3 D+ 4 GND B ng u n i Mu dy Tr ng Xanh l c en bus USB M t +5VDC D li uD li u+ N I t
Cc my tnh PC i m i nh t u l ki u A.Cn cc tr ng h p khc thi t b th ng c c m ki u B. Vi c u n i v i my tnh c th c hi n b ng m t cp ki u A-B Cc cp dng ko di kho ng cch t my tnh n thi t b th ng l ki u A-A Khi k t n i cc thi t b v i bus USB ta th ng ph i phn bi t r cc thi t b s d ng ngu n nui ring ,ch ng h n my in ,v i cc thi t b nh n ngu n nui qua bus
3. Truy n d li u n i ti p:
Ton b d li u c trao i u c m t khung dng b ng 1 ms .Trong ph m vi m t khung ,nhi u gi d li u k ti p dnh cho nhi u cc thi t b khc nhau c th c x l,trong c nh ng gi c n g i v i t c th p v nh ng gi c n g i v i t c d cao cng t n t i trong m t xung.
Cc gi d li u USB
1ms
667ns
83,3ns
Hnh 2: Cc tn hi u t c th p v t c cao
98
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Khi c n ghp n i nhi u thi t b USB ,ta c n c m t h p phn ph i hay th ng g i l hub.Hub cng cho php trnh x y ra tnh tr ng tn hi u t c cao c chuy n giao t i thi t b c t c th p Do khng c tn hi u gi nh p c truy n tch ring ra nn xung gi nh p c n ph i c t o ra t chnh tn hi u mang thng tin v d li u.Nn k thu t khng tr v m c 0 (g i t t l NRZI) c s d ng.Khi , D li u ng v i ga tr 0 d n n s thay i c a m c i n p . Cn ng v i gi tr 1 l i gi nguyn m c i n p Tn hi u s thng th ng 0 0 0 0 1 1 0 Tn hi u NRZI Hnh 3: Tn hi u NRZI M ha v gi i m tn hi u l cng vi c c a ring ph n c ng .B nh n c n ph i ph c h i v lo i ra tn hi u gi nh p,nh n v gi i m d li u
D+
Song song/ n I
B truy n USB
D-
B nh n USB
Hnh 4: B truy n v b nh n USB th c hi n qu trnh ng b trong khi truy n ,ng i ta s d ng m t phng php r t l c o : Khi dng d li u ch a 6 s 1 k ti p nhau th m t s 0 c b truy n t ng thm vo b t bu c x y ra s thay i m c ,b nh n s t ng lo i b s 0 ny ra kh i dng d li u. Cng nh m m c ch ng b , m i gi d li u u c d u hi u c bi t , l byte ng b (Sync-byte) Trn th c t b truy n v b nh n lun c thi t k trn cng m t vi m ch: M i thi t b USB c ch a m t kh i SIE m nh n nhi m v ny th c hi n vi c trao i d li u gi a SIE v cc ph n cn l i c a thi t b cn c n n m t b nh m FIFO .T t c cc cng vi c khc do SIE th c hi n Thng th ng ,m t thi t USB c nhi u b nh FIFO ,ng vai tr trung gian trong cc cu c truy n d li u. Ph n m m USB t o ra cc ng ng d n t i cc i m cu i ring l .M i ng ng l m t knh logic d n t i m t i m cu i trong m t thi t b .M t thi t b c th s
99
II. Cc HUB
u n i nhi u thi t b ngo i vi USB ta c n 1 hub ho c nhi u hub. Hub l h p phn ph i bus c nhi u c ng. M t hus ngoi c m t c ng h ng v my ch v 4 c ng ra thi t b ghp n i ,ngay trong my tnh PC cng c m t hub .M t lo i hub trong t o ra 2 c ng USB ki u A pha sau may vi tnh.Hub ny g i l hub g c v hub ny t ngay trn m ch chnh.( hnh 5) C ng USB Trn PC
Hub USB
3 m t hub USB
c ng ra thi t b ghp n ic a m t hub c th u thm m t hub khc .Nh v y hnh thnh m t c u trc phn t ng.( hnh 6)
My chu (tang goc)
Tang 1
Nt Nt
Tang 2
Nt
Nt
Tang 3
Tang 4
Nt Nt Nt
100
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi M i hub v m i dy cp u gy ra s lm tr tn hi u, nhng th i gian ttr khng v t qu th i gi tr c c i c qui nh. Bub USB cho php t ng c ng n 7 hub u n i k ti p nhau, nh v y c nhi u nh t l 127 thi t b c th u n i vo m t bus USB. M t nhi m v c a hub nh n bi t cc thi t b m i c u n i vo v cn phn bi t l thi t b t c cao hay thi t b t c th p. Ngoi ra hub c th xa i 1 thi t b u n i vo bus nhng sau l i c tho r i kh i h th ng. th c hi n cc nhi m v ny c nh ng tr ng thi bus c t o ra theo cch c bi t. M t c ng USB khng c s d ng s khng c kch ho t ngha l hub khng g i khung d li u t i.C hai ng d n d li u u m c low v c m t i n tr 15k. M i thi t b ngo i vi USB u c m t i n tr 1,5k n i m t trong hai ng d n tn hi u v i ngu n +3,3V. Thi t b t c cao i n tr ny n i v i ngu n +3,3Vv i ng d n D+, thi t b t c th p th ni v i ng d n D-. Hub cng c th nh n bi t ki u thi t b v c th xy d ng m i k t n i d li u v i t c truy n thch h p .(hnh 7, 8)
Hnh 8: Nh n d ng m t thi t b t c th p Khi l n u tin t l i ch cho bus, c hai ng d n d li u c n i mass trong kho ng th i gian 10ms. Kh i SIE c a thi t b ngoai vi nh n bi t tr ng thi ny v xa i m t tn hi u reset c a b vi i u khi n c u n i vo. Sau y b i u khi n b t u v i vi c th c hi n chng trnh b i u khi n c a n v s n sng trnh di n h th ng. Hub cng cung c p i n p ngu n nui cho thi t b . Khi kh i ng m i thi t b USB c php tiu th dng i n n 100 mA. N u nh c n m t dng l n hn th nhu c u ny c n ph i c khai bo .Dng i n tiu th t ng c ng c th t t i 500mA. M t
101
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi hub ngoi ch c th cung c p 100 mA cho mi c ng ra thi t b ghp n i b i v n c php ti p nh n t ng c ng khng qu 500 mA v yu c u ring cho chnh b n thn hub.
III. Ph n c ng v ph n m m my ch USB.
My ch USB tng tc v i cc thi t b USB thng qua b i u khi n my ch . My ch ch u trch nhi m v nh ng cng vi c sau: Pht hi n vi c k t n i ho c l ai b c a cc thi t b USB. Qu n l vi c i u khi n dng d li u gi a my ch v cc thi t b USB. Qu n l dng d li u gi a my ch v cc thi t b USB. Th ng k tr ng thi tnh ho t ng c a h th ng. Cung c p dng i n c t h n ch cng su t cho cc thi t b USB c k tn i. Ph n m m h th ng USB trn my ch qu n l s tng tc gi a cc thi t b USB v ph n m m thi t b d a trn my ch . C 5 vng tng tc gi a ph n m m h th ng USB v ph n m m thi t b ,c th l: i m danh nh c u hnh thi t b . Truy n d li u trong ch ng th i. Truy n d li u trong ch khng ng b . Qu n l nng l ng. Qu n l thng tin v thi t b v bus. B t c lc no c th ph n m m USB s d ng cc giao di n h th ng my ch hi n h u qu n l cc m i quan h tng tc trn. Cc thanh ghi b i u khi n my ch USB Thanh ghi nh n d ng nh cung c p VID ( vendor Identication register) a ch offset: 00-01h Gi tr m c nh : 8086h Thu c tnh: ch c Thanh ghi VID ch a s nh n d ng nh cung c p .Thanh ghi ny ,cng v i thanh ghi nh n d ng thi t b xc ng duy nh t b t k thi t b PCI no .Vi c ghi vo thanh ghi ny khng c tc d ng .Cch vi t cc bit 15:0 dng cho s nh n d ng nh cung c p .y l m t gi tr 16 bit c Intel gn.
IV. K t n i h th ng USB.
K t n i cc thi t b USB T t c cc thi t b USB u n i vo USB qua c ng t trn m t lo i thi t b USB chuyn d ng, c tn l hub. Cc hub ch cho th y tnh tr ng k t n i ho c lo i b c a m t thi t b USB theo t ng tr ng thi c ng c a n. Cc my ch h i (queries) hub xc nh nguyn nhn c a thng bo. Hub tr l i (p ng) b ng cch nh n d ng c ng s d ng k t n i thi t b USB. My ch cho php c ng v nh a ch thi t b USB v i m t ng ng i u khi n b ng cch s d ng a ch m c nh USB (khi c n i vo l n u ho c khi chng kh i ng l i). My ch xc nh xem li u thi t b USB m i c k t n i l m t hub hay l m t thi t b ch c nng v gn cho thi t b USB m t a ch USB duy nh t Gi ng vin: Nguy n Vn Minh Tr 102
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi N u thi t b USB k t n i l m t hub v cc thi t b USB c k t n i v i c ng c a hub th th t c trn ti p di n v i t ng thi t b USB c k t n i. N u thi t b USB k t n i l m t thi t b ch c nng, th cc thng bo v vi c k t n i s c ph n m m USB g i t i ph n m m my ch c quan tm n Lo i b cc thi t b USB Khi m t thi t b USB c lo i b kh i m t trong s cc c ng th hub t ng v hi u ho c ng v cung c p m t thng tin ch bo v vi c lo i b thi t b ra kh i my ch . Sau my ch lo i b cc s li u d bi t v thi t b USB, n u thi t b USB b lo i b l l m t hub th qa trnh lo i b ph i c th c hi n v i t t c cc thi t b USB m tr c c n i vo hub. N u thi t b USB lo i b l m t thi t b ch c nng th cc thng bo lo i b c g i t i ph n m m my ch c quan tm n. K t n i h th ng USB Hnh 3-55 cho th y m t v d v k t n i c ng USB vo trong h th ng. L i vo CLK48 c t ng h tinh th 48 MHz(sai s 2500 ppm) c t o ra nh b c ng h ng th ch anh v c s d ng t o t c d li u b ng 12MHz v m t kho ng khung kh i t o b ng 1,0ms (500ppm). Thi t b tng t c PVIIDE/ISA (c u PCI) c m t thi t k thch h p v i t c b ng 1,5Mbps ho c 12 Mbps. Ngu n nui dng cho thi t b c l y t ngu n i n p -5v trn b n m ch chnh (Vcc). Nh v y c n c nh ng bi n php no ch ng ng n m ch, ch ng h n b ng m t c u ch 2A. H th ng gim st c a c ng d n i n p ngu n nui cho USB v i cc ng OC#1 v OC#0 ( pha d i c a hnh 3-54). Khi thi t b c u PCI pht hi n ra m t l i trn ng d n i n p nui th n s v hi u ho c ng USB tng ng. Trn cc ng d li u, c m t i n tr n i ti p b ng 27(m), dng gi i h n dng i n khi x y ra ng n m ch v i t(GND). Nh v y dng s b gi i h n m c nh hn 185mA. Cc cu n c m m c n i ti p m c n i ti p cng c tnh n trn ng d n i n p ngu n nui, tn hi u nhi u trn cc thi t b bn ngoi khng gy nh h ng t i ngu n nui b n m ch chnh.
103
V. Cc ki u truy n USB.
Cc thi t b USB c th trao i d li u v i my tnh PC theo 4 ki u hon ton khc nhau: + Truy n i u khi n: i u khi n ph n c ng cc yu c u i u khi n (control request) c truy n hay g i l truy n i u khi n (control transfers). Chng lm vi c v i m c u tin cao v c kh nng ki m sot l i t ng. T c truy n l n v c n 64 byte trong m t yu c u(request) c th c truy n. +Truy n ng t: cc thi t b cung c p m t l ng d li u nh , tu n hon, ch ng h n nh bn phm, chu t, u s d ng ki u truy n ng t (interrupt transfers). Khc v i s ph ng on t tn g i, y khng c m t ng t no c thi t b xo. Cch t t nh t l h th ng s h i theo chu k, ch ng h n 10ms m t l n, xem c cc d li u m i g i n. Thng th ng c n 8 byte c th c truy n. + Truy n theo kh i: Khi c dung l ng d li u l n c n truy n v c n ki m sot l i truy n nhng l i khng c yu c u thc p v th i gian truy n th d li u th ng c truy n theo kh i (bulk transfers). Cc ng d ng c a phng php ny nh: my in v my qut hnh (scanner). T c truy n d li u ph thu c vo m c u t i trn bus USB. + Truy n ng th i: Khi c l ng l n d li u v i t c d li u c quy nh, ch ng h n nh dng cho card m thanh, th th ng p d ng ki u truy n ng th i (isochronous transfers). Theo cch truy n ny m t gi tr t c d li u xc nh c duy tr. Vi c hi u ch nh l i khng c th c hi n v nh ng l i truy n l t cng khng gy nh h ng ng k n ch t l ng truy n. V i cc ng d ng trong lnh v c o l ng v i u khi n , ki u truy n th nh t (truy n i u khi n) th ng c s d ng v v a c an ton d li u cao v a c t c truy n l n .Ngoi ra cn d dng th c hi n c giao th c truy n ring trong m t s tr ng h p ng d ng c th ti p t c x l. . Ch c nng c a m t ph n m m i u khi n: L m t xch lin k t gi a ph n c ng v ph n m m h th ng.Trong mi tr ng Windows 98 v tr c, khng c m t chng trnh ng d ng no c th truy c p tr c ti p ln ph n c ng, cch t t nh t l g i ra m t ph n m m i u khi n thi t b , ph n m m
VI. G i ph n m m i u khi n.
104
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi ny trao i tr c ti p v i ph n c ng ho c qua l p m n m su hn. Ph n m m i u khi n ny c ch t o v cung c p b i cc nh s n xu t thi t b . Ho t ng : T t c cc ph n m m i u khi n USB u d a trn Win32_Driver_Model. T t c cc l i g i ph n m m i u khi n u thng qua ph n m m qu n l vo ra (I/O manager). Cc chng trnh ng i dng khc nhau g i gi yu c u g n nh ng th i t i ph n m m qu n l vo/ra, ph n m m ny sau y s phn ph i cc gi ny t i cc ph n m m i u khi n c th . T t c cc yu c u u c g i i d i d ng cc gi, v chuy n ti p gi a cc l p m ring l . bi t r v cch th c truy nh p ln cc thi t b , ta xem xt n 5 hm c a Windows sau: CreateFile( ) M m t t p ho c m t thi t b CloseHandle( ) ng m t t p ho c m t thi t b ReadFile( ) c ho c nh n d li u WriteFile( ) Ghi ho c truy n d li u DeviceloControl( ) Th c hi n cc ch c nng c th c a ph n m m i u khi n V d xt o n chng trnh sau ( G i 1 byte qua COM2 b ng Delphi): Handle:=CreateFile.(Pchar(COM2),GENERIC_WRITE,0,NIL,OPEN)_EX ISTING,0,0); Byt:=85; WriteFile(Handle,Byt1,1,Count,NIL); CloseHandle(Handle); Gi i thch l nh: Tr c h t , C ng COM2 c m b ng hm CreateFile( ) sau y g i m t Byte b ng hm WriteFile( ). Cu i cng Hm CloseFile( ) ng knh thng tin l i. Tn c a ph n m m i u khi n y l COM2 mang ngha th hi n m i lin quan tr c ti p v i giao di n ph n c ng COM2.
105
PH N II:
NG C B C.
I. c i m chung v ng c b c
ng c b c th c ch t l ng c ng b ho t ng d i tc d ng c a cc xung r i r c v k ti p nhau. Khi m t xung dng i n ho c i n p t vo cu n dy ph n ng c a ng c b c, th roto (ph n c m) c a ng c s quay i m t gc nh t nh, v c g i l b c c a ng c, khi cc xung dng i n t vo cu n dy ph n ng lin t c th roto s quay lin t c. V tr c a tr c ng c b c c xc b ng s l ng xung, v v n t c c a ng c t l v i t n s xung, v c xc nh b ng s b c/giy (second). Tnh nng lm vi c c a ng c b c c t trng b i b c c th c hi n, t tnh gc (quan h c a mmen i n t theo g c gi a tr c c a Roto v tr c c a t tr ng t ng), t n s xung gi i h n sao cho cc qu trnh qu , khi hon thnh m t b c c th t t i tr c khi b t u b c ti p theo. Tnh nng m my c a ng c, c t trng b i t n s xung c c i c th m my m khng lm cho Roto m t ng b (b b c). Tu theo k t c u c a t ng lo i ng c, m t n s ng c c th ti p nh n c t 10 n 10.000 Khz. B c c a ng c (gi tr c a gc gi a hai v tr n nh k nhau c a Roto) cng nh th chnh xc trong i u khi n cng cao. B c c a ng c ph thu c vo s cu n dy ph n ng, s c c c a Stato, s rng c a Roto v phng php i u khi n b c ho c i u khi n n a b c. Ty theo yu c u v chnh xc v k t c u c a ng c, m b c c a ng c thay i trong gi i h n t 1800 - 0,180. Trong : ng c b c nam chm vnh c u d ng c c mng v c t tr thay i t 60 - 450, ng c b c c t tr thay i c gc b c n m trong gi i h n t : 1,80- 300, v ng c b c h n h p c gc b c thay i trong kho ng 0,360 - 150. Cc gi tr gc c a cc lo i ng c k trn c tnh trong ch i u khi n b c . Chi u quay c a ng c b c khng ph thu c vo chi u dng i n ch y trong cc cu n dy ph n ng, m ph thu c vo th t cu n dy ph n ng c c p xung i u khi n. Nhi m v ny do b chuy n pht th c hi n. S cu n dy ph n ng (hay c g i l cu n dy pha) c a ng c b c c ch t o t 2 - 5 cu n dy pha (hay cn g i l b i dy) v c t i di n nhau trong cc rnh Stato. i v i cu n dy ph i c hai cu n dy th ch dng cho i u khi n l ng c c (cu n dy c c c tnh thay i), v i 4 cu n dy c th dng cho c hai ch i u khi n l ng c c v i u khi n n c c ng c b c l m t thi t b c s d ng r ng ri dng chuy n cc xung i n thnh chuy n ng c h c. m t s ng d ng, ch ng h n nh b i u khi n a, my in kim ma tr n v robot, th ng c b c c dng i u khi n chuy n ng.
II. Nguyn l ho t ng c a ng c b c.
1. ng c nam chm vnh c u. Nguyn l lm vi c c a ng c ny l d a vo tc ng c a m t tr ng i n t trn m t mmen i n t , t c l tc ng gi a m t tr ng i n t v m t ho c nhi u nam chm vnh c u. Roto c a ng c t o thnh m t ho c nhi u c p t v mmen i n t c a nam chm c t th ng hng trn t tr ng quay do cc cu n dy t o nn. ng c c hai cu n dy l p hai c c c a Stato, v m t nam chm vnh c u Roto. Khi kch thch m t cu n dy c a Stato ( ng th i ng t i n cu n kia) s t o nn hai c c B c (North) v Nam (South) c a nam chm. Roto s th ng ng v i h ng t tr ng. Gi ng vin: Nguy n Vn Minh Tr 106
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi N u ta cho dng i n vo cu n dy W1 th v tr 1 v 3 c a Stato tng ng s l c c Nam v c c B c. Gi s tr c c a nam chm vnh c u c a Roto ang l ch v i tr c 1-3 m t gc ( d i tc d ng c a l c ht do cc c c tri d u c a nam chm s sinh ra m t l c quay Roto v v tr 1, v tr ny g i l v tr cn b ng. Sau cho dng i n I2 vo cu n dy W2 (lc ny dng i n cu n W1 b ng t), thanh nam chm s quay nhanh n v tr 2 m t gc 900 n u vi c c p i n lin t c v tu n t vo cu n dy W1, W2, W1, W2, . V o chi u dng i n sau m i b c, thanh nam chm s quay thnh nh ng vng trn, t m t ph n t vng trn n m t ph n t vng trn khc. Cc cu n dy c a Stato g i l cc pha. ng c b c c th c nhi u pha: 2, 3, 4, 5 pha, n c c p i n cu n ny sang cu n khc v i vi c o chi u dng i n sau m i b c quay. Chi u cc ng c ph thu c vo th t cung c p i n cho cc cu n dy v h ng c a t tr ng. 2. ng c b c t tr thay i. Nguyn l lm vi c c a ng c b c t tr thay i d a trn c s nh lu t c m ng i n t , t c l d a trn s tc ng gi a m t tr ng i n t v m t Roto c t tr thay i theo gc quay. C u trc tiu bi u c a ng c c b c t thay i.
-6
Roto ng c i n c ch t o b ng v t li u d n t , trn b m t Roto th ng c nhi u rng. M i rng c a Roto ho c c a Stato g i l m t c c. Trn hai c c i di n c m c n i ti p hai cu n dy (v d nh cu n dy AA') t o thnh m t ph n c a ng c. Nh v y ng c nh hnh v c ba pha A, B, C, t tr thay i theo gc quay c a rng. Khi cc rng c a Roto ng th ng hng v i cc c c c a Stato, t tr s nh nh t. N u ta cho dng i n ch y vo cu n dy BB' n s t o nn t tr ng ko c c g n n nh t c a roto v lm Roto quay m t gc 300 theo chi u ng c chi u kim ng h . N u dng i n c a vo cu n dy CC', Roto l i ti p t c quay m t gc 300 n a Cc cu n dy AA', BB', CC' g i l cc pha. H ng quay c a ng c khng ph thu c vo chi u c a dng i n m ph thu c vo th t c p i n cho cu n dy. Nhi m v ny do cc m ch logic trong b chuy n pht th c hi n. V i cch thay i th t ho c thay i cch kch thch cc cu n dy ta cng lm thay i cc v tr gc quay. ng c b c c t tr thay i c chuy n ng m, s b c l n v t n s lm vi c cng kh l n (t 2 n 5 Khz). M t s cng th c tnh cho ng c b c t tr thay i
107
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Nr : S rng c a roto. Ns : S rng c a stato. Np : S pha. Pr : Gc rng roto. s : Gc b c. Rs : Gi tr b c. X = Ns/Np : S rng stato cho m t pha. Gc rng gi a hai rng k nhau c xc nh nh sau 369 0 360 0 Pr = ; Ps = Nr Pr Gc b c c xc nh b i bi u th c: 360 0 s = ( /b c) Nr.Np Gi tr b c 360 Rs = s N u t n s xung l f th t c Roto l: s 69 f 60 f = = = (vng/pht) Rs Np.Nr 6 S rng Roto cho m t pha: Nr X= Np + 1 3. ng c h n h p. ng c h n h p l s k t h p nguyn t t lm vi c c a ng c c b c nam chm vnh c u v ng c b c c t tr thay i nh m c c t tnh t t nh t c a hai lo i k trn l momen l n v s b c l n.
1 2 S ng c b c h n h p.
ng c g m hai n a Roto (1) v (2). N a(1) c nhi u rng trn Roto, n a (2) l nam chm vnh c u. Do c s k t h p gi a hai ph n nn t o ra s kch thch roto m nh hn. ng c lo i ny c s b c t n 400 b c, nhng gi thnh t.
108
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi php thay i chi u dng i n c a m t trong hai li khi m t cu n dy c n i t, do i c c c a stato. Lu r ng, tr c c a ng c thng th ng th quay t do, cn tr c ng c b c th quay theo t ng b c c nh, l p l i v m t ng v tr c th . ng c quay nh v y l t c s l thuy t t tr ng: cc c c cng d u y nhau v cc c c ng c d u ht nhau. Chi u quay c xc nh b i t tr ng c a stato, m t tr ng ny th do dng i n ch y qua li cu n dy gy nn. Khi h ng c a dng thay i th c c c a t tr ng cng thay i theo, gy ra chuy n ng ng c l i c a ng c ( o chi u). ng c b c y c 6 u dy: 4 u c a cu n dy stato v 2 u dy chung i m gi a c a cc c p dy. Khi chu i xung ngu n c c p n t ng cu n dy stato th ng c s quay. M i chu i xung c th c c p chnh xc khc nhau. B ng sau gi i thi u chu i 4 b c thng th ng. B ng 1 Chi u kim Cu n dy Cu n dy Cu n dy Cu n dy Chi u quay B c A B C D b m ng h 1 1 0 0 1 2 1 1 0 0 3 0 1 1 0 4 0 0 1 1
A B C D
COM COM
Hnh1: B tr cu n dy Stato. Lu chng ta c th b t u v i chu i xung no trong b ng 1, song khi b t u b ng chu i xung no th c n ph i ti p t c theo ng th t c a chu i xung . V d , n u b t u b ng b c th 3 l chu i (0110) th c n ti p t c v i chu i c a b c 4 r i sau l p l i 1,2,3 v.v. M t s thng s v khi ni m. Gc b c ( step Angle):Cu h i t ra l m i b c c d ch chuy n l bao nhiu? i u ny ph thu c vo c u trc bn trong c a ng c, c bi t l s rng c a stato v roto. Gc b c l quay nh nh t c a m t b c. Cc ng c khc nhau c gc b c khc nhau. B ng 2 gi i thi u gc b c c a m t s ch ng lo i ng c, trong c dng thu t ng s b c trong m t vng. y l t ng s b c c n quay h t m t vng 3600 B ng 2: Gc b c c a ng c.
Gi ng vin: Nguy n Vn Minh Tr 109
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Gc b c 0.72 1.8 2.0 2.5 5.0 7.5 15 S b c/vng 500 200 180 144 72 48 24
D ng nh tri v i n t ng ban u, ng c b c khng c n nhi u u dy cu n stato c gc b c nh hn. T t c ng c b c ni ph n ny ch dng 4 u cu n dy stato v 2 u dy chung nt gi a. M c d nhi u hang s n xu t ch dng m t u dy chung, song v n ph i c 4 u dy stato. Quan h s b c/giy v s vng quay/pht RPM. Quan h gi a s vng quay/pht RPM v i s b c c a m t vng quay v s b c/giy l quan h tr c quan v c bi u di n nh sau: S b c trong giy = RPM x s b c trong vng quay/60 Chu i xung b n b c v s rng trn roto. Chu i xung chuy n m ch trnh by b ng 1 c g i l chu i chuy n m ch 4 b c, b i v sau 4 b c th hai cu n dy gi ng nhau s c b t ln ON. V y sau 4 b c ny ng c quay c bao nhiu? Sau khi th c hi n xong 4 b c th roto ch quay, c m t b c rng. Do v y, ng c 200 b c/vng th roto c 50 rng v 50*4=200 b c c n quay h t m t vng. Nh v y, c th k t lu n l gc b c t i thi u lun l hm s c a rng trn roto. Ni cch khc rng cng nh th roto quay c cng nhi u rng. Ngoi chu i xung 4 b c cn c chu i xung 8 b c, chu i ny cn c g i l (half-stepping), v chu i 8 b c th m i b c l m t n a c a gc bnh th ng. B ng 3: Chu i xung 8 b c. Chi u kim B c Cu n dy Cu n dy Cu n dy Cu n dy Chi u quay ng h A B C D b m 1 1 0 0 1 2 1 0 0 0 3 1 1 0 0 4 0 1 0 0 5 0 1 1 0 6 0 0 1 0 7 0 0 1 1 8 0 0 0 1 T c ng c. T c ng c c o b ng s b c trong m t giy l m t hm c a t c chuy n m ch.B ng vi c thay i th i gian ta c th t c cc t c quay khc nhau. Moment gi . Moment gi c nh ngha l l ng moment ngoi c n thi t lm quay tr c ng c t v tr gi c a n v i i u ki n tr c ng c ang ng yn hay ang quay v i t c RPM = 0. i l ng ny c o b ng t l di n p v dng c p n ng c. n v c a moment gi l kilogram centimet. Gi ng vin: Nguy n Vn Minh Tr 110
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Chu i 4 b c i u khi n d ng sng. Ngoi chu i 4 b c v 8 b c ni trn, cn c m t chu i khc c g i l chu i 4 b c d ng sng. Chu i ny c gi i thi u b ng 4. Chu i 8 b c trnh by b ng 3 l s k t h p n gin c a cc chu i 4 b c th ng v chu i 4 b c i u khi n d ng sng cho b ng 1 v b ng 4. B ng 4: Chu i xung 4 b c. Chi u kim ng h B c 1 2 3 4 Cu n dy A 1 0 0 0 Cu n dy B 0 1 0 0 Cu n dy C 0 0 1 0 Cu n dy D 0 0 0 1 Chi u quay b m
S chn c a chip UCN5804B Chn 9,10,14,15 c a chip dng i u khi n ng ra theo m t chu k, b c , haff-step v i u khi n ho t ng ng ra. Chip ny ho t ng hay khng ph thu c vo tn hi u xung ng vo trn chn 11 thc y ng c lm vi c. Tn hi u ny c th c c p ngu n bn ngoi hay t cng t c tc ng b ng tay. c i m c a chip i u khi n ny l: Gi ng vin: Nguy n Vn Minh Tr 111
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi Dng i n l n nh t ng ra l 1.5A. i n p ch u ng ng ra l 35V. Tiu chu n ho t ng b c , n a b c v b c i u khi n d ng sng. S d ng cc Diod b o v bn trong chip. Kh nng i u khi n ng ra OE v i u khi n tr c ti p. Reset l i nng l ng. C m ch t n nhi t tch h p bn trong. B ng i u khi n ki u ho t ng.
Cc ki u ho t ng c a chip.
112
113
Chn 7 8 6 27 28 31 4 32 1 2 5 25 24 23 22 21 20 19 18
Tn hi u USBDP USBDM 3.3VOUT XTIN XTOUT RCCLK RESET EECS EESK EEDATA TEST D0 D1 D2 D3 D4 D5 D6 D7
Lo i I/O I/O OUT IN OUT I/O IN I/O I/O I/O IN I/O I/O I/O I/O I/O I/O I/O I/O
Ch c nng Tn hi u d li u USB ph thu c vo tr 1.5k gi m i n p ng ra cn 3.3V K t n i chn d li u m c a USB Chn t o i n p 3.3V t i ng ra L y tn hi u t dao ng 6Mhz t dao ng th nh anh a tn hi u 6Mhz ra chn dao ng th ch anh RC-Timer m b o xung clock trn mode Sleep v tc ng m c Low trong su t qua trnh ch n mode Reset hay Sleep Reset ton b thi t b s d ng network RC ngoi Ty ch n EEPROM-chip ch n Ty ch n EEPROM-xung ng h Ty ch n EEPROM-I/O d li u t thi t b vo mode Text- thi t b ph i c n i t. Bus d li u truy n tr c ti p Bit0 Bus d li u truy n tr c ti p Bit1 Bus d li u truy n tr c ti p Bit2 Bus d li u truy n tr c ti p Bit3 Bus d li u truy n tr c ti p Bit4 Bus d li u truy n tr c ti p Bit5 Bus d li u truy n tr c ti p Bit6 Bus d li u truy n tr c ti p Bit7
114
Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 16 15 14 12 11 10 RD# WR TXE# RXF# EEREQ# EEGN# IN IN OUT OUT IN OUT PWR PWR PWR Byte d li u D0.D7 c tc ng m c th p b i d li u truy n t FIFO Ghi byte d li u trn D0..D7 vo FIFO truy n khi WR c tc ng cao th p Khi tc ng high, khng d li u vo FIFO. Khi low d li u c th c ghi vo FIFO. Khi m c cao, khng c d li u t FIFO. Khi m c th p c th c c b i RD# sau chuy n t th p sang m c cao. Yu c u EEPROM k t n i x l qua bus d li u m c th p, cho php EEPROM n i x l qua bus d li u Thi t b chuy n i n p t 4.4V 5.25V Thi t b ngu n xung clock
115
y ta dng m ch ghp n i di u khi n ng c b c ho t ng b ng my tnh, UCN5804BM ph thu c vo chn 11 c c tc ng hay khng thc y ng c lm vi c. Tn hi u ny c c p t chip FT245-USB. Chip FT245_USB chuy n tn hi u l y ra t c ng USB sang d ng tn hi u truy n song song 8 bit d li u tc ng n chip UCN5804BM i u khi n ng c b c lm vi c theo cc mode nh s n v t c quy nh. Ta ch c n truy n d li u vo cc chn i u khi n c a chip UCN5804BM theo s k t n i i u khi n ng c lm vi c theo 1 trong 3 phng php trn.
116
Ch c nng DCD _ Data Carrier Detect (L i vo) RxD _ Receive Data (L i vo) TxD _ Transmit Data (L i ra) DTR _ Data Terminal Ready (L i ra) GND _ Ground (N i t) DSR _ Data Set Ready (L i vo) RTS _ Request to Send (L i ra) CTS _ Clear to Send (L i vo) RI _ Ring Indicator (L i ra)
117
2. Cc Chu n Truy n N i Ti p : d ng n i ti p ta c r t nhi u chu n truy n nh: RS-232, RS-422, RS-423, RS-449, RS-485 do khng i su vo cc chu n truy n ny nn ta ch kh o st s 2 chu n truy n RS-232 v RS-485 : B ng 1.2. So snh cc tiu chu n truy n EIA: Thng s Cable length(max ) Baud Rate (t c baud) RS_232 15m (50FT) RS_422 RS_423 RS_485 1.2km(4000FT 1.2km(4000FT 1.2km(4000FT ) ) ) 100Kbs/9m 10Kbps/90m 1Kbps/1.2km 10Mbps/12m 1Mbps/120m 100Kbps/1.2k m
118
Mode Driver No Receiver No Logic 0 Logic 1 Community (truy n thng) Cable/Signa l (Cp / tn hi u) Methode (Phng th c)
3. Phng th c truy n d li u c a RS-232 : D li u trao i di n ra trn hai ng d n TxD v RxD. Qua chn c m ra TxD, my tnh g i d li u c a n n cc thi t b khc. Trong khi d li u m my tnh nh n c, l i c d n n chn n i RxD. Cc tn hi u khc ng vai tr nh l tn hi u h tr khi trao i thng tin v v v y khng ph i trong m i ng d ng u dng n. Cc bit d li u c g i i theo ki u o ng c, ngha l cc bit c gi tr 1 s c m c i n p LOW, cc bit c gi tr 0 s c m c i n p HIGH. M c tn hi u nh n v truy n qua chn RxD v TxD thng th ng n m trong kho ng 12V n +12V. M c i n p i v i m c HIGH n m gi a +3V n +12V. M t chu i d li u truy n i theo d ng n i ti p nhau trn m t ng d n: b t u b ng m t bit kh i u (Start bit), ti p theo l cc bit d li u (data bit), bit th p i tr c. S bit d li u n m trong kho ng 5 n 8 bit, ti p l bit ki m tra ch n l (Parity) v cu i cng l bit k t thc (stop bit). Hnh th c truy n ny c kh nng dng cho nh ng kho ng cch l n , b i v cc kh nng gy nhi u l nh hn l dng c ng song song. T c truy n c thi t l p b ng tham s Baudrate, l s bit truy n i trong 1 giy, thng th ng l 300, 600, 1500, 2400, 4800, 9600 v 19200.
119
M t nh c i m khng nh c a c ng n i ti p l t c truy n d li u b h n ch . V d nh v i t c 9600 baud cho php truy n nhi u nh t l 960 byte m i giy. Khun d ng d li u (Frame) c n ph i c thi t l p nh nhau c hai bn g i cng nh nh n. Start bit +12V Stop bit
-12V
D0 1
D1 1 T= 1/fbaud
D2 0
D3 1
D4 0
D5 0
D6 1
D7 0
1.04 ms
Dng d li u trn c ng RS_232 v i t c baud 9600baud. M t trong nh ng yu c u quan tr ng c a RS-232 l th i gian chuy n i t m t m c logic ny t i m c logic khc khng v t qa 4% th i gian 1 bit. V th t c 19200 th i gian chuy n m c logic ph i nh hn . V n ny lm gi i h n chi u di ng truy n . V i t c truy n 19200 baud c th truy n xa nh t l 50ft (1ft = 30.48cm, 15.24cm) M t trong nh ng v n quan tr ng c n ch khi s d ng RS-232 l m ch thu pht khng cn b ng ( n c c ). i u ny c ngha l tn hi u vo c so v i t. V v y, n u i n th t i hai i m t c a hai m ch thu pht khng b ng nhau th s c dng i n ch y trn t. K t qu s c p ri trn dy t ( V= I.R ) s lm suy y u tn hi u logic. N u truy n tn hi u i xa , R s tng d n n p ri trn t s l n d n n lc tn hi u logic s ri vo vng khng xc nh v m ch thu s khng nh n ng d li u c truy n t m ch pht. Chnh s khng cn b ng trn m ch thu pht l m t trong nh ng nguyn nhn gi i h n ng truy n.
120
1 1.1RC
121
Ng t INTR Ng t hay cn g i l k t thc vi c chuy n i. y l chn ra tch c c m c th p. Bnh th ng chn ny tr ng thi cao v khi vi c chuy n i hon t t th n xu ng th p bo cho CPU bi t l d li u c chuy n i s n sng l y i. Sau khi INTR xu ng th p, c n t CS=0 v g i m t xung cao xu ng th p t i chn RD a d li u ra. Vin (+) v Vin(-) y la hai u vo tng t vi sai, Trong Vin = Vin (+) - Vin (-) Vin (-) c n i xu ng th p
122
Vcc L chn ngu n nui. Vref/2 Chn 9 l i n p u vo c dng l i n p tham chi u. D0- D7 D0-D7 l cc chn ra d li u Cc chn nay c m ba trang thi v d li u c chuy n i ch c truy c p khi chn CS = 0 v chn RD a xung m c th p. Dout=
Vin kichthuocbuoc
Chn t tng t v chn t s . y l nh ng chn u vo c p t cho c tnh hi u tng t v s , Tng t n i toi Vin v chn t s n i t i Vcc. II. C m bi n nhi t (h LM35): B c m bi n ( Transducer ) chuy n i cc i l ng v t l, v d nh nhi t , c ng nh sng, lu t c v t c thnh cc tn hi u i n. Ph thu c vo b c m bi n m u ra c th l tn hi u d ng i n p,dng, tr khng hay dung khng. B c m bi n nhi t p ng s thay i nhi t b ng cch thay i tr khng, song p ng ny khng tuy n tnh. B c m bi n nhi t LM35 c a hng National Semiconductor Corp l b c m bi n nh t tuy n tnh n gi n v d c s d ng r ng ri. LM35 l h c m bi n nhi t m ch tch h p chnh xc cao c i n p u ra t l tuy n tnh v i nhi t theo thang Celsius. Nhi t (00 ) 0 25 50 75 100 Tr khng c a c m bi n (K ) 29.49 10 3.893 1.7 0.817
Tr khng c a b c m bi n nhi t theo nhi t H c m bi n ny khng yu c u cn ch nh ngoi v v n n c cn ch nh . H ny cho ra i n p 10mV ng v i thay i nhi t l 10C. B ng sau gi i thi u m t s thng s k thu t chnh c a h LM35. M s n ph m LM35A D i nhi t -550C t i +1500C chnh xc + 10C u ra 10mV/F
123
LM35 -550C t i +1500C + 1,50C LM35CA -400C t i +1100C + 10C LM35C -400C t i +1100C + 1,50C LM35D 00C t i +1000C + 120C Thng s k thu t chnh c a c m bi n nhi t h LM35. III. Chip 74LS151:
74LS151 l m t chip c 8 u vo s a ch c nng t c cao.N cung c p trong m t gi, kh nng ch n m t bit t 8 bit ngu n. 74LS151 c th s d ng nh m t ch c nng c a my pht pht nh ng m c logic ch c nng v i 4 gi tr .
S0 S2 : I0 I7 : E : Z : Z : : Vcc GND :
m c th p)
124
125
IV. Chip 74LS373: Intel gi i thi u 74LS373. 74LS373 l m t b ci t 8 m c flip-flops tc ng nhanh. Nhi m v c a 74LS373 c hi n th b n d i. Hi-Z c ngha l ng ra tr ng thi tr khng cao. Ng ra c a m ch c bi t nh ng ra 3 tr ng thi. Ng ra 3 tr ng thi c s d ng i u khi n cc bus ni m cc thi t b khc nhau s c tc ng ng con 3 tr ng thi i u khi n 1 bus.
126
II. Nguyn l ho t ng c a m ch: M ch o nh sng v i u khi n n thng qua c ng n i ti p RS-232. M ch s d ng quang tr o nh sng i u khi n n, v i i n p chu n 2.5V l y t Diod Zener REF25Z, sau qua m ch khu ch i a LM358 a vo i n p chu n 2.5V vo AD0804. AD0804 chuy n i tn hi u tng t t quang tr thnh tn hi u s t D0 D7. u vo quang tr dng tr 330 gi m dng vo, 2 diod 4148 t o ra ng ng d n. Khi chn WR c kch m c logic 0 t chn RTS c a c ng n i ti p RS-232 th AD0804 b t u lm vi c. Sau khi k t thc 8 chu k INTR bo k t thc. Tn hi u tng t khi qua con AD0804 chuy n thnh tn hi u s , thng qua o 7414 a bit 1 vo chn LE (chip m) v OE n i mass s cho thng d li u. u ra kch con ba tr ng thi thng d li u t 8 u vo D0 D7 khi u ra b ng u vo, m ch cn l i chuy n tn hi u truy n t song song qua n i ti p. Thng qua m ch dao ng (7414, 10K, 10nF ) s t o xung a vo IC74161 m t 000 111, sau quay tr l i v c m mi nh v y. QD c kch m c logic 0 s kch m 74151(A), sau 8 l n m c l n l t a d li u ra u ra Y n chn RxD c a c ng RS-232 thng qua my tnh i u khi n, i n p s c a ra chn DTR +12V, dng qua Diod 20mA lm Diod sng ln kch m Tranzitor, m C828 v H106. Lc ny Role i n t ng n i ngu n AC n sng ln. QAQBQC l n l t tc ng nh b ng tr ng thi sau: QA QB QC Y 0 0 0 D0 1 0 0 D1 0 1 0 D2 0 0 1 D3 Khi k t thc 111 chuy n qua 011 D7 t t. Qua u o i u khi n tng t 74151(B) c c bit d li u D4 D7. Sau bit stop qua 3 bit Break. V y cu i cung thu c 8 bit data,0 parity, 1 stop, 9600 Baud, 6 bit Break.
127
III.
Lu thu t ton:
Kh i pht ch
T o tn hi u Start
Ch th i gian Tch
c d li u trong RBR
T t n DTR= -12
n DTR=12
128