- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
王红鑫 嵌入式系统DMA控制
嵌入式系统DMA控制
专业:电力电子与电力传动
姓名:王红鑫
学号:1206009
什么是DMA
DMA(Direct Memory Acess)是指不用处理器干预即可完成储存器与I/O间数据传送。
为什么要使用DMA控制
嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。以中断方式数据传输为例,每一次响应中断,CPU都要保护主程序断点的工作现场,而后执行ISR。数据传输操作完毕后,还要恢复断点处的工作现场。因此在某些高频度I/O操作的嵌入式应用场合,执行中断方式的输入输出会导致系统频繁切换工作现场,CPU运行效率不高。
DMA控制的优势
在高速大数据量传输场合,DMA方式可以不通过CPU直接完成输入输出设备与存储器间的数据交换,在数据传送期间不会影响CPU的其它工作, 使CPU具有了同时进行多种实时操作的能力,增强了系统的实时性。
DMA方式由于系统开销少,传输效率,比中断方式优越。因此,现代通用计算机都具备DMA传输功能。嵌入式系统并非都拥有DMA功能。8位嵌入式处理器一般不具备DMA数据传输功能。但16位和32位嵌入式处理器一般都具有DMA功能。例如:ARM、68K、PowerPC和MIPS处理器。
几款常用嵌入式处理器的DMA控制器简表
DMA系统组成
地址总线
HRQ DREQ
DMAC
HLDA DACK
总线
请求
总线
响应
HOLD
HLDA
CPU
DMA
请求
DMA
响应
I / O
设备
控制总线
数据总线
DMA 通道类型
① 源设备和目标都在系统总线AHB上
② 源设备和目标都在外围总线APB上
③ 源设备在系统总线,而目标设备位于外围总线
④ 源设备在外围总线,而目标设备位于系统总线
S3C2410的DMA方式
DMA请求源
DMA的模式
DMA请求模式
DMA请求模式表明一个DMA操作是由谁发起的。S3C2410支持2种DMA请求模式:S/W请求模式和H/W请求模式。
DMA传输模式
DMA传输模式描述了DMA操作触发后,数据传输的同步。有两种传输模式:询问模式和握手模式。
DMA传输模式
DMA传输模式描述了DMA传输操作该如何结束。DMA的服务模式有两种:单独服务模式和整体服务模式。
DMA的基本时序
询问/握手时序
单发/阵法传输时序
DMA寄存器
每个DMA通道有9个控制寄存器
DISRC
DISRCC
DCON
DIDST
DIDSTC
DMASKTRIG
DSTAT
DCSRC
DCDST
DISRC
需要传输的数据的起始地址
地址只能当没有数据传送( CURR_SRC 为0)而且DMA 请求被响应后(ACK为1)才能装载到CURR_SRC
DISRCC
数据传送源设备位置和地址增长方式
DMA控制寄存器
设置传输方式,传输尺寸,传输协议等信息
DCON
DCONn[31](DMD_HS)
0:Demand方式
1:HandShake方式
DCONn[30](SYNC)
0:采用PCLK时钟(外围总线)
1:采用HCLK时钟(系统总线)
DCONn[29](INT)
0:禁止CURR_TC中断
1:所有的传输结束后(CURR_TC=0)产生中断请求
DCONn[28](TSZ)
0:单元传输方式
1:猝发传输方式(4单元)
DCONn[27](SERVMODE)
0:单一服务模式(当一个原子操作完成后将DMA停止并等待新的请求)
1:整体服务模式(重复进行原子操作,直到计数为0)
DCONn[21:20](HWSRCSEL)
数据尺寸
00 = Byte 01 = Half word 10 = Word 11 = reserved
DCONn[19:0](TC)
初始传输次数
实际的传输字节通过DSZ x TSZ x TC计算
只有当CURR_SRC 为 0和DMA ACK为 1时才装载到CURR_SRC 中
当前DMA操作源地址
DCSRC
DMASKTRIG
DMASKTRIGn[2]:STOP
1:当前的原子操作结束后,立即停止DMA操作
CURR_TC设为0
DMASKTRIGn[1]:ON_OFF
0: DMA通道关闭
1: DMA通道开启
DMASKTRIGn[0]:SW_TRIG
1:软件触发一个DMA操作
必须选择S/W 请求模式 (DCONn[23]) ,通道的ON_OFF位为1
当DMA操作开始后,该位自动清除
操作步骤
① DMA通道初始化:rDISRC 、rDISRCC 、r
您可能关注的文档
最近下载
- 2025年三元食品面试题目及答案.doc VIP
- PEP小学英语五年级上册第三单元测试卷(含听力材料及标准答案).doc VIP
- 万里路测试题及答案.doc
- township梦想小镇攻略-价格-时间-配方表.xls VIP
- 35kV输电线路工程施工强制性条文执行检查表.pdf VIP
- 2025年第三节 妊娠剧吐.pptx VIP
- 2025年第三季度预备党员入党积极分子思想汇报材料.docx VIP
- 医学课件-综合医院中西医结合科(中医科)人员配置和人才培养.pptx VIP
- TCRHA 089-2024 成人床旁心电监测护理规程.pdf VIP
- 傅里叶变换红外光谱-傅里叶红外光谱课件.pptx VIP
原创力文档


文档评论(0)