第16讲-DMA机制_第1页
第16讲-DMA机制_第2页
第16讲-DMA机制_第3页
第16讲-DMA机制_第4页
第16讲-DMA机制_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南大学计算机与信息工程学院授课人:金勇234nDMA (Direct Memory Access)技术是一种高速的数据传输技术是一种高速的数据传输方式,允许在外部设备和存储器之间、存储器与存储器方式,允许在外部设备和存储器之间、存储器与存储器之间等之间等直接传输直接传输数据。数据。nDMA方式方式传输特点传输特点 q中断方式下,中断方式下,CPU需要执行多条指令,占用一定的时间;而需要执行多条指令,占用一定的时间;而DMA传送传送1个字节只占用个字节只占用CPU的的1个总线周期。个总线周期。 qDMA的响应速度比中断快。的响应速度比中断快。IO设备发出中断请求后,设备发出中断请求后,CPU要

2、执要执行完当前指令后才给予响应并且要保护现场,而行完当前指令后才给予响应并且要保护现场,而DMA请求是在总请求是在总线周期执行完后即可响应。线周期执行完后即可响应。 q对于快速的对于快速的IO设备,中断方式,其传输速度已无法满足要求。设备,中断方式,其传输速度已无法满足要求。必须采用必须采用DMA方式来完成快速方式来完成快速IO设备的数据传送的操作。设备的数据传送的操作。 5 DMA 传输将数据从一个地址空间复制到另外一个地址空间。传输将数据从一个地址空间复制到另外一个地址空间。当当 CPU 初始化这个传输动作,传输动作本身是由初始化这个传输动作,传输动作本身是由 DMA 控制器控制器来实行和

3、完成。来实行和完成。 典型的例子就是移动一个外部内存的区块到芯片内部更快的内典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像这样的操作并没有让处理器工作拖延,反而可以被重新存区。像这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。排程去处理其他的工作。DMA 传输对于高效能嵌入式系统算法传输对于高效能嵌入式系统算法和网络是很重要的。和网络是很重要的。 在实现在实现DMA传输时,是由传输时,是由DMA控制器直接掌管总线,因此,控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即存在着一个总线控制权转移问题。即DMA传输前,传输前,CPU要把总线要把总线控制

4、权交给控制权交给DMA控制器,而在结束控制器,而在结束DMA传输后,传输后,DMA控制器应控制器应立即把总线控制权再交回给立即把总线控制权再交回给CPU。6nHOLD和和HLDA用于用于DMA方式请求和响应,方式请求和响应,DMAC(DMA控制器)是控制器)是DMA传送的核心电路。传送的核心电路。 DMA传送过程传送过程一般分为如下四个阶段:一般分为如下四个阶段: q请求阶段;请求阶段;q响应阶段;响应阶段;q数据传输阶段;数据传输阶段;q传输结束阶段。传输结束阶段。71)DMA请求请求CPU对对DMA控制器初始化,并向控制器初始化,并向I/O接口发出接口发出操作命令,操作命令,I/O接口提出

5、接口提出DMA请求。请求。82)DMA响应响应DMA控制器对控制器对DMA请求判别优先级及屏蔽,向总线请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当裁决逻辑提出总线请求。当CPU执行完当前总线周期即执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示表示DMA已经响应,通过已经响应,通过DMA控制器通知控制器通知I/O接口开始接口开始DMA传输。传输。93)DMA传输传输DMA控制器获得总线控制权后,控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,即刻挂起或只执行内部操作,由由DMA控制器输出读写命令,直接控

6、制控制器输出读写命令,直接控制RAM与与I/O接口进行接口进行DMA传输。传输。 在在DMA控制器的控制下,在存储器和外部设备之间直接进行数据控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。的数据的起始位置和数据长度。104)DMA结束结束当完成规定的成批数据传送后,当完成规定的成批数据传送后,DMA控制器即释放总线控制权,控制器即释放总线控制权,并向并向I/O接口发出结束信号。当接口发出结束信号。当I/O接口收到结束信号后,一方面停止接口收到结

7、束信号后,一方面停止I/O设备的工作,另一方面向设备的工作,另一方面向CPU提出中断请求,并执行一段检查本提出中断请求,并执行一段检查本次次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。执行原来的程序。由此可见,由此可见,DMA传输方式无需传输方式无需CPU直接控制传输,也没有中断直接控制传输,也没有中断处理方式那样保留现场和恢复现处理方式那样保留现场和恢复现场的过程,通过硬件为场的过程,通过硬件为RAM与与I/O设备开辟一条直接传送数据设备开辟一条直接传送数据的通路,使的通路,使CPU的效率大为提高。的效率大

8、为提高。 111)停止)停止CPU访问内存访问内存 当外围设备要求传送一批数据时,由当外围设备要求传送一批数据时,由DMA控制器发一个控制器发一个停止信号停止信号给给CPU,要求,要求CPU放弃对地址总线、数据总线和有关控制总线的使用放弃对地址总线、数据总线和有关控制总线的使用权权DMA控制器获得总线控制权以后,开始进行数据传送在一批数控制器获得总线控制权以后,开始进行数据传送在一批数据传送完毕后,据传送完毕后,DMA控制器通知控制器通知CPU可以使用内存,并把总线控制权可以使用内存,并把总线控制权交还给交还给CPU在这种在这种DMA传送过程中,传送过程中,CPU基本处于不工作状态或者基本处于

9、不工作状态或者保持状态保持状态 优点优点: 控制简单,它适用于数据控制简单,它适用于数据传输率很高的设备进行成组传送。传输率很高的设备进行成组传送。 缺点缺点: 在在DMA控制器访内阶段,控制器访内阶段,内存的效能没有充分发挥,相当内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。一部分内存工作周期是空闲的。这是因为,外围设备传送两个数这是因为,外围设备传送两个数据之间的间隔一般总是大于内存据之间的间隔一般总是大于内存存储周期,即使高速存储周期,即使高速I/O设备也是设备也是如此。如此。122)周期挪用:)周期挪用: 当当I/O设备没有设备没有DMA请求时,请求时,CPU按程序要求访问按

10、程序要求访问内存;一旦内存;一旦I/O设备有设备有DMA请求,则由请求,则由I/O设备挪用一个设备挪用一个或几个内存周期。或几个内存周期。13I/O设备要求设备要求DMA传送时可能遇到两种情况:传送时可能遇到两种情况: (1)此时此时CPU不需要访内,如不需要访内,如CPU正在执行乘法指令。由于乘正在执行乘法指令。由于乘法指令执行时间较长,此时法指令执行时间较长,此时I/O访内与访内与CPU访内没有冲突,即访内没有冲突,即I/O设设备挪用一二个内存周期对备挪用一二个内存周期对CPU执行程序没有任何影响。执行程序没有任何影响。 (2)I/O设备要求访内时设备要求访内时CPU也要求访内,这就产生了

11、访内冲突,也要求访内,这就产生了访内冲突,在这种情况下在这种情况下I/O设备访内优先,因为设备访内优先,因为I/O访内有时间要求,前一个访内有时间要求,前一个I/O数据必须在下一个访内请求到来之前存取完毕。显然,在这种数据必须在下一个访内请求到来之前存取完毕。显然,在这种情况下情况下I/O设备挪用一二个内存周期,意味着设备挪用一二个内存周期,意味着CPU延缓了对指令的延缓了对指令的执行,或者更明确地说,在执行,或者更明确地说,在CPU执行访内指令的过程中插入执行访内指令的过程中插入DMA请求,挪用了一二个内存周期。请求,挪用了一二个内存周期。2)周期挪用:)周期挪用: 周期挪用的方法既实现了周

12、期挪用的方法既实现了I/O传送,又传送,又较好地发挥了内存和较好地发挥了内存和CPU的效率,是一的效率,是一种广泛采用的方法。但是种广泛采用的方法。但是I/O设备每一设备每一次周期挪用都有申请总线控制权、建立次周期挪用都有申请总线控制权、建立线控制权和归还总线控制权的过程,所线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周以传送一个字对内存来说要占用一个周期,但对期,但对DMA控制器来说一般要控制器来说一般要25个个内存周期内存周期(视逻辑线路的延迟而定视逻辑线路的延迟而定)。因。因此,周期挪用的方法适用于此,周期挪用的方法适用于I/O设备读设备读写周期大于内存存储周期的情

13、况。写周期大于内存存储周期的情况。143)DMA与与CPU交替访内交替访内 如果如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使的方法可以使DMA传送和传送和CPU同时发挥最高的效率。同时发挥最高的效率。 假设假设CPU工作周期为工作周期为1.2s,内存存取周期小于,内存存取周期小于0.6s,那么一个,那么一个CPU周期可分为周期可分为C1和和C2两个分周期,其中两个分周期,其中C1供供DMA控制器访内,控制器访内,C2专供专供CPU访内。访内。153)DMA与与CPU交替访内交替访内 这种方式不需要总线使用权的申请、建立和

14、归还过程,总线这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是通过使用权是通过C1和和C2分时制分时制的。的。CPU和和DMA控制器各自有自己控制器各自有自己的访内地址寄存器、数据寄存器和读的访内地址寄存器、数据寄存器和读/写信号等控制寄存器。在写信号等控制寄存器。在C1周期中,如果周期中,如果DMA控制器有访内请求,可将地址、数据等信号送控制器有访内请求,可将地址、数据等信号送到总线上。在到总线上。在C2周期中,如周期中,如CPU有访内请求,同样传送地址、数有访内请求,同样传送地址、数据等信号。事实上,对于总线,这是用据等信号。事实上,对于总线,这是用C1,C2控制的一个控制的一

15、个多路转多路转换器换器,这种总线控制权的转移几乎不需要什么时间,所以对,这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。传送来讲效率是很高的。 这种传送方式又称为这种传送方式又称为“透明的透明的DMA”方式,其来由是这种方式,其来由是这种DMA传送对传送对CPU来说,如同透明的玻璃一般,没有任何感觉或影来说,如同透明的玻璃一般,没有任何感觉或影响。在透明的响。在透明的DMA方式下工作,方式下工作,CPU既不停止主程序的运行,也既不停止主程序的运行,也不进入等待状态,是一种高效率的工作方式。当然,相应的硬件不进入等待状态,是一种高效率的工作方式。当然,相应的硬件逻辑也就

16、更加复杂。逻辑也就更加复杂。 1617 S3C2410 S3C2410芯片的芯片的DMADMA系统拥有系统拥有4 4个独立通道的个独立通道的DMADMA控制控制器器,每个通道的,每个通道的DMADMA控制器都可以控制处理芯片内部与内控制器都可以控制处理芯片内部与内部之间、芯片内部与外部之间、芯片外部与外部之间的数据部之间、芯片内部与外部之间、芯片外部与外部之间的数据传输。传输。 每一个每一个DMADMA通道都可以处理以下通道都可以处理以下4 4种情况的种情况的DMADMA操作操作: n1 1)源设备和目的设备都在内部系统总线上。)源设备和目的设备都在内部系统总线上。n2 2)源设备在内部系统总

17、线上,目的设备在外部总线上。)源设备在内部系统总线上,目的设备在外部总线上。n3 3)源设备在外部总线上,目的设备在内部系统总线上。)源设备在外部总线上,目的设备在内部系统总线上。n4 4)源设备和目的设备都在外部总线上。)源设备和目的设备都在外部总线上。18请求源请求源0 0请求源请求源1 1请求源请求源2 2请求源请求源3 3请求源请求源4 4通道通道0 0nXDREQ0nXDREQ0UART0UART0SDISDITimerTimerUSBUSB设备设备EP1EP1通道通道1 1nXDREQ1nXDREQ1UART1UART1I2SSDII2SSDISPI0SPI0USBUSB设备设备E

18、P2EP2通道通道2 2I2SSDOI2SSDOI2SSDII2SSDISDISDITimerTimerUSBUSB设备设备EP3EP3通道通道3 3UART2UART2SDISDISPI1SPI1TimerTimerUSBUSB设备设备EP4EP4在在H/WH/W请求模式(硬件请求模式)下,请求模式(硬件请求模式)下,S3C2410S3C2410芯片中的芯片中的4 4个个DMADMA通道的每一个通道都可以从通道的每一个通道都可以从5 5个个DMADMA源中选择一个源中选择一个DMADMA请求源。但请求源。但在在S/WS/W请求模式(软件请求模式)下,请求模式(软件请求模式)下,DMADMA请

19、求源就没有任何意义请求源就没有任何意义。【注注】nXDREQ0和和nXDREQ1表示两个外部源(外部设备),表示两个外部源(外部设备),I2SSDO和和I2SSDI分别表示分别表示IIS 的发送和接收。的发送和接收。19qDMADMA请求模式请求模式:表明一个:表明一个DMADMA操作是由谁发起的。操作是由谁发起的。 S3C2410S3C2410芯片支持芯片支持2 2种种DMADMA请求模式:请求模式:qS/WS/W请求模式请求模式qH/WH/W请求模式请求模式 qDMADMA传输模式传输模式:描述:描述DMADMA操作触发后,数据传输的同步操作触发后,数据传输的同步。DMADMA传输模式也有

20、传输模式也有2 2种:种:q询问模式(询问模式(demand modedemand mode)q握手模式(握手模式(handshake modehandshake mode)qDMADMA服务模式服务模式:描述了传输操作如何结束。:描述了传输操作如何结束。 q单独服务模式单独服务模式q整体服务模式整体服务模式20S3C2410S3C2410芯片的芯片的DMADMA操作可以用包含三个状态的操作可以用包含三个状态的有限状有限状态机(态机(finite state machinefinite state machine,FSMFSM)来表述,具体描述如来表述,具体描述如下:下:q状态状态1 1(st

21、ate-1state-1):):初始状态,初始状态,DMADMA等待等待DMADMA请求。若请求到达请求。若请求到达,进入状态,进入状态 2 2。此阶段,。此阶段,DMAACKDMAACK和和 INTREQINTREQ都为都为 0 0。q状态状态2 2(state-2state-2):):在此状态,在此状态,DMAACKDMAACK变为变为 1 1, 计数器的值(计数器的值(CURR_TCCURR_TC)从)从 DCON19:0DCON19:0寄存器加载。寄存器加载。 注意:注意:DMAACKDMAACK仍然为仍然为 1 1,直到它随后被清,直到它随后被清 0 0。q状态状态3 3(state

22、-3state-3):):在此状态,对在此状态,对 DMADMA进行原子操作的进行原子操作的 subFSMsubFSM(子状态机)被初始化。(子状态机)被初始化。subFSMsubFSM(子状态机)从源地址读取数据(子状态机)从源地址读取数据然后将数据写入目的地址。在此操作中,要考虑数据大小和传输然后将数据写入目的地址。在此操作中,要考虑数据大小和传输的的 尺寸尺寸21注意:注意:在单独服务模式下,主状态机的三个状态执行完后,在单独服务模式下,主状态机的三个状态执行完后,DMA通道就会通道就会停止操作,然后等待另一个停止操作,然后等待另一个DMA REQ信号。如果有另一个信号。如果有另一个DM

23、A REQ信号,信号,DMA将重复这样的三个状态。因此,每个基本的将重复这样的三个状态。因此,每个基本的DMA传传输过程中设置输过程中设置 DMA ACK信号有效或无效。信号有效或无效。在整体服务模式中,主状态机一直在状态在整体服务模式中,主状态机一直在状态 3 等待,直到计数器(等待,直到计数器(CURR_TC)值变成)值变成 0 。所以。所以DMA ACK信号在这个传输过程中有效信号在这个传输过程中有效,直到计数器(,直到计数器(CURR_TC)为)为 0,DMA ACK信号无效。信号无效。但是不管服务模式如何,只有计数器(但是不管服务模式如何,只有计数器(CURR_TC)变成)变成0,中

24、断请,中断请求信号求信号 INT REQ才有效。才有效。一个基本的一个基本的DMA传输操作是指在传输操作是指在DMA操作期间执行成对的读写周期。操作期间执行成对的读写周期。在所有模式下,在所有模式下,XnXDREQ信号和信号和 XnXDACK信号的启动时间和延迟时信号的启动时间和延迟时间是一致的。间是一致的。 如果如果XnXDREQ信号完成时,恰好遇到一个新的启动时间,它将会被同信号完成时,恰好遇到一个新的启动时间,它将会被同步步2次后再使次后再使XnXDACK 信号有效。信号有效。 在在XnXDACK信号有效之后,信号有效之后,DMA请求总线,如果其获得总线控制权,请求总线,如果其获得总线控

25、制权,就执行就执行DMA传输操作。在传输操作。在DMA传输操作完成后,传输操作完成后,XnXDACK被设无效被设无效。tXRStXADtCADL最小3SCLK读 写tCADHtXRSXSCLKXnXDREQXnXDACK询问模式和握手模式取决于询问模式和握手模式取决于XnXDREQ信号和信号和XnXDACK信号之间的关系。信号之间的关系。u 在询问模式下,若在询问模式下,若XnXDREQ信号一直有效,前一个基本的信号一直有效,前一个基本的DMA传输操作结束传输操作结束后,下一个基本的后,下一个基本的DMA传输操作会立即开始传输操作会立即开始;若若XnXDREQ信号不是一直有效信号不是一直有效,

26、那那么需要等待么需要等待XnXDREQ信号有效后,再在信号有效后,再在XnXDACK信号有效后启动一次信号有效后启动一次DMA基基本传输操作。本传输操作。u 在握手模式下,一个基本的在握手模式下,一个基本的DMA传输操作结束后,传输操作结束后,DMA控制器要判断控制器要判断XnXDREQ信号的状态。如果信号的状态。如果 XnXDREQ 无效,无效,DMA控制器在经过控制器在经过2个周期后使个周期后使XnXDACK无效。否则,就需等待,直到无效。否则,就需等待,直到XnXDREQ信号无效。信号无效。询问模式询问模式/ /握手模式时序握手模式时序24UnitUnit传输传输/Burst/Burst

27、传输时序传输时序 S3C2410芯片的一个基本芯片的一个基本DMA传输操作中,所传输的数据大小有传输操作中,所传输的数据大小有2种:种:Unit传输的传输的1个数据单位和个数据单位和Burst传输的传输的4个数据单位。个数据单位。Unit传输时传输时,一个基本的,一个基本的DMA传输操作完成一次读和一次写。传输操作完成一次读和一次写。Burst传输时传输时,一个基本,一个基本DMA传输操作完成四次连续读和四次连续写。传输操作完成四次连续读和四次连续写。25 外部外部 DMA DMA 请求请求/ /应答时序应答时序有三种类型的外部DMA请求/应答协议(单独服务请求,单独服务握手和整体服务握手模式

28、)。每种模式都定义了像DMA请求和应答信号和这些协议如何相关。XSCLKXnXDREQXnXDACK双同步读 写读 写询问模式下单独服务询问模式下单独服务26握手模式下整体服务握手模式下整体服务握手模式下单独服务握手模式下单独服务27 S3C2410S3C2410芯片中有芯片中有4 4个独立的个独立的DMADMA通道,每个通道,每个DMADMA通道均通道均有有9 9个控制寄存器个控制寄存器( (其中其中6 6个用于控制个用于控制DMADMA传输,传输,3 3个用于个用于监视监视DMADMA控制器的状态控制器的状态) ),因此,其,因此,其DMADMA控制器共有控制器共有3636个个寄存器寄存器

29、 qDMADMA源起始地址寄存器源起始地址寄存器(DISRCn) (DISRCn) qDMADMA源起始控制源起始控制寄存器寄存器(DISRCCn) (DISRCCn) qDMADMA目的起始地址寄存器目的起始地址寄存器(DIDSTn) (DIDSTn) qDMADMA目的起始控制寄存器目的起始控制寄存器(DIDSTCn) (DIDSTCn) qDMADMA控制寄存器控制寄存器(DCONn) (DCONn) qDMADMA屏蔽寄存器屏蔽寄存器(DMASKTRIG) (DMASKTRIG) qDMADMA状态寄存器状态寄存器(DSTATn) (DSTATn) qDMADMA当前源地址寄存器当前源

30、地址寄存器(DCSRCn)(DCSRCn)qDMADMA当前目的地址寄存器当前目的地址寄存器(DCDSTn) (DCDSTn) 281.1.传输控制寄存器传输控制寄存器用于控制DMA传输操作的寄存器有6个,主要用来控制DMA传输时的:源地址起始值目的地址起始值数据块长度DMA模式等信息。29(1)DMA源起始地址寄存器DMA源起始地址源起始地址寄存器(寄存器(DISRCn)共有)共有4个:个:DISRC0、DISRC1、DISRC2、DISRC3,分别对应,分别对应4个独立的个独立的DMA通道。通道。这这4个寄存器地址分别为个寄存器地址分别为0 x4B000000、0 x4B000040、0

31、x4B000080、0 x4B0000C0,复位后的初值为,复位后的初值为0 x00000000,且都是可读可写的,且都是可读可写的。引脚名称引脚名称位位描述描述初始值初始值S_ADDR30:0DMA传输的源数据起始地址。若传输的源数据起始地址。若CURR_SRC是是0并且并且DMA ACK是是1,这些位的值仅加载到,这些位的值仅加载到CURR_SRC0 x0000000030(2)DMA源起始控制寄存器DMA源起始控制寄存器(DISRCCn)共有4个:DISRCC0、DISRCC1、DISRCC2、DISRCC3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000004、0

32、 x4B000044、0 x4B000084、0 x4B0000C4,复位后的初值为0 x00000000,且都是可读可写的。引脚名称引脚名称位位描述描述初始值初始值LOC1位位1用来选择用来选择DMA源的位置。源的位置。0=源在系统总线源在系统总线(AHB)上;上;1=源在外设总线源在外设总线(APB)上。上。0INC0位位0被用于选择地址增加。被用于选择地址增加。0=增加;增加;1=固定。固定。如果为如果为 0,每次传输以后,地址增加相应的数据大小;,每次传输以后,地址增加相应的数据大小;如果为如果为 1,每次传输以后,地址保持不变。,每次传输以后,地址保持不变。031(3)DMA目的起始

33、地址寄存器DMA目的起始地址寄存器(DIDSTn)共有4个:DIDST0、DIDST1、DIDST2、DIDST3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000008、0 x4B000048、0 x4B000088、0 x4B0000C8,复位后的初值为0 x00000000,且都是可读可写的。引脚名称引脚名称位位描述描述初始值初始值D_ADDR30:0用于传输的目的数据基址(开始地址)。如果用于传输的目的数据基址(开始地址)。如果CURR_SRC为为0 且且DMA ACK为为1,该位值将被装,该位值将被装载到载到CURR_SRC。032(4)DMA目的起始控制寄存器

34、DMA目的起始控制寄存器(DIDSTCn)共有4个:DIDSTC0、DIDSTC1、DIDSTC2、DIDSTC3,分别对应4个独立的DMA通道。 这4个寄存器地址分别为0 x4B00000C、0 x4B00004C、0 x4B00008C、0 x4B0000CC,复位后的初值为0 x00000000,且都是可读可写的。33引脚名称位描述初始值LOC1用于选择DMA目的的位置。0=DMA目的在系统总线(AHB)上。1=DMA目的在外设总线(APB)上。0INC0用于选择目的地址是否增加。0=增加;1=固定。如果该位为0,每次传输以后,地址增加1(依据数据宽度);如果该位为1,每次传输以后,地址

35、保持不变。0DIDSTn寄存器的格式寄存器的格式34(5)DMA控制寄存器 DMA控制寄存器(DCONn)共有4个:DCON0、DCON1、DCON2、DCON3,分别对应4个独立的DMA通道。 这4个寄存器地址分别为0 x4B000010、0 x4B000050、0 x4B000090、0 x4B0000D0,复位后的初值为0 x00000000,且都是可读可写的。35引脚名称引脚名称位位描述描述初始值初始值DMD_HS31用来选择用来选择DMA传输模式。传输模式。0=选择请求模式;选择请求模式;1=选择握手模式。选择握手模式。0SYNC30用来选择用来选择 DREQ/DACK同步信号。同步

36、信号。0= DREQ / DACK与与PCLK (APB时钟时钟)同步。同步。1= DREQ /DACK与与HCLK (AHB时钟时钟)同步。同步。0INT29用来使能用来使能/不使能不使能CURR_TC产生产生中断。中断。0=不使能;不使能;1=使能。使能。0TSZ28用来选择基本用来选择基本DMA传输的大小。传输的大小。0=执行单元传输;执行单元传输;1=执行阵发长度为执行阵发长度为4的的DMA传输。传输。0SERVMODE27用来选择服务模式。用来选择服务模式。0=单独服务模式;单独服务模式;1=整体服务模式。整体服务模式。0HWSRCSEL26:24各各DMA通道请求源选择位。通道请求

37、源选择位。通道通道0:000=nXDREQ0; 001=UART0;010=SDI; 011=Timer;100=USB device EP1。通道通道1:000= nXDREQ1;001=UART1;010= I2SSDI; 011= SPI;100=USB device EP2。通道通道2:000= I2SSDO;001= I2SSDI;010= SDI; 011= Timer;100= USB device EP3。通道通道3:000= UART2;001= SDI;010= SPI; 011= Timer;100= USB device EP4。00036SWHW_SEL23用来选择用

38、来选择S/W还是还是H/W模式。模式。0=S/W模式;模式;1=H/W模式。模式。0RELOAD22设定重装载开关选项设定重装载开关选项0=当前当前DMA传输完后,终点计数器自动重载;传输完后,终点计数器自动重载;1=当前当前DMA传输完后,传输完后,DMA通道被关闭。通道被关闭。0DSZ21:20传输数据大小单位。传输数据大小单位。00 =字节;字节;01 =半字;半字;10=字;字; 11 =保留。保留。00TC19:0初始初始DMA传输计数值。传输计数值。传输的实际字节数由以下公式计算:传输的实际字节数由以下公式计算:DSZ x TSZ x TC。0 x0000037(6)DMA 屏蔽触发寄存器 DMA屏蔽触发寄存器(DMASKTRIGn)共有4个:DMASKTRIG0、DMASKTRIG1、DMASKTRIG2、DMASKTRIG3,分别对应4个独立的DMA通道。 这4个寄存器地址分别为0 x4B000020、0 x4B000060、0 x4B0000A0、0 x4B0000E0 复位后的初值为0 x00000000,且都是可读可写的。38引脚名称引脚名称位位描述描述初始值初始值STOP2用来停止用来停止DMA操作。操作。0=正常;正常;1=当

温馨提示

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

评论

0/150

提交评论