已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第6章DMA机制,1,2,概述,DMA(DirectMemoryAccess)技术是一种高速的数据传输方式,允许在外部设备和存储器之间、存储器与存储器之间等直接传输数据。DMA方式传输特点中断方式下,CPU需要执行多条指令,占用一定的时间;而DMA传送1个字节只占用CPU的1个总线周期。DMA的响应速度比中断快。IO设备发出中断请求后,CPU要执行完当前指令后才给予响应并且要保护现场,而DMA请求是在总线周期执行完后即可响应。对于快速的IO设备,中断方式,其传输速度已无法满足要求。必须采用DMA方式来完成快速IO设备的数据传送的操作。,3,DMA传送过程,HOLD和HLDA用于DMA方式请求和响应,DMAC(DMA控制器)是DMA传送的核心电路。DMA传送过程一般分为如下四个阶段:申请阶段;响应阶段;数据传送阶段;传送结束阶段。,4,6.1S3C2410芯片的DMA方式,S3C2410芯片的DMA系统拥有4个独立通道的DMA控制器,每个通道的DMA控制器都可以控制处理芯片内部与内部之间、芯片内部与外部之间、芯片外部与外部之间的数据传输。每一个DMA通道都可以处理以下4种情况的DMA操作:源设备和目的设备都在内部系统总线上。源设备在内部系统总线上,目的设备在外部总线上。源设备在外部总线上,目的设备在内部系统总线上。源设备和目的设备都在外部总线上。,5,6.1.1DMA请求源,在H/W请求模式(硬件请求模式)下,S3C2410芯片中的4个DMA通道的每一个通道都可以从5个DMA源中选择一个DMA请求源。但在S/W请求模式(软件请求模式)下,DMA请求源就没有任何意义。,6,6.1.2DMA模式,S3C2410芯片涉及DMA的操作模式有三类:DMA请求模式:表明一个DMA操作是由谁发起的。S3C2410芯片支持2种DMA请求模式:S/W请求模式H/W请求模式DMA传输模式:描述DMA操作触发后,数据传输的同步。DMA传输模式也有2种:询问模式(demandmode)握手模式(handshakemode)DMA服务模式:描述了传输操作如何结束。单独服务模式整体服务模式,7,6.1.3DMA操作过程,S3C2410芯片的DMA操作可以用包含三个状态的有限状态机(finitestatemachine,FSM)来表述,具体描述如下状态1(state-1):初始状态。在初始状态中DMA控制器等待DMA请求,如果有DMA请求,则进入状态2(state-2)。初始状态下,XnXDACK信号(DMA应答信号)和INTREQ信号(终点请求信号)均为0。状态2(state-2):XnXDACK信号变为1。并且DMA终点计数器(CURR_TC)从DMA控制器(DCON)中加载其19:0位的内容作为计数初值。注意:XnXDACK信号一直保持为1,直至后面被清除。状态3(state-3):在这个状态下,进入DMA基本传输操作。描述DMA基本操作的子有限状态机(sub-FSM)被启动。一个基本的DMA传输操作完成从源地址读取数据,然后将其写入目的地址。DMA控制器如果遇到以下任何一种情况,都将清除DMAACK信号。(1)在整体服务模式下,计数器(CURR_TC)变成0。(2)在单独服务模式下,基本的DMA传输操作完成。,8,注意:在单独服务模式下,主状态机的三个状态执行完后,DMA通道就会停止操作,然后等待另一个DMAREQ信号。如果有另一个DMAREQ信号,DMA将重复这样的三个状态。因此,每个基本的DMA传输过程中设置DMAACK信号有效或无效。在整体服务模式中,主状态机一直在状态3等待,直到计数器(CURR_TC)值变成0。所以DMAACK信号在这个传输过程中有效,直到计数器(CURR_TC)为0,DMAACK信号无效。但是不管服务模式如何,只有计数器(CURR_TC)变成0,中断请求信号INTREQ才有效。,6.1.4DMA时序,基本的DMA时序一个基本的DMA传输操作是指在DMA操作期间执行成对的读写周期。在所有模式下,XnXDREQ信号和XnXDACK信号的启动时间和延迟时间是一致的。如果XnXDREQ信号完成时,恰好遇到一个新的启动时间,它将会被同步2次后再使XnXDACK信号有效。在XnXDACK信号有效之后,DMA请求总线,如果其获得总线控制权,就执行DMA传输操作。在DMA传输操作完成后,XnXDACK被设无效。,9,10,询问模式/握手模式时序询问模式和握手模式取决于XnXDREQ信号和XnXDACK信号之间的关系。在询问模式下,若XnXDREQ信号一直有效,前一个基本的DMA传输操作结束后,下一个基本的DMA传输操作会立即开始;若XnXDREQ信号不是一直有效,那么需要等待XnXDREQ信号有效后,再在XnXDACK信号有效后启动一次DMA基本传输操作。在握手模式下,一个基本的DMA传输操作结束后,DMA控制器要判断XnXDREQ信号的状态。如果XnXDREQ无效,DMA控制器在经过2个周期后使XnXDACK无效。否则,就需等待,直到XnXDREQ信号无效。,10,11,单发传输/阵发传输时序S3C2440A芯片的一个基本DMA传输操作中,所传输的数据大小有2种:单发传输的1个数据单位和振发传输的4个数据单位。单发传输时,一个基本的DMA传输操作完成一次读和一次写。阵发传输时,一个基本的DMA传输操作完成四次连续读和四次连续写。,12,外部DMA请求/应答时序有三种类型的外部DMA请求/应答协议(单独服务请求,单独服务握手和整体服务握手模式)。每种模式都定义了像DMA请求和应答信号和这些协议如何相关。,询问模式下单独服务,13,握手模式下整体服务,握手模式下单独服务,14,6.2S3C2410芯片的DMA寄存器,S3C2410芯片中有4个独立的DMA通道,每个DMA通道均有9个控制寄存器(其中6个用于控制DMA传输,3个用于监视DMA控制器的状态),因此,其DMA控制器共有36个寄存器DMA源起始地址寄存器(DISRCn)DMA源起始控制寄存器(DISRCCn)DMA目的起始地址寄存器(DIDSTn)DMA目的起始控制寄存器(DIDSTCn)DMA控制寄存器(DCONn)DMA屏蔽寄存器(DMASKTRIG)DMA状态寄存器(DSTATn)DMA当前源地址寄存器(DCSRCn)DMA当前目的地址寄存器(DCDSTn),15,6.2.1.传输控制寄存器,用于控制DMA传输操作的寄存器有6个,主要用来控制DMA传输时的:源地址起始值目的地址起始值数据块长度DMA模式等信息。,16,(1)DMA源起始地址寄存器,DMA源起始地址寄存器(DISRCn)共有4个:DISRC0、DISRC1、DISRC2、DISRC3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000000、0 x4B000040、0 x4B000080、0 x4B0000C0,复位后的初值为0 x00000000,且都是可读可写的。,17,(2)DMA源起始控制寄存器,DMA源起始控制寄存器(DISRCCn)共有4个:DISRCC0、DISRCC1、DISRCC2、DISRCC3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000004、0 x4B000044、0 x4B000084、0 x4B0000C4,复位后的初值为0 x00000000,且都是可读可写的。,18,(3)DMA目的起始地址寄存器,DMA目的起始地址寄存器(DIDSTn)共有4个:DIDST0、DIDST1、DIDST2、DIDST3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000008、0 x4B000048、0 x4B000088、0 x4B0000C8,复位后的初值为0 x00000000,且都是可读可写的。,19,(4)DMA目的起始控制寄存器,DMA目的起始控制寄存器(DIDSTCn)共有4个:DIDSTC0、DIDSTC1、DIDSTC2、DIDSTC3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B00000C、0 x4B00004C、0 x4B00008C、0 x4B0000CC,复位后的初值为0 x00000000,且都是可读可写的。,20,DIDSTn寄存器的格式,21,(5)DMA控制寄存器,DMA控制寄存器(DCONn)共有4个:DCON0、DCON1、DCON2、DCON3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000010、0 x4B000050、0 x4B000090、0 x4B0000D0,复位后的初值为0 x00000000,且都是可读可写的。,22,23,24,(6)DMA屏蔽触发寄存器,DMA屏蔽触发寄存器(DMASKTRIGn)共有4个:DMASKTRIG0、DMASKTRIG1、DMASKTRIG2、DMASKTRIG3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000020、0 x4B000060、0 x4B0000A0、0 x4B0000E0复位后的初值为0 x00000000,且都是可读可写的。,25,26,6.2.2状态寄存器,用来记录DMA传输状态的寄存器有3个,可以通过这些寄存器来了解DMA传输时的信息,以便于进行控制。(1)DMA状态寄存器DMA状态寄存器(DSTATn)共有4个:DSTAT0、DSTAT1、DSTAT2、DSTAT3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000014、0 x4B000054、0 x4B000094、0 x4B0000D4,复位后的初值为0 x00000000,且都是可读可写的。,27,(1)DMA状态寄存器,28,(2)DMA当前源地址寄存器,DMA当前源地址寄存器(DCSRCn)共有4个:DCSRC0、DCSRC1、DCSRC2、DCSRC3,分别对应4个独立的DMA通道。这4个寄存器地址分别为0 x4B000018、0 x4B000058、0 x4B000098、0 x4B0000D8,复位后的初值为0 x00000000,且都是可读可写的。,29,(3)DMA当前目的寄存器,DMA当前目的寄存器(DCDSTn)共有4个:DCDST0、DCDST1、DCDST2、DCDST3,分别对应4个独立的DMA通道。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年荆门市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(a卷)
- 扬州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解
- 梧州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(考试直接用)
- 池州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解参考
- 2026年云浮市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 吕梁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 2026年潮州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(预热题)
- 2026年安庆市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 周口市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(真题汇编)
- 雅安市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 哪吒主题课件模板文档
- 做最勇敢的自己
- DAM全固态中波发射机
- DB33T 1232-2021 蒸压加气混凝土墙板应用技术规程
- 电动工器具安全使用培训
- 钢结构栈道施工方案
- 【MOOC】航天推进理论基础-西北工业大学 中国大学慕课MOOC答案
- 预防艾滋病梅毒和乙肝母婴传播项目培训课件
- 2024-2025学年初三物理期中考试
- 八年级地理上学期期中测试卷01(人教版)(考试范围:第一、二章)(原卷版)
- PCI术后患者手术的围术期管理
评论
0/150
提交评论