Giáo trình Ghép nối và điều khiển thiết bị ngoại vi: Phần 2

20 62 1
Giáo trình Ghép nối và điều khiển thiết bị ngoại vi: Phần 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khi bộ vi xử lý nhận ñược tín hiệu ngắt, nó thường tạm ngưng tất cả các hoạt ñộng khác và kích hoạt một chương trình con ñang có trong bộ nhớ gọi là chương trình xử lý ngắt (Interrupt [r]

(1)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

CHƯƠNG 4: GHÉP NỐI ðIỀU KHIỂN NGẮT 4.1 Khái niệm phân loại ngắt

4.1.1 Khái nim

Mỗi thiết bị phần cứng hay chương trình cần đến giúp đỡ CPU, gửi ñi tín hiệu lệnh gọi ngắt (Interrupt Request – IRQ) ñến vi xử lý ñịnh cơng việc cụ thể mà cần CPU thực Khi vi xử lý nhận ñược tín hiệu ngắt, thường tạm ngưng tất hoạt động khác kích hoạt chương trình có nhớ gọi chương trình xử lý ngắt (Interrupt Service Routine _ ISR) tương ứng với số liệu ngắt cụ thể Sau chương trình xử lý ngắt làm xong nhiệm vụ, hoạt ñộng máy tính tiếp tục lại từ nơi bị tạm dừng lúc xảy ngắt

4.1.2 Phân loi ngt

Có ba loại ngắt chính, ngắt ñược tạo mạch ñiện máy tính nhằm đáp lại kiện nhấn phím bàn phím Các ngắt ñược ñiều khiển ngắt 8259A quản lý 8259A ấn ñịnh mức ñộ ưu tiên cho ngắt gửi ñến CPU Thứ hai ngắt CPU tạo gặp phải kết bất thường thực chương trình chia cho chẳng hạn … Cuối ngắt chương trình tạo nhằm gọi chương trình xa ñang nằm ROM RAM, ngắt gọi ngắt mềm chúng thường phận chương trình phục vụ ROM-BIOS DOS

Ngoài ba loại ngắt cịn có loại ngắt đặc biệt ngắt khơng bị che NMI địi hỏi CPU phục vụ có yêu cầu Loại ngắt thường ñược dùng ñể báo hiệu cố sụt ñiệp áp hay lỗi nhớ Như NMI mức ngắt có độ ưu tiên cao

Các ngắt PC chia thành nhóm sau : - Các ngắt vi xử lý :

Thường gọi ngắt logic ñược thiết kế sẵn VXL Bốn số ngắt (0,1,3,4 ) VXL tạo ra, ngắt (NMI ) kích hoạt có tín hiệu tạo thiết bị

1.Các ngt cng

Ðược thiết kế sẵn phần cứng của PC, tám ngắt số ngắt (2,8,9,từ Bh ñến Fh) ñược gắn chết vào VXL vào bảng mạch hệ thống Tất ngắt cứng ñều 8259A ñiều khiển

(2)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 56

Những ngắt phần chương trình ROM -BIOS, số hiệu dành cho ngắt ROM- BIOS từ 10h ñến 1C h 48h

Ngoài cịn có ngắt DOS ngắt BASIC phục vụ hệ điều hành DOS chương trình BASIC

3 Các ngt ñịa ch

Bảng 4.1 : Bảng chức ngắt máy vi tính INT (Hex) IRQ Common Uses

00 Exception Handlers Chia số cho 01 Exception Handlers Thực bước

02 Non-Maskable IRQ Non-Maskable IRQ (Các lỗi chẵn lẻ)

03 Exception Handlers ðiểm dừng chương trình người sử dụng đặt 04 Exception Handlers Vượt nội dung ghi hay nhớ

05 - 07 Exception Handlers -

08 Hardware IRQ0 Bộ thời gian hệ thống 09 Hardware IRQ1 Bàn phím

0A Hardware IRQ2 Redirected

0B Hardware IRQ3 Cổng nối tiếp COM2/COM4 0C Hardware IRQ4 Cổng nối tiếp COM1/COM3 0D Hardware IRQ5 Reserved/Sound Card

0E Hardware IRQ6 ðiểu khiển ñĩa mềm 0F Hardware IRQ7 Cổng song song

10 - 6F Software Interrupts Ngắt ROM-BIOS hay DOS 70 Hardware IRQ8 ðồng hồ thời gian thực 71 Hardware IRQ9 Redirected IRQ2 72 Hardware IRQ10 Reserved

73 Hardware IRQ11 Reserved 74 Hardware IRQ12 PS/2 Mouse

75 Hardware IRQ13 Math's Co-Processor 76 Hardware IRQ14 Hard Disk Drive 77 Hardware IRQ15 Reserved

78 - FF Software Interrupts -

(3)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

BIOS dùng khởi ñộng hệ thống tạo ký tự ñồ thị Các số hiệu dành cho ngắt từ 1D hex ñến 1F hex

4.2 Xử lý ngắt nhiều thiết bị ngoại vi

Thông thường MVT cần xử lý ngắt nhiều TBNV, cần giải vấn đề sau:

- Cho phép cấm ngắt cho yêu cầu ngắt TBNV - Ghi nhận xếp nhiều yêu cầu ngắt theo thứ tụ ưu tiên - Xác ñịnh nguồn ngắt TBNV gây

- Tạo vector ngắt, tức địa nhớ lệnh chương trình phục vụ ngắt

4.2.1 Cho phép hoc cm ngt

1. Cho phép hoc cm ngt bng lnh

- Lệnh cấm ngắt DI (Disable interrupt) cho phép ngắt EI (Enable Interrupt) 8085 - Ghi vào ghi cờ nội dung bit IF (Interrupt Flag) giá trị:

IF =1 : cho phép ngắt IF=0 : cấm ngắt

2. Cho phép hoc cm ngt bng mch phn cng

Với lối vào NMI yêu cầu ngắt TBNV, ta dùng mạch lật ñể ñiều khiển cho phép cấm ngắt

4.2.2 Sp xếp ưu tiên ngt

Theo ba phương pháp sau:

1. Phương pháp hi vịng (polling):

Dùng chương trình, ñọc theo thứ tự ưu tiên bit trạng thái TBNV kiểm tra chúng Nếu bit xác lập lên 1, tức TBNV tương ứng có yêu cầu ngắt, VXL chuyển sang chương trình ngắt phục vụ TBNV Sau lại đọc kiểm tra bit trạng thái TBNV có mức ưu tiên thấp

Phương pháp ñơn giản thiết bị thời gian hỏi vòng

2. Phương pháp ngt cng

ðể tránh thời gian hỏi vòng, người ta nối bit trạng thái TBNV với mạch OR, lối cổng OR nối vào chân INTR VXL Khi TBNV có yêu cầu ngắt, VXL nhận biết qua INTR tiến hành hỏi vịng

Phương pháp giảm thời gian kiểm tra trạng thái chưa có yêu cầu ngắt nào, khơng thay đổi thứ tự ưu tiên

3. Phương pháp xưu tiên bng mch cng

Có hai loại ưu tiên theo vị trí ưu tiên tuỳ theo mạch so sánh

Ưu tiên theo v trí đặt gn VXL

Sơ đồ mạch ví dụ hình 4.1, với hoạt động sau:

(4)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 58

- Nếu BGN ghi nhận ngắt, tín hiệu INTA bị chặn khơng truyền tới BGN sau Do đó, VXL khơng nhận tín hiệu INTA, nghĩa có u cầu ngắt xảy

Hình 4.1: Sơ đồ ưu tiên ngắt theo vị trí vector ngắt

Phương pháp đơn giản thứ tự ưu tiên khơng thay ñổi ñược có BGN bị hỏng, mạch ln báo có u cầu ngắt

Ưu tiên ngt dùng mch so sánh

Dùng vi mạch Intel 8214, 8259 thay đổi ưu tiên ngắt chương trình

4.2.3 Xác định ngun gây ngt

Có phương pháp xác định TBNV gây ngắt để chuyển sang chương trình phục vụ ngắt tưng ứng cho TBNV đó:

- Phương pháp hỏi vịng: VXL đọc kiểm tra trạng thái TBNV Nếu kết 1, trạng thái TBNV sẵn sàng nguồn ngắt TBNV - Phương pháp đọc vector ngắt tạo tín hiệu ngắt INTA ưu tiên ngắt

theo vị trí

- Phương pháp đọc vào ghi ưu tiên PR sơ ñồ dùng mạch so sánh

4.2.4 To vector ngt

Vector ngắt chứa địa đầu chương trình phục vụ ngắt Các vector ngắt MVT – PC trình bày bảng 4.1 Ta tạo vector ngắt cổng AND colector hở hình 4.1 (b)

Phương pháp thay ñổi ñược mức ưu tiên cách tìm nguồn ngắt, mạch phức tạp đắt tiền

VXL

INTR

INTA

INTA DI0÷DIn

BGN1 BGN2 BGN3

INTA

DI0÷DIn

0

(5)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

CHƯƠNG 5: GHÉP NỐI VÀO RA ðIỀU KHIỂN BẰNG DMA 5.1 Khái niệm DMA

5.1.1 Khái nim DMA

Phương pháp trao ñổi liệu theo chương trình chậm do: - VXL phải giải mã thực lệnh

- Trao ñổi liệu byte thông qua chứa AX VXL

Kỹ thuật vào DMA (direct memory access) phương pháp truy cập trực tiếp tới nhớ I/O mà khơng có tham gia CPU Phương pháp trao ñổi liệu nhớ thiết bị ngoại vi với tốc ñộ cao bị hạn chế tốc ñộ nhớ ñiều khiển DMA Tốc ñộ truyền DMA đạt tới 10 ÷ 12 Kbyte/s với nhớ RAM có tốc độ cao DMA ứng dụng nhiều mục đích thơng thường ñược dùng trình "refresh" DRAM, xuất hình, ñọc ghi ñĩa, truyền liệu vùng nhớ với tốc ñộ cao

5.1.2 Hot ñộng DMAC (DMA Controller) cơ bn

Hai tín hiệu ñể yêu cầu xác nhận hệ thống VXL HOLD ñược sử dụng ñể yêu cầu DMA HLDA đầu xác nhận DMA Khi tín hiệu HOLD hoạt ñộng (HOLD = 1), DMA ñược yêu cầu Bộ VXL trả lời cách kích hoạt tín hiệu HLDA, xác nhận yêu cầu, ñồng thời thả công việc thời bus liệu ñịa chỉ, ñiều khiển ñược ñặt trạng thái trở kháng cao Trạng thái cho phép thiết bị I/O bên VXL khác nắm quyền ñiều khiển bus hệ thống ñể truy cập trực tiếp nhớ Tín hiệu HOLD có mức ưu tiên cao INTR đầu vào NMI (ngắt khơng che được) sau RESET Tín hiệu HOLD ln có hiệu lực thời ñiểm suốt trình thực lệnh khác VXL Chú ý từ lúc tín hiệu HOLD thay đổi cho ñến tín hiệu HLDA thay ñổi ñã trải qua số chu kỳ clock

DMA thường ñược thực thiết bị I/O nhớ Quá trình đọc DMA q trình đưa liệu từ nhớ thiết bị I/O, ngược lại trình ghi DMA q trình đưa liệu từ I/O tới nhớ Trong hai chu trình thiết bị I/O nhớ ñược ñiều khiển ñồng thời dẫn đến cần có tín hiệu điều khiển khác Ðể điều khiển q trình đọc DMA ta cần hai tín hiệu hoạt động MEMR (đọc nhớ ) IOW (ghi I/O) Ðể điều khiển q trình ghi ta có hai tín hiệu MEMW (ghi bộ nhớ) IOR (ñọc I/O) Bộ ñiều khiển DMA cung cấp địa nhớ tín hiệu chọn thiết bị I/O cho 8088 suốt trình DMA Do tốc ñộ truyền DMA phụ thuộc vào tốc ñộ nhớ tốc ñộ ñiều khiển DMA nên trường hợp tốc ñộ ñiều khiển DMA nhỏ so với nhớ điều khiển DMA làm giảm tốc ñộ chung hệ thống

(6)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 60

(7)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

5.1.3 Các chếñộ trao ñổi d liu DMA

+ Trao ñổi liệu theo khối: trao ñổi nhiều lời liệu, ñếm từ giá trị n ñến + Trao ñổi lấy chu kỳ phần: DMA phát data bus rỗi, thực trao ñổi liệu DMA

DMAC phải có:

- Thiết bị phát đường dây rỗi

- Thiết bị bảo ñảm VXL bị treo DMAC khơng sử dụng đường dây, khiến VXL chờ thời gian Twtới DMAC thực trao ñổi xong phần trao ñổi liệu tiếp tục nốt phần lấy chu kỳ sau kết thúc trao ñổi từ liệu DMA

(8)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 62

5.2 Bộ ñiều khiển DMA – 8237A

Vi mạch 8237A ñiều khiển DMA cung cấp địa nhớ tín hiệu điều khiển suốt trình DMA truyền số liệu với tốc ñộ cao nhớ thiết bị vào 8237 vi mạch có kênh tương thích với VXL 8088, kênh mở rộng thêm nhiều kênh khác ñối với hệ thống nhỏ kênh qúa đủ 8237 có khả thực truyền DMA lên tới 1.6Mbyte/s Mỗi kênh có khả đánh địa tới 64 Kbyte nhớ truyền 64 Kbyte theo chương trình

5.2.1 Sơđồ khi chc năng khi ca vi mch 8237A

1 Sơñồ khi

(9)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

Hình 5.2: Sơ đồ khối chi tiết 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 giải mã địa - RESET : Xố ghi tạm, ghi trạng thái , ghi lệnh,thanh ghi yêu cầu - READY : tạo trạng thái chờ cho 8237A-5 nhớ I/O có tốc độ thấp - HLDA (hold Acknowledge): tín hiệu thơng báo CPU ñã thả bus ñịa chỉ, liệu, ñiều khiển

- DREQ0 - DREQ3 (DMA request) : Ðầu vào yêu cầu truyền DMA cho kênh

8237A-5, cực tính tín hiệu vào lập trình

- DB0 - DB7 (data bus ): Chân nối với bus liệu VXL 8088 ñược sử dụng

q trình trao đổi liệu

- IOR IOW : ñiều khiển ñọc ghi I/O

- EOP (end of process ) : tín hiệu hai chiều báo kết thúc DMA cuối chu kỳ DMA - A0- A3 : Chọn ghi nội cần lập trình phần địa truyền DMA

trình DMA

(10)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 64

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

- DACK0- DACK3 : (DMA channel acknowledge ) Ðầu chấp nhận DMA ( 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 nối với DB0 - DB7 đồng thời khơng cho phép ñệm

trong hệ thống ñược nối với VXL

- ADSTB : (address strobe ) : hoạt ñộng ALE sử dụng ñiều khiển DMA chốt địa A8- A15 suốt q trình truyền DMA

-MEMW ,MEMR: Ðầu ñiều khiển nhớ ñọc, ghi liệu chu kỳ DMA tương ứng

2 Chc năng khi ghi

* Các khối chức vi mạch : - Khối ñệm bus liệu

Ðây ñệm bit ghép nối 8237 với bus hệ thống

(D0- D7) : Các ñường bus liệu ba trạng thái, hai chiều Khi 8237 ñang ñược lập trình

ñiều khiển 8088 CPU, bit liệu ghi ñịa DMA, ghi chế ñộ (Mode set Register ) ñược gửi ñến từ bus liệu Khi 8088 CPU ñọc ghi ñịa DMA, ghi ñếm (terminal count Register), ghi trạng thái liệu ñược truyền ñến 8088 thông qua bus liệu Trong suốt chu kỳ DMA (khi 8237 ñang nắm quyền ñiều khiển bus liệu), 8237 gửi bit quan trọng ñịa nhớ (từ số ghi ñịa DMA) tới ñiều khiển bus Các bit ñịa ñược truyền bắt ñầu chu kỳ DMA, sau ñó bus liệu giải phóng để thực q trình trao đổi liệu với nhớ suốt trình DMA

* Các kênh DMA (DMA channel ):

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

Thanh ghi ñịa DMA ghi ñếm (Terminal Count Register )

(11)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi * Khối ñọc ghi logic (Read/ Write logic )

Khi 8088 CPU ñọc ghi số ghi 8237, khối logic ñiều khiển ñọc ghi nhận lệnh ñọc I/O (IOR) I/O Write (IOW) thơng báo cho vi mạch điều khiển bus 8288 giải mã bit ñịa thấp (A0- A3 ) ñồng thời ghi nội dung bus

dữ liệu vào ghi ñịa (nếu tín hiệu IOW) ghi nội dung ghi địa lên bus liệu (nếu tín hiệu IOR ) Trong suốt trình DMA khối logic ñiều khiển ñọc ghi thực lệnh ñọc I/O ghi nhớ ( chu kỳ DMA ghi) tín hiệu ghi I/O ñọc nhớ (chu kỳ DMA ñọc) Cần lưu ý suốt trình ñiều khiển DMA thiết bị I/O khơng hoạt động chế ñộ phải ñược ñặt trạng thái "cấm " sử dụng tín hiệu AEN

* Các ghi nội:

- Thanh ghi ñịa thời (CAR ): Lưu 16 bít địa nhớ suốt q trình truyền DMA Mỗi kênh có ghi CAR tăng giảm tuỳ thuộc vào cách lập trình

- Thanh ghi đếm từ thời (CWCR ): ñiều khiển số byte ñược truyền trình DMA Số ghi ghi nhỏ số byte ñã ñược truyền ñơn vị

- Thanh ghi ñịa sở từ sở (BWCR): sử dụng chọn chế ñộ tự động kích hoạt cho kênh ,trong q trình ghi BWCR ñược dùng ñể gọi lại ghi CAR CWCR sau DMA kết thúc

- Thanh ghi lệnh (Command Register ): lập trình cho hoạt ñộng 8237

(12)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 66

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

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

(13)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

- Thanh ghi trạng thái (Status register -SR ): xác ñịnh trạng thái kênh DMA

Bảng 5.1: Giới thiệu ñịa lệnh ñọc ghi cho ghi A3 A2 A1 A0 IOR IOW Hoạt ñộng

1 0 0 ðọc ghi trạng thái 0 Ghi ghi lệnh 0 1 Ghi ghi yêu cầu 1 Ghi ghi mặt nạ ñơn 1 1 Ghi ghi chế ñộ 1 0 Xoá flip-flop trỏ byte 1 1 ðọc ghi tạm thời 1 1 Xoá chủ

1 1 Xoá ghi mặt nạ

(14)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 68

nh Thanh ghi Hoạt ñộng CS IOR IOW A3 A2 A1 A0 Int FF Data Bus ñịa sở Ghi 0 0 0 A7÷A0

và hành 0 0 A8÷A15

địa ðọc 0 0 0 A7÷A0

hành 0 0 0 A8÷A15

ðếm lời sở Ghi 0 0 W7÷W0

và hành 0 0 1 W15÷W8

ðếm lời ðọc 0 0 W7÷W0

hành 0 0 1 W15÷W8

1 địa sở Ghi 0 0 A7÷A0

và hành 0 1 A8÷A15

địa ðọc 0 0 0 A7÷A0

hành 0 0 1 A8÷A15

ðếm lời sở Ghi 0 1 W7÷W0

và hành 0 1 W15÷W8

ðếm lời ðọc 0 0 1 W7÷W0

hành 0 0 1 W15÷W8

2 ñịa sở Ghi 0 0 A7÷A0

và hành 0 0 A8÷A15

ñịa ðọc 0 1 0 A7÷A0

hành 0 1 0 A8÷A15

ðếm lời sở Ghi 0 1 W7÷W0

và hành 0 1 W15÷W8

ðếm lời ðọc 0 1 W7÷W0

hành 0 1 1 W15÷W8

3 địa sở Ghi 0 1 0 A7÷A0

và hành 0 1 A8÷A15

địa ðọc 0 1 0 A7÷A0

hành 0 1 1 A8÷A15

ðếm lời sở Ghi 0 1 W7÷W0

và hành 0 1 1 W15÷W8

ðếm lời ðọc 0 1 1 W7÷W0

(15)

Tài liệu mơn học: Ghép nối ñiều khiển thiết bị ngoại vi

5.2.2 Ghép ni vi 8237A-5 h vi x lý 8088

Vi mạch 8237 ñược sử dụng máy vi tính IBM PC để thực q trình DMA trao đổi liệu trực tiếp thiết bị ngồi máy vi tính

Tín hiệu AEN ADSTB 8237A-5 điều khiển ñầu chốt 82C82 Trong suốt trình hoạt ñộng bình thường 8088 (AEN=0 ) vi mạch chốt ñịa cung cấp bit ñịa A15- A8 Ðịa bus A7- A0 ñược cung cấp trực tiếp 8237A-5 chứa

một phần ñịa truyền DMA Tín hiệu điều khiển MEMR ,MEMW ,IOR ,IOW ñược tạo ñiều khiển DMA Giả thiết ñịa ñầu cho DMAC 0070h

Hình 5.3: Sơ ñồ ghép nối 8237 với 8088

1. Các trng thái hot ñộng

Vi mạch 8237A có trạng thái sau:

- Trạng thái nghỉ SI: trạng thái trở kháng cao, khơng chọn mạch (CS=1)

- Trạng thái chờ SO: Trạng thái đầu q trình trao đổi DMA 8257 nhận tín hiệu DREQ, xử lý gởi yêu cầu Hold cho VXL chưa nhận tín hiệu xác nhận theo HLDA Khi nhận ñược xác nhận, DMAC bắt ñầu q trình trao đổi liệu

- Trạng thái phát ñịa nguồn số liệu S1:

DMAC phát ñịa nguồn số liệu (cửa I/O Memory) - Trạng thái phát lệnh ñọc cho nguồn số liệu S2:

DMAC phát lệnh ñọc số liệu nguồn số liệu - Trạng thái chờ SW:

(16)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 70

- Trạng thái phát địa đích số liệu S3:

DMAC phát ñịa nơi gởi số liệu (Memory cửa I/O) - Trạng thái phát lệnh ghi số liệu vào đích S4:

DMAC phát lệnh ghi số liệu từ ghi ñệm cửa vào-ra

2. Các chếñộ

Tuỳ nội dung ghi chế độ lúc khởi phát, DMAC có chế ñộ sau: - Chế ñộ chuyển từ ñơn (Single Transfer Mode)

- Chế ñộ chuyển nhiều từ (Block Transfer Mode)

- Chế ñộ chuyển theo nhu cầu (Demand Transfer Mode) với số lượng từ tuỳ theo người sử dụng ñiều khiển

- Chế ñộ ghép tầng (Cascade Mode) chế ñộ chuyển liên tiếp từ, ñiều khiển DMAC mắc nối tầng

3. Các chếñộưu tiên ca yêu cu DMAC

Cũng giống xử lý ngắt, DAMC có hai chế ñộ ưu tiên:

- Chế ñộ ưu tiên cố ñịnh: kênh có mức ưu tiên cao nhất, kênh có mức ưu tiên thấp

- Chế ñộ ưu tiên vòng: kênh vừa ñược phục vụ có mức ưu tiên thấp Khi lập chế ñộ, kênh có mức ưu tiên cao

4. Khi phát đảm bo chương trình phc v

Trước đưa DMAC vào hoạt động, chương trình phải khởi phát Q trình khởi phát gồm giai đoạn:

- Xố cứng tín hiệu Reset, làm ghi

- Ghi lệnh chương trình khởi phát: VXL ghi vào ghi chức ñịa ban ñầu, số từ trao ñổi, số kênh, che chắn yêu cầu kênh khơng cần hoạt động, chế độ trao đổi, chiều tăng hay giảm ñịa chỉ… Khi ghi liệu vào ghi 16 bit, phải ghi lần lựơt byte theo thứ tự byte thấp trước, byte cao sau

- Sau khởi phát, DMAC hồn tồn tự động làm việc Kết thúc chương trình khởi phát này, ln phải có lệnh ghi bit D4=1 vào ghi chế

ñộ ñể cho phép tự khởi ñộng

5. Kết thúc trao đổi DMA

Có hai cách kết thúc trao ñổi liệu:

(17)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

- Kết thúc cữơng bức: tín hiệu từ ngồi vào (do mạch TBNV người ñiều hành can thiếp cách ấn nút lệnh) để kết thúc q trình trao đổi DMA

6. Kim tra s kết thúc kênh mong mun

Trong DMAC hoạt ñộng, ghi trạng thái ln cập nhật, tức ln ghi trạng thái thời DMAC Khi kết thúc, VXL đọc nội dung ghi trạng thái ñể biết kênh DMA ñã ñạt ñến số ñếm kết thúc TC, số lời ñã trao ñổi ( trường hợp kết thúc cưỡng EOP từ vào)

kênh vào ñang chờ phục vụ

7. ðặc ñim v hot động ca 8237

8237 có đặc điểm sau:

- Cho phép cấm riêng biệt kênh DMA số kênh - Trao ñổi liệu DMA trực tiếp hai vùng nhớ

- Cho phép nối tầng DMAC ñể tăng số kênh DMA - Có thể tạo yêu cầu DMA chương trình

- Với 8237-2, tốc độ trao đổi DMA đạt tới 1,6Mbps Do ngồi phục vụ trao ñổi liệu MVT hình, đĩa, DMA cịn dùng mạng MVT

5.2.3 Lp trình cho 8237A

a Chương trình truyền liệu nhớ-bộ nhớ DMA

Ví dụ cần chuyển khối nhớ có địa 1000h-13FFh tới khối nhớ 1400h-17FFh thơng qua DMA Chương trình gồm bước sau:

- Xoá flip-flop trỏ byte

- Lập trình cho kênh 1: ðưa địa nguồn đích vào kênh - ðặt giá trị ñếm số byte cần chuyển -1

- Lập trình thơng qua ghi chế độ cho kênh - Lập trình cho ghi lệnh

- Cho phép kênh ñưa yêu cầu DMA

- Kiểm tra bit hết liệu Nếu ñã xong kết thúc DMA Xác định địa ghi:

Addr_chanel0 = $70; Addr_chanel1 =$72;

Addr_CT1 =$73 ;// ðịa ch bộñếm kênh

Addr_SR =$78 ;// ðịa ch ghi trng thái

Addr_CR =$78 ;// ñịa ch ghi ñiu khin

Addr_MR =$7B ; //ñịa ch ghi chếñộ

Addr_MKR = $7F;// ñịa ch ghi cm

Addr_RR = $79 ; //ñịa ch ghi yêu cu

(18)

Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 72

port[addr_pFF]=$00;// xoá tr FF v

// ðặt ñịa ch ngun vào kênh port[addr_chanel0] =$00; port[addr_chanel0] =$10; // ðặt địa chỉđích vào kênh

port[addr_pFF]=$01;// xoá tr FF v

port[addr_chanel1] =$00; port[addr_chanel1] =$14;

//Chỉñịnh s byte cn chuyn 4000

port[addr_pFF]=$01;// xoá tr FF v

port[addr_CT1] =$00; port[addr_CT1] =$40;

// ðặt chếñộ: kênh ñọc 1011 1000b= B8h ; kênh ghi: 1011 0101=B5h

port[addr_pFF]=$01;// xoá tr FF v

port[addr_MR]=$B8; port[addr_MR]=$B5;

// Lp trình ghi lnh cho phép truyn M-M= 01h

Port[addr_CR]=$01;

// B mt n che chn kênh = 0000 1110 b=0Eh

port[addr_MKR]= $0E;

//Yêu cu DMAC = 0000 0100 b=04h

port[addr_RR] = $04;

//Kim tra trng thái kết thúc ñếm: kênh ñã truyn hết d liu (D0=1) =01h Repeat

Var1=port[addr_SR]; Until ((var1 and $01)=$01); //kết thúc truyn

Return;

(19)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

CHƯƠNG 6: GHÉP NỐI TƯƠNG TỰ-SỐ VÀ SỐ-TƯƠNG TỰ Ðể điều khiển máy móc nhà máy, thiết bị y tế cần quan tâm ñến ảnh hưởng mơi trường bên ngồi áp suất, nhiệt độ Thường có số bước để nhận tín hiệu ñiện biểu diễn cho yếu tố ñó biến ñổi từ dạng tương tự sang dạng số ñể máy tính xử lý Hình 6.1 biểu diễn sơ ñồ ñơn giản hệ thống ñiều khiển tự động dùng máy vi tính

Hình 6.1: Sơ ñồ cấu trúc hệ thống ñiều khiển tự ñộng dùng máy vi tính

ðầu tiên cm biến (CB) dùng ñể biến ñổi giá trị vật lý nhiệt ñộ, áp suất sang

một ñiện áp hay dòng tương ứng Sau cảm biến thường khuếch ñại (Kð) lọc Khâu ñược thực số mạch khuếch đại thuật tốn Sau đó, tín hiệu tương tự chuyển sang dạng số biến ñổi tương t-số (Analog-Digital Converter-ADC), máy vi tính nhận, xử lý, lưu trữ, so sánh với tín hiệu đặt, tạo tín hiệu điu khin (ðK) tương ứng Vì máy vi tính làm việc tín hiệu số (logic

và 1) nên cần có chuyn đổi s-tương tự (Digital-Analog Converter-DAC) để tạo tín hiệu điều khiển dạng tương tự Tiếp theo khâu khuếch ñại (Kð) lệch áp để tạo tín

hiệu phù hợp cung cấp cho cơ cu chp hành (CCCH) hệ thống thực

6.1 Giới thiệu số mạch khuếch ñại thuật toán

Khuếch ñại thuật toán số linh kiện ñiện tử thường gặp kỹ thuật tương tự, kỹ thuật ño lường ñiều khiển công nghiệp, khuếch ñại thuật tốn có mặt nhiều thiết bị hệ thống Khả sử dụng khuếch ñại thuật toán vạn năng, chúng ñược áp dụng nhiều lĩnh vực khuếch ñại chiều, khuếch ñại xoay chiều, lọc tích cực, dao động, biến đổi trở kháng, vi phân, tích phân

6.1.1 Các tham s cơ bn ca mch khuếch đại thut tốn

CCCH Hệ thống thực

CB Kð

ADC

DAC Kð

ðK Setpoint

(20)

Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi

Giảng viên: Nguyễn Văn Minh Trí 74

Hình 6.2: Sơ đồ khuếch đại thuật tốn

Ud hiệu điện áp vào

UP, IP điện áp vào dịng điện vào cửa thuận

UN , IN ñiện áp vào dịng điện vào cửa đảo

Ur , Ir điện áp dịng điện

Bộ khuếch đại thuật tốn khuếch đại hiệu ñiện áp Ud = UP - UN với hệ số khuếch ñại

0

0 >

K Do điện áp ra:

( p N)

d

r KU K U U

U = 0 = 0 −

1 H s khuếch đại hiu K0

Khi khơng tải xác định theo biểu thức sau

N p r d r U U U U U K − = =

2 H s khuếch ñại ñồng pha KCM

Nếu ñặt vào cửa thuận cửa ñảo khuếch đại thuật tốn điện áp nhau, nghĩa là:

UP = UN = UCM =0

thì Ud = Gọi UCM điện áp vào ñồng pha Lý tưởng ta có Ur=0 Tuy nhiên, thực tế

khơng phải Do điện áp điện áp vào đồng pha có quan hệ tỷ lệ hệ số khuếch ñại ñồng pha KCM :

CM r CM U U K ∆ ∆ =

Ngày đăng: 30/03/2021, 06:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan