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

答:单片机复位可分为内部与外部事件复位。外部事件复位包括上电复位、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,可以根据此两位的值来判定具体是什么原因造成 的复位。

生成海报
点赞 0

创世纪

单片机学习,电子制作DIY学习与分享,各种新鲜的,有趣的,好玩的,一起来吧!机器人、无人机、树莓派/Raspberry Pi、arduino、极客、创客等

暂无评论

发表评论

相关推荐

EDA课设 FPGA开发板 VHDL实现串口通信

一、设计概述 1. UART串口通信设计目的 随着 FPGA/CPLD 器件在控制领域的广泛使用,开发嵌于 FPGA/CPLD 器件内部的通用异步收发器,以实现 FPGA/CPLD 开发系统与 PC 机之间的数据通信是很有实际意义的。FPG