You are on page 1of 128

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

GHP N I V I U KHI N THI T B NGO I VI

Ng i so n: TS. Nguy n Vn Minh Tr ThS. Lm Tng c Cc sinh vin l p 03SK

Gi ng vin: Nguy n Vn Minh Tr

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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.

Gi ng vin: Nguy n Vn Minh Tr

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

M CL C

CHNG 1: C S

GHP N I THI T B NGO I VI

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

CHNG 2: GHP N I VO RA SONG SONG I U KHI N B NG CHNG TRNH


2.1 Cc l nh vo ra d li u 2.1.1 Cc l nh vo ra b ng h p ng 2.1.2 Cc l nh vo ra b ng Turbo C 2.1.3 Cc l nh vo ra b ng Turbo Pascal 2.2 Ghp n i song song n gi n: c hay khng c i tho i 2.2.1 C a vo n gi n khng i tho i 2.2.2 C a ra n gi n khng i tho i 2.2.3 C a vo n gi n c i tho i 2.2.4 C a ra n gi n c i tho i 2.3 Ghp n i song song i u khi n b ng chng trnh 2.3.1 S kh i v ch c nng cc kh i c a 8255A 2.3.2 Cc ch lm vi c c a 8255A 2.3.3 Ghp n i v i 8255A 2.3.4 L p trnh cho 8255A

CHNG 3: GHP N I TRAO I D


3.1 Gi i thi u chung v trao i d li u n i ti p 3.1.1 Yu c u trao i d li u n i ti p 3.1.2 M ch trao i d li u n i ti p Gi ng vin: Nguy n Vn Minh Tr

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

CHNG 4: GHP N I I U KHI N NG T


4.1 Khi ni m v phn lo i ng t 4.1.1 Khi ni m 4.1.2 Phn lo i ng t 4.2 X l ng t c a nhi u thi t b ngo i vi 4.2.1 Cho php ho c c m ng t 4.2.2 S p x p u tin ng t 4.2.3 Xc nh ngu n gy ng t 4.2.4 T o vector ng t 4.3 Vi m ch i u khi n ng t 8259A 4.3.1 S kh i v ch c nng cc kh i c a 8259A 4.3.2 C u trc ho t ng c a vi m ch 8259A 4.3.3 Ghp n i v i 8259A 4.3.4 L p trnh cho 8259A

CHNG 5: GHP N I VO RA I U KHI N B NG DMA


5.1 Khi ni m DMA c b n 5.1.1 Khi ni m DMA 5.1.2 Ho t ng DMAC (DMA Controller) c b n 5.1.3 Cc ch trao i d li u DMA 5.2 B i u khi n DMA 8237A 5.2.1 S kh i v ch c nng cc kh i c a DMAC 8237A 5.2.2 Ghp n i v i 8237A trong h vi x l 8088 5.2.3 L p trnh cho 8237A

CHNG 6: GHP N I TNG T -S

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:

NG D NG MY VI TNH TRONG O L NG V I U KHI N

7.1. Gi i thi u v c u trc my tnh 7.2 Thi t k m ch ghp n i gi a h th ng t ng ha v i cc c ng c a my vi tnh

Gi ng vin: Nguy n Vn Minh Tr

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 1: 1.1. Gi i thi u chung

C S

GHP N I THI T B NGO I VI

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 Song song /n i ti p

BGN Vo/ra

BGN Vo/ra

BGN CD-ROM Song song /n i ti p

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

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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 .

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

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

Hnh 1.3 : Trao i d li u theo chng trnh

Gi ng vin: Nguy n Vn Minh Tr

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

1.2.

Gi i thi u m t s vi m ch dng trong b ghp n i

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 -

ch NOT SN7404: SN7405 SN7406

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

Gi ng vin: Nguy n Vn Minh Tr

10

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi M ch NAND SN7400 SN7401 SN7403

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

M ch NOR - SN7402 - SN7428

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

M ch m 3 tr ng thi kch ho t m c th p - SN74125 3C Vcc 4C 4A 4Y 3B 3A 3Y - SN74425 14 13 12 11 10 9 8

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

Trong Z l tr ng thi tr khng cao. M ch m 3 tr ng thi kch ho t m c cao

Gi ng vin: Nguy n Vn Minh Tr

11

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi SN74126 SN74426 B ng tr ng thi C L H H A X L H Y Z L H

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

1.2.2 Cc m ch l t: 2 - SN7474 Vcc CLR 2D

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:

OE (Output Enable): M c ng- m LE (Latch Enable): i u khi n m ch t CP (Clock Input) : u vo xung s n ln

Gi ng vin: Nguy n Vn Minh Tr

12

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

B i u khi n bus ch t h 8 lo i CMOS 82C82

Gi ng vin: Nguy n Vn Minh Tr

13

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

STB X H H Trong : H l logic 1 X l b t k l s n xung m

B ng s th t c a 82C82 DI OE H L L L X L H X

DO
Z

L H Q0

L l logic 0 Z l tr ng thi tr khng cao Q0 l ch t gi tr c a d li u sau cng

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.

Gi ng vin: Nguy n Vn Minh Tr

14

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

B ng s th t c a 74LS138 u vo Enable Select E E E3 A2 A1 A0 0


1 2

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

V d v m ch gi i m a ch cho ROM c th tham kh o trn hnh 1.4.

Gi ng vin: Nguy n Vn Minh Tr

15

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

16

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 2: GHP N I VO RA SONG SONG I U KHI N B NG CHNG TRNH 2.1. Cc l nh vo ra d li u

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

Ch : d8 ch a a ch l c ng vo/ra 8 bt, v DX ch a a ch l c ng vo/ra 16 bt.

Gi ng vin: Nguy n Vn Minh Tr

17

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2.1.2.Cc l nh vo ra b ng Turbo C B ng 2.2: B ng cc l nh vo ra


Instruction Data Width 8 8 16 16 8 8 16 16 Comment

outportb(addr_port,data_var) Data_var=inportb(addr_port) outport(addr_port,data_var) Data_var=inportb(addr_port) outp(addr_port,data_var) Data_var=inp(addr_port) outpw(addr_port,data_var) Data_var=inp(addr_port)

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

Port[addr] := var1; Var := port[addr]; V d : Uses crt;

G i m t byte ra c ng vo/ra 8 bt xc nh b i a ch addr c m t byte t c ng vo xc nh b i a ch addr

Gi ng vin: Nguy n Vn Minh Tr

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.

Chu k c address bus data bus


RD

D li u c c vo VXL Chu k ghi

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.

Gi ng vin: Nguy n Vn Minh Tr

19

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

2.2 Ghp n i song song n gi n: c hay khng c i tho i


2.2.1 C a vo n gi n khng i tho i Hnh 2.1 m t m t c a vo n gi n khng c n tn hi u i tho i. Tn hi u vo t b c m bi n (BCB) c n i v i bus d li u c a MVT thng qua b m ba tr ng thi. Khi chng ta l p trnh o n l nh: C: Pascal: data1 = inport(addrport); data1 := port(addrport);

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

D7 Bus MVT BGN

BCB 7 TBNV

Hnh 2.1: C a vo n gi n, khng c i tho i

Gi ng vin: Nguy n Vn Minh Tr

20

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2.2.2 C a ra n gi n khng i tho i a ch A0A15 Gi i m WR D0 D1

+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.

Gi ng vin: Nguy n Vn Minh Tr

21

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

2.2.3. C a vo n gi n c i tho i a ch A0A15


RD
1

Q0

Gi i m

Q1

Q D Q CKL Cl

Xung n p BCB 1 BCB 2

D0 D1

D7 Bus MVT Hnh 2.3: C a vo c i tho i

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.

Gi ng vin: Nguy n Vn Minh Tr

22

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 2.2.4 C a ra n gi n c i tho i 0


RD a ch A0A15

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

Gi ng vin: Nguy n Vn Minh Tr

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.

2.3 Ghp n i song song i u khi n b ng chng trnh


2.3.1 S kh i v ch c nng cc kh i c a 8255A
Ph n GN v i VXL 1 2 3 4 5 RD 6 CS GND 7 A1 8 A0 9 PC7 10 PC6 11 PC5 12 PC4 13 PC0 14 PC1 15 PC2 16 PC3 17 PB0 18 PB1 19 PB2 20 PA3 PA2 PA1 PA0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 Ph n i u khi n n i b Ph n GN v i TBNV Nhm PA0 PA7 A c aA

8255A

RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3

WR

i u khi n nhm A Bus s li u D0 ...D7 m bus s li u


RD

Bus s li u trong

Nhm B PC4 PC7 c a C, 4 bit cao Nhm B PC0 PC3 c a C, 4 bit th p

i u WR khi n A1 A0 c/ghi RESET


CS

Hnh 2.5: S chn v s kh i c a 8255A

i u khi n nhm B

Nhm PB0 PB7 B c aB

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

Hnh 2.6: S GN 8255A v i VXL v TBNV

Gi ng vin: Nguy n Vn Minh Tr

24

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Chi u di chuy n s li u (v i VXL) C a A D0 D7 C a B D0 D7 C a C D0 D7 Khng c gi tr D0 D7 C a A D0 D7 C a B D0 D7 C a C D0 D7 thanh ghi i u khi n Khng c trao i s li u

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.

Gi ng vin: Nguy n Vn Minh Tr

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.

Hnh 2.7: Tm t t cc ch c a 8255A D7 D6 D5 D4 D3 D2 D1 D0 1


Ch c a A

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

Nhm A Hnh 2.8: T i u khi n ch v chi u c a cc c a A, B, C.

Gi ng vin: Nguy n Vn Minh Tr

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 :

Gi ng vin: Nguy n Vn Minh Tr

27

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

* th th i gian c /ghi c a 8255 trong ch ny nh sau :

Gi ng vin: Nguy n Vn Minh Tr

28

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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)

Gi ng vin: Nguy n Vn Minh Tr

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 .

Gi ng vin: Nguy n Vn Minh Tr

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 :

Gi ng vin: Nguy n Vn Minh Tr

31

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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)

M c th p c a tn hi u vo ny cho php b m ra bus d li u c a c ng A g i d li u. Ng c l i, b m ra ny s tr ng thi tr khng cao . INTE 1 ( Tn hi u INTE ph i h p v i tn hi u OBF ).

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 ).

M c cao c a tn hi u ra ny ch ra r ng tn hi u c ghi vo c ng vo ch t . INTE2 ( Tn hi u INTE ph i h p v i tn hi u IBF)

i u khi n b i vi c xo /l p bit c a PC4 Cc t l nh ho t ng trong ch ny nh sau :

Gi ng vin: Nguy n Vn Minh Tr

33

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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 :

Gi ng vin: Nguy n Vn Minh Tr

34

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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.

Gi ng vin: Nguy n Vn Minh Tr

35

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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:

Gi ng vin: Nguy n Vn Minh Tr

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

Data strobe Busy

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

My c driver right bng

Busy

Hnh 2.9: V d GN 8255

ch 0.

Gi ng vin: Nguy n Vn Minh Tr

37

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

D0 D7

D0 D7 PA0 PA7

VXL INTR

INTRA INTA

PC3

PC4 PC6

Data strobe

ACK

8255

PC7

OBFA

My in

Hnh 2.10: V d GN 8255 8255


Reset Reset
PA0 PA7

ch 1.
D0 D7

DAC

PB0 PB1

D0 D7

D0 D7
RD WR A0 A1

Ch t s li u Cho php a ra ADC

L i ra tng t

VXL

RD
WR
A0 A1

PB2 PB3

Cho php trch m u

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.

Gi ng vin: Nguy n Vn Minh Tr

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

c tr ng thi PC1 Yes My in b n? No a s li u ra Xo xung ch t PC5 L p xung ch t PC5 K t thc Yes

c tr ng thi PC0 My c b n? No c s li u vo Xo xung ch t PC4 K t thc

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

40

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 3: GHP N I TRAO I D 3.1 Gi i thi u chung v trao i d li u n i ti p

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

Hnh 3.1: M ch khng c n BGN 2. M ch trao i c n ghp n i song song-n i ti p:

Gi ng vin: Nguy n Vn Minh Tr

42

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Hnh 3.3: M ch c n BGN ss-nt v nt-ss 4. M ch c BGN, MODEM v RS232C: RS-232C

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.

Gi ng vin: Nguy n Vn Minh Tr

43

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 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

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

3.2 M ch thu pht di b v n nng UART 8250


M ch URAT 8250 (Universal Asynchronous Receiver/Transmitter) c l p rp trong cc my IBM XT, l m t IC thu pht khng ng b c th l p trnh c, n th c hi n ch c nng giao ti p gi a my tnh v TBNV. Trong cc my PC/AT hi n nay s d ng UART 16450 cn trong PS/2 v cc AT i m i l i dng UART 16550 v 8250 v 16450 khng t n t c 115200 baud c. Th c ra t c ny ng d ng t t trong k thu t truy n tin trn m ng, cn trong cc thi t b cng nghi p TBNV ni chung, th ng ch c n t i a 19200 baud l c, thng d ng l 9600 baud. 3.2.1 S kh i v ch c nng cc kh i c a UART 8250 1. M t vi m ch: Vi m ch 8250 c 40 chn nh trn hnh v :

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

46

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

c/ghi c/ghi c/ghi c c/ghi c/ghi c/ghi c/ghi c/ghi

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

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)

Gi ng vin: Nguy n Vn Minh Tr

51

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 3.2.2 Ghp n i v i UART 8250:


D0 D7
Reset

D0 D7

MEMR I/O R MEMW I/O W VXL


A0 A1 A2 A3 A15

MR DISTR DOSTR 8250


A0 A1 A2

SOUT SIN
RTS DTR DSR

RxD TxD

MO RTS DTR DEM


DSR DCD

DCD CTS RI

CTS RI

OUT1 OUT 2

Gi i m a ch 5V 0V

CS 2

CS1 CS0

XTAL1 CS XTAL2 CS

ADS BAUDOUT CS DOSTR RCKL DISTR

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.

Gi ng vin: Nguy n Vn Minh Tr

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;

Gi ng vin: Nguy n Vn Minh Tr

53

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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];

Gi ng vin: Nguy n Vn Minh Tr

54

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 4: GHP N I I U KHI N NG T 4.1 Khi ni m v phn lo i ng t


4.1.1 Khi ni m M i khi m t thi t b ph n c ng hay m t chng trnh c n n s gip c a CPU, n g i i m t tn hi u ho c l nh g i l ng t (Interrupt Request IRQ) n b vi x l ch nh m t cng vi c c th no m n c n CPU th c hi n. Khi b vi x l nh n c tn hi u ng t, n th ng t m ngng t t c cc ho t ng khc v kch ho t m t chng trnh con ang c trong b nh g i l chng trnh x l ng t (Interrupt Service Routine _ ISR) tng ng v i t ng s li u ng t c th . Sau khi chng trnh x l ng t lm xong nhi m v , cc ho t ng c a my tnh s ti p t c l i t ni b t m d ng lc x y ra ng t. 4.1.2 Phn lo i ng t C ba lo i ng t chnh, u tin l cc ng t c t o ra b i m ch i n c a my tnh nh m p l i m t s ki n no nh nh n phm trn bn phm ... Cc ng t ny c b i u khi n ng t 8259A qu n l. 8259A s n nh m c u tin cho t ng ng t r i g i n CPU. Th hai l cc ng t do CPU t o ra khi g p ph i m t k t qu b t th ng trong khi th c hi n chng trnh nh chia cho 0 ch ng h n Cu i cng l cc ng t do chnh chng trnh t o ra nh m g i cc chng trnh con xa ang n m trong ROM ho c RAM, cc ng t ny g i l ng t m m chng th ng l b ph n c a cc chng trnh con ph c v c a ROM-BIOS ho c c a DOS. Ngoi ba lo i ng t trn cn c lo i ng t c bi t l ng t khng b che NMI i h i CPU ph c v ngay khi c yu c u. Lo i ng t ny th ng c dng bo hi u s c nh s t i p p hay l i b nh . Nh v y NMI l m c ng t c u tin cao nh t . Cc ng t trong PC c th chia thnh 4 nhm nh sau : - Cc ng t vi x l : Th ng g i l cc ng t logic c thi t k s n trong b VXL. B n trong s cc ng t ny (0,1,3,4 ) do chnh b VXL t o ra, cn ng t 2 (NMI ) s c kch ho t khi c tn hi u t o ra b i m t trong cc thi t b ngoi. 1. Cc ng t c ng c thi t k s n trong ph n c ng c a c a PC, tm ng t trong s cc ng t ny (2,8,9,t Bh n Fh) c g n ch t vo trong b VXL ho c vo b ng m ch chnh c a h th ng. T t c cc ng t c ng u do 8259A i u khi n . 2. Cc ng t m m

Gi ng vin: Nguy n Vn Minh Tr

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

Software Interrupts Ng t ROM-BIOS hay DOS

Ba trong s cc ng t ny tr n ba b ng r t quan tr ng, l b ng kh i t o mn hnh, b ng c s a v b ng cc k t th . Cc b ng ny ch a cc tham s c ROM Gi ng vin: Nguy n Vn Minh Tr 56

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 X l ng t c a nhi u thi t b ngo i vi


Thng th ng m t MVT c n x l ng t c a nhi u TBNV, do c n gi i quy t cc v n sau: Cho php ho c c m ng t cho m t yu c u ng t c a m t TBNV. Ghi nh n v s p x p nhi u yu c u ng t theo th t u tin. Xc nh ngu n ng t do TBNV no gy ra. T o vector ng t, t c a ch nh c a l nh u tin trong chng trnh con ph c v ng t.

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

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

58

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 5: GHP N I VO RA I U KHI N B NG DMA 5.1 Khi ni m DMA c b n


5.1.1 Khi ni m DMA Phng php trao i d li u theo chng trnh s ch m do: VXL ph i gi i m v th c hi n l nh Trao i d li u t ng byte thng qua thanh ch a AX c a VXL.

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 :

Gi ng vin: Nguy n Vn Minh Tr

59

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

th th i gian c / ghi DMA .

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

61

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

5.2 B i u khi n DMA 8237A


Vi m ch 8237A l m t b i u khi n DMA cung c p a ch b nh v tn hi u i u khi n trong su t qu trnh DMA v truy n s li u v i t c cao gi a b nh v thi t b vo ra. 8237 l vi m ch c 4 knh tng thch v i b VXL 8088, cc knh ny c th m r ng thm nhi u knh khc m c d i v i h th ng nh th 4 knh ny l qa . 8237 c kh nng th c hi n truy n DMA ln t i 1.6Mbyte/s .M i knh c kh nng nh a ch t i 64 Kbyte b nh v c th truy n 64 Kbyte theo chng trnh. 5.2.1 S kh i v ch c nng cc kh i c a vi m ch 8237A 1. S kh i

Hnh 5.1: Vi m ch 8237A -5

Gi ng vin: Nguy n Vn Minh Tr

62

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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 .

Gi ng vin: Nguy n Vn Minh Tr

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

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

- Thanh ghi yu c u (Request Register): dng yu c u truy n DMA b ng ph n m m .

- Thanh ghi che set/reset (Mask register set/reset mode): xo ,thi t l p vi c c m cc knh .

- Thanh ghi c m (Mask register): xo ho c thi t l p vi c c m c a t t c cc knh b ng m t l nh .

Gi ng vin: Nguy n Vn Minh Tr

66

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

- Thanh ghi tr ng thi (Status register -SR ): xc nh tr ng thi c a cc knh DMA .

B ng 5.1: Gi i thi u a ch v cc l nh c ghi cho cc thanh ghi. A3 1 1 1 1 1 1 1 1 1 1 A2 0 0 0 0 0 1 1 1 1 1 A1 0 0 0 1 1 0 0 0 1 1 A0 0 0 1 0 1 0 1 1 0 1

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

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

71

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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;

Sau khi kh i ng, h th ng DMAC s t ho t ng m khng c n thm chng trnh ph no n a.

Gi ng vin: Nguy n Vn Minh Tr

72

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 6: GHP N I TNG T -S

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.

6.1 Gi i thi u m t s m ch khu ch i thu t ton


Khu ch i thu t ton l m t trong s nh ng linh ki n i n t th ng g p nh t trong k thu t tng t , v th trong k thu t o l ng v i u khi n cng nghi p, khu ch i thu t ton cng c m t trong r t nhi u thi t b v h th ng. Kh nng s d ng c a cc b khu ch i thu t ton l r t v n nng, chng c p d ng trong nhi u lnh v c nh cc b khu ch i m t chi u, cc b khu ch i xoay chi u, b l c tch c c, b dao ng, b bi n i tr khng, b vi phn, b tch phn... 6.1.1 Cc tham s c b n c a m ch khu ch i thu t ton

Gi ng vin: Nguy n Vn Minh Tr

73

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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 )

1. H s khu ch i hi u K0 Khi khng t i c xc nh theo bi u th c sau

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

KCM ni chung ph thu c vo m c i n p vo ng pha.

Gi ng vin: Nguy n Vn Minh Tr

74

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi


3. H s nn ng pha CMRR

Dng nh gi kh nng lm vi c c a b khu ch i th c so v i b khu ch i l t ng (KCM=0)


CMRR = 4. Dng vo tnh K0 K CM

L tr trung bnh c a dng vo c a thu n v dng vo c a o:


It = I p + IN 2

v i UP = UN = 0 hai c a c a b khu ch i thu t ton

Dng vo l ch khng l hi u cc dng vo tnh

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

Hnh 6.3: S m ch khu ch i khng o H s khu ch i c a m ch:


K= 1 1 R2 1 K + R + R 1 CMRR 1 2 0

M t b khu ch i thu t ton l t ng s c:

Gi ng vin: Nguy n Vn Minh Tr

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

Hnh 6.4: S m ch m M ch c h s khu ch i b ng K=1 v th ng dng ph i h p tr khng. 3. M ch khu ch i o

Hnh 6.5: S m ch khu ch i o H s khu ch i c a m ch:


K = R2 R1

Gi ng vin: Nguy n Vn Minh Tr

76

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 4. S bi n i dng i n - i n p

Hnh 6.6: S bi n i dng i n - i n p i n p ra c tnh theo bi u th c: UR = - R.IV

6.2 B chuy n i s -tng t DAC


B chuy n i s tng t dng chuy n tn hi u d ng s sang d ng tng t . Khu ny hay c s d ng trong h th ng i u khi n c dng my vi tnh. V my vi tnh ch lm vi c v i tn hi u s , trong khi h th ng th c c n tn hi u i u khi n d ng tng t . 6.2.1 Ho t ng c a DAC

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 :

Gi ng vin: Nguy n Vn Minh Tr

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 .

Gi ng vin: Nguy n Vn Minh Tr

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

Gi ng vin: Nguy n Vn Minh Tr

79

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi 1. B chuy n i DA theo ki u i n tr tr ng l ng (Weighted resistor DAC)

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.

Gi ng vin: Nguy n Vn Minh Tr

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

Trong B0 Bn-1 c gi tr "0" ho c "1".

Gi ng vin: Nguy n Vn Minh Tr

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

Hnh 6.12: M ch ghp n i h VXL v i m t DAC 16 bit

Gi ng vin: Nguy n Vn Minh Tr

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.

6.3 B bi n i tng t s ADC


Trong ph n u gi i thi u n vi c thu nh n cc tn hi u thng qua cc sensor nhi t, p su t ... v cc m ch khu ch i thu t ton dng khu ch i v l c cc tn hi u i n ny. B c ti p theo l b bi n i AD bi n i tn hi u tng t sang d ng s c th lm vi c c v i CPU. 6.3.1. Nguyn t c lm vi c c a ADC ADC L ng t ho M ho

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

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

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

Hnh 6.15: S nguyn l b chuy n i AD theo phng php song song

Gi ng vin: Nguy n Vn Minh Tr

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")

Gi ng vin: Nguy n Vn Minh Tr

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

ADC song song

DAC N1 bit TNG TH NHT Mach hiu Nhn N1 2

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

Gi ng vin: Nguy n Vn Minh Tr

88

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi


C K 1 2 CNG R Ngun dao ng Uch Mach logic Flip Flop tran

UA

B m

Kt qua

Hnh 6.19: B chuy n i AD theo phng php tch phn hai s n d c.


VC dc do Uch tao ra t

t1 VSS

t2

Z0

t Hnh 6.20: th bi u di n nguyn l ho t ng c a m ch.

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.

Gi ng vin: Nguy n Vn Minh Tr

89

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

tr ng thi u tin, kha K lun t

v tr 1. M ch tch phn s tch phn VA,

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.

D7 Vin D0 ADC 8 bit Finish 1 Start

74 244

D7 D0
IOW IOR

Cl

7474 D Q 74125 7404 GN

74 138

A0 An Bus MVT

Hnh 6.18: S ghp n i ADC v i h VXL

Gi ng vin: Nguy n Vn Minh Tr

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];

Gi ng vin: Nguy n Vn Minh Tr

91

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

CHNG 7:

NG D NG MY VI TNH TRONG O L NG V I U KHI N

7.1 Gi i thi u v c u trc my tnh:


Hnh 7.1 trnh by cc b ph n trn bo m ch chnh c a h th ng my vi tnh (MVT). MVT l m t h th ng vi x l bao g m m t b x l trung tm CPU, cc b nh ROM, RAM, cc vi m ch ghp n i song song, n i ti p, cc b i u khi n ng t v DMA .

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.

Gi ng vin: Nguy n Vn Minh Tr

92

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

93

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

70 - 7F 80 - 9F 87 83 81 82 8B 89 8A 8F A0 - BF C0 - DF F0 F1 F8 - FF 170-177 1F0 - 1F7 200 - 20F 210 - 217 278 - 27F

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

Gi ng vin: Nguy n Vn Minh Tr

94

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

95

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

7.2 Thi t k m ch ghp n i gi a h th ng t ng ha v i cc c ng c a my vi tnh


C th ni vi c ng d ng my vi tnh trong vi c i u khi n t ng m t h th ng th c t l r t a d ng. D i y l m t vi ng d ng , c giao cho sinh vin t tm hi u, thi t k v trnh by. ti 1: THI T K M CH GHP N I C NG MY IN LPT1 O CN I N T T. ti 2: THI T K M CH GHP N I KHE C M M R NG O V I U KHI N T C NG C I N M T CHI U M. ti 3: THI T K M T KIT VI I U KHI N 89C51 C GHP N I C NG N I TI P COM1 C A MY TNH O NHI T V BO CHY. ti 4: THI T K M CH GHP N I C NG N I TI P RS232 O NH SNG V I U KHI N N. ti 5: THI T K M T KIT VI I U KHI N PIC 16F877 C GHP N I C NG N I TI P COM1 C A MY TNH O V I U KHI N N NG XY TRONG KHNG KH. ti 6: THI T K M CH GHP N I C NG N I TI P A NNG USB I U KHI N M T HNH TRNH DNG NG C B C.

Gi ng vin: Nguy n Vn Minh Tr

96

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

1. Nh ng nt chung v bus USB:


Bus USB l m t bus n i ti p D li u truy n trn bus theo t ng bus k ti p nhau . c bi t, d li u truy n trn cng cc ng d n theo hai h ng. Bus USB cho php u n i n 127 thi t b D li u truy n v i t c n 12 Mbips V I bus USB 1.0 ,t c truy n c th l n hn 12Mbps V I bus USB 2.0 ,t c truy n c th ln n 480Mbps Bus USB c m i lin h ch t ch v i c tnh Plus and Play c g i l u /ng t nng i n p ngu n nui c th nh n c t bus.Cc thi t b nh c th s d ng i n p t trn bus m khng c n ngu n nui ring. Cc c tnh c b n c a bus USB l: Cc cu c truy n ng th i,c th hi u l truy n lin t c, h tr cc tn hi u vidio v m thanh.V i cc cu c truy n ng th i, cc thi t b truy n v nh n d li u theo ki u c m b o v c th on tr c. USB cng c h tr cc thi t b khng ng th i hay thi t b c quy n u tin cao nh t , cc thi t b ng th i ho c khng ng th i t n t i cng th i i m. Cc thng s k thu t cng c c tnh c m v ch y, cc cp n i v cch k t n i u c tiu chu n ha r ng ri trong cng nghi p. Cc hub c s p x p theo nhi u t ng v i kh nngg m r ng g n n m c l n nh t v thao tc x y ra ng th i. T c truy n 12Mbps v i cc kch th c khc nhau. H tr nhi u yu c u d i thng thi t b t m t vi kbps n 19Mbps. H tr t c truy n d li u c a thi t b trn m t ph m vi r ng cc gi tr thng qua vi c i u ti t kch th c b m gi d li u v c ch ti m n. C kh nng c m nng ,ngha l cho php cc thi t b ngo i vi c th c u n i m khng c n ph i t t ngu n nui cung c p i n cho my tnh ,c th u/ng t v thay i l i c u hnh thi t b ngo i vi m t cch linh ho t kh nng qu n l c tng c ng v i cc ch ng v n m l trn ph m vi h th ng.

Gi ng vin: Nguy n Vn Minh Tr

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

Hnh 1: Cc gi d li u trong nh ng khung truy n 1 ms

667ns

83,3ns

Hnh 2: Cc tn hi u t c th p v t c cao

Gi ng vin: Nguy n Vn Minh Tr

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-

NRZI/ N I ti p song song

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

Gi ng vin: Nguy n Vn Minh Tr

99

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi d ng nhi u ng ng d ng th i ,v th t c truy n d li u t ng c ng c nng ln.

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

2 Hnh 5: Cch u n i hnh sao

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

Hnh 6: C u trc phn t ng c a cc hub khi u n i vo bus USB

Gi ng vin: Nguy n Vn Minh Tr

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 7: Nh n d ng m t thi t b t c cao

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

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

103

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

PHIN B N USB 2.0


Cc k thu t chnh c a bus USB 2.0 l: T c th p (1,5Mbps): cc thi t b tng tc(interactive),thng th ng l 10100Kbps. T c cao(full-speed,12Mbps)cc ng d ng v i i n tho i m thanh. T c r t cao (480 Mbps)cc ng d ng video v b nh thng th ng l 25400Mbps. C ng USB 2.0 s y nhanh qu trnh h ng t i m t my tnh PC trong tng lai v i cc c tnh legacy-free.

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.

Gi ng vin: Nguy n Vn Minh Tr

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.

Gi ng vin: Nguy n Vn Minh Tr

105

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

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.

III. Cc phng php i u khi n ng c b c.


M i ng c b c u c ph n quay roto l nam chm vnh c u, c bao xung quanh l ph n tnh, g i l stato. ng c b c c 4 cu n dy stato c s p x p theo c p qua tm i x ng. ng c b c d ng ny g i l ng c b c 4 pha. i m gi a cho

Gi ng vin: Nguy n Vn Minh Tr

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

PH N III: C U TRC CH C NNG C A CC CON VI M CH. I. Chip UCN5804B.


y l chip trung tm i u khi n ng c b c, v i u khi n ng c b c theo ph c php 4 b c thng d ng( hay g i l phng php b c ).

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.

Gi ng vin: Nguy n Vn Minh Tr

112

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

II. Chip FTDI- FT245AM.


1.T ng quan v chip FTDI-FT245AM. y l chip chuy n d li u t ki u n i ti p c a c ng USB sang truy n song song i u khi n ng c b c thng qua chip 5804BM. V i cc d c tnh sau: - 3.3V LDO i n p i u ch nh: l my i u ch nh i n p LDO 3.3V trong qu trnh USB truy n d li u t b nh m ra ng ra. - USB truy n nh n: Kh i truy n nh n USB cung c p 1 giao di n v t l c a USB 1.1 n cp USB. T i ng ra cung c p m c i n p 3.3V i u khi n tn hi u, trong khi m t my thu khc v 2 tn hi u k t thc t my thu cung c p d li u t c ng USB, SEO v USB d tm i u ki n. - USB DPLL: Kh i ny d dng nh n ra cc bit m ha NRZI d li u t USB cung c p n, v t t o ra xung clock v d li u n SIE block. - Dao ng 6 Mhz: Dao ddoognj t o ra t dao ng th ch anh ngoi chip hay t hi n t ng c ng h ng c a cc ph n t . - SIE (Serial Interface Engine): m nh n nhi m v truy n nh n d li u. - USB Protocol Engine: qu n l lu ng d li u t thi t b i u khi n USB. - Fifo Receive Buffer ( 128 byte): B m USB nh n d li u t i a 128 byte, d li u c c v ghi t b nh FIFO thng qua chn n i ti p truy n thng d li u USB. - 384 byte b nh nh n d li u, 128 byte b nh truy n tn hi u m c cao 2.S chn.

Gi ng vin: Nguy n Vn Minh Tr

113

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

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

3,13,26 VCC 9,17 GND 30 AVCC

PH N IV: NGUYN L HO T NG C A M CH.


Ngu n c c p b i m t ngu n DC bn ngoi hay ngu n DC P1. i n p c th dao ng t 6 30V, ph thu c vo t c c a ng c b c. ng c b c s d ng h u h t cc dong trong m ch, v v y n c c p ngu n thng qua tr R1,R2. y l tr gi i h n dng n ng c v cho php ng c ho t ng v i ngu n i n p cung c p l n hn i n p gi i h n cho php ng c lm vi c. i n p n nh tr ng thi (khng t i) c a m ch thu c b ng cch i u ch nh i n p ng v d i 5V v i con chip i u ch nh i n p LM78L05. y l m t IC i u ch nh i n p, v i C7, C1, C5 cung c p thm vo i n p l c. U1-UCN5804BM c ch c nng cung c p dng 100mA, y l trung tm b i u khi n ng c b c lm vi c theo t ng phng php i u khi n. N g m 1 CMOS x p x p v lu gi m c logic ph n i n p l ng c c ng ra tr c ti p i u khi n ng c. UNC5804BM c th pht tn hi u i u khi n v i 3 mode khc nhau: FULL-STEP, HALF-STEP, FULL-STEP WAVE. D1-4 l m t t h p Diod ngn c n nguy hi m n chip UNC5804BM n u cng t c ng ra m c th p khi ng c ang ho t ng v i t i l n. M i LED1-4 sng tng ng v i ng ra lm vi c m c th p v l v t c ch nh n xt tr ng thi lm vi c c a ng ra. Tr R3 cung c p dng i n gi i h n n LED. PIN 9,10,14 v 15 c a chip UCN5804BM i u khi n ng ra theo cc phng php i u khi n ty ch n. Cng t c DIP1-4 cho php i u khi n b ng tay m i h ng lm vi c c a ng c b c theo b ng tr ng thi sau:

Gi ng vin: Nguy n Vn Minh Tr

115

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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.

Gi ng vin: Nguy n Vn Minh Tr

116

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

ti 4: Thi t k m ch c ng n i ti p RS232 m ch ny lm nhi m v o nh sng v i u khi n n.

Chng I: Gi i thi u chung v truy n thng n i ti p


Hi n nay cc tiu chu n truy n thng cng theo hai h ng phn bi t nhau d a vo cch truy n : song song hay n i ti p. Cch truy n song song r t d b nhi u tc ng nn khng th truy n i xa c, do cng t c s d ng. Truy n n i ti p cng c 2 lo i : ng b hay khng ng b . Trong cch truy n ng b , dy k t c truy n s km theo k t ng b l SYN (m ASCII l 22). Phng th c ny cho t c truy n kh cao nhng do m ch x l truy n v nh n (bao g m m ch thm k t ng b , pht hi n v bo sai) kh ph c t p nn ch dng trong cc ng d ng c yu c u cao v t c truy n. Cn trong cc ng d ng thng th ng, nh t l cc ng d ng trong lnh v c i u khi n t ng, th khng c yu c u v t c m yu c u v tin c y nhng m ch th c hi n n gi n, r ti n. Khi , cch truy n khng ng b r t ph h p. Theo cch truy n ny th cc k t c truy n ring r , phn lm t ng frame c bit b t u, cc bit d li u c a k t c n truy n, bit ch n l ( ki m tra l i ng truy n), v cc bit k t thc.Trong khun kh Lu n Vn ny ,ta ch s d ng chu n truy n thng RS-232C (RS :Recommended Standard) ,l m t chu n truy n n i ti p b t ng b r t ph bi n hi n nay. Chu n ny l n u tin c gi i thi u vo nm 1962 do hi p h i k thu t i n t EIA (Electronics Industries Association) a ra nh l chu n giao ti p truy n thng gi a my tnh v thi t b ngo i vi nh :modem, my v , mouse, my tnh khc 1. C u t o c ng n i ti p: B ng 1.1 S p x p chn c a c ng n i ti p 9 chn 1 2 3 4 5 6 7 8 9 25 chn 8 3 2 20 7 6 4 5 22 my tnh:

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)

Gi ng vin: Nguy n Vn Minh Tr

117

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

20Kps/15m 10Mbps/12m 10Mbps/120m 100Kbps/1.2k m

Gi ng vin: Nguy n Vn Minh Tr

118

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

Mode Driver No Receiver No Logic 0 Logic 1 Community (truy n thng) Cable/Signa l (Cp / tn hi u) Methode (Phng th c)

Unbalanced 1 1 +5V +15 V -5V -15V 2V 1

Balanced Differental 1 10 +2v +5V -2V -5V 1.8V 2

Unbalnced Differental 1 10 +3.6V +6V -3.6V -6V 3.4V 2

Balanced Differental 32 32 +1.5V +5V -1.5V -5V 1.3V 2

Simplex Half_duple x Full_duplex Short circuit 500mA current

Simplex Half_duplex Full_duplex 150mA

Simplex Half_duplex Full_duplex 150mA

Simplex Half_duplex Full_duplex 150mA

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.

Gi ng vin: Nguy n Vn Minh Tr

119

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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.

Gi ng vin: Nguy n Vn Minh Tr

120

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

Chng II : Gi i thi u cc linh ki n dng trong m ch


I. Chip ADC804: Chp ADC804 l b chuy n i tng t s thu c h ADC804 c a hng national semiconductor. Chp ny cng c nhi u hng khc s n xu t. i n p nui l +5v v phn gi i 8 bit. Th i gian chuy n i c nh ngha l th i gian m b ADC c n chuy n mt u vo tng t thnh m t s nh phn. i v i ADC 804 th i gian chuy n i ph thu c vo t n s ng h c c p t i chn CLK va CLKIN v khng b hn 110s. CS ch n chip L chn ch n chp, u vo tch c c m c th p c s d ng kich ho t chp ADC804. tri c p ADC804 th chn ny m c th p. RD - c y l m t tn hi u vo tch c c m c th p. cc b ADC chuy n i u vo tng t thnh s nh phn v gi n m t thanh ghi trong. RD c s d ng c d li u c chuy n i t i u ra c a ADC 804. khi CS=0 n u c m t xung cao xung th p p n chn RD th d li u ra d ng s 8 bit c a t i cc chn d li u D0-D7. WR - Ghi y l chn vo tch c c m c th p c dung bo cho ADC 804 b t u qu trnh chuy n i. N u CS=0 khi WR t o ra xung cao xu ng th p th b ADC 804 b t u ti n hnh chuy n i gi th u tng t Vin v s nh phn 8 bit. CLK IN v CLK R CLK IN l chn vo n i t i ng h ngoi khi ng h ngoi c s d ng t o th i gian. Tuy nhin 804 cng c m b t o xung ng h trn chp dng ng h trn chp c a 804 th chn CLK IN v CLK R c n i t i t i n v m t i n tr . v i t n s
f =

1 1.1RC

Gi ng vin: Nguy n Vn Minh Tr

121

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

122

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Vin (+) c dng lm d u vo tng t v c chuy n i v d ng s .

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

Gi ng vin: Nguy n Vn Minh Tr

123

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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:

10mV/F 10mV/F 10mV/F 10mV/F

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 :

Ch n u vo Ng vo a ch c nng Chn vo tc ng ( tc ng Ng ra a ch c nng Ng ra b sung a ch c nng Chn ngu n Chn n i t

m c th p)

Gi ng vin: Nguy n Vn Minh Tr

124

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

Gi ng vin: Nguy n Vn Minh Tr

125

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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.

Hi-Z : Ng ra tr khng cao Qo : M c ng ra tr c khi c u hnh ng vo c thi t l p


OE ( Output Enable): M c ng m

Gi ng vin: Nguy n Vn Minh Tr

126

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

Chng III : M ch thi t k ghp n i


I. S nguyn l c a m ch thi t k m ch:

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.

Gi ng vin: Nguy n Vn Minh Tr

127

Ti li u mn h c: Ghp n i v i u khi n thi t b ngo i vi

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

Gi ng vin: Nguy n Vn Minh Tr

128

You might also like