- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统及其应用-3-7
嵌入式系统及应用第3章 陈家林 2010年4月 第3章 S3C2410A处理器 1 S3C2410A概述 2 S3C2410A的I/O口 3复位、时钟和电源管理 4 S3C2410A存储器控制器 5 S3C2410A的中断控制 6 S3C2410A的DMA控制 3.7 DMA控制器 3.7.1 概述 DMA:直接存储器数据存取。在DMA控制器控制下,不经过CPU进行存储器数据访问,速度快、效率高。 S3C2410有四个DMA通道,每个DMA支持工作方式基本相同,但支持的源(sourece)和目的(Dest)略有差异 四种传输模式 源:数据的出发地 系统总线设备 外围总线设备 DMA请求源 DMA请求源起动DMA过程 软件软件请求 由外设硬件请求 通过设置DMA控制寄存器DCON[23]位SWHW_SEL值,选择硬/软件请求 SWHW_SEL=0 软件启动 硬件请求源 并可进一步通过设置HWSRCSEL[26:24]位选择HW模式下的每个DMA通道的请求源 DMA工作过程 使用三态有限状态机( FSM )进行操作,分三步操作: Stage-1 初始状态,等待DMA请求DREQx,若请求到达,进入Stage-2。此阶段,DMA应答DACKx和相关中断请求INT REQx都为0。 Stage-2 DACKx变为1,计数器CURR_TC从DCON[19:0]加载数值。注意:此时DMA ACK仍然保持为1,直到在stage-3中被清0。 Stage-3 在此状态,对DMA进行原子操作的sub-FSM(子状态机)被初始化。它从源地址读取数据然后写入目的地址。子状态机sub-FSM每完成一次操作,主FSM 将CURR_TC计数器减1。 当前DMA过程结束条件 服务模式:单次服务模式和整体服务模式 单次服务模式(Single service)下原子传输操作只进行一次 整体服务模式(Whole service)下,原子传输操作重复进行直到计数器(CURR_TC)变为0。 数据手册上提醒注意:就算是整体服务模式,每一次sub-FSM的原子传输后DMA也会释放总线,然后再试图重新获得总线,以保证其他设备能够有机会获得总线使用权。 DREQx与DACKx协议模式 有两种请求协议模式:请求(Demand)和握手(Handshake)。差别在于是否等待DREQ信号无效。 握手(Handshake)模式下,DMA控制器在开始新一轮传输之前,要等待DREQ信号,直到其无效,在DREQ信号无效时,DMA 控制器使DACK无效后。当DREQ信号再次有效之后又开始新一轮数据传输,且使DACK信号有效。 请求模式下,DMA控制器不等待DREQ信号无效。如果本次传输完毕后DREQ还是继续有效,DMA控制器只是先无效DACK信号,然后又开始新一轮的传输,传输时DACK信号有效。 数据手册上建议对外部DMA请求使用Handshake模式,以避免发生意料之外的数据传输。 原子传输单元尺寸 每次(Sub-FSM中)数据的单元尺寸分为Unit(1次读和写操作,单块数据)和Burst4(分别执行4次连续读、写操作,4块数据) 单块数据:执行一次读操作或一次写操作 猝发数据(Burst4)传输模式:执行四次读操作或四次写操作 基本DMA定时 请求协议模式+单次服务模式 握手协议模式+单次服务模式(猝发数据(Burst4)传输模式) 3.7.2 寄存器 每个DMA有9个寄存器,共有36个寄存器 源地址寄存器、源地址控制寄存器、当前源地址寄存器 目标地址寄存器、目标地址控制寄存器、当前目标地址寄存器 DMA控制寄存器、 DMA触发屏蔽寄存器、 DMA状态寄存器 源地址寄存器DISRC0~3 存放源的初始地址 当前源地址寄存器CURR_SRCn 存放DMA执行过程中,源的当前地址,用于判定DMA过程的进展情况 目的地址寄存器DIDST0~3 存放目的的初始地址 当前目的地址寄存器CURR_DSTn 存放DMA执行过程中,目的的当前地址,用于判定DMA过程的进展情况 DMA控制寄存器DCONn 位[31] DREQ与DACK协议模式: 0:请求模式 1:握手模式 位[30]: DREQ与DACK的时钟 0:PCLK 1:HCLK DMA控制寄存器DCONn 位[29]:中断使能控制 0:禁止 1:CURR_TC计数到0时,触发中断 位[28]:子FSM传输长度 0:1单位长度 1:猝发模式,4单位长度 DMA控制寄存器DCONn DMA服务模式 0:单次模式 1:整体模式 DMA控制寄存器DCONn DMA启动(触发)方式和请求源 位[23]:选择 0软件/ 1 硬件 位[26:24]:硬件启动的请求源 DMA控制寄存器DCON
文档评论(0)