Danh mục

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    
10.10.2023

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é ...

Tài liệu được xem nhiều: