欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    嵌入式课件第14讲-第7章嵌入式系统DMA控制44页.ppt

    • 资源ID:6415043       资源大小:341.50KB        全文页数:42页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式课件第14讲-第7章嵌入式系统DMA控制44页.ppt

    1,第7章 中断、DMA和时间管理,本章主要介绍以下内容:嵌入式中断控制器嵌入式DMA控制器嵌入式时钟电源管理器嵌入式实时时钟嵌入式脉宽调制定时器,2,7.2 嵌入式系统DMA控制,在嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。以中断方式数据传输为例,每一次响应中断,CPU都要保护主程序断点的工作现场,而后执行ISR。数据传输操作完毕后,还要恢复断点处的工作现场。因此在某些高频度I/O操作的嵌入式应用场合,执行中断方式的输入输出会导致系统频繁切换工作现场,CPU运行效率不高。,3,DMA方式特点,DMA方式是高速I/O接口方式,其特点有两个:一是它可以不通过CPU直接完成输入输出设备与存储器间的数据交换,在数据传送期间不会影响CPU的其它工作;二是CPU带宽可以与总线带宽一样,延时仅依赖于硬件,能提高系统中数据的传输速率。显然利用这种方式不但数据传送速度快,而且CPU具有了同时进行多种实时操作的能力,增强了系统的实时性。,4,DMAC控制DMA传输,在DMA传输方式下,外设通过DMA控制器(DMAC)向CPU提出接管总线控制权的总线使用请求。CPU在当前总线周期结束后,响应DMA请求,把总线控制权交给DMA控制器。于是在DMAC的控制下,外设和存储器挪用CPU的一个总线周期,直接进行数据交换,而无需CPU进行数据传输控制干预。DMA传输结束后,再将总线使用权交换给CPU。,5,32位嵌入式处理器都具有DMA功能,在高速大数据量传输场合,DMA方式由于系统开销少,传输效率,比中断方式优越。因此,现代通用计算机都具备DMA传输功能。例如,PC机的芯片组中包含有8237A芯片,它是DMA控制器,可以控制4个DMA通道。然而,嵌入式系统并非都拥有DMA功能。8位嵌入式处理器一般不具备DMA数据传输功能。16位和32位嵌入式处理器一般都具有DMA功能。例如:ARM、68K、PowerPC和MIPS处理器。,6,几款主流嵌入式处理器的DMA控制器简表,7,嵌入式DMA控制器内建在芯片内部,DMA控制包括DMA通道初始化、DMA数据传输、DMA结束时的中断服务例程处理。对于通用计算机而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成。嵌入式系统的DMA控制器内建在处理器芯片内部。将DMA方式应用于嵌入式系统要考虑到与一般微机系统不同的应用特点,它对可靠性、成本、体积、功耗等有更严格的要求。因此,在进行含有高速数据处理的嵌入式开发时,需要精心地选择处理器。,8,现在学习S3C44B0X处理器的DMA控制器。S3C44B0X的DMA控制器(简称DMAC)拥有4个通道,其中有两个通道称为ZDMA,另外两个通道称为BDMA。,7.2.1 S3C44B0X的DMA控制器,9,ZDMA通道称为通用DMA 三星公司的数据手册上用这个称呼实际上是通用DMA,General DMA,它被连到SSB(三星系统总线,Samsung System Bus)总线上。BDMA通道称为桥DMABridge DMA,是SSB和SPB(三星外设总线,Samsung Peripheral Bus)之间的接口层,相当于一个桥。ZDMA和BDMA都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。,S3C44B0X的DMA通道,10,ZDMA通道用于在存储器到存储器、存储器到I/O存储器(固定目的存储位置)、I/O装置到存储器之间传输数据。BDMA通道只能在连到SPB(三星外设总线)上的I/O外设(如UART,IIS和SIO)与存储器之间传输数据。,ZDMA通道的特点,11,S3C44B0X的ZDMA控制器框图,12,S3C44B0X的ZDMA通道有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输。BDMA不支持4字突发DMA传输的原因是它没有临时缓存,而且连接在SPB上的外设速度较慢。因此存储器之间的传输数据最好使用ZDMA通道。,ZDMA通道的用途,13,S3C44B0X的BDMA控制器框图,14,有四类外部DMA请求/应答模式。它们是握手模式、单步模式、连续模式和手动模式。这些模式都定义了DMA请求和应答信号是怎样和这些模式相互关联的。虽然ZDMA和BDMA都可以支持外部的触发操作,但是这些模式只适用于ZDMA,不适用于BDMA。我们介绍其中的握手模式和单步模式。,外部DMA请求/应答模式,15,在握手模式下,DMA控制器对一个单独的DMA请求产生一个单独的DMA应答信息。图7-5示出了DMA操作的握手模式。在这样的DMA操作期间,读写周期不可分割。因此,总线控制器不向其他的总线拥有者分配总线的使用权。由nXDREQ(外部DMA请求引脚)产生的DMA请求表示需要传输一个字节、半个字或一个字。而握手模式需要DMA为每一个数据传输发送请求。在激活nXDACK后,nXDREQ信号就可以被释放了,在此之后nXDACK失活后还可以再次发送请求。,握手模式,16,S3C44B0X处理器DMA请求应答时序图,17,单步模式是指有两个DMA应答周期分别指示DMA的读周期和写周期。因为总线的使用权可以在读写期间转交给其它的总线拥有者,单步模式通常用在测试和调试的应用中。,单步模式,18,当DMA请求信号变为低电平后,如果不存在其它更高优先级的总线请求,总线控制器以降低总线应答信号电平的方式,指示为DMA操作分配总线。在第一个DMA应答信号的低电压期间应该是一个DMA读操作周期。在读操作周期之后,DMA应答信号电平将重新升高,指示读操作周期的结束。同时,如果此时请求信号仍然是低电压状态的话,就会在DMA应答信号上升沿触发下一个DMA写周期。如果当应答信号升高后,请求信号也在高电平状态,则下一个写周期就会被延迟,直到一个新的DMA请求信号被激活。,单步模式(续),19,S3C44B0X的DMA传输模式有三种:单元传输模式、块传输模式和飞速(On-The-Fly)模式。现在分别说明。单元传输模式对每一个DMA请求响应一对DMA读/写周期。,DMA传输模式,20,块传输模式的工作原理如下:在连续地执行4字节的DMA读周期之后再连续地进行4字节的DMA写周期。如果使用块传输模式,则传输的数据大小应该是16字节的倍数。换句话说,最小的传输尺寸是16个字节,也就是4个字。因为DMA计数器定义了以字节作为基本单元计数,按照计数定义16个字节DMA传输就是4个字节传输。如果传输的数据大小或DMA计数不是16的倍数(比如16、32、48、64等等),DMA就不能够传输完整的数据。假设要传输100字节(DMA计数是100),616=96字节可以被传输,剩下的4字节不能被传输。因为DMA操作将在96个字节传输完成之后停止。当程序员选用块传输DMA模式时应当意识到这个特点。,块传输模式,21,飞速模式的工作原理如下:ZDMA具有飞速(On-the-fly)读写模式。该模式的最大特性是读写周期并行(不可分割),其具体含义是当DMA读/写数据时,一个固定地址外部设备会根据DMA的应答信号(nXDACK0/1)写/读数据。然而在非飞速模式下,DMA通道在写数据之前要读数据。如果外部设备能够支持飞速模式,则数据传输速率将会提高一倍。外部设备能够支持飞速模式的标志是能够根据DMA应答信号读写数据。,飞速模式,22,飞速模式的特点,ZDMA独有ZDMA与传统DMA的最大不同点。借助飞速模式ZDMA可以减少在外部存储器和外部可寻址的外设之间DMA操作的周期数。,23,S3C44B0X一共有4个DMA通道,所以有4个通道属性寄存器。其中ZDCON0和ZDCON1是ZDMA通道的两个属性控制器,BDCON0和BDCON1是BDMA的两个属性控制器。,7.2.2 S3C44B0X的DMAC相关控制寄存器,24,S3C44B0X处理器DMA通道属性控制寄存器一览表,25,ZDMA通道属性寄存器的控制位定义,26,不论是ZDMA通道还是BDMA通道,每个通道都有6个传输控制寄存器。每个通道的6个传输控制寄存器分别是:初始源地址寄存器,初始目标地址寄存器,初始传输控制和传输字节/半字/字计数控制器,当前源地址寄存器,当前目标地址寄存器,当前传输控制和传输字节/半字/字计数控制器。,DMA通道具有6个传输控制寄存器,27,DMA传输控制寄存器的初值与属性,24个DMA传输控制寄存器的初值全部为0 x0。其中的12个初始控制寄存器的读写属性是可读可写,另外12个当前控制寄存器是只读属性。,28,现在给出一个在S3C44B0X处理器开发板上实现的DMA传输范例程序。COS-II操作系统支持下运行采用中断结束方式。,7.2.3 DMA应用程序举例,29,Cache无效地址,当S3C44B0X处理器处于DMA传输时,内存读写不受CPU控制,此时CPU无法维护Cache的一致性,所以需要将目的地址空间设为Cache无效地址。在S3C44B0X中最小的Cache无效地址为4KB(称为块),所以不需要低12位地址,为此执行目标地址右移12位。Cache无效目的地址空间确定之后,该存储区的数据不被Cache映射,从而满足了Cache数据的一致性。,30,两个Cache无效区,S3C44B0X的Cache无效区可以有两个,分别是Cache无效区0和Cache无效区1。这两个无效区的起始地址和结束地址分别由NCACHBE0和NCACHBE1寄存器加以控制。本范例程序使用NCACHBE0寄存器控制目标数据块的Cache无效区起始地址和结束地址。主体函数dma_copy的最前面几行完成该Cache无效区的设定。,31,参看程序清单7-8,教材第239页注意:在ARM300-S实验平台有两种DMA实验代码,它们的功能一样,都是完成内存数据块的拷贝传送。但是DMA结束方式不同:一种是中断结束方式,另外一种是查询结束方式。,DMA应用程序的范例代码详解,32,S3C44B0处理器DMA程序注释-1,Main函数清单,33,S3C44B0处理器DMA程序注释-2,dma_copy函数清单,34,S3C44B0处理器DMA程序注释-3,/中断处理函数void handler(void)char d21;int i;LCD_printf(n);for(i=0;i=strlen(des);i+=20)strcpy(d,des+i,20);d20=0;LCD_printf(%s n,d);free(des);,35,S3C44B0处理器DMA程序注释-4,Cache无效访问区控制寄存器,36,S3C44B0处理器DMA程序注释-5,ZDISRC0控制寄存器功能与位定义,37,S3C44B0处理器DMA程序注释-6,ZDIDES0控制寄存器功能与位定义,38,S3C44B0处理器DMA程序注释-7,填入ZDICNT0的数值:1010 0101 1100 20个0填入ZDICNT0bit20的数值=1;enable DMA,39,S3C44B0处理器DMA程序注释-8,将0 x05=0b00000101写入ZDCON0,40,课堂演示,使用ARM300-S实验平台演示DMA实验程序用DMA完成内存数据块(96个字符)的拷贝传送阅读源代码观看实验效果1,查询结束方式2,中断结束方式,41,第14讲重点,嵌入式DMA控制器的基本特点S3C44B0X的DMA通道S3C44B0X的DMA控制器S3C44B0X教学实验平台上的DMA应用程序举例,42,第14讲复习题、思考题,对于嵌入式系统并非都拥有DMA功能,请你给出支持这个观点的例子或者反驳这个观点的例子。S3C44B0X拥有什么样的DMA通道?试描述S3C44B0X的DMA通道特性。在S3C44B0X上传输数据应该使用哪一种DMA通道?S3C44B0X的DMA通道有哪几种外部DMA请求/应答模式?S3C44B0X的DMA传输模式有哪三种?为什么在DMA传输时要将目标地址设为Cache无效地址?,

    注意事项

    本文(嵌入式课件第14讲-第7章嵌入式系统DMA控制44页.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开