Đồ án Kỹ thuật thu phát card giao tiếp máy tính
Lời mở đầu
Ngày nay, việc sử dụng máy tính trong lãnh vực điều khiển trở nên phổ biến và đã đem lại những kết quả đầy tính ưu việt. Các thiết bị, hệ thống đo lường và điều khiển ghép nối với máy tính đạt được độ chính xác cao, thời gian thu thập dữ liệu ngắn nhưng điều đáng quan tâm hơn là việc thu thập, xử lý dữ liệu và đưa ra kết quả được thực hiện một cách tự động.
Để các hệ thống đo lường và điều khiển ghép nối được với máy tính thì ngoài mạch điện của phần điều khiển còn cần phải có một mạch điện thực hiện việc giao tiếp với máy tính, đó là nhiệm vụ của các card giao tiếp. Ngoài ra cũng cần có chương trình để điều khiển card giao tiếp cũng như xử lý các kết quả nhận được.
Nội dung chủ yếu của đồ án này nhằm đưa ra cái nhìn tổng quát về việc thực hiện sự giao tiếp với máy tính thông qua các bản mạch gắn thêm vào các rãnh cắm trong máy tính (slot card) cũng như việc thực hiện một card giao tiếp với máy tính theo chuẩn ISA-là tiêu chuẩn phổ biến được dùng từ thế hệ PC XT và vẫn được dùng trong các thế hệ máy tính cực mạnh hiện nay.
Đồ án này được chia làm ba phần chính:
Phần I: Các rãnh cắm trong máy tính.
Phần II: Giao diện ghép nối với máy tính.
Phần III: Card giao tiếp máy tính.
21 trang |
Chia sẻ: banmai | Lượt xem: 1945 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Kỹ thuật thu phát card giao tiếp máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHAÀN I: caùc RAÕNH caém trong MAÙY TÍNH
I. Toång quan veà gheùp noái vôùi maùy tính:
Caùc thieát bò beân ngoaøi, caùc maïch ñieàu khieån baèng maùy tính ñeàu phaûi ñöôïc keát noái vôùi maùy tính. Treân maùy tính coù caùc coång ñeå thöïc hieän chöùc naêng naøy nhö: coång COM vaø coång LPT. Coång COM laø coång noái tieáp coøn coång LPT laø coång song song. Moät maùy tính thoâng thöôøng coù caùc coång laø COM1, COM2 vaø moät coång LPT1 - moät soá maùy coøn coù COM3, COM4 vaø LPT2. Nhöng thoâng thöôøng coång COM1 ñöôïc noái vaøo chuoät (mouse) vaø LPT1 ñöôïc noái vaøo maùy in (printer). Vieäc trao ñoåi thoâng tin theo phöông phaùp noái tieáp thöôøng chaäm vaø phöùc taïp hôn do phaûi ñoøi hoûi vieäc chuyeån tín hieäu töø noái tieáp ra song song vaø ngöôïc laïi. Vì theá coù moät caùch khaùc laø thieát keá moät card giao tieáp ñöôïc caém tröïc tieáp vaøo trong maùy tính, card naøy trao ñoåi döõ lieäu tröïc tieáp vôùi maùy tính vaø ta coù theå thöïc hieän ñöôïc nhieàu ngoõ vaøo/ra theo nhu caàu thöïc teá chöù khoâng bò giôùi haïn bôûi 1 bit (noái tieáp) hay 8 bit (song song) nhö caùc coång chuaån cuûa maùy tính nöõa.
II. Caùc raõnh caém trong maùy tính:
1. Giôùi thieäu veà caùc loaïi raõnh caém:
Caùc card gheùp noái ñöôïc ñöa theâm vaøo maùy tính ñeå môû roäng khaû naêng ñaùp öùng cuûa maùy tính. Beân trong maùy ngoaøi caùc raõnh caém duøng cho card vaøo/ra (I/O card), card maøn hình (Video card), card aâm thanh (Sound card),... vaãn coøn nhöõng raõnh caém ñeå troáng. Caùc raõnh caém naøy ñöôïc tieáp tuïc duøng ñeå gheùp noái vôùi caùc baûn maïch caém theâm vaøo maùy tính.
ÔÛ maùy tính PC/XT raõnh caém trong maùy tính chæ coù moät loaïi vôùi ñoä roäng bus laø 8 bit vaø tuaân theo tieâu chuaån ISA (Industry Standard Architecture). Töø maùy tính AT trôû ñi, vieäc boá trí chaân treân raõnh caém trôû neân phöùc taïp hôn tuøy theo tieâu chuaån ñöôïc löïa choïn khi cheá taïo maùy tính. Caùc loaïi raõnh caém theo nhöõng tieâu chuaån khaùc nhau coù theå keå ra nhö sau:
Raõnh caém 16 bit theo tieâu chuaån ISA (Industry Standard Architecture).
Raõnh caém PS/2 16 vôùi bit theo tieâu chuaån MCA (Micro Channel Architecture).
Raõnh caém PS/2 vôùi 32 bit theo tieâu chuaån MCA (Micro Channel Architecture).
Raõnh caém 32 bit theo tieâu chuaån EISA (Extended Industry Standard Architecture).
Raõnh caém 32 bit theo tieâu chuaån VLB (VESA Local Bus-Standard).
Raõnh caém 32/64 bit theo tieâu chuaån PCI (Perpheral Component Interconnect- Standard).
2. Raõnh caém ISA (Industry Standard Architecture):
Phaàn lôùn caùc card gheùp noái thoâng duïng thöôøng ñöôïc cheá taïo theo tieâu chuaån ISA. Thoàn thöôøng, raõnh caém coù 62 ñöôøng tín hieäu duøng cho muïc ñích thoâng tin vôùi moät card caém vaøo. Veà cô baûn, caùc ñöôøng tín hieäu naøy ñöôïc chia thaønh caùc ñöôøng döõ lieäu, ñöôøng ñòa chæ vaø ñöôøng ñieàu khieån. Vì ngay töø caùc maùy tính PC/XT ñaõ saün coù caùc raõnh caém 62 chaân naøy, treân ñoù coù 8 ñöôøng daãn döõ lieäu neân ñoâi khi ngöôøi ta cuõng goïi luoân raõnh caém naøy laø raõnh caém 8 bit. Chæ nhöõng card 8 bit môùi ñöôïc caém vaøo raõnh naøy. Sau ñaây laø söï saép xeáp chaân ra cuûa raõnh caém 8 bit.
Phía maïch in
Phía linh kieän
GND
B01
A01
/IOCHCK
Reset
B02
A02
D7
+ 5V
B03
A03
D6
IRQ2
B04
A04
D5
-5V
B05
A05
D4
DREQ2
B06
A06
D3
-12V
B07
A07
D2
Döï tröõ
B08
A08
D1
+12V
B09
A09
D0
GND
B10
A10
/IOCHRDY
/MEMW
B11
A11
AEN
/MEMR
B12
A12
A19
/IOW
B13
A13
A18
/IOR
B14
A14
A17
/DACK3
B15
A15
A16
DREQ3
B16
A16
A15
/DACK1
B17
A17
A14
DREQ1
B18
A18
A13
/DACK0
B19
A19
A12
CLK
B20
A20
A11
IRQ7
B21
A21
A10
IRQ6
B22
A22
A9
IRQ5
B23
A23
A8
IRQ4
B24
A24
A7
IRQ3
B25
A25
A6
/DACK2
B26
A26
A5
TC
B27
A27
A4
ALE
B28
A28
A3
+5V
B29
A29
A2
OSC
B30
A30
A1
GND
B31
A31
A0
Veà sau maùy tính PC/AT ra ñôøi, chuùng coù theâm moät raõnh thöù hai naèm thaúng haøng vôùi raõnh 8 bit keå treân vaø coù 36 chaân. Treân raõnh naøy coù chöùa caùc tín hieäu 16 bit neân khi coù theâm raõnh caém naøy thì ngöôøi ta goïi chung caû hai raõnh caém laø raõnh caém 16 bit. Caùc raõnh caém töø 32 bit trôû leân duøng ñeå gheùp theâm vaøo nhöõng card coù chaát löôïng raát cao. Döôùi ñaây laø söï saép xeáp chaân ra cuûa raõnh caém thöù hai:
Phía maïch in
Phía linh kieän
/MEM CS16
D01
C01
/SBHE
/IO CS16
D02
C02
LA23
IRQ10
D03
C03
LA22
IRQ11
D04
C04
LA21
IRQ12
D05
C05
LA20
IRQ13
D06
C06
LA19
IRQ14
D07
C07
LA18
/DACK4
D08
C08
LA17
DREQ0
D09
C09
/MEMR
/DACK5
D10
C10
/MEMW
DRQ5
D11
C11
SD8
/DACK6
D12
C12
SD9
DREQ6
D13
C13
SD10
/DACK7
D14
C14
SD11
DREQ7
D15
C15
SD12
+5V
D16
C16
SD13
/MASTER
D17
C17
SD14
GND
D18
C18
SD15
Kích thöôùc toái ña cuûa card ISA 8 bit laø 106,7 x 333,5 x 12,7 mm (h x l x w).
Kích thöôùc toái ña cuûa card ISA 16 bit laø 121,9 x 333,5 x 12,7 mm (h x l x w).
3. Raõnh caém 32 bit EISA (Extended Industry Standard Architecture):
Kích thöôùc thoâng duïng cuûa moät card EISA laø: 127x333,5x12,7 mm (h x l x w). Töø kích thöôùc naøy ta thaáy moät card ISA coù theå caém vöøa raõnh caém EISA. Raõnh naøy vöøa coù theå chaáp nhaän caùc caùc card ISA 8 vaø 16 bit vöøa duy trì cheá ñoä hoaït ñoäng 32 bit cuûa card gheùp noái tuaân theo ñuùng chuaån EISA. Raõnh caém EISA ñöôïc duøng cho boä vi xöû lyù 80386DX vaø caùc theá heä keá tieáp.
Söï saép xeáp chaân ra treân raõnh caém EISA coù daïng töông töï nhö cuûa raõnh caém ISA chæ khaùc ôû vò trí cuï theå vaø teân goïi cuûa caùc chaân, sau ñaây laø söï saép xeáp caùc chaân ra:
EISA
ISA
Phía maïch in
Phía linh kieän
ISA
EISA
GND
GND
B01
A01
/IOCHCK
CMD
+5V
Reset
B02
A02
D7
START
+5V
+ 5V
B03
A03
D6
EXRDY
Döï tröõ
IRQ2
B04
A04
D5
EX32
Döï tröõ
-5V
B05
A05
D4
GND
(Steg)
DREQ2
B06
A06
D3
(Steg)
Döï tröõ
-12V
B07
A07
D2
EX16
Döï tröõ
Döï tröõ
B08
A08
D1
SLBURT
+12V
+12V
B09
A09
D0
MSBURT
M/IO
GND
B10
A10
/IOCHRDY
W-R
LOCK
/MEMW
B11
A11
AEN
GND
Döï tröõ
/MEMR
B12
A12
A19
Döï tröõ
BE3
/IOW
B13
A13
A18
Döï tröõ
(Steg)
/IOR
B14
A14
A17
Döï tröõ
-BE2
/DACK3
B15
A15
A16
GND
(Steg)
DREQ3
B16
A16
A15
(Steg)
BE2
/DACK1
B17
A17
A14
BE1
BE0
DREQ1
B18
A18
A13
LA31
GND
/DACK0
B19
A19
A12
GND
+5V
CLK
B20
A20
A11
LA30
LA29
IRQ7
B21
A21
A10
LA28
GND
IRQ6
B22
A22
A9
LA27
LA26
IRQ5
B23
A23
A8
LA25
LA24
IRQ4
B24
A24
A7
GND
(Steg)
IRQ3
B25
A25
A6
(Steg)
LA16
/DACK2
B26
A26
A5
LA15
LA14
TC
B27
A27
A4
LA13
+5V
ALE
B28
A28
A3
LA12
+5V
+5V
B29
A29
A2
LA11
GND
OSC
B30
A30
A1
GND
LA10
GND
B31
A31
A0
LA9
LA8
/MEM S16
D01
C01
/SBHE
LA7
LA6
/IO CS16
D02
C02
LA23
GND
LA5
IRQ10
D03
C03
LA22
LA4
+5V
IRQ11
D04
C04
LA21
LA3
LA2
IRQ12
D05
C05
LA20
GND
(Steg)
IRQ13
D06
C06
LA19
(Steg)
D16
IRQ14
D07
C07
LA18
D17
D18
/DACK4
D08
C08
LA17
D19
GND
DREQ0
D09
C09
/MEMR
D20
D21
/DACK5
D10
C10
/MEMW
D22
D23
DREQ5
D11
C11
SD8
GND
D24
/DACK6
D12
C12
SD9
D25
GND
DREQ6
D13
C13
SD10
D26
D27
/DACK7
D14
C14
SD11
D28
(Steg)
DRQ7
D15
C15
SD12
(Steg)
D29
+5V
D16
C16
SD13
GND
+5V
/MASTER
D17
C17
SD14
D30
+5V
GND
D18
C18
SD15
D31
MAKx
MERQx
4. Raõnh caém 32 bit vaø 64 bit VLB (VESA Local Bus-Standard):
Vieäc taïo ra caùc “local bus” naèm trong yù ñoà nhaèm ñaït ñöôïc moái lieân heä tröïc tieáp vôùi boä vi xöû lyù ñeå laøm taêng toác ñoä truyeàn döõ lieäu, ñaëc bieät laø khi boä vi xöû lyù 80486 ra ñôøi. Chöõ VESA baét nguoàn töø teân goïi cuûa Video Electronics Standard Association, toå chöùc naøy ñaõ daønh nhieàu thôøi gian ñeå tìm kieám nhöõng giaûi phaùp baèng phaàn cöùng ñeå taän duïng toác ñoä xöû lyù cuûa caùc boä vi xöû lyù theá heä môùi.
Raõnh caém VLB bao goàm moät raõnh caém ISA 16 bit vaø moät raõnh môû roäng naèm thaúng haøng vôùi raõnh ISA. Raõnh VLB coù 116 chaân ra ñöôïc saép xeáp nhö döôùi ñaây:
Phía maïch in
Phía linh kieän
64 bit
32 bit
32 bit
64 bit
DAT01
B01
A01
DAT00
DAT03
B02
A02
DAT02
GND
B03
A03
DAT04
DAT05
B04
A04
DAT06
DAT07
B05
A05
DAT08
DAT09
B06
A06
GND
DAT11
B07
A07
DAT10
DAT13
B08
A08
DAT12
DAT15
B09
A09
Vcc
GND
B10
A10
DAT14
DAT17
B11
A11
DAT16
Vcc
B12
A12
DAT18
DAT19
B13
A13
DAT20
DAT21
B14
A14
GND
DAT23
B15
A15
DAT22
DAT25
B16
A16
DAT24
GND
B17
A17
DAT26
DAT27
B18
A18
DAT28
DAT29
B19
A19
DAT30
DAT31
B20
A20
Vcc
DAT62
ADR30
B21
A21
ADR31
DAT63
DAT60
ADR28
B22
A22
GND
DAT58
ADR26
B23
A23
ADR29
DAT61
GND
B24
A24
ADR27
DAT59
DAT56
ADR24
B25
A25
ADR25
DAT57
DAT54
ADR22
B26
A26
ADR23
DAT55
Vcc
B27
A27
ADR21
DAT53
DAT52
ADR20
B28
A28
ADR19
DAT51
DAT50
ADR18
B29
A29
GND
DAT48
ADR16
B30
A30
ADR17
DAT49
DAT46
ADR14
B31
A31
ADR15
DAT47
DAT44
ADR12
B32
A32
Vcc
DAT42
ADR10
B33
A33
ADR13
DAT45
DAT40
ADR08
B34
A34
ADR11
DAT43
GND
B35
A35
ADR09
DAT41
DAT38
ADR06
B36
A36
ADR07
DAT39
DAT36
ADR04
B37
A37
ADR05
DAT37
WBACK#
B38
A38
GND
BE4#
BE0#
B39
A39
ADR03
DAT35
Vcc
B40
A40
ADR02
DAT33
BE5#
BE1#
B41
A41
Döï tröõ
LBS64#
BE6#
BE2#
B42
A42
RESET#
LBS64#
GND
B43
A43
D/C#
DAT61
BE7#
BE3#
B44
A44
M/IO#
DAT59
ADS#
B45
A45
W/R#
DAT57
(Steg)
(Steg)
B46
A46
(Steg)
(Steg)
(Steg)
(Steg)
B47
A47
(Steg)
(Steg)
LRDY#
B48
A48
RDYRTN#
LDEV#
B49
A49
GND
LREQ#
B50
A50
IRQ9
GND
B51
A51
BRDY#
LGNT#
B52
A52
BLAST#
Vcc
B53
A53
ID0
DAT32
ID2
B54
A54
ID1
DAT33
ID3
B55
A55
GND
ACK64#
ID4
B56
A56
LCLK
Döï tröõ
B57
A57
Vcc
LEAD#
B58
A58
LBS16#
5. Raõnh caém 32 bit vaø 64 bit PCI (Peripheral Component Interconnect-Standard):
Tieâu chuaån naøy ñöôïc chính thöùc ñöa ra vaøo thaùng gieâng naêm 1994 vaø döï tính aùp duïng cho caùc maùy tính PC ñeán 64 bit toác ñoä truyeàn döõ lieäu coù theå ñaït ñeán 132Mbyte moãi giaây. Thoâng thöôøng, beân caïnh 2 hoaëc 3 raõnh caém PCI, caùc nhaø saûn xuaát vaãn saép xeáp moät vaøi raõnh caém ISA ñeå ngöôøi söû duïng coù theå gheùp noái moät caùch linh hoaït tuøy theo nhöõng card ñang coù saün trong tay. Döôùi ñaây laø söï moâ taû söï saép xeáp chaân ra treân raõnh caém PCI, trong ñoù maët A laø maët saép xeáp linh kieän coøn maët B laø maët haøn caùc chaân linh kieän.
Chaân
5V, maët A
5V, maët B
3,3V, maët A
3,3V, maët B
Chuù thích
1
-12V
TSRT#
-12V
TSRT#
Baét ñaàu 32 bit
2
TCK
+12V
TCK
+12V
3
GND
TMS
GND
TMS
4
TDO
TDI
TDO
TDI
5
+5V
+5V
+5V
+5V
6
+5V
INTA#
+5V
INTA#
7
INTB#
INTC#
INTB#
INTC#
8
INTD#
+5V
INTD#
+5V
9
PRSNT1#
Döï tröõ
PRSNT1#
Döï tröõ
10
Döï tröõ
+5V (I/O)
Döï tröõ
+3,3V (I/O)
11
PRSNT2#
Döï tröõ
PRSNT2#
Döï tröõ
3,3 V - Steg
12
GND
GND
(Steg)
(Steg)
3,3 V – Steg
13
GND
GND
(Steg)
(Steg)
14
Döï tröõ
Döï tröõ
Döï tröõ
Döï tröõ
15
GND
RST#
GND
RST#
16
CLK
+5V (I/O)
CLK
+3,3V (I/O)
17
GND
GNT#
GND
GNT#
18
REQ#
GND
REQ#
GND
19
+5V (I/O)
Döï tröõ
+3,3V (I/O)
Döï tröõ
20
AD[31]
AD[30]
AD[31]
AD[30]
21
AD[29]
+3,3V
AD[29]
+3,3V
22
GND
AD[28]
GND
AD[28]
23
AD[27]
AD[28]
AD[27]
AD[28]
24
AD[25]
GND
AD[25]
GND
25
+3,3V
AD[24]
+3,3V
AD[24]
26
C/BE[3]#
IDSEL
C/BE[3]#
IDSEL
27
AD[23]
+3,3V
AD[23]
+3,3V
28
GND
AD[22]
GND
AD[22]
29
AD[21]
AD[20]
AD[21]
AD[20]
30
AD[19]
GND
AD[19]
GND
31
+3,3V
AD[18]
+3,3V
AD[18]
32
AD[17]
AD[16]
AD[17]
AD[16]
33
C/BE[2]#
+3,3V
C/BE[2]#
+3,3V
34
GND
FRAME#
GND
FRAME#
35
IRDY#
GND
IRDY#
GND
36
+3,3V
TRDY#
+3,3V
TRDY#
37
DEVSEL#
GND
DEVSEL#
GND
38
GND
STOP#
GND
STOP#
39
LOCK#
+3,3V
LOCK#
+3,3V
40
PERR#
SDONE
PERR#
SDONE
41
+3,3V
SBO#
+3,3V
SBO#
42
SERR#
GND
SERR#
GND
43
+3,3V
PAR
+3,3V
PAR
44
C/BE[1]#
AD[15]
C/BE[1]#
AD[15]
46
GND
AD[13]
GND
AD[13]
47
AD[12]
AD[11]
AD[12]
AD[11]
48
AD[10]
GND
AD[10]
GND
49
GND
AD[09]
GND
AD[09]
5V – Steg
50
(Steg)
(Steg)
GND
GND
5V – Steg
51
(Steg)
(Steg)
GND
GND
52
AD[08]
CBE[0]#
AD[08]
CBE[0]#
53
AD[07]
+3,3V
AD[07]
+3,3V
54
+3,3V
AD[06]
+3,3V
AD[06]
55
AD[05]
AD[04]
AD[05]
AD[04]
56
AD[03]
GND
AD[03]
GND
57
GND
AD[02]
GND
AD[02]
58
AD[01]
AD[00]
AD[01]
AD[00]
59
+5V (I/O)
+5V (I/O)
+3,3V (I/O)
+3,3V (I/O)
60
ACK64#
REQ64#
ACK64#
REQ64#
61
+5V
+5V
+5V
+5V
62
+5V
+5V
+5V
+5V
Heát 32 bit
caùch ly vôùi phaàn 64 bit
(Steg)
(Steg)
(Steg)
(Steg)
(Steg)
(Steg)
(Steg)
(Steg)
63
Döï tröõ
GND
Döï tröõ
GND
Baét ñaàu 64 bit
64
GND
C/BE[7]#
GND
C/BE[7]#
65
C/BE[6]#
C/BE[5]#
C/BE[6]#
C/BE[5]#
66
C/BE[4]#
+5V (I/O)
C/BE[4]#
+3,3 (I/O)
67
GND
PAR64
GND
PAR64
68
AD[63]
AD[62]
AD[63]
AD[62]
69
AD[61]
GND
AD[61]
GND
70
+5V (I/O)
AD[60]
+3,3V (I/O)
AD[60]
71
AD[59]
AD[58]
AD[59]
AD[58]
72
AD[57]
GND
AD[57]
GND
73
GND
AD[56]
GND
AD[56]
74
AD[55]
AD[54]
AD[55]
AD[54]
75
AD[53]
+5V (I/O)
AD[53]
+3,3V (I/O)
76
GND
AD[52]
GND
AD[52]
77
AD[51]
AD[50]
AD[51]
AD[50]
78
AD[49]
GND
AD[49]
GND
79
+5V (I/O)
AD[48]
+3,3V (I/O)
AD[48]
80
AD[47]
AD[46]
AD[47]
AD[46]
81
AD[45]
GND
AD[45]
GND
82
GND
AD[44]
GND
AD[44]
83
AD[43]
AD[42]
AD[43]
AD[42]
84
AD[41]
+5V (I/O)
AD[41]
+3,3V (I/O)
85
GND
AD[40]
GND
AD[40]
86
AD[39]
AD[38]
AD[39]
AD[38]
87
AD[37]
GND
AD[37]
GND
88
+5V(I/O)
AD[36]
+3,3V(I/O)
AD[36]
89
AD[35]
AD[34]
AD[35]
AD[34]
90
AD[33]
GND
AD[33]
GND
91
GND
AD[32]
GND
AD[32]
92
Döï tröõ
Döï tröõ
Döï tröõ
Döï tröõ
93
Döï tröõ
GND
Döï tröõ
GND
94
GND
Döï tröõ
GND
Döï tröõ
Heát 64 bit
Treân ñaây giôùi thieäu veà caùc loaïi khe caém ñöôïc duøng trong maùy tính. Cho ñeán nay phaàn lôùn caùc card gheùp noái duøng trong muïc ñích ñieàu khieån ñeàu ñöôïc cheá taïo ñeå ñaët vaøo raõnh caém theo tieâu chuaån ISA, vì theá card giao tieáp trong ñoà aùn naøy cuõng choïn ISA laøm tieâu chuaån ñeå thieát keá.
Phaàn tieáp theo seõ noùi veà vieäc giao tieáp trong maùy tính, söï giaûi maõ ñòa chæ vaø caùc vi maïch ñöôïc duøng trong card giao tieáp.
PHAÀN II: GIAO DIEÄN GHEÙP NOÁI VÔÙI MAÙY TÍNH
I. Söï giaûi maõ ñòa chæ vaø keát noái bus döõ lieäu:
Vuøng vaøo/ra cuûa maùy tính PC ñaõ chieám giöõ 64KByte cuûa boä nhôù toång coäng vôùi dung löôïng haøng vaøi MByte trôû leân. Vì vaäy vuøng vaøo/ra cuûa moät card môû roäng khoâng ñöôïc pheùp bao truøm leân vuøng ñòa chæ vaøo/ra cuûa maùy tính. Khi ñöa moät card môû roäng vaøo söû duïng thì vieäc ñaàu tieân phaûi löu yù chính laø ñòa chæ hoaït ñoäng cuûa card naøy. Döôùi ñaây laø söï saép xeáp cuûa vuøng ñòa chæ vaøo/ra cuûa maùy tính PC/AT.
Ñòa chæ vaøo/ra (HEX)
Chöùc naêng
000 – 01F
Boä ñieàu khieån DMA 1 (8237)
020 – 03F
Boä ñieàu khieån ngaét 1 (8259)
040 – 047
Boä phaùt thôøi gian (8254)
060 – 06F
Boä kieåm tra baøn phím (8042)
070 – 07F
Thanh ghi maët naï NMI (non maskable interrupt)
080 – 09F
Thanh ghi trang DMA (74LS612)
0A0 – 0BF
Boä ñieàu khieån ngaét 2 (8259)
0C0 – 0DF
Boä ñieàu khieån DMA 2 (8237)
0E0 – 0EF
Döï tröõ cho main board
0F8 – 0FF
Boä ñoàng xöû lyù toaùn hoïc 80x87
1F0 – 1F8
Boä ñieàu khieån ñóa cöùng
200 – 20F
Coång duøng cho troø chôi (Joystick)
278 – 27F
Coång song song 2 (LPT2)
2B0 – 2DF
Card EGA 2
2E8 – 2EF
Coång noái tieáp 4 (COM4)
2F8 – 2FF
Coång noái tieáp 2 (COM2)
300 – 31F
Duøng cho card môû roäng
320 – 32F
Ñóa cöùng
360 – 36F
Coång noái maïng (LAN)
378 – 37F
Coång song song 1 (LPT1)
380 – 38F
Coång noái tieáp ñoàng boä 2
3A0 –3AF
Coång noái tieáp ñoàng boä 1
3B0 – 3B7
Maøn hình ñôn saéc (Hercule)
3C0 – 3CF
Card EGA
3D0 – 3DF
Card CGA
3E8 – 3EF
Coång noái tieáp 3 (COM3)
3F0 – 3F7
Boä ñieàu khieån ñóa meàm
3F8 – 3FF
Coång noái tieáp 1 (COM1)
Töø baûng treân ta thaáy caùc ñòa chæ 300H ñeán 31FH ñaõ ñöôïc döï ñònh ñeå duøng cho caùc card môû roäng. Caùc ñöôøng ñòa chæ ñöôïc söû duïng ñoái vôùi vuøng naøy laø A0 ñeán A9. Thoâng thöôøng thì caùc ñòa chæ naøy laø coá ñònh vaø taïi caùc ñòa chæ naøy maùy tính trao ñoåi döõ lieäu vôùi card môû roäng. Nhieäm vuï cuûa card ñöôïc gaén vaøo laø so saùnh caùc ñöôøng daãn ñòa chæ ôû maùy tính vôùi caùc ñòa chæ ñaõ ñöôïc thieát laäp xem coù thoáng nhaát khoâng vaø thoâng baùo söï ñaùnh giaù ôû moät boä ñieàu khieån logic. Chæ khi coù söï thoáng nhaát ñòa chæ moät caùch chính xaùc môùi coù theå tieán haønh vieäc trao ñoåi döõ lieäu vôùi maùy tính.
Thoâng thöôøng thì treân moät card môû roäng coù nhieàu khoái chöùc naêng nhö: boä bieán ñoåi A/D, boä bieán ñoåi D/A, khoái xuaát/nhaäp döõ lieäu soá,... caùc khoái naøy ñöôïc trao ñoåi döôùi nhöõng ñòa chæ khaùc nhau töø maùy tính. Döôùi ñaây laø moät maïch giaûi maõ ñieån hình thöôøng gaëp treân caùc card môû roäng:
caùc ñöôøng döõ lieäu
/CS0
/CS1
/CS2
/CS3
/CS4
/CS5
/CS6
/CS7
ñoïc
vieát
Boä giaûi maõ ñòa chæ 74HC688 so saùnh caùc ñöôønng daãn ñòa chæ A2 ñeán A9 xem coù thoáng nhaát vôùi caùc ñòa chæ cô baûn ñöôïc thieát laäp treân card môû roäng baèng chuyeån maïch DIP. 74HC688 so saùnh hai trong soá 8 bit xem coù gioáng nhau khoâng vaø khi caùc bit xeáp keà saùt ñoàng nhaát seõ taïo ra moät tín hieäu [0] ôû chaân 19 (P = Q). Ngoaøi söï so saùnh ñoù, noù coøn qui ñònh veà quyeàn söû duïng moät loái vaøo ñöôïc kích hoaït /G. Chöøng naøo maø chaân naøy coøn ôû möùc [1] thì tín hieäu loái ra cuûa boä so saùnh vaãn giöõ nguyeân möùc [1] ñoäc laäp vôùi möùc logic xeáp keà saùt. Bình thöôøng thì chaân naøy ñöôïc noái vôùi tín hieäu AEN. Chæ khi tín hieäu naøy ôû möùc [0] thì caùc döõ lieäu coù giaù trò môùi naèm treân bus. Do ñöôïc cheá taïo baèng coâng ngheä CMOS thì ñoái vôùi caùc tín hieäu cuûa bus PC, linh kieän naøy thöïc teá toû ra laø khoâng taûi.
Maïch logic cuûa boä giaûi maõ sinh ra töø caùc ñöôøng ñòa chæ A0 vaø A1, tín hieäu ñaùnh giaù cuûa boä so saùnh ñòa chæ vaø hai tín hieäu /IOR, /IOW caùc tín hieäu löïa choïn ñoái vôùi caùc ñòa chæ A0 vaø A1 cho pheùp trao ñoåi vôùi boán chöùc naêng khaùc nhau khi ñoïc vaøo hoaëc khi ghi, card môû roäng cuõng chieám boán ñòa chæ.
Maïch logic cuûa boä giaûi maõ coù chöùa hai vi maïch 74HC00 vaø 74HC138. Ba coång NAND laøm cho boä ñeäm bus 74HC245 sau ñaáy chæ ñöôïc kích hoaït (/G = [0]) khi caùc ñieàu sau ñöôïc thöïc hieän: thöù nhaát laø card môû roäng caém theâm vaøo ñaõ trao ñoåi ñöôïc (chaân 19 cuûa cuûa vi maïch 74HC688 baèng [0]) vaø thöù hai laø moät chu trình ñoïc hoaëc laø chu trình ghi ñöôïc thöïc hieän (/IOR = [0] hoaëc laø /IOW = [0]). Khi maø chæ moät ñieàu kieän khoâng ñöôïc thöïc hieän thì chaân ra /G cuûa 74HC245 giöõ nguyeân laø [1] vaø boä ñeäm bus döøng laïi trong traïng thaùi ñieän trôû cao.
Ngoaøi ra, maïch logic cuûa boä giaûi maõ coøn coù chöùa moät linh kieän ñaëc bieät laøm ñôn giaûn ñaùng keå cho boä maõ. Vi maïch 74HC138 coù chöùa moät boä giaûi maõ 1 trong 8 vôùi ba tín hieäu löïa choïn chip. Nhôø moät con soá nhò phaân, ôû linh kieän naøy ta coù theå löïa choïn ñuùng loái ra töø trong soá taùm loái ra. Loái ra ñaõ ñöôïc löïa choïn sau ñoù seõ nhaän möùc [0], trong khi taát caû caùc loái khaùc vaãn giöõ nguyeân möùc logic [1]. Trong maïch ñieän ñöôïc minh hoïa treân, caùc bit ñòa chæ A0 vaø A1 cuõng nhö tín hieäu /IOR ñaët ñeán caùc loái vaøo ñòa chæ A, B vaø C.
Boä giaûi maõ logic ñaûm nhieäm ñoàng thôøi söï ñieàu khieån cuûa boä ñeäm bus hai chieàu 74HC245, boä naøy noái caùc ñöôøng döõ lieäu cuûa raõnh caém PC vôùi caùc ñöôøng cuûa card môû roäng. Söï noái gheùp naøy laø raát quan troïng, nhôø vaäy maø caùc möùc tín hieäu treân ñöôøng döõ lieäu khoâng bò aûnh höôûng laãn nhau. Noù chöùa 8 boä ñeäm vôùi caùc loái ra ba traïng thaùi (Tri-state) ñeå trao ñoåi thoâng tin giöõa caùc ñöôøng döõ lieäu theo hai höôùng. Höôùng ñöôïc xaùc ñònh baèng möùc logic ôû ngoõ vaøo DIR: DIR = [0]: chuyeån döõ lieäu B à A, vaø ngöôïc laïi khi DIR = [1]: chuyeån döõ lieäu A à B. Vieäc chuyeån höôùng döõ lieäu cho pheùp quaûn lyù moät caùch ñôn giaûn nhaát baèng tín hieäu /IOR, ta coù theå noái tröïc tieáp ñeán chaân DI R. Dó nhieân laø coång döõ lieäu A ñöôïc noái vôùi caùc ñöôøng döõ lieäu cuûa raõnh caém PC vaø coång döõ lieäu B vôùi ñöôøng daãn döõ lieäu cuûa card môû roäng. Vì theá ñaûm baûo raèng boä ñeäm bus 74HC245 chæ saép xeáp nhöõng döõ lieäu treân bus döõ lieäu cuûa maùy tính PC.
Caùc tín hieäu löïa choïn chip CS0 ñeán CS7 coù theå ñöôïc söû duïng ñeå löïa choïn caùc khoái chöùc naêng khaùc nhau. Baèng boán tín hieäu CS0 ñeán CS3 coù theå ñieàu khieån caùc khoái ngoaïi vi ñeå ñoïc caùc döõ lieäu. Cuõng töông töï nhö vaäy caùc tín hieäu CS4 ñeán CS7 ñoùng vai troø kích hoaït khoái ngoaïi vi caàn nhaäp caùc döõ lieäu töø maùy tính PC.
II. Giôùi thieäu vi maïch 8255A:
Vi maïch 8255A laø vi maïch giao tieáp ngoaïi vi laäp trình ñöôïc PPI (Programmable Peripheral Interfacer). Noù thöôøng ñöôïc duøng trong caùc card caém theâm vaøo maùy tính ñeå keát noái giao tieáp song song giöõa Vi xöû lyù vaø thieát bò ñieàu khieån beân ngoaøi.
PA3
PA2
PA1
PA0
RD\
CS\
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
PA4
PA5
PA6
PA7
WR\
RESET
D0
D1
D2
D3
D4
D5
D6
D7
Vcc
PB7
PB6
PB5
PB4
PB3
8255A
1. Sô ñoà chaân cuûa 8255A:
8255A
D0-D7
RD\
WR\
RESET
A0
A1
CS\
PA0-PA7
PB0-PB7
PC0-PC3
PC4-PC7
Sô ñoà chaân vaø sô ñoà logic cuûa vi maïch 8255A
A1
A0
RD\
WR\
CS\
Hoaït ñoäng
L
L
L
H
L
Port A à Bus döõ lieäu
L
H
L
H
L
Port Bà Bus döõ lieäu
H
L
L
H
L
Port Cà Bus döõ lieäu
L
L
H
L
L
Bus döõ lieäu à Port A
L
H
H
L
L
Bus döõ lieäu à Port B
H
L
H
L
L
Bus döõ lieäu à Port C
H
H
H
L
L
Bus döõ lieäu à Töø ñieàu khieån
x
x
x
x
H
Bus döõ lieäu ôû cheá ñoä Hi-Z
H
H
L
H
L
Caám
x
x
H
H
L
Bus döõ lieäu ôû cheá ñoä Hi-Z
Baûng traïng thaùi cuûa 8255A
2. Cô cheá hoaït ñoäng cuûa 8255A:
Khi chaân RESET ôû möùc [1], 8255A seõ ñöôïc khôûi ñoäng, noù seõ thaû noåi taát caû 24 chaân lieân quan tôùi caùc cöûa vaøo/ra. Cheá ñoä naøy keùo daøi tôùi khi chöông trình öùng duïng vieát töø ñieàu khieån vaøo thanh ghi ñieàu khieån ñeå xaùc ñònh cheá ñoä laøm vieäc cuûa 8255A. Ba cheá ñoä hoaït ñoäng cô baûn cuûa 8255A laø:
- Cheá ñoä 0: vaøo/ra thoâng thöôøng.
- Cheá ñoä 1: choát vaøo/ra.
- Cheá ñoä 2: bus hai chieàu.
Töø ñieàu khieån duøng ñeå ñònh nghóa cheá ñoä laøm vieäc cho 8255A.
D7
D6
D5
D4
D3
D2
D1
D0
Nhoùm B
Port C (thaáp)
1 = nhaäp
0 = xuaát
Port B
1 = nhaäp
0 = xuaát
Choïn cheá ñoä
0 = cheá ñoä 0
1 = cheá ñoä 1
Nhoùm A
Port C (cao)
1 = nhaäp
0 = xuaát
Port A
1 = nhaäp
0 = xuaát
Choïn cheá ñoä
00 = cheá ñoä 0
01 = cheá ñoä 1
1x = cheá ñoä 2
Côø laäp cheá ñoä
1 = tích cöïc
Caáu truùc töø ñieàu khieån cuûa 8255A:
Cheá ñoä 0:
Töø ñieàu khieån
1
0
0
D4
D3
0
D1
D0
Cheá ñoä 0 xaùc laäp hai port 8 bit (A vaø B) vaø hai port 4 bit (nöûa cao vaø nöûa thaáp cuûa port C). Baát kyø port naøo cuõng coù theå nhaäp hoaëc xuaát döõ lieäu tuøy theo caùc bit D4, D3, D1 vaø D0. Döõ lieäu ñöôïc choát khi nhaäp (coøn khi xuaát thì khoâng).
Cheá ñoä 1:
Töø ñieàu khieån
1
0
1
D4
D3
1
D1
D0
Cheá ñoä naøy caû hai port A vaø B laøm vieäc ôû cheá ñoä xuaát/nhaäp coù choát. Port A vaø B hoaït ñoäng ñoäc laäp nhau, moãi port coù 4 bit ñieàu khieån/döõ lieäu ñöôïc hình thaønh töø 4 bit cao vaø 4 bit thaáp cuûa port C.
Nhoùm A ñöôïc caáu hình ôû cheá ñoä 1:
* Port A laø port nhaäp döõ lieäu:
Töø ñieàu khieån
PC4
PC5
PC3
INTE
A
RD\
PC6,7
PA0-PA7
I/O
INTRA
IBFA
STBA\
1
0
1
1
D3
x
x
x
PC6,7
1 = nhaäp
0 = xuaát
- STBA\ (PC4): möùc 0 taïi ngoõ vaøo naøy seõ laøm cho döõ lieäu ñöôïc choát vaøo port A. Thieát bò ngoaïi vi duøng tín hieäu naøy ñeå baùo cho 8255A bieát döõ lieäu vaøo ñaõ saün saøng.
- IBFA (PC5): ngoõ ra naøy leân möùc 1 ñeå baùo raèng boä ñeäm ñaõ ñaày. Khi chaân naøy ôû möùc 0 thì thieát bò ngoaïi vi coù theå gôûi döõ lieäu môùi tôùi 8255A.
- INTRA (PC3): tín hieäu ôû ngoõ ra naøy ñöôïc duøng nhö moät yeâu caàu ngaét. Ngoõ ra naøy leân möùc 1 khi STBA ôû möùc 0, IBFA vaø côø hieäu INTRA ôû möùc 1. Tín hieäu INTEA töï ñoäng ñöôïc xoùa khi CPU nhaäp töø 8255A. Côø hieäu cho pheùp ngaét (INTE) ñöôïc ñieàu khieån baèng caùch ñaët hoaëc xoùa bit PC4.
- Caùc bit PC6 vaø PC7 laø caùc bit xuaát nhaäp bình thöôøng phuï thuoäc vaøo bit D3 trong töø ñieàu khieån.
* Port A laø port xuaát döõ lieäu:
Töø ñieàu khieån
PC6
PC7
PC3
INTE
A
WR\
PC4, 5
PA0-PA7
I/O
INTRA
ACKA\
OBFA\
1
0
1
0
D3
x
x
x
PC4, 5
1 = nhaäp
0 = xuaát
- OBFA\ (PC7): ngoõ ra naøy seõ xuoáng möùc 0 khi boä ñeäm xuaát ñaày ñeå baùo cho thieát bò ngoaïi vi bieát port A ñang xuaát ra döõ lieäu môùi.
- ACKA\ (PC6): ngoõ vaøo naøy ñöôïc thieát bò ngoaïi vi ñaët möùc 0 ñeå baùo cho 8255A bieát döõ lieäu port A ñöôïc chaáp nhaän.
- INTRA (PC3): ngoõ ra naøy coù cuøng muïc ñích nhö trong tröôøng hôïp nhaäp. Côø cho pheùp ngaét ñöôïc ñieàu khieån baèng caùch ñaët hoaëc xoùa bit PC6.
- Caùc bit PC4 vaø PC5 laø caùc bit xuaát nhaäp bình thöôøng phuï thuoäc vaøo bit D3 trong töø ñieàu khieån.
Nhoùm B ñöôïc caáu hình ôû cheá ñoä 1:
* Port B laø port nhaäp döõ lieäu:
Töø ñieàu khieån
PC2
PC1
PC0
INTE
B
RD\
PC4,5
PB0-PB7
I/O
INTRB
IBFB
STBB\
1
x
x
x
x
1
1
x
- STBB\ (PC2), IBFB (PC1) vaø INTRB (PC0) coù chöùc naêng töông töï nhö trong tröôøng hôïp port A nhaäp. Côø hieäu cho pheùp ngaét (INTE) ñöôïc ñieàu khieån baèng caùch ñaët hoaëc xoùa bit PC2.
* Port B laø port xuaát döõ lieäu:
Töø ñieàu khieån
PC2
PC1
PC0
INTE
B
WR\
PC4, 5
PB0-PB7
I/O
INTRB
ACKB\
OBFB\
1
x
x
x
x
1
0
x
Cheá ñoä 2:
Cheá ñoä naøy laø cheá ñoä xuaát/nhaäp hai chieàu ñöôïc choát. Trong cheá ñoä naøy, port A ñöôïc duøng cho xuaát vaø nhaäp, 5 bit cuûa port C ñöôïc duøng ñeå chæ traïng thaùi vaø ñieàu khieån port A.
1
1
x
x
x
D2
D1
D0
PC0-2
1 = nhaäp
0 = xuaát
Port B
1 = nhaäp
0 = xuaát
Cheá ñoä nhoùm B
0 = cheá ñoä 0
1 = cheá ñoä 1
Töø ñieàu khieån
PC7
PC6
PC4
INTE
1
WR\
PC2, 1,0
PA0-PA7
I/O
STBA\
ACKA\
OBFA\
RD\
PC3
INTRA\
PC5
INTE
2
IBFA
- OBFA\ (PC6): boä ñeäm ngoõ ra ñaõ ñaày.
- ACKA\ (PC7): tín hieäu baùo chaáp nhaän döõ lieäu.
- IBFA (PC5): boä ñeäm ngoõ vaøo ñaày.
- STBA\ (PC4): döõ lieäu ñang saün saøng ôû ngoõ vaøo.
- INTRA (PC3): tín hieäu yeâu caàu ngaét, ñöôïc söû duïng cho xuaát/nhaäp.
Khi nhoùm A ôû cheá ñoä 2 thì nhoùm B chæ coù theå ôû cheá ñoä 0 hoaëc 1. Tuy nhieân, neáu nhoùm B ôû cheá ñoä 0 thì chæ coù 3 bit PC0-PC2 ñöôïc söû duïng cho xuaát/nhaäp vì nhoùm A ñaõ möôïn bit PC3 ñeå söû duïng nhö moät yeâu caàu ngaét. Thoâng thöôøng, neáu nhoùm A ôû cheá ñoä 2 thì caùc bit PC0-PC2 seõ ñöôïc noái vôùi caùc chaân traïng thaùi vaø ñieàu khieån cuûa thieát bò noái vôùi port A. Port B cuõng coù theå ñöôïc duøng cho muïc ñích naøy.
Vieäc ñaët/xoùa bit ñoái vôùi port C
Ta coù khaû naêng laäp vaø xoùa töøng bit. Neáu bit 7 cuûa töø ñieàu khieån laø 0, 8255A seõ hieåu laø leänh ñaët/xoùa bit port C coù nghóa, cho pheùp laäp/xoùa baát kyø bit naøo cuûa port C. Khaû naêng ñaët/xoùa töøng bit rieâng leû laø raát thuaän tieän cho öùng duïng khi caùc bit rieâng reõ ñöôïc duøng ñeå ñieàu khieån taùch bieät caùc chöùc naêng beân ngoaøi.
D7
x
x
x
D3
D2
D1
D0
Ñaët/xoùa bit
1 = ñaët (set)
0 = xoùa (reset)
Choïn bit
0
1
2
3
4
5
6
7
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
Côø ñaët/xoùa bit
0 = tích cöïc
Töø ñieàu khieån ñaët/xoùa bit
PHAÀN III: card GIAO tieáp MAÙY TÍNH
I. Card giao tieáp:
Vieäc thöïc hieän chöùc naêng giao tieáp trong card ñöôïc vi maïch 8255 ñaûm nhaän. Caùc tín hieäu ghi vaø ñoïc /IOR vaø /IOW ñöôïc noái tröïc tieáp ñeán caùc chaân töông öùng ôû vi maïch 8255. Cuõng nhö vaäy ñoái vôùi ñöôøng daãn Reset cuûa raõnh caém PC ñöôïc daãn ñeán chaân Reset töông öùng cuûa vi maïch 8255. Trong card coù boä giaûi maõ ñòa chæ, ñòa chæ coù theå ñöôïc choïn baèng caùc chuyeån maïch DIP. Ñòa chæ cô baûn chính laø ñòa chæ baét ñaàu cuûa card.
Card giao tieáp coù 48 bit ñöôïc chia thaønh 6 port, moãi vi maïch 8255 ñaûm nhaän 3 port, ñoù laø port PA1, PB1, PC1, PA2, PB2, PC2. Töøng port coù theå hoaëc laø xuaát, hoaëc laø nhaäp, ñoäc laäp vôùi caùc port khaùc. Rieâng port PC treân töøng vi maïch coù theå ñöôïc chia thaønh hai nöûa thaáp vaø cao, moãi nöûa 4 bit. Sau ñaây laø sô ñoà nguyeân lyù cuûa card giao tieáp maùy tính 48 bit:
Maïch treân coù 8 ñòa chæ, caùc ñòa chæ naøy laø nhö sau:
Ñòa chæ vaøo/ra
Chöùc naêng
Ñòa chæ cô baûn
Port A cuûa 8255-I
Ñòa chæ cô baûn + 1
Port B cuûa 8255-I
Ñòa chæ cô baûn + 2
Port C cuûa 8255-I
Ñòa chæ cô baûn + 3
Thanh ghi ñieàu khieån cuûa 8255-I
Ñòa chæ cô baûn + 4
Port A cuûa 8255-II
Ñòa chæ cô baûn + 5
Port B cuûa 8255-II
Ñòa chæ cô baûn + 6
Port C cuûa 8255-II
Ñòa chæ cô baûn + 7
Thanh ghi ñieàu khieån cuûa 8255-II
II. Phaàn meàm ñieàu khieån:
Phaàn meàm ñieàu khieån card giao tieáp naøy ñôn giaûn chæ laø thuû tuïc (procedure) ñeå xuaát döõ lieäu ra caùc port hay laø haøm (function) ñeå ñoïc döõ lieäu töø caùc port. Ñoàng thôøi cuõng cho pheùp thieát laäp caùc port laø xuaát hoaëc nhaäp hay noùi caùch khaùc laø xaùc ñònh cheá ñoä hoaït ñoäng cho 8255.
Caùc maõ leänh ñöôïc vieát baèng ngoân ngöõ PASCAL:
* Gôûi döõ lieäu ra moät port:
port[port_addr]:=data;
* Ñoïc döõ lieäu töø moät port:
data:=port[port_addr];
Trong ñoù:
data laø bieán chöùa döõ lieäu 8 bit (coù theå laø döõ lieäu 8 bit neáu gôûi döõ lieäu ra)
port_addr laø ñòa chæ port caàn gôûi döõ lieäu ra.
Keát luaän
Cuøng vôùi söï phaùt trieån cuûa khoa hoïc kyõ thuaät cuõng nhö caùc lyù thuyeát ñieàu khieån töï ñoäng daàn ñöôïc hoaøn thieän, vieäc söû duïng maùy tính trong laõnh vöïc ñieàu khieån töï ñoäng ngaøy caøng trôû neân phoå bieán vaø khoâng theå thieáu trong laõnh vöïc naøy. Ñoà aùn naøy khoâng coù tham voïng ñöa ra taát caû caùc phöông thöùc keát noái giöõa boä phaän ñieàu khieån (maùy tính) vaø ñoái töôïng ñöôïc ñieàu khieån (heä thoáng chaáp haønh) maø chæ ñöa ra nhöõng vaán ñeà cô baûn ñeå laøm neàn taûng cho nhöõng caùi coù quy moâ lôùn hôn tuøy muïc ñích söû duïng. Card giao tieáp trong ñoà aùn naøy laø card theo tieâu chuaån ISA, coù caùc port laø 8 bit töông öùng vôùi töøng ñòa chæ. Höôùng phaùt trieån cho ñoà aùn naøy laø coù theå thieát keá caùc port laø 16bit, 32bit, ... vaø theo tieâu chuaån PCI laø tieâu chuaån ngaøy caøng phoå bieán treân caùc theá heä maùy tính sau naøy. Moät haïn cheá khaùc cuûa card giao tieáp trong ñoà aùn naøy laø chæ coù theå giao tieáp vôùi caùc heä thoáng laøm vieäc vôùi caùc tín hieäu soá, vì theá moät höôùng phaùt trieån theâm laø thieát keá treân card giao tieáp caùc boä bieán ñoåi A/D vaø D/A ñeå coù theå thöïc hieän vieäc giao tieáp vôùi caùc heä thoáng laøm vieäc vôùi tín hieäu töông töï.