【原创】飞思卡尔kinetis L 系列 低漏电唤醒单元(LLWU)
0赞 低漏唤醒单元(以下简称LLWU)允许用户选择最多16 个外部引脚和最多8 个内部模块作为低漏电功率模式下的唤醒源。可用的每个唤醒源都可以独立使能。LLWU 模块也包含两个可选的用于外部唤醒引脚的数字引脚滤波器。
特性
LLWU 模块特性如下:
支持最多16 个带独立使能位的外部输入引脚和8 个内部模块;
输入源可选择外部引脚或可在LLS 或VLLS 模式下运行的内部外设,唤醒输入源相关信息请参看芯片配置信息;
外部引脚唤醒输入,每个引脚均可配置为下降沿、上升沿或者任何电平改变;
唤醒输入激活后,如果启用则MCU 进入到低漏电功率模式;
可选的数字滤波器用于限定外部引脚的检测。进入到VLLS0 模式后,该滤波器将会被禁用或者旁路。
操作模式
LLWU 模块在进入到低漏电功率模式之后开始工作。从LLS 模式恢复之后,LLWU 立即禁用。从VLLS 模式恢复之后, LLWU 继续检测唤醒事件直到用户通过写PMC_REGSC[ACKISO]位确认唤醒。
1. LLS 模式
LLWU 模块提供最多16 个外部唤醒输入和8 个内部模块唤醒输入。退出LLS 模式的时候,由外部唤醒输入和内部模块唤醒输入产生的唤醒事件将会产生一个中断。注意:LLWU 中断不能被中断控制器屏蔽,以避免系统从LLS 恢复之后无法完全进入到Stop 模式。
2. VLLS 模式
LLWU 模块提供最多16 个外部唤醒输入和8 个内部模块唤醒输入。所有唤醒事件会导致复位退出VLLS 模式。
3. 非低漏模式
LLWU 模块在非地漏模式下未被激活,其检测和控制逻辑均处于静止状态。LLWU 寄存器在非地漏模式下可以访问,并且在总线事务可用的时候能够配置和读取状态信息。使能了唤醒引脚滤波器之后,滤波操作立刻开始。如果在5 个LPO 时钟周期的有效边沿内进入低漏电模式,边沿事件将会被LLWU 检测到。
4. Debug 模式
当芯片处于Debug 模式并在随后进入到LLS 或VLLSx 模式时,调试逻辑将不工作。从LLS 或VLLSx 模式退出时LLWU 功能失效。
结构框图:
外部唤醒输入引脚可以使能用于检测上升沿、下降沿或任何电平改变。该引脚为输入引脚,最多支持十五个外部唤醒引脚。
寄存器映射:
LLWU 包含如下寄存器:
5 个8-bit 唤醒源使能寄存器
使能外部引脚输入源
使能内部外设源
3 个8-bit 唤醒标志寄存器
指示引起从低漏电功率模式下退出的唤醒源,包含外部引脚或内部模块中断
2 个8-bit 唤醒引脚滤波使能寄存器
注意:LLWU 寄存器只能够在管理模式下(supervisor mode)才可写。用户模式下试图进行写访问将会导致总线错误。所有的LLWU 寄存器都会通过在非VLLS 模式芯片复位或引起非VLLS 模式下的芯片复位的复位类型复位。每个寄存器的显示复位值代表了复位类型的子集。LLWU 寄存器不受不能引起非VLLS 模式芯片复位的复位类型影响。关于该芯片复位类型的更多信息请参看参考手册第二章。
寄存器表:
功能描述
该外设模块被称作低漏电唤醒单元(LLWU)是因为它允许外部输入引脚和内部外设作为将MCU 从低漏电模式唤醒的源。该模块只能够在LLS 和VLLSx 模式下操作。LLWU 模块包含每个外部引脚和内部模块的引脚使能。对于每个外部引脚,用户可以禁用或选择唤醒的边沿类型。这些类型主要有上升沿、下降沿或者上升/下降沿。当选择外部引脚作为唤醒源后,该引脚必须配置为输入引脚。LLWU 模块能够实现可选的3 周期(基于LPO 时钟)毛刺滤波器。检测到的外部引脚需要保持有效直到所使能的毛刺滤波器超时。当滤波功能使能之后,因同步会产生最多2周期的额外延迟,这将导致检测电路延迟最多5 个周期去提醒系统唤醒或复位事件。两个唤醒检测滤波器可以用来检测最多两个外部引脚。内部模块无法使用毛刺滤波器。
对于内部模块唤醒操作,WUMEx 位将会使能相关模块作为唤醒源。
LLS模式
由外部引脚输入或内部模块输入触发的唤醒事件将引起CPU 中断开始执行用户代码。
VLLS模式
在由外部引脚或内部模块唤醒的情况下恢复工作总是通过复位来实现,RCM_SRS[WAKEUP]位置位表示低漏电模式激活。状态保留数据丢失,I/O 数据将会在PMC_REGSC[ACKISO]被写之后恢复。
初始化
对于一个使能的外设唤醒输入,外设标志必须在进入到LLS 或VLLSx 模式之前通过软件清除,以避免在该模式下的突然退出。和外部输入引脚(无论是否开启滤波)相关的标志必须在进入到LLS 或VLLSx 模式之前清除。在使能外部引脚滤波或改变源引脚之后,至少要等待5 个LPO 时钟周期才能够进入到LLS 或者VLLSx 模式,这是为了让滤波初始化。
注意:从VLLS 模式下恢复之后,用户必须在清除ACKISO 位之前恢复芯片配置。特别是对于已经使能的LLWU 唤醒引脚的引脚配置必须恢复,以避免任何LLWU 标志在ACKISO 位被清除的时候错误置位。作为唤醒源引脚的信号必须是数字引脚,就像引脚复用控制中选择的那样。