ghép nối_cong io

115
1 Môn học: Thiết bị ngoại vi và Kỹ thuật ghép nối (tài liệu lưu hành nội bộ) Bộ môn Kỹ thuật máy tính Khoa CNTT- ĐH BKHN

Upload: nguyen-thao-nguyen

Post on 12-Dec-2014

137 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: ghép nối_Cong IO

1

Môn học: Thiết bị ngoại vi và Kỹ thuật ghép nối

(tài liệu lưu hành nội bộ)

Bộ môn Kỹ thuật máy tính

Khoa CNTT- ĐH BKHN

Page 2: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối2

Chương 3:Cổng vào ra và nối ghép với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

6. Cổng nối tiếp

Page 3: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối3

Định địa chỉ cổng vào-ra

• Nối ghép vào ra là nối ghép giữa bộ VXL với các cổng vào-ra.

• Mỗi cổng vào-ra sẽ có 1 địa chỉ xác định.• Thiết bị ngoại vi sẽ được nối ghép và trao đổi dữ

liệu thông qua các cổng vào-ra.

Bévi xö

cæng IOcæng IO

cæng IO

TBNV

TBNV

TBNV

Page 4: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối4

Định địa chỉ cổng vào-ra

Hai kiểu định địa chỉ cổng vào-ra.1. Vào-ra cách biệt (Isolated IO)

2. Vào-ra theo bản đồ bộ nhớ (Memory mapped IO)

Page 5: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối5

Vào-ra cách biệt (Isolated IO)

1. Vào-ra cách biệt (Isolated IO) Không gian địa chỉ của bộ nhớ và cổng vào

ra là riêng biệt 8088 có khả năng quản lý không gian nhớ = 1MB

(= 220 bytes) Quản lý không gian vào-ra = 64KB (= 216 bytes)KG ®Þa chØ bé nhí A19A0 K ®Þa chØ

vµo ra A15A0 00000H00001H00002H

FFFFFH

0000H0001H

FFFFH

Page 6: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối6

Vào-ra cách biệt (Isolated IO)

Để phân biệt truy nhập cổng IO hay bộ nhớ, 8088 có 1 tín hiệu:

Cổng vào được điều khiển bằng tín hiệu (đọc) Cổng ra được điều khiển bằng tín hiệu (ghi) Cổng vào ra (2 chiều)

nhíbénhËptruy0

IOcængnhËptruy1MIO/

Page 7: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối7

Vào-ra cách biệt (Isolated IO)

Các lệnh vào ra trực tiếp:• Được dùng để trao đổi dữ liệu với cổng trong trường

hợp cổng được thiết kế theo kiểu vào-ra cách biệt.• Lệnh IN:IN AL, địa chỉ cổng (8 bit) (1) cổng cố định, quản

IN AX, địa chỉ cổng (16 bit) (2) lý 256 byte cổng(1) : nhận dữ liệu từ cổng 8 bit với địa chỉ được cho trong lệnh ALVD : IN AL, 3Ah

hay IN AL, 00111010b(2) : nhận dữ liệu từ cổng 16 bit với địa chỉ được cho trong lệnh AXVD : IN AX, 40h nhận dữ liệu từ 2 cổng 8 bit ( cổng byte) với địa chỉ là 40h và 41h

Page 8: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối8

Vào-ra cách biệt (Isolated IO)

IN AL, DX (8 bit) (3) cổng

IN AX, DX (16 bit) (4) thay đổi

(3) : nhận dữ liệu từ cổng byte AL

(4) : nhận dữ liệu từ cổng word AX

DX : thanh ghi chứa địa chỉ cổng, địa chỉ 16 bit (quản lý 65535 byte cổng).

VD : Muốn nhận dữ liệu từ cổng 03F8h AL ?

MOV DX, 03F8h

IN AL, DX

Page 9: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối9

Vào-ra cách biệt (Isolated IO)

Lệnh OUT:• OUT địa chỉ cổng, AL

(đưa dữ liệu từ AL ra cổng byte)• OUT địa chỉ cổng, AX

(đưa dữ liệu từ AX ra cổng word)• VD:

OUT DX, AL

OUT DX, AX

Page 10: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối10

Vào-ra cách biệt (Isolated IO)

VD1:Giả sử có 1 hệ thống VXL 8088 có 2 cổng vào với địa chỉ tương ứng là 3Ah, 3Bh, và 1 cổng ra có địa chỉ là 40h. Hãy viết 1 đoạn chương trình nhận 100 cặp dữ liệu từ 2 cổng vào, cộng lần lượt từng cặp rồi đưa kết quả ra cổng ra (giả thiết số liệu đủ nhỏ để không bị tràn).

Page 11: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối11

Vào-ra cách biệt (Isolated IO)

Giải:

MOV CX,100 ; số cặp dữ liệu cần nhận

LAP:IN AL, 3Ah ; nhận dữ liệu từ cổng 3Ah

MOV BL, AL ; đưa dữ liệu AL ? BL

IN AL, 3Bh ; nhận dữ liệu từ cổng 3Bh

ADD AL, BL ; cộng 2 dữ liệu với nhau

OUT 40h, AL ; đưa ra cổng 40h

LOOP LAP ; lặp lại

Page 12: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối12

Vào-ra cách biệt (Isolated IO)

Thêm: Nếu tổng > 10 40h tổng 10 41hMOV CX, 100LAP:

IN AL, 3AhMOV BL, ALIN AL, 3BhADD AL, BLCMP AL ,10 ; AL 10 ?JNG NHAY ; đúng nhảyOUT 40H, AL ; sai đưa AL ra địa chỉ 40hJMP TOP ; nhảy quaNHAY:

OUT 41H, AL ; đưa AL ra địa chỉ cổng 41h

TOP:LOOP LAP ; lặp lại

Page 13: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối13

Định địa chỉ cổng vào-ra

Hai kiểu định địa chỉ cổng vào-ra.1. Vào-ra cách biệt (Isolated IO)

2. Vào-ra theo bản đồ bộ nhớ (Memory mapped IO)

Page 14: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối14

Vào-ra theo bản đồ bộ nhớ

Vào-ra theo bản đồ bộ nhớ (Memory mapped IO) • Cổng vào ra được đánh địa chỉ theo không gian

địa chỉ bộ nhớ (cổng vào ra được ánh xạ từ không gian nhớ)

Số bit địa chỉ để đánh cho mỗi cổng = số bit địa chỉ dành cho ngăn nhớ.

CPU dùng các lệnh trao đổi với ngăn nhớ để trao đổi dữ liệu cổng.

Page 15: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối15

Vào-ra theo bản đồ bộ nhớ

VD : Lệnh MOV

MOV BL, [2000h]• Lưu ý: Trong thực tế 1

số bộ VXL không có không gian vào-ra cách biệt, vd:Motorola 680x0.

=

cæng IO

cæng IO

KG ®Þa chØ BN

00000H

FFFFFH

Page 16: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối16

Chương 3: Nối ghép vào-ra với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

6. Cổng nối tiếp

Page 17: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối17

Giải mã địa chỉ cho cổng vào-ra

Mỗi cổng IO cần phải có 1 địa chỉ xác định. Với 8088 cổng có thể được thiết kế theo không

gian nhớ, không gian vào-ra 64KB hoặc không gian vào-ra 256 byte.

Có 2 phương pháp giải mã địa chỉ cổng phổ biến:• Giải mã địa chỉ dùng các cổng logic cơ bản• Giải mã địa chỉ dùng các bộ giải mã có sẵn

Page 18: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối18

Giải mã địa chỉ dùng các cổng logic

Giải mã địa chỉ dùng các cổng logic cơ bản:

Ví dụ 1:

Thiết kế giải mã địa chỉ cho 1 CỔNG VÀO dinh dc theo kieu rieng biet có địa chỉ là 5Fh. __

IO/M = 1 ( truy nhập IO)

__

RD =0;

A7 A6 A5 A4 A3 A2 A1 A0

5fh 0 1 0 1 1 1 1 1

Page 19: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối19

Giải mã địa chỉ dùng các cổng logic

Page 20: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối20

Giải mã địa chỉ dùng các cổng logic

Ví dụ 2:Thiết kế giải mã địa chỉ cho 1 cổng ra có địa chỉ 39h. __

IO/M = 1 ( truy nhập IO)___WR =0;

A7 A6 A5 A4 A3 A2 A1 A0

39h 0 0 1 1 1 0 0 1

Page 21: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối21

Giải mã địa chỉ dùng các cổng logic

Page 22: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối22

Giải mã địa chỉ cho cổng vào-ra

Giải mã địa chỉ dùng các bộ giải mã có sẵn:• Mạch giải mã 74LS139 (vào 2 ra 4)• Mạch giải mã 74LS138 (vào 3 ra 8)

Page 23: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối23

Mạch giải mã 74LS139

• Sơ đồ khối:

• A, B : 2 tín hiệu vào

• G : tín hiệu điều khiển

• : 4 tín hiệu ra30 yy

Page 24: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối24

Mạch giải mã 74LS139

Bảng trạng thái:

Page 25: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối25

Mạch giải mã 74LS138

Page 26: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối26

Mạch giải mã 74LS138

Bảng trạng thái:

Page 27: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối27

Giải mã dùng bộ giải mã có sẵn

Ví dụ 1:

Thiết kế giải mã địa chỉ cho 8 cổng vào có địa chỉ từ 00 07h

Page 28: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối28

Giải mã dùng bộ giải mã có sẵn

Page 29: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối29

Chương 3: Nối ghép vào-ra với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

6. Cổng nối tiếp

Page 30: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối30

Nguyên lý bit cổng

Sơ đồ nguyên lý của một bit cổng

Page 31: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối31

Nguyên lý bit cổng

Triger ( Flip-Flop) D: • Là một mạch chốt dữ liệu, lưu trữ bit

dữ liệu.• Bảng chân lý:

Clk D Q

0 x x ( Q ở trạng thái trước)

1 1 1

1 0 0

Clk ở mức tích cực: Q = D. Clk ở mức thấp: trạng thái của Triger D sẽ

được chốt, khi đó đầu ra Q luôn luôn giữ giá trị đó cho đến khi Clk chuyển sang mức cao và có giá trị D mới.

Page 32: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối32

Nguyên lý bit cổng

Đệm 3 trạng thái:• /C =0 : đầu ra bằng đầu vào• /C=1 : đầu ra ở trở kháng cao

Page 33: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối33

Nguyên lý bit cổng

MOSFET (Metal Oxide Semiconductor Field Effect Transistor) Transitor trường:• Điều khiển bởi điện áp ở gate.

Page 34: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối34

Nguyên lý bit cổng

Đọc dữ liệu:• Đọc tín hiệu từ chân IO:

Read Pin =0: Đệm 3 trạng thái thông, tín hiệu từ IO pin được truyền tới Data bus

Page 35: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối35

Nguyên lý bit cổng

Ghi dữ liệu: ? Write=1:Q=Data(i).• Data(i)=0:

/Q=1

Gate=1

Rds nhỏ, IO pin =0• Data(i)=1:

/Q=0

Gate=0

Rds >>, IO pin =1

Page 36: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối36

Chương 3: Nối ghép vào-ra với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

6. Cổng nối tiếp

Page 37: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối37

Cổng song song

Cổng vào ra song song:

cho phép truyền số liệu đồng thời các bit của một từ dữ liệu trong một nhịp truyền.

Ưu điểm:

Truyền đồng thời được nhiều bit dữ liệu Nhược điểm:

Khoảng cách truyền ngắn thường từ 1.5-2m do nhiễu gây bởi các dây truyền.

Page 38: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối38

Cổng LPT

Cổng song song LPT (Centronics Port):• Ghép nối với các thiết bị như : máy quét, ổ cứng

rời, ADC, PC remote control…• Trong các dóng máy IBM, cổng song song chủ

yếu dùng cho ghép nối với máy in nên thường gọi là cổng LPT (Line Printer).

• Trong dòng máy Mac có cổng song song là SCSI port.

Page 39: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối39

Cổng LPT

Page 40: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối40

Cổng LPT

Chức năng của các chân tín hiệu:

Strobe (chân số 1): =0~máy tính bào cho máy in là sẵn sàng truyền một byte

D0-D7: Các đường dẫn dữ liệuACK (Acknowledgement): =0~Máy in thông

báo cho máy tính biết là đã nhận được ký tự trước đó và có thể nhận tiếp tục nhận

_____Busy(11): =0~máy in thông báo cho máy tính

biết các bộ đệm trong máy in đầy Paper Empty:1~ Hết giấyONLINE: 1 ~ Máy in đang ở trạng thái được

kích hoạt

Page 41: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối41

Cổng LPT

Auto Linefeed: 0~PC nhắc máy in tự động nạp dòng mới mỗi khi kết thúc một dòng

Error: 0~máy in báo lỗi

INIT: 0~máy in được đặt trở lại trạng thái được xác định ban đầu

Select Input: 0~ máy in được lựa chọn bởi máy tính.

Các chân từ 18-25 được nối đất.

Page 42: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối42

Cổng LPT

Sơ đồ khối:

Cổng song songThanh ghi

Số liệu

Thanh ghi Trạng thái

Thanh ghi điểu khiển

Logic IRQ

Giải mã địa chỉ

5 Tín hiệu điều trạng thái

D0-D7

4 Tín hiệu điều khiển

8 chân nối đất

D0-D7

A0-A9

ioR

ioW

Bus PC

Page 43: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối43

Cổng LPT

Các đường tín hiệu cảu cổng song song được nối với 3 thanh ghi 8 bit:• Thanh ghi điều khiển• Thanh ghi số liệu• Thanh ghi trạng thái

Các máy tính có thể được trang bị một hoặc nhiều cổng LPT• Địa chỉ cơ sở của LPT1 là 378h, LPT2 là 278h

Page 44: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối44

Cổng LPT

Offset của:• Thanh ghi số liệu =0• Thanh ghi trạng thái =1• Thanh ghi điều khiển=2

Thanh ghi số liệu:Địa chỉ cơ bản + 0 (378h/ 278 h)

Tín hiệu máy in D7 D6 D5 D4 D3 D2 D1 D0

Chân 9 8 7 6 5 4 3 2

Page 45: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối45

Cổng LPT

Thanh ghi trạng thái:• Địa chỉ: Địa chỉ cơ bản + 1 (379h/ 279 h)

Tín hiệu máy in /BSY /ACK PE ER Online x x X

Chân 11 10 12 15 13 - - -

Page 46: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối46

Cổng LPT

Thanh ghi điều khiển:• Địa chỉ: Địa chỉ cơ sở + 2

• X:không sử dụng;• IRQ: yêu cầu ngắt cứng : 1 =cho phép;• Select Input: Chọn máy in• /INIT: Khởi động máy in• Auto feed: tự động xuống dòng• STR: Strobe 1: truyền số liệu tới máy in

Tín hiệu

máy in

x x x IRQ SelectInput

/Init Auto

Feed

Strobe

Chân - - - - 17 16 14 1

Page 47: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối47

Cổng LPT

Chế độ hoạt động cơ bản (Standard Parallel Port –SPP):• Truyền tin có báo nhận:đồng bộ qua /STB và báo

nhận qua ACK

Page 48: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối48

Cổng LPT

Máy tính đặt số liệu lên bus Kích hoạt /STB : báo cho máy in dữ liệ đã ône

định. Máy in nhận xong sẽ trả lại /ACK ở mức thấp. Máy tính đợi BSY hết bận thì lại truyền tiếp

Page 49: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối49

Chương 3: Nối ghép vào-ra với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A

6. Cổng nối tiếp

Page 50: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối50

PPI 8255A

Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

Đặc điểm cơ bản:+ Vi mạch 40 chân.+ Mạch nối ghép vào ra song song có khả năng lập

trình được.+ Tương thích với bộ vi xử lý của Intel.+ Có các cổng vào ra song song làm việc ở các chế

độ khác nhau.+ Nguồn 5V.

Page 51: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối51

PPI 8255A

Sơ đồ khối :

Page 52: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối52

PPI 8255A

D7 - D0 : 8 chân dữ liệu nối ghép với bus dữ liệu (có bộ đệm để ngăn cách bên trong với bên ngoài).

/RD :tín hiệu điều khiển đọc cổng. /WR :tín hiệu điều khiển ghi cổng. /CS :tín hiệu chọn mạch. Chân của 8255A được nối với đầu ra của một bộ giải

mã địa chỉ để xác định địa chỉ cơ sở cho mạch.

Page 53: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối53

PPI 8255A

A0, A1: sẽ chọn ra 4 thanh ghi bên trong 8255A: • 1 thanh ghi để ghi từ điều khiển (CWR - control word

register) cho hoạt động của 8255A, • 3 thanh ghi ứng với các cổng A (8 bit), B (8 bit), C (gồm

cổng C nửa cao - 4 bit và cổng C nửa thấp - 4 bit) để đọc/ghi dữ liệu.

• Và ta thấy, cổng A cũng chính là địa chỉ cơ sở của 8255A.

Page 54: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối54

PPI 8255A

PA7 - PA0 : 8 đường vào-ra của cổng A PB7 - PB0 : 8 đường vào-ra của cổng B PA7 - PA0 : 8 đường vào-ra của cổng C

Page 55: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối55

PPI 8255A

Các chế độ làm việc :• Tuỳ thuộc vào nội dung của thanh ghi điều khiển

mà 8255 sẽ làm việc ở các chế độ khác nhau:• Nếu bit D7 = 1 thì nội dung của các bit còn lại

được dùng để định nghĩa cấu hình các cổng.• Nếu bit D7 = 0 thì nội dung của các bit còn lại

được dùng để đặt/xóa các bit của cổng C.

Page 56: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối56

PPI 8255A

a) Chế độ định nghĩa cấu hình:

Page 57: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối57

PPI8255A

Ví dụ : • Tìm từ điều khiển

sao cho các nhóm làm việc ở chế độ 0. Cổng A : vào ; Cổng B : ra ; Cổng C cao : vào;Cổng C thấp : ra

• Giải:

1 00 1 1 0 0 0

CW=98h

Page 58: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối58

PPI8255A

Ví dụ ?: • Tìm từ điều khiển sao cho

các nhóm làm việc ở chế độ 0. Cổng A :vào ; Cổng B :vào ; Cổng C cao: vào ;Cổng C thấp : vào

• Giải:

1 00 1 1 0 1 1

CW=9Bh

Page 59: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối59

PPI8255A

Ví dụ ?: • Tìm từ điều khiển sao cho

các nhóm làm việc ở chế độ 0. Cổng A :vào ; Cổng B :vào ; Cổng C vào

• Giải:

1 00 1 1 1 1 1

CW=9Fh

Page 60: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối60

PPI8255A

Ví dụ ?: • Tìm từ điều khiển sao cho

các nhóm làm việc ở chế độ 0. Cổng A :ra ; Cổng B :ra ; Cổng C cao: vào ;Cổng C thấp : vào

• Giải:

1 00 0 1 0 0 1

CW=89h

Page 61: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối61

PPI 8255A

8255A có 4 chế độ làm việc:• Chế độ 0: Vào/ra cơ sở(vào/ra đơn giản):

Các cổng A,B,CH, CL đều có thể được sử dụng làm các cổng vào hoặc ra.

Có 16 khả năng cấu hình các cổng làm vào hoặc ra.

• Chế độ 1: Vào/ra có xung cho phép (Strobed Input/Output) :A,B đều có thể được sử dụng làm các cổng vào

hoặc ra CH, CL được dùng làm các tín hiệu bắt tay

(handshaking)khi A, B trao đổi dữ liệu

Page 62: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối62

PPI 8255A

Chế độ 2: Vào ra 2 chiều:• Chỉ có cổng A có thể được sử dụng làm cổng vào

hoặc ra. • Các tín hiệu bắt tay do các bit của cổng C đảm

nhiệm.• PB chỉ làm việc như trong chế độ 0 hoặc 1.

Chế độ Lập/ xóa các bit PCi.

Page 63: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối63

Chế độ 1: Vào/ra với xung cho phép

Vào dữ liệu trong chế độ 1

( /RD= 0):• /STBA,/STBB(Strobe): là

tín hiệu đi vào 2 bit của cổng C: PC4(), PC2(). Tích cực ở mức 0 .Khi

dữ liệu sẵn sàng để được đọc vào bởi PA,PB, thiết bị ngoại vi truyền cho 8255 biết.

Page 64: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối64

Chế độ 1: Vào/ra với xung cho phép

IBFA, IBFB (Input Buffer Full): • Đệm vào cổng A hoặc B

đầy. Sau khi 8255 nhận được dữ liệu từ một thiết bị ngoại vi nào đó vào các cổng A, B, nó báo lại thiết bị ngoại vi bằng tín hiệu này cho biết đã nhận hết dữ liệu.

Page 65: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối65

Chế độ 1: Vào/ra với xung cho phép

Ra dữ liệu trong chế độ 1 (/WR = 0):• /ACKA,/ACKB:

(Acknowlege): tbnv báo đã nhận được dữ liệu,

Hai tín hiệu này được truyền tới cổng A, B tại bit 6 và bit 2 của cổng C.

Page 66: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối66

Chế độ 1: Vào/ra với xung cho phép

/OBFA,/OBFB (Output Buffer Full): đệm vào cổng A hoặc B đầy. • Sau khi 8255 nhận được

dữ liệu từ bộ vi xử lý và sẵn sàng cho ra các cổng A, B, nó báo với thiết bị ngoại vi bằng tín hiệu này cho biết đã sẵn sàng truyền dữ liệu.

Page 67: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối67

Chế độ 1: Vào/ra với xung cho phép

Trong chế độ 1: PA, PB có thể được cấu hình để thành các cổng vào/ra riêng biệt*

Page 68: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối68

Chế độ 1: Vào/ra với xung cho phép

A –ra, B-vào

Page 69: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối69

Chế độ 2: Chế độ bus hai chiều

Chế độ 2: Chế độ bus hai chiều (Bi-directional Bus) :• Trong chế độ này chỉ riêng cổng A được định

nghĩa để làm việc như một cổng 2 chiều có các tín hiệu móc nối do một số bit của cổng C đảm nhiệm

• Cổng B thì có thể làm việc ở chế độ 1 hoặc 0 tùy theo các bit điều khiển trong CWR. Các chân tín hiệu còn lại của cổng C có thể được định nghĩa để làm việc như các chân vào hoặc ra, hoặc phục vụ cho cổng B.

Page 70: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối70

Chế độ 2: Chế độ bus hai chiều

Page 71: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối71

Chế độ 2: Chế độ bus hai chiều

Page 72: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối72

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC5 = 1:

CW=0 000 101 1= 0Bh

Page 73: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối73

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC2 = 1 ?

CW=0 000 010 1= 05h

Page 74: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối74

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC7 = 0 ?

CW=0 000 111 0= 0Eh

Page 75: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối75

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC3 = 0 ?

CW=0 000 011 0= 06h

Page 76: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối76

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC4 = 1 ?

CW=0 000 100 1= 09h

Page 77: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối77

Chế độ đặt/xóa các bit cổng C

Tìm từ điều khiển để lập bit PC1 = 1 ?

CW=0 000 001 1= 0Eh

Page 78: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối78

Nối ghép và lập trình cho 8255A

Chỉ xét với trường hợp nối ghép 8255A với 8088 theo kiểu vào-ra cách biệt với số bit địa chỉ là 8 bit

Ví dụ 1:a) Nối ghép 8255A với hệ 8088 như sau :

Cổng A có địa chỉ là 50hCổng B có địa chỉ là 51hCổng C có địa chỉ là 52hThanh ghi điều khiển có địa chỉ là 53h

b) Lập trình để định nghĩa chế độ 0 cho 8255A với cấu hình các cổng như sau:Cổng A: VàoCổng B: RaCổng C: Ra

c) Lập trình nhận 100 dữ liệu từ cổng A và lần lượt đưa ra cổng B và C.

Page 79: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối79

Nối ghép và lập trình cho 8255A

Lời giải: a)Giải mã địa chỉ:Cổng A 50h; Cổng B 51h; Cổng C 52h

Thanh ghi điều khiển có địa chỉ là 53h

Page 80: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối80

Nối ghép và lập trình cho 8255A

Page 81: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối81

Nối ghép và lập trình cho 8255A

b) Lập trình để định nghĩa chế độ 0 cho 8255A với cấu hình các cổng như sau:

Cổng A: Vào Cổng B: Ra

Cổng C: Ra

Tìm từ điều khiển:

1 00 1 0 0 0 0= 90h

Lập trình:MOV AL, 90h

OUT 53h, AL

Page 82: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối82

Nối ghép và lập trình cho 8255A

C) Lập trình nhận 100 dữ liệu từ cổng A và lần lượt đưa ra cổng B và C.

MOV CX, 100 ; nhận 100 dữ liệuLAP :

IN AL, 50H ; từ cổng AOUT 51H, AL ; đưa ra cổng BOUT 52H, AL ; và cổng CLOOP LAP

Page 83: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối83

Nối ghép và lập trình cho 8255A

Ví dụ 2:Cho mạch nối ghép giữa hệ VXL 8088 với PPI 8255 như

hình vẽ.a) Tìm địa chỉ của các cổng.b) Tìm từ điều khiển sao cho cổng:A : cổng raB : cổng vàoCthấp : cổng vàoCcao : cổng rac) Lập trình cho 8255 để nhận dữ liệu từ cổng B và gửi ra

cổng A sau đó nhận dữ liệu từ cổng Cthấp và gửi ra cổng C cao.

Page 84: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối84

Nối ghép và lập trình cho 8255A

Page 85: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối85

Nối ghép và lập trình cho 8255A

Page 86: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối86

Nối ghép và lập trình cho 8255A

b)A : cổng ra

B : cổng vào

Cthấp : cổng vào

Ccao : cổng ra

=>từ điều khiển 10000011= 83h

Page 87: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối87

Nối ghép và lập trình cho 8255A

c)Lập trình cho 8255 để nhận dữ liệu từ cổng B và gửi ra cổng A sau đó nhận dữ liệu từ cổng Cthấp và gửi ra cổng Ccao.

Lập trình:

MOV AL, 83H ; lấy từ điều khiển

OUT 7FH, AL ; nạp cho thanh ghi điều khiển

IN AL, 7DH ; nhận dữ liệu từ cổng B

OUT 7CH, AL ; đưa ra cổng A

IN AL, 7EH ; nhận dữ liệu từ cổng C thấp

MOV CL, 4 ; quay

ROL AL, CL ; trái AL 4 bit

OUT 7EH, AL ; đưa ra cổng C cao

Page 88: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối88

Nối ghép và lập trình cho 8255A

Bài tập 3:

Cho mạch nối ghép giữa hệ VXL 8088 với PPI 8255A như sau:

a) Thiết lập PC2 = 1

b) Tạo xung có dạng sau đây ở PC6 ;

Giả sử có ctc tạo trễ 20ms DELAY20 T = 60ms

2T/3

Page 89: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối89

Nối ghép và lập trình cho 8255A

Page 90: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối90

Nối ghép và lập trình cho 8255A

Giải:a) Thiết lập PC2 = 1:

Địa chỉ của thanh ghi điều khiển:

khiển để PC2 = 1

Từ điều khiển để PC6 = 1

Từ điều khiển để PC6 = 0

Page 91: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối91

Nối ghép và lập trình cho 8255A

b) Lập trình:để tạo xungMOV AL, 05H ; nạp từ điều khiển

OUT 93H, AL ; để PC2 = 1

LAP:

MOV AL, 0DH ; nạp từ điều khiển

OUT 93H, AL ; để PC6 = 1

CALL DELAY20 ; trễ 20ms

CALL DELAY20 ; trễ 20ms

MOV AL, 0CH ; nạp từ điều khiển

OUT 93H, AL ; để PC6 = 0

CALL DELAY20 ; trễ 20ms

JMP LAP ; lặp lại

Page 92: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối92

Chương 3: Nối ghép vào-ra với 8088

1. Định địa chỉ cổng vào-ra

2. Giải mã địa chỉ cho cổng vào-ra

3. Nguyên lý bit cổng

4. Cổng song song

5. Mạch nối ghép ngoại vi lập trình được 8255A (Programable Peripheral Interface - PPI 8255A)

6. Cổng nối tiếp

Page 93: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối93

Truyền tin nối tiếp

Lý do sử dụng truyền thông tin nối tiếp:• Bus dữ liệu của hệ VXL được thiết kế để trao đổi

dữ liệu song song với các mạch vào-ra. Tuy nhiên trong nhiều trường hợp, người ta phải thực hiện trao đổi thông tin nối tiếp có tốc độ chậm hơn, đó là khi:

• Thiết bị vào-ra cần trao đổi dữ liệu vốn đã là vào-ra nối tiếp.VD như băng từ, ... hoặc các TBNV không cần tốc độ cao như bàn phím, ...

Page 94: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối94

•Khoảng cách giữa 2 đơn vị cần trao đổi dữ liệu là tương đối lớn.Khi khoảng cách lớn, giá cả sẽ tăng lên theo tổng số các dây dẫn số liệu, ngoài ra còn chi phí cho các bộ biến đổi thu phát và các bộ khuếch đại cũng là những vấn đề đáng quan tâm. Khi đó việc sử dụng trao đổi nối tiếp là kinh tế hơn mặc dù nó cũng có những hạn chế nhất định.

Page 95: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối95

Truyền tin nối tiếp:• Trao đổi thông tin theo phương thức

truyền nối tiếp là truyền liên tiếp từng bit một trên một đường truyền. Cách truyền nhận thông tin theo cách này được thực hiện thông qua cổng giao tiếp nối tiếp hay còn được gọi là cổng COM trên máy vi tính .

Page 96: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối96

Truyền tin nối tiếp

Hệ thống trao đổi thông tin nối tiếp gồm có các dạng:• Đơn công (Simplex Connection):

số liệu chỉ được truyền theo 1 hướng.

Page 97: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối97

• Bán song công (Half-Duplex): số liệu có thể truyền đi theo 2 hướng, nhưng mỗi thời điểm chỉ được truyền theo 1 hướng.

• Song công (Full-Duplex): số liệu được truyền đồng thời theo 2 hướng

Page 98: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối98

Truyền tin nối tiếp

Phương thức hoạt động:

• Ở đầu phát, dữ liệu dưới dạng song song đầu tiên được chuyển thành dữ liệu dạng nối tiếp. Tín hiệu nối tiếp sau đó được truyền đi liên tiếp từng bit trên đường dây.

Page 99: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối99

Ở đầu thu, tín hiệu nối tiếp sẽ được biến đổi ngược lại để chuyển sang dạng song song thích hợp cho việc xử lý tiếp theo

Page 100: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối100

Chuẩn RS-232:

Page 101: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối101

Chuẩn RS-232

Page 102: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối102

Chuẩn RS-232

Điều khiển thông tin nối tiếp giữa hai thiết bị: • Tùy thuộc vào tương quan giữa các tốc độ

truyền và thu số liệu mà có thể cần phải có sự điều khiển thông tin hay không.

• Nếu máy thu có khả năng đọc các kí tự thu trước khi máy phát truyền kí tự tiếp theo thì không cần có sự điều khiển này. Đó là thông tin không có móc nối - không có bắt tay (no-handshake).

Page 103: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối103

Chuẩn RS-232

Máy thu nhận các kí tự và lưu trữ vào một vùng nhớ đặc biệt trước khi đọc nó, vùng nhớ này gọi là bộ đệm thu (receive buffer) - điển hình vùng này chỉ lưu giữ 1 kí tự.

Page 104: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối104

Nếu các kí tự đã được đưa đến đây không được đọc kịp trước khi nhận kí tự khác (ta nói bộ đệm chưa được làm rỗng) thì có thể xảy ra hiện tượng kí tự hiện tại sẽ bị ghi đè lên bởi các kí tự khác đến sau.

Khi xảy ra điều này thì cần phải thực hiện việc điều khiển thông tin giữa bên phát và bên thu.

Page 105: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối105

Chuẩn RS-232

Kĩ thuật điều khiển thông tin giữa hai thiết bị để tránh hiện tượng trên gọi là kĩ thuật móc nối - bắt tay (handshaking). Đó là việc buộc máy phát ngừng truyền kí tự cho đến khi máy thu đọc xong các kí tự đang nằm trong bộ đệm thu, tức là cho đến khi bộ đệm thu rỗng

Page 106: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối106

Bus nối tiếp đa năng USB

Mục đích của USB:

• Mục đích của bus USB chính là nhằm thống nhất các kiểu ghép nối máy tính khác nhau về một dạng, một đầu nối

Những ưu điểm của USB:• Ghép nối đơn giản do được chuẩn hóa.

Kết thúc tình trạng chắp vá, không đồng nhất của các giao diện ngoại vi trong máy tính cá nhân.

Page 107: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối107

• Một trong những ưu điểm rất lớn của USB là tính năng hot plug-and-play (cắm là chạy ngay). Người sử dụng có thể cắm thêm hoặc tháo ra một thiết bị ngoại vi mà không cần tắt máy hay cài đặt lại hệ thống. Thiết bị ngoại vi cũng không cần bản mạch phụ trên máy chủ vì chức năng này đã được phần mềm hệ thống đảm nhiệm

Page 108: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối108

• Cho phép kết nối giữa máy vi tính, điện thoại, camera và các thiết bị ngoại vi cơ bản như: bàn phím, chuột, joystick, màn hình, máy in, các thiết bị lưu trữ di động (flash memory…), camera kỹ thuật số, webcam, thiết bị nhận dạng dấu vân tay…

• Linh hoạt, dễ sử dụng. Triển khai đơn giản và rẻ tiền.

Page 109: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối109

Bus nối tiếp đa năng USB

Những ưu điểm của USB:

• Ngoài ra còn có một ưu điểm lớn nữa: Với 7 bit địa chỉ, ngoài máy chủ USB có thể quản lý tối đa 127 thiết bị ngoại vi. Cùng một lúc có thể có nhiều thiết bị ngoại vi USB được kết nối với máy tính.

Page 110: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối110

Bus nối tiếp đa năng USB

Những ưu điểm của USB:• Một đặc ưu điểm thú vị của USB là không cần

1 bộ nguồn riêng.• Tự động cấu hình khi cài đặt, driver điều khiển

là có sẵn trong các HĐH phổ biến (Win2000, WinXP, Linux…)

• Cho phép dữ liệu được truyền theo cả 2 chiều giữa máy tính và thiết bị ngoại vi.

Page 111: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối111

Bài tập lớn:

Viết chương trình truyền tin giữa 2 máy tính qua RS232: truyền file hoặc chat

Page 112: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối112

Hết chương 3

Page 113: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối113

Các cổng vào ra

Page 114: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối114

Truyền tin nối tiếp

Định dạng và giao thức truyền nối tiếp• Truyền đồng bộ/không đồng bộ• Định dạng dữ liệu• Cơ chế bắt tay• Kiểm soát lỗi

Page 115: ghép nối_Cong IO

Thiết bị ngoại vi và Kỹ thuật ghép nối115