Ghép nối và điều khiển thiết bị ngoại vi - Chương 5
Số trang: 14
Loại file: pdf
Dung lượng: 229.22 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tài liệu tham khảo giáo trình môn học Ghép nối và điều khiển thiết bị ngoại vi nhằm cung cấp kiến thức cơ bản trong việc tìm hiểu thiết kế mạch ghép nối ngoại vi với máy vi tính - Chương 5 Ghép nối vào ra điều khiển bằng DMA
Nội dung trích xuất từ tài liệu:
Ghép nối và điều khiển thiết bị ngoại vi - Chương 5 Tài li u môn h c: Ghép n i và ñ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 cơ b n 5.1.1 Khái ni m DMA Phương pháp trao ñ i d li u theo chương trình s ch m do: - VXL ph i gi i mã và th c hi n l nh - Trao ñ i d li u t ng byte thông qua thanh ch a AX c a VXL. K thu t vào ra DMA (direct memory access) là phương pháp truy c p tr c ti p t i b nh ho c I/O mà không có s tham gia c a CPU. Phương pháp này trao ñ i d li u gi a b nh và thi t b ngo i vi v i t c ñ cao và ch b h n ch b i t c ñ c a b nh ho c c a b ñi u khi n DMA. T c ñ truy n DMA có th ñ t t i 10 ÷ 12 Kbyte/s v i các b nh RAM có t c ñ cao. DMA ñư c ng d ng trong nhi u m c ñích nhưng thông thư ng nó ñư c dùng trong quá trình refresh DRAM, xu t màn hình, ñ c ghi ñĩa, truy n d li u gi a các vùng nh v i t c ñ cao . 5.1.2 Ho t ñ ng DMAC (DMA Controller) cơ b n Hai tín hi u ñ yêu c u và xác nh n trong h th ng VXL là HOLD ñư c s d ng ñ yêu c u DMA và HLDA là ñ u ra 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 b ng cách kích ho t tín hi u HLDA, xác nh n yêu c u, ñ ng th i th n i các công vi c hi n th i cùng các bus d li u và ñ a ch , ñi u khi n ñư c ñ t tr ng thái tr kháng cao. Tr ng thái này cho phép các thi t b I/O bên ngoài ho c các b VXL khác n m quy n ñi u khi n bus h th ng ñ truy c p tr c ti p b nh . Tín hi u HOLD có m c ưu tiên cao hơn INTR ho c ñ u vào NMI (ng t không che ñư c) và ch sau RESET. Tín hi u HOLD luôn có hi u l c t i b t kỳ th i ñi m nào trong su t quá trình th c hi n các l nh khác c a VXL. Chú ý r ng t lúc tín hi u HOLD thay ñ i cho ñ n khi tín hi u HLDA thay ñ i ñã tr i qua m t s chu kỳ clock . DMA thư ng ñư c th c hi n gi a thi t b I/O và b nh . Quá trình ñ c DMA là quá trình ñưa d li u t b nh ra thi t b I/O, và ngư c l i quá trình ghi DMA là quá trình ñưa d li u t I/O t i b nh . Trong c hai chu trình này thi t b I/O và b nh ñư c ñi u khi n ñ ng th i d n ñ n c n có các tín hi u ñi u khi n khác nhau. Ð ñi u khi n quá trình ñ c DMA ta c n hai tín hi u ho t ñ ng MEMR (ñ c b nh ) và IOW (ghi I/O). Ð ñi u khi n quá trình ghi ta có hai tín hi u MEMW (ghi b b nh ) và IOR (ñ c I/O). B ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ch n thi t b I/O cho 8088 trong su t quá trình DMA. Do t c ñ truy n DMA ph thu c vào t c ñ c a b nh và t c ñ c a b ñi u khi n DMA nên trong trư ng h p t c ñ c a b ñi u khi n DMA nh hơn so v i b nh thì b ñi u khi n DMA s làm gi m t c ñ chung c a h th ng . Hình v sau minh ho quá trình ho t ñ ng DMA cơ b n cùng ñ th th i gian ñ c / ghi DMA : Gi ng viên: Nguy n Văn Minh Trí 59 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Ð th th i gian ñ c / ghi DMA . Gi ng viên: Nguy n Văn Minh Trí 60 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 5.1.3. Các ch ñ trao ñ i d li u DMA + Trao ñ i d li u theo kh i: trao ñ i nhi u l i d li u, ñ m t giá tr n ñ n 0. + Trao ñ i l y lén chu kỳ t ng ph n: DMA phát hi n data bus r i, r i th c hi n trao ñ i d li u DMA. DMAC ph i có: - Thi t b phát hi n ñư ng dây r i - Thi t b b o ñ m VXL b treo cho t i khi DMAC không s d ng ñư ng dây, khi n VXL ch m t th i gian Tw t i khi DMAC th c hi n trao ñ i xong trong m t ph n c a trao ñ i d li u và ti p t c n t ph n l y lén chu kỳ sau cho t i khi k t thúc trao ñ i c t d li u DMA. + Trao ñ i l y lén chu kỳ trong su t: gi ng ch ñ trên, nhưng DMA b t VXL ch t i khi trao ñ i xong m t t d li u tr n v n. Gi ng viên: Nguy n Văn Minh Trí 61 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 5.2 B ñi u khi n DMA – 8237A Vi m ch 8237A là m t b ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ñi u khi n trong su t quá trình DMA và truy n s li u v i t c ñ cao gi a b nh và thi t b vào ra. 8237 là vi m ch có 4 kênh tương thích v i b VXL 8088, các kênh này có th m r ng thêm nhi u kênh khác m c dù ñ i v i h th ng nh thì 4 kênh này là qúa ñ . 8237 có kh năng th c hi n truy n DMA lên t i 1.6Mbyte/s .M i kênh có kh năng ñánh ñ a ch t i 64 Kbyte b nh và có th truy n 64 Kbyte theo chương trình. 5.2.1 Sơ ñ kh i và ch c năng các kh i c a vi m ch 8237A 1. Sơ ñ kh i Hình 5.1: Vi m ch 8237A -5 Gi ng viên: Nguy n Văn Minh Trí 62 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Hình 5.2: Sơ ñ kh i chi ti t c a 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 . - DB0 - DB7 (data bus ): Chân n i v i bus d li u c a b VXL 8088 ñư c s d ng trong quá trình trao ñ i d li u - IOR và IOW : ñi u khi n ñ c và ghi I/O . - EOP (end of process ) : tín hi u hai chi u báo k t thúc DMA t i cu i chu kỳ DMA . - A0- A3 : Ch n thanh ghi n i c n l p trình và m t ph n ñ a ch truy n DMA trong quá trình DMA . - A7 - A4 : Cung c p 1 ph n ñ a ch còn l i c a DMA . Gi ng viên: Nguy n Văn Minh Trí 63 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é ...
Nội dung trích xuất từ tài liệu:
Ghép nối và điều khiển thiết bị ngoại vi - Chương 5 Tài li u môn h c: Ghép n i và ñ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 cơ b n 5.1.1 Khái ni m DMA Phương pháp trao ñ i d li u theo chương trình s ch m do: - VXL ph i gi i mã và th c hi n l nh - Trao ñ i d li u t ng byte thông qua thanh ch a AX c a VXL. K thu t vào ra DMA (direct memory access) là phương pháp truy c p tr c ti p t i b nh ho c I/O mà không có s tham gia c a CPU. Phương pháp này trao ñ i d li u gi a b nh và thi t b ngo i vi v i t c ñ cao và ch b h n ch b i t c ñ c a b nh ho c c a b ñi u khi n DMA. T c ñ truy n DMA có th ñ t t i 10 ÷ 12 Kbyte/s v i các b nh RAM có t c ñ cao. DMA ñư c ng d ng trong nhi u m c ñích nhưng thông thư ng nó ñư c dùng trong quá trình refresh DRAM, xu t màn hình, ñ c ghi ñĩa, truy n d li u gi a các vùng nh v i t c ñ cao . 5.1.2 Ho t ñ ng DMAC (DMA Controller) cơ b n Hai tín hi u ñ yêu c u và xác nh n trong h th ng VXL là HOLD ñư c s d ng ñ yêu c u DMA và HLDA là ñ u ra 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 b ng cách kích ho t tín hi u HLDA, xác nh n yêu c u, ñ ng th i th n i các công vi c hi n th i cùng các bus d li u và ñ a ch , ñi u khi n ñư c ñ t tr ng thái tr kháng cao. Tr ng thái này cho phép các thi t b I/O bên ngoài ho c các b VXL khác n m quy n ñi u khi n bus h th ng ñ truy c p tr c ti p b nh . Tín hi u HOLD có m c ưu tiên cao hơn INTR ho c ñ u vào NMI (ng t không che ñư c) và ch sau RESET. Tín hi u HOLD luôn có hi u l c t i b t kỳ th i ñi m nào trong su t quá trình th c hi n các l nh khác c a VXL. Chú ý r ng t lúc tín hi u HOLD thay ñ i cho ñ n khi tín hi u HLDA thay ñ i ñã tr i qua m t s chu kỳ clock . DMA thư ng ñư c th c hi n gi a thi t b I/O và b nh . Quá trình ñ c DMA là quá trình ñưa d li u t b nh ra thi t b I/O, và ngư c l i quá trình ghi DMA là quá trình ñưa d li u t I/O t i b nh . Trong c hai chu trình này thi t b I/O và b nh ñư c ñi u khi n ñ ng th i d n ñ n c n có các tín hi u ñi u khi n khác nhau. Ð ñi u khi n quá trình ñ c DMA ta c n hai tín hi u ho t ñ ng MEMR (ñ c b nh ) và IOW (ghi I/O). Ð ñi u khi n quá trình ghi ta có hai tín hi u MEMW (ghi b b nh ) và IOR (ñ c I/O). B ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ch n thi t b I/O cho 8088 trong su t quá trình DMA. Do t c ñ truy n DMA ph thu c vào t c ñ c a b nh và t c ñ c a b ñi u khi n DMA nên trong trư ng h p t c ñ c a b ñi u khi n DMA nh hơn so v i b nh thì b ñi u khi n DMA s làm gi m t c ñ chung c a h th ng . Hình v sau minh ho quá trình ho t ñ ng DMA cơ b n cùng ñ th th i gian ñ c / ghi DMA : Gi ng viên: Nguy n Văn Minh Trí 59 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Ð th th i gian ñ c / ghi DMA . Gi ng viên: Nguy n Văn Minh Trí 60 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 5.1.3. Các ch ñ trao ñ i d li u DMA + Trao ñ i d li u theo kh i: trao ñ i nhi u l i d li u, ñ m t giá tr n ñ n 0. + Trao ñ i l y lén chu kỳ t ng ph n: DMA phát hi n data bus r i, r i th c hi n trao ñ i d li u DMA. DMAC ph i có: - Thi t b phát hi n ñư ng dây r i - Thi t b b o ñ m VXL b treo cho t i khi DMAC không s d ng ñư ng dây, khi n VXL ch m t th i gian Tw t i khi DMAC th c hi n trao ñ i xong trong m t ph n c a trao ñ i d li u và ti p t c n t ph n l y lén chu kỳ sau cho t i khi k t thúc trao ñ i c t d li u DMA. + Trao ñ i l y lén chu kỳ trong su t: gi ng ch ñ trên, nhưng DMA b t VXL ch t i khi trao ñ i xong m t t d li u tr n v n. Gi ng viên: Nguy n Văn Minh Trí 61 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 5.2 B ñi u khi n DMA – 8237A Vi m ch 8237A là m t b ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ñi u khi n trong su t quá trình DMA và truy n s li u v i t c ñ cao gi a b nh và thi t b vào ra. 8237 là vi m ch có 4 kênh tương thích v i b VXL 8088, các kênh này có th m r ng thêm nhi u kênh khác m c dù ñ i v i h th ng nh thì 4 kênh này là qúa ñ . 8237 có kh năng th c hi n truy n DMA lên t i 1.6Mbyte/s .M i kênh có kh năng ñánh ñ a ch t i 64 Kbyte b nh và có th truy n 64 Kbyte theo chương trình. 5.2.1 Sơ ñ kh i và ch c năng các kh i c a vi m ch 8237A 1. Sơ ñ kh i Hình 5.1: Vi m ch 8237A -5 Gi ng viên: Nguy n Văn Minh Trí 62 Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Hình 5.2: Sơ ñ kh i chi ti t c a 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 . - DB0 - DB7 (data bus ): Chân n i v i bus d li u c a b VXL 8088 ñư c s d ng trong quá trình trao ñ i d li u - IOR và IOW : ñi u khi n ñ c và ghi I/O . - EOP (end of process ) : tín hi u hai chi u báo k t thúc DMA t i cu i chu kỳ DMA . - A0- A3 : Ch n thanh ghi n i c n l p trình và m t ph n ñ a ch truy n DMA trong quá trình DMA . - A7 - A4 : Cung c p 1 ph n ñ a ch còn l i c a DMA . Gi ng viên: Nguy n Văn Minh Trí 63 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é ...
Tìm kiếm theo từ khóa liên quan:
thiết kế mạch hệ vi điều khiển điều khiển công nghiệp kỹ thuật ghép nối xử lý số liệuGợi ý tài liệu liên quan:
-
Báo cáo thưc hành: Thiết kế mạch bằng phần mềm altium
9 trang 214 0 0 -
Tiểu luận: Tìm hiểu công nghệ OFDMA trong hệ thống LTE
19 trang 154 0 0 -
88 trang 104 0 0
-
Đồ án môn học: Thiết kế mạch chuyển nhị phân 4 Bit sang mã Gray và dư 3 sử dụng công tắc điều khiển
29 trang 91 0 0 -
BÀI GIẢNG VỀ ỨNG DỤNG TIN HỌC TRONG THIẾT KẾ THÍ NGHIỆM VÀ XỬ LÝ SỐ LIỆU
48 trang 87 0 0 -
Đồ án: Vẽ và thiết kế mạch in bằng Orcad
32 trang 86 0 0 -
Tiểu luận: Hệ thống thông tin quang
42 trang 81 0 0 -
Kỹ thuật số - Chương 4 Mạch tổ hợp (Combinational Circuits)
56 trang 73 0 0 -
Bài tập lớn môn Vi điều khiển: Thiết kế mạch điều khiển cánh tay robot
11 trang 59 0 0 -
Giáo trình Hệ vi điều khiển: Phần 1
129 trang 49 0 0