嵌入式嵌入式系统DMA控制页解读.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式嵌入式系统DMA控制页解读

2008年11月20日 南京大学计算机系 第7章 中断、DMA和时间管理 本章主要介绍以下内容: 嵌入式中断控制器 嵌入式DMA控制器 嵌入式时钟电源管理器 嵌入式实时时钟 嵌入式脉宽调制定时器 7.2 嵌入式系统DMA控制 在嵌入式系统I/O操作中,中断方式(包括查询方式)是广泛使用的操作方式。其特点是需要通过CPU执行ISR来控制整个数据的传送,输入输出都要以CPU的寄存器为中转站。以中断方式数据传输为例,每一次响应中断,CPU都要保护主程序断点的工作现场,而后执行ISR。数据传输操作完毕后,还要恢复断点处的工作现场。因此在某些高频度I/O操作的嵌入式应用场合,执行中断方式的输入输出会导致系统频繁切换工作现场,CPU运行效率不高。 DMA方式特点 DMA方式是高速I/O接口方式,其特点有两个:一是它可以不通过CPU直接完成输入输出设备与存储器间的数据交换,在数据传送期间不会影响CPU的其它工作;二是CPU带宽可以与总线带宽一样,延时仅依赖于硬件,能提高系统中数据的传输速率。显然利用这种方式不但数据传送速度快,而且CPU具有了同时进行多种实时操作的能力,增强了系统的实时性。 DMAC控制DMA传输 在DMA传输方式下,外设通过DMA控制器(DMAC)向CPU提出接管总线控制权的总线使用请求。CPU在当前总线周期结束后,响应DMA请求,把总线控制权交给DMA控制器。于是在DMAC的控制下,外设和存储器挪用CPU的一个总线周期,直接进行数据交换,而无需CPU进行数据传输控制干预。DMA传输结束后,再将总线使用权交换给CPU。 32位嵌入式处理器都具有DMA功能 在高速大数据量传输场合,DMA方式由于系统开销少,传输效率,比中断方式优越。因此,现代通用计算机都具备DMA传输功能。例如,PC机的芯片组中包含有8237A芯片,它是DMA控制器,可以控制4个DMA通道。 然而,嵌入式系统并非都拥有DMA功能。8位嵌入式处理器一般不具备DMA数据传输功能。16位和32位嵌入式处理器一般都具有DMA功能。例如:ARM、68K、PowerPC和MIPS处理器。 几款主流嵌入式处理器的DMA 控制器简表 嵌入式DMA控制器内建在芯片内部 DMA控制包括DMA通道初始化、DMA数据传输、DMA结束时的中断服务例程处理。对于通用计算机而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成。嵌入式系统的DMA控制器内建在处理器芯片内部。 将DMA方式应用于嵌入式系统要考虑到与一般微机系统不同的应用特点,它对可靠性、成本、体积、功耗等有更严格的要求。因此,在进行含有高速数据处理的嵌入式开发时,需要精心地选择处理器。 7.2.1 S3C44B0X的DMA控制器 现在学习S3C44B0X处理器的DMA控制器。 S3C44B0X的DMA控制器(简称DMAC)拥有4个通道,其中有两个通道称为ZDMA,另外两个通道称为BDMA。 S3C44B0X的DMA通道 ZDMA通道称为通用DMA 三星公司的数据手册上用这个称呼 实际上是通用DMA,General DMA,它被连到SSB(三星系统总线,Samsung System Bus)总线上。 BDMA通道称为桥DMA Bridge DMA,是SSB和SPB(三星外设总线,Samsung Peripheral Bus)之间的接口层,相当于一个桥。 ZDMA和BDMA都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。 ZDMA通道的特点 ZDMA通道用于在存储器到存储器、存储器到I/O存储器(固定目的存储位置)、I/O装置到存储器之间传输数据。BDMA通道只能在连到SPB(三星外设总线)上的I/O外设(如UART,IIS和SIO)与存储器之间传输数据。 S3C44B0X的ZDMA控制器框图 ZDMA通道的用途 S3C44B0X的ZDMA通道有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输。BDMA不支持4字突发DMA传输的原因是它没有临时缓存,而且连接在SPB上的外设速度较慢。因此存储器之间的传输数据最好使用ZDMA通道。 S3C44B0X的BDMA控制器框图 外部DMA请求/应答模式 有四类外部DMA请求/应答模式。它们是握手模式、单步模式、连续模式和手动模式。这些模式都定义了DMA请求和应答信号是怎样和这些模式相互关联的。虽然ZDMA和BDMA都可以支持外部的触发操作,但是这些模式只适用于ZDMA,不适用于BDMA。我们介绍其中的握手模式和单步模式。 握手模式 在握手模式下,DMA控制器对一个单独的DMA请求产生一个单独的DMA应答信息。图7-5示出了DMA操作的握手模式。在这样的DMA操作期间,读写周期不可分割。因此,总线控制器不向

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档