240xA系列DSP有一个低功耗指令IDLE,当被执行时,该指令将停止CPU中所有电路的时钟;尽管如此,从CPU中出来的时钟将继续输出。
通过使用该指令,CPU的时钟将被关闭以节约能量。
当遇到复位或者中断请求时CPU将推出IDLE模式。
1.1 时钟类型
所有以240xA为内核的设备均包含下面两种时钟类型:
n 组成大部分CPU逻辑电路时钟的CPU时钟。
n 组成外设时钟以及CPU中的中断逻辑电路的系统时钟(由CPU中出来的CLKOUT得
来)。
当CPU进入IDLE模式时,系统时钟继续产生,CPU时钟停止产生。
这种模式叫作IDLE1 模式。
当CPU进入IDLE2 模式时,CPU时钟,系统时钟都将停止产生,这样允许进一步的节省能量。
第三种节能模式,HALT模式,有可能将看门狗时钟以及振荡器时钟关闭。
在HALT模式中,输入到锁相环的时钟被关闭。
低功耗模式不会改变通用I/O口的状态。
在进入低功耗模式之前,I/O口将保持住同样的状态。
并且,进入低功耗模式后,通用I/O口不会进入到高阻抗状态以及内部电压上拉或下拉不会改变。
当执行IDLE指令时,系统配置寄存器SCSR1 的12,13位LPM位将决定DSP进入三种节能模式中的哪种模式。
以下图标为三种模式下各时钟的关闭情况以及退出该情况所需要的条件。
(见相册)
1.2 退出低功耗模式
多种情况可以退出低功耗模式。
以下部分描述了怎样退出低功耗模式。
页脚内容1
1.2.1 复位
复位(任何情况下的复位)可以使DSP退出任何一种低功耗模式。
如果DSP处于HALT模式即暂停状态下,复位将启动振荡器;尽管如此,由于启动振荡器至产生时钟需要一定时间,CPU的复位将被延迟一段时间。
1.2.2 外部中断
外部中断,XINTx,可以使DSP退出出HALT的任何一种中断。
如果DSP处于IDLE2节能模式,连接到外部中断引脚的同步逻辑可以识别出在引脚上的中断,然后开始系统时钟和CPU时钟,然后允许时钟逻辑向PIE控制器产生中断请求。
1.2.3 唤醒中断
有一些外设具备启动DSP时钟的能力,然后形成了对某确定事件的中断。
比如在通讯线路中的一些激活电压。
例如:CAN唤醒中断可以在没有时钟运行时进行错误的中断请求。
1.1.1 退出低功耗模式——一些样例
外设中断被用来唤醒处于不同功耗模式的DSP。
唤醒的动作(以及DSP接下来的动作)由下列情况决定;
n 该外设在外设中断级是否被使能
n 该外设上级的IMR.n是否被使能
n 在ST0中的INTM状态
以下为唤醒低功耗模式的两个样例;
页脚内容2
1. 使用XINT1来唤醒LPM0 模式
当使用XINT1来唤醒处于LPM0 状态的DSP时,根据XINT1中断配置的不同,可以发生两件事情。
如果XINT1中断被使能(通过设置XINT1CR中合适的位并且IMR中0位为1)并且INTM位为0,一个有效的XINT1 信号将首先将DSP从LPMO所确定的功耗模式中唤醒并且使DSP进入相应的中断向量表。
尽管如此,如果INTM为1,当XINT1中断发生时,DSP 将被唤醒然后继续执行IDLE指令的下一条指令。
2. 使用PDPINTA来唤醒LPM2 (HALT)
情况1;
PDPINTA在外设级别被使能;相应的IMR位被置1;INTM为0,当唤醒HALT模式后,代码进入INT1 分支程序。
情况2:
PDPINTA在外设级别被使能;相应的IMR位被置1;INTM为1,当唤醒HALT模式后,DSP 将被唤醒然后继续执行IDLE指令的下一条指令。
情况3;
PDPINTA在外设级别被使能;相应的IMR位被置0;INTM为1,DSP将不会从HALT模式中唤醒过来。
注意:
1) 当使用PDPINTA来唤醒系统时,输入到EVA的时钟必须被使能。
2) 当使用PDPINTA来唤醒LPM2 时,必须保持6到12个时钟周期。
页脚内容3
3) PDPINTA包括同步路径和异步路径。
异步路径被用来唤醒HALT模式。
时钟也是被异
步PDPINTA所唤醒。
一旦时钟被唤醒了,就将形成中断。
尽管如此,PDPINTA 必须维持足够长的低电平以致使第一个时钟边缘能捕捉到它。
1.4.3 关闭Flash
在进入LPM2模式前,可以关闭Flash 模块。
当执行从片内存储器的代码时可以执行这一操作。
这种模式可以达到最低的电流损耗。
以下为关闭Flash 模块的指令序列:
(见相册)
LPM2模式可以通过RS或者PDPINTx 信号退出。
当RS自动打开Flash 模块时,如果PDPINTx 被用来打开Flash模块接下来的指令就将被执行。
(见相册)
页脚内容4
页脚内容5。