外部复位(External Reset)
它是影响时钟模块和所有内部电路,属于同步复位,但外部Reset引脚为逻辑低电平。在引脚变为低电平后,CPU的复位控制逻辑单元确认复位状态直到Reset释放。复位控制逻辑保持复位低电平状态,在额外512个时钟周期内。因为当复位引脚为低电平时与MCU执行复位命令是相互冲突的,因此复位引脚必须保证520时间周期内低电平才能保证外部复位被外部总线辨识出来。
上电复位(Power-on reset)
它是由外部总线产生的一种异步复位。单片机在电源电压VDD小于大约2.5V的时候复位,只要VDD电压不超过这个阈值,单片机就仍然保持复位状态。
电压跌落的时间大概在纳米级(如果一旦出现了,马上会复位)。因此监测上电复位不能单片机内部,因为小于这个电压单片机逻辑功能。
低电压复位(Low-Voltage Reset)
它是部分单片级内部监控器形成的异步复位,单片机电压小于一定触发值时,单片机开始复位。 低电压的复位电平是和供电电压相关的,会有一个波动:
软件复位(Software Reset)
它是由软件看门狗定时器超时引起的一个异步复位。如果要开启软件复位,必须要注意设置软件内部寄存器,使之有效。这个功能主要是用来防止程序跑飞。
双总线故障复位(Double Bus Fault Reset)
它是由双总线错误监视器产生的异步复位,它是总线错误的特殊状态会导致中止异常处理。
时钟丢失复位(Loss of Clock Reset)
它在参考时钟子模块消失的时候产生的同步复位。如果要使该复位有效,需要设置寄存器SYNCR。
关于更详细的外部Reset的资料可以这样描述(51单片机):
为了确保良好的外部复位和上电复位,复位脉冲宽度必须足够宽,我们要考虑以下两个参数来确定复位脉冲宽度:
tosc:振荡器才可达到Vih1或Vil1电压的时间。
tvddrise:电压VDD由10上升至90%的时间。
当这两个参数的条件得到满足时,还必须维持至少一定的机器周期来保证单片机内部的启动。
如果是不正常的复位的话:
如果要具体的计算,关于LDO的Reset可参考前面关于拉普拉斯变换的计算过程。
偷懒的话可以查表: