Tải bản đầy đủ (.doc) (26 trang)

đồ án kỹ thuật thu phát card giao tiếp máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (431.93 KB, 26 trang )

Đồ án Kỹ thuật Thu phát Trang
ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN
BỘ MÔN ĐIỆN TỬ.
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
oOo
KHOA ĐIỆN
TP. HCM
6 - ….
Giáo viên hướng dẫn : LÊ VIẾT PHÚ.
Sinh viên thực hiện : NGUYỄN KIM HUY
Đồ án Kỹ thuật Thu phát Trang
ĐỒ ÁN KỸ THUẬT THU PHÁT.
CARD GIAO TIẾP
CARD GIAO TIẾP
MÁY TÍNH
MÁY TÍNH
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
oOo





Ñoà aùn Kyõ thuaät Thu phaùt Trang

























Đồ án Kỹ thuật Thu phát Trang
Lời mở đầu
gà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.
N
Để 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.
Em xin cảm ơn thầy LÊ VIẾT PHÚ-giáo viên hướng dẫn, các thầy cô đã
từng trực tiếp giảng dạy cung cấp những kiến thức q giá cho em, và các bạn cùng
khóa đã giúp đỡ em hoàn thành đồ án này.
TP. HCM, tháng 6 năm …
Sinh viên thực hiện
NGUYỄN KIM HUY
Đồ án Kỹ thuật Thu phát Trang
Mục Lục
Trang
Lời mở đầu
Phần I: Các rãnh cắm trong máy tính
I. Tổng quan về ghép nối với máy tính 1
II. Các rãnh cắm trong máy tính
1. Giới thiệu về các loại rãnh cắm 1
2. Rãnh cắm ISA 2
3. Rãnh cắm 32bit EISA 3
4. Rãnh cắm 32bit và 64bit VLB 5
5. Rãnh cắm 32 và 64bit PCI 7

Phần II: Giao diện ghép nối với máy tính
I. Sự giải mã đòa chỉ và kết nối bus dữ liệu 10
II. Giới thiệu vi mạch 8255A
1. Sơ đồ chân của 8255A 13
2. Cơ chế hoạt động của 8255A 13
Phần III: Card giao tiếp máy tính
I. Card giao tiếp 19
II. Phần mềm điều khiển 20
Kết luận 21
Mục lục
Đồ án Kỹ thuật Thu phát Trang
PHẦN I: các RÃNH cắm trong MÁY TÍNH
I. Tổng quan về ghép nối với máy tính:
Các thiết bò bên ngoài, các mạch điều khiển bằng máy tính đều phải được kết
nối với máy tính. Trên máy tính có các cổng để thực hiện chức năng này như: cổng
COM và cổng LPT. Cổng COM là cổng nối tiếp còn cổng LPT là cổng song song.
Một máy tính thông thường có các cổng là COM1, COM2 và một cổng LPT1 - một
số máy còn có COM3, COM4 và LPT2. Nhưng thông thường cổng COM1 được nối
vào chuột (mouse) và LPT1 được nối vào máy in (printer). Việc trao đổi thông tin
theo phương pháp nối tiếp thường chậm và phức tạp hơn do phải đòi hỏi việc
chuyển tín hiệu từ nối tiếp ra song song và ngược lại. Vì thế có một cách khác là
thiết kế một card giao tiếp được cắm trực tiếp vào trong máy tính, card này trao đổi
dữ liệu trực tiếp với máy tính và ta có thể thực hiện được nhiều ngõ vào/ra theo
nhu cầu thực tế chứ không bò giới hạn bởi 1 bit (nối tiếp) hay 8 bit (song song) như
các cổng chuẩn của máy tính nữa.
II. Các rãnh cắm trong máy tính:
1. Giới thiệu về các loại rãnh cắm:
Các card ghép nối được đưa thêm vào máy tính để mở rộng khả năng đáp ứng
của máy tính. Bên trong máy ngoài các rãnh cắm dùng cho card vào/ra (I/O card),
card màn hình (Video card), card âm thanh (Sound card), vẫn còn những rãnh

cắm để trống. Các rãnh cắm này được tiếp tục dùng để ghép nối với các bản mạch
cắm thêm vào máy tính.
Ở máy tính PC/XT rãnh cắm trong máy tính chỉ có một loại với độ rộng bus là
8 bit và tuân theo tiêu chuẩn ISA (Industry Standard Architecture). Từ máy tính AT
trở đi, việc bố trí chân trên rãnh cắm trở nên phức tạp hơn tùy theo tiêu chuẩn được
lựa chọn khi chế tạo máy tính. Các loại rãnh cắm theo những tiêu chuẩn khác nhau
có thể kể ra như sau:
 Rãnh cắm 16 bit theo tiêu chuẩn ISA (Industry Standard Architecture).
 Rãnh cắm PS/2 16 với bit theo tiêu chuẩn MCA (Micro Channel
Architecture).
 Rãnh cắm PS/2 với 32 bit theo tiêu chuẩn MCA (Micro Channel
Architecture).
 Rãnh cắm 32 bit theo tiêu chuẩn EISA (Extended Industry Standard
Architecture).
Đồ án Kỹ thuật Thu phát Trang
 Rãnh cắm 32 bit theo tiêu chuẩn VLB (VESA Local Bus-Standard).
 Rãnh cắm 32/64 bit theo tiêu chuẩn PCI (Perpheral Component
Interconnect- Standard).
2. Rãnh cắm ISA (Industry Standard Architecture):
Phần lớn các card ghép nối thông dụng thường được chế tạo theo tiêu chuẩn
ISA. Thồn thường, rãnh cắm có 62 đường tín hiệu dùng cho mục đích thông tin với
một card cắm vào. Về cơ bản, các đường tín hiệu này được chia thành các đường
dữ liệu, đường đòa chỉ và đường điều khiển. Vì ngay từ các máy tính PC/XT đã sẵn
có các rãnh cắm 62 chân này, trên đó có 8 đường dẫn dữ liệu nên đôi khi người ta
cũng gọi luôn rãnh cắm này là rãnh cắm 8 bit. Chỉ những card 8 bit mới được cắm
vào rãnh này. Sau đây là sự sắp xếp chân ra của rãnh cắm 8 bit.
Phía mạch in Phía linh kiệ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
Đồ án Kỹ thuật Thu phát Trang
TC B27 A27 A4
ALE B28 A28 A3
+5V B29 A29 A2
OSC B30 A30 A1
GND B31 A31 A0

Về sau máy tính PC/AT ra đời, chúng có thêm một rãnh thứ hai nằm thẳng
hàng với rãnh 8 bit kể trên và có 36 chân. Trên rãnh này có chứa các tín hiệu 16 bit
nên khi có thêm rãnh cắm này thì người ta gọi chung cả hai rãnh cắm là rãnh cắm
16 bit. Các rãnh cắm từ 32 bit trở lên dùng để ghép thêm vào những card có chất
lượng rất cao. Dưới đây là sự sắp xếp chân ra của rãnh cắm thứ hai:
Phía mạch in Phía linh kiệ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 tối đa của card ISA 8 bit là 106,7 x 333,5 x 12,7 mm (h x l x w).
Kích thước tối đa của card ISA 16 bit là 121,9 x 333,5 x 12,7 mm (h x l x w).
3. Rãnh cắm 32 bit EISA (Extended Industry Standard Architecture):
Kích thước thông dụng của một card EISA là: 127x333,5x12,7 mm (h x l x w).

Từ kích thước này ta thấy một card ISA có thể cắm vừa rãnh cắm EISA. Rãnh này
vừa có thể chấp nhận các các card ISA 8 và 16 bit vừa duy trì chế độ hoạt động 32
Đồ án Kỹ thuật Thu phát Trang
bit của card ghép nối tuân theo đúng chuẩn EISA. Rãnh cắm EISA được dùng cho
bộ vi xử lý 80386DX và các thế hệ kế tiếp.
Sự sắp xếp chân ra trên rãnh cắm EISA có dạng tương tự như của rãnh cắm
ISA chỉ khác ở vò trí cụ thể và tên gọi của các chân, sau đây là sự sắp xếp các chân
ra:
EISA ISA Phía mạch in Phía linh kiệ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
Đồ án Kỹ thuật Thu phát Trang
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. Rãnh cắm 32 bit và 64 bit VLB (VESA Local Bus-Standard):
Việc tạo ra các “local bus” nằm trong ý đồ nhằm đạt được mối liên hệ trực
tiếp với bộ vi xử lý để làm tăng tốc độ truyền dữ liệu, đặc biệt là khi bộ vi xử lý
80486 ra đời. Chữ VESA bắt nguồn từ tên gọi của Video Electronics Standard
Association, tổ chức này đã dành nhiều thời gian để tìm kiếm những giải pháp
bằng phần cứng để tận dụng tốc độ xử lý của các bộ vi xử lý thế hệ mới.
Rãnh cắm VLB bao gồm một rãnh cắm ISA 16 bit và một rãnh mở rộng nằm
thẳng hàng với rãnh ISA. Rãnh VLB có 116 chân ra được sắp xếp như dưới đây:
Phía mạch in Phía linh kiệ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
Đồ án Kỹ thuật Thu phát Trang
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<X>#
B49 A49 GND
LREQ<X>#
B50 A50 IRQ9
GND B51 A51 BRDY#
LGNT<X>#
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
Đồ án Kỹ thuật Thu phát Trang
LEAD# B58 A58 LBS16#
5. Rãnh cắm 32 bit và 64 bit PCI (Peripheral Component Interconnect-
Standard):
Tiêu chuẩn này được chính thức đưa ra vào tháng giêng năm 1994 và dự tính
áp dụng cho các máy tính PC đến 64 bit tốc độ truyền dữ liệu có thể đạt đến
132Mbyte mỗi giây. Thông thường, bên cạnh 2 hoặc 3 rãnh cắm PCI, các nhà sản
xuất vẫn sắp xếp một vài rãnh cắm ISA để người sử dụng có thể ghép nối một cách
linh hoạt tùy theo những card đang có sẵn trong tay. Dưới đây là sự mô tả sự sắp
xếp chân ra trên rãnh cắm PCI, trong đó mặt A là mặt sắp xếp linh kiện còn mặt B
là mặt hàn các chân linh kiện.
Chân 5V, mặt A 5V, mặt B 3,3V, mặt A 3,3V, mặt B Chú thích
1 -12V TSRT# -12V TSRT# Bắt đầ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
Đồ án Kỹ thuật Thu phát Trang
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 Hết 32 bit

cách ly với
phần 64 bit
(Steg) (Steg) (Steg) (Steg)
(Steg) (Steg) (Steg) (Steg)
63 Dự trữ GND Dự trữ GND Bắt đầ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]
Đồ án Kỹ thuật Thu phát Trang
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ữ Hết 64 bit
Trên đây giới thiệu về các loại khe cắm được dùng trong máy tính. Cho đến
nay phần lớn các card ghép nối dùng trong mục đích điều khiển đều được chế tạo
để đặt vào rãnh cắm theo tiêu chuẩn ISA, vì thế card giao tiếp trong đồ án này
cũng chọn ISA làm tiêu chuẩn để thiết kế.
Phần tiếp theo sẽ nói về việc giao tiếp trong máy tính, sự giải mã đòa chỉ và
các vi mạch được dùng trong card giao tiếp.
Đồ án Kỹ thuật Thu phát Trang
PHẦN II: GIAO DIỆN GHÉP NỐI VỚI MÁY TÍNH
I. Sự giải mã đòa chỉ và kết nối bus dữ liệu:
Vùng vào/ra của máy tính PC đã chiếm giữ 64KByte của bộ nhớ tổng cộng
với dung lượng hàng vài MByte trở lên. Vì vậy vùng vào/ra của một card mở rộng
không được phép bao trùm lên vùng đòa chỉ vào/ra của máy tính. Khi đưa một card
mở rộng vào sử dụng thì việc đầu tiên phải lưu ý chính là đòa chỉ hoạt động của
card này. Dưới đây là sự sắp xếp của vùng đòa chỉ vào/ra của máy tính PC/AT.
Đòa chỉ vào/ra (HEX) Chức năng
000 – 01F Bộ điều khiển DMA 1 (8237)
020 – 03F Bộ điều khiển ngắt 1 (8259)
040 – 047 Bộ phát thời gian (8254)
060 – 06F Bộ kiểm tra bàn phím (8042)
070 – 07F Thanh ghi mặt nạ NMI (non maskable interrupt)
080 – 09F Thanh ghi trang DMA (74LS612)
0A0 – 0BF Bộ điều khiển ngắt 2 (8259)
0C0 – 0DF Bộ điều khiển DMA 2 (8237)

0E0 – 0EF Dự trữ cho main board
0F8 – 0FF Bộ đồng xử lý toán học 80x87
1F0 – 1F8 Bộ điều khiển đóa cứng
200 – 20F Cổng dùng cho trò chơi (Joystick)
278 – 27F Cổng song song 2 (LPT2)
2B0 – 2DF Card EGA 2
2E8 – 2EF Cổng nối tiếp 4 (COM4)
2F8 – 2FF Cổng nối tiếp 2 (COM2)
300 – 31F Dùng cho card mở rộng
320 – 32F Đóa cứng
360 – 36F Cổng nối mạng (LAN)
378 – 37F Cổng song song 1 (LPT1)
380 – 38F Cổng nối tiếp đồng bộ 2
3A0 –3AF Cổng nối tiếp đồng bộ 1
3B0 – 3B7 Màn hình đơn sắc (Hercule)
3C0 – 3CF Card EGA
3D0 – 3DF Card CGA
3E8 – 3EF Cổng nối tiếp 3 (COM3)
3F0 – 3F7 Bộ điều khiển đóa mềm
3F8 – 3FF Cổng nối tiếp 1 (COM1)
Đồ án Kỹ thuật Thu phát Trang
Từ bảng trên ta thấy các đòa chỉ 300
H
đến 31F
H
đã được dự đònh để dùng cho
các card mở rộng. Các đường đòa chỉ được sử dụng đối với vùng này là A0 đến A9.
Thông thường thì các đòa chỉ này là cố đònh và tại các đòa chỉ này máy tính trao đổi
dữ liệu với card mở rộng. Nhiệm vụ của card được gắn vào là so sánh các đường
dẫn đòa chỉ ở máy tính với các đòa chỉ đã được thiết lập xem có thống nhất không

và thông báo sự đánh giá ở một bộ điều khiển logic. Chỉ khi có sự thống nhất đòa
chỉ một cách chính xác mới có thể tiến hành việc trao đổi dữ liệu với máy tính.
Thông thường thì trên một card mở rộng có nhiều khối chức năng như: bộ biến
đổi A/D, bộ biến đổi D/A, khối xuất/nhập dữ liệu số, các khối này được trao đổi
dưới những đòa chỉ khác nhau từ máy tính. Dưới đây là một mạch giải mã điển hình
thường gặp trên các card mở rộng:
Bộ giải mã đòa chỉ 74HC688 so sánh các đườnng dẫn đòa chỉ A2 đến A9 xem
có thống nhất với các đòa chỉ cơ bản được thiết lập trên card mở rộng bằng chuyển
mạch DIP. 74HC688 so sánh hai trong số 8 bit xem có giống nhau không và khi các
bit xếp kề sát đồng nhất sẽ tạo ra một tín hiệu [0] ở chân 19 (P = Q). Ngoài sự so
sánh đó, nó còn qui đònh về quyền sử dụng một lối vào được kích hoạt /G. Chừng
nào mà chân này còn ở mức [1] thì tín hiệu lối ra của bộ so sánh vẫn giữ nguyên
mức [1] độc lập với mức logic xếp kề sát. Bình thường thì chân này được nối với tín
hiệu AEN. Chỉ khi tín hiệu này ở mức [0] thì các dữ liệu có giá trò mới nằm trên
các đường
dữ liệu
/CS0
/CS1
/CS2
/CS3
/CS4
/CS5
/CS6
/CS7
đọc
viết
Đồ án Kỹ thuật Thu phát Trang
bus. Do được chế tạo bằng công nghệ CMOS thì đối với các tín hiệu của bus PC,
linh kiện này thực tế tỏ ra là không tải.
Mạch logic của bộ giải mã sinh ra từ các đường đòa chỉ A0 và A1, tín hiệu

đánh giá của bộ so sánh đòa chỉ và hai tín hiệu /IOR, /IOW các tín hiệu lựa chọn
đối với các đòa chỉ A0 và A1 cho phép trao đổi với bốn chức năng khác nhau khi
đọc vào hoặc khi ghi, card mở rộng cũng chiếm bốn đòa chỉ.
Mạch logic của bộ giải mã có chứa hai vi mạch 74HC00 và 74HC138. Ba
cổng NAND làm cho bộ đệm bus 74HC245 sau đấy chỉ được kích hoạt (/G = [0])
khi các điều sau được thực hiện: thứ nhất là card mở rộng cắm thêm vào đã trao
đổi được (chân 19 của của vi mạch 74HC688 bằng [0]) và thứ hai là một chu trình
đọc hoặc là chu trình ghi được thực hiện (/IOR = [0] hoặc là /IOW = [0]). Khi mà
chỉ một điều kiện không được thực hiện thì chân ra /G của 74HC245 giữ nguyên là
[1] và bộ đệm bus dừng lại trong trạng thái điện trở cao.
Ngoài ra, mạch logic của bộ giải mã còn có chứa một linh kiện đặc biệt làm
đơn giản đáng kể cho bộ mã. Vi mạch 74HC138 có chứa một bộ giải mã 1 trong 8
với ba tín hiệu lựa chọn chip. Nhờ một con số nhò phân, ở linh kiện này ta có thể
lựa chọn đúng lối ra từ trong số tám lối ra. Lối ra đã được lựa chọn sau đó sẽ nhận
mức [0], trong khi tất cả các lối khác vẫn giữ nguyên mức logic [1]. Trong mạch
điện được minh họa trên, các bit đòa chỉ A0 và A1 cũng như tín hiệu /IOR đặt đến
các lối vào đòa chỉ A, B và C.
Bộ giải mã logic đảm nhiệm đồng thời sự điều khiển của bộ đệm bus hai
chiều 74HC245, bộ này nối các đường dữ liệu của rãnh cắm PC với các đường của
card mở rộng. Sự nối ghép này là rất quan trọng, nhờ vậy mà các mức tín hiệu trên
đường dữ liệu không bò ảnh hưởng lẫn nhau. Nó chứa 8 bộ đệm với các lối ra ba
trạng thái (Tri-state) để trao đổi thông tin giữa các đường dữ liệu theo hai hướng.
Hướng được xác đònh bằng mức logic ở ngõ vào DIR: DIR = [0]: chuyển dữ liệu B
 A, và ngược lại khi DIR = [1]: chuyển dữ liệu A  B. Việc chuyển hướng dữ
liệu cho phép quản lý một cách đơn giản nhất bằng tín hiệu /IOR, ta có thể nối trực
tiếp đến chân DI R. Dó nhiên là cổng dữ liệu A được nối với các đường dữ liệu của
rãnh cắm PC và cổng dữ liệu B với đường dẫn dữ liệu của card mở rộng. Vì thế
đảm bảo rằng bộ đệm bus 74HC245 chỉ sắp xếp những dữ liệu trên bus dữ liệu của
máy tính PC.
Các tín hiệu lựa chọn chip CS0 đến CS7 có thể được sử dụng để lựa chọn các

khối chức năng khác nhau. Bằng bốn tín hiệu CS0 đến CS3 có thể điều khiển các
khối ngoại vi để đọc các dữ liệu. Cũng tương tự như vậy các tín hiệu CS4 đến CS7
đóng vai trò kích hoạt khối ngoại vi cần nhập các dữ liệu từ máy tính PC.
Đồ án Kỹ thuật Thu phát Trang
II. Giới thiệu vi mạch 8255A:
Vi mạch 8255A là vi mạch giao tiếp ngoại vi lập trình được PPI
(Programmable Peripheral Interfacer). Nó thường được dùng trong các card cắm
thêm vào máy tính để kết nối giao tiếp song song giữa Vi xử lý và thiết bò điều
khiển bên ngoài.
1. Sơ đồ chân của 8255A:
Sơ đồ chân và sơ đồ logic của vi mạch 8255A
Bảng trạng thái của 8255A
2. Cơ chế hoạt động của 8255A:
Khi chân RESET ở mức [1], 8255A sẽ được khởi động, nó sẽ thả nổi tất cả 24
chân liên quan tới các cửa vào/ra. Chế độ này kéo dài tới khi chương trình ứng
8255A
D
0
-D
7
RD\
WR\
RESET
A
0
A
1
CS\
PA
0

-PA
7
PB
0
-PB
7
PC
0
-PC
3
PC
4
-PC
7
A
1
A
0
RD\ WR\ CS\ Hoạt động
L L L H L Port A  Bus dữ liệu
L H L H L Port B Bus dữ liệu
H L L H L Port C Bus dữ liệu
L L H L L Bus dữ liệu  Port A
L H H L L Bus dữ liệu  Port B
H L H L L Bus dữ liệu  Port C
H H H L L Bus dữ liệu  Từ điều khiển
x x x x H Bus dữ liệu ở chế độ Hi-Z
H H L H L Cấm
x x H H L Bus dữ liệu ở chế độ Hi-Z
PA

3
PA
2
PA
1
PA
0
RD\
CS\
GND
A
1
A
0
PC
7
PC
6
PC
5
PC
4
PC
0
PC
1
PC
2
PC
3

PB
0
PB
1
PB
2
PA
4
PA
5
PA
6
PA
7
WR\
RESET
D
0
D
1
D
2
D
3
D
4
D
5
D
6

D
7
V
cc
PB
7
PB
6
PB
5
PB
4
PB
3
8255A
Đồ án Kỹ thuật Thu phát Trang
dụng viết từ điều khiển vào thanh ghi điều khiển để xác đònh chế độ làm việc của
8255A. Ba chế độ hoạt động cơ bản của 8255A là:
- Chế độ 0: vào/ra thông thường.
- Chế độ 1: chốt vào/ra.
- Chế độ 2: bus hai chiều.
Từ điều khiển dùng để đònh nghóa chế độ làm việc cho 8255A.
Cấu trúc từ điều khiển của 8255A:
Chế độ 0:
Từ điều khiển
Chế độ 0 xác lập hai port 8 bit (A và B) và hai port 4 bit (nửa cao và nửa thấp
của port C). Bất kỳ port nào cũng có thể nhập hoặc xuất dữ liệu tùy theo các bit D
4
,
D

3
, D
1
và D
0
. Dữ liệu được chốt khi nhập (còn khi xuất thì không).
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
Nhóm BPort C
(thấp)1 =
nhập0 =
xuấtPort B1 =
nhập0 =
xuấtChọn chế
độ0 = chế độ
01 = chế độ 1

Nhóm APort C
(cao)1 = nhập0
= xuấtPort A1
= nhập0 =
xuấtChọn chế
độ00 = chế độ
001 = chế độ
11x = chế độ 2
Cờ lập chế độ1
= tích cực
1 0 0 D
4
D
3
0 D
1
D
0
Đồ án Kỹ thuật Thu phát Trang
Chế độ 1:
Từ điều khiển
Chế độ này cả hai port A và B làm việc ở chế độ xuất/nhập có chốt. Port A và
B hoạt động độc lập nhau, mỗi port có 4 bit điều khiển/dữ liệu được hình thành từ 4
bit cao và 4 bit thấp của port C.
Nhóm A được cấu hình ở chế độ 1:
* Port A là port nhập dữ liệu:
Từ điều khiển
- STB
A
\ (PC

4
): mức 0 tại ngõ vào này sẽ làm cho dữ liệu được chốt vào port A.
Thiết bò ngoại vi dùng tín hiệu này để báo cho 8255A biết dữ liệu vào đã sẵn sàng.
- IBF
A
(PC
5
): ngõ ra này lên mức 1 để báo rằng bộ đệm đã đầy. Khi chân này
ở mức 0 thì thiết bò ngoại vi có thể gởi dữ liệu mới tới 8255A.
- INTR
A
(PC
3
): tín hiệu ở ngõ ra này được dùng như một yêu cầu ngắt. Ngõ ra
này lên mức 1 khi STB
A
ở mức 0, IBF
A
và cờ hiệu INTR
A
ở mức 1. Tín hiệu INTE
A
tự động được xóa khi CPU nhập từ 8255A. Cờ hiệu cho phép ngắt (INTE) được
điều khiển bằng cách đặt hoặc xóa bit PC
4
.
- Các bit PC
6
và PC
7

là các bit xuất nhập bình thường phụ thuộc vào bit D
3
trong từ điều khiển.
* Port A là port xuất dữ liệu:
1 0 1 D
4
D
3
1 D
1
D
0
PC
4
PC
5
PC
3
INTE
A
RD\
PC
6,7
PA
0
-PA
7
I/O
INTR
A

IBF
A
STB
A
\
1011D
3
xxx
PC
6,7
1 = nhập
0 = xuất
Đồ án Kỹ thuật Thu phát Trang
Từ điều khiển
- OBF
A
\ (PC
7
): ngõ ra này sẽ xuống mức 0 khi bộ đệm xuất đầy để báo cho
thiết bò ngoại vi biết port A đang xuất ra dữ liệu mới.
- ACK
A
\ (PC
6
): ngõ vào này được thiết bò ngoại vi đặt mức 0 để báo cho
8255A biết dữ liệu port A được chấp nhận.
- INTR
A
(PC
3

): ngõ ra này có cùng mục đích như trong trường hợp nhập. Cờ
cho phép ngắt được điều khiển bằng cách đặt hoặc xóa bit PC
6
.
- Các bit PC
4
và PC
5
là các bit xuất nhập bình thường phụ thuộc vào bit D
3
trong từ điều khiển.
Nhóm B được cấu hình ở chế độ 1:
* Port B là port nhập dữ liệu:
Từ điều khiển
- STB
B
\ (PC
2
), IBF
B
(PC
1
) và INTR
B
(PC
0
) có chức năng tương tự như trong
trường hợp port A nhập. Cờ hiệu cho phép ngắt (INTE) được điều khiển bằng cách
đặt hoặc xóa bit PC
2

.
* Port B là port xuất dữ liệu:
PC
6
PC
7
PC
3
INTE
A
WR\
PC
4, 5
PA
0
-PA
7
I/O
INTR
A
ACK
A
\
OBF
A
\
1 x x x x 1 1 x
1010D
3
xxx

PC
4, 5
1 = nhập
0 = xuất
PC
2
PC
1
PC
0
INTE
B
RD\
PC
4,5
PB
0
-PB
7
I/O
INTR
B
IBF
B
STB
B
\
Đồ án Kỹ thuật Thu phát Trang
Từ điều khiển
Chế độ 2:

Chế độ này là chế độ xuất/nhập hai chiều được chốt. Trong chế độ này, port
A được dùng cho xuất và nhập, 5 bit của port C được dùng để chỉ trạng thái và điều
khiển port A.
Từ điều khiển
- OBF
A
\ (PC
6
): bộ đệm ngõ ra đã đầy.
- ACK
A
\ (PC
7
): tín hiệu báo chấp nhận dữ liệu.
- IBF
A
(PC
5
): bộ đệm ngõ vào đầy.
- STB
A
\ (PC
4
): dữ liệu đang sẵn sàng ở ngõ vào.
- INTR
A
(PC
3
): tín hiệu yêu cầu ngắt, được sử dụng cho xuất/nhập.
1 x x x x 1 0 x

PC
2
PC
1
PC
0
INTE
B
WR\
PC
4, 5
PB
0
-PB
7
I/O
INTR
B
ACK
B
\
OBF
B
\
PC
7
PC
6
PC
4

INTE
1
WR\
PC
2, 1,0
PA
0
-PA
7
I/O
STB
A
\
ACK
A
\
OBF
A
\
RD\
PC
3
INTR
A
\
PC
5
INTE
2
IBF

A
11xxxD
2
D
1
D
0
PC
0-2
1 = nhập
0 = xuất
Port B
1 = nhập
0 = xuất
Chế độ nhóm B
0 = chế độ 0
1 = chế độ 1
Đồ án Kỹ thuật Thu phát Trang
Khi nhóm A ở chế độ 2 thì nhóm B chỉ có thể ở chế độ 0 hoặc 1. Tuy nhiên,
nếu nhóm B ở chế độ 0 thì chỉ có 3 bit PC
0
-PC
2
được sử dụng cho xuất/nhập vì
nhóm A đã mượn bit PC
3
để sử dụng như một yêu cầu ngắt. Thông thường, nếu
nhóm A ở chế độ 2 thì các bit PC
0
-PC

2
sẽ được nối với các chân trạng thái và điều
khiển của thiết bò nối với port A. Port B cũng có thể được dùng cho mục đích này.
Việc đặt/xóa bit đối với port C
Ta có khả năng lập và xóa từng bit. Nếu bit 7 của từ điều khiển là 0, 8255A
sẽ hiểu là lệnh đặt/xóa bit port C có nghóa, cho phép lập/xóa bất kỳ bit nào của
port C. Khả năng đặt/xóa từng bit riêng lẻ là rất thuận tiện cho ứng dụng khi các bit
riêng rẽ được dùng để điều khiển tách biệt các chức năng bên ngoài.
Từ điều khiển đặt/xóa bit
D
7
xxxD
3
D
2
D
1
D
0
Đặt/xóa bit
1 = đặt (set)
0 = xóa (reset)
Chọn
bit01234567010101010011
001100001111
Cờ đặt/xóa bit
0 = tích cực
Đồ án Kỹ thuật Thu phát Trang
PHẦN III: card GIAO tiếp MÁY TÍNH
I. Card giao tiếp:

Việc thực hiện chức năng giao tiếp trong card được vi mạch 8255 đảm nhận.
Các tín hiệu ghi và đọc /IOR và /IOW được nối trực tiếp đến các chân tương ứng ở
vi mạch 8255. Cũng như vậy đối với đường dẫn Reset của rãnh cắm PC được dẫn
đến chân Reset tương ứng của vi mạch 8255. Trong card có bộ giải mã đòa chỉ, đòa
chỉ có thể được chọn bằng các chuyển mạch DIP. Đòa chỉ cơ bản chính là đòa chỉ
bắt đầu của card.
Card giao tiếp có 48 bit được chia thành 6 port, mỗi vi mạch 8255 đảm nhận 3
port, đó là port PA1, PB1, PC1, PA2, PB2, PC2. Từng port có thể hoặc là xuất, hoặc
là nhập, độc lập với các port khác. Riêng port PC trên từng vi mạch có thể được
chia thành hai nửa thấp và cao, mỗi nửa 4 bit. Sau đây là sơ đồ nguyên lý của card
giao tiếp máy tính 48 bit:
Đồ án Kỹ thuật Thu phát Trang
Mạch trên có 8 đòa chỉ, các đòa chỉ này là như sau:
Đòa chỉ vào/ra Chức năng
Đòa chỉ cơ bản Port A của 8255-I
Đòa chỉ cơ bản + 1 Port B của 8255-I
Đòa chỉ cơ bản + 2 Port C của 8255-I
Đòa chỉ cơ bản + 3 Thanh ghi điều khiển của 8255-I
Đòa chỉ cơ bản + 4 Port A của 8255-II
Đòa chỉ cơ bản + 5 Port B của 8255-II
Đòa chỉ cơ bản + 6 Port C của 8255-II
Đòa chỉ cơ bản + 7 Thanh ghi điều khiển của 8255-II
II. Phần mềm điều khiển:
Phần mềm điều khiển card giao tiếp này đơn giản chỉ là thủ tục (procedure)
để xuất dữ liệu ra các port hay là hàm (function) để đọc dữ liệu từ các port. Đồng
thời cũng cho phép thiết lập các port là xuất hoặc nhập hay nói cách khác là xác
đònh chế độ hoạt động cho 8255.
Các mã lệnh được viết bằng ngôn ngữ PASCAL:
* Gởi dữ liệu ra một port:
port[port_addr]:=data;

* Đọc dữ liệu từ một port:
data:=port[port_addr];
Trong đó:
 data là biến chứa dữ liệu 8 bit (có thể là dữ liệu 8 bit nếu gởi dữ liệu ra)
 port_addr là đòa chỉ port cần gởi dữ liệu ra.

×