事件系统和DMA实现超快响应时间和极低功耗

2011-10-15 18:46:34来源: 互联网
在多数情况下,一个外设上的信号除了要让另一个外设知道它有事要做外,两个外设间的联络却需要大量中断处理时间。CPU便会随之中断,并关断马达驱动电路的PWM输出。这个过程需要耗费数十个时钟周期,并需要另外的20~100个时钟周期来恢复关联。微控制器并没真正被用于任何需要其处理能力的事情,只是从模拟比较器向PWM输出传递了一个消息而已。

  如果这些外设能够无需中断CPU而直接相互通信,每秒钟就可轻易节省数百万个时钟周期。8位微控制器不再适用于8位应用的一个原因,就是应用涉及的数据处理和中断处理太多,CPU的MIPS大都耗费在这些活动上。而外设和内存之间的传输数据更进一步地增加了MCU的负担。一个350kps的数据传输就要耗费22~25个CPU MIPS。

  解决这个问题的一个方法是采用一个带8通道事件系统和直接内存访问(DMA)的低功耗8/16位单周期RISC MCU,让事件系统和DMA来为CPU分担这些工作。DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。

  在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。

  事件系统通过CPU数据总线和DMA控制器之外的一个专用网络传递外设信号。有了事件系统,当一个外设出现了状态变化,就会自动触发其它外设上的相应动作。在前述马达案例中,微控制器中的模拟比较器、定时器/计数器,I/O引脚或ADC可以在过流状况的两个时钟周期内,直接关断马达驱动电路的PWM输出,不需占用任何中断,也不耗费任何CPU时钟资源,就可以为马达提供更好的保护。

  图1,带有事件系统总线的XMEGA微控制器:带有事件系统和DMA的MCU通过CPU数据总线和DMA之外的一个专用网络传递外设信号。这样做的好处是外设间信号通信变成可预见和无延迟,并减少了CPU周期时间和释放了中断资源。

  

带有事件系统总线的XMEGA微控制器

 

  图1,带有事件系统总线的XMEGA微控制器。

  可以触发事件系统的外设事件包括:定时器/计数器比较匹配或溢出,模拟比较器触发,引脚状态变化,ADC完成或比较,以及实时计数器溢出。在其它外设中被触发的事件包括:ADC或 DAC转换,输入捕获以记录通信时间戳或ADC测量时间戳,外部频率或脉宽测量,产生定时器/计数器时钟信号,开始一个DMA交易,或改变一个引脚输出。

  采用事件系统能够消除多个和/或频繁的中断触发造成的瓶颈,而且无需软件开销,关键任务可独立于CPU完成,而且也能大大降低功耗。一个没有事件系统的传统8位MCU要耗费16 MIPS才能完成响应马达过流信号关断PWM的动作。在16 MHz,1 MIPS/MHz,以及0.6 mA/MHz的工作条件下,微控制器需要消耗8.6 mA才能完成这项任务。而一个带有事件系统的同等MCU则不消耗MIPS,而且也不会增加功耗。

  图2,XMEGA微控制器的事件系统:有了事件系统,一个外设上出现状态变化就会自动触发其它外设上的相应动作,且不 占用任何中断,也不耗费任何CPU时钟资源。可同时处理多达8个外设间事件,以及4个速率为64Mps的数据传输,而CPU处于睡眠模式,电流消耗仅10mA。

  

XMEGA微控制器的事件系统

 

  图2,XMEGA微控制器的事件系统。

  消除中断后,处理响应延迟可获减少,而且确保最多只要2个时钟周期,或者说在32 MHz 时钟频率下只需62.5 ns的时间;而最快响应时间可达到31.2 ns。实际上,在8/16位MCU上采用事件系统,响应时间较无事件系统的传统32位MCU 缩短了37倍。

  传输数据是另一个耗费时钟周期和增加功耗的活动。由于CPU本身每次只能传输1个位,因此用CPU传输数据会带来巨大处理开销很大。8位微控制器必须执行22 MIPS,消耗14mA电流才能完成速率350Kbps的数据传输。

  只要在器件上增加一个外设DMA控制器,就可基本上解除CPU的所有这些工作负荷。当CPU数据总线空闲时,DMA控制器便会用它来完成内存和外设间的数据传输,无需使用CPU资源。连接外设寄存器的内部总线是分开的,因而DMA控制器和CPU可以同时进行总线访问。

  跟处理能力为22 MIPS、功耗为11mA但不带DMA的8位MCU比较,使用DMA控制器传输350 Kbps数据,MIPS消耗可减少99%;电流消耗则低于1mA。

  DMA控制器可以直接将数据从一个外设寄存器移到内部或外部SRAM,也可在SRAM的不同地址间,甚至不同外设寄存器之间移动数据。4个DMA通道有着各自的优先级、来源、目的地、触发方式、寻址模式,以及传输块大小。由于RISC CPU中简单的线性内存地址空间以及DMA控制器的自动增/减和重新加载的特点,DMA一次可传送1到16M字节。

关键字:系统  DMA  响应时间  极低功耗

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/1015/article_12282.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
系统
DMA
响应时间
极低功耗

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved