6
复位要求和复位电路
RA6系列包括在欠压期允许MCU防止不安全操作的电路。板上比较器根据三个参考电压Vdet0、Vdet1和Vdet2检查电源电压。当电源下降到每个参考电压以下时,会产生中断或复位。检测电压Vdet0、Vdet1和Vdet2均可从3个不同大小的值中选择。
当Vcc随后上升到超过Vdet0、Vdet1或Vdet2时,经过稳定时间后,电压监视复位释放将继续。
上电复位后,将禁用低电压检测。可以通过使用选项功能寄存器OFS1来使能电压监视。有关更多详细信息,请参见《硬件用户手册》中的“低电压检测 (LVD)”一章。
LVD复位后,RSTSR0中的LVDnRF(n= 0、1、2)位置1。
这是在通过中断信号退出深度软件待机模式时产生的内部复位。
当退出深度软件待机模式时,将产生深度软件待机复位,并且时钟振荡开始。接收到中断后,经过深度待机退出等待时间(tDSBYWT34-35个时钟周期)后,将退出复位并开始正常处理。有关深度软件待机模式的详细信息,请参见《硬件用户手册》中的“低功耗模式”一章。
深度软件待机复位后,RSTSR0中的DPSRSTF位置1。
这是通过将0xA501写入SWRR寄存器产生的内部复位。使用软件复位时,内部复位时间最长为960µs。使用软件复位时,在发出软件复位命令之前,请确保先喂狗。
产生软件复位后,RSTSR1中的SWRF引脚置1。短暂的延迟(通常为320µs)后,将退出软件复位。
MCU内的大多数外设功能都可以在特定的故障条件下产生复位。无需硬件配置即可使能这些复位。有关将为每个外设功能产生复位的条件的详细信息,请参见《硬件用户手册》中的相关章节。
借助RA6 MCU,用户可以确定发生复位过程的原因。RSTSR2中的CWSF标志指示是上电复位导致了复位过程(冷启动),还是操作期间输入的复位信号导致了复位过程(热启动)。
发生上电复位时,该标志置0。否则,该标志不会置0。通过软件向该标志写入1时会将其置1。即使在写入0时也不会将其置0。
借助RA6 MCU,用户可以确定复位信号产生源。读取RSTSR0、RSTSR1和RSTSR0,以确定哪个复位是复位源。有关流程图,请参见《硬件用户手册》中的“复位产生源的确定”部分。
以下代码示例展示了如何使用Renesas FSP中基于CMSIS的寄存器结构确定复位是由软件复位、深度软件待机还是上电复位导致的。
/* Deep Software Standby Reset */
if(1 == R_SYSTEM->RSTSR0_b.DPSRSTF)
{
/* Do something */
}
/* Power on Reset */
if(1 == R_SYSTEM->RSTSR0_b.PORF)
{
/* Do something */
}
/* Software Reset */
if(1 == R_SYSTEM->RSTSR1_b.SWRF)
{
/* Do something */
}
下一章:使用TrustZone®
推荐阅读
RA6快速设计指南 [4] 时钟电路 (2)
RA6快速设计指南 [5] 时钟电路 (3)
RA6快速设计指南 [6] 复位要求和复位电路 (上)