当前标签

设计

在开发一个需要长时间可靠工作的控制系统(发电机系统),如何设计复位电路?

答:单片机复位可分为内部与外部事件复位。外部事件复位包括上电复位、RES复位和低电压复位。 上电复位和RES复位是人为的正常复位,以保证程序计数器被清零且程序从头开始执行。要正常进行这两种复位动作,需要外接正确的RES复位电路,一般来说不同的单片机的复位电路稍有不同,单片机厂商都会提供标准的复位电路资料。以HOLTEKIC为例,我们提供的复位电路是RES脚接100K欧姆的电阻至VDD;RES脚再接10K电阻和0。1uF的电容至VSS。 当电源电压受外部干扰,低于正常工作电压时,会造成程序功能运行不正常,严重的还可能造成单片机死机。此时发电机系统就会造成严重的后果,我们就需要用低电压复位来解决这个问题。通常我们可以用两个方法实现低电压复位: 1、外加一个电压检测芯片(例如7033)加到RES脚上,当电源电压低于某个临界值时,电压检测芯片会给出一个低电平到RES脚是单片机复位,防止单片机死机。 2、有些厂家的单片机内部会有一个低电压检测LVR的功能,例如HOLTEK单片机。当电源电压低于某一个临界值时,单片机会自动复位避免死机,外部不需要再连接任何检测电压的电路。 除了外部电源不稳定会造成单片机复位,内部WDT溢出也会造成复位,即内部事件复位。对于需要长时间稳定工作的系统来说,看门狗是十分必要的,它可以避免程序跑飞造成的错误。 当复位发生时,要保证复位后能与复位前的各个状态无缝的连接起来,就需要用软件来判定复位前程序执行到哪个程序段。以HOLTEK MCU为例,除了上电复位之外,通用寄存器复位前后的值不会发生变化。那么就可以设定一些寄存器记录程序当前运行在哪一个程序功能段。一旦发生复位,只需要读出那些寄存器的值就可以跳转到复位之前运行的程序功能段运行。另外HOLTE MCU内部有两个特殊标志位PD和TO,可以根据此两位的值来判定具体是什么原因造成 的复位。