实施方案
[0008] 如附图2所示,本发明的闭环控制复位电路包括RC复位模块U1、单片机U4、非门电路U2、非门电路U3、二极管D1、二极管D2、电阻R1、电阻R2、电阻R3、电阻R4、电阻R5、电容C1、电容C2。
[0009] RC复位模块U1的电源管脚VCC输入要求是3.3V,电源管脚通过电阻R1、电容C1接地,复位按钮并联在电容C1的两端。当复位按钮按下之后,电容C1两端的存储的电能会快速释放,随即复位按钮松开后,电源VCC通过电阻R1给电容C1充电,RC复位模块U1的复位输出端nRESET在经过大约200ms的低电平后又变成高电平,从而完成RC复位模块U1的复位输出端nRESET从低电平到高电平的过程。而在正常状态下,电容C1可以保证RC复位模块U1的复位输出端nRESET维持在高电平。
[0010] 单片机(MCU)U4的RESET是MCU的复位管脚,该管脚低电平有效,也就是该管脚电平为低电平时表示复位。单片机(MCU)U4的GPIO2是默认输入管脚(input pin),该管脚通过下拉电阻R4接地,从而该管脚可以通过下拉电阻R4拉低其电平,使得GPIO2在默认状态下是低电平,U4写入的程序正常运行起来的时候,将GPIO2拉高,以便外围电路判断程序已经正常启动,结束复位的过程。
[0011] U2是非门电路,U2与电阻R3和电容C2构成一个振荡器,并完成电平的反转,U3也是非门电路,完成电平的反转。在两个非门电路的配合下,实现复位电路的闭环控制。二极管D1和D2是肖特基二极管,可实现快速响应以及单向导通,并利用其压降小的特点降低损耗。电阻R5、电阻R2为限流电阻,起到限流的作用,而电阻R3与电容C2配合使用完成放电时间常数的设计。
[0012] 该闭环控制复位电路的工作过程为:当复位按钮按下之后,RC复位模块U1立即输出低电平,并大约保持200ms,然后变成高电平,在这个200ms低电平保持期间,如果系统程序正常启动起来,会将GPIO2拉高,完成系统复位的过程,如果U4没有正常启动起来,GPIO2会保持低电平,这时U2的PIN5输入低电平,U2的PIN6输出高电平,U3的PIN6输出低电平,由于U2的PIN6是高电平,PIN5是低电平,这时会通过电阻R3向电容C2充电,当电容C2上的电平达到U2的输入高电平阀值时,U2的PIN5变为高电平,则U2的PIN6输出低电平,进而U3的PIN6输出高电平,如果U4还是没有正常复位启动,就会循环上述过程,所以从波形来看就会在U2的PIN6形成高低电平的方波,方波的占空比和时间由电阻R3和电容C2的值决定,也就是电容的充放电时间,U3的PIN6的波形与U2的PIN6波形反向,也是高低电平的方波,只要U4不复位,方波会一直发生,并在U4复位管脚RESET上形成高低电平,低电平的宽度大于U4正常复位需要的时间,直到U4完成正常复位程序并运行起来,一旦U4在U3的PIN6变成高电平的瞬间完成复位,GPIO2立即输出高电平,这时U2的PIN5为高电平,PIN6为低电平,由U2,R3,C2组成的方波振荡器停止工作,U3的PIN6保持高电平,系统完成整个可靠的复位过程,整个过程由RC复位模块U1、由U2、R3、C2构成的振荡器、反相器U3形成输入,U4的GPIO2输出反馈给U2的PIN5,从而完成整个闭环的过程,保证了系统的绝对闭环,使得MCU成功复位并让程序运作起来。