下表罗列6621Cx 不同功耗模式的对比。 其中电流及备注并不严谨及完善,仅供参考。 6621A/6621P也类似。 模式 | 进入模式条件 | 备注 | 电流范围(非准确值,下为6621CxA典型值) | 全速运行模式 | co_power_sleep_enable(false); | 全功能 | 6mA | 普通深睡眠模式 deep sleep | co_power_sleep_enable(true); co_power_ultra_sleep_mode_enable(false); 1 硬件定时器未开启 2 所有中断程序都已经处理完毕。 3 无用户阻止睡眠 4 无唤醒脚阻止睡眠 | Sram 保持 所有GPIO 和Timer 可唤醒,唤醒后继续执行原代码 | 6.2uA | 超深睡眠模式 ultra_sleep_mode | co_power_sleep_enable(true); co_power_ultra_sleep_mode_enable(true); 1 硬件定时器未开启(timer0~timer2) 2 所有中断程序都已经处理完毕。 3 无用户阻止睡眠pmu_lowpower_prevent() 4 无唤醒脚阻止睡眠pmu_wakeup_pin_set() 5 无软件定时器(co_timer)在运行 6 RTC不能开启 | SRAM不保持 所有GPIO可以设置为唤醒 所有时钟关闭 唤醒后复位 | 5.5uA | 冬眠模式 hib_sleep | co_power_sleep_enable(true); co_power_ultra_sleep_mode_enable(true); co_power_hib_sleep_mode_enable(true); 1 硬件定时器未开启(timer0~timer2) 2 所有中断程序都已经处理完毕。 3 无用户阻止睡眠pmu_lowpower_prevent() 4 无唤醒脚阻止睡眠pmu_wakeup_pin_set() 5 无软件定时器(co_timer)在运行 6 RTC不能开启 | SRAM不保持 仅GPIO0-GPIO12支持唤醒,使用hib_wakeup_pin_set设置唤醒 32K保持,hib_timer_start 设置定时唤醒 唤醒后复位 | (1)1.1uA~1.4uA (有RTC), (2)0.4uA (仅GPIO唤醒) |
如果进不了睡眠 模式, 需要检查是否设置正确,及是否有什么阻止了睡眠。 如 设置了唤醒脚,且唤醒脚电平属于唤醒电平状态。 有些外设没有关闭,如:Timer,PWM,Systick,SPI 等需要高速时钟的外设 -UART 和 SF Controller 后台会在睡眠前自动关闭,睡眠唤醒后,需要重新打开恢复。 -其它外设在应用代码中,最好都要手动关闭。 -PLL倍频时钟在睡眠后需要重新设置。
|