文件名称:空闲模式-windows internals part 2(6th) 无水印pdf
文件大小:9.91MB
文件格式:PDF
更新时间:2024-06-27 11:57:43
PIC18F46k80 中文资料
4.3 休眠模式 PIC18F66K80系列器件的功耗管理休眠模式和所有其 他 PIC 器件提供的传统休眠模式相同。通过清零 IDLEN 位(器件复位时的默认状态)并执行 SLEEP 指令即可 进入该模式。这将关闭选定的振荡器(图 4-5),并将 所有的时钟源状态位清零。 从任何其他模式进入休眠模式不需要切换时钟。这是因 为控制器一旦进入休眠模式就不需要时钟了。如果选择 了 WDT,LF-INTOSC 时钟源将继续工作。如果使能了 SOSC 振荡器,它也将继续运行。 当在休眠模式下发生唤醒事件 (通过中断、复位或 WDT 超时)时,在时钟源 (通过 SCS<1:0> 位选择) 就绪之前器件将没有时钟源 (见图 4-6)。或者,如果 使能了双速启动或故障保护时钟监视器,器件将使用内 部振荡器模块作为时钟源(见第 28.0 节 “CPU 的特殊 功能 ”)。在这两种情况下,当由主时钟提供器件时钟 时,OSTS 位将置 1。唤醒不会影响 IDLEN 和 SCS 位。 4.4 空闲模式 空闲模式允许在外设继续工作的同时有选择地关闭控 制器的 CPU。选择特定的空闲模式允许用户进一步管 理功耗。 如果在执行 SLEEP 指令时, IDLEN 位被设置为 1,外 设将使用由 SCS<1:0> 位选择的时钟源,而 CPU 没有 时钟源。时钟源状态位不受影响。这种方法可以用于从 给定运行模式快速地切换到其相应的空闲模式。 如果选择了 WDT,LF-INTOSC 时钟源将继续工作。如 果使能了 SOSC 振荡器,它也将继续运行。 由于 CPU 没有执行指令,器件只能通过中断、WDT 超 时或复位从空闲模式退出。当发生唤醒事件时,会有一 段长度为 TCSD(表 31-11 中的参数 38)的延时,CPU 开始执行代码。当 CPU 开始执行代码时,它将沿用当 前空闲模式所使用的时钟源。例如,当从 RC_IDLE 模 式唤醒时,将使用内部振荡器模块为 CPU 和外设提供 时钟 (即 RC_RUN 模式)。唤醒不会影响 IDLEN 和 SCS 位。 当处于任何空闲模式或休眠模式下时,WDT 超时会导 致 WDT 唤醒并进入当前由 SCS<1:0> 位指定的运行 模式。 图 4-5: 进入休眠模式的转换时序 图 4-6: 从休眠模式唤醒的转换时序(HSPLL) Q4Q3Q2 OSC1 外设时钟 休眠 程序计数器 Q1Q1 CPU 时钟 PC + 2PC Q3 Q4 Q1 Q2 OSC1 外设时钟 程序计数器 PC PLL 时钟输出 Q3 Q4 CPU 时钟 Q1 Q2 Q3 Q4 Q1 Q2 PC + 6PC + 4 Q1 Q2 Q3 Q4 唤醒事件 注 1:TOST = 1024 TOSC ; TPLL = 2 ms (近似值)。这些时间间隔未按比例绘制。 TOST(1) TPLL(1) OSTS 位置 1 PC + 2DS39977C_CN 第 72 页 初稿 2011 Microchip Technology Inc.