- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DMA[精]
3.6 S3C2410A的DMA控制器 3.6.1 DMA工作原理 DMA(Direct Memory Acess,直接存储器存取)方式是指存储器与外设在DMA控制器的控制下,直接传送数据而不通过CPU,传输速率主要取决于存储器存取速度。在DMA传输过程中,DMA控制器负责管理整个操作,并且无须CPU介入,从而大大提高了CPU的工作效率。DMA方式为高速I/O设备和存储器之间的批量数据交换提供了直接的传输通道。由于I/O设备直接同内存发生成块的数据交换,可以提高I/O效率。现在大部分计算机系统均采用DMA技术。许多输入/输出设备的控制器都支持DMA方式。 在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权,CPU如果允许,则将控制权交出。因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。采用DMA方式进行数据传输的具体过程如下。 (1)外设向DMA控制器发出DMA请求。 (2)DMA控制器向CPU发出总线请求信号。 (3)CPU执行完现行的总线周期后,向DMA控制器发出响应请求的回答信号。 (4)CPU将控制总线、地址总线及数据总线让出,由DMA控制器进行控制。 (5)DMA控制器向外部设备发出DMA请求回答信号。 (6)进行DMA传送。 (7)数据传送完毕,DMA控制器通过中断请求线发出中断信号。CPU在接收到中断信号后,转人中断处理程序进行后续处理。 (8)中断处理结束后,CPU返回到被中断的程序继续执行。CPU重新获得总线控制权。 3.6.2 S3C2410A的DMA控制器 在系统总线和外围总线之间,S3C2410A有4个DMA控制器。每个DMA控制器可以处理以下4种情况: (1)源和目的都在系统总线上; (2)源在系统总线上,目的在外围总线上; (3)源在外围总线上,目的在系统总线上; (4)源和目的都在外围总线上。 如果DCON寄存器选择采用硬件(H/W)DMA请求模式,DMA控制器可以从对应通道的DMA请求源中选择一个。如果DCON寄存器选择采用软件(S/W)DMA请求模式,那么这些DMA请求源将没有任何意义。DMA请求源如表3.6.1所示。 DMA的操作过程可以用一个3种状态的FSM(Finite State Machine,有限状态机)来描述,具体步骤如下: (1)状态1 状态1为初始状态,DMA等待一个DMA请求。如果出现DMA请求,进入状态2。在这种状态下,DMA ACK和INT REQ为0。 (2)状态2 在状态2,DMA ACK变为1,并且从DCON[19:0]寄存器向计数器(CURR TC)加载计数值。注意,此时DMA ACK一直是1,直到被清零。 (3)状态3 在状态3,子FSM使DMA的微操作被初始化。子FSM从源地址读取数据,并将其写入目标地址。在这个操作过程中,需要考虑数据大小(尺寸)和传输大小(尺寸)。这一操作重复执行,直到在整体服务模式下的计数器 (CURR_TC)变为0;这一操作在单个服务模式下则只执行一次。子FSM每完成一次微操作,主FSM将CURR_TC进行一次向下计数。另外,当CURR_TC变为0时,主FSM将INT REQ信号置1,并将DCON寄存器的中断设置位[29]置1。除此以外,如果发生以下情况,则对DMA ACK清零。 在单个服务模式下,主FSM的3种状态执行完后就停止,并等待下一个DMA请求。如果又产生了新的DMA请求,则所有3个状态都将被重复。因此,对于每一个微传送操作,DMA ACK先后置1和清零。相反,在整体服务模式下,主FSM一直在状态3等待直到CURR TC变为0,因此DMA ACK在整个传送过程中都置1,当TC为时则清零。 S3C2410A每个DMA通道有9个控制寄存器,4个通道共有36个寄存器。每个DMA通道的9个控制寄存器中有6个用于控制DMA传输,另外3个用于监控DMA控制器的状态。要进行DMA操作,首先需要对这些寄存器进行正确配置。相关寄存器介绍如下: (1)DMA初始化源寄存器(DISRC) 如表3.6.2所示,DMA初始化源寄存器(DISRC)用于存放要传输的源数据的起始地址。 S3C2410A的DMA编程实例 本小节给出一个使用DMA方式实现从存储器发送数据到UART0的实例,以下是程序代码。 #include”config.h” #define S_DATA (*(volatile unsigned char *)0 #define S_ADDR ((volatile unsigned char *)0 //数据起始地址 void UART0_DMA(void){ volatile unsigned char*
您可能关注的文档
- DFT波束形成[精].docx
- DGSX08-艺术职院顶岗实习报告(实习前发)[精].doc
- df《在马克思墓前的讲话》[精].ppt
- Delphi 6程序设计及其应用开发--第8章 帮助文件制作[精].ppt
- DG型DG5-27×3次高压多级锅炉给水泵型号参数说明[精].doc
- dhcxaz建_立保育员有效管理机制的实践研究[精].doc
- DG型高压多级给水泵[精].doc
- DFT-4[精].ppt
- Dhpqkan企业绩效考核方案(范例)(免费)[精].doc
- DHC蝶翠诗滋养化妆水 使用心得[精].docx
- 2025年湖南大众传媒职业技术学院单招语文测试题库及完整答案一套.docx
- 2025年湖南省衡阳市行政职业能力测验题库完整.docx
- 2025年湖南化工职业技术学院单招(语文)测试模拟题库a4版.docx
- 2025年湖南工程职业技术学院单招语文测试题库及参考答案一套.docx
- 2025年湖南工艺美术职业学院单招(语文)测试题库及答案1套.docx
- 山东省师大附中高三下学期第十一次模拟考试(打靶卷)语文试题.doc
- 广东省台山市华侨中学高中地理必修1课件1.3地球自转意义(共93张).ppt
- 中考一轮复习化学课件(含2011中考真题)第12课时酸和碱的性质(23).ppt
- 13.1三角形的概念课件人教版数学八年级上册(1).pptx
- 高中语文《中国古代诗歌散文欣赏》课件一剪梅·李清照.ppt
最近下载
- 意大利cemb(赛博)er60动平衡仪中文操作手册.pdf VIP
- 粮油供货保障方案.docx VIP
- 负压引流器产品技术要求标准2023版.pdf VIP
- 初中英语课外阅读黑布林版渔夫和他的灵魂中文译文.docx VIP
- Oasis montaj7.5 操作手册-Oasis montaj Mapping and Processing软件平台.pdf VIP
- 机械精度设计与检测技术基础第2版杨沿平第七章滚动轴承配合1课件教学.ppt VIP
- 云南省昆明市盘龙区2023-2024学年七年级上学期期末英语试卷.pdf VIP
- 硬膜下血肿的护理常规.pptx
- 2020年牛津译林版7A英语七年级上册Unit2-单元检测卷(含答案).docx VIP
- 机械精度设计与检测技术基础第2版杨沿平第八章键与花键连接1课件教学.ppt VIP
文档评论(0)