Sơ ựồ khối vă chức năng câc khối của vi mạch 8237A

Một phần của tài liệu ghep noi va dieu khien thiet bi ngoai vi (Trang 62 - 69)

CHƯƠNG 5: GHĨP NỐI VĂO RA đ IỀU KHIỂN BẰNG DMA 5.1 Khâi niệm DMA cơ bản

5.2.1 Sơ ựồ khối vă chức năng câc khối của vi mạch 8237A

1. Sơựồ khi

Hình 5.2: Sơựồ khi chi tiết ca 8237

- CLK : Được nối với tắn hiệu ựồng hồ hệ thống .

- CS :Tắn hiệu chọn mạch, thông thường nối với ựầu ra của một bộ giải mê ựịa chỉ. - RESET : Xoâ câc thanh ghi tạm, thanh ghi trạng thâi , thanh ghi lệnh,thanh ghi yắu cầu. - READY : tạo trạng thâi chờ cho 8237A-5 ựối với bộ nhớ hoặc I/O có tốc ựộ thấp. - HLDA (hold Acknowledge): tắn hiệu thông bâo CPU ựê thả nổi bus ựịa chỉ, dữ liệu, ựiều khiển của nó.

- DREQ0 - DREQ3 (DMA request) : Đầu văo yắu cầu truyền DMA cho mỗi kắnh của 8237A-5, cực tắnh của câc tắn hiệu văo năy lă có thể lập trình ựược .

Tăi liệu môn học: Ghĩp nối vă ựiều khiển thiết bị ngoại vi

- HRQ (hold request ) : nối với HOLD của VXL tạo yắu cầu DMA .

- DACK0- DACK3 : (DMA channel acknowledge ) Đầu ra chấp nhận DMA ( có thể lập trình ựược) Thường dùng ựể chọn thiết bị cần ựiều khiển DMA.

- AEN : Cho phĩp chốt ựịa chỉ nối với DB0 - DB7 ựồng thời không cho phĩp câc bộ ựệm trong hệ thống ựược nối với VXL.

- ADSTB : (address strobe ) : hoạt ựộng như ALE nhưng chỉ sử dụng bởi bộ ựiều khiển DMA chốt ựịa chỉ A8- A15 trong suốt quâ trình truyền DMA.

-MEMW ,MEMR: Đầu ra ựiều khiển bộ nhớ ựọc, ghi dữ liệu trong chu kỳ DMA tương ứng .

2. Chc năng câc khi vă câc thanh ghi

* Câc khối chức năng của vi mạch : - Khối ựệm bus dữ liệu.

Đđy lă bộ ựệm 8 bit ghĩp nối 8237 với bus hệ thống .

(D0- D7) : Câc ựường bus dữ liệu ba trạng thâi, hai chiều. Khi 8237 ựang ựược lập trình ựiều khiển bởi 8088 CPU, 8 bit dữ liệu của thanh ghi ựịa chỉ DMA, thanh ghi chế ựộ (Mode set Register ) ựược gửi ựến từ bus dữ liệu. Khi 8088 CPU ựọc một thanh ghi ựịa chỉ DMA, hoặc thanh ghi ựếm (terminal count Register), thanh ghi trạng thâi dữ liệu ựược truyền ựến 8088 thông qua bus dữ liệu. Trong suốt chu kỳ DMA (khi 8237 ựang nắm quyền ựiều khiển bus dữ liệu), 8237 sẽ gửi 8 bit quan trọng nhất của ựịa chỉ bộ nhớ (từ một trong số câc thanh ghi ựịa chỉ DMA) tới bộ ựiều khiển bus. Câc bit ựịa chỉ năy sẽ ựược truyền ngay khi bắt ựầu chu kỳ DMA, sau ựó bus dữ liệu sẽ ựược giải phóng ựể thực hiện quâ trình trao ựổi dữ liệu với bộ nhớ trong suốt quâ trình DMA.

* Câc kắnh DMA (DMA channel ):

Mỗi kắnh (CH0 - CH3) bao gồm hai thanh ghi 16 bit :

Thanh ghi ựịa chỉ DMA vă thanh ghi ựếm (Terminal Count Register ) .

Hai thanh ghi năy phải ựược khởi tạo trước khi câc kắnh ựược phĩp hoạt ựộng. Thanh ghi ựịa chỉ DMA ựược ựọc cùng với ựịa chỉ của ô nhớ ựầu tiắn ựược truy cập. Giâ trị ựược ghi văo thanh ghi ựếm (termianal count register) xâc ựịnh số câc chu kỳ DMA ngay trước khi ựầu ra của bộ ựếm kết thúc TC (Terminal Count ) hoạt ựộng. Nói chung khi muốn có N chu kỳ DMA thì giâ trị N-1 phải ựược ựưa tới 14 bit thấp của thanh ghi ựếm cổng văo ra (Terminal Count Register). Hai bit cao nhất của thanh ghi năy xâc ựịnh loại hoạt ựộng DMA cho kắnh năy .

* Khối ựọc ghi logic (Read/ Write logic )

Khi 8088 CPU ựọc hoặc ghi một trong số câc thanh ghi của 8237, khối logic ựiều khiển ựọc ghi nhận lệnh ựọc I/O (IOR) hoặc I/O Write (IOW) thông bâo cho vi mạch ựiều khiển bus 8288 giải mê 4 bit ựịa chỉ thấp nhất (A0- A3 ) vă ựồng thời ghi nội dung của bus dữ liệu văo thanh ghi ựịa chỉ (nếu lă tắn hiệu IOW) hoặc ghi nội dung thanh ghi ựịa chỉ lắn bus dữ liệu (nếu lă tắn hiệu IOR ). Trong suốt quâ trình DMA khối logic ựiều khiển ựọc ghi thực hiện lệnh ựọc I/O vă ghi bộ nhớ ( chu kỳ DMA ghi) hoặc tắn hiệu ghi I/O vă ựọc bộ nhớ (chu kỳ DMA ựọc). Cần lưu ý rằng trong suốt quâ trình ựiều khiển DMA thiết bị I/O không hoạt ựộng trong chế ựộ năy phải ựược ựặt ở trạng thâi "cấm " sử dụng tắn hiệu AEN.

* Câc thanh ghi nội:

- Thanh ghi ựịa chỉ hiện thời (CAR ): Lưu 16 bắt ựịa chỉ bộ nhớ trong suốt quâ trình truyền DMA. Mỗi kắnh ựều có một thanh ghi năy vă CAR tăng hoặc giảm tuỳ thuộc văo câch lập trình.

- Thanh ghi ựếm từ hiện thời (CWCR ): ựiều khiển số byte ựược truyền trong quâ trình DMA . Số ghi trong thanh ghi năy nhỏ hơn số byte ựê ựược truyền 1 ựơn vị.

- Thanh ghi ựịa chỉ cơ sở vă từ cơ sở (BWCR): sử dụng khi chọn chế ựộ tự ựộng kắch hoạt cho một kắnh ,trong quâ trình năy thanh ghi BWCR ựược dùng ựể gọi lại câc thanh ghi CAR vă CWCR sau khi DMA kết thúc.

Tăi liệu môn học: Ghĩp nối vă ựiều khiển thiết bị ngoại vi

- Thanh ghi yắu cầu (Request Register): dùng yắu cầu truyền DMA bằng phần mềm .

- Thanh ghi che set/reset (Mask register set/reset mode): xoâ ,thiết lập việc cấm câc kắnh .

- Thanh ghi cấm (Mask register): xoâ hoặc thiết lập việc cấm của tất cả câc kắnh bằng một lệnh .

- Thanh ghi trạng thâi (Status register -SR ): xâc ựịnh trạng thâi của câc kắnh DMA .

Bng 5.1: Gii thiu ựịa ch vă câc lnh ựọc ghi cho câc thanh ghi. A3 A2 A1 A0 IOR IOW Hot ựộng

1 0 0 0 0 1 đọc thanh ghi trạng thâi

1 0 0 0 1 0 Ghi thanh ghi lệnh

1 0 0 1 1 0 Ghi thanh ghi yắu cầu 1 0 1 0 1 0 Ghi thanh ghi mặt nạ ựơn

Tăi liệu môn học: Ghĩp nối vă ựiều khiển thiết bị ngoại vi

Kắ

nh Thanh ghi Hoựộng t CS IOR IOW A3 A2 A1 A0 Int FF Data Bus

0 ựịa chỉ cơ sở Ghi 0 1 0 0 0 0 0 0 A7ọA0

vă hiện hănh 0 1 0 0 0 0 0 1 A8ọA15

ựịa chỉ hiện đọc 0 0 1 0 0 0 0 0 A7ọA0

hănh 0 0 1 0 0 0 0 1 A8ọA15

đếm lời cơ sở Ghi 0 1 0 0 0 0 1 0 W7ọW0

vă hiện hănh 0 1 0 0 0 0 1 1 W15ọW8

đếm lời hiện đọc 0 0 1 0 0 0 1 0 W7ọW0

hănh 0 0 1 0 0 0 1 1 W15ọW8

1 ựịa chỉ cơ sở Ghi 0 1 0 0 0 1 0 0 A7ọA0

vă hiện hănh 0 1 0 0 0 1 0 1 A8ọA15

ựịa chỉ hiện đọc 0 0 1 0 0 1 0 0 A7ọA0

hănh 0 0 1 0 0 1 0 1 A8ọA15

đếm lời cơ sở Ghi 0 1 0 0 0 1 1 0 W7ọW0

vă hiện hănh 0 1 0 0 0 1 1 1 W15ọW8

đếm lời hiện đọc 0 0 1 0 0 1 1 0 W7ọW0

hănh 0 0 1 0 0 1 1 1 W15ọW8

2 ựịa chỉ cơ sở Ghi 0 1 0 0 1 0 0 0 A7ọA0

vă hiện hănh 0 1 0 0 1 0 0 1 A8ọA15

ựịa chỉ hiện đọc 0 0 1 0 1 0 0 0 A7ọA0

hănh 0 0 1 0 1 0 0 1 A8ọA15

đếm lời cơ sở Ghi 0 1 0 0 1 0 1 0 W7ọW0

vă hiện hănh 0 1 0 0 1 0 1 1 W15ọW8

đếm lời hiện đọc 0 0 1 0 1 0 1 0 W7ọW0

hănh 0 0 1 0 1 0 1 1 W15ọW8

3 ựịa chỉ cơ sở Ghi 0 1 0 0 1 1 0 0 A7ọA0

vă hiện hănh 0 1 0 0 1 1 0 1 A8ọA15

ựịa chỉ hiện đọc 0 0 1 0 1 1 0 0 A7ọA0

hănh 0 0 1 0 1 1 0 1 A8ọA15

đếm lời cơ sở Ghi 0 1 0 0 1 1 1 0 W7ọW0

vă hiện hănh 0 1 0 0 1 1 1 1 W15ọW8

đếm lời hiện đọc 0 0 1 0 1 1 1 0 W7ọW0

Một phần của tài liệu ghep noi va dieu khien thiet bi ngoai vi (Trang 62 - 69)

Tải bản đầy đủ (PDF)

(128 trang)