Luận văn tốt nghiệp giao tiếp máy tính
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
CHÖÔNG MÔÛ ÑAÀU
I _ KHAÙI QUAÙT VAÁN ÑEÀ
Heä thoáng ñieàu khieån maùy khoan baèng maùy tính ñieän töû laø moät taäp
hôïp caùc thieát bò vaø phuï kieän lieân quan. Ñeå naém ñöôïc heát caùc nguyeân lyù
hoaït ñoäng vaø caáu taïo cuûa chuùng roõ raøng laø moät veäc khoâng ñôn giaûn. Thaäm
chí ngay caû teân goïi cuûa moät soá boä phaän trong heä thoáng cuõng gaây phieàn haø
cho ngöôøi söû duïng. Tröôùc nhöõng tieán boä nhö vuõ baûo cuûa ngaønh coâng nghieäp
ngaøy nay vaø nhu caàu öùng duïng maùy tính vaøo moïi lónh vöïc, heä thoáng ñieàu
khieån töï ñoäng ngaøy caøng ñöôïc phaùt trieån moät caùch hoaøn haûo vaø coù ñoä chính
xaùc cao.
Hoaït ñoäng cô baûn cuûa heä thoáng ñieàu khieån maùy khoan baèng maùy tính
ñöôïc thöïc hieän cuõng gioáng nhö caùc loaïi giao tieáp khaùc. Döõ lieäu ñöôïc chöùa
trong boä nhôù cuûa maùy tính, sau ñoù ñöôïc xuaát ra qua coång giao tieáp noái tieáp
ñöa ñeán maùy khoan ñeå ñieàu khieån ñoäng cô ñònh vò ñuùng vò trí caàn khoan, vaø
cöù theá heát vò trí naøy ñeán vò trí khaùc ñeán khi naøo maø maùy tính gôûi leänh döøng
thì ñoäng cô khoâng hoaït ñoäng nöõa. Khi aáy heä thoáng khoan maïch in hoaøn
thaønh.
II_ GIÔÙI HAÏN ÑEÀ TAØI
Do thôøi gian nghieân cöùu vaø thöïc hieän ñeà taøi chæ giôùi haïn trong voøng 6
tuaàn, vôùi voán kieán thöùc vaø vieäc tìm hieåu veà heä thoáng ñieàu khieån vaø cô caáu
caáu taïo, cuõng nhö caùc boä phaän chi tieát trong heä thoáng ñieàu khieån coøn haïn
cheá, luaän vaên naøy chæ thöïc hieän trong phaïm vi öùng duïng phaàn meàm Pal-El
ñeå khoan maïch in bao goàm caùc phaàn sau:
Phaàn I
Phaàn II
Phaàn III
: Cô sôû lyù thuyeát veà giao tieáp
Giao tieáp vôùi maùy tính
Giôùi thieäu veà chuaån RS-232
: Caùc khaùi nieäm veà maùy ñieàu khieån theo chöông trình soá
Ñaïi cöông veà ñieàu khieån theo chöông trình soá
Truyeàn ñoäng baèng ñoäng cô böôùc
: Phaàn meàm
ÖÙng duïng phaàn meàm PAL-El ñeå khoan maïch in
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
III _ MUÏC TIEÂU NGHIEÂN CÖÙU
Döïa treân taøi lieäu vaø thieát bò ñieàu khieån, ñaët bieät maùy khoan coù saün,
cuõng nhö phaàn meàn ñieàu khieån ñöôïc dòch töø taøi lieäu PAL_EP ….. ñeå vieát
moät chöông trình öùng duïng thöïc teá ñôn giaûn nhaèm goùp phaàn phong phuù
theâm cho vieäc hieåu bieát veà lónh vöïc naøy ñoàng thôøi coù theå môû roäng vaø ñònh
höôùng cho nhöõng ñeà taøi sau
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
CHÖÔNG I
GIAO TIEÁP MAÙY TÍNH
I _ CAÙC VAÁN ÑEÀ CÔ BAÛN VEÀ MAÙY TÍNH
Traûi qua moät thôøi gian daøi töø phaùt minh ñaàu tieân ra maùy tính cho ñeán
nay, maùy tính ñaõ khoâng ngöøng naâng cao vaø phaùt trieån qua nhieàu theá heä. Tuy
nhieân haàu heát maùy tính ñang phoå bieán hieän nay ñeàu coù nguoàn goác xuaát phaùt
töø hoï PC (Personal Computer). Ñaàu tieân laø kieåu maùy PCXT do haõng IBM
cheá taïo vôùi boä xöû lyù (CPU) 8088 cuûa haõng Intel. Ñaây laø heä thoáng xöû lyù döõ
lieäu 16 bit nhöng duøng bus döõ lieäu 8 bit.
Tieáp theo ñoù laø maùy AT ra ñôøi vôùi boä xöû lyù 80286 coù tính naêng hôn
haún chip 8088 cuûa maùy PC XT. Noù coù khaû naêng taïo ra boä nhôù aûo, ña nhieäm
vuï, toác ñoä nhanh, ñoä tin caäy cao vaø duøng bus döõ lieäu 16 bit. Ña nhieäm
(Multitasking) laø khaû naêng thöïc hieän moät luùc nhieàu nhieäm vuï:
- Vöøa in moät taøi lieäu
- Vöøa tính toaùn moät pheùp tính
Coâng vieäc naøy thöïc hieän ñöôïc nhôø hoaùn chuyeån nhanh theo söï theo
doõi cuûa CPU ñeán caùc chöông trình maø noù ñang naém quyeàn ñieàu khieån .Vieäc
naøy ñöôïc thöïc hieän ngay beân trong CPU coäng vôùi moät vaøi giuùp ñôõ cuûa heä
ñieàu haønh.Boä nhôù aûo (Virtull Memory) cho pheùp maùy tính laøm vieäc vôùi moät
boä nhôù döôøng nhö lôùn hôn nhieàu so vôùi boä nhôù vaät lyù hieän coù: Coâ ng vieäc
naøy thöïc hieän ñöôïc nhôø moät phaàn meàm vaø söï thieát keá phaàn cöùng cöïc kyø
tinh xaûo.
Ngaøy nay caùc maùy AT 386, 486, Pentium duøng chip CPU laàn löôït laø
80386, 80486, P5 laø keát quaû cuûa trình ñoä kyõ thuaät vaø coâng ngheä hieän ñaïi.
Chöông trình moät boä nhôù lôùn hôn toå tieân laø : 8088 hay 80286 cuøng vôùi nhieàu
chöùc naêng môùi, theâm nöõa laø toác ñoä vi xöû lyù khoâng ngöøng ñöôïc naâng cao ñoä
roäng cuûa data bus cuõng môû roäng leân 32bit roài 64 bit vôùi Pentium.
II _ CAÙC PHÖÔNG PHAÙP ÑIEÀU KHIEÅN VAØO RA:
1. Vaøo ra ñieàu khieån baèng chöông trình:
Thieát bò ngoai vi ñieàu gheùp vôùi Bus heä thoáng vi xöû lyù thoâng qua caùc
phaàn thích öùng veà coâng ngheä cheá taïo vaø logic. Thích öùng veà coâng ngheä cheá
taïo laø ñieàu chænh möùc coâng ngheä saûn xuaát thieát bò ngoaïi vi vaø coâng ngheä
saûn xuaát cuûa maïch trong heä vi xöû lyù. Thích öùng veà Logic laø nhieäm vuï taïo
tín hieäu ñieàu khieån ngoaïi vi tín hieäu treân bus heä thoáng.
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
Trong heä vi xöû lyù moät vuøng nhôù duøng laøm nôi chöùa ñòa chæ coång vaøo
ra vaø CPU xuaát hoaëc nhaäp döõ lieäu töø caùc coång vaøo ra naøy caùc leänh xuaát
nhaäp In/Out Luùc naøy coång vaøo ra ñöôïc xem nhö thanh ghi ngoaøi, chuùng
ñöôïc vieát vaøo hoaëc ñoïc ra nhö oâ nhôù Ram qua hai leänh treân. Ñeå phaân bieät
höôùng xuaát hoaëc nhaäp döõ lieäu töø coång vaøo ra CPU phaùt ra tín hieäu ñieàu
khieån ñoïc hoaëc vieát. Ñeå phaân bieät vuøng nhôù vôùi thieát bò vaøo ra CPU phaùt ra
tín hieäu ñieàu khieån IO/M. Khi coù caùc leänh naøy thì caùc leänh In/Out môùi coù
taùc duïng.
Ngoaøi caùc leänh qui chieáu boä nhôù, cuõng nhö khaû naêng trao ñoåi döõ lieäu
giöõa thieát bò ngoaïi vi vaø heä vi xöû lyù. Luùc ñoù vaøo ra ñöôïc gaùn nhö moät ñòa
chæ oâ nhôù cuûa boä nhôù. Caùc thanh ghi lieân quan tôùi coång vaøo ra ñöôïc xem
nhö ngaên nhôù. Khi boä vi xöû lyù goïi ñòa chæ vaø xung ñieàu khieån ñoïc hay vieát
boä nhôù khoâng caàn xaùc ñònh nôi gôûi laø boä nhôù hay thieát bò vaøo ra. Noù chæ hoûi
nôi gôûi döõ lieäu vaøo trong khoaûng thôøi gian cho pheùp. Boä logic beân ngoaøi seõ
giaûi maõ ñòa chæ keát hôïp vôùi xung MR, MW, ñeå choïn thieát bò maø khoâng phaân
bieät ngaên nhôù hay thieát bò vaøo ra.
2. Vaøo ra ñieàu khieån baèng ngaét:
Vôùi phöông phaùp ñieàu khieån vaøo ra baèng chöông trình, CPU phaûi lieân
tuïc kieåm tra traïng thaùi cuûa thieát bò ngoaïi vi ñeán khi saün saøng, ñoù laø söï laõng
phí thôøi gian cuûa CPU vaø chöông trình daøi vaø phöùc taïp. Khi boä vi xöû lyù coù
nhieàu thieát bò ngoaïi vi CPU khoâng ñaùp öùng yeâu caàu cuûa chuùng. Coù theå ñaùp
öùng yeâu caàu ngoaïi vi nhanh choùng vaø khoâng theo trình töï nhö ñònh tröôùc
nhôø cô caáu ngaét CPU.
Nhôø tính chaát ñaùp öùng töùc thôøi cuûa vi xöû lyù khi coù yeâu caàu ngaét töø
thieát bò ngoaïi vi do ñoù caùc ngaét thöôøng ñöôïc duøng ôû nhöõng tröôøng hôïp yeâu
caàu ñap öùng nhanh, thôøi gian traû lôøi ngaén, thöïc hieän ôû baát kyø thôøi ñieåm naøo.
Khi ñoù CPU phaûi chuyeån ñeán chöông trình con, yeâu caàu ngaét ôû cuoái baát kyø
leänh naøo trong chöông trình chính. Caùc chöông trình con phuïc vuï ngaét coù
theå löu tröõ noäi dung caùc thanh ghi vaø khoâi phuïc laïi khi thöïc hieän xong
chöông trình phuïc vuï ngaét vaø tröôùc khi trôû laïi chöông trình chính.
Giao tieáp vôùi mayù tính laø trao ñoåi döõ kieän giöõa moät maùy tính vôùi moät
hay nhieàu thieát bò ngoaïi vi.
Theo tieâu chuaån saûn xuaát, maùy tính giao tieáp vôùi ngöôøi söû duïng baèng
hai thieát bò:
- Baøn phím ñeå nhaäp döõ lieäu
- Maøn hình ñeå hieån thò
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
Ngoaøi ra nhaø saûn xuaát cho ta nhieàu caùch giao tieáp khaùc thoâng qua caùc
port nhö laø caùc ngoõ giao tieáp:
- Giao tieáp qua port com (noái tieáp)
- Giao tieáp qua port Parallel(song song)
Tuøy theo tröôøng hôïp öùng duïng cuï theå maø choïn caùch giao tieáp thích hôïp.
III _ PHÖÔNG PHAÙP GIAO TIEÁP
1. Giao tieáp vôùi maùy tính thoâng qua slot card:
Beân trong maùy tính, ngoaøi nhöõng khe caém duøng cho card vaøo - ra, card
maøn hình, vaãn coøn nhöõng raõnh caém ñeå troáng. Ñeå giao tieáp vôùi maùy tính, ta
coù theå thieát keá card môû roäng ñeå gaén vaøo khe caém môû roäng naøy. ÔÛ maùy tính
PC/XT raõnh caém chæ coù 1 loaïi vôùi ñoä roäng 8 bit vaø tuaân theo tieâu chuaån ISA
(Industry Standard Architecture). Raõnh caém theo tieâu chuaån IS coù 62 ñöôøng
tín hieäu, qua caùc ñöôøng tín hieäu naøy maùy tính coù theå giao tieáp deã daøng vôùi
thieát bò beân ngoaøi thoâng qua card môû roäng.
Treân raõnh caém môû roäng, ngoaøi 20 ñöôøng ñòa chæ, 8 ñöôøng döõ lieäu, coøn
coù moät soá ñöôøng ñieàu khieån nhö: RESET , IOR , IOW, AEN, CLK, ... Do ñoù
card giao tieáp vôùi maùy tính qua slot card ñôn giaûn, soá bit coù theå taêng deã
daøng, giaûm ñöôïc nhieàu linh kieän, toác ñoä truyeàn döõ lieäu nhanh (truyeàn song
song). Tuy nhieân, do khe caém naèm beân trong maùy tính neân khi muoán gaén
card giao tieáp vaøo thì phaûi môû naép ra, ñieàu naøy gaây baát tieän cho ngöôøi söû
duïng.
2. Giao tieáp qua Serial Port (Port COM) :
IBM PC cung caáp 2 coång noái tieáp: COM1 vaø COM2. Caùc coång naøy
giao tieáp theo tieâu chuaån RS232. Chuùng coù theå ñöôïc noái vôùi moät Modem ñeå
duøng cho maïng ñieän thoaïi, hay noái tröïc tieáp vôùi moät maùy tính khaùc. Döõ lieäu
ñöôïc truyeàn qua coång naøy theo caùch noái tieáp, nghóa laø döõ lieäu ñöôïc gôûi ñi
noái tieáp nhau treân 1 ñöôøng daây. Do caùc döõ lieäu ñöôïc truyeàn ñi töøng bit moät
neân toác ñoä truyeàn chaäm, caùc toác ñoä truyeàn coù theå laø 300, 600, 1200, 2400,
4800bps, 9600bps, chieàu daøi döõ lieäu coù theå laø 5, 6, 7 hoaëc 8 bit vaø keát hôïp
vôùi caùc bit Start, Stop, Parity taïo thaønh moät khung (frame). Ngoaøi ra coång
naøy coøn coù caùc ñieàu khieån thu (Receive), phaùt (Trans), kieåm tra. Caùch giao
tieáp naøy cho pheùp khoaûng caùch truyeàn döõ lieäu xa, tuy nhieân toác ñoä truyeàn
raát chaäm toác ñoä toái ña laø 20kbps.
3. Giao tieáp qua coång PRINT (Coång maùy in):
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
IBM PC cho pheùp söû duïng ñeán 3 coång song song coù teân laø LP1, LP2
vaø LP3. Kieåu giao tieáp song song ñöôïc duøng ñeå truyeàn döõ lieäu giöõa maùy
tính vaø maùy in. Khaùc vôùi caùch giao tieáp qua Port Com, ôû caùch giao tieáp naøy
döõ lieäu ñöôïc truyeàn song song cuøng moät luùc 8 bit. Vì theá noù coù theå ñaït toác
ñoä cao. Connector cuûa Port naøy coù 25 chaân bao goàm 8 chaân döõ lieäu vaø caùc
ñöôøng tín hieäu baét tay (Handshaking ). Taát caû caùc ñöôøng Data vaø tín hieäu
ñieàu khieån ñeàu ôû möùc logic hoaøn toaøn töông thích vôùi möùc TTL. Hôn nöõa,
ngöôøi laäp trình coù theå ñieàu khieån cho pheùp hoaëc khoâng cho pheùp caùc tín
hieäu taïo Interrupt töø ngoõ vaøo neân vieäc giao tieáp ñôn giaûn vaø deã daøng. Tuy
nhieân, giao tieáp vôùi möùc logic TTL neân khoaûng caùch truyeàn bò haïn cheá so
vôùi caùch truyeàn qua Port Com, ñoàng thôøi caùp truyeàn cuõng phöùc taïp hôn. Ñoù
laø nhöôïc ñieåm cuûa caùch giao tieáp naøy.
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
CHÖÔNG II
GIÔÙI THIEÄU CHUAÅN RS-232C
Vaøo naêm 1960, cuøng vôùi söï phaùt trieån maïnh cuûa caùc thieát bò ñaàu cuoái
maùy tính chia seû thôøi gian, caùc Modem ñaõ ñöôïc tung ra ngaøy caøng nhieàu
nhaèm ñaûm baûo cho caùc thieát bò ñaàu cuoái coù theå duøng caùc ñöôøng ñieän thoaïi
ñeå thoâng tin giöõa caùc maùy tính vôùi nhau ôû nhöõng khoaûng caùch xa. Modem
vaø caùc thieât bò ñöôïc duøng ñeå göûi soá lieäu noái tieáp thöôøng ñöôïc goïi laø thieát bò
thoâng tin soá lieäu DCE (Datommunication Equipment). Caùc thieát bò ñaàu cuoái
hoaëc maùy tính ñang göûi hay nhaän soá lieäu ñöôïc goïi laø caùc thieát bò ñaàu soá lieäu
DTE (Data Terminal Equipment). Nhaèm ñaùp öùng vôùi nhu caàu veà tín hieäu vaø
caùc chuaån baét tay (handshake standards) giöõa DTE vaø DCE, hieäp hoäi kyõ
thuaät ñieän töû EIA ñaõ ñöa ra chuaån RS-232C. Chuaån naøy moâ taû chöùc naêng 25
chaân tín hieäu vaø baét tay cho vieäc chuyeån döõ lieäu noái tieáp. Noù cuõng moâ taû
caùc möùc ñieän aùp, trôû khaùng, toác ñoä truyeàn cöïc ñaïi vaø ñieän dung cöïc ñaïi cho
caùc ñöôøng tín hieäu naøy.
RS-232 aán ñònh 25 chaân tín hieäu, vaø quy ñònh caùc ñaàu noái DTE phaûi
laø male (ñöïc) vaø caùc ñaàu noái DCE phaûi laø female (caùi). Moät loaïi ñaàu noái
ñaëc bieät khoâng ñöôïc cho, nhöng thöôøng duøng nhieàu nhaát laø ñaàu noái mele
DB-25P (hình 2-1). Ngoaøi ra, ñoái vôùi nhieàu heä thoáng coøn duøng loaïi 9 chaân
nhö loaïi DE-9P mele (hình 2-2).
Hình 2-1
Hình 2-2
Ñöôïc EIA ñöa vaøo naêm 1969 ñeå truyeàn döõ lieäu noái tieáp vaø tín hieäu
ñieàu khieån giöõa Modem vaø thieát bò ñaàu cuoái (hoaëc maùy tính) vôùi toác ñoä
truyeàn toái ña laø 20kbps ôû cöï ly khoaûng 15m. ñaây laø moät daïng giao tieáp loaïi
TTL + boä kích ñöôøng daây khoâng caân baèng.
Vieäc moâ taû chuaån naøy ñöôïc chia laøm ba phaàn: Caùc ñaëc ñieåm kyõ thuaät
veà ñieän, moâ taû caùc ñöôøng döõ lieäu ñieàu khieån vaø söû duïng boä keát noái chaân ra.
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
I _ ÑAËC ÑIEÅM KYÕ THUAÄT VEÀ ÑIEÄN CUÛA RS232C
IN
NUMBER
S
FOR 9
PINS
3
2
7
8
6
5
1
4
9
PIN
COMMON
NUMBERS
NAME
FOR 25
PINS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
TxD
RxD
RTS
CTS
DSR
GND
CD
RS232C
NAME
AA
BA
BB
CA
CB
CC
AB
CF
SCF
SCB
SBA
ÑB
SBB
DTR
SCA
CD
CG
CE
CH/CI
DA
Hình 2-3 Qui ñònh veà chaân cuûa RS232C
SIGNAL
DIRECTIO
N
ON DCE
IN
OUT
IN
OUT
OUT
OUT
OUT
OUT
IN
OUT
OUT
OUT
IN
IN
OUT
OUT
IN/OUT
IN
-
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
Möùc ñieän aùp logic cuûa RS-232C laø khoaûng ñieän aùp giöõa +15V vaø
–
15V. Caùc ñöôøng döõ lieäu söû duïng möùc logic aâm: logic 1 coù ñieän theá giöõa –
5V vaø –15V, logic 0 coù ñieän theá giöõa +5V vaø +15V. tuy nhieân caùc ñöôøng
ñieàn khieån (ngoaïi tröø ñöôøng TDATA vaø RDATA) söû duïng logic döông: gía
trò TRUE = +5V ñeán +15V vaø FALSE =-5V ñeán –15.
ÔÛ chuaån giao tieáp naøy, giöõa ngoõ ra boä kích phaùt vaø ngoõ vaøo boä thu coù
möùc nhieãu ñöôïc giôùi haïn laø 2V. Do vaäy ngöôõng lôùn nhaát cuûa ngoõ vaøo laø
±3V traùi laïi möùc ± 5V laø ngöôõng nhoû nhaát vôùi ngoõ ra. Ngoõ ra boä kích phaùt
khi khoâng taûi coù ñieän aùp laø ± 25V.
Caùc ñaëc ñieåm veà ñieän khaùc bao goàm
RL (ñieän trôû taûi) ñöôïc nhìn töø boä kích phaùt coù giaù trò töø 3 ÷ 7kΩ.
CL (ñieän dung taûi) ñöôïc nhìn töø boä kích phaùt khoâng ñöôïc vöôït quaù
2500pF.
Ñeå ngaên caûn söï dao ñoäng quaù möùc, toác ñoä thay ñoåi (Slew rate ) cuûa
ñieän aùp khoâng ñöôïc vöôït quùa 30V/µs.
Ñoái vôùi caùc ñöôøng ñieàu khieån, thôøi gian chuyeån cuûa tín hieäu (töø
TRUE sang FALSE, hoaëc töø FALSE sang TRUE ) khoâng ñöôïc vöôït quùa
1ms. Ñoái vôùi caùc ñöôøng döõ lieäu, thôøi gian chuyeån (töø 1 sang 0 hoaëc töø 0
sang 1) phaûi khoâng vöôït quùa 4% thôøi gian cuûa 1 bit hoaëc 1ms.
II _ CAÙC ÑÖÔØNG DÖÕ LIEÄU VAØ ÑIEÀU KHIEÅN CUÛA RS232
- TxD: Döõ lieäu ñöôïc truyeàn ñi töø Modem treân maïng ñieän thoaïi.
- RxD: Döõ lieäu ñöôïc thu bôûi Modem treân maïng ñieän thoaïi.
Caùc ñöôøng baùo thieát bò saün saøng:
- DSR : Ñeå baùo raèng Modem ñaõ saün saøng.
- DTR : Ñeå baùo raèng thieát bò ñaàu cuoái ñaõ saün saøng
- Caùc ñöôøng baét tay baùn song coâng.
- RTS : Ñeå baùo raèng thieát bò ñaàu cuoái yeâu caàu phaùt döõ lieäu.
- CTS : Modem ñaùp öùng nhu caàu caàn göûi döõ lieäu cuûa thieát bò ñaàu cuoái
cho thieát bò ñaàu cuoái coù theå söû duïng keânh truyeàn döõ lieäu. Caùc ñöôøng
traïng thaùi soùng mang vaø tín hieäu ñieän thoaïi:
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
- CD : Modem baùo cho thieát bò ñaàu cuoái bieát raèng ñaõ nhaän ñöôïc moät
soùng mang hôïp leä töø maïng ñieän thoaïi.
- RI : Caùc Modem töï ñoäng traû lôøi baùo raèng ñaõ phaùt hieän chuoâng töø maïng
ñieän thoaïïi ñòa chæ ñaàu tieân coù theå tôùi ñöôïc cuûa coång noái tieáp ñöôïc goïi laø
ñòa chæ cô baûn (Basic Address). Caùc ñòa chæ ghi tieáp theo ñöôïc ñaët tôùi
baèng vieäc coäng theâm soá thanh ghi ñaõ gaëp cuûa boä UART vaøo ñòa chæ cô
baûn.
- Möùc tín hieäu treân chaân ra RxD tuøy thuoäc vaøo ñöôøng daãn TxD vaø thoâng
thöôøng naèm trong khoaûng –12 ñeán +12. Caùc bit döõ lieäu ñöôïc göûi ñaûo
ngöôïc laïi. Möùc ñieän aùp ñoái vôùi möùc High naèm giöõa –3V vaø –12V vaø
möùc Low naèm giöõa +3V vaø +12V. Treân hình 2-4 moâ taû moät doøng döõ
lieäu ñieån hình cuûa moät byte döõ lieäu treân coång noái tieáp RS-232C.
- ÔÛ traïng thaùi tónh treân ñöôøng daãn coù ñieän aùp –12V. Moät bit khôûi ñoäng
(Starbit) seõ môû ñaàu vieäc truyeàn döõ lieäu. Tieáp ñoù laø caùc bit döõ lieäu rieâng
leû seõ ñeán, trong ñoù caùc bit giaù trò thaáp seõ ñöôïc göûi tröôùc tieân. Coøn soá cuûa
caùc bit thay ñoåi giöõa 5 vaø 8. ÔÛ cuoái cuûa doøng döõ lieäu coøn coù moät bit
döøng (Stopbit) ñeå ñaët trôû laïi traïng thaùi ngoõ ra (-12V).
Starbit
LOW
Stopbit
+12V
D0 D1
-12V
1
1
10
4µS
0
D3
D5
1
0
D4 D5
0
1
D6
D5
D7
D5
HIGHT
0
T =1/fBaud
1.04ms
Hình 2-4: Doøng döõ lieäu treân coång RS 232 vôùi toác ñoä
9.600 baud
Ñòa chæ cô baûn cuûa coång noái tieáp cuûa maùy tính PC coù theå toùm taét
trong baûng caùc ñòa chæ sau:
COM 1 (coång noái tieáp thöù nhaát) Ñòa chæ cô baûn = 3F8(Hex)
COM 2 (coång noái tieáp thöù hai) Ñòa chæ cô baûn = 2F8(Hex)
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
COM 3 (coång noái tieáp thöù ba) Ñòa chæ cô baûn = 3E8(Hex)
COM 4 (coång noái tieáp thöù tö) Ñòa chæ cô baûn = 2E8(Hex)
Cuõng nhö ôû coång maùy in, caùc ñöôøng daãn tín hieäu rieâng bieät cuõng cho
pheùp trao ñoåi qua caùc ñòa chæ trong maùy tính PC. Trong tröôøng hôïp naøy,
ngöôøi ta thöôøng söû duïng nhöõng vi maïch coù möùc ñoä tích hôïp cao ñeå coù theå
hôïp nhaát nhieàu chöùc naêng treân moät chip. ÔÛ maùy tính PC thöôøng coù moät boä
phaùt/nhaän khoâng ñoàng boä vaïn naêng (goïi taét laø UART: Universal
Asnchronous Receiver/ Transmitter) ñeå ñieàu khieån söï trao ñoåi thoâng tin
giöõa maùy tính vaø caùc thieát bò ngoaïi vi. Phoå bieán nhaát laø vi maïch 8250 cuû a
haõng NSC hoaëc caùc theá heä tieáp theo.
Thoâng thöôøng vôùi caùc yeâu caàu öùng duïng toác ñoä thaáp ngöôøi ta giao
tieáp qua ngoõ noái tieáp, noù giao tieáp theo tieâu chuaån RS232C vaø duøng ñeå giao
tieáp giöõa maùy tính vôùi Modem hoaëc Mouse. Ngoaøi ra cuõng coù theå duøng
giao tieáp vôùi printer hay plotter nhöng khoâng thoâng duïng laém bôûi toác ñoä
truyeàn quaù chaäm. Ñoái vôùi maùy AT cho ta hai ngoõ giao tieáp COM1 vaø
COM2. Trong moät soá card I/O ta coù theå coù ñeán 4 coång COM.
Ñeå giao tieáp noái tieáp vôùi 2 ngoõ COM naøy Bus heä thoáng cuûa CPU
(Data Bus vaø Address Bus) haõng IBM söû duïng hai Chip laäp trình cuûa Intel
laø 8250 UART (Universal Asynchronus Receiver Transmitter). Ñòa chæ theo
boä nhôù cuûa hai Chip naøy laø 0040:0000 cho UART cuûa ngoõ COM1 vaø
0040:0002 cho UART cuûa ngoõ COM2 (Ñòa chæ logic do heä ñieàu haønh chæ
ñònh) vaø ñòa chæ theo Port ñeå truy xuaát khi söû duïng laø 3F8-3FF cho COM1
vaø 2F8-2FF cho COM2.
Döõ lieäu truyeàn qua cho Port COM döôùi daïng noái tieáp töøng Bit moät,
ñôn vò döõ lieäu coù theå laø 5 Bit, 6 Bit hay 1 byte tuøy theo söï caøi ñaët luùc khôûi
taïo Port COM. Ngoaøi ra ñeå truyeàn döõ lieäu qua Port COM coøn caàn nhöõng
tham soá sau: Bit môû ñaàu cho moät ñôn vò döõ lieäu START Bit. STOP Bit (Bit
keát thuùc). Parity (Kieåm tra chaün leû). Baud Rate (Toác ñoä truyeàn) taïo thaønh
moät Frame (Khung truyeàn).
Port COM laø moät theå khôûi taïo baèng BIOS thoâng qua chöùc naêng 0 cuûa
Interrupt 14, naïp vaøo thanh ghi DX1 chæ soá choïn keânh (COM1 = 0, COM2
= 1). Thanh ghi AL ñöôïc naïp vaøo caùc tham soá cuûa vieäc truyeàn döõ lieäu.
A L D7
D6 D5 D4 D3 D2 D1 D0
Bit D0 D1 : Cho bieát ñoä roäng cuûa döõ lieäu
0 0 : Döõ lieäu coù ñoä roäng 5 Bit
LUAÄN VAÊN TOÁT NGHIEÄP
0 1
1 0
1 1
SVTH : NGUYEÃN THÒ CHÍNH
: Döõ lieäu coù ñoä roäng 6 Bit
: Döõ lieäu coù ñoä roäng 7 Bit
: Döõ lieäu coù ñoä roäng 8 Bit.
Bit D2
0
1
: Cho bieát soá Stop Bit.
: Söû duïng moät bit Stop
: Söû duïng hai bit Stop
Bit D3 D4
0 0
1 1
0 1
1 0
:
:
:
:
:
Caùc Bit parity (chaün leû)
Khoâng kieåm tra tính Parity
Khoâng kieåm tra tính Parity
Odd (leû)
Even (chaün)
Bit D5D6D7 : Cho bieát toác ñoä truyeàn (Baud Rate)
0 0 0 : Toác ñoä truyeàn 110bps (bit per second)
0 0 1 : Toác ñoä truyeàn 150bps (bit per second)
0 1 0 : Toác ñoä truyeàn 300bps (bit per second)
0 1 1 : Toác ñoä truyeàn 600bps (bit per second)
1 0 0 : Toác ñoä truyeàn 1200bps (bit per second)
1 0 1 : Toác ñoä truyeàn 2400bps (bit per second)
1 1 0 : Toác ñoä truyeàn 4800bps (bit per second)
1 1 1 : Toác ñoä truyeàn 9600bps (bit per second)
III _ MODEM ROÃNG CUÛA RS232C
Maëc duø chuaån RS_232C cuûa EIA ñöôïc daønh rieâng ñeå aùp duïng keát noái
giöõa Modem vôùi thieát bò ñaàu cuoái, nhöng moät thueâ bao cuûa RS_232C cuõng
thöôøng ñöôïc söû duïng khi hai thieát bò ñaàu cuoái ñöôïc noái vôùi nhau, hoaëc moät
maùy tính vaø moät maùy in maø khoâng söû duïng caùc Modem.
Trong nhöõng tröôøng hôïp nhö vaäy, caùc ñöôøng TxD vaø RxD phaûi ñöôïc
ñaët cheùo nhau vaø caùc ñöôøng ñieàu khieån caàn thieát phaûi ñöôïc ñaët ôû TRUE
hoaëc phaûi ñöôïc traùo ñoåi thích hôïp beân trong caùp keát noái. Söï noái laép caùp cuûa
RS232C maø coù söï traùo ñoåi ñöôøng daây ñöôïc goïi laø Modem roãng (null
Modem).
Caùp nhö vaäy thích hôïp ñeå noái tröïc tieáp 2 thieát bò DTE qua caùc port
RS232C. Hai sô ñoà coù theå keát noái laãn nhau ñöôïc trình baøy trong hính 2-5 vaø
hình 2-6 chuù yù raèng trong tröôøng hôïp ñôn giaûn nhaát chæ caàn keát noái 4 daây
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
laãn nhau, trong thöïc teá 2 ñöôøng daây ñaát (SIG GND 0 vaø CHAS GND)
thöôøng ñöôïc keát hôïp laïi, maëc duø ñieàu naøy khoâng ñöôïc ñeà caäp tôùi.
IV _ CAÙC IC KÍCH PHAÙT VAØ THU CUÛA RS232C
Nhôø tính phoå bieán cuûa giao tieáp, ngöôøi ta ñaõ cheá taïo caùc IC kích phaùt
vaø thu. Hai vi maïch nhö vaäy ñöôïc Motorola saûn xuaát laø IC kích phaùt MC
1488 coù daïng voû vuoâng. Vaø MC 1489.Moãi IC kích phaùt 1488 nhaän moät tín
hieäu möùc TTL vaø chuyeån thaønh tín hieäu ôû ngoõ ra töông thích vôùi möùc ñieän
aùp cuûa RS232C. IC 1489 phaùt hieän caùc möùc vaøo cuûa RS232C vaø chuyeån
chuùng thaønh caùc ngoõ ra coù möùc TTL.
V _ MINH HOÏA THOÂNG TIN NOÁI TIEÁP BAÁT ÑOÀNG BOÄ
Ñoái vôùi caùc maùy PC, caùc coång lieân laïc noái tieáp (serial port) coøn ñöôïc
goïi laø caùc coång COM. Hoaøn toaøn coù theå söû duïng caùc coång naøy ñeå keát noái
maùy PC vôùi caùc maùy tính khaùc, vôùi caùc Modem, caùc maùy in, maùy veõ, caùc
thieát bò ñieàu khieån, mouse, maïng …
Taát caû caùc maùy tính PC coù khaû naêng laøm vieäc toái ña laø 4 coång noái
tieáp khi söû duïng caùc card giao tieáp I/O chuaån. Caùc coång noái tieáp thöôøng
ñöôïc thieát keá theo caùc qui ñònh RS-232 theo caùc yeâu caàu veà ñieän vaø veà tín
hieäu. BIOS chæ hoã trôï caùc coång noái tieáp RS-232C. Coøn caùc chuaån khaùc nhö:
RS-422, BiSync, SDLC, IEEE-488 (GPIB),… caàn phaûi coù caùc trình ñieàu
khieån thieát bò boå sung ñeå hoã trôï.
2
3
20
DTE A
6
4
5
8
1
7
TxD
TxD
RxD
2
RxD
DTR
DTR
DSR
DSR
RTS
RTS
CTS
CTS
CD
CD
SIGNAL GND
CHAS GND
HÌNH 2-5
3
20
6
4
DTE B
5
8
7
1
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
Toác ñoä toái ñoä cuûa coång noái tieáp tuøy thuoäc vaøo boä phaùt toác ñoä Baud
trong card giao tieáp coång noái tieáp, phaàn meàm BIOS, vaø heä thoáng coù theå thöïc
hieän chöông trình BIOS noái tieáp nhanh ñeán möùc naøo. Ngoaøi ra, neáu heä
thoáng ñang xöû lyù chöông trình khaùc coù ñoä öu tieân cao hôn thì toác ñoä tin caäy
coù theå bò suy giaûm ñaùng keå.
Hoaït ñoäng cuûa coång noái tieáp chuû yeáu cuõng ñöôïc xöû lyù bôûi 1 chip
UART. Caùc thieát keá ban ñaàu ñaõ söû duïng moät chip NS-8250. Caùc thieát bò sau
naøy chuyeån sang moät phieân baûn CMOS, chip 1650, coù chöùc naêng hoaït ñoäng
gioáng nhö 8250. Moät soá thieát bò môùi söû duïng chip 16550 hay caùc bieán theå
khaùc nhaèm boå sung theâm vieäc ñeäm döõ lieäu ñeå giaûm bôùt gaùnh naëng cho
CPU.
Moät phaàn cuûa BIOS heä thoáng (ngaét 14 h) cung caáp caùc dòch vuï ñeå
lieân laïc vôùi caùc card giao tieáp noái tieáp.
Gioáng nhö caùc coång song song, POST (Power on Self Test- chöông
trình cuûa BIOS töï kieåm tra caáu hình heä thoáng khi baät maùy) kieåm tra xem
lieäu moät coång noái tieáp coù ñöôïc gaén vaøo heä thoáng khoâng, vaø ghi laïi caùc ñòa
chæ I/O cuûa caùc coång hoaït ñoäng trong vuøng döõ lieäu cuûa BIOS. Taát caû caùc heä
thoáng ñeán 4 coång noái tieáp, BIOS khoâng hoã trôï caùc coång boå sung theâm khaùc.
Ñeå truy suaát phaàn cöùng cuûa moät coång noái tieáp, caàn ñoïc moät trong 4 töø
(word) trong vuøng döõ lieäu BIOS chöùa ñòa chæ I/O cô sôû ñoái vôùi 4 coång noái
tieáp coù theå coù.
Ví duï: Ñeå truy suaát coång noái tieáp soá 2, tröôùc tieân phaûi ñoïc ñòa chæ
coång I/O cô sôû töø vuøng döõ lieäu BIOS. Ñieàu naøy coù nghóa laø moät coâûng noái
tieáp khoâng coù ñòa chæ coång I/O coá ñònh.
2
3
TxD
TxD
RxD
RxD
DTR
20
DTR
DSR
DSR
6
DTE A RTS
4
CTS
5 CTS
8
1
7
RTS
CTS
CD
CD
SIGNAL GND
CHAS GND
(o ptio nal)
HÌNH 2-6
2
3
20
6
4
DTE B
5
8
7
1
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
a. Löaï choïn coång COM
Moãi coång noái tieáp söû duïng 8 byte cuûa boä nhôù maùy PC vaø moät ngaét
phaàn cöùng ñaëc bieät. Vieäc söû duïng caùc ñòa chæ boä nhôù vaø ngaêùt phaàn cöùng naøy
laø ñieàu quan troïng ñoái vôùi ngöôøi laäp caùc chöông trình lieân laïc vaø caùc
chöông trình ñieàu khieån thieát bò ñoái vôùi caùc thieát bò noái tieáp.
Baûng sau moâ taû caùc ñòa chæ boä nhôù vaø caùc ngaét phaàn cöùng ñoái vôùi 4
coång noái tieáp chuaån cho caùc maùy tính töông thích vôùi maùy tính PC. Thoâng
tin quan troïng nhaát ôû ñaây laø ñòa chæ cô sôû, laø ñòa chæ boä nhôù ñaàu tieân trong
moãi coång COM (vuøng ñeäm phaùt/thu – Transmit/ Receive Buffer) ñòa chæ cuûa
ñöôøng yeâu caàu ngaét (IRQ) ñoái vôùi moãi coång.
Moät thieát bò noái tieáp chæ coù theå söû duïng moät ñòa chæ coång COM. Khi
caøi ñaët moät Modem noäi trong maùy PC, hay baát kyø thieát bò naøo khaùc söû duïng
coång noái tieáp cho giao dieän cuûa noù, tröôùc tieân phaûi ñaûm baûo raèng ñaõ xaùc laäp
noù ñoái vôùi moät coång COM (bao goàm ñòa chæ vaø soá IRQ).
COM
1
IRQ4
3F8
COM
2
IRQ3
2F8
COM
3
IRQ4
3E8
COM
4
IRQ3
2E8
3F9
2F9
3E9
2E9
3FA
3FB
3FC
3FD
3FE
2FA
2FB
2FC
2FD
2FE
3EA
3EB
3EC
3ED
3EE
2EA
2EB
2EC
2ED
2EE
Moâ taû
Interrupt Request Line
Transmit/Receive Buffer vaø LSB of the
Divisor Latch
Interrupt Enable Register vaø MSB of the
Divisor Latch
Interrupt Identification Registers
Line Control Register
Modem Control Register
Line Status Register
Modem Status Register
b. Hoaït ñoäng cuûa coång noái tieáp.
Söï khôûi ñoäng cuûa BIOS.
Sau khi baät maùy (hay Reset maùy), chöông trình POST kieåm tra xem
lieäu coù baát kyø coång noái tieáp naøo ñöôïc caøi ñaët hay khoâng. POST khaûo saùt
nhoùm coång I/O: 3F8 3FEh. Ñeå phaùt hieän moät coång hoaït ñoäng, thanh ghi
IIR (Interrupt Identification Register) ñöôïc ñoïc töø coång 3FAh hay 2FAh.
Neáu taát caû caùc bit töø 37 cuûa thanh ghi IIR ñeàu laø 0, thì POST xem nhö
coång noái tieáp coù hoaït ñoäng.
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
Moät khi ñaõ xaùc ñònh ñöôïc nhoùm coång I/O noái tieáp coù hoaït ñoäng, ñòa
chæ coång I/O cô sôû ñöôïc löu tröõ trong vò trí BIOS RAM coång noái tieáp chöa söû
duïng thaáp nhaát. Coù 4 töø ñöôïc daønh trong RAM baét ñaàu taïi ñòa chæ 40:0h ñeå
chöùa ñòa chæ I/O cuûa coång noái tieáp coù hoaït ñoäng. Nhieàu POST cuûa caùc haõng
cung caáp maùy seõ khoâng bao giôø kieåm tra caùc coång COM3 vaø COM4, vì IPM
khoâng ñònh nghóa moät ñòa chæ coång chuaån cho caùc coång naøy.
Noùi chung, haàu heát caùc heä thoáng chæ kieåm tra coù 2 coång. Tuy nhieân,
caùc heä thoáng cuøng hoï môùi hôn thöôøng kieåm tra 4 ñòa chæ coång coù theå coù.
Caùc heä thoáng MCA kieåm tra 8 ñòa chæ coång noái tieáp khaùc nhau coù theå coù
trong moät laàn thöû ñeå tìm ra 4 coång noái tieáp coù hoaït ñoäng.
Thöù töï kieåm
tra
Thöù 1
Thöù 2
Thöù 3
Thöù 4
Thöù 5
Thöù 6
Thöù 7
Thöù 8
Haàu heát heä
thoáng
3F8
2F8
Khoâng
Khoâng
Khoâng
Khoâng
Khoâng
Khoâng
Moät soá heä thoáng
AT vaø EISA
3F8
2F8
Khoâng
Khoâng
Khoâng
Khoâng
Khoâng
Khoâng
Caùc heä thoáng
MCA
3F8
2F8
3220h
3228h
4220h
4228h
5220h
5228h
Baûng treân moâ taû thöù töï theo ñoù caùc BIOS seõ tìm kieám caùc coång hoaït
ñoäng. Chæ coång I/O cô sôû ñoái vôùi moãi nhoùm ñöôïc hieån thò trong baûng naøy.
Treân heä thoáng MCA, moät khi 4 coång ñaõ ñöôïc tìm thaáy, caùc coång khaùc
khoâng ñöôïc kieåm tra nöõa.
Khi hoaøn taát caùc coâng vieäc kieåm tra POST noái tieáp, caùc ñòa chæ coång
noái tieáp ñöôïc caát giöõ. Ñieàu naøy thöôøng taïo ra moät trong 4 tröôøng hôïp ñöôïc
moâ taû trong baûng sau:
Ñòa
chæ
RAM
40:0h
40:2h
40:4h
Coång
noái
tieáp
1
2
3
Tröôøng hôïp Tröôøng hôïp Tröôøng hôïp Tröôøng hôïp
1 Ñòa chæ
2 Ñòa chæ
3 Ñòa chæ
4 Ñòa chæ
I/O
I/O
I/O
I/O
3F8
3F8
2F8
0
2F8
0
0
0
0
0
0
0
LUAÄN VAÊN TOÁT NGHIEÄP
40:6h
4
SVTH : NGUYEÃN THÒ CHÍNH
0
0
0
0
Caùc keát quaû POST coù theå coù veà vieäc phaùt hieän coång noái tieáp.
- Tröôøng hôïp 1
: Moâ taû POST phaùt hieän 2 coång noái tieáp.
- Tröôøng hôïp 2 vaø 3 : Cho thaáy chæ coù moät coång noái tieáp ñöôïc phaùt
hieän.
- Tröôøng hôïp 4
: Cho thaáy khoâng phaùt hieän ñöôïc coång noái tieáp
naøo.
Caùc pheùp thöû naøy khoâng khaúng ñònh lieäu coù moät thieát bò noái tieáp thöïc
söï ñöôïc noái vôùi coång I/O hay khoâng. Pheùp thöû chæ kieåm tra xem lieäu phaàn
cöùng coång noái tieáp coù toàn taïi hay khoâng taïi moät ñòa chæ I/O cuï theå. Toång soá
coång noái tieáp hoaït ñoäng ñöôïc phaùt hieän thaáy (0 4) ñöôïc caát giöõ trong byte
thieát bò taïi ñòa chæ BIOS RAM 40:10h töø caùc bit 9 11.
Quaù trình phaùt noái tieáp
Ñeå phaùt moät byte treân ñöôøng daây keát noái noái tieáp, coång ñöôïc giaû ñònh
laø ñaõ ñöôïc khôûi söï vôùi toác ñoä baud vaø caùc phaàn choïn khung (Frame) noái
tieáp thích hôïp. Chuùng ta cuõng giaû ñònh raèng caùc byte seõ ñöôïc phaùt ñi treân
coång noái tieáp soá 1 (COM1).
1. Tröôùc tieân, xaùc ñònh ñòa chæ cô sôû coång I/O baèng caùch ñoïc moät töø (Word)
töø vuøng döõ leäu BIOS taïi 40:OH ñoái vôùi coång noái tieáp COM1. Neáu trò = 0:
Khoâng coù coång noái tieáp hoaït ñoäng naøo ñöôïc gaén ôû ñaây vaø dó nhieân
khoâng coù döõ lieäu naøo ñöôïc göûi ñi.
2. Hai ñöôøng ñieàu khieån MODEM laø DTR (DATA Terminal Ready) vaø
RTS (Request to Send) ñöôïc xaùc laäp leân möùc cao (DTR = 1, RTS = 1).
- DTR thoâng baùo cho thieát bò keát noái bieát raèng maùy tính ñang hoaït
ñoäng vaø saün saøng ñeå lieân laïc.
- RTS baùo cho thieát bò keát noái bieát raèng maùy tính muoán göûi döõ lieäu.
- Hai ñöôøng naøy ñöôïc kích khôûi baèng caùch ghi trò 3 thanh ghi MCR
(MODEM control Regester) cuûa UART.
3. Keá ñoù, kieåm tra hai ñöôøng traïng thaùi CTS (Clear To Send). Nhöõng
ñöôøng naøy naèm trong caùc bit 4 vaø 5 cuûa thanh ghi MSR (MODEM Status
Regester).
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
- DSR baùo cho maùy tính bieát thieát bò keát noái ñaõ ñöôïc baät leân vaø saün
saøng.
- CTS baùo cho maùy tính bieát raèng thieát bò keát noái ñaõ saün saøng ñoái vôùi
döõ lieäu.
- Caùc ñöôøng traïng thaùi naøy neân ñöôïc kieåm tra trong 2ms hay cho ñeán
khi caû hai ñeàu chuyeån sang möùc cao. Khi caû hai ñöôøng naøy ñeàu ôû
möùc cao, thieát bò ñöôïc keát noái vôùi coång noái tieáp ñaõ baùo hieäu cho bieát
noù ñaõ saün saøng cho moät byte. Moät loãi ñaùo haïn (timeout error) ñöôïc
baùo hieäu bôûi phaàn meàm neáu moät trong hai ñöôøng daãn coøn ôû möùc thaáp
laâu hôn khoaûng 2ms.
4. Ñeán ñaây thieát bò keát noái ñaõ saün saøng tieáp nhaän moät byte, UART phaûi
ñöôïc kieåm tra xem lieäu thanh ghi chöùa döõ lieäu phaùt THR (Transmit
Holding Regester) ñaõ saün saøng coù moät byte chöa. Thanh ghi LSR (Line
Status Regester), bit 5, ñöôïc xaùc laäp leân möùc cao khi thanh ghi chöùa döõ
lieäu naøy troáng roãng vaø saün saøng cho moät byte. Moät laàn nöõa, gioáng ôû
böôùc 3 neáu thanh ghi THR khoâng theå trôû neân höõu duïng trong 2ms, thì
phaàn meàm seõ baùo moät loãi ñaùo haïn, vaø boû qua vieäc phaùt ñi.
5. Neáu cho ñeán baây giôø chöa xaûy ra vieäc ñaùo haïn, byte coù theå ñöôïc göûi ñeán
thanh ghi chöùa döõ lieäu phaùt cuûa UART.
6. Sau ñoù, UART phaùt byte töø thanh ghi chöùa döõ lieäu phaùt vaøo thanh ghi
dòch TSR (töø ñaây caùc bit döõ lieäu ñöôïc dòch ra vaø göûi ñi), vaø taïo daïng
khung noái tieáp.
Quaù trình nhaïân noái tieáp.
Ñeå nhaän 1 byte töø ñöôøng daây keát noái noái tieáp, coång ñöôïc giaû ñònh nhö
treân (cho coång COM3):
1. Tröôùc tieân, xaùc ñònh ñòa chæ cô sôû coång I/O baèng caùch ñoïc moät töø (Word)
töø vuøng döõ lieäu BIOS taïi 40:4H ñoái vôùi coång noái tieáp COM3. Neáu trò = 0:
Khoâng coù coång noái tieáp hoaït ñoäng naøo ñöôïc gaén ôû ñaây vaø dó nhieân
khoâng coù döõ lieäu naøo ñöôïc göûi ñi.
2. Hai ñöôøng ñieàu khieån MODEM laø DTR (DATA Terminal Ready) vaø
RTS (Request to Send) ñöôïc xaùc laäp leân möùc cao (DTR = 1, RTS = 1).
- Ñieàu naøy thoâng baùo cho thieát bò keát noái bieát raèng maùy tính ñang hoaït
ñoäng vaø saün saøng lieân laïc. Ñieàu naøy ñöôïc thöïc hieän baèng caùch ghi trò
1 caùc thanh ghi MMC cuûa UART.
3. Keá ñoù kieåm tra tín hieäu treân ñöôøng traïng thaùi DSR. Tín hieäu naøy xuaát
hieän trong bit 5 cuûa thanh ghi MSR. DSR baùo cho maùy tính bieát raèng
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
thieát bò keát noái ñaõ ñöôïc baät leân vaø saün saøng. DSR seõ ñöôïc kieåm tra cho
ñeán khi noù leân möùc cao hay cho ñeán khi heát 2ms tröôùc khi moät loãi ñaùo
haïn ñöôïc baùo hieäu.
4. Keá ñoù, vuøng ñeâïm nhaän ñöôïc kieåm tra ñeå xem döõ lieäu ñaõ nhaän ñöôïc döõ
lieäu naøo chöa. Bit 0 cuûa thanh ghi LSR chöùa moät côø hieäu baùo döõ lieäu ñaõ
saün saøng. Noù ñöôïc xeùt leân 1 khi vuøng ñeäm coù döõ lieäu. Neáu côø baùo döõ
lieäu saün saøng khoâng ñöôïc xeùt sau 2ms, thì phaàn meàm seõ khai baùo moät loãi
ñaùo haïn, vaø taùc vuï bò boû qua.
5. Neáu cho ñeán baây giôø chöa xaûy ra vieäc ñaùo haïn, byte coù theå ñöôïc ñoïc töø
vuøng ñeäm nhaän cuûa UART.
- Trong cheá ñoä baát ñoàng boä, 8251 A dòch soá lieäu treân daây RxD töø bit
moät. Sau moãi bit, thanh ghi thu ñöôïc so saùnh vôùi thanh ghi chöùa kyù töï
SYN. Neáu hai thanh ghi chöa baèng nhau thì 8251 A dòch bit khaùc vaø
tieáp tuïc so saùnh cho ñeán khi hai thanh ghi baèng nhau. 8251 A keát thuùc
cheá ñoä baát ñoàng boä vaø ñöa tín hieäu SYNDET (Synch Detect) ñeå baùo
ñoàng boä ñaõ hoaøn taát.
- Neáu USART ñöôïc naïp töø ñieàu khieån ñeå laøm vieäc vôùi hai kyù töï
SYNC, quaù trình baát ñoàng boä cuõng nhö treân. Nhöng hai kyù töï keá tieáp
nhau seõ ñöôïc so saùnh vôùi hai kyù töï SYNC tröôùc khi ñaït ñöôïc söï ñoàng
boä. ÔÛ cheá ñoä baát ñoàng boä bit chaün/leû seõ khoâng phaûi kieåm tra. USART
ôû cheá ñoä ñuoåi baét ñoàng boä vôùi hai ñieàu kieän:
- USART ñöôïc khôûi ñoäng ôû cheá ñoä ñoàng boä.
- USART ñaõ nhaän leänh ôû cheá ñoä baát ñoàng boä.
Khoái phaùt
Khoái naøy nhaän soá lieäu song song töø ñôn vò trung taâm, cheøn theâm caùc
thoâng tin roài chuyeån sang noái tieáp vaø göûi ra thaân TxD (Transmiter
DATA).
- ÔÛ cheá ñoä baát ñoàng boä, khoái phaùt cheøn theâm bit START, bit kieåm tra
chaün leû paraty vaø moät hay hai bit STOP.
- Trong cheá ñoä ñoàng boä, khoái phaùt cheøn theâm caùc kyù töï SYNC. Nhöõng
kyù töï ñoàng boä naøy phaûi ñöôïc phaùt tröôùc khi baûn tin baét ñaàu. Neáu
trong khi phaùt coù khoaûng troáng giöõa hai kyù töï thì USART töï ñoäng
cheøn caùc kyù töï ñoàng boä vaøo.
- Trong caû hai cheá ñoä ñoàng boä vaø baát ñoàng boä, quaù trình phaùt chæ ñöôïc
cho pheùp khi tín hieäu TxE (Transmiter Enable) vaø tín hieäu CTS, ôû
LUAÄN VAÊN TOÁT NGHIEÄP
SVTH : NGUYEÃN THÒ CHÍNH
traïng thaùi tích cöïc. Neáu USART ñöôïc ñaët ôû cheá ñoä ñoàng boä töø ngoaøi,
chaân SYNDET seõ laø cöûa vaøo vaø nhaän tín hieäu ñeå ñoàng boä khi thu.
- Khoái phaùt coù theå göûi tín hieäu caét (BREAK). Ñoù laø moät chu kyø lieân tuïc
caùc bit SPACE treân ñöôøng daây lieân tuïc vaø ñöoïc duøng ôû cheá ñoä truyeàn
song coâng ñeå caét quaù trình göûi thoâng tin ôû ñaàu cuoái.
- USART seõ göûi tín hieäu caét lieân tuïc neáu bit D3 cuûa byte leänh ñöôïc
thieát laäp
Khoái ñieàu khieån Modem
Khoái naøy taïo vaø nhaän tín hieäu RTS (Request to Send).
Ngoaøi ra, coøn coù caùc tín hieäu ra DTR (Data Terminel Ready) vaø tín
hieäu vaøo DSR (Data Set Ready). Ñoù laø nhöõng tín hieäu vaïn naêng.
Tín hieäu DTR ñieàu khieån bôûi bit D2 bôûi byte leänh.
Tín hieäu DSR theå hieän ôû bit D7 cuûa thanh ghi traïng thaùi.
USART khoâng ñònh nghóa caùc tín hieäu naøy moät caùch cöùng ngaéc.
Thoâng thöôøng:
- Tín hieäu DTR qua Modem ñeå chæ raèng thieát bò ñaàu cuoái saün saøng truyeàn.
- DSR laø tín hieäu töø Modem ñeå chæ traïng thaùi saün saøng lieân laïc.
Khoái ñieàu khieån vaøo/ra
Logic ñieàu khieån ñoïc/ghi giaûi maõ caùc tín hieäu ñieàu khieån töø Bus ñieàu
khieån cuûa ñôn vò trung taâm thaønh nhöõng tín hieäu ñeàu khieån caùc coång daãn
soá lieäu ñeán Bus noäi cuûa USART.
Baûng sau cho bieát söï lieân quan giöõ caùc tín hieäu CE, C/D\ RD\
CE
0
0
0
0
1
C/D\
0
1
0
1
x
RD\
0
0
1
1
x
WR\
1
1
0
0
x
YÙ Nghóa
CPU ñoïc soá lieäu töø USART
CPU ñoïc traïng thaùi töø USART
CPU ghi soá lieäu vaøo USART
CPU ghi leänh vaøo USART
Bus cuûa USART ôû traïng thaùi trôû khaùng
cao
Khoái thu
Khoái thu nhaän döõ lieäu noái tieáp ôû chaân RxD vaø chuyeån thaønh soá lieäu
song song (P/PC). Tröôùc khi boä thu laøm vieäc, bit D2 trong Command
- Xem thêm -