chuong 5- cac phuong phap vao ra du lieu [compatibility mode]

87
Ni dung môn hc 1. Gii thiu chung vhvi x2. Bvi xlý Intel 8088/8086 3. Lp trình hp ngcho 8086 4. Ghép ni 8086 vi bnhvà các thiết bngoi vi 5. Các phương pháp điu khin vào/ra dliu 1/Chapter5 5. Các phương pháp điu khin vào/ra dliu 6. Các bvi xlý trên thc tế

Upload: phuoc-pham

Post on 13-Aug-2015

143 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Nội dung môn h ọc

1. Giới thiệu chung về hệ vi xử lý2. Bộ vi xử lý Intel 8088/80863. Lập trình hợp ngữ cho 80864. Ghép nối 8086 với bộ nhớ và các thiết bị ngoại vi5. Các phương pháp điều khiển vào/ra dữ liệu

1/Chapter5

5. Các phương pháp điều khiển vào/ra dữ liệu6. Các bộ vi xử lý trên thực tế

Page 2: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

1. Khái ni ệm ngắt• Ngắt là khả năng dừng chương trình chính đang chạyđể thực hiện một chương trình khác gọi là chương trìnhcon xử lý ngắt.

• Khi CPU đang thực hiện chương trình chính đến dòng

I. Phương pháp vào/ra dữ liệu bằng ngắt

• Khi CPU đang thực hiện chương trình chính đến dònglệnh thứ n ngẫu nhiên ngoại vi thứ i xin phục vụ bằng cáchphát ra tín hiệu IRQ(i) (Interrupt Request) đến CPU.

Page 3: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

1. Khái ni ệm ngắtNói chung, CPU khi nhận được yêu cầu xin phục vụ

của các ngoại vi nó sẽ thực hiện:• Ngừng xử lý chương trình chính.• Cất ngữ cảnh của chương trình hiện tại vào Stackmem.

I. Phương pháp vào/ra dữ liệu bằng ngắt

mem.• Tìm địa chỉ của chương trình con phục vụ ngắt tươngứng (Interrupt Service Routine- ISR) để thực hiện.• Khôi phục ngữ cảnh của chương trình đã xuất hiện yêucầu phục vụ (nhờ lệnh IRET ở cuối chương trình phục vụngắt)• Tiếp tục thực hiện chương trình

Page 4: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Main Prog

ISRiISRj

I. Phương pháp vào/ra dữ liệu bằng ngắt

n: IRQin+1

m: IRQjm+1

IRET IRET

Page 5: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- Thiết bị ưu tiên cao có thể dừng ISR của thiết bị ưu tiênthấp.

- Hệ lớn, nhiều IOs thường dùng PIC (Intel PIC 8259A)

- Chỉ số ưu tiên do nhà sản xuất qui định cho các ngoại vi

cố định, mức 0 là cao nhất.

2. Ưu tiên Interrupt

cố định, mức 0 là cao nhất.

- Theo hình trên: Level (j) > Level (i), i>j

- Ưu tiên phân định do các tín hiệu ngắt trong CPU (Intel

8085: INTR, 5.5, 6.5, 7.5 và TRAP)

Page 6: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. Ngắt trong hệ vi xử lý 8086

3.1. Phân lo ại ng ắtNgắt

Ngắt mềmLà các ngắt kích hoạt

Ngắt cứngLà các ngắt kích hoạt bằng lệnh INT n

Trong Ngoài

Ngắt không che được

Ngắt che được

Các kiểu ngắt của hệ vi xử lý

Page 7: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Ngắt cứng

Là các yêu cầu ngắt CPU do các tín hiệu đến từ các chân INTR và

NMI. Được khởi động bởi các thành phần có triong phần cứng của hệ

VXL (Ví dụ: Các TBNV trong và ngoài). Loại ngắt này là một cơ cấu đơn

giản và hiệu quả để BXL phản ứng kịp thời với các sự kiện không đồng

bộ xảy ra trong hệ VXL.bộ xảy ra trong hệ VXL.

VD: BP giao tiếp với hệ VXL theo cơ chế ngắt. Mỗi khi ấn hay thả 1

phím thì ngắt BP sẽ được kích hoạt. Chương trình xử lý ngắt sẽ được

khởi động bằng cách chuyển kí tự được ấn vào vùng đệm của bộ đệm

BP, xếp ngay sau kí tự được ấn lần trước.

Page 8: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Ngắt cứng ngoài

Là ngắt được kích hoạt bởi các TBNV bên ngoài. Có 2 loại ngắt cứng

ngoài là ngắt che được và không che được. Các ngắt này bị cấm bằng

lệnh CLI (CLear Interrupt flag), khi bị cấm thì mặc dù được gọi thì

chương trình con tương ứng cũng không được thực hiện. Để hủy bỏ chế

độ cấm ngắt dùng lệnh STI (SeT Interrupt flag), nó cho phép các ngắt bị độ cấm ngắt dùng lệnh STI (SeT Interrupt flag), nó cho phép các ngắt bị

cấm trở lại hoạt động bình thường.

Các lệnh CLI, STI (thông qua Cờ IF) ảnh hưởng tới việc CPU có

nhận biết các yêu cầu ngắt tại chân INTR. Yêu cầu ngắt tại chân INTR có

thể có số hiệu ngắt n (00h-FFh).

Các ngắt không thể bị cấm tại chân NMI sẽ luôn được thực hiện kể

cả có lệnh CLI. CT con phục vụ ngắt này thường là CT thông báo các sự

kiện quan trọng nhất đối với hệ như sự cố nguồn, thời gian thực,...

Page 9: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Ngắt cứng nội bộ (trong)

Là các ngắt không được kích thích bởi thiết bị nằm bên ngoài hệ mà

bởi các chip IC bổ trợ nằm ngay trong hệ như ngắt thời gian khi nó được

gọi bởi bộ tạo thời gian thực TIMER LSI 8253

Page 10: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Ngắt mềm

Là ngắt được gọi bằng một lệnh ở trong chương trình ngôn ngữ máy

bằng lệnh INT. Các ngắt mềm cho phép gọi trực tiếp các chương trình

con phục vụ ngắt chứa trong thư viện chương trình. Các ngắt mềm có

thể được gọi trong các NNLT bậc cao nhưng trình biên dịch cũng phải

dịch ra thành lệnh INT (chỉ có lệnh này mới cho phép khởi động ngắt dịch ra thành lệnh INT (chỉ có lệnh này mới cho phép khởi động ngắt

mềm). Do vậy, lệnh ngắt mềm bản chất là lệnh gọi CALL đặc biệt. Nó

được gọi chủ động bằng chương trình của người lập trình.

Page 11: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

CS hi

CS low

00014 Print Screen

00010 Over Flow

0000C Break Point

3. Ngắt trong hệ vi xử lý 8086

CS low

IP hi

IP low

0000C Break Point

00008 NMI

00004 Single Step

00000 Divide by zero4 byte Vector Element

Page 12: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. Ngắt trong hệ vi xử lý 8086

03FEh-03FFh CS của CTPVN FFh

03FCh-03FDh IP của CTPVN FFh

0082h-0083h CS của CTPVN 20h

0080h-0081h IP của CTPVN 20h

Bảng vectơ ngắt của 8088 tại 1st KB RAM

000Ah-000Bh CS của CTPVN 2h

0008h-0009h IP của CTPVN 2h

0006h-0007h CS của CTPVN 1h

0004h-0005h IP của CTPVN 1h

0002h-0003h CS của CTPVN 0h

0000h-0001h IP của CTPVN 0h

Page 13: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. Ngắt trong hệ vi xử lý 8086

Các yêu cầu ngắt sẽ được CPU kiểm tra thường xuyên tại

chu kỳ đồng hồ cuối cùng của mỗi lệnh.

Để đưa số hiệu ngắt N vào Bus dữ liệu trong khi cũng tạo ra

yêu cầu ngắt đưa vào chân INTR tương ứng của 8086. Giả thiết

trong một thời điểm nhất định chỉ có một yêu cầu ngắt nhất địnhtrong một thời điểm nhất định chỉ có một yêu cầu ngắt nhất định

IRi được tác động và khi đó đầu ra của mạch NAND sẽ có xung

yêu cầu ngắt đến CPU. Tín hiệu IRi được đồng thời đưa qua

mạch khuếch đại đệm để tạo ra số hiệu ngắt tương ứng, số hiệu

ngắt này sẽ được CPU đọc vào khi nó đưa ra tín hiệu trả lời

INTA.

Page 14: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. Ngắt trong hệ vi xử lý 8086

AD7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 N

1 1 1 1 1 1 1 0 FEh (254)

1 1 1 1 1 1 0 1 FDh (253)

1 1 1 1 1 0 1 1 FBh (251)

Quan hệ giữa IRi và số hiệu ngắt n tương ứng

1 1 1 1 1 0 1 1 FBh (251)

1 1 1 1 0 1 1 1 F7h (247)

1 1 1 0 1 1 1 1 EFh (239)

1 1 0 1 1 1 1 1 DFh (223)

1 0 1 1 1 1 1 1 BFh (191)

Page 15: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Khi có yêu cầu ngắt kiểu N đến chân CPU và nếu yêu cầu đó đượcphép (Nếu ngắt có số hiệu N kích hoạt và có hiệu lực), CPU thực hiệncác công việc sau:Bước 1: CPU kết thúc lệnh đang thực hiệnBước 2:1. (SP) � (SP) – 2 chỉ ra đỉnh mới của ngăn xếp

{SP} � FR Cất giá trị thanh ghi cờ vào đỉnh NX

3.3. Đáp ứng của CPU khi có yêu cầu ngắt

{SP} � FR Cất giá trị thanh ghi cờ vào đỉnh NX

2. IF � 0, TF � 0 Cấm các ngắt khác tác động vào CPU, cho

CPU chạy ở chế độ bình thường)

3. (SP) � (SP) – 2 chỉ ra đỉnh mới của ngăn xếp

{SP} � (CS) Cất giá trị Segment vào đỉnh NX

4. (SP) � (SP) – 2 chỉ ra đỉnh mới của ngăn xếp

{SP} � (IP) Cất giá trị Offset vào đỉnh NX

Page 16: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Bước 3: Cất giữ nội dung các TG đa năng khác (nếu cần) vào

NX

Bước 4: {N*4} � IP, {N*4+2} � CS

Bước 5: Thực hiện chương trình con

Bước 6: Khôi phục trạng thái cũ của các TG đa năng

3. Ngắt trong hệ vi xử lý 8086

Bước 6: Khôi phục trạng thái cũ của các TG đa năng

Bước 7: Tại cuối chương trình phục vụ ngắt khi gặp lệnh IRET:

{SP} � (IP), (SP) � (SP) +2

{SP} � (CS), (SP) � (SP) +2

{SP} � FR, (SP) � (SP) +2

BXL quay lại CT chính tại địa chỉ trở về và khôi phục lại giá trị

của TG cờ trước khi thực hiện ngắt.

Page 17: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Có một vấn đề thực tế đặt ra là khi hệ có nhiều ngoại vi

được ghép nối và làm việc theo cơ chế ngắt thì phải mở rộng

các đầu ngắt để đáp ứng về số lượng ngắt. Khi số lượng ngắt

tăng lên thì vấn đề qui định mức ưu tiên phải được đặt ra vì

II. Chíp điều khiển ngắt PIC 8259A(Priority Interrupt Controller)

tăng lên thì vấn đề qui định mức ưu tiên phải được đặt ra vì

BXVL tại một thời điểm chỉ có thể phục vụ một đầu ngắt mà

thôi.

Page 18: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Trong trường hợp như vậy, giải pháp đúng đắn hơn cả là

sử dụng chip IC chuyên dụng cho phép mở rộng bảng vecto

ngắt cứng lên số lượng cần thiết. Chip 8259A được gọi là

mạch điều khiển ngắt ưu tiên- PIC (Priority Interrupt

II. Chíp điều khiển ngắt PIC 8259A(Priority Interrupt Controller)

Controller). Đó là một vi mạch cỡ lớn lập trình được. Nó có

thể xử lý được 8 yêu cầu ngắt với 8 mức ưu tiên khác nhau

để tạo ra một yêu cầu ngắt đưa đến đầu vào chung là INTR

(yêu cầu ngắt che được) của BVXL.

Page 19: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

1. Các chân tín hi ệu của PIC 8259A

II. Chíp điều khiển ngắt PIC 8259A(Priority Interrupt Controller)

Page 20: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

2. Sơ đồ khối PIC 8259A

Page 21: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- CS: Lối vào chọn chíp.

- RD: 8259 ra số liệu, CPU có thể đọc số liệu từ 8259

- WR: 8259 ra số liệu từ Bus số liệu, CPU có thể viết số liệu vào

thanh ghi bên trong 8259

Chức năng các chân

- D0-D7: Bus số liệu hai hướng

- CAS0-CAS2: Các đường nối tầng giữa các PIC. 1 PIC chủ có

thể chọn 1 trong 8 PIC tớ qua 3 đường này. Do đó có thể coi

đây là Bus địa chỉ cục bộ của PIC. Chỉ dùng khi cần nối tầng

để tăng thêm số lượng đầu vào yêu cầu ngắt cần xử lý.

- GND: Tín hiệu nối đất

Page 22: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- SP/EN: (Slave program/Enable buffer) Lập trình cho mạch PIC 8259

thợ/mở đệm Bus dữ liệu. Khi 8259A làm việc ở chế độ không đệm Bus

dữ liệu thì đây là tín hiệu vào dùng để lập trình biến mạch 8259A thành

mạch chủ (nếu SP=1) và mạch thợ (nếu SP=0). Còn nếu làm việc trong

hệ VXL có đệm Bus thì để BXL và 8259A thông vòa Bus dữ liệu hệ

thống. Lúc này việc định nghĩa mạch chủ hoặc thợ phải thực hiện thông

Chức năng các chân

thống. Lúc này việc định nghĩa mạch chủ hoặc thợ phải thực hiện thông

qua từ điều khiển khởi đầu ICW4.

- INT [O]: Nối trực tiếp với đầu vào INTR của CPU.

- IR0-IR7: Nối với các đầu ra tín hiệu ngắt của các TBNV.

- INTA [I]: Tín hiệu chấp nhận ngắt từ CPU. Được nối với tín hiệu chấp

nhận ngắt INTA của BXL.

- A0: Cùng với các tín hiệu CS, WR và RD phân biệt các lệnh khác nhau

từ CPU và cung cấp các thông tin trạng thái.

Page 23: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chip điều khiển ngắt PIC 8259A

• IRR (Interrupt Request Register-Thanh ghi yêu cầu ngắt): Ghi

nhớ các yêu cầu ngắt có tại ngõ vào IRi. Bất cứ ngoại vi nào có

yêu cầu ngắt (trường hợp cực đại là cả 8 đầu vào đều có yêu

cầu) sẽ được thanh ghi này ghi nhận.

• ISR (Thanh ghi phục vụ ngắt): Ghi nhớ yêu cầu ngắt đang phục

Các khối chức năng

vụ trong số các yêu cầu ngắt IRi đang có trong mạch.

• IMR (Thanh ghi mặt nạ ngắt): Ghi nhớ mặt nạ ngắt đối với các

yêu cầu IRi

Page 24: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chip điều khiển ngắt PIC 8259A

• Control logic (Logic điều khiển): Gửi yêu cầu ngắt tới chân

INTR của CPU khi có tín hiệu ngắt tại ngõ vào của 8259A và

nhận trả lời chấp nhận yêu cầu ngắt hay không INTA từ CPU

để đưa kiểu ngắt vào CPU.

• Data bus buffer (Đệm bus dữ liệu): Giao tiếp giữa 8259A

3. Chức năng các khối

với bus dữ liệu của CPU.

• Cascade buffer/comparator (Đệm nối tầng và so sánh): Lưu

trữ và so sánh số hiệu của các kiểu ngắt trong trường hợp

dùng nhiều mạch 8259A.

Page 25: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

4. Bảng phân phối hoạt động theo địa chỉ

Page 26: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- Một trong các đường yêu cầu ngắt IR0-IR7 được nâng lên mức

cao, bit tương ứng trong IRR được đặt.

- 8259A gửi tín hiệu INT tới CPU.

- CPU nhận tín hiệu INT và ra xung INTA thứ nhất nếu cờ IF

được đặt.

5. Các hoạt động khi có yêu cầu ngắt từ ngoại vi

- Bit ưu tiên cao nhất trong IRR được xóa, bit tương ứng được

đặt trong ISR.

- CPU ra xung INTA thứ 2, 8259A đưa con trỏ 8 bit chỉ số ngắt

lên Bus số liệu CPU đọc và gọi ngắt.

- Trong chế độ tự động, bit trong ISR tự động RESET, nếu

không CPU phải ra lệnh EOI tới 8259A khi chạy chương trình

ngắt để xóa bit ISR.

Page 27: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Các PIC 8259A có thể được ghép nối tầng với nhau. Chúng

được phân thành hai mức: 1 PIC chủ (Master) và từ 1 đến 8 PIC

tớ (Slave). Khi đó, hệ có thể quản lý yêu cầu ngắt của hơn 8

TBNV. Lúc đó lối ra INT của PIC tớ được nối với lối vào IR của

PIC chủ vào các tín hiệu từ CAS0-CAS2 được dùng cho việc trao

5. Các hoạt động khi có yêu cầu ngắt từ ngoại vi

đổi thông tin giữa chúng. Do vậy với 1 cặp nối tầng PIC 1 chủ 1

tớ có thể quản lý 15 kênh yêu cầu ngắt. Chế độ làm việc của

8259A được xác lập bởi các từ điều khiển do phần mềm nạp vào.

Có 2 loại từ điều khiển: Từ điều khiển khởi động ICW

(Intialization Control Word) và từ điều khiển hoạt động OCW

(Operration Control Word).

Page 28: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Dlatch

Data bit 7

CS- IOW (0A0h)DRAM Parity err.IO Check Err.

6. Tổ chức ưu tiên ngắt trong PC

X86 CPU

PIC8259AMaster

PIC8259ASlave

IR0, Sys TimerIR1, KB portIR2, SlaveIR3, comm2IR4, comm1IR5, LPT2IR6, FDCIR7, LPT1

IR8, Real Timer ClockIR9, Redirected IR2IR10, AvailableIR11, AvailableIR12, PS/2 MouseIR13, Math ProcessorIR14, HDCIR15, Available-WathchDogTimer

INTR

Tổ chức ưu tiên ngắt trong PC

Page 29: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

7. Mạch ghép tầng

Page 30: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

8. Lưu đồ khởi động

ICW1

ICW2

ICW3

ICW4

ICW1

ICW2

ICW3

ICW1

ICW2

ICW4

ICW1

ICW2

Page 31: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW1(Initialization Control Word 1)

D7 D6 D5 D4 D3 D2 D1 D0

x x x 1 LTIM ADI SNGL IC4

A00

Chỉ sử dụng khi ghép với CPU 8 bit

Dạng tác động1: Mức2. Sườn (Cạnh)

Khoảng cách1: 4 byte0: 8 byte

Chọn chế độ đơn1: Đơn PIC0: Nhiều PIC

1: Cần ICW40: Bỏ ICW4

Tổ chức của từ mã ICW1

Page 32: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW1(Initialization Control Word)

Bit D0 qui định sẽ được nối với hệ VXL nào. Hệ 16/32 nhất thiết IC4=1, hệ 8 IC4=0. Các bit còn lại định nghĩa cách thức tác động của xung yêu cầu ngắt tại các chân yêu cầu ngắt IR của mạch 8259A khác trong hệ làm việc đơn lẻ hay nối tầng. Bit D2=1 thì mỗi vecto ngắt được cấp phát 4 byte còn D2=0 thì mỗi vecto ngắt được cấp phát 8 byte.còn D2=0 thì mỗi vecto ngắt được cấp phát 8 byte.

Các bit đánh dấu x là không quan trọng và thường được lấy giá trị 0 để lập trình cho các ứng dụng sau này.

Page 33: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW2(Initialization Control Word 2)

D7 D6 D5 D4 D3 D2 D1 D0

T7 T6 T5 T4 T3 T2 T1 T0

A01

5 bit này để qui định số hiệu ngắt cho PIC 8259A

3 bit này để qui định số hiệu ngắt cho các đầu ngắt IR0 � IR7

Tổ chức của từ mã ICW2

Page 34: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW2(Initialization Control Word 2)

Từ điều khiển ICW2 được dùng để định nghĩa số ngắt nền cho 7 số ngắt còn lại.

Cho phép người thiết kế lựa chọn số hiệu ngắt cho PIC 8259 bằng các bit T7÷T3. Các bit T2÷T0 được 8259 tự động gán giá trị tùy theo đầu vào yêu cấu ngắt cụ thể IRi.

Ví dụ: Nếu muốn gán các đầu vào của mạch 8259A có Ví dụ: Nếu muốn gán các đầu vào của mạch 8259A có số hiệu ngắt từ 40h÷47h ta chỉ cần gán 40h vào các bitT7÷T3. Khi đó:

IR0 sẽ có số hiệu ngắt là 40h (Bit T2÷T0 có giá trị 000)IR1 sẽ có số hiệu ngắt là 41h (Bit T2÷T0 có giá trị 001)...

IR7 sẽ có số hiệu ngắt là 47h (Bit T2÷T0 có giá trị 111)

Page 35: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW3(Initialization Control Word 3)

D7 D6 D5 D4 D3 D2 D1 D0

S7 S6 S5 S4 S3 S2 S1 S0

8 bit này để qui định đầu ngắt IR i nào là đầu ra của PIC thợS =1: Có 1 PIC thợ nối vào

A01

a)Si=1: Có 1 PIC thợ nối vàoSi=0: Không có PIC th ợ nối vào

Tổ chức của từ mã ICW3: a) Cho PIC chủ, b) Cho PIC thợ

D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 ID2 ID1 ID0

3 bit này để đánh số hiệu cho PIC th ợ PIC0 ���� PIC7

A01

a)

b)

Page 36: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

ICW3 cho mạch chủ dùng để chỉ ra đầu vào yêu cầu ngắtIRi nào của nó có tín hiệu INT của mạch thợ nối vào.

ICW3 cho mạch thợ dùng làm phương tiện để các mạch nàyđược nhận biết. Vì vậy từ điều khiển khởi đầu ICW3 này phảichứa mã số i ứng với đầu vào IRi của mạch chủ và mạch thợ đãđược nối vào. Mạch thợ sẽ so sánh mã số này với mã số nhậnđược ở 3 bit nối tầng CAS2, CAS1, CAS0 nếu bằng nhau thì sốhiệu ngắt của PIC thợ sẽ được đưa ra kênh dữ liệu khi có xung

Từ điều khiển khởi đầu ICW3

hiệu ngắt của PIC thợ sẽ được đưa ra kênh dữ liệu khi có xung/INTA.

Ví dụ: Trong một hệ VXL có một mạch chủ 8259A chủ, hai mạch8259A thợ nối vào chân IR0 và IR1 của mạch chủ, còn các chânIR khác của PIC chủ nối trực tiếp với ngoại vi của hệ. Như vậy,để tổ hợp các PIC này làm việc được với nhau ta sẽ phải ghi cáctừ điều khiển khởi đầu như sau:

ICW3 =03h cho mạch chủ,ICW3=00h cho mạch thợ thứ nhấtICW3=01h cho mạch thợ thứ 2.

Page 37: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu ICW4(Initialization Control Word 4)

D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 SFNM BUF MS AEOI µP

Chế độ lồng nhau đặc bi ệtLà chế độ Master phân biệt

A01

Là chế độ Master phân biệt được độ ưu tiên của các thiết bị quản lí bởi Slave

Tổ chức của từ mã ICW4

Dùng đệm ngoàiD3D2=0x PIC ở chế độ không đệmD3D2=10 PIC thợ ở chế độ đệmD3D2=11 PIC chủ ở chế độ đệm

Kết thúc ng ắt quãng t ự động=1 Lệnh EOI (End of Interrupt) t ự động=0 Lệnh EOI (End of Interrupt) thường

Chọn họ CPU=1 80x86=0 80/85

Page 38: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển khởi đầu này chỉ dùng đến khi trong từ điều khiển ICW1 có D0=1 (cần thêm ICW4).

Bit D4=1 (Chế độ lồng nhau đặc biệt) cho phép chọn chế độ ưu tiên cố định đặc biệt. Trong chế độ này yêu cầu ngắt với mức ưu tiên cao nhất hiện hành từ một mạch thợ làm việc theo kiểu nối tầng sẽ được mạch chủ nhận biết ngay cả khi mạch chủ còn đang phục vụ một yêu cầu ngắt ở mạch thợ khác với mức ưu tiên thấp hơn. Sau khi các yêu cầu ngắt được phục vụ xong thì

Từ điều khiển khởi đầu ICW3

tiên thấp hơn. Sau khi các yêu cầu ngắt được phục vụ xong thì chương trình phục vụ ngắt phải có lệnh kết thúc yêu cầu ngắt EOI đặt trước lệnh trở về IRET đưa đến cho mạch 8259A chủ.

Bit D4=0 thì chế độ ưu tiên cố định được chọn (IR0 cao nhất và IR7 thấp nhất). Tại một thời điểm chỉ có một yêu cầu ngắt i được phục vụ và lúc này tất cả các yêu cầu mức ưu tiên thấp hơn bị cấm, các yêu cầu mức ưu tiên cao hơn có thể ngắt yêu cầu với mức ưu tiên thấp hơn.

Page 39: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển hoạt động OCW1(Operation Control Word 1)

D7 D6 D5 D4 D3 D2 D1 D0

M7 M6 M5 M4 M3 M2 M1 M0

8 bit này để qui định đầu ngắt IR i nào b ị che (Mask) M =1: IR bị che

A01

Mi=1: IR i bị cheMi=0: IR i không b ị che

Tổ chức của từ mã OCW1

OCW1 dùng để ghi giá trị của các bit mặt nạ vào thanh ghi mặt nạ ngắt IMR. Khi một bit mặt nạ nào đó của IMR được lập thì yêu cầu ngắt tương ứng với mặt nạ đó sẽ không được 8259A nhận biết nữa (bị che). Từ điều khiển này phải được đưa đến 8259A ngay sau khi ghi các ICW vào 8259A.

Page 40: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển hoạt động OCW2(Operation Control Word 2)

D7 D6 D5 D4 D3 D2 D1 D0

R SEOI EOI 0 0 L2 L1 L0

R: RotateChọn ưu tiên

A01

3 bit này để mã hóa ưu tiên cho các đầu ngắt IRi:Chọn ưu tiên

quay vòng

Tổ chức của từ mã OCW2

SEOI: Specific EOIKết thúc ngắt chỉ định Kết thúc ngắt

cho các đầu ngắt IRi:L2L1L0=000: Mức 0L2L1L0=111: Mức 1

Từ mã điều khiển OCW2 cho phép đặt mức ưu tiên mềm dẻo cho các đầu vào nối với thiết bị ngoại vi. Các bit R, SEOI, EOI kết hợp với nhau cho phép chọn ra các cách thức kết thúc yêu cầu ngắt khác nhau

Page 41: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Các chế độ làm việc của 8259A:1. Chế độ ưu tiên cố định

Là chế độ làm việc ngầm định của 8259A sau khi nó đã được nạp các từ điều khiển khởi đầu để thiết lập trạng thái xác định. Trong chế độ này các đầu vào IR0÷IR7 được gán cho mức ưu tiên cố định (IR0 cao nhất, IR7 thấp nhất). Mức ưu tiên này được giữ không thay đổi cho đến khi chip 8259A bị lập trình khác đi bằng OCW2

Từ điều khiển hoạt động OCW2

khác đi bằng OCW2Trong chế độ này tại một thời điểm chỉ có một yêu cầu ngắt i

được phục vụ. Ngắt ưu tiên này sẽ cấm toàn bộ các ngắt có mức ưu tiên thấp hơn nó và chịu để một ngắt có mức ưu tiên cao hơn ngắt.

Page 42: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

2. Chế độ quay vòng mức ưu tiên tự độngTrong chế độ này sau một yêu cầu ngắt vừa được phục vụ

thì bit tương ứng với nó trong thanh ghi ISR sẽ bị xóa và ngắt này sẽ tự động được gán cho mức ưu tiên thấp nhất để các yêu cầu ngắt khác được phục vụ.

Từ điều khiển hoạt động OCW2

Page 43: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. Chế độ quay mức ưu tiên chỉ đích danhTrong chế độ này dùng các bit L2L1L0 để chỉ đích danh những yêu

cầu ngắt IRn cần được đạt về mức ưu tiên thấp nhất. Sau đó, yêu cầu ngắt tiếp theo IRn+1 sẽ được đặt lên mức ưu tiên cao nhất.

Các bit R, SEOI, EOI phối hợp với nhau để tạo ra các lệnh qui định các cách thức kết thúc yêu cầu ngắt cho các chế độ làm việc.

Từ điều khiển hoạt động OCW2

R SEOI EOI Chế độ Chức năng

0 0 1 Kết thúc ngắt (EOI)

Lệnh EOI thường

0 1 1 Lệnh EOI chỉ đích danh

1 0 1Quay vòng mức ưu tiên tự động

Đổi mức ưu tiên khi có EOI thường

1 0 0 Lập chế độ quay vòng khi có EOI tự động

0 0 0 Xóa chế độ quay vòng khi có EOI tự động

1 1 1 Quay mức ưu tiên chỉ đích danh

Đổi mức ưu tiên khi có EOI đích danh

1 1 0 Lập lệnh mức ưu tiên

0 1 0 Dự trữ

Page 44: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- Lệnh EOI th ường: Trong chương trình hợp ngữ phục vụ ngắt, lệnh EOI cần được ghi trước lệnh quay trở về IRET. Lệnh này có tác dụng xóa bit tương ứng trong thanh ghi ISR để chính nó hoặc các yêu cầu có mức ưu tiên thấp hơn được phục vụ.

- Lệnh EOI ch ỉ đích danh: Tương tự như trên nhưng muốn xóa bit trong TG ISR ta cần chỉ đích danh yêu cầu ngắt qua các bit L0, L1, L2.

- Đổi mức ưu tiên khi có EOI th ường: Yêu cầu ngắt IRn sau khi được phục vụ sẽ được gán mức ưu tiên thấp nhất trong TG mức ưu tiên PR. Sau đó yêu cầu ngắt tiếp theo IRn+1 sẽ được gán mức ưu tiên cao nhất.

Từ điều khiển hoạt động OCW2

đó yêu cầu ngắt tiếp theo IRn+1 sẽ được gán mức ưu tiên cao nhất.- Lập/Xóa ch ế độ quay vòng khi có EOI t ự động: Chế độ này được

lập bằng cách đưa bit R về 1 và xóa bằng cách đưa nó về 0. Khi được lập chế độ quay vòng, yêu cầu ngắt vừa được phục vụ sẽ được gán cho mức ưu tiên thấp nhất.

- Đổi mức ưu tiên khi có EOI đích danh: Chế độ này dùng L2, L1, L0 để chỉ đích danh yêu cầu ngắt IRn cần được đưa về mức ưu tiên thấp nhất. Yêu cầu ngắt tiếp theo IRn+1 sẽ được đưa lên mức ưu tiên cao nhất.

- Lập lệnh mức ưu tiên: Chế độ này cho phép gán một yêu cầu ngắtqua L2, L1, L0 về yêu cầu ngắt thấp nhất và đặt yêu cầu ngắt tiếp theo lên mức ưu tiên cao nhất.

Page 45: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển hoạt động OCW3(Operation Control Word 3)

D7 D6 D5 D4 D3 D2 D1 D0

0 ESMM SMM 0 1 P ERIS RISA00

Chế độ mặt nạ đặc bi ệt

Tổ chức của từ mã OCW3

Chế độ mặt nạ đặc bi ệt0x: Không ch ọn SMM10: Xóa ch ế độ mặt nạ đặc bi ệt11: Lập chế độ mặt nạ đặc bi ệt(Enable Set Mask Special)

Thăm dò các yêu c ầu ngắt hiện hành1: Đọc mã ưu tiên cao nh ất ở lần đọc sau(Poll command)

Chọn đọc ISR hay IRR0x: Không ch ọn10: Đọc IRR ở lần đọc sau11: Đọc ISR ở lần đọc sau(Enable Read IS)

Page 46: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển hoạt động OCW3 sau khi được ghi vào 8259A cho phép:

- Chọn ra các thanh ghi để đọc.- Thăm dò trạng thái yêu cầu ngắt bằng cách đọc trạng thái của

đầu vào yêu cầu ngắt IRi với mức ưu tiên cao nhất.- Thao tác với mặt nạ đặc biệt.Các TG IRR và ISR có thể đọc được sau khi nạp vào 8259A từ

Từ điều khiển hoạt động OCW3

Các TG IRR và ISR có thể đọc được sau khi nạp vào 8259A từ điều khiển OCW3 với tổ hợp bit ERIS- RIS (Enable Read IS Register- Read IS Register). Tổ chức của các thanh ghi này nhưsau:

Page 47: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khiển hoạt động OCW3(Operation Control Word 3)

D7 D6 D5 D4 D3 D2 D1 D0

IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0

Thanh ghi IRR

Thanh ghi ISRISi=1: Yêu cầu ngắt i đang được phục vụISi=0: Yêu cầu ngắt i không được phục vụ

D7 D6 D5 D4 D3 D2 D1 D0

IS7 IS6 IS5 IS4 IS3 IS2 IS1 IS0

IRi=1: Có yêu cầu ngắt ở đầu nàyIRi=0: Không có yêu cầu ngắt ở đầu này

Page 48: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

9. Hoạt động của PIC 8259A

Page 49: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Lập trình cho 8259A để làm việc với CPU

8088 ở chế độ đơn lẻ, trong hệ có đệm Bus,

chế độ ưu tiên cố định và với EOI thường, IR

7. Một số ví dụ lập trình với 8259A

chế độ ưu tiên cố định và với EOI thường, IR

kích theo mức, tín hiệu IR6 được gán số hiệu

ngắt là 50h

Page 50: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

ICW1=0001 1011b=1Bh

D0=1 Cần thêm ICW4

D1=1 Chỉ 1 PIC

7. Một số ví dụ lập trình với 8259A

D1=1 Chỉ 1 PIC

D2=0 Làm việc với hệ 8086/88

D3=1 Đầu ra IR ăn theo mức

D4=1 Bắt buộc với ICW1

D5=D6=D7=0 Gán bằng 0 cho hệ 8086/88

Page 51: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

ICW2=0101 0110b=56h và các bit T7-T3 của

ICW2 phải mã hóa trị số 50h để IR0-IR7

được mã hóa tiếp bởi các bit T2-T0=110 (IR6)

7. Một số ví dụ lập trình với 8259A

được mã hóa tiếp bởi các bit T2-T0=110 (IR6)

ICW3 không dùng vì không ghép tầng.

Page 52: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

ICW4=0000 1101b=0Dh

D0=1 Làm việc với 8086/88

D1=0 EOI thường (phải có EOI trước IRET)

7. Một số ví dụ lập trình với 8259A

D3D2=11 Làm việc ở chế độ chủ trong hệ có đệm

D4=0 Chế độ ưu tiên cố định

D5=D6=D7=0 Luôn bằng 0 cho ICW4

Page 53: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Việc trao đổi dữ liệu theo 2 phương pháp

bằng chương trình và ngắt đều thực hiện: Dữ

liệu được đưa từ cổng tới CPU và nhập vào bộ

nhớ trong quá trình đọc, hay ngược lại trong

II. DIRECT MEMORY ACCESS- DMA

nhớ trong quá trình đọc, hay ngược lại trong

quá trình thu. Để chuyển 1 khối dữ liệu ta có

thể dùng cách truyền DMA. Khi đó ta sử dụng

một vi mạch chuyên dụng là DMAC điều khiển

việc trao đổi thông tin.

Page 54: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

1. Khái ni ệm

DMA là phương pháp thâm nhập bộ nhớ trực tiếp không thông qua

CPU.

Controller by DMAC, bus master

Đặc điểm DMA

II. DIRECT MEMORY ACCESS- DMA

Đặc điểm DMA

- In/out dùng hardware[burst mode] => nhanh, 33/66 Mbps

- Chuyển block/ Single byte

- IO �� Mem, Mem �� Mem (ít)

- Chỉ định Block/IO trao đổi

- Stealing cycle

Page 55: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

1. Khái ni ệm

CPU

II. DIRECT MEMORY ACCESS- DMA

Memory IO Port

DMAC

DRAM bus Cycle & CPU Bus cycle

Page 56: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

2. Sơ đồ khối

HOLDHLDA

CPU

A0A15

DMACircuit8237

Ngoại vi

Điều khiển đọc ghi

A15D0D7

Cổng Vào/ra

vicó yêu

cầu DMA

Bộ nhớ

Bus đ/c

Bus dl

Page 57: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

2. Sơ đồ khối

Page 58: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Trong chế độ DMA, CPU treo các Bus dữ

liệu, địa chỉ và một số dây điều khiển để DMA

chiếm dụng, DMA sẽ điều khiển toàn bộ hoạt

2. Sơ đồ khối

động trao đổi dữ liệu của hệ. Do đó DMAC phải

có khả năng tạo ra các tín hiệu giống CPU, đồng

thời phải là mạch lập trình được để CPU gửi tín

hiệu điều khiển tới trước khi hoạt động độc lập

Page 59: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

DMAC điều khiển sự trao đổi DMA giữa khối nhớ và

TBN không có sự tham gia của BXL (bị treo hay cô lập đường

dây) theo thủ tục:

1. TBN đưa yêu cầu DRQ cho DMAC, DMAC ghi nhận (nếu

3. Thủ tục trao đổi tin DMA

1. TBN đưa yêu cầu DRQ cho DMAC, DMAC ghi nhận (nếu

chưa có ghi che chắn trước), xét thứ tự ưu tiên (nếu có nhiều

yêu cầu DRQi vào đồng thời) và đưa ra yêu cầu cho BXL, đề

nghị chiếm giữ đường dây bởi một trong hai tín hiệu:

- Tín hiệu Hold (cho VXL 8085, 8086 ở chế độ MIN)

- Tín hiệu RQ0 (8086 ở chế độ MAX)

Page 60: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

2. VXL hoàn thành lệnh đang thực hiện, ngắt

chương trình để chuyển sang chương trình con

khởi phát DMA (ghi địa chỉ ban đầu của khối nhớ,

3. Thủ tục trao đổi tin DMA

số lần trao đổi, hướng thay đổi địa chỉ- tăng/giảm)

và đưa ra tín hiệu xác nhận DMA (GT0, GT1 hay

HLDA) và tự treo ở trạng thái điện trở cao (cô lập)

để nhường quyền sử dụng Bus cho DMAC.

Page 61: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

3. DMAC tiến hành:

- Đưa tín hiệu xác nhận DACK cho TBN.

- Tiến hành trao đổi DMA cho tới khi kết thúc (đếm lùi

trao đổi trở về 0).

3. Thủ tục trao đổi tin DMA

- Kết thúc tín hiệu HOLD, trả quyền điều khiển bus cho

VXL.

4. VXL nhận biết sự kết thúc của tín hiệu HOLD và kết

thúc tín hiệu HLDA, dành lại quyền điều khiển Bus.

Page 62: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Trong thực tế tồn tại 3 kiểu trao đổi dữ liệu bằng

cách thâm nhập trực tiếp vào bộ nhớ như sau:

- Treo CPU một khoảng thời gian để trao đổi cả mảng

4. Các chế độ trao đổi dữ liệu trong chế độ DMA

dữ liệu

- Treo CPU để trao đổi từng Byte.

- Tận dụng thời gian không dùng bus để trao đổi dữ

liệu

Page 63: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

- Trong quá trình này CPU sẽ bị treo trong

suốt quá trình trao đổi mảng dữ liệu.

4.1. Trao đổi cả một mảng số liệu

- Được dùng khi có nhu cầu trao đổi dữ liệu

với ổ đĩa hoặc đưa dữ liệu ra hiển thị

Page 64: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Các bước để chuy ển một mảng dữ liệu từ bộ nhớ ra TBNV

1. CPU ghi từ điều khiển và từ chế độ làm việc vào DMAC để qui

định cách thức làm việc, địa chỉ đầu của mảng nhớ, độ dài của mảng

nhớ, …

2. Khi ngoại vi có yêu cầu trao đổi số liệu => đưa DRQ=1 đến DMAC

4.1. Trao đổi cả một mảng số liệu

2. Khi ngoại vi có yêu cầu trao đổi số liệu => đưa DRQ=1 đến DMAC

3. DMAC đưa ra tín hiệu HRQ đến chân HOLD của CPU để yêu cầu

treo CPU, tín hiệu HOLD phải ở mức cao cho đến hết quá trình trao

đổi số liệu.

4. Nhận được yêu cầu treo, CPU kết thúc chu kỳ bus hiện tại sau đó

treo cả bus của mình và đưa ra tín hiệu HLDA báo cho DMAC được

toàn quyền sử dụng bus.

Page 65: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

5. DMAC đưa ra xung DACK để báo cho ngoại vi biết là có thể bắt

đầu trao đổi số liệu.

6. DMAC bắt đầu chuyển dữ liệu từ bộ nhớ ra ngoại vi:

- Địa chỉ của byte => bus địa chỉ

- Đưa tín hiệu MEMR=0 => đọc 1 byte từ bộ nhớ => bus dữ liệu

4.1. Trao đổi cả một mảng số liệu

- Đưa tín hiệu IOW=0 =>đưa dữ liệu ra ngoại vi

- DMAC giảm bộ đếm

- Cập nhật địa chỉ của byte tiếp theo => quay lại các thao tác

trên cho đếm khi bộ đếm = 0

7. Quá trình DMA kết thúc, DMAC ra tín hiệu HRQ=0 báo cho CPU

biết => CPU nắm quyền điều khiển hệ thống

Page 66: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Trong chế độ này CPU không bị treo lâu dài

trong một lần nhưng thỉnh thoảng lại bị treo trong một

khoảng thời gian rất ngắn đủ để trao đổi 1 byte số

4.2. Treo CPU để trao đổi từng byte

liệu, CPU bị lấy mất một chu kỳ đồng hồ nên tốc độ

thực hiện một công việc nào đó của CPU chỉ bị suy

giảm chứ không dừng lại. Cách hoạt động như chế

độ trên chỉ có điều mỗi lần DMAC yêu cầu treo CPU

thì chỉ có 1 byte được trao đổi

Page 67: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Trong cách trao đổi dữ liệu này ta phải có các

logic phụ bên ngoài cần thiết để phát hiện ra các chu

kỳ xử lý nội bộ của CPU (không dùng đến bus ngoài)

4.3. Tận dụng thời gian CPU không dùng bus để trao đổi dữ liệu

và tận dụng các chu kỳ đó vào việc trao đổi dữ liệu

giữa ngoại vi và bộ nhớ. DMAC và CPU luân phiên

nhau sử dụng bus và việc thâm nhập trực tiếp bộ nhớ

kiểu này không ảnh hưởng gì tới hoạt động của CPU.

Page 68: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Thăm dò

Page 69: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Khái niệm Polling: Dùng phần mềm đểkiểm tra các cờ trạng thái & IO Ports => quyếtđịnh trao đổi số liệu hay không

- Nhanh, đon giản, hay dùng trong các hệ nhỏ

Phương pháp thăm dò (Polling)

- Nhanh, đon giản, hay dùng trong các hệ nhỏhoặc đơn nhiệm- ít thiết bị IO.

- Không phù hợp với đa nhiệm.

Page 70: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Polling

Device #1Request?

Device #1Service Routine

Y

N

Device #2Request?

Device #2Service Routine

Y

N

Lưu đồ tổng quát

Quit

Device #nRequest?

Device #nService Routine

Y

N

Page 71: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]
Page 72: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]
Page 73: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Vi mạchđiều khiển định thì điều khiển định thì

PIT 8253

Page 74: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

PIT 8253 Programmable Interval Timer

8253

Mạch định thời gian lập trình được8253 là một mạch phụ rất quan trọng trongcác hệ vi xử lý. Nó có thể đáp ứng đượccác hệ vi xử lý. Nó có thể đáp ứng đượccác yêu cầu ứng dụng khác nhau nhưđếm thời gian, chia tần số, tạo ra dãyxung...

Page 75: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Đặc điểm của Programmable Interval Timer

8253

- Có 3 bộ đếm 16 bit độc lập

- Cung cấp 6 chế độ ra xung khác nhau

- Cho phép đọc lại giá trị bộ đếm- Cho phép đọc lại giá trị bộ đếm

- Có thể đếm nhị phân hoặc BCD

Page 76: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Sơ đồ khối

Page 77: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Bảng phân ph ối hoạt động theo địa ch ỉ

Page 78: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Từ điều khi ển

Page 79: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Nguyên lý ho ạt động• Ba bộ đếm đều là các bộ đếm lùi 16 bit• Thanh ghi từ điều khiển của bộ đếm qui định chế độ làm

việc và cách nạp số đếm (nạp)• Đếm số xung đưa vào chân CLK• Điều khiển hoạt động của các bộ đếm bằng tín hiệu từ• Điều khiển hoạt động của các bộ đếm bằng tín hiệu từ

bên ngoài qua chân GATEGATE=1: cho phép đếmGATE=0: kết thúc quá trình đếm

• Tín hiệu xung trên đầu ra OUT qui định: (tùy chế độ)OUT==0: bắt đầu quá trình đếmOUT=1: Kết thúc quá trình đếm (bộ đếm đạt tới 0)

Page 80: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 0- Xung ng ắt quãng

Page 81: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 1- Xung phát m ột lần

Page 82: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 2- Xung đồng hồ gai

Page 83: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 3- Xung đồng hồ vuông

Page 84: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 3- Xung đồng hồ vuông• Khi GATE=1 bộ đếm bắt đầu đếm ngược.

Sau khi nạp số đếm N thì đầu ra OUT sẽ:- N chẵn:

OUT=1 trong N/2 chu kỳ xung đồng hồOUT=0 trong N/2 chu kỳ đồng hồ còn lạiOUT=0 trong N/2 chu kỳ đồng hồ còn lại

- N lẻ:OUT=1 trong N+1/2 chu kỳ xung đồng hồOUT=0 trong N-1/2 chu kỳ đồng hồ còn

lại

Page 85: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 4- Xung kích m ềm

Page 86: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Chế độ 5- Xung kích c ứng

Page 87: Chuong 5- Cac Phuong Phap Vao Ra Du Lieu [Compatibility Mode]

Tác động của tín hi ệu GATE