Bài giảng Kỹ thuật vi xử lý - Chương 8: Ghép nối 8088 với bộ điều khiển ngắt - TS. Phạm Hoàng Duy

pdf 31 trang phuongnguyen 2591
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật vi xử lý - Chương 8: Ghép nối 8088 với bộ điều khiển ngắt - TS. Phạm Hoàng Duy", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_thuat_vi_xu_ly_chuong_8_ghep_noi_8088_voi_bo_di.pdf

Nội dung text: Bài giảng Kỹ thuật vi xử lý - Chương 8: Ghép nối 8088 với bộ điều khiển ngắt - TS. Phạm Hoàng Duy

  1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN Kỹ Thuật Vi Xử Lý Giảng viên: TS. Phạm Hoàng Duy Điện thoại/E-mail: phamhduy@gmail.com Bộ môn: Khoa Học Máy Tính- Khoa CNTT1 Học kỳ/Năm biên soạn:2009
  2. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ NỘI DUNG GHÉP NỐI 8088 VỚI BỘ ĐIỀU KHIỂN NGẮT Giảng viên: TS. Phạm Hoàng Duy E-mail: phamhduy@gmail.com Năm biên soạn: 2009 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 2 BỘ MÔN: KHMT-Khoa CNTT1
  3. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Nội dung  Khái niệm ngắt  Xử lý ngắt  PIC 8259A GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 3 BỘ MÔN: KHMT-Khoa CNTT1
  4. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Ngắt  Tạm dừng thao tác hiện thời của CPU để chuyển sang thao tác khác . Trao đổi dữ liệu với thiết bị ngoại vi . Báo lỗi . Phục vụ yêu cầu khẩn GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 4 BỘ MÔN: KHMT-Khoa CNTT1
  5. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Phân loại ngắt  Ngắt cứng: sinh ra do các tín hiệu INTR hay NMI . Ngắt che được: chịu tác động của cờ cho phép ngắt . Ngắt không che được  Ngắt mềm: sinh ra do câu lệnh INT  Ngắt tự động (ngoại lệ): sinh do thực hiện các lệnh của CPU như chia 0, đặt cờ ngắt, GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 5 BỘ MÔN: KHMT-Khoa CNTT1
  6. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Một số lệnh liên quan ngắt  CLI: Xóa cờ ngắt  STI: Đặt cờ ngắt  INT XX: Gọi ngắt mềm số XX  IRET: Câu lệnh trờ về khi kết thúc chương trình xử lý ngắt  HLT: Treo CPU cho đến khi có ngắt hoặc khởi động lại GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 6 BỘ MÔN: KHMT-Khoa CNTT1
  7. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Quá trình xử lý ngắt 1. Lưu thanh ghi cờ 2. Cấm ngắt 3. Lưu đoạn lệnh 4. Lưu con trỏ lệnh 5. Nạp đoạn lệnh và con trỏ lệnh mới 6. Thực hiện chương trình ngắt 7. Khôi phục lại các thanh ghi trước khi ngắt GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 7 BỘ MÔN: KHMT-Khoa CNTT1
  8. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Xử lý yêu cầu ngắt  Các ngắt cứng dùng để quản lý các thiết bị ngoại vi, đặc biệt hiệu quả đối với các thao tác vào/ra  Tín hiệu ngắt không che được NMI dùng trong tình trạng khẩn cấp như lỗi phần cứng  Tín hiệu ngắt thông thường INTR dùng để điều khiển thiết bị, CPU có thể chậm trễ khi xử lý tín hiệu này GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 8 BỘ MÔN: KHMT-Khoa CNTT1
  9. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Xử lý ngắt  Khi nhiều tín hiệu ngắt đồng thời xảy ra, tín hiệu ngắt nào có độ ưu tiên cao nhất sẽ được đưa tới CPU Kiểu ngắt Độ ưu tiên Ngắt tự động Cao nhất Ngắt không che được NMI Ngắt che được INTR Ngắt chạy từng lệnh Thấp nhất GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 9 BỘ MÔN: KHMT-Khoa CNTT1
  10. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Bảng véc tơ ngắt (PC BIOS) Số thứ tự Chức năng 0H Lỗi phép chia 1H Chạy từng bước 2H NMI 3H Dừng (break point) 8H Ngắt đồng hồ (thời gian) 10H Ngắt dùng điều khiển màn hình 13H Ngắt đọc ghi đĩa 16H Ngắt điều khiển bàn phím 21H Ngắt của DOS GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 10 BỘ MÔN: KHMT-Khoa CNTT1
  11. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Bộ điều khiển ngắt PIC-8259A D0-D7 Dữ liệu RD,WR Đọc, Ghi (mức thấp) A0 Địa chỉ thanh ghi CS Chọn chip CAS0-2 Ghép tầng với PIC khác SP Xác định PIC chủ (master SP=1) thợ (slave SP=0) EN Mở đệm dữ liệu INT Yêu cầu ngắt INTA Chấp nhận ngắt GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 11 BỘ MÔN: KHMT-Khoa CNTT1
  12. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Ghép nối GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 12 BỘ MÔN: KHMT-Khoa CNTT1
  13. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Ghép nối GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 13 BỘ MÔN: KHMT-Khoa CNTT1
  14. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Kiến trúc 8259A GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 14 BỘ MÔN: KHMT-Khoa CNTT1
  15. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Kiến trúc 8259  Data bus buffer: đệm dữ liệu (3 trạng thái)  R/W logic: đọc/ghi các thông tin điều khiển và trạng thái  IMR: ghi nhớ mặt nạ ngắt với các yêu cầu ngắt  IRR: Lưu trạng thái hiện thời của các yêu cầu ngắt  Priority resolver: xác định thứ tự ưu tiên của các yêu cầu ngắt  ISR: lưu giữ các yêu cầu ngắt được phục vụ  Cascade buffer/comparator: giao tiếp giữa PIC chủ/thợ GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 15 BỘ MÔN: KHMT-Khoa CNTT1
  16. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Lập trình PIC-8259A  PIC được lập trình thông qua nạp các giá trị thích hợp cho 7 thanh ghi (ô nhớ trong) của 8259A: . 4 từ khởi tạo ICW . 3 từ điều khiển hoạt động OCW  ICW xác lập chế độ hoạt động PIC-8259A  OCW điều khiển 8259A hoạt động ở các chế độ khác nhau GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 16 BỘ MÔN: KHMT-Khoa CNTT1
  17. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Xác lập chế độ làm việc GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 17 BỘ MÔN: KHMT-Khoa CNTT1
  18. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ ICW1 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 18 BỘ MÔN: KHMT-Khoa CNTT1
  19. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ ICW2  Xác định số hiệu ngắt GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 19 BỘ MÔN: KHMT-Khoa CNTT1
  20. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ ICW2 với 8088/8086 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 20 BỘ MÔN: KHMT-Khoa CNTT1
  21. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ ICW3 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 21 BỘ MÔN: KHMT-Khoa CNTT1
  22. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ ICW4 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 22 BỘ MÔN: KHMT-Khoa CNTT1
  23. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Ví dụ  8259 kết nối với 8088, hoạt động ở chế độ độc lập, yêu cầu ngắt kích hoạt bằng mức, có đệm dữ liệu, sử dụng chế độ ưu tiên bình thường. Xác định từ khởi tạo cho 8259? GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 23 BỘ MÔN: KHMT-Khoa CNTT1
  24. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Từ điều khiển hoạt động OCW GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 24 BỘ MÔN: KHMT-Khoa CNTT1
  25. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ OCW2  Xác định cách PIC xử lý yêu cầu ngắt . Chế độ ưu tiên cố định: • IR0> >IR7 . Đổi mức ưu tiên tự động: • Quay vòng . Ưu tiên đích danh • Gán mức độ ưu tiên cho từng yêu cầu ngắt GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 25 BỘ MÔN: KHMT-Khoa CNTT1
  26. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Quay vòng ưu tiên GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 26 BỘ MÔN: KHMT-Khoa CNTT1
  27. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ OCW2 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 27 BỘ MÔN: KHMT-Khoa CNTT1
  28. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ OCW3  Chọn các thanh ghi để đọc  Thăm dò trạng thái yêu cầu ngắt  Thao tác với thanh ghi mặt nạ GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 28 BỘ MÔN: KHMT-Khoa CNTT1
  29. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Thăm dò & IRR&ISR D7 D6 D5 D4 D3 D2 D1 D0 1: có X x X x Số hiệu yêu cầu ngắt ngắt IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 D7 D6 D5 D4 D3 D2 D1 D0  0 = Có yêu cầu ngắt  1 = Không có yêu cầu ngắt IS7 IS6 IS5 IS4 IS3 IS2 IS1 IS0 D7 D6 D5 D4 D3 D2 D1 D0  0 = Yêu cầu ngắt IRi không được phục vụ  1 = Yêu cầu ngắt IRi đang được phục vụ GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 29 BỘ MÔN: KHMT-Khoa CNTT1
  30. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Ví dụ  Cho phép ngắt tại các đầu vào IR012  Đặt 8259 hoạt động ở chế độ ưu tiên quay vòng tự động  Đặt yêu cầu ngắt IR 1 có độ ưu tiên cao nhất  Đặt yêu cầu ngắt IR 2 có độ ưu tiên cao nhất  Thực hiện kiểm tra yêu cầu ngắt bằng phần mềm (Đặt mặt nạ ngắt, Sử dụng lệnh Poll thăm dò, đọc thanh ghi yêu cầu ngắt)? GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 30 BỘ MÔN: KHMT-Khoa CNTT1
  31. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Trình tự sự kiện (8088)  Các tín hiệu yêu cầu ngắt do thiết bị vào/ra gửi tới PIC làm cho các bít tương ứng trong IRR được bật lên  PIC xem xét các yêu cầu ngắt và báo hiệu cho CPU khi cần (INTR)  CPU xác nhận ngắt bằng cách đưa ra INTA  Khi nhận được INTA, PIC xóa bít tương ứng trong IRR và bít ưu tiên cao nhất của ISR được bật  CPU đưa ra INTA thứ 2, PIC đưa ra 1 byte dữ liệu về số hiệu ngắt  Kết thúc chu kỳ ngắt. Nếu dùng AEOI thì bit ISR bị xóa vào cuối xung INTA thứ 2. Nếu không, bít ISR giữ nguyên cho đến khi có câu lệnh EOI GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 31 BỘ MÔN: KHMT-Khoa CNTT1