输入与输出接口PPT课件

上传人:无*** 文档编号:129929380 上传时间:2022-08-03 格式:PPT 页数:50 大小:778.50KB
收藏 版权申诉 举报 下载
输入与输出接口PPT课件_第1页
第1页 / 共50页
输入与输出接口PPT课件_第2页
第2页 / 共50页
输入与输出接口PPT课件_第3页
第3页 / 共50页
资源描述:

《输入与输出接口PPT课件》由会员分享,可在线阅读,更多相关《输入与输出接口PPT课件(50页珍藏版)》请在装配图网上搜索。

1、第五章第五章 微机与外设的数据交换微机与外设的数据交换5.1 微机与外设的数据交换方式微机与外设的数据交换方式5.2 8259中断控制器中断控制器5.3 8237DMA控制器控制器5.4 多功能多功能I/O接口芯片接口芯片82380本章学习目标 8259的工作原理及组成结构。的工作原理及组成结构。8237的工作原理及组成结构。的工作原理及组成结构。根据具体的芯片编写出可执行的汇编语根据具体的芯片编写出可执行的汇编语言程序。言程序。5.1 微机与外设的数据交换方式微机与外设的数据交换方式请求方式请求方式数据交换数据交换硬件支持硬件支持性能特点性能特点查询方式查询方式软件查询软件查询外设状态外设状

2、态软件进行软件进行数据传送数据传送独占独占CPU无其他硬件无其他硬件定时协调好定时协调好CPU效率低效率低中断方式中断方式硬件发生硬件发生中断请求中断请求中断程序中断程序传送数据传送数据中断控制器中断控制器8259等等CPU分时操作、分时操作、中断处理费时中断处理费时DMA方式方式DMAC转发转发总线请求总线请求DMAC控制控制数据传送数据传送DMA控制器控制器8237等等DMA硬件控制硬件控制需需CPU参与参与通道方式通道方式C P U 建 立建 立I/O操作信操作信息表息表IOP读信息表读信息表控制控制I/O操作操作IO协处理器协处理器8089等等IOP控制传数控制传数CPU其它操作其它操

3、作查询、中断、查询、中断、DMA是是CPU控制控制I/O方式方式5.2 8259 PIC(可编程中断控制器)可编程中断控制器)静态静态NMOS工艺,单电源工艺,单电源5V,28脚脚DIP与与8080/8085、8086/8088兼容:边缘触发兼容:边缘触发/电平触发、电平触发、有有/无缓冲无缓冲可编程的中断方式:全嵌套、循环优先级、特殊屏蔽、可编程的中断方式:全嵌套、循环优先级、特殊屏蔽、查询方式查询方式8级优先控制,可级联(级优先控制,可级联(81)片扩充到)片扩充到64级硬件中级硬件中断断可分别屏蔽中断请求(可分别屏蔽中断请求(IMR)中断响应时送出用户编程的中断类型码中断响应时送出用户编

4、程的中断类型码内部寄存器状态可读(内部寄存器状态可读(IRR、ISR、IMR)5.2.1 8259 PIC结构结构8259的读写逻辑的读写逻辑读写逻辑读写逻辑A0D4D3操作001x10DBICW1000010DBOCW2000110DBOCW301xx10DBICW2、ICW3、ICW4或OCW10001查询中断码、ISR、IRRDB0101IMRDBCSRDWR5.2.15.2.2 8259的编程的编程1.ICWA0D7D6D5D4D3D2D1D00A7A6A51LTIMADISNGLIC41A15T7A14T6A13T5A12T4A11T3A10A9A8芯片控制芯片控制1:电平触发电平触

5、发0:边缘触发边缘触发调用间隔调用间隔1:间隔为间隔为40:间隔为间隔为81:单片单片0:级联方式级联方式1:需要需要ICW40:不需不需ICW4(1)初始化命令字初始化命令字ICW1(2)初始化命令字初始化命令字ICW28080/8085中断程序入口中断程序入口8086/8088中断类型码中断类型码1.ICW中断向量(号):中断向量(号):8085:ICW1.ADI=1 A15 A8 A7 A6 A5 A4 A3 A2 A1 A0 间隔间隔4B ICW1.ADI=0 A15 A8 A7 A6 A5 A4 A3 A2 A1 A0 CALL A15A0 8086:ICW2:T7 T6 T5 T4

6、 T3 T2 T1 T0 CPU处理:处理:000000T7 T6 T5 T4 T3 T2 T1 T000 硬中断硬中断08H 000000 0 0 0 0 1 0 0 0 00表入口:表入口:0020HIR编码 0 0CPU设置中断源IR编码,设置时可为000111IR编码 0 0 05.2.21S7S6S5S4S3S2S1S0ID2ID1ID01000SFNMBUFM/SAEOIPM1:特殊全嵌套特殊全嵌套0:一般全嵌套一般全嵌套0 x:非缓冲方式非缓冲方式11:缓冲方式缓冲方式(主主)10:缓冲方式缓冲方式(从从)1:自动自动EOI0:正常正常EOI1:8086/80880:8080/8

7、085(3)初始化命令字初始化命令字ICW3(主从控制)主从控制)主主:从从:(4)初始化命令字初始化命令字ICW4(工作方式)工作方式)1.ICWA01:有从片有从片0:无从片无从片从片标志代码从片标志代码主从控制:主从控制:主主ICW3:Si=1IRi上有从片的标记。上有从片的标记。从从ICW3:ID2ID1ID0这最低这最低3位为联向主位为联向主IRi的从片标志代码。的从片标志代码。主从片都存在自己的级联缓冲主从片都存在自己的级联缓冲/比较器。比较器。级联响应时:级联响应时:主片输出响应从片的标记对应的标志代码,:主片输出响应从片的标记对应的标志代码,从片都把从片都把CAS2CAS0上代

8、码与自己标志代码比较。上代码与自己标志代码比较。:确认被响应的从片输出中断向量号。:确认被响应的从片输出中断向量号。1.ICW1INTA2INTA 全嵌套:全嵌套:(1)一般全嵌套:)一般全嵌套:IRi响应响应ISRi=1,屏蔽屏蔽IRiIR7。IRi接从接从8259,主,主ISRi=1时,时,IRi上来自从上来自从8259上更高的中断请求不能响应。上更高的中断请求不能响应。(2)特殊全嵌套:特殊全嵌套:IRi响应响应ISRi=1,屏蔽屏蔽IRi+1IR7,允许同级和高级请允许同级和高级请求中断。求中断。结束中断:结束中断:EOI送从片清送从片清ISR位位读从片读从片ISR为全为全0时时EOI

9、送主片清送主片清ISR位。位。5.2.2(5)初始化命令字的编程顺序初始化命令字的编程顺序5.2.2开始开始ICW1(A0=0,D4=1)ICW2(A0=1)SNGL=0?(级联方式)级联方式)ICW3(A0=1)IC4=1?ICW4(A0=1)准备接受中断准备接受中断YYNN开始开始ICW1(A0=0,D4=1)ICW2(A0=1)SNGL=0?(级联方式)级联方式)ICW3(A0=1)IC4=1?ICW4(A0=1)准备接受中断准备接受中断A0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0中断屏蔽:中断屏蔽:2.OCWMi1IRi被屏蔽,被屏蔽,Mi0允许允许IRi产生

10、产生INT;屏蔽屏蔽IRi,不影响其它不影响其它IR。5.2.2OCW1:2.OCW0RSLEOI00L2L1L0设置设置L2L1L0指定的指定的IRL2L1L0:IR的优先的优先级码(级码(BCD)1:循环优选级循环优选级0:固定优选级固定优选级0:自动中断结束。自动中断结束。EOIA01:中断完成之后需要发送中断结束命令。中断完成之后需要发送中断结束命令。5.2.2OCW2:2.OCWICW1AEOI1:ISRi00:OCW2SL和EOI01:EOI命令:清最高级ISRi11:SEOI命令:清L2L1L0指定ISRi2INTA(2)优先级优先级(a)固定优先级:)固定优先级:IR0IR7(

11、最低)最低)(1)中断结束中断结束5.2.2OCW2的编程的编程:2.OCW(2)优先级(续)优先级(续)(b)循环优先级:循环优先级:RSLEOIL2L1L0101EOI时,优先级循环至刚服务的时,优先级循环至刚服务的IR最低最低111SEOI时,优先级循环至时,优先级循环至L2L1L0指定的指定的IR最低最低100AEOI时,置优先级循环时,置优先级循环000AEOI时,清优先级循环时,清优先级循环110置置L2L1L0指定的指定的IR优先级最低优先级最低5.2.2置1:允许SMM00ESMMSMM01PRRRIS置1:特屏置置1:查询命令查询命令00110101无操作读IRR读ISRRR

12、:RIS:2.OCW5.2.2A0OCW3:3.OCW的编程的编程(1)特殊屏蔽特殊屏蔽(a)一般屏蔽)一般屏蔽 通过通过OCW1,使使8259A中的屏蔽寄存器中的屏蔽寄存器IMR中的一位或若中的一位或若干位置干位置1来屏蔽来屏蔽IRR对应位的中断源。一个中断源的屏蔽不影对应位的中断源。一个中断源的屏蔽不影响其他中断源的请求。当某一中断请求被响应时,响其他中断源的请求。当某一中断请求被响应时,ISR中相中相应位置应位置1,屏蔽了同级(一般全嵌套方式)和较低级中断请,屏蔽了同级(一般全嵌套方式)和较低级中断请求。求。IMRi=1IRi被屏蔽,不影响被屏蔽,不影响IR上操作上操作 ISRi=1IR

13、iIR7被屏蔽(被屏蔽(FUM)/IRi+1IR7被屏蔽(被屏蔽(SFUM)5.2.23.OCW的编程的编程(1)特殊屏蔽(续)特殊屏蔽(续)(b)特殊屏蔽方式)特殊屏蔽方式 在某些希望一个中断服务程序能动态改变系统优先级结构的场合,常在某些希望一个中断服务程序能动态改变系统优先级结构的场合,常采用特殊屏蔽方式。即在此中断服务程序中,用采用特殊屏蔽方式。即在此中断服务程序中,用OCW1将屏蔽寄存器中将屏蔽寄存器中本级中断的对应位置本级中断的对应位置1,即将本级中断屏蔽;然后写入,即将本级中断屏蔽;然后写入OCW3,使使ESMM=1、SMM1,这样使中断服务寄存器中当前对应位自动清这样使中断服务

14、寄存器中当前对应位自动清0,为,为开放较低级中断请求提供可能。特殊屏蔽方式总是在中断处理程序中使开放较低级中断请求提供可能。特殊屏蔽方式总是在中断处理程序中使用的。采用这种方式后,由于本级中断在中断服务程序中被屏蔽,对外用的。采用这种方式后,由于本级中断在中断服务程序中被屏蔽,对外界来说,好像界来说,好像CPU未处理任何中断。这样即使是最低级中断请求,也会未处理任何中断。这样即使是最低级中断请求,也会得到响应。需要特殊屏蔽方式复位时,给得到响应。需要特殊屏蔽方式复位时,给8259A送送OCW3,使使ESMM=1、SMM0;然后送然后送OCW1,使本级中断的屏蔽位清除,最后向使本级中断的屏蔽位清

15、除,最后向8259A送中送中断结束命令结束服务。断结束命令结束服务。OCW3ESMM,SMM=11 IMRi=1 IRi被屏蔽,允许未被被屏蔽,允许未被IMR屏蔽屏蔽 ISRi=1 的中断请求的中断请求 5.2.23.OCW的编程的编程(2)查询中断查询中断 IF=0 随后的随后的 (当(当 =0)作为)作为 ISR位置位置1 OCW3 P=1 IN的的IRR中最高级中最高级IR二进制代码二进制代码DB(A0=0)I x x x x W2 W1 W0 0:无中断无中断 1:有中断有中断 二进制码二进制码转入相应中断服务程序转入相应中断服务程序 用途:用途:1.无需中断响应,节省存储空间无需中断

16、响应,节省存储空间 2.把中断扩大到把中断扩大到64级以上级以上 INTARDCS 一种用软件确定中断请求位的方式,一般在一个中断服务程序可为一种用软件确定中断请求位的方式,一般在一个中断服务程序可为几个中断设备服务的场合使用。其特点是外设仍通过几个中断设备服务的场合使用。其特点是外设仍通过8259A申请中断申请中断(可为边沿触发或电平触发,由(可为边沿触发或电平触发,由ICW1设置)。但设置)。但8259A却不使用却不使用INT信信号向号向CPU申请中断;申请中断;CPU内部将内部将IF复位,禁止复位,禁止CPU用硬件响应中断请求;用硬件响应中断请求;CPU用软件查询确定中断源,从而实现对设

17、备的中断服务。用软件查询确定中断源,从而实现对设备的中断服务。CPU的查询的查询命令是通过命令是通过OCW3的的P=1设置来实现的,设置来实现的,CPU随后的随后的IN指令作为中断响应。指令作为中断响应。若有中断请求,便识别出最高级的中断请求,使若有中断请求,便识别出最高级的中断请求,使ISR中相应位置位,转入中相应位置位,转入相应的中断服务程序。相应的中断服务程序。5.2.21.连接连接w1个主片,至多个主片,至多8个从片(个从片(7n+1级中断),从片级中断),从片INT主片主片IRi上,上,主片主片INTCPU INTR上上w非缓冲方式:主片非缓冲方式:主片 Vcc,从片从片 GNDw主

18、从片都有各自独立的主从片都有各自独立的I/O空间空间w 都接都接CPU系统的系统的 ,主从,主从CAS2CAS0互连,主片输出,从互连,主片输出,从片输入。片输入。w从片的从片的IRi上可带下级上可带下级8259的的INT,但不能用向量中断,只能查询中断但不能用向量中断,只能查询中断地址空间另设,地址空间另设,、CAS2CAS0不用,不用,作响应输入作响应输入 5.2.3 8259的级联的级联ENSPENSPINTAINTAINTARD8259的级联图的级联图5.2.3 8259的级联的级联2.初始化初始化主、从主、从8259都要分别设置都要分别设置ICW1SNGL0ICW2:各自分别设置各自

19、分别设置ICW3:主片设置连从片的主片设置连从片的IRi的标记的标记 从片设置连主片的从片设置连主片的IRi的标志代码的标志代码ICW4:主片主片SFUM 1,从片从片SFUM 0 BUF和和M/S根据情况设置根据情况设置其它各自按情况设置其它各自按情况设置3.中断过程中断过程(1)IR0IR7中中1或几条请求有效,或几条请求有效,IRRi1(2)优先级判优电路根据优先级判优电路根据IRR、IMR、ISR的状态选出未屏蔽的最的状态选出未屏蔽的最高优先级的高优先级的IRRi作为作为INTCPU INTR(3)当当IF1,在指令结束时,在指令结束时,CPU响应中断。响应中断。5.2.3 8259的

20、级联的级联(4)CPU处理中断向量号,保护现场,转入中断服务程序。处理中断向量号,保护现场,转入中断服务程序。(5)中断嵌套)中断嵌套中断服务程序中中断服务程序中IF1,允许嵌套。允许嵌套。优先级高的中断请求可以中断优先级低的中断服务。优先级高的中断请求可以中断优先级低的中断服务。主片主片SPUM方式下允许同一从片实行中断嵌套。方式下允许同一从片实行中断嵌套。(6)中断服务)中断服务(7)中断结束)中断结束非非AEOI要发要发EOI命令,清除命令,清除ISRi位,恢复标志和断点返回主程序位,恢复标志和断点返回主程序在在SPUM要发送两次要发送两次EOI EOI从从8259,测试从,测试从825

21、9的的ISR 为全为全0,EOI 主主8259 不为不为0,不向主,不向主8259发发EOI 实模式下中断编程实模式下中断编程OLD0CDD?CODESEGMENTMOVAX,350CH;保存原来的保存原来的0CH中断向量中断向量INT21HMOVWORDPTR OLD0C,BXMOVWORDPTR OLD0C+2,ESMOVAX,CODE;写入新的写入新的0CH中断向量中断向量MOVDS,AXMOVDX,OFFSET SERVICEMOVAX,250CHINT21H;其它程序段其它程序段;中断处理子程序中断处理子程序;中断处理子程序中断处理子程序SERVICE PROCPUSHA;保护现场保

22、护现场PUSH DSSTI;打开中断打开中断;串口数据处理程序串口数据处理程序CLI;关闭中断关闭中断POPDS;恢复现场恢复现场POPAIRETSERVICE ENDP 接口芯片接口芯片/管理器件,总线主控设备管理器件,总线主控设备8237DMAC有有4个独立的个独立的DMA通道:每个通道可独立编程、自通道:每个通道可独立编程、自动预置;每个通道有动预置;每个通道有64K的地址和计数功能,在超过的地址和计数功能,在超过64K地址空地址空间的系统中进行间的系统中进行DMA传送时,需要将超过的地址位通过传送时,需要将超过的地址位通过I/O端口端口或页面寄存器实现;或页面寄存器实现;DMA请求可允

23、许请求可允许/禁止;软件可设置禁止;软件可设置DMA请请求。求。8237的的DMA通道可以通过级联扩充:使用下级通道可以通过级联扩充:使用下级HRQ连上级连上级DREQ传递传递DMA请求,使用上级请求,使用上级DACK连下级连下级HLDA传递传递DMA响响应。应。存储器存储器存储器存储器三种操作类型:读、写、检验三种操作类型:读、写、检验四种传送方式:单个、成组、请求、级联传送四种传送方式:单个、成组、请求、级联传送DMA结束时产生结束时产生 输出,输入输出,输入 使使DMA传送结束传送结束5.3 8237 DMACEOPEOP5.3.1 8237 DMAC结构结构读读(IOR)写写(IOW)

24、I/O口地址口地址寄寄 存存 器器00读通道读通道0当前地址寄存器当前地址寄存器写通道写通道0基地址与当前地址寄存器基地址与当前地址寄存器01读通道读通道0当前字节计数寄存器当前字节计数寄存器写通道写通道0基字节计数与当前字节计数寄存器基字节计数与当前字节计数寄存器02读通道读通道1当前地址寄存器当前地址寄存器写通道写通道1基地址与当前地址寄存器基地址与当前地址寄存器03读通道读通道1当前字节计数寄存器当前字节计数寄存器写通道写通道1基字节计数与当前字节计数寄存器基字节计数与当前字节计数寄存器04读通道读通道2当前地址寄存器当前地址寄存器写通道写通道2基地址与当前地址寄存器基地址与当前地址寄存

25、器05读通道读通道2当前字节计数寄存器当前字节计数寄存器写通道写通道2基字节计数与当前字节计数寄存器基字节计数与当前字节计数寄存器06读通道读通道3当前地址寄存器当前地址寄存器写通道写通道3基地址与当前地址寄存器基地址与当前地址寄存器07读通道读通道3当前字节计数寄存器当前字节计数寄存器写通道写通道3基字节计数与当前字节计数寄存器基字节计数与当前字节计数寄存器08读状态寄存器读状态寄存器写命令寄存器写命令寄存器09-写请求寄存器写请求寄存器0A-写单个屏蔽位的屏蔽位寄存器写单个屏蔽位的屏蔽位寄存器0B-写工作方式寄存器写工作方式寄存器0C-写清除先写清除先/后触发器命令后触发器命令0D读暂存寄

26、存器读暂存寄存器写清除命令写清除命令(总清总清)0E-写清写清4个屏蔽位的屏蔽寄存器个屏蔽位的屏蔽寄存器0F-写写4个屏蔽位的屏蔽寄存器个屏蔽位的屏蔽寄存器8237A寄存器口地址寄存器口地址5.3.2 8237 内部寄存器和编程内部寄存器和编程1.内部寄存器及软件命令内部寄存器及软件命令(1)地址地址R(2)字计数字计数R基地址基地址R 当前寄存器的初值,自动预置时重送给当前当前寄存器的初值,自动预置时重送给当前R;基字计数基字计数R 与当前与当前R同时装入,不能读出同时装入,不能读出当前地址当前地址R:DMA传送的传送的MEM地址,自动地址,自动1,自动预置时,自动预置时,产生产生 ,重装重

27、装当前字计数当前字计数R:DMA未传送的字节数,自动减未传送的字节数,自动减1 减过减过0(01=FFFFH)时,置时,置TC位位 初始化为比要传输的字节数少初始化为比要传输的字节数少1的值的值EOP5.3.2 8237 内部寄存器和编程内部寄存器和编程(3)工作方式R(写,0BH)(每个通道都有一个)D7D6D5D4D3D2D1D0传送方式地址增减自动预置操作类型CH选择01:单次传送,1次1字节,两单次传送总线释放至少1周期10:成组传送连续,TC/为止00:请求传送连续,TC/DREQ无效为止11:级联传送:上级DREQ下级HRQ上级DACK下级HLDA0:地址增1:地址减1:允许自动预

28、置0:禁止自动预置00:检验,不传送01:写I/OM10:读MI/O11:无效00:CH001:CH110:CH211:CH3EOPEOPDATADATAIORMEMWIOWMEMRD7D6D5D4D3D2D1D00:禁止存储器到存储器之间的数据传送禁止存储器到存储器之间的数据传送1:允许存储器到存储器之间的数据传送允许存储器到存储器之间的数据传送 0:禁止保持通道禁止保持通道0地址(当前)地址(当前)1:允许保持通道允许保持通道0地址(当前)地址(当前)0:正常时序正常时序 1:压缩时序压缩时序 0:固定优先级固定优先级 1:循环优先级循环优先级0:DACK低电平有效低电平有效1:DACK高

29、电平有效高电平有效0:DREQ高电平有效高电平有效1:DREQ低电平有效低电平有效 0:选择滞后写选择滞后写 1:选择扩展写选择扩展写(4)命令寄存器命令寄存器(写,写,08H)0:允许:允许DMAC工作工作1:禁止:禁止DMAC工作工作(5)请求寄存器请求寄存器(写写09H,写请求写请求R单个位)单个位)D7D6D5 D4 D3 D2 D1 D0不用不用 0 0:CH0 0 1:CH11 0:CH21 1:CH3 0:清请求位清请求位 1:置请求位置请求位 DMA请求可以通过请求可以通过DREQ硬件输入和编程软件请求硬件输入和编程软件请求请求请求标志位标志位 请求位不能屏蔽,有规定的优先级请

30、求位不能屏蔽,有规定的优先级 M M用写用写CH0的请求位启动的请求位启动 清请求清请求R中相应位,中相应位,RESET信号和主清命令总清请求信号和主清命令总清请求R 软件请求一般用于成组类的软件请求一般用于成组类的DMA传送传送EOP(6)屏蔽寄存器屏蔽寄存器(写写0AH、0FH、0EH)每每CH一位,置屏蔽位,禁止本一位,置屏蔽位,禁止本CH DREQ有效请求进入请求有效请求进入请求R 写屏蔽写屏蔽R单个位(写单个位(写0AH)写屏蔽写屏蔽R所有位(写所有位(写0FH)D7D6D5 D4 D3 D2 D1 D0不用不用 0:清清CH0屏蔽位屏蔽位 1:置置CH0屏蔽位屏蔽位 0:清清CH1

31、屏蔽位屏蔽位 1:置置CH1屏蔽位屏蔽位 0:清清CH2屏蔽位屏蔽位 1:置置CH2屏蔽位屏蔽位 0:清清CH3屏蔽位屏蔽位 1:置置CH3屏蔽位屏蔽位D7D6D5 D4 D3 D2 D1 D0不用不用 0 0:CH0 0 1:CH11 0:CH21 1:CH3 0:清屏蔽位清屏蔽位 1:置屏蔽位置屏蔽位(6)屏蔽寄存器屏蔽寄存器(写写0AH、0FH、0EH)(续)(续)清屏蔽清屏蔽R所有命令位(写所有命令位(写0EH)清除屏蔽清除屏蔽R所有位,各所有位,各CH均允许均允许DMA请求请求DREQ 当某当某CH设置为非自动预置时,设置为非自动预置时,置相应屏蔽位置相应屏蔽位 RESET信号和主清

32、命令总置屏蔽信号和主清命令总置屏蔽R所有位。所有位。EOP(7)软件命令软件命令主清命令:主清命令:OUT 0DH,AL ;同同RESET信号:清命令、状信号:清命令、状 态、请求、暂存寄存器和先态、请求、暂存寄存器和先/后触发器,置各通道的屏蔽标后触发器,置各通道的屏蔽标志。志。清先清先/后触发器命令:后触发器命令:OUT OCH,AL ;写写16位二进制数时,位二进制数时,自动翻转。自动翻转。清屏蔽寄存器命令:清屏蔽寄存器命令:OUT OEH,AL ;清所有屏蔽位清所有屏蔽位D7D6D5D4D3D2D1D0CH3CH2CH1CH0CH3CH2CH1CH0(8)状态寄存器状态寄存器(读读08

33、H)CHi请求请求DMA服务服务和响应时置和响应时置1TC=1/=0置置1RESET1/读状态寄存器读状态寄存器清清0EOP(9)暂存寄存器暂存寄存器(读读0DH)M暂存寄存器暂存寄存器M 最后一个字节可读最后一个字节可读 RESET清除清除2.8237初始化编程初始化编程MOV AL,04H ;检测前禁止检测前禁止8237工作工作OUT 08H,ALOUT 0DH,AL ;主清除命令主清除命令MOV AL,00HOUT 08H,AL ;写命令寄存器写命令寄存器MOV AL,0FFHOUT 01H,AL;装字计数寄存器低装字计数寄存器低8位位PUSH AXOUT O1H,AL ;装高装高8位位

34、MOV AL,58HOUT 0BH,AL ;写写CH0方式方式寄存器寄存器MOV AL,00HOUT 0AH,AL ;清清CH0屏蔽屏蔽位位5.3.3 8237的工作的工作流程和时序流程和时序(1)初始化初始化8237:起始地址、数据长度、工作方式、操作类型等。:起始地址、数据长度、工作方式、操作类型等。(2)外设外设8237 =1 8237HRQ=1 CPU HOLD=1 CPU HLDA=1 8237HLDA=1 8237 =1 外设。外设。(3)DMA周期周期 当前地址当前地址R输出高输出高8位地址位地址DB7DB0 ADSTB时存入时存入地址锁存器地址锁存器 AEN=1送上送上A15

35、A8;当前地址当前地址R输出低输出低8位地址位地址 A7 A0。8237发发 ,读出数据送,读出数据送D7 D0;8237发发 ,DB上数据送入外设上数据送入外设/存储器。存储器。一个一个DMA周期后,当前地址周期后,当前地址R+/-1,当前字计数器当前字计数器R减减1,根据设定的工作方式,重复或终止。根据设定的工作方式,重复或终止。DMA工作过程工作过程1DREQ1DACKIORMEMR/MEMWIOW/(4)当前字计数器当前字计数器R计数终止(计数终止(TC),),发出有效发出有效 ,终止,终止DMA传送。传送。自动预置自动预置:基寄存器:基寄存器当前寄存器,请求位、屏蔽位不变;当前寄存器

36、,请求位、屏蔽位不变;非自动预置非自动预置:复位请求位、置屏蔽位、:复位请求位、置屏蔽位、HRQ0、释放总线。释放总线。(5)存储器之间传送需要存储器之间传送需要2个总线周期个总线周期8个状态,必须由软件个状态,必须由软件置源通道置源通道CH0的请求位启动,也可以对外部的请求位启动,也可以对外部 作出响应。这作出响应。这种方式可用于块搜索,当一个数据比较器检测到匹配时,向种方式可用于块搜索,当一个数据比较器检测到匹配时,向8237发有效的发有效的 来终止搜索来终止搜索。DMA工作过程(续)工作过程(续)EOPEOPEOP5.3.4 PC系列机中的系列机中的DMA控制系统控制系统1 PC/XT中

37、的中的DMA控制逻辑控制逻辑2、PC/AT中的中的DMA系统逻辑结构系统逻辑结构利用级联的利用级联的IBM PC/AT的的8237主片通道主片通道5,将内存其始地址,将内存其始地址为为80000H的的280H字节的内容直接输出到外部设备。字节的内容直接输出到外部设备。3应用举例应用举例 MOVAL,04H;命令字命令字,禁止禁止82C37工作工作 OUTD0H,AL;写命令寄存器写命令寄存器 MOVAL,0 OUTD8H,AL;清除先清除先/后触发器后触发器 OUTC4,AL;写低位地址写低位地址 OUTC4,AL;写高位地址写高位地址 MOV AL,04H ;页面地址为页面地址为8 OUT

38、8BH,AL ;写页面寄存器写页面寄存器 MOV AX,280H ;传输字节数传输字节数DEC AXOUT C6H,AL ;写字节数低位写字节数低位MOV AL,AHOUT C6H,AL ;写字节数高位写字节数高位MOV AL,89H ;方式字方式字:单字节读单字节读,地址加地址加1OUT D6H,AL MOV AL,05H ;写请求寄存器写请求寄存器 OUT D2H,AL5.4 多功能多功能I/O接口芯片接口芯片8238082380内部功能体系结构5.4.1 DMA控制器控制器8通道,每个有通道,每个有一个一个24位字节计位字节计数寄存器、一个数寄存器、一个32位请求地址寄位请求地址寄存器和

39、一个存器和一个32位位目标地址寄存器。目标地址寄存器。可通过编程选择可通过编程选择为循环优先级或为循环优先级或固定优先级。固定优先级。可以在可以在I/0设备设备之间、存储器之之间、存储器之间、存储器和间、存储器和I/O设备之间进设备之间进行传送。行传送。传送数据块有传送数据块有3种方式:种方式:(1)单一缓冲方式)单一缓冲方式(2)缓冲器自动初始化方式)缓冲器自动初始化方式(3)缓冲器链接方式)缓冲器链接方式5.4.1 DMA控制器控制器5.4.2可编程中断控制器可编程中断控制器5个内部中断请求:个内部中断请求:(1)IRQ8,IRQ0;(2)IRQ1和和IRQ4;(3)IRQ1.5。15个外部中断请求:个外部中断请求:IRQ3,IRQ9,IRQ11IRQ23。IRQ7:容错处理中断:容错处理中断中断控制器:中断控制器:IRR、PR、ISR、IMR、VR。5.4.3可编程定时可编程定时/计数器计数器补充作业:补充作业:作业作业5.23 试编写一段用试编写一段用8237 DMAC执行执行 MM 传送的程序,把从传送的程序,把从SOURCE开始的开始的1000个字节传送到从个字节传送到从DST开始的存储块中去。设该开始的存储块中去。设该8237 DMAC的端口地址是的端口地址是10-1FH。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!