Đồ án Kỹ thuật thu phát - Đề tài: Card giao tiếp máy tính

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

 

doc21 trang | Chuyên mục: Anten và Truyền Sóng | Chia sẻ: yen2110 | Lượt xem: 386 | Lượt tải: 0download
Tóm tắt nội dung Đồ án Kỹ thuật thu phát - Đề tài: Card giao tiếp máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ï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.
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ơ đồ chân của 8255A:
8255A
D0-D7
RD\
WR\
RESET
A0
A1
CS\
PA0-PA7
PB0-PB7
PC0-PC3
PC4-PC7
Sơ đồ chân và sơ đồ logic của vi mạch 8255A
A1
A0
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
 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 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.
D7
D6
D5
D4
D3
D2
D1
D0
Nhóm B
Port C (thấp)
1 = nhập
0 = xuất
Port B
1 = nhập
0 = xuất
Chọn chế độ
0 = chế độ 0
1 = chế độ 1
Nhóm A
Port C (cao)
1 = nhập
0 = xuất
Port A
1 = nhập
0 = xuất
Chọn chế độ
00 = chế độ 0
01 = chế độ 1
1x = chế độ 2
Cờ lập chế độ
1 = tích cực
Cấu trúc từ điều khiển của 8255A:
Chế độ 0: 
Từ điều khiển
1
0
0
D4
D3
0
D1
D0
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 D4, D3, D1 và D0. Dữ liệu được chốt khi nhập (còn khi xuất thì không).
Chế độ 1:
Từ điều khiển
1
0
1
D4
D3
1
D1
D0
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
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 = nhập
0 = xuất
- STBA\ (PC4): 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.
- IBFA (PC5): 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.
- INTRA (PC3): 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 STBA ở mức 0, IBFA và cờ hiệu INTRA ở mức 1. Tín hiệu INTEA 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 PC4.
- Các bit PC6 và PC7 là các bit xuất nhập bình thường phụ thuộc vào bit D3 trong từ điều khiển.
* Port A là port xuất dữ liệu:
Từ điều khiể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 = nhập
0 = xuất
- OBFA\ (PC7): 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.
- ACKA\ (PC6): 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.
- INTRA (PC3): 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 PC6.
- Các bit PC4 và PC5 là các bit xuất nhập bình thường phụ thuộc vào bit D3 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
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) và INTRB (PC0) 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 PC2.
* Port B là port xuất dữ liệu:
Từ điều khiển
PC2
PC1
PC0
INTE
B
WR\
PC4, 5
PB0-PB7
I/O
INTRB
ACKB\
OBFB\
1
x
x
x
x
1
0
x
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.
1
1
x
x
x
D2
D1
D0
PC0-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
Từ điều khiể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): bộ đệm ngõ ra đã đầy.
- ACKA\ (PC7): tín hiệu báo chấp nhận dữ liệu.
- IBFA (PC5): bộ đệm ngõ vào đầy.
- STBA\ (PC4): dữ liệu đang sẵn sàng ở ngõ vào.
- INTRA (PC3): tín hiệu yêu cầu ngắt, được sử dụng cho xuất/nhập.
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 PC0-PC2 được sử dụng cho xuất/nhập vì nhóm A đã mượn bit PC3 để 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 PC0-PC2 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.
D7
x
x
x
D3
D2
D1
D0
Đặt/xóa bit
1 = đặt (set)
0 = xóa (reset)
Chọ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ờ đặt/xóa bit
0 = tích cực
Từ điều khiển đặt/xóa bit
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:
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.
Kết luận
Cùng với sự phát triển của khoa học kỹ thuật cũng như các lý thuyết điều khiển tự động dần được hoàn thiện, việc sử dụng máy tính trong lãnh vực điều khiển tự động ngày càng trở nên phổ biến và không thể thiếu trong lãnh vực này. Đồ án này không có tham vọng đưa ra tất cả các phương thức kết nối giữa bộ phận điều khiển (máy tính) và đối tượng được điều khiển (hệ thống chấp hành) mà chỉ đưa ra những vấn đề cơ bản để làm nền tảng cho những cái có quy mô lớn hơn tùy mục đích sử dụng. Card giao tiếp trong đồ án này là card theo tiêu chuẩn ISA, có các port là 8 bit tương ứng với từng địa chỉ. Hướng phát triển cho đồ án này là có thể thiết kế các port là 16bit, 32bit, ... và theo tiêu chuẩn PCI là tiêu chuẩn ngày càng phổ biến trên các thế hệ máy tính sau này. Một hạn chế khác của card giao tiếp trong đồ án này là chỉ có thể giao tiếp với các hệ thống làm việc với các tín hiệu số, vì thế một hướng phát triển thêm là thiết kế trên card giao tiếp các bộ biến đổi A/D và D/A để có thể thực hiện việc giao tiếp với các hệ thống làm việc với tín hiệu tương tự.

File đính kèm:

  • docdo_an_ky_thuat_thu_phat_de_tai_card_giao_tiep_may_tinh.doc
  • docBIATP.DOC
  • docMLTP.DOC