Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
431,5 KB
Nội dung
CHƯƠNG TỔ CHỨC VÀO/RA DỮ LIỆU MỘT SỐ MẠCH PHỤ TRỢ CHO 8088 Các mạch chốt đệm IO/M IO/M LS244 RD WR A16/S3 - A19/S6 RD WR A16 - A19 LS373 G LS244 A8 – A15 ALE AD0 – AD7 µP 8088 A8 – A15 G LS373 A0 – A7 LS245 D0 – D7 MỘT SỐ MẠCH PHỤ TRỢ CHO 8088 Mạch tạo xung nhịp 8284 X1 CLK fx = 14,3MHz fclk = fx / CLK X2 +5V 10K K µP 8088 8284 RES RESET F/C CSYNC RESET 10µ Khởi động hệ thống BIỂU ĐỒ THỜI GIAN CÁC LỆNH GHI/ĐỌC Chu kỳ ghi đơn giản hóa Một chu kỳ Bus T1 T2 T3 T4 CLK Tw ALE A16/S3 – A19/S6 Địa A8 – A15 AD0 – AD7 WR DEN Tín hiệu trạng thái Địa ổn định Địa Dữ liệu ghi BIỂU ĐỒ THỜI GIAN CÁC LỆNH GHI/ĐỌC Chu kỳ đọc đơn giản hóa Một chu kỳ Bus T1 T2 T3 T4 CLK Tw ALE A16/S3 – A19/S6 Địa A8 – A15 AD0 – AD7 RD DEN Tín hiệu trạng thái Địa ổn định Địa Dữ liệu đọc PHỐI GHÉP µP8088 VỚI BỘ NHỚ Bộ nhớ bán dẫn * Các loại: - Bộ nhớ cố định: ROM, PROM - Bộ nhớ bán cố định: EPROM, EEPROM - Bộ nhớ không cố định: SRAM, DRAM * Cấu trúc tiêu biểu vi mạch nhớ: Bus A A0 - An-1 WR WE RD OE D0 - Dm-1 Bus D CS Chọn vỏ Giải mã địa cho nhớ Trường hợp nhớ đầy đủ 1MB: AX BX CX DX xxxx 0023 xxxx xxxx CS DS SS ES xxxx 2000 xxxx xxxx µP8088 D0 - D7 D0 - D7 A0 - A19 A0 - A19 RD OE WR WE IO/M CS FFFFF FFFFE FFFFD 20023 20022 20021 00001 00000 Vấn đề xảy phối ghép với vi mạch nhớ 1MB? 14 7D 3C : : F9 53 75 : : FE 25 Giải mã địa cho nhớ Trường hợp nhớ 512KB → gồm vùng: - Vùng với dải địa chỉ: 00000 ÷ 7FFFFh (bit A19 = 0) - Vùng với dải địa chỉ: 80000 ÷ FFFFFh(bit A19 = 1) Vùng nhớ A19A18 A17A16 A15A14 A13A12 A11A10 A9A8 A7A6A5A4 A3A2 A1A0 00000 ::: 7FFFF 0000 ::: 0111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 80000 ::: FFFFF 1000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 Giải mã địa cho nhớ Phối ghép với vi mạch nhớ 512KB: AX BX CX DX xxxx 0023 xxxx xxxx D0 - D7 A19 A0 - A18 CS DS SS ES xxxx 2000 xxxx xxxx µP8088 D0 - D7 ? A0 - A18 RD OE WR WE IO/M CS 7FFFF 7FFFE 7FFFD 20023 20022 20021 00001 00000 Điều xảy đọc nhớ 20023h A0023h? 14 7D 3C : : F9 53 75 : : FE 25 Giải mã địa cho nhớ Nếu phối ghép với vi mạch nhớ 512KB hình vẽ: AX BX CX DX CS DS SS ES xxxx 0023 xxxx xxxx xxxx 2000 xxxx xxxx D0 - D7 D0 - D7 7FFFF A0 - A18 20023 20022 A19 A0 - A18 RD OE WR WE #1 IO/M µP8088 Điều xảy ra? Cách giải quyết? CS 00001 00000 D0 - D7 7FFFF A0 - A18 20023 20022 OE WE #2 CS 00001 00000 14 : : F9 53 : : FE 25 23 : : 14 F3 : : 6E 77 Giải mã địa cho nhớ Trường hợp nhớ 256KB → gồm vùng: Vùng nhớ A19A18 A17A16 A15A14 A13A12 A11A10 A9A8 A7A6A5A4 A3A2 A1A0 00000 ::: 3FFFF 0000 ::: 0011 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 40000 ::: 7FFFF 0100 ::: 0111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 80000 ::: BFFFF 1000 ::: 1011 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 C0000 ::: FFFFF 1100 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 Giải mã địa cho nhớ Bộ nhớ gồm chip 256KB A0 - A17 A18 I0 A19 I1 O0 A0 - A17 A0 - A17 WE WE OE OE CS 256KB #1 CS 256KB #2 µP8088 WR RD IO/M O1 EN A0 - A17 A0 - A17 WE WE OE OE O2 CS O3 256KB #3 CS 256KB #4 Giải mã địa cho nhớ Mạch giải mã 74LS138: Các tín hiệu Các đầu vào chọn A Y0 B Y1 C Y2 74LS138 Các đầu vào cho phép Y3 Các đầu Y4 chọn vỏ G2A Y5 G2B Y6 G1 Y7 Giải mã địa cho nhớ Mạch giải mã 74LS138: Bảng chân lý G2A G2B G1 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 x x x x x 1 1 1 1 x x x x x 1 1 1 1 x x x x x 1 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 Giải mã địa cho nhớ Xét ví dụ: Sử dụng 74LS138 để dành riêng vùng nhớ 64KB với dải địa 00000h FFFFFh cho chip nhớ 8KB Các bước thực hiện: - Tính số đường địa chip nhớ 8KB, rút địa byte thấp byte cao chip nhớ(dưới dạng Hex nhị phân) - Lập bảng phân vùng địa chip nhớ vùng nhớ 64KB có dải địa 00000h - FFFFFh Rút quy luật chọn vùng nhớ - Vẽ sơ đồ giải mã địa cho chip nhớ sử dụng 74LS138 Giải mã địa cho nhớ Bước 1: - Chip nhớ có dung lượng 8KB = 23x210B = 213B → số đường địa 13 - Địa byte thấp byte cao nhất: + Byte thấp nhất: 0.0000.0000.0000b = 0000h + Byte cao nhất: 1.1111.1111.1111b = 1FFFh Giải mã địa cho nhớ Bước 2: Lập bảng phân vùng địa tìm quy luật chọn vùng nhớ Vùng nhớ A19A18 A17A16 A15A14 A13A12 A11A10 A9A8 A7A6A5A4 A3A2 A1A0 00000 ::: 01FFF 0000 ::: 0000 0000 ::: 0001 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 02000 ::: 03FFF 0000 ::: 0000 0010 ::: 0011 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 ::: ::: ::: ::: ::: ::: 0E000 ::: 0FFFF 0000 ::: 0000 1110 ::: 1111 0000 ::: 1111 0000 ::: 1111 0000 ::: 1111 Giải mã địa cho nhớ Quy luật chọn vùng nhớ: Vùng nhớ 64KB chọn A19A18A17A16 = 0000 Trong đó: + Vùng 8KB thứ nhất(#1) chọn khi: A15A14A13 = 000 + Vùng 8KB thứ hai(#2) chọn khi: A15A14A13 = 001 + + Vùng 8KB thứ tám(#8) chọn khi: A15A14A13 = 111 Nhận xét: - A19, A18, A17, A16 : tín hiệu cho phép 74LS138 - A15, A14, A13 : tín hiệu vào chọn 74LS138 Giải mã địa cho nhớ Bước 3: Vẽ sơ đồ giải mã sử dụng 74LS138 A0 - A12 A0 - A12 A13 A Y0 A14 B Y1 A15 C Y2 74LS138 A16 A17 Y4 G2A Y5 A19 G2B Y6 G1 CS 8KB #1 Y3 A18 IO/M 00000 - 01FFF Y7 A0 - A12 A0 - A12 0E000 - 0FFFF CS 8KB #8 PHỐI GHÉP µP8088 VỚI TBNV Các kiểu phối ghép vào/ra FFFFFh FFFFFh Memory Memory I/O FFFFh Memory 00000h Kiểu lệnh tín hiệu điều khiển dùng chung MOV, IO/M = I/O 00000h 0000h Kiểu lệnh: MOV Kiểu lệnh: IN, OUT Tín hiệu: IO/M = Tín hiệu: IO/M = Giải mã địa cho cổng I/O - Chỉ xét trường hợp cổng I/O có khơng gian địa tách biệt - Giải mã địa cho cổng cụ thể, cổng địa - Địa cổng thường bit: A0 - A7 - Hai cổng khác loại(I O) có địa - Tín hiệu chọn cổng ký hiệu là: ISP OSP - Phương pháp tương tự giải mã địa cho nhớ Giải mã địa cho cổng I/O Sử dụng phần tử NAND: Cổng vào cổng có địa 00h A0 A0 A1 A1 A2 A2 A3 A4 ISP (00h) A3 A4 A5 A5 A6 A6 A7 A7 RD WR IO/M IO/M OSP (00h) Giải mã địa cho cổng I/O Sử dụng 74LS138: cổng vào có địa từ 00h - 07h A0 A Y0 A1 B Y1 A2 C Y2 A3 74LS138 A4 A5 A6 RD A7 IO/M 00h Y3 ISP Y4 G2A Y5 G2B Y6 G1 Y7 07h Giải mã địa cho cổng I/O Sử dụng 74LS138: cổng có địa từ 00h - 07h A0 A Y0 A1 B Y1 A2 C Y2 A3 74LS138 A4 A5 A6 WR A7 IO/M 00h Y3 ISP Y4 G2A Y5 G2B Y6 G1 Y7 07h Giải mã địa cho cổng I/O Sử dụng 74LS138: cổng vào cổng có địa từ 00h - 03h ? A Y0 B Y1 C Y2 74LS138 ? Y3 Y4 G2A Y5 G2B Y6 G1 Y7 00h ISP 03h 00h OSP 03h ... cho phép 74LS138 - A15, A 14, A13 : tín hiệu vào chọn 74LS138 Giải mã địa cho nhớ Bước 3: Vẽ sơ đồ giải mã sử dụng 74LS138 A0 - A12 A0 - A12 A13 A Y0 A 14 B Y1 A15 C Y2 74LS138 A16 A17 Y4 G2A Y5... IO/M LS 244 RD WR A16/S3 - A19/S6 RD WR A16 - A19 LS373 G LS 244 A8 – A15 ALE AD0 – AD7 µP 8088 A8 – A15 G LS373 A0 – A7 LS 245 D0 – D7 MỘT SỐ MẠCH PHỤ TRỢ CHO 8088 Mạch tạo xung nhịp 82 84 X1 CLK... A2 A2 A3 A4 ISP (00h) A3 A4 A5 A5 A6 A6 A7 A7 RD WR IO/M IO/M OSP (00h) Giải mã địa cho cổng I/O Sử dụng 74LS138: cổng vào có địa từ 00h - 07h A0 A Y0 A1 B Y1 A2 C Y2 A3 74LS138 A4 A5 A6 RD