版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 DMADMA控制接口控制接口教学重点n 8237A的工作方式的工作方式n 8237A寄存器组的作用寄存器组的作用n 8237A寄存器组的编程寄存器组的编程注意复习第注意复习第7 7章前部分章前部分7.5 DMA控制器8237An每个每个8237A芯片有芯片有4个个DMA通道,就是通道,就是有有4个个DMA控制器控制器n每个每个DMA通道具有不同的优先权通道具有不同的优先权n每个每个DMA通道可以分别允许和禁止通道可以分别允许和禁止n每个每个DMA通道有通道有4种工作方式种工作方式n一次传送的最大长度可达一次传送的最大长度可达64KBn多个多个8237A芯片可以级连,扩展通道数芯
2、片可以级连,扩展通道数7.5.1 8237A的内部结构和引脚n内部结构和外部引脚都相对比较复杂内部结构和外部引脚都相对比较复杂n应用观点,内部主要由两类寄存器组成应用观点,内部主要由两类寄存器组成n通道寄存器通道寄存器n控制和状态寄存器控制和状态寄存器首先分类展开外部引脚首先分类展开外部引脚8237A的引脚图1. 请求与响应信号nDREQ0DREQ3:DMA通道请求。当外设需通道请求。当外设需要请求要请求DMA服务时,将服务时,将DREQ信号置成有效电信号置成有效电平,并要保持到产生响应信号。平,并要保持到产生响应信号。nHRQ:总线请求。总线请求。8237A输出有效的输出有效的HRQ高高电平
3、,向电平,向CPU申请使用系统总线。申请使用系统总线。nHLDA:总线响应。总线响应。8237A接受来自接受来自CPU的响的响应信号应信号HLDA,取得了总线的控制权。,取得了总线的控制权。nDACK0DACK3:DMA通道响应。通道响应。8237A使使请求服务的通道产生相应的请求服务的通道产生相应的DMA响应信号。响应信号。2. DMA传送控制信号nA0A7:地址线。输出低:地址线。输出低8位存储器地址。位存储器地址。nDB0DB7:数据线。输出高:数据线。输出高8位存储器地址;位存储器地址;存储器与存储器存储器与存储器的传送期间,用于数据传送。的传送期间,用于数据传送。nADSTB:地址选
4、通。地址选通。DMA传送开始时,输出高传送开始时,输出高有效,把在有效,把在DB0DB7上输出的高上输出的高8位地址锁存位地址锁存在外部锁存器中。在外部锁存器中。nAEN:地址允许。输出高有效,将锁存的高地址允许。输出高有效,将锁存的高8位位地址送入系统总线,与芯片此时输出的低地址送入系统总线,与芯片此时输出的低8位地位地址组成址组成16位存储器地址。位存储器地址。2. DMA传送控制信号(续)nMEMR*:存储器读。有效将数据从存储器读出:存储器读。有效将数据从存储器读出nMEMW*:存储器写。有效将数据写入存储器存储器写。有效将数据写入存储器nIOR*:I/O读。有效将数据从外设读出读。有
5、效将数据从外设读出nIOW*:I/O写写。有效将数据写入外设有效将数据写入外设nREADY:准备好。准备好。DMA传送的传送的S3下降沿检测下降沿检测到为低时,插入等待状态到为低时,插入等待状态Sw,直到,直到READY为为高才进入第高才进入第4个时钟周期个时钟周期S4。nEOP*:过程结束。:过程结束。DMA传送过程结束,输出传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终一个低有效脉冲。外部输入低脉冲信号,则终结结DMA传送。传送。 3. 处理器接口信号nDB0DB7:数据线。用于:数据线。用于8237A与微处理与微处理器进行数据交换。器进行数据交换。nA0A3:地址线。用以选择
6、芯片内部寄存器。:地址线。用以选择芯片内部寄存器。nCS*:片选。低有效时,微处理器与:片选。低有效时,微处理器与8237A通通过数据线通信,主要完成对过数据线通信,主要完成对8237A的编程。的编程。nIOR*:I/O读。读取读。读取8237A内部寄存器。内部寄存器。nIOW*:I/O写。写入写。写入8237A内部寄存器。内部寄存器。nCLK:时钟。控制芯片内部操作和数据传输。时钟。控制芯片内部操作和数据传输。nRESET:复位。使复位。使8237A处于初始状态。处于初始状态。DMA系统的组成nDMA控制器:产生传送所需要的地址和控制控制器:产生传送所需要的地址和控制信号。信号。n页面地址寄
7、存器:存放高位地址。对页面地址寄存器:存放高位地址。对8086系系统需要存放统需要存放4位地址,以便和位地址,以便和DMA控制器所控制器所产生的产生的16位地址构成位地址构成20位物理地址。若是位物理地址。若是80286系统,就要存储系统,就要存储8位高位地址了。位高位地址了。n锁存器:存放锁存器:存放DMA控制器给存储器的高控制器给存储器的高8位位地址。地址。8237A的两种工作状态n8237A具有两种工作状态具有两种工作状态n空闲周期空闲周期:作为接口电路,受作为接口电路,受CPU控制的工作状态控制的工作状态n有效周期有效周期:作为作为DMAC控制控制DMA传送的工作状态传送的工作状态于是
8、,引脚分成两种作用于是,引脚分成两种作用8237A引脚的两种作用与与CPU连接连接(空闲周期)的引脚(空闲周期)的引脚与外设连接与外设连接(有效周期)的引脚(有效周期)的引脚CLK、RESETA0A3、CS*、DB0DB7IOR*、IOW*HRQ、HLDAAEN、ADSTB、READY、EOP*A0A7、DB0DB7IOR*、IOW*、MEMR*、MEMW*DREQ0DREQ3、DACK0DACK37.5.2 8237A的工作时序空闲周期n8237A的任一通道都没有的任一通道都没有DMA请求时请求时n8237A由微处理器控制作为一个接口芯片由微处理器控制作为一个接口芯片nCPU可可对对8237
9、A编程,或从编程,或从8237A读取状态读取状态n8237A采样采样CS*选片信号,该信号有效,选片信号,该信号有效,CPU就就要对要对8237A进行读进行读/写操作写操作n8237A还还采样通道的请求输入信号采样通道的请求输入信号DREQ,该信号有效,就进入有效周期该信号有效,就进入有效周期进入有效周期进入有效周期7.5.2 8237A的工作时序有效周期n8237A采样到外设有采样到外设有DMA请求,就脱请求,就脱离空闲周期进入有效周期离空闲周期进入有效周期n8237A作为系统的主控芯片,控制作为系统的主控芯片,控制DMA传送操作传送操作nDMA传送借用系统总线完成,其控制传送借用系统总线完
10、成,其控制信号以及工作时序类似信号以及工作时序类似CPU总线周期总线周期进入进入DMADMA传送时序传送时序DMA传送时序DB0DB7DACKADSTBHRQDREQCLKS1S0S0SiSiS3S2S4S3S2SiSiS4HLDAAENA0A7 MEMR(IOR)IOW(MEMW)S1状态状态输出输出16位存储器地址位存储器地址AEN输出高电平,表示输出高电平,表示DMA传送传送S2状态状态输出输出DMA响应信号和控制信号响应信号和控制信号DMA读:读:MEMR*和和IOW*有效有效DMA写:写:IOR*和和MEMW*有效有效S3和和Sw状态状态检测数据传送是否能够完检测数据传送是否能够完成
11、,决定是否插入等待状态成,决定是否插入等待状态SwS4状态状态完成数据传送完成数据传送7.5.3 8237A的工作方式nDMA传送方式传送方式 单字节传送方式单字节传送方式 数据块传送方式数据块传送方式 请求传送方式请求传送方式 级连方式级连方式nDMA传送类型传送类型 DMA读读 DMA写写 DMA检验检验n存储器到存储器的传送存储器到存储器的传送1. DMA传送单字节方式n每次每次DMA传送时仅传送一个字节传送时仅传送一个字节n传送一个字节之后,字节数寄存器减传送一个字节之后,字节数寄存器减1,地址,地址寄存器加寄存器加1或减或减1,HRQ变为无效变为无效n8237A释放系统总线,将控制权
12、还给释放系统总线,将控制权还给CPUn若传送后使字节数若传送后使字节数从从0减到减到FFFFH,则终结,则终结DMA传送或重新初始化传送或重新初始化n特点:特点:n一次传送一个字节,效率略低一次传送一个字节,效率略低nDMA传送之间传送之间CPU有机会重新获取总线控制权有机会重新获取总线控制权1. DMA传送数据块方式n由由DREQ启动就连续地传送数据,直到启动就连续地传送数据,直到字节数寄存器从字节数寄存器从0减到减到FFFFH终止计数,终止计数,或由外部输入有效信号终结或由外部输入有效信号终结DMA传送传送nDREQ只需维持有效到只需维持有效到DACK有效有效n特点:特点:n一次请求传送一
13、个数据块,效率高一次请求传送一个数据块,效率高n整个整个DMA传送期间传送期间CPU长时间无法控制总长时间无法控制总线(无法响应其他线(无法响应其他DMA请求、无法处理中请求、无法处理中断等)断等)1. DMA传送请求方式nDREQ信号有效就连续传送数据信号有效就连续传送数据nDREQ信号无效,信号无效,DMA传送被暂时中止,传送被暂时中止,8237A释放总线,释放总线,CPU可继续操作可继续操作nDMA通道的地址和字节数的中间值仍被保持通道的地址和字节数的中间值仍被保持nDREQ信号再次有效,信号再次有效,DMA传送就继续进行传送就继续进行n如果字节数寄存器从如果字节数寄存器从0减到减到FF
14、FFH,或者由外,或者由外部送来一个有效的信号,将终止计数部送来一个有效的信号,将终止计数n特点:特点:nDMA操作可由外设利用操作可由外设利用DREQ信号控制传送的过程信号控制传送的过程1. DMA传送级连方式n用于通过多个用于通过多个8237A级连以扩展通道级连以扩展通道n第二级的第二级的HRQ和和HLDA信号连到第一级信号连到第一级某个通道的某个通道的DREQ和和DACK上上n第二级芯片的优先权等级与所连通道的第二级芯片的优先权等级与所连通道的优先权相对应优先权相对应n第一级只起优先权网络的作用,实际的第一级只起优先权网络的作用,实际的操作由第二级芯片完成操作由第二级芯片完成n还可由第二
15、级扩展到第三级等还可由第二级扩展到第三级等2. DMA传送类型nDMA读读把数据由存储器传送到外设把数据由存储器传送到外设n由由MEMR*有效从存储器读出数据,由有效从存储器读出数据,由IOW*有效有效把这一数据写入外设把这一数据写入外设nDMA写写把外设输入的数据写入存储器把外设输入的数据写入存储器n由由IOR*有效从外设输入数据,由有效从外设输入数据,由MEMW*有效把有效把这一数据写入存储器。这一数据写入存储器。nDMA检验检验空操作空操作n8237A不进行任何检验不进行任何检验n外设可以进行外设可以进行DMA校验校验n存储器和存储器和I/O控制线保持无效,不进行传送控制线保持无效,不进
16、行传送3. 存储器到存储器的传送n固定使用通道固定使用通道0和通道和通道1n通道通道0的地址寄存器存源区地址的地址寄存器存源区地址n通道通道1的地址寄存器存目的区地址,通道的地址寄存器存目的区地址,通道1的的字节数寄存器存传送的字节数字节数寄存器存传送的字节数n传送由设置通道传送由设置通道0的软件请求启动的软件请求启动n每传送一字节需用每传送一字节需用8个时钟周期个时钟周期n前前4个时钟周期用通道个时钟周期用通道0地址寄存器的地址从源区读地址寄存器的地址从源区读数据送入数据送入8237A的临时寄存器的临时寄存器n后后4个时钟周期用通道个时钟周期用通道1地址寄存器的地址把临时寄地址寄存器的地址把
17、临时寄存器中的数据写入目的区存器中的数据写入目的区4. DMA通道的优先权方式n固定优先权方式固定优先权方式优先权固定优先权固定n通道通道0优先权最高,通道优先权最高,通道1其次,通道其次,通道2再次,再次,通道通道3最低最低n循环优先权方式循环优先权方式优先权循环变化优先权循环变化n最近一次服务的通道在下次循环中变成最低最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权优先权,其他通道依次轮流相应的优先权DMADMA传送不存在嵌套传送不存在嵌套5. 自动初始化方式n每当每当DMA过程结束信号过程结束信号EOP*产生时产生时(不论是内部终止计数还是外部输入该(不论是内部
18、终止计数还是外部输入该信号)信号)n用基地址寄存器和基字节数寄存器的内用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值,容,使相应的现行寄存器恢复为初始值,包括恢复屏蔽位、允许包括恢复屏蔽位、允许DMA请求请求n这样就作好了下一次这样就作好了下一次DMA传送的准备传送的准备7.5.4 8237A的寄存器n8237A共有共有10种内部寄存器,对它们的种内部寄存器,对它们的操作有时需要配合操作有时需要配合3个软件命令个软件命令n8237A的的“软件命令软件命令”n不需要通过数据总线写入控制字不需要通过数据总线写入控制字n直接由地址和控制信号译码实现直接由地址和控制信号译码实现全
19、部都用地址全部都用地址A A0 0A A3 3区分区分1. 现行地址寄存器n保持保持DMA传送的当前地址值传送的当前地址值n每次传送后该寄存器的值自动加每次传送后该寄存器的值自动加1或减或减1n这个寄存器的值可由这个寄存器的值可由CPU写入和读出写入和读出基地址寄存器基地址寄存器存放存放初始值初始值2. 现行字节数寄存器n保持保持DMA传送的剩余字节数传送的剩余字节数n每次传送后,该寄存器的值减每次传送后,该寄存器的值减1n这个寄存器的值可由这个寄存器的值可由CPU写入和读出写入和读出n该寄存器的值减至该寄存器的值减至0,再减,再减1(从从0减到减到FFFFH)时,终止计数)时,终止计数基字节
20、数寄存器基字节数寄存器存放存放初始值初始值传送传送N N个字节,个字节,初始值初始值为为N N1 1读写通道寄存器nCPU与与8237A之间通过之间通过8位数据总线交位数据总线交换信息,换信息,8237A的通道寄存器均为的通道寄存器均为16位位n需要两次读写操作才能实现需要两次读写操作才能实现CPU与与8237A之间的一个完整数据的交换之间的一个完整数据的交换n8237A内含一个内含一个高高/低触发器低触发器,用来控,用来控制读写通道寄存器的高、低字节制读写通道寄存器的高、低字节高/低触发器n该触发器为该触发器为0,控制读写低字节,控制读写低字节n该触发器为该触发器为1,控制读写高字节,控制读
21、写高字节n软、硬件复位后,触发器为软、硬件复位后,触发器为0n每次读写通道寄存器,自动改变触发器每次读写通道寄存器,自动改变触发器状态。如果状态。如果对对16位寄存器的操作用两次位寄存器的操作用两次连续读写进行,就不必清除这个触发器连续读写进行,就不必清除这个触发器n清除高清除高/低触发器低触发器软件命令软件命令(A3A2A1A01100)将使高)将使高/低触发器清零低触发器清零3个软件命令n清除高清除高/低触发器软件命令低触发器软件命令nA3A2A1A0 1100,使高,使高/低触发器清零低触发器清零n主清除命令主清除命令nA3A2A1A01101,使高使高/低触发器清零低触发器清零n还使命
22、令、状态、请求、临时寄存器清零还使命令、状态、请求、临时寄存器清零n使屏蔽寄存器置为全使屏蔽寄存器置为全1(禁止(禁止DMA请求)请求)n主清除命令与硬件的主清除命令与硬件的RESET信号具有相同的功能信号具有相同的功能n清屏蔽寄存器命令清屏蔽寄存器命令nA3A2A1A01110,使使4个屏蔽位都清零(允许个屏蔽位都清零(允许DMA请求)请求)5. 模式寄存器n存放相应通道的方式控制字存放相应通道的方式控制字n选择某个选择某个DMA通道的工作方式通道的工作方式n其中用最低其中用最低2位选择哪个位选择哪个DMA通道通道请看请看方式字方式字的格式的格式方式字格式D7 D6D5D4D3 D2D1 D
23、000 请求模式请求模式01 单字节模式单字节模式10 数据块模式数据块模式11 级联模式级联模式0 地址增量(加地址增量(加1)1 地址减量(减地址减量(减1)0 禁止自动初始化禁止自动初始化1 允许自动初始化允许自动初始化00DMA校验校验01DMA写写10DMA读读11非法非法 若若D7D61100 通道通道001 通道通道110 通道通道211 通道通道36. 命令寄存器n存放存放8237A的命令字的命令字n设置设置8237A芯片的操作方式芯片的操作方式n影响每个影响每个DMA通道通道n复位时使命令寄存器清零复位时使命令寄存器清零n设置设置D20才使才使8237A可以作为可以作为DMA
24、控制器控制器请看请看命令字命令字的格式的格式命令字格式D7D6D5D4D3D2D1D00 DACK低有效低有效1 DACK高有效高有效0 DREQ高有效高有效1 DREQ低有效低有效0 滞后写滞后写1 扩展写扩展写 若若D310 固定优先权固定优先权1 循环优先权循环优先权0 正常时序正常时序1 压缩时序压缩时序 若若D010 允许允许DMAC工作工作1 禁止禁止DMAC工作工作0 允许通道允许通道0地址改变地址改变1 禁止通道禁止通道0地址改变地址改变 若若D000 禁止存储器之间传送禁止存储器之间传送1 允许存储器之间传送允许存储器之间传送7. 请求寄存器n存放软件存放软件DMA请求状态请
25、求状态n除硬件除硬件DMA请求外,当工作在数据块传请求外,当工作在数据块传送方式时也可以通过软件发出送方式时也可以通过软件发出DMA请求请求n若是存储器到存储器传送,则必须由软若是存储器到存储器传送,则必须由软件请求启动通道件请求启动通道0请看请看请求字请求字的格式的格式请求字格式D7 D6 D5 D4 D3D2D1 D0任意任意0 复位复位1 置位置位00 通道通道001 通道通道110 通道通道211 通道通道38. 屏蔽寄存器n控制外设硬件控制外设硬件DMA请求是否被响应(为请求是否被响应(为0允允许),各个通道互相独立。许),各个通道互相独立。3种方法:种方法:n单通道屏蔽字只对一个单
26、通道屏蔽字只对一个DMA通道屏蔽位进行设置通道屏蔽位进行设置n主屏蔽字对主屏蔽字对4个个DMA通道屏蔽位同时进行设置通道屏蔽位同时进行设置n清屏蔽寄存器命令使清屏蔽寄存器命令使4个屏蔽位都清零(允许)个屏蔽位都清零(允许)n复位使复位使4个通道全置于屏蔽状态个通道全置于屏蔽状态n当一个通道的当一个通道的DMA过程结束,如果不是工作在过程结束,如果不是工作在自动初始化方式,则这一通道的屏蔽位置位,自动初始化方式,则这一通道的屏蔽位置位,必须再次编程为允许,才能进行下次必须再次编程为允许,才能进行下次DMA传送传送请看请看屏蔽字屏蔽字的格式的格式单通道屏蔽字格式D7 D6 D5 D4 D3D2D1
27、 D0任意任意0 清屏蔽位清屏蔽位1 置屏蔽位置屏蔽位00 通道通道001 通道通道110 通道通道211 通道通道3主屏蔽字格式D7 D6 D5 D4D3D2D1D0任意任意Di0 清通道清通道I屏蔽位屏蔽位Di1 置通道置通道I屏蔽位屏蔽位9. 状态寄存器n可由可由CPU读取读取n低低4位反映读命令这个瞬间每个通道是否位反映读命令这个瞬间每个通道是否产生产生TC(为(为1,表示该通道传送结束),表示该通道传送结束)n高高4位反映每个通道的位反映每个通道的DMA请求情况请求情况(为(为1,表示该通道有请求),表示该通道有请求)n状态位在复位或被读出后,均被清零状态位在复位或被读出后,均被清零10. 临时寄存器n在存储器到存储器的传送方式下,临时在存储器到存储器的传送方式下,临时寄存器保存从源存储单元读出的数据,寄存器保存从源存储单元读出的数据,该数据又被写入到目的存储单元该数据又被写入到目的存储单元n传送完成,临时寄存器只会保留最后一传送完成,临时寄存器只会保留最后一个字节,可由个字节,可由CPU读出读出n复位使临时寄存器内容为零复位使临时寄存器内容为零8237结构图(只画出了一个通道)8237结构图(只画出了一个通道)7.5.5 8237A的编程n8327A芯片的芯片的初始化编程初始化编程:只要写入命:只要写入命令寄存器令寄存器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026屏山轻云酿酒有限公司招聘3人考试参考题库及答案解析
- 2026重庆市渝中区天地人和街小学校招聘考试备考试题及答案解析
- 成都市水美乡村发展有限公司2026年上半年公开招聘工作人员(6人)考试备考题库及答案解析
- 餐饮行业食品安全监管制度完整文本
- 构建我国知识产权保险制度:基于现实困境与国际经验的探索
- 知识产权制度
- 物流运输货物签收制度
- 旅行社旅游合同管理制度
- 2026年4月安徽芜湖高新区(弋江区)国有企业人员招聘14人备考题库及参考答案详解(模拟题)
- 2026广东深圳市罗湖区新华外国语学校诚聘4人备考题库附答案详解(培优b卷)
- 护理安全质量检查原因分析及整改措施
- 医院应急响应知识图谱的构建策略
- 2026北京市公安局招录人民警察考试笔试参考题库附答案解析
- 综合工时制讲解
- 提高语文课堂有效性策略
- 一年级下学期综合实践体育活动计划
- 2024年甘肃省白银市、武威市、嘉峪关市、临夏州中考物理试题及答案
- 公安安全教育开学第一课
- 医药公司自提药品管理制度
- 容量评估与液体管理
- 抖音电商200个干货问题知识手册内部资料
评论
0/150
提交评论