事件系统和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控制器配合使用,就可按如下方式完成模数和数模转换:任何I/O引脚上的状态变化或任何定时器/计数器出现溢出,就会触发ADC转换,无需任何CPU开销。ADC转换结果通过一个DMA通道传送到SRAM。同时,第二个定时器/计数器会触发一个高速DAC转换,并用第二个DMA通道传输相应的数据。事件系统会让模拟比较器触发输入捕捉,以100%精度记录时间戳,触发自动捕获,记录通信交易的起始时间戳,或在第二个ADC上扫描ADC转换。4个事件通道仍是可使用的,它们可用于PWM输出的故障保护,控制一个高压驱动级、定时器/计数器的级联,以及两个通信通道,所有动作均在同时进行,而CPU则处于睡眠状态。
图3,XMEGA的事件处理:若事件系统与DMA控制器配合使用,就可按如下方式完成模数和数模转换:任何I/O引脚上的状态变化或任何定时器/计数器出现溢出,就会触发ADC转换,无需任何CPU开销。ADC转换结果通过一个DMA通道传送到SRAM。
图3,XMEGA的事件处理
在微控制器中增加事件系统和DMA对功耗有很大改善。在某些应用中,这样做可使MCU在大多数时间都处于睡眠模式,功率消耗仅80 uA/MHz,而所有的外设却仍继续工作。对一个有8个同时事件和4个350 Kbps数据传输的应用而言,一个带有事件系统和DMA的8/16位MCU,每秒将有3160万个周期处于睡眠模式,而总电流消耗仅4mA。任何不带事件系统和DMA的8/16位MCU则会消耗52 至 60 mA的电流。而一个32位MCU则会消耗34.8 mA的电流,几乎是带有事件系统和DMA处理器的10倍功耗。
有/无事件系统和DMA之MCU的处理周期和功耗比较见表3。
表1,有/无事件系统之MCU的处理周期和响应时间比较
表2,有/无DMA的MCU传输350 KBps数据时的典型MIPS和功耗
表3,传输350Kbps 数据的中断、MIPS和功耗比较
- PCI9054芯片接口设计中若干问题的深入研究(01-18)
- 用于下一代移动电话的电源管理划分(08-28)
- WCDMA分布式基站低噪声放大器电路设计(09-12)
- DC-DC电源驱动PA提高WCDMA手机发送效率(11-01)
- 散列DMA设计的高速串口驱动技术(05-07)
- USB设备驱动程序开发(05-20)