bộ Ðiều khiển ghép nối vào ra song song 8255a-5

21
CHƯƠNG II BỘ IỀU KHIỂN GHÉP NỐI VÀO RA SONG song 8255A-5 I/ SƠ ÐỒ KHỐI -CÁC CHÂN CHỨC NĂNG 1/ Sơ đồ khối và các chân chức năng. Hình II-1 8255A-5 là vi mạch giao tiếp song song rất thông dụng trong toàn các hệ thống .Vi mạch này có 24 chân cho thiết bị I/O có thể lập trình hoạt động trong 3 mode khác nhau .8255A-5 có thể nối ghép bất kỳ thiết bị vào ra kiểu TTL và tương thích với 8088 .8255A-5 thường được sử dụng 6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r… www1.hut.edu.vn/…/chuong10.html 1/21

Upload: xoxo08

Post on 26-Oct-2014

115 views

Category:

Documents


5 download

DESCRIPTION

Tài liệu đo lường và điều khiển bằng máy tính

TRANSCRIPT

Page 1: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

CHƯƠNG II

BỘ�IỀU KHIỂN GHÉP NỐI VÀO RA SONG song 8255A-5

I/ SƠ ÐỒ KHỐI -CÁC CHÂN CHỨC NĂNG

1/ Sơ đồ khối và các chân chức năng.

Hình II-1

8255A-5 là vi mạch giao tiếp song song rất thông dụng trong toàn cáchệ thống .Vi mạch này có 24 chân cho thiết bị I/O có thể lập trình hoạtđộng trong 3 mode khác nhau .8255A-5 có thể nối ghép bất kỳ thiết bịvào ra kiểu TTL và tương thích với 8088 .8255A-5 thường được sử dụng

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 1/21

Page 2: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

để ghép nối với bàn phím và cổng máy in song song trong các máy PC .Ba cổng vào ra của nó được lập trình thành các nhóm 12 chân .Nhóm Abao gồm cổng A ( PA7 - PA0 ) và nửa cao của cổng C (PC7 - PC4 ) ,nhóm B bao gồm cổng B (PB7 - PB0 ) và nửa thấp của cổng C ( PC3 -PC0 ). 8255A-5 được chọn bằng chân CS của nó để lập trình và phục vụviệc ghi đọc ra cổng I/O . Hai chân A1,A0 chọn thanh ghi nội để lập trìnhhoặc hoạt động .Trong máy PC 8255A-5 được giải mã tại địa chỉ 60h-63h. Ðể 8255A-5 có thể đọc ghi thì chân CS phải ở mức logic 0 và địa chỉI/O phải được nối với chân A1 và A0 ,không cần quan tâm đến các chânđịa chỉ cổng còn lại và được giải mã bên ngoài để chọn 8255A-5 .

A1 A2 Chức năng

0 0 Cổng A

0 1 Cổng B

1 0 Cổng C

1 1 Thanh ghilệnh

Bảng II-1 :Bảng chọn địa chỉ I/O cho 8255 :

2/ Chức năng các khối .

* Khối đệm bus dữ liệu .

Ðây là bộ đệm 8 bit ,hai chiều được sử dụng để nối ghép 8255 với bushệ thống . Dữ liệu được gửi đi hay được tiếp nhận vào buffer thông quaviệc thực hiện lệnh IN (Input ) hoặc OUT (output )của CPU .Các từ điềukhiển và thông tin trạng thái cũng được vận chuyển qua bộ đệm bus dữliệu .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 2/21

Page 3: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

* Khối logic điều khiển ghi/đọc .

Chức năng của khối này là điều khiển việc trao đổi bên trong và bênngoài của các từ dữ liệu , từ điều khiển hay thông tin trạng thái .

- CS = 0: tín hiệu chọn mạch cho phép CPU điều khiển 8255

- RD =0 : Tín hiệu cho phép 8255 gửi dữ liệu hay thông tin trạng tháicho CPU thông qua bus dữ liệu .Nghĩa là CPU đọc thông tin này từ 8255.

- WR = 0 : Tín hiệu cho phép CPU ghi thông tin trạng thái (dữ liệu hoặctừ điều khiển vào 8255 ).

- A0, A1 : Các tín hiệu vào này chọn một trong ba cổng làm việc , hoặcthanh ghi điều khiển kết hợp với các tín hiệu RD ,WR thực hiện thao tácđọc ghi các cổng hoặc thanh ghi điều khiển . Bình thường các bit nàyđược nối với các bit thấp nhất của bus địa chỉ (A0 - A1 ) .

- RESET =1 : Xoá tất cả các thanh ghi bên trong của 8255 ,kể cả thanhghi điều khiển (control register) và tất cả các cổng (A,B,C ) được đặt vềchế độ các cổng vào .

* Khối điều khiển nhóm A và nhóm B.

Mỗi cổng trong số các cổng của vi mạch (cổng A ,B,C ) đều hoạt độngtheo chương trình điều khiển . Quá trình như sau, CPU 8088 gửi một từđiều khiển cho 8255 . Từ điều khiển này chứa các thông tin như : chế độhoạt động ,xác lập hoặc khởi tạo các bit...điều khiển hoạt động của8255 . Mỗi một khối điều khiển ( nhóm A và nhóm B ) tiếp nhận lệnh từkhối logic điều khiển đọc /ghi và nhận từ điều khiển từ bus dữ liệu bêntrong vi mạch và tạo ra các lệnh tương ứng cho các cổng .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 3/21

Page 4: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Nhóm A bao gồm cổng A và cổng C ( 4 bit cao C7 - C4 ).

Nhóm B bao gồm cổng B và cổng C ( 4 bit thấp C3 - C0 ).

Ðối với thanh ghi từ điều khiển ( control word register ) , chúng ta chỉcó thể ghi mà thôi ,nghĩa là không thể đọc được nội dung của nó .

* Các cổng A ,B,C .

Cổng A : Ðây là cổng ra đệm và chốt 8 bit dữ liệu ,và là cổng vào chốt(latch).

Cổng B: Ðây là cổng vào/ra chốt/đệm 8 bit dữ liệu và đệm vào 8 bit dữliệu

Cổng C : Ðầu ra 8 bit dữ liệu chốt /đệm và đầu vào đệm 8 bit.Cổng nàycó thể được chia thành hai cổng chốt 4 bit riêng biệt và được sử dụngđể đưa ra tín hiệu điều khiển và nhận vào tín hiệu trạng thái phối hợpvới cổng A và cổng B.

II/ CÁC CHẾ ÐỘ HOẠT ÐỘNG CƠ BẢN CỦA 8255.

Vi mạch 8255 có ba chế độ hoạt động cơ bản (Mode) ,có thể chọn cácchế độ hoạt động như sau.

Mode 0 : Chế độ vào ra cơ bản

Mode 1 : Chế độ vào ra có hội thoại (Strobe Input/Output )

Mode 2 : Chế độ vào ra bus hai chiều .

Hình vẽ sau minh hoạ các chế độ hoạt động cơ bản của 8255 :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 4/21

Page 5: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Khi tín hiệu RESET bằng 1 tất cả các cổng được đưa về trạng thái là cáccổng vào (Input port) nghĩa là tất cả 24 đường của ba cổng đều ở trạngthái trở kháng cao ). Sau khi tín hiệu RESET bằng 0 thì 8255 có thể duytrì trạng thái trên nếu như không có sự thiết lập trạng thái bổ xung nàonữa . Trong quá trình thực hiện chương trình của hệ thống ,bất kỳ mộtchế độ nào khác có thể được chọn nhờ sử dụng lệnh máy OUT.

Cấu trúc từ lệnh điều khiển ( control word ) như sau:

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 5/21

Page 6: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Các chế độ của cổng A và cổng B có thể được định nghĩa một cách riêngbiệt ,trong khi đó cổng C được chia thành hai phần vì lý do các định chocổng A và cổng B . Tất cả các thanh ghi nội và thông tin trạng thái sẽđược xoá khi chế độ thay đổi . Nhóm B ( Group B) có thể được lập trìnhở mode 0 để điều khiển các chuyển mạch đơn giản hoặc hiển thị các kếtquả tính toán .. Nhóm A có thể được lập trình hoạt động trong mode1để điều khiển bàn phím hoặc bộ đọc băng từ hoặc một bộ điều khiểnngắt cơ bản .

* Chức năng xoá bit và lập bit (single bit set/reset )

Bất cứ bit nào trong 8 bit của cổng C đều có thể được thiết lập hoặcđược xoá nhờ sử dụng các lệnh ghi ra thanh ghi điều khiển các bit phùhợp.Như vậy khi cổng C đang được dùng để điều khiển , ghi trạng tháicho cổng A hoặc cổng B thì những bit của cổng C có thể được xoá hoặcđược thiết lập nhờ sử dụng các lệnh xoá ,thiết lập bit như khi cổng C làcổng ra dữ liệu .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 6/21

Page 7: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

- Từ lệnh hoạt động trong chế độ như sau :

* Chức năng điều khiển ngắt .(Interrupt control )

Khi 8255 được lập trình hoạt động ở mode 1 hoặc mode 2 các tín hiệuđiều khiển của nó có thể được sử dụng như yêu cầu ngắt tới CPU .Tínhiệu yêu cầu ngắt tạo bới cổng C có thể bị cấm hay được phép nhờ xoáhay xác lập mạch lật INTE sử dụng chức năng lập xoá bit như đã nêutrên.

Chức năng này cho phép người lập trình có thể cho phép hoặc không chophép một thiết bị I/O ngắt CPU mà không gây ảnh hưởng tới bất kỳ mộtthiết bị nào khác trong cấu trúc ngắt .

1/ Mode 0.( Basic input/output).

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 7/21

Page 8: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Ðây là chế độ vào ra cơ bản của vi mạch, nó đảm bảo dữ liệu được đưara hoặc ghi vào các cổng riêng biệt .

Trong chế độ này , vi mạch có các chức năng sau :

- Vi mạch hoạt động gồm hai cổng 8 bit và hai cổng 4 bit

- Các cổng có thể là cổng vào hoặc cổng ra.

- Các tín hiệu ra được chốt lại .

- Các tín hiệu vào không được chốt .

- Trong chế độ này 8255 có 16 cấu hình hoạt động vào/ra như sau :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 8/21

Page 9: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 9/21

Page 10: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 10/21

Page 11: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

* Ðồ thị thời gian đọc /ghi của 8255 trong chế độ này như sau :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 11/21

Page 12: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Ðồ thị thời gian đọc .

Ðồ thị thời gian quá trình ghi .

2/Mode 1( Strobe input/output).

Trong chế độ này cổng A và cổng B sử dụng các đường dây tín hiệu củacổng C để tạo hoặc tiếp nhận tín hiệu hội thoại ( hanshaking signal )nghĩa là mọi quá trình trao đổi dữ liệu của từng cổng đều dùng các tínhiệu hội thoại.

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 12/21

Page 13: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Các chức năng cơ bản của Mode 1.

- Vi mạch hoạt động gồm hai nhóm ,nhóm A và nhóm B.

- Mỗi nhóm chứa một cổng 8 bit và một cổng điều khiển 4 bit.

- Cổng 8 bit có thể là cổng vào , hoặc cổng ra ,cả hai cổng vào ra đều làcổng chốt .

- Các cổng 4 bit được sử dụng để điều khiển và xác định trạng thái củacác cổng 8 bit.

- Các tín hiệu điều khiển vào được dùng trong chế độ vào :

- STB (Strobe input)

Mức thấp của tín hiệu vào này cho phép dữ liệu được đọc vào .

- IBF (Input Buffer Full)

Mức cao của tín hiệu ra này chỉ ra rằng dữ liệu đã được ghi vào cổngchốt ,về bản chất đây là một tín hiệu xác nhận . Tín hiệu IBF được xáclập khi tín hiệu STB đang ở mức thấp và được khởi tạo lại khi có sườndương củ đầu vào RD .

- INTR ( Interrupt Request )

Mức cao của tín hiệu ra này có thể được sử dụng để yêu cầu ngắt tớiCPU . Khi một thiết bị vào yêu cầu phục vụ , tín hiệu INTR được xác lậpbởi tín hiẹu STB =1 . Tín hiệu IBF=1 và INTE =1 .Tín hiệu này được khởitạo lại khi ở sườn sau của tín hiệu RD . Chức năng này cho phép cácthiết bị vào yêu cầu ngắt tới CPU một cách đơn giản bằng cách dưa dữliệu của nó ra cổng .

Các từ lệnh điều khiển và đồ thị thời gian của chế độ này như sau :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 13/21

Page 14: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

:

* Các tín hiệu điều khiển ra được dùng trong chế độ ra .

- OBF ( Output Bufer Full F/F).

Tín hiệu ra OBF chuyển về mức thấp để thông báo rằng CPU đã ghi dữliệu ra một cổng xác định .Tín hiệu OBF F/F sẽ được xác lập ở sườn lêncủa tín hiệu WR và bị xoá khi tín hiệu vào ACK ở mức thấp .

- ACK (Acknowledge Input ).

Mức thấp của tín hiệu vào này thông báo cho 8255 rằng dữ liệu từ cổngA hoặc cổng B đã được chấp nhận .Về bản chất đây là tín hiệu phúc đáptừ thiết bị ngoại vi thông báo nó đã nhận được dữ liệu gửi tới từ CPU .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 14/21

Page 15: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

- INTR (Interrupt Request )

Mức cao của tín hiệu ra này được sử dụng để yêu cầu ngắt CPU khi mộtthiết bị ngoài đã nhận được dữ liệu truyền từ CPU.. Tín hiệu INTR xáclạp khi tín hiệu ACK = "1" ,OBF = "1" và INTE ="1" . Tín hiệu này đượckhởi tạo lại ở sườn xuống của tín hiệu WR .

Các từ lệnh của chế độ này như sau :

* Ðồ thị thời gian của chế độ hoạt động này như sau :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 15/21

Page 16: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Trong mode 1 ,hai cổng A và B có thể được lập trình một cách riêng biệtlà cổng vào hoặc cổng ra để hoạt động trong các ứng dụng vào /ra cóhội thoại khác nhau .Các từ lệnh hoạt động trong chế độ này như sau .

3/Mode2 ( Strobed bi-directional Bus I/O) .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 16/21

Page 17: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

Chế độ hoạt động này cung cấp khả năng trao đổi dữ liệu với các thiếtbị ngoại vi sử dụng một đường truyền 8 bit để vừa truyền vừa nhận dữliệu

( Bus vào/ra hai chiều ) . Các tín hiệu hội thoại được dùng trong chế độnày để điều khiển việc truyền dữ liệu cũng tương tự như mode 1.

* Các chức năng cơ bản của Mode 2.

- Trong chế độ này chỉ có nhóm A được sử dụng .

- Cổng A là cổng vào/ ra hai chiều 8 bit .

- Các tín hiệu vào/ra đều được chốt lại.

- 5 bit của cổng C được sử dụng làm cổng điều khiển ,trạng thái chocổng A 8 bit.

* Các tín hiệu điều khiển ra .

- OBF( Output buffer full )

Tín hiệu ra OBF ở mức thấp thông báo CPU dã khi dữ liệu ra cổng A

ACK (Acknowledge)

Mức thấp của tín hiệu vào này cho phép bộ đệm ra bus dữ liệu của cổngA gửi dữ liệu . Ngược lại ,bộ đệm ra này sẽ ở trạng tahí trở kháng cao .

- INTE 1 ( Tín hiệu INTE phối hợp với tín hiệu OBF ).

Ðiều khiển bởi việc lập bit hoặc xoá bit PC4 .

* Các tín hiệu điều khiển vào .

- STB (Srobe input ).

Mức thấp của tín hiệu vào này đọc dữ liệu vào cổng vào chốt .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 17/21

Page 18: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

- IBF ( Input bufer Full ).

Mức cao của tín hiệu ra này chỉ ra rằng tín hiệu đã được ghi vào

cổng vào chốt .

- INTE2 ( Tín hiệu INTE phối hợp với tín hiệu IBF)

Ðiều khiển bởi việc xoá /lập bit của PC4

* Các từ lệnh hoạt động trong chế độ này như sau :

4/ Kết hợp các chế độ hoạt động.

Ngoài việc hoạt động riêng rẽ theo từng chế độ ,8255 còn có khả nănghoạt động đồng thời kết hợp các chế độ khi không phải tất cả các bittrong cổng C được sử dụng để điều khiển hoặc dành cho trạng thái . cácbit còn lại có thể được sử dụng để thực hiện các chức năng sau :

- Khi được lập trình là các đường vào tín hiệu :

Tất cả các đường vào tín hiệu đều có thể được truy cập trong suốt quátrình đọc cổng C thông thường . Như trong hình vẽ minh hoạ sau :

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 18/21

Page 19: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

- Khi được lập trình là các đường tín hiệu ra .

Các bit trong số các bit cao của cổng C ( PC7- PC4) phải được truy cậpmột cách riêng rẽ bằng cách sử dụng chức năng xoá /lập bit.

Các bit trong số các bit thấp của cổng C có thể truy cập bằng chức năngxoá /lập bit hoặc dùng 3 bit tương ứng ghi ra cổng C .

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 19/21

Page 20: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

* Ðọc trạng thái cổng C.

Trong mode 0 ,cổng C truyền dữ liệu tới hoặc từ thiết bị ngoại vi . Khi8255 được lập trình hoạt động trong mode 1 hoặc mode 2 ,cổng C được

sử dụng để tạo ra hoặc nhận tín hiệu hội thoại trao đổi với thiết bịngoại vi. Ðọc nội dung của cổng C cho phép người lập trình kiểm tra

trạng thái của các thiết bị ngoại vi và điều khiển quá trình trao đổi dữliệu . Không có lệnh đặc biệt nào dùng để đọc thông tin trạng thái từ

cổng C mà chỉ có thao tác đọc thông thường thực hiện chức năng này .

III/ GHÉP NỐI VỚI 8088

Trong IBM PC ,8255A-5 đầu vào cổng A đọc trạng thái chuyển mạch SW1tín hiệu ra đầu PB7 ở mức thấp và đọc một byte từ bàn phím khi PB7 ởmức cao . SW1 xác định xác định kiểu màn hình ,số ổ đĩa ,dung lượngbộ nhớ trên board hệ thống . Hai bit trong 4 bit cao của đầu vào cổng Ccủa 8255A-5 kiểm tra RAM chẵn lẻ và trạng thái kênh IO cho bộ tạongắt NMI biết .Hai bit còn lại đọc dữ liệu đưa vào từ catsette và kênhsố 2 của 8253-5 . Bốn byte thấp xác định giá trị nhị phân của số khối32Kbyte RAM trong kênh I/O xác định bởi vị trí của SW2 trên board hệthống . Giá trị này cho phép PC quản lý tới 8 băng 64Kbyte trên kênhI/O .Cổng ra B của 8255A-5 được sử dụngđể cho phép kênh 2 của 8253-5 tạo ra xung vuông đưa ra loa và đầu ra catsette ; gửi tín hiệu đã đượclập trình ra loa (bit PB1) ; đọc 4 bit thấp trạng thái SW2 ( bằng cách đặtPB2 =1 ); Tắt motor của catsete (đặt PB3 =1 );cho phép kiểm tra trạng

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 20/21

Page 21: bộ Ðiều khiển ghép nối vào ra song song 8255A-5

thái RAM chẵn lẻ và trạng thái kênh I/O đọc bởi cổng C của 8255A-5 (bằng cách đặt PB4 và PB5 bằng 0 ); điều khiển đường keyboard clock ởmức thấp và chọn cổng A đọc SW1 ( khi PB7 =1) hoặc dữ liệu của bànphím (khi PB7=0 ) .

Vi mạch cổng song song lập trình được PPI 8255 có khả năng hoạt độngtrong các chế độ hoạt động khác nhau các chế độ hoạt động này có thểkết hợp được với nhau tạo khả năng lập trình điều khiển hoạt động mộtcách linh hoạt .

[ Về đầu trang ]

6/19/2009 VIII/ bộ Ðiều khiển ghép nối vào r…

www1.hut.edu.vn/…/chuong10.html 21/21