首页 《嵌入式系统基础教程》第14讲_第7章嵌入式系统DMA控制_35页

《嵌入式系统基础教程》第14讲_第7章嵌入式系统DMA控制_35页

举报
开通vip

《嵌入式系统基础教程》第14讲_第7章嵌入式系统DMA控制_35页null《嵌入式系统原理与开发》 《嵌入式系统原理与开发》 第14讲 南京大学计算机系 俞建新主讲2008年春季第7章 中断、DMA和时间管理第7章 中断、DMA和时间管理本章主要介绍以下内容: 嵌入式中断控制器 嵌入式DMA控制器 嵌入式时钟电源管理器 嵌入式实时时钟 嵌入式脉宽调制定时器7.2 嵌入式系统DMA控制7.2 嵌入式系统DMA控制在嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。...

《嵌入式系统基础教程》第14讲_第7章嵌入式系统DMA控制_35页
null《嵌入式系统原理与开发》 《嵌入式系统原理与开发》 第14讲 南京大学计算机系 俞建新主讲2008年春季第7章 中断、DMA和时间管理第7章 中断、DMA和时间管理本章主要介绍以下内容: 嵌入式中断控制器 嵌入式DMA控制器 嵌入式时钟电源管理器 嵌入式实时时钟 嵌入式脉宽调制定时器7.2 嵌入式系统DMA控制7.2 嵌入式系统DMA控制在嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。以中断方式数据传输为例,每一次响应中断,CPU都要保护主程序断点的工作现场,而后执行ISR。数据传输操作完毕后,还要恢复断点处的工作现场。因此在某些高频度I/O操作的嵌入式应用场合,执行中断方式的输入输出会导致系统频繁切换工作现场,CPU运行效率不高。 DMA方式特点DMA方式特点DMA方式是高速I/O接口方式,其特点有两个:一是它可以不通过CPU直接完成输入输出设备与存储器间的数据交换,在数据传送期间不会影响CPU的其它工作;二是CPU带宽可以与总线带宽一样,延时仅依赖于硬件,能提高系统中数据的传输速率。显然利用这种方式不但数据传送速度快,而且CPU具有了同时进行多种实时操作的能力,增强了系统的实时性。 DMAC控制DMA传输DMAC控制DMA传输在DMA传输方式下,外设通过DMA控制器(DMAC)向CPU提出接管总线控制权的总线使用请求。CPU在当前总线周期结束后,响应DMA请求,把总线控制权交给DMA控制器。于是在DMAC的控制下,外设和存储器挪用CPU的一个总线周期,直接进行数据交换,而无需CPU进行数据传输控制干预。DMA传输结束后,再将总线使用权交换给CPU。32位嵌入式处理器都具有DMA功能32位嵌入式处理器都具有DMA功能在高速大数据量传输场合,DMA方式由于系统开销少,传输效率,比中断方式优越。因此,现代通用计算机都具备DMA传输功能。例如,PC机的芯片组中包含有8237A芯片,它是DMA控制器,可以控制4个DMA通道。 然而,嵌入式系统并非都拥有DMA功能。8位嵌入式处理器一般不具备DMA数据传输功能。16位和32位嵌入式处理器一般都具有DMA功能。例如:ARM、68K、PowerPC和MIPS处理器。 几款主流嵌入式处理器的DMA 控制器简 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 几款主流嵌入式处理器的DMA 控制器简表 嵌入式DMA控制器内建在芯片内部嵌入式DMA控制器内建在芯片内部DMA控制包括DMA通道初始化、DMA数据传输、DMA结束时的中断服务例程处理。对于通用计算机而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成。嵌入式系统的DMA控制器内建在处理器芯片内部。 将DMA方式应用于嵌入式系统要考虑到与一般微机系统不同的应用特点,它对可靠性、成本、体积、功耗等有更严格的要求。因此,在进行含有高速数据处理的嵌入式开发时,需要精心地选择处理器。7.2.1 S3C44B0X的DMA控制器 7.2.1 S3C44B0X的DMA控制器 现在学习S3C44B0X处理器的DMA控制器。 S3C44B0X的DMA控制器(简称DMAC)拥有4个通道,其中有两个通道称为ZDMA,另外两个通道称为BDMA。 S3C44B0X的DMA通道 S3C44B0X的DMA通道 ZDMA通道称为通用DMA 三星公司的数据手册上用这个称呼 实际上是通用DMA,General DMA,它被连到SSB(三星系统总线,Samsung System Bus)总线上。 BDMA通道称为桥DMA Bridge DMA,是SSB和SPB(三星外部总线,Samsung Peripheral Bus)之间的接口层,相当于一个桥。 ZDMA和BDMA都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。 ZDMA通道的特点 ZDMA通道的特点 ZDMA通道用于在存储器到存储器、存储器到I/O存储器(固定目的存储位置)、I/O装置到存储器之间传输数据。BDMA通道只能在连到SPB上的I/O外设(如UART,IIS和SIO)与存储器之间传输数据。 S3C44B0X的ZDMA控制器框图 S3C44B0X的ZDMA控制器框图 ZDMA通道的用途ZDMA通道的用途S3C44B0X的ZDMA通道有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输。BDMA不支持4字突发DMA传输的原因是它没有临时缓存,而且连接在SPB上的外设速度较慢。因此存储器之间的传输数据最好使用ZDMA通道。 S3C44B0X的BDMA控制器框图 S3C44B0X的BDMA控制器框图 外部DMA请求/应答模式 外部DMA请求/应答模式 有四类外部DMA请求/应答模式。它们是握手模式、单步模式、连续模式和手动模式。这些模式都定义了DMA请求和应答信号是怎样和这些模式相互关联的。虽然ZDMA和BDMA都可以支持外部的触发操作,但是这些模式只适用于ZDMA,不适用于BDMA。我们介绍其中的握手模式和单步模式。 握手模式握手模式在握手模式下,DMA控制器对一个单独的DMA请求产生一个单独的DMA应答信息。图7-5示出了DMA操作的握手模式。在这样的DMA操作期间,读写周期不可分割。因此,总线控制器不向其他的总线拥有者分配总线的使用权。 由nXDREQ(外部DMA请求引脚)产生的DMA请求表示需要传输一个字节、半个字或一个字。而握手模式需要DMA为每一个数据传输发送请求。在激活nXDACK后,nXDREQ信号就可以被释放了,在此之后nXDACK失活后还可以再次发送请求。 S3C44B0X处理器 DMA请求 应答时序图S3C44B0X处理器 DMA请求 应答时序图单步模式单步模式单步模式是指有两个DMA应答周期分别指示DMA的读周期和写周期。因为总线的使用权可以在读写期间转交给其它的总线拥有者,单步模式通常用在测试和调试的应用中。单步模式(续)单步模式(续)当DMA请求信号变为低电平后,如果不存在其它更高优先级的总线请求,总线控制器以降低总线应答信号电平的方式,指示为DMA操作分配总线。在第一个DMA应答信号的低电压期间应该是一个DMA读操作周期。在读操作周期之后,DMA应答信号电平将重新升高,指示读操作周期的结束。同时,如果此时请求信号仍然是低电压状态的话,就会在DMA应答信号上升沿触发下一个DMA写周期。如果当应答信号升高后,请求信号也在高电平状态,则下一个写周期就会被延迟,直到一个新的DMA请求信号被激活。 DMA传输模式 DMA传输模式 S3C44B0X的DMA传输模式有三种:单元传输模式、块传输模式和飞速(On-The-Fly)模式。现在分别说明。 单元传输模式 对每一个DMA请求响应一对DMA读/写周期。块传输模式块传输模式块传输模式的工作原理如下: 在连续地执行4字节的DMA读周期之后再连续地进行4字节的DMA写周期。如果使用块传输模式,则传输的数据大小应该是16字节的倍数。换句话说,最小的传输尺寸是16个字节,也就是4个字。因为DMA计数器定义了以字节作为基本单元计数,按照计数定义16个字节DMA传输就是4个字节传输。如果传输的数据大小或DMA计数不是16的倍数(比如16、32、48、64等等),DMA就不能够传输完整的数据。假设要传输10 0字 个人自传范文3000字为中华之崛起而读书的故事100字新时代好少年事迹1500字绑架的故事5000字个人自传范文2000字 节(DMA计数是100),6×16=96字节可以被传输,剩下的4字节不能被传输。因为DMA操作将在96个字节传输完成之后停止。当程序员选用块传输DMA模式时应当意识到这个特点。 飞速模式飞速模式飞速模式的工作原理如下: ZDMA具有飞速(On-the-fly)读写模式。该模式的最大特性是读写周期并行(不可分割),其具体含义是当DMA读/写数据时,一个固定地址外部设备会根据DMA的应答信号(nXDACK0/1)写/读数据。然而在非飞速模式下,DMA通道在写数据之前要读数据。 如果外部设备能够支持飞速模式,则数据传输速率将会提高一倍。外部设备能够支持飞速模式的标志是能够根据DMA应答信号读写数据。飞速模式的特点飞速模式的特点该模式是ZDMA独有的 飞速模式是ZDMA与传统DMA的最大不同点。 借助飞速模式ZDMA可以减少在外部存储器和外部可寻址的外设之间DMA操作的周期数。 7.2.2 S3C44B0X的DMAC 相关控制寄存器 7.2.2 S3C44B0X的DMAC 相关控制寄存器 S3C44B0X一共有4个DMA通道,所以有4个通道属性寄存器。其中ZDCON0和ZDCON1是ZDMA通道的两个属性控制器,BDCON0和BDCON1是BDMA的两个属性控制器。 S3C44B0X处理器 DMA通道属性控制寄存器一览表 S3C44B0X处理器 DMA通道属性控制寄存器一览表 ZDMA通道属性寄存器的 控制位定义ZDMA通道属性寄存器的 控制位定义DMA通道具有6个传输控制寄存器DMA通道具有6个传输控制寄存器不论是ZDMA通道还是BDMA通道,每个通道都有6个传输控制寄存器。每个通道的6个传输控制寄存器分别是:⒈初始源地址寄存器,⒉初始目标地址寄存器,⒊初始传输控制和传输字节/半字/字计数控制器,⒋当前源地址寄存器,⒌当前目标地址寄存器,⒍当前传输控制和传输字节/半字/字计数控制器。DMA传输控制寄存器的 初值与属性DMA传输控制寄存器的 初值与属性24个DMA传输控制寄存器的初值全部为0x0。 其中的12个初始控制寄存器的读写属性是可读可写,另外12个当前控制寄存器是只读属性。7.2.3 DMA应用程序举例 7.2.3 DMA应用程序举例 现在给出一个在S3C44B0X处理器开发板上实现的DMA传输范例程序。 μCOS-II操作系统支持下运行 采用中断结束方式。Cache无效地址Cache无效地址当S3C44B0X处理器处于DMA传输时,内存读写不受CPU控制,此时CPU无法维护Cache的一致性,所以需要将目的地址空间设为Cache无效地址。 在S3C44B0X中最小的Cache无效地址为4KB(称为块),所以不需要低12位地址,为此执行目标地址右移12位。Cache无效目的地址空间确定之后,该存储区的数据不被Cache映射,从而满足了Cache数据的一致性。两个Cache无效区两个Cache无效区S3C44B0X的Cache无效区可以有两个,分别是Cache无效区0和Cache无效区1。这两个无效区的起始地址和结束地址分别由NCACHBE0和NCACHBE1寄存器加以控制。 本范例程序使用NCACHBE0寄存器控制目标数据块的Cache无效区起始地址和结束地址。 主体函数dma_copy的最前面几行完成该Cache无效区的设定。DMA应用程序的范例代码详解DMA应用程序的范例代码详解参看程序清单7-8 第14讲重点第14讲重点嵌入式DMA控制器的基本特点 S3C44B0X的DMA通道 S3C44B0X的DMA控制器 S3C44B0X教学实验平台上的DMA应用程序举例第14讲复习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 、思考题第14讲复习题、思考题对于嵌入式系统并非都拥有DMA功能,请你给出支持这个观点的例子或者反驳这个观点的例子。 S3C44B0X拥有什么样的DMA通道? 试描述S3C44B0X的DMA通道特性。 在S3C44B0X上传输数据应该使用哪一种DMA通道? S3C44B0X的DMA通道有哪几种外部DMA请求/应答模式? S3C44B0X的DMA传输模式有哪三种? 为什么在DMA传输时要将目标地址设为Cache无效地址?第14讲结束第14讲结束谢谢大家的使用! 欢迎大家提出宝贵 意见 文理分科指导河道管理范围浙江建筑工程概算定额教材专家评审意见党员教师互相批评意见 和建议!
本文档为【《嵌入式系统基础教程》第14讲_第7章嵌入式系统DMA控制_35页】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_796355
暂无简介~
格式:ppt
大小:264KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-10-26
浏览量:179