Xem mẫu
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
Chieàu cuûa doøng kyù töï
Luoân ôû möùc cao
Luoân ôû möùc thaáp
Start D0 D1 D2 D3 D4 D5 D6 Parity Stop Stop
Maõ cuûa kyù töï caàn truyeàn
HÌNH 5.2 : Khung cuûa moät kyù töï ñeå truyeàn khoâng ñoàng bo ä
Tuyø theo loaïi maõ ñöôïc choïn duøng trong khi truyeàn (Baudot, Ascii,… ) ñoä daøi cho maõ
kyù töï coù theå laø 5 , 6 , 7, 8 bit. Tuyø theo heä thoáng truyeàn tin, beân caïnh caùc bit döõ lieäu coøn coù
theå tuyø choïn coù hay khoâng coù 1 bit parity ñeå kieåm tra loãi khi truyeàn coù theå tuyø choïn 1 hoaêc
2 bit stop, nhöng baét buoäc phaûi coù moät bit start. Nhö vaäy ñeå truyeàn moät kyù töï theo phöông
phaùp khoâng ñoàng boä, ngoaøi kyù töï mang tin ta buoäc phaûi truyeàn theâm ít nhaát 2 vaø nhieàu
nhaát laø 4 bit phuï ñeå taïo ra khung cho kyù töï ñoù, vì theá phöông phaùp naày tuy ñôn giaûn nhön g
coù hieäu suaát khoâng cao.
Toác ñoä truyeàn döõ lieäu theo phöông phaùp noái tieáp ñöôïc ño baèng bit/s. Ngoaøi ra ngöôøi
ta cuõng hay duøng ñôn vò baud, ñoù laø giaù trò ngòch ñaûo cuûa thôøi gian giöõa caùc laàn thay ñoå i
möùc tín hieäu, vôùi döõ lieäu chæ coù hai möùc (0 vaø 1)ø vaø moãi thay ñoåi möùc tín hieäu chæ maõ hoùa
moät bit thì coù theå hieåu baud = bit/s, caùc toác ñoä truyeàn thöôøng gaëp trong thöïc teá laø 11, 300,
600, 1200, 2400, 4800, 9600, 19200 baud.
Ñeå taïo ñieàu kieän deå daøng cho vieäc phoái gheùp ñöôøng truyeàn noái tieáp vôùi heä vi xöû lyù
vaø ñeå giaûm toái ña caùc maïch phuï theâm ôû beân ngoaøi ngöôøi ta ñaõ cheá taïo ra caùc vi maïch toå
hôïp côõ lôùn laäp trình ñöôïc coù khaû naêng hoaøn thaønh phaàn lôùn caùc coâng vieäc caàn thieát trong
khi phoái gheùp. Ñoù laø caùc maïch thu phaùt d i boä vaïn naêng IN8250/16450 cuûa National vaø
maïch thu phaùt ñoàng boä – dò boä vaïn naêng 8251 cuûa Intel.
II. VI MAÏCH USART 8251:
Trong phaàn naøy ta seõ giôùi thieäu maïch 8251A ñoù laø vi maïch USART coù theå duøng
cho caû hai kieåu truyeàn thoâng tin noái tieáp ñoàng boä, dò boä. Sô ñoà chaân vaø sô ñoà thanh ghi
ñöôïc trình baøy ôû hình 5.3
1. Sô ñoà chaân vaø sô ñoà khoái
a. nhoùm tín hieäu gheùp noái vôùi vi xöû lyù goàm:
- /CS noái vôùi boä giaûi maõ ñòa chæ A1.. An ñeå choïn 2 thanh ghi.
(A0 = 1ñieàu khieån traïng thaùi, A0 = 0 ñeäm soá lieäu).
- C/D noái vôùi ñöôøng daây ñòa chæ A0 ñeå moät trong 2 caëp thanh ghi treân.
- /WR noái vôùi chaân /WR cuûa vi xöû lyù.
- /RD noái vôùi chaân /RD cuûa vi xöû lyù.
- CLK noái vôùi ñöôøng daây CLK cuûa vi xöû lyù.
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
- Reset noái vôùi ñöôøng daây reset cuûa vi xöû lyù.
- D0 … D7 noái vôùi caùc ñöôøng daãn D0…D7 cuûa VXL.
b. Nhoùm tín hieäu gheùp noái voái Modem
- /DTR
- /DSR
- /RTS
- /CTS
c. Nhoùm tín hieäu geùp noái vôùi ñöôøng daây truyeàn – nhaän vaø KGN:
- TxEMTY thanh ghi ñeäm truyeàn roãng.
- TxR cho soá lieäu truyeàn.
- TxRDy baùo soá lieäu truyeàn ñaõ saün saøng.
- RxRDy baùo soá lieäu nhaän ñaõ saün saøng.
- Syn det/Break : chæ ñoàng boä/ñöùt doøng tin.
d. Nhoùm tín hieäu gheùp noái vôùi maùy phaùt xung nhòp.
- TxD : nhòp truyeàn.
- RxC : nhòp nhaän.
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
/CS chíp choïn vi maïch
D1 /RD read – ñoïc
28
D2 1
/WR write – vieát
D0
27
D3 2 C/D control/data - ñieàu
Vcc
26
RxD 3 khieån soá lieäu
/RxC
25
GND 4 CLK – clock – nhòp
/DTR D0..D7 data O/I – bus
24
D4 5
döõ lieäu vaøo ra
/RTS
23
D5 6 /TxC – transmit clock -
/DSR
22
D6 7 nhòp truyeàn
8251A
Reset
21
D7 8 RxC – receiver clock
CLK RST – reset
20
/TxC 9
/DTR dada terminal
TxD
19
/WR 10 ready
TxEMPTY
18
/CS 11 /DSR – data set ready
/CTS
17
C/D 12 /RTS request to send
Syndet/BR /CTS clear to send
16
/RD 13
TxD – transmit data
TxRDY
15
RxRDY 14 RxD – receiver data
TxRDy – transmit ready
RxRDy – receiver ready
(a)
TxEMTY – transmist
register empty
Syn/BRK- Break detect
/CS TxD
/RD Thanh ghi truyeàn
/WR
C/D
Thanh ghi ñeäm truyeàn
D0
D1
RxD
D2
Thanh ghi nhaän
D3
D4
D5
Thanh ghi ñeäm nhaän
D6
D7
CLK
Thanh ghi cheá ñoä
RST Hình 5.3 : Sô ñoà
RxRDY chaân (a) vaø caùc
TxRDY thanh ghi (b) cuûa
Thanh ghi leänh
TxEMTy 8251A
Vcc
GND Thanh ghi traïng thaùi
(b)
/DSR /DTR /CTS /RTS Syn/BRK TxC RxC
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
2. Caùc thanh ghi:
ÔÛ hình 5.4a vaø hình 5.4b moâ taû boä thanh ghi cuûa 8251, goàm: thanh ghi traïng thaùi vaø
thanh ghi ñieàu khieån.
Hai thanh ghi treân coù cuøng moät ñòa chæ vôùi A0 = 1, moät duøng ñeå ghi (/WR) leänh
ñieàu khieån vaø moät ñeå ñoïc (/RD) traïng thaùi. Hai thanh ghi ñeäm soá lieäu ghi vaø ñoïc coù cuøng
moät ñòa chæ (A0 = 0) vaø duøng ñeå ghi vaø ñoïc soá lieäu caàn truyeàn vaø nhaän cuûa KGN. Caùc leänh
cho caùc thanh ghi treân nhö baûng sau:
/CE C/D /WR /RD LEÄNH
0 1 0 1 Ghi vaøo thanh ghi ñieàu khieån (cheá ñoä, leänh).
0 1 1 0 Ñoïc thanh ghi traïng thaùi.
0 0 0 1 Ghi soá lieäu vaøo thanh ghi ñeäm truyeàn.
0 0 1 0 Ñoïc soá lieäu töø thanh ghi ñeäm nhaän.
1 x x x Trôû khaùng cao (khoâng duøng).
Thanh ghi ñieàu khieån
-
Thanh ghi traïng thaùi
-
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
a. Thanh ghi ñieàu khieån:
- duøng ñeå ghi:
+ lôøi ñieàu khieån cheá ñoä.
D7 D6 D5 D4 D3 D2 D1 D0
Toác ñoä truyeàn
Bit chaün leû
00 ñoàng boä
X0 khoâng kieåm tra 01 khoâng ñoàng boä x1
chaún leû 10 khoâng ñoàng boä x 16
01 kieåm tra leû 11 khoâng ñoàng boä x64
10 kieåm tra chaün
Ñoä daøi kyù töï
00 5 bit
01 6bit
10 7bit
11 8 bit
Ñieàu khieån khung.
00 khoâng giaù trò
01 moät bit döøng
10 1.5 bit döøng
Hình 5.4a 11 2 bit döøng
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
b. Lôøi leänh:
D7 D6 D5 D4 D3 D2
EH IR RTS ER SBRK RxEN DTR TxEN
Cho pheùp phaùt
1= cho pheùp
Soá lieäu ñaàu cuoái
Saün saøng, DTR\ =1
Cho pheùp thu
1= cho pheùp RxRDy
Göûi tín hieäu caét
1= ñöa TxD = 0
Xoaù côø baùo loãi
1= xoaù côø
Yeâu caàu phaùt
1= ñöa tín hieäu
Ngaét meàm
1= xoaù caùc thanh ghi
Cheá ñoä baát ñoàng boä
1= tìm kyù töï ñoàng boä
HÌNH 5.4b
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
c. thanh ghi traïng thaùi.
Duøng ñeå ñoïc lôøi traïng thaùi:
D7 D6 D5 D4 D3 D2 D1 D0
DSR SYNDET FE OE PE TxEM RxRDy TxRDy
Chæ 8251 saün saøng
nhaän 1 chöõ hay leänh
Chæ thanh ghi ñeå truyeàn
Chæ modem
bieán ñoåi song
ñaõ Saün saøng
song - noái
ñeå truyeàn soá Chæ saün saøng nhaän soá
tieáp roãng
lieïäu lieäu ñeå truyeàn cho
VXL
Chæ chöõ
ñoàng boä ñaõ
ñöôïc 8251 Bit baùo sai chaún leû
nhaän
Pe= 1 khi coù sai xoùa
baèng ER cuûa leänh
Bit chæ loãi traøn
Khi VXL chöa ñoïc lôøi
tröôùc, lôøi sau ñaõ tôùi thì
OE =1 xoaù baèng ER
cuûa leänh
Bit chæ sai khung
(khoâng ñoàng boä)
khi soá bit döøng bò sai
Hình 5.4c FE= 1 xoaù baèng ER =1
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
* Vôùùi lôøi ñieàu khieån cheá ñoä: hình 5.4a
- Cheá ñoä ñoàng boä: (trong, ngoaøi hai hay moät kyù töï ñoàng boä SYNC) bôûi noäi dung ghi
vaøo D7, D6.
- Toác ñoä truyeàn vôùi giaù trò:
+ D1D0 = 00: Duøng cho cheá ñoä ñoàng boä, toác ñoä nôi thu baèng toác ñoä nôi phaùt, khoâng
coù söï thay ñoåi taàn soá xung nhòp.
+ D1D0=01 : duøng cho cheá ñoä khoâng ñoàng boä, toác ñoä giöõa nôi thu vaø nôi phaùt khoâng
ñoåi.
+ D1D0=01: toác ñoä thu = toác ñoä truyeàn X1, töùc toác ñoä thu = toác ñoä truyeàn.
+D1D0=10: toác ñoä thu =16x toác ñoä truyeàn.
+ D1D0=11: toác ñoä thu =64x toác ñoä truyeàn.
- Ñoä daøi kyù töï, töùc ñoä daøi moät ñôn vò tin SDU vôùi caùc giaù trò D3d2 = 00 (5bit), 01(6bit),
10(7bit) vaø 11(8bit)
- Kieån tra chaün leû D5D4 =00 (khoâng kieåm tra), 01 (kieåm tra leû), 11 (kieåm tra chaün)
- Ñieàu khieån khung, xaùc ñònh soá bit döøng.
Vôùi D7D6 = 01 – moät bit döøng
D7D6 = 10 – moät bit röôõi döøng
D7D6 = 11 – hai bit döøng
Vôùi lôøi leänh (hình5.4b) ta coù theå ghi leänh ñeå:
- Ñieàu khieån modem: DTR(D1=1), RTS(D5=1)
- Xoaù meàm( baèng chöông trình coù IR (D6=1) ñeå xoaù veà 0 caùc thanh ghi noäi
- Xoùa côø baùo loãi ER (D4=1)
- Ghi cho pheùp truyeàn TxEN (D0=1) cho pheùp nhaän RxE(D2=1)
- Göûi tín hieäu caét ( caùc bit baèng 0-Break) ñeå caét doøng tin lieân tuïc ñang truyeàn.
- Tìm kyù töï ñoàng boä EH(D7=1) trong cheá ñoä ñoàng boä
Thanh ghi traïng thaùi (hình 5.4c): duøng ñeå ñoïc.
- Saün saøng truyeàn TxRDY (D0=1), saün saøng nhaän RXRDY( D1=1)
- Thanh ghi ñeäm soá lieäu roãng TxE (D2=1)
- Tuy chæ coù moät ñòa chæ (CS\=0, A1=1) nhöng ta coù theå ghi ñöôïc 2 lôøi ñieàu khieån cheá
ñoä vaø lôøi leänh ôû 2 thanh ghi ñieàu khieån khaùc nhau vì coøn coù chung moät flip flop noäi
ñieàu khieån laàn löôït vaøo hai thanh ghi treân
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
III. ÖÙNG DUÏNG 8251A ÑEÅ TRUYEÀN THOÂNG TIN NOÁI TIEÁP:
1. Truyeàn thoâng tin noái tieáp giöõa 2 kit VXL:
TxD TxD
RxD RxD
DTR\ DTR
VXL2
8251 8251
VXL1
DSR\ DSR
RTS\ RTS
CTS CTS
HÌNH 5.5
a. Khôûi phaùt 8251A:
Muoán 8251 hoaït ñoäng ñuùng cheá ñoä (khoâng ñoàng boä), tgác ñoä (300, 600, 1200, 2400,
4800, 9600bps hoaëc lôùn hôn), soá bit tin (5, 6, 7, 8) coù kieåm tra chaün hoaëc leû vaø xaùc ñinh soá
bit döøng (1; 1,5; 2 bit) ta phaûi ghi lôøi ñieàu khieån cheá ñoä vaøo thanh ghi ñieàu khieån cuaû 8251.
Ví duï:
Moät 8251 coù ñiaï chæ goác CS\ vôùi 0FFF0h, caàn trao ñoåi thoâng tin 8 bit, toác ñoä x16 khoâng
coù kieåm tra Parity chaün leû, 2bit stop.
Lôøi ñieàu khieån laø: 1 1 0 0 1 1 1 0
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
Löu ñoà khôûi taïo 8251A
Begin
00h thanh ghi ñieàu khieån
03h AH
AH - 1
Delay
sai
AH = 0 ?
Ñuùng
Naïp töø cheá ñoä caøo thanh ghi
cheá ñoä
Delay
End
HÌNH 5.5
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
chöông trình khôûi phaùt:
MOV DX, 0FFF2h
MOV AL,00h
OUT DX,AL
MOV CX 2h
D0 : LOOP D0
OUT DX, AL
D1: MOV CX,2h
LOOP D1
OUT DX, AL
MOV CX,2h
D2: LOOP D2
MOV AL, 40h
OUT DX, AL
MOV CX, 2h
D3: LOOP D3
MOV AL, 11001110B
OUT DX, AL
MOV CX, 2h
D4: LOOP D4
END
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
- Tröôøng ÑH SPKT Luaän vaên toát nghieäp
2. Truyeàn thoâng tin noái tieáp giöõa kit VXL vaø maùy tính:
Giaûi maõ
A 1 – A 11 ñiaï chæ CS \ GND
D 0 –D 7 D 0 – D7
TxD
Reset Rest
RxD
CLK CLK
DTR 1 5
A0 C/D\ OOOOO
OOOO
RD \ RD DSR\ 6 9
WR \ WR
RTS \ Coång COM
Xöû lyù cuûa maùy tính
ngaét (8259A
hai möùc)
INTR TxD
CTS INTA \ RxRDy
VXL 8251
HÌNH 5.6
GVHD: Nguyeãn Ñình Phuù SVTH: Nguyeãn Trung Duõng
nguon tai.lieu . vn