12
中断控制单元
中断控制器单元 (ICU) 控制将哪些事件信号链接到NVIC、DTC和DMAC模块。此外,ICU还控制不可屏蔽中断。图28给出了ICU规范的示例,图29给出了从I/O引脚引发IRQi事件的功能示例。有关每个RA6 MCU系列的详细信息,请参见《硬件用户手册》。
图28. RA6M3 ICU规范示例
图29. RA6M3 ICU I/O引脚示例
下图是使用Renesas FSP配置器使能和配置Renesas FSP中断的示例。通过FSP将ICU和中断配置为HAL驱动程序配置的一部分。
图30. 使能GTP0溢出中断并设置将由中断服务程序调用的用户回调函数
13
低功耗
RA6器件具有多种用于降低功耗的功能。这包括设置时钟分频器、EBCLK输出控制、停止模块、在正常模式下选择电源控制模式以及转换为低功耗模式。有关更多详细信息,请参见《硬件用户手册》中的“低功耗模式”一章。
RA6 MCU支持四种不同类型的LPM,具体取决于MCU系列。这些类型包括:
• 休眠模式
• 软件待机模式
• 贪睡模式
• 深度软件待机模式
下表概述了可用于降低功耗的功能。
表15. 低功耗模式功能规范
注:
1. 有关详细信息,请参见《硬件用户手册》中的“时钟生成电路”一章。
2. 适用于支持TrustZone安全功能的器件。
下表列出了转换到低功耗模式的条件、CPU和外设模块的状态,以及退出每种模式的方法。
表16. 低功耗模式
点击查看大图
注:
1. 有关更多详细信息,请参见《硬件用户手册》中的“每种低功耗模式的工作条件”表。
RA6器件包括一些寄存器设置,允许MCU在正常模式和休眠模式下以较低功耗工作。这些模式称为工作电源控制模式,由OPCCR寄存器控制。
下表总结了各种工作功耗控制模式,以及每种模式下允许使用的最大时钟和电压值。
表17. 每种工作功耗控制模式下可用的振荡器
注:
虽然可以将OPCCR寄存器中的值设置为任何低功耗工作模式,但也必须设置相应的时钟和电压值来满足所需模式的要求。否则,OPCCR寄存器中的设置不会对降低功耗产生任何影响。
为了获得最低的功耗值,应在时钟生成电路中使用可能的最大分频器。
可通过各种中断源退出低功耗模式,例如RES引脚复位、上电复位、电压监视器复位和外设中断。有关不同LPM的中断源列表,请参见《硬件用户手册》中的“低功耗模式”部分。
从软件待机模式进入贪睡模式的贪睡请求仅触发贪睡模式。通过在待机控制寄存器 (SBYCR) 中执行具有适当设置的WFI指令,可以完成向其他LPM的转换。
Renesas FSP提供了低功耗模式 (LPM) 驱动程序和驱动程序配置器,可用于设置低功耗模式、唤醒源/退出源等。
图31. 使用Renesas FSP配置器设置低功耗模式
在通过FSP配置器设置了特定的LPM模式后,可以使用LPM驱动程序的API初始化LPM驱动程序并使MCU进入已配置的LPM模式:
左右滑动查看更多
/* Open LPM driver and initialize LPM mode */
err = R_LPM_Open(&g_lpm_ctrl_instance_ctrls[g_lpm_transition_pos],
&g_lpm_ctrl_instance_cfgs[g_lpm_transition_pos]);
/* Handle error */
if (FSP_SUCCESS != err)
{
return (err);
}
/* Transition to configured LPM mode */
err = lpm_mode_enter(g_lpm_transition_sequence[g_lpm_transition_pos]);
/* Handle error */
if (FSP_SUCCESS != err)
{
return (err);
}
全部0条评论
快来发表一下你的评论吧 !