Kinetis L系列功耗管理

Similar documents
Kinetis KL1x – 通用超低功耗MCU

Kinetis MCU功耗管理

在Kinetis上使用DMA进行脉冲计数

Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation

CANVIO_AEROCAST_CS_EN.indd

Freescale Semiconductor Document Number: AN4985 应用笔记 Rev. 0,09/2014 使用 Kinetis K22F 和 KV31F MCU 的高速运行模式 本应用笔记针对最新一代 Kinetis K22F 和 KV31F 系列微控制器撰写, 旨在解

FM1935X智能非接触读写器芯片

ICD ICD ICD ICD ICD

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

P4i45GL_GV-R50-CN.p65

EK-STM32F

2 控 制 面 板 控 制 面 板 控 制 面 板 显 示 打 印 机 的 工 作 状 态, 并 控 制 打 印 机 的 基 本 操 作 图 2 ZT230 控 制 面 板 图 3 ZT220 控 制 面 板

SA-DK2-U3Rユーザーズマニュアル

IBM 全 球 企 业 咨 询 服 务 部 中 国 五 矿 筑 起 人 力 资 源 信 息 大 厦 2 回 顾 篇 慎 选 巧 选 软 件 平 台 由 于 五 矿 集 团 下 属 的 很 多 公 司 是 最 近 几 年 才 加 盟 的 新 成 员 企 业, 这 些 公 司 所 应 用 的 人 力 资

Panaboard Overlayer help

KDC-U5049 KDC-U4049 Made for ipod, and Made for iphone mean that an electronic accessory has been designed to connect specifically to ipod, or iphone,

Xear 3D USB CH-IN-2 SPKs 2 6 :

Logitech Wireless Combo MK45 English

ARM JTAG实时仿真器安装使用指南

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

目 錄 使 用 者 介 面... 3 檔 案 頁 籤... 3 配 置... 4 狀 態 列... 4 功 能 區... 5 說 明... 5 文 件... 7 修 訂 雲 形... 7 標 註... 8 文 字... 9 幾 何 中 心 點 的 物 件 鎖 點 等 角 製 圖 格 線.

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

EEPROM Emulation Driver for the Kinetis E Series Microcontrollers Application Note

1.ai

AN4767.fm

060522達文西密碼_全_.PDF

Windows XP

PowerPoint Presentation

DataNet_Solution2.ai

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

BC04 Module_antenna__ doc

USB解决方案.ppt

EMC® VNX® Series VNX8000™ Block 安装指南

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

untitled


untitled

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

68369 (ppp quickstart guide)

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

Microsoft Word - AK360 中文說明書 V1.1 _ _ - 送ISO13485用_SGS評鑑後最終版_.doc

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

untitled

AI-AUTO-011 Saflex® Advanced PVB - Color Interlayer (Chinese)

目录

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

PCM-3386用户手册.doc

TX-NR3030_BAS_Cs_ indd

Epson

使用 Adobe® Extension Manager CS4

基于 ARM Cortex-M0 的 ES32F033x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V VDD 5.

不 知 肉 味 的 用 法 相 同? (A) 長 煙 一 空, 皓 月 千 里 (B) 五 臟 六 腑 裡, 像 熨 斗 熨 過, 無 一 處 不 伏 貼 (C) 兩 片 頑 鐵, 到 他 手 裡, 便 有 了 五 音 十 二 律 似 的 (D) 吾 觀 三 代 以 下, 世 衰 道 微 12. 文

加 快 审 阅 和 标 记 工 作 流 程 Acrobat X 通 过 提 供 一 种 可 靠 的 文 件 格 式 扩 展 了 Office 和 SharePoint 的 协 作 服 务, 可 以 使 用 大 多 数 桌 面 应 用 程 序 生 成 这 种 格 式 并 使 用 Acrobat 或 免

(Microsoft Word - \256g\275b\252\354\305\351\305\347.doc)

Application Note Transient Voltage Suppressors (TVS) for 表 1 VISHAY 的 SM6T 系列的电特性 25 C 型号 击穿电压 器件标识码 V BR AT I T I T 测试电流 (ma) 关态电压 V RM 漏电流 I RM AT V

Electrical and Optical Clock Data Recovery Solutions - Data Sheet

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

K7VT2_QIG_v3

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

MCF51JxQxPBZHS

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

HM705/6/813 WDI WDO MR GND I/O NMI INT MCU 1 HM V HM V HM813L 4.65V HM V HM V HM813M

/ 212ºF (100ºC) 2 UL CR2032 DL Wave SoundTouch SoundTouch SoundTouch Bose / 3 Bose Corporation 1999/5/EC 32ºF (0 C) 113

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

Moto Z

BlueNRG-1

User’s Manual

PROFIBUS3.doc

Kinetis快速参考用户指南


untitled

DR2010.doc

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

Autodesk Whitepaper A4 size

P4Dual-915GL_BIOS_CN.p65

FlexIO 外设模块的主要特性 2 FlexIO 外设模块的主要特性 FlexIO 是指灵活的输入和输出外设 具有多种功能的高度可配置模块 允许模拟标准通信接口 支持多种协议和外设, 包括 : UART I 2 C SPI I 2 S LCD RGB CMT( 载波调制发送器 ) PWM/ 波形生

基于 ARM Cortex-M0 的 ES32F065x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V 5.5V P

Microsoft Word - 正文.doc

Transcription:

Freescale Semiconductor Document Number: AN5088 应用笔记 Rev 0, 3/2015 Kinetis L 系列功耗管理如何使用 Kinetis L 系列低功耗模式 1 简介 Kinetis L 微控制器系列为对功耗敏感型市场提供超低功耗特性 在该 MCU 系列中实现了多种低功耗模式以满足这一需求 本应用笔记向用户展示了每种功耗模式的详细信息, 并在 SDK 功耗管理演示中提供了用户案例示例 同时针对每种功耗模式提供了建议和技巧 Kinetis 软件开发套件 (SDK) 向用户提供了强大的外设驱动 协议栈 中间件和应用示例, 旨在简化和加速基于所有 Kinetis MCU 的应用开发 Kinetis SDK 是完全免费的, 包含用于所有硬件抽象和外设驱动软件的完整源代码 ( 在宽松的开源许可环境下 ) 本应用笔记重点介绍了功耗管理控制器 (PMC) 系统模式控制器 (SMC) 多用途时钟产生器 (MCG) 和低漏电唤醒单元 (LLWU) 内容 1 简介...... 1 2 功耗模式... 1 2.1 功耗模式详细信息... 2 2.2 功耗模式转换......6 3 MCG 和 MCG_Lite......7 4 快速入门指南... 7 4.1 VPLR 模式的进入和退出示例...9 4.2 LLS 模式的进入和退出示例...... 10 4.3 VLLS0 模式的进入和退出示例...... 10 5 较低功耗模式的使用提示... 10 6 参考资料...11 7 修订历史记录... 11 2 功耗模式 ARM Cortex-M0+ 的功耗模式分为运行 (RUN) 睡眠 (SLEEP) 和深度睡眠 (DEEP SLEEP) 在 Kinetis L 系列中, 内核使用中断唤醒指令 (WFI) 来启用睡眠和深度睡眠模式 该表显示了 Kinetis L MCU 的扩展功耗模式及各模式之间的联系 2015 Freescale Semiconductor, Inc.

功耗模式 表 1. Kinetis L 系列功耗模式 ARM CM0+ 功耗模式 Freescale MCU 功耗模式 唤醒模块 是否复位? RUN RUN, VLPR - - RUN CPO AWIC/NVIC 否 SLEEP WAIT, VLPW NVIC 否 DEEP SLEEP STOP, VLPS AWIC 否 DEEP SLEEP PSTOP1 AWIC 否 DEEP SLEEP PSTOP2 AWIC/NVIC 否 DEEP SLEEP LLS LLWU 否 DEEP SLEEP VLLS0/1/3 LLWU LLWU 复位 NVIC 意味着任何中断源可将 MCU 从 WAIT/VLPW 模式唤醒 AWIC 意味着只有参考手册中列出的 AWIC 唤醒源才能将 MCU 从 STOP/VLPS 模式唤醒 LLWU 意味着只有参考手册中列出的 LLWU 唤醒源才能将 MCU 从 LLS/ VLLSx 模式唤醒 要从 VLLSx 模式唤醒, 需要经历复位流程并调用 LLWU 复位 在计算运行模式 (CPO) 下,ARM 内核处于运行模式 任何异步中断和 ARM 内核同步中断可以将 MCU 唤醒, 使其进入运行模式 对于 Kinetis L 系列器件,NMI 引脚可以唤醒所有功耗模式 ; 如果复位引脚未被总线时钟过滤, 则复位引脚可以将 MCU 的功耗模式重置为默认的运行 (RUN) 模式 2.1 功耗模式详细信息 在不同的 Kinetis L 系列器件中使用的功耗模式不尽相同 用户可以查看相关的参考手册以获取详细信息 下文介绍了每种功耗模式, 其中包含模式的相关详细信息以及模式进入和退出的基本信息 有关更多高级信息, 包括阻止进入低功耗模式的因素, 请参阅参考手册中的功耗模式转换章节 以下给出的测量数据 频率和其他极限数据仅供参考 请确保使用 MCU 数据手册中的正式值 2.1.1 运行模式 (RUN) 在任意复位后进入 ( 默认情况下,FOPT = 0xFF) 片内电压调节器开启, 全功能 堆栈指针 (SP) 程序计数器 (PC) 和链接寄存器均被设置 ARM Cortex-M0+ 处理器退出复位并从 Flash 地址 0x0 和 0x4 处读取起始 SP 和 PC 默认情况下只使能 DMA 和 Flash 时钟 若不使用, 通过清零 SCGCx 寄存器中的外设时钟门控位以降低功耗 在运行模式下, 室温下期望的典型 IDD 为 4 至 6 ma( 查看 MCU 器件数据手册以获取更多信息 ), 这取决于时钟频率和 MCU 系列 一些 Kinetis L 系列器件支持启动进入 VLPR 模式 查看参考手册的第 6 章以获取更多信息 2.1.2 超低功耗运行模式 (VLPR) 在任意复位后选择 ( 如果 MCU 支持该特性, 且 FOPT 具有 VLPR 启动设定 ) 片内电压调节器处于仅提供 MCU 低频运行所需电压的模式 内核频率限制为最高 4 MHz( 应将时钟分频器设置为合适的值以满足该限制 ) 总线 /Flash 频率限制为最高 800 khz 1 MHz( 总线时钟与 Flash 共用时钟分频器 ) 清零 SCGCx 寄存器中的时钟门控位以降低功耗 不允许进行 Flash 编程和擦除操作 2 Freescale Semiconductor, Inc.

功耗模式 只有在选择内部 IRC(4 MHz 或 8/2 MHz) 时才可以从 BLPI 模式下进入 VLPR 如果外部时钟低于 16 MHz, 那么可从 BLPE 模式进入 VLPR 在 VLPR 模式下, 室温下期望的典型 IDD 为 0.16 至 0.5 ma( 查看 MCU 器件数据手册以获取更多信息 ) 由于 MCG 设置的不同, 内部 IRC 的最大频率也因 MCU 而异 一些 Kinetis L 系列器件还支持启动进入 VLPR 模式 用户应查看参考手册以获取更多信息 2.1.3 待机模式 (WAIT) NVIC 仍然对中断敏感 继续为外设提供时钟 若不使用, 通过清零 SCGCx 寄存器中的外设时钟门控位以降低功耗 中断时,ARM Cortex-M0+ 内核退出睡眠模式, 恢复运行模式处理 在室温下, 期望的 IDD 约为 RUN IDD - 2( 查看 MCU 器件数据手册以获取更多信息 ) 2.1.4 超低功耗等待模式 (VLPW) 仅可从 VLPR 进入 VLPW 片内电压调节器处于仅提供 MCU 低频运行所需电压的模式 NVIC 仍然对中断敏感 继续为外设提供时钟 若不使用, 通过清零 SCGCx 寄存器中的外设时钟门控位以降低功耗 可选择性地保持外部参考时钟使能 ( 最大值为 16 MHz) 中断时,ARM Cortex-M0+ 内核退出睡眠模式, 恢复 VLRP 模式处理 在室温下, 期望的 IDD 约为 VLRP IDD - 0.08 至 0.1 ma( 查看 MCU 器件数据手册以获取更多信息 ) 2.1.5 常规停止模式 (STOP) 异步唤醒中断控制器 (AWIC) 用于从中断唤醒 所有 SRAM 内容保留且保持 I/O 状态 可从任意正常运行模式进入停止模式 MCG 模块可配置用于使参考时钟保持运行状态 可选择性地保持 PLL 使能, 但是输出会被关闭 C5[PLLSTEN] 可选择性地保持内部参考时钟使能 C1[IREFSTEN] 可选择性地保持外部参考时钟使能 OSC_CR[EREFSTEN] 将在进入停止模式时的相同 MCG 模式下退出停止模式, 除了在处于 PEE 模式时进入停止模式 ; 并且在退出停止模式时, MCG 将处于 PBE 模式 在室温下, 期望的 IDD 约为 200 ua( 查看 MCU 器件数据手册以获取更多信息 ) 2.1.6 局部停止模式 1(PSTOP1) 异步唤醒中断控制器 (AWIC) 用于从中断唤醒 保留所有 SRAM 内容且保持 I/O 状态 可从任意运行模式进入 PSTOP1 模式 MCG 和 PMC 模块的状态不变 进入 PSTOP1 后, 将在相同的 MCG 模式下退出 PSTOP1 模式 Freescale Semiconductor, Inc. 3

功耗模式 室温下, 期望的 IDD 约为 2 ma, 具体取决于内核速度和启用的外设 2.1.7 局部停止模式 2(PSTOP2) AWIC/NVIC 用于从中断唤醒 系统时钟停止, 继续为外设提供时钟 保留所有 SRAM 内容且保持 I/O 状态 可从任意运行模式进入 PSTOP2 模式 MCG 和 PMC 模块的状态不变 进入 PSTOP2 后, 将在相同的 MCG 模式下退出 PSTOP2 模式 室温下, 期望的 IDD 约为 2 ma, 具体取决于内核速度和启用的外设 2.1.8 计算运行模式 (CPO) AWIC/NVIC 用于从中断唤醒 使能对于 MCU 内核和 SRAM/Flash 的访问, 停止其他外设时钟 可从任意运行模式进入 CPO 模式 MCG 和 PMC 模块的状态不变 在室温下, 期望的 IDD 几乎与运行模式相同 2.1.9 超低功耗停止模式 (VLPS) NVIC 禁用 AWIC 用于从中断唤醒 所有 SRAM 保留内容且保持 I/O 状态 可从任意 MCG 模式进入 VLPS 模式 MCG 模块可配置用于使参考时钟保持运行状态 可选择性地保持内部参考时钟使能 C1[IREFSTEN] 可选择性地保持外部参考时钟使能 OSC_CR[EREFSTEN] 将在进入 VLPS 模式时的相同 MCG 模式下退出 VLPS 模式, 除了在处于 PEE 模式时进入 VLPS 模式 ; 并且在退出 VLPS 模式时, MCG 将处于 PBE 模式 在室温下, 期望的 IDD 约为 2 ua( 查看 MCU 器件数据手册以获取更多信息 ) 2.1.10 低漏电停止模式 (LLS) NVIC 禁用 AWIC 禁用 配置 LLWU 以使能所需的唤醒源 所有 SRAM 内容保留且保持 I/O 状态 大多数外设都处于状态保持模式 可从任意 MCG 模式进入 LLS 模式 在低范围和低功耗振荡器模式 (32 khz) 下, 可选择性保持外部参考时钟使能 MCG 为静态, 无时钟激活 (IREFSTEN 和 PLLSTEN 无影响 ) 将在进入 LLS 模式时的相同 MCG 模式下退出 LLS 模式, 除了在处于 PEE 模式时进入 LLS 模式 ; 并且在退出 LLS 模式时, MCG 将处于 PBE 模式 4 Freescale Semiconductor, Inc.

功耗模式 发生唤醒事件时,SRS 寄存器中的 WAKEUP 位将置位 执行 LLWU 中断代码后, 会继续执行 LLS 模式进入指令的下一条指令 在室温下, 期望的 IDD 约为 2 ua( 查看 MCU 器件数据手册以获取更多信息 ) 并非所有的 Kinetis MCU L 器件均可实现该功耗模式 详情参见参考手册 2.1.11 极低漏电停止 3 模式 (VLLS3) NVIC 禁用 AWIC 禁用 配置 LLWU 以使能所需的唤醒源 大多数模块禁用 保留所有 SRAM 内容且保持 I/O 状态 可从任意 MCG 模式进入 VLLS3 模式 在低范围和低功耗振荡器模式 (32 khz) 下, 可选择性保持外部参考时钟使能 MCG 关闭, 无时钟激活 (IREFSTEN 和 PLLSTEN 不起作用 ) 发生唤醒事件时, 将通过复位流程退出 VLLS3 MCG 处于 FEI 模式 发生唤醒事件时,SRS 寄存器中的 WAKEUP 位将置位, 并且 MCU 执行来自复位向量的代码 然后, 当 LLWU 中断向量使能时, 执行 LLWU NVIC 中断 在室温下, 期望的 IDD 约为 1 ua( 查看 MCU 器件数据手册以获取更多信息 ) 该功耗模式在所有最新的 Kinetis MCU L 器件上均可实现 详情参见参考手册 2.1.12 极低漏电停止 1 模式 (VLLS1) NVIC 禁用 AWIC 禁用 配置 LLWU 以使能所需的唤醒源 大多数模块禁用 不保留 SRAM 内容, 保持寄存器文件和 I/O 状态 可从任意 MCG 模式进入 VLLS1 模式 在低范围和低功耗振荡器模式 (32 khz) 下, 可选择性保持外部参考时钟使能 MCG 关闭, 无时钟激活 (IREFSTEN 和 PLLSTEN 不起作用 ) 发生唤醒事件时, 将通过复位流程退出 VLLS1 MCG 处于 FEI 模式 发生唤醒事件时,SRS 寄存器中的 WAKEUP 位将置位, 并且 MCU 执行来自复位向量的代码 然后, 当 LLWU 中断向量使能时, 执行 LLWU NVIC 中断 在室温下, 期望的 IDD 约为 0.5 ua( 查看 MCU 器件数据手册以获取更多信息 ) 该功耗模式在所有最新的 Kinetis MCU L 器件上均可实现 详情参见参考手册 2.1.13 极低漏电停止 0 模式 (VLLS0) NVIC 禁用 AWIC 禁用 配置 LLWU 以使能所需的唤醒源 可选择性地使能上电保护 (POR) 不保留 SRAM 内容, 保持寄存器文件和 I/O 状态 可从任意 MCG 模式进入 VLLS0 模式 可选择性地关闭低功耗振荡器 (1 KHz) 时钟 Freescale Semiconductor, Inc. 5

功耗模式 在低范围和低功耗振荡器模式 (32 khz) 下, 可选择性保持外部参考时钟使能 MCG 关闭, 无时钟激活 (IREFSTEN 和 PLLSTEN 不起作用 ) 发生唤醒事件时, 将通过复位流程退出 VLLS0 MCG 处于 FEI 模式 发生唤醒事件时,SRS 寄存器中的 WAKEUP 位将置位, 并且 MCU 执行来自复位向量的代码 当 LLWU 中断向量使能时, 执行 LLWU NVIC 中断 在室温下, 期望的 IDD 约为 0.3 ua( 查看 MCU 器件数据手册以获取更多信息 ) 该功耗模式在所有的 Kinetis MCU L 器件上均可实现 详情参见参考手册 2.2 功耗模式转换 本章节描述了用于 Kinetis L 系列的功耗模式转换 要进入 VLPx/LLS/VLLSx 模式, 用户必须通过在 SMC_PMPROT 中设置相关位来使能模式进入 该寄存器为一次写入, 并且由任意非 VLLSx 模式恢复的复位来复位 在尝试进入这些低功耗模式之前, 用户必须先在寄存器中使能所有功耗模式进入 一些最新的 Kinetis MCU 允许 VLPR 启动模式, 这需要将 Flash 配置字段 0x40D 中的 bit 4 设置为 0(0bxxx0xxxx) 在框图中以虚线表示 请注意, 任意复位指的是该 MCU 的所有复位类型, 因此当运行 VLLSx 模式恢复时, 可能进入 VLPR 模式 ( 如果使能 ) 图 1. 功耗模式转换 6 Freescale Semiconductor, Inc.

MCG 和 MCG_Lite 3 MCG 和 MCG_Lite 在 Kinetis L 系列中使用两种类型的 MCG 一个是基于 FLL/PLL 的 MCG, 另一个是基于 IRC 的 MCG, 称为 MCG_Lite 表中给出了 MCG 和 MCG_Lite 的差别 表 2. MCG 和 MCG_Lite 特性 MCG MCG_Lite 高频源 FLL 或 PLL 可配置 HIRC 固定为 48 MHz 低频源 4 MHz 和 32 khz IRC 8/2 MHz IRC 自动调节是 (4 MHz 和 32 khz IRC) 否 ( 出厂已调 ) 外部时钟监视器是否 VLPR 时钟源 4 MHz IRC/Ext OSC 8/2 MHz IRC/Ext OSC STOP/LLS 恢复 MCG 模式无变化, 除了 PEE( 返回 PBE 模式 ) 无变化, 返回相同的 MCG 模式 复位后默认 MCG 模式 FEI 模式 8 MHz IRC 用户应参见参考手册, 了解具体 MCU 器件中的 MCG 用法 在所有器件中,MCG 的设置可能会不同 4 快速入门指南 本快速入门指南基于 SDK 1.1 GA 功耗管理演示程序 (power_manager_demo) 在进入某个功耗模式前, 用户需要初始化和注册所有的功耗参数结构和唤醒源 在本演示程序中, 采用 RTC 作为唤醒源 以下是示例代码 初始化参数和唤醒源 // Power mode protection initialization // Must make sure all request power mode entry are allowed #ifdef SYSTEM_SMC_PMPROT_VALUE SMC->PMPROT = SYSTEM_SMC_PMPROT_VALUE; //define a power manager user config list for all power mode will use power_manager_user_config_t vlpwconfig; #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE0 & BOARD_SW_HAS_LLWU_PIN power_manager_user_config_t vlls0config; power_manager_user_config_t vlls1config; #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE2 power_manager_user_config_t vlls2config; power_manager_user_config_t vlls3config; #if FSL_FEATURE_SMC_HAS_LOW_LEAKAGE_STOP_MODE power_manager_user_config_t llsconfig; power_manager_user_config_t vlpsconfig; power_manager_user_config_t waitconfig; power_manager_user_config_t stopconfig; power_manager_user_config_t runconfig; #if FSL_FEATURE_SMC_HAS_HIGH_SPEED_RUN_MODE power_manager_user_config_t hsrunconfig; // Example of constant configuration // It may save the space in RAM const power_manager_user_config_t vlprconfig = { Freescale Semiconductor, Inc. 7

快速入门指南.mode = kpowermanagervlpr, #if FSL_FEATURE_SMC_HAS_LPWUI.lowPowerWakeUpOnInterruptOption = true,.lowpowerwakeuponinterruptvalue = ksmclpwuienabled,.sleeponexitvalue = false,.sleeponexitoption = false }; // Initializes array of pointers to power manager configurations power_manager_user_config_t const *powerconfigs[] = { &vlls0config, &llsconfig, &stopconfig, &runconfig, &vlprconfig }; // User callback data user_callback_data_t callbackdata0; // Initializes callback configuration structure for power manager const power_manager_callback_user_config_t callbackcfg0 = { callback0, kpowermanagercallbackbeforeafter, (power_manager_callback_data_t*) &callbackdata0 }; // Initializes array of pointers to power manager callbacks power_manager_callback_user_config_t const * callbacks[] = { &callbackcfg0 }; // Initializes hardware hardware_init(); // Initializes OS abstraction layer which uses LPTMR HAL layer OSA_Init(); // Make the current Clock Manager mode configuration 1 (default configuration) /* Set clock configurations to clock manager. */ CLOCK_SYS_Init(g_defaultClockConfigurations, CLOCK_CONFIG_NUM, &clockcallbacktable, ARRAY_SIZE(clockCallbackTable)); CLOCK_SYS_UpdateConfiguration(cmConfigMode, kclockmanagerpolicyforcible); // Using RTC as interrupt source for this demo #ifndef FRDM_K22F120M // Configure RTC pins configure_rtc_pins(board_rtc_func_instance); // select the 1Hz for RTC_CLKOUT CLOCK_SYS_SetRtcOutSrc(kClockRtcoutSrc1Hz); RTC_DRV_Init(0); // Set a start date time and start RTC date.year = 2014U; date.month = 4U; date.day = 30U; date.hour = 14U; date.minute = 0U; date.second = 0U; RTC_DRV_SetDatetime(0, &date); // Initializes debug UART console dbg_uart_init(); // Initializes GPIO driver for LEDs and buttons GPIO_DRV_Init(switchPins, ledpins); memset(&callbackdata0, 0, sizeof(user_callback_data_t)); // initializes configuration structures 8 Freescale Semiconductor, Inc.

VPLR 模式的进入和退出示例 vlpwconfig = vlprconfig; vlpwconfig.mode = kpowermanagervlpw; // VLLS0 mode is supported only by some SOCs. vlls0config = vlprconfig; vlls0config.mode = kpowermanagervlls0; // classic LLS mode retains all ram content too llsconfig = vlprconfig; llsconfig.mode = kpowermanagerlls; stopconfig = vlprconfig; stopconfig.mode = kpowermanagerstop; runconfig.mode = kpowermanagerrun; // initialize power manager driver POWER_SYS_Init(&powerConfigs, sizeof(powerconfigs)/sizeof(power_manager_user_config_t *), &callbacks, sizeof(callbacks)/sizeof(power_manager_callback_user_config_t *)); // Enables LLWU interrupt INT_SYS_EnableIRQ(LLW_IRQn); 4.1 VPLR 模式的进入和退出示例 4.1.1 针对 VLPR/VLPW 的 MCG/MCG_Lite 模式变换 要进入 VLPR/VLPW 模式, 用户需要将 MCG 模式切换到 BLPI/BLPE 模式, 或切换 MCG_Lite 到 8/2 MHz IRC 或 EXT 模式 SDK 时钟驱动程序 CLOCK_SYS_UpdateConfiguration 提供了这种功能 用户示例代码和 API 如下所示 : MCG 模式变换示例 //If apps default CM config mode is not VLPR, but needs to enter VLPR, and real CM config //is not VLPR, then we need to update it to VLPR mode here. Otherwise pass through if ((cmconfigmode!= CLOCK_CONFIG_INDEX_FOR_VLPR) && (CLOCK_SYS_GetCurrentConfiguration()!= CLOCK_CONFIG_INDEX_FOR_VLPR)) { CLOCK_SYS_UpdateConfiguration(CLOCK_CONFIG_INDEX_FOR_VLPR, kclockmanagerpolicyforcible); } 关于如何使用这些 API 的更多详情, 请参见 API 用户指南 4.1.2 VLPR 模式进入 SDK 驱动程序 POWER_SYS_SetMode 为用户提供了进入特定功耗模式的方法 示例代码与下列类似 : VLPR 模式进入示例 mode = kdemovlpr; //If apps default CM config mode is not VLPR, but needs to enter VLPR, and real CM config is not VLPR, then we need to update it to VLPR mode here. Otherwise pass through. if ((cmconfigmode!= CLOCK_CONFIG_INDEX_FOR_VLPR) && (CLOCK_SYS_GetCurrentConfiguration()!= CLOCK_CONFIG_INDEX_FOR_VLPR)) { CLOCK_SYS_UpdateConfiguration(CLOCK_CONFIG_INDEX_FOR_VLPR, kclockmanagerpolicyforcible); Freescale Semiconductor, Inc. 9

较低功耗模式的使用提示 } ret = POWER_SYS_SetMode(mode, kpowermanagerpolicyagreement); 关于如何使用这些 API 的更多详情, 请参见 API 用户指南 4.1.3 VLPR 模式退出 Kinetis L 系列器件不支持中断返回正常运行模式, 因此用户需要使用功耗管理功能返回正常运行模式 VLPR 模式退出示例 mode = kdemorun; ret = POWER_SYS_SetMode(mode, kpowermanagerpolicyagreement); // update Clock Mode if user want to go back to normal speed mode updateclockmanagertorunmode(cmconfigmode); 4.2 LLS 模式的进入和退出示例 将模式值设为 kdemolls 调用 POWER_SYS_SetMode 以进入 LLS 模式, 此时 RTC 用作 LLWU 唤醒源 ( 已配置 ) LLS 模式的进入和退出示例 mode = kdemolls; ret = POWER_SYS_SetMode(mode, kpowermanagerpolicyagreement); // update Clock Mode if user want to go back to normal speed mode updateclockmanagertorunmode(cmconfigmode); 4.3 VLLS0 模式的进入和退出示例 将模式值设为 kdemovlls0 调用 POWER_SYS_SetMode 以进入 VLLS0 模式, 此时 RTC 用作 LLWU 唤醒源 ( 已配置 ) VLLS0 模式的进入和退出示例 mode = kdemovlls0; ret = POWER_SYS_SetMode(mode, kpowermanagerpolicyagreement); 5 较低功耗模式的使用提示 用户应检查 Kinetis L 系列器件中的以下注意事项 其中某些事项可应用于其他 Kinetis 系列 MCU 1. 使用 NMI 引脚作为 VLLSx 模式的开关或唤醒源 当使用该引脚时,VLLSx 恢复将经历一个复位流程 在 MCU 复位后, 如果 NMI 引脚仍为有效,MCU 将进入 NMI 中断并且有可能访问其他外设寄存器 同时, 禁用其他所有外设 这会导致硬件故障中断, 并且可能引起 WDOG 复位 在这种情况下, 用户将需要通过一个合适的 NMI 中断例程来处理该问题 例如, 当从 VLLSx 模式恢复时,NMI 中断例程会先禁用 WDOG, 并且在访问寄存器前先确保外设时钟使能 2. 如果 NMI 引脚用于其他功能, 例如用 PTA4 唤醒 MCU, 则应通过清零 Flash 配置字段 0x40D 中的 bit 2 来禁用 NMI 功能 在对 Kinetis L MCU 进行首次编程时, 应确保该引脚不会被拉低到 0 否则, 用户对 Flash 进行编程时会失败 3. Kinetis L MCU 采用 CMOS 电路 用户必须确保任何使用的 GPIO 输入静态电压为 0 或 VDD 否则, 将导致漏电流 ( 特别是当输入为 VDD/2 时 ) 4. 保持所有未使用 / 未连线的引脚为已知值, 如果这些引脚默认不禁用, 则使其输出低电平或高电平, 以获取最佳的低功耗模式性能 如果任意引脚悬空或其输入电压不为 0 或 VDD, 则将导致较大的漏电流 10 Freescale Semiconductor, Inc.

参考资料 5. 将所有不用的外设或时钟源禁用 6 参考资料 下列参考文献包含与 Kinetis 系列功耗管理相关的其他信息 您可以在 Kinetis(www.freescale.com/Kinetis ) 网页上选择一个器件或特定的系列来查看具体的参考手册 数据手册或勘误表, 以了解更多信息 如需查找最新的 SDK 安装程序, 请访问 www.freescale.com/kdsdk 如需查找以下应用笔记, 请搜索文档编号 MCU 参考手册 : 参考手册的 芯片配置 章节包含特定 MCU 的设置详情, 并对每个 MCU 的复位和功耗管理特性进行了详细说明 MCU 数据手册 : 数据手册包含所有 MCU 规格, 包括时钟频率 低功耗模式的功耗预期值和更多内容 MCU 勘误表 : 器件勘误表标识因 MCU 问题而未能实现的功能和 / 或规格 大多数问题都有解决办法 Freescale MQX 低功耗管理 (AN4447):Freescale 提供 MQX, 一款全功能的免费实时操作系统 (RTOS) 从版本 3.8 开始,MQX 集成了低功耗管理 (LPM) 驱动程序, 可以在 MQX 应用程序中利用低功耗工作模式 在 Kinetis 系列上使用低功耗模式 (AN4470): 包含可在带模式控制器 2 的 Kinetis 和 ColdFire+ 器件上使用的低功耗模式进入演示代码 用于 Kinetis MCU 的功耗管理 (AN4503): 包含 Kinetis MCU 功耗模式架构介绍 功耗模式测量和功耗管理技术 7 修订历史记录 表 3. 修订历史记录 修订版本号日期重要改动 0 02/2015 初始版本 Freescale Semiconductor, Inc. 11

How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support 本文档中的信息仅供系统和软件实施方使用 Freescale 产品 本文并未明示或者暗示授予利用本文档信息进行设计或者加工集成电路的版权许可 Freescale 保留对此处任何产品进行更改的权利, 恕不另行通知 Freescale 对其产品在任何特定用途方面的适用性不做任何担保 表示或保证, 也不承担因为应用程序或者使用产品或电路所产生的任何责任, 明确拒绝承担包括但不局限于后果性的或附带性的损害在内的所有责任 Freescale 的数据表和 / 或规格中所提供的 典型 参数在不同应用中可能并且确实不同, 实际性能会随时间而有所变化 所有运行参数, 包括 经典值 在内, 必须经由客户的技术专家对每个客户的应用程序进行验证 Freescale 未转让与其专利权及其他权利相关的许可 Freescale 销售产品时遵循以下网址中包含的标准销售条款和条件 :freescale.com/ SalesTermsandConditions. Freescale, the Freescale logo, and Kinetis are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product or service names are the property of their respective owners. ARM, ARM Powered logo, and Cortex are registered trademarks of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. All rights reserved. 2015 Freescale Semiconductor, Inc. 2015 飞思卡尔半导体有限公司 Document Number AN5088 Revision 0, 3/2015