Đồ á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
ï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:
- do_an_ky_thuat_thu_phat_de_tai_card_giao_tiep_may_tinh.doc
- BIATP.DOC
- MLTP.DOC