在复位电路设计中,经常会用到一阶电路的零输入响应及一阶电路的零状态响应,如下图所示:
本文依照项目中遇到的问题,分析了一阶电路的零输入响应并给出了测试波形,随后分析了STC12C5A60S2的复位方式。
背景:
连接各模块,将电压电流传感器模块的故障输出信号连接至eEEPm-19-01(故障保护模块)的输入端子。测试过程中发现,将各模块电源开关闭合,再打开24V直流稳压源,eEEPm-18-01(控制单元)报故障,表现为故障灯点亮,蜂鸣器鸣响。
分析:
测试过程中发现,将IGBT的故障输出信号连接至故障保护模块后,控制单元并没有报故障。
IGBT模块和电压电流传感器模块的故障输出信号波形如下图:
通道1为IGBT模块故障输出信号(CPLD给出)
通道2为电压电流传感器模块故障输出信号(单片机IO给出)
由上图可以看出:单片机动作时间过于滞后。
由于单片机IO有片内弱上拉,故障保护模块检测到高电平时认为产生故障,因此同时上电故障保护模块的CPLD认为产生故障并告知控制单元。
eEEPm-23-01使用的单片机型号为STC12C5A60S2,该芯片有片内复位芯片MAX810。
MAX810会在上电复位后增加一个200mS的复位延时。MAX810的使能由单片机烧录工具决定,如下图所示:
每次打开烧录软件后,默认使能MAX810。
尝试重新烧录代码时不使能MAX810,烧录后同时上电,控制单元不再报故障,问题得到解决。
检证单片机复位信号
测试单片机复位信号及单片机电源+5V波形如下图
通道1为单片机复位信号波形
通道2为单片机电源+5V波形
由上图可以看出:
1. 复位信号随电源抖动;
2. 依照当前采用的电容放电复位方式,复位信号没有达到电源电压值即+5V。
对于电源的波动,怀疑为模块开关的机械抖动造成。在随后的测试中,首先闭合模块上电开关,再打开24V直流稳压源,发现检测不到复位信号。因此,怀疑复位电路有问题。
检证复位电路
复位电路原理图如下:
由上图可以,100ohm电阻不合理。上电瞬间,电容相当于短路,100ohm电阻对于电源来讲负载过重,因此造成了上电瞬间电源电压的抖动。依据单片机手册中的推荐电路,这个电阻为10Kohm。
复位时间的计算:
单片机手册中要求,复位的高电平信号要至少维持24个时钟周期加10us,单片机设计时钟为11.0592MHz,因此计算得复位的高电平要维持12.17us,5V供电时单片机的复位门限为2.2V。
若将电阻R20改为10Kohm,依照一阶电路的零输入响应及单片机复位门限,计算复位时间的过程如下:
当电阻的单位为Ω,电容的单位为F时,乘积RC的单位为s,它称为RC电路的时间常数,用Т表示,Т =10uF * 10Kohm = 0.1s
2.2 = 5 *
t = 0.82 * RC = 0.82 * 0.1 = 0.082s =82ms
测试波形如下:
通道1为单片机复位信号波形
通道2为单片机电源+5V波形
由上图可以看出,电源抖动消失,供电正常后,复位电路高电平(大于2.2V)维持的时间与理论计算一致,且远大于单片机要求的最短复位时间。
将电压电流传感器模块开关闭合,打开24V稳压源,测试单片机复位信号及单片机电源+5V波形如下图:

通道1为单片机复位信号波形
通道2为单片机电源+5V波形
由上图可以看出
-
1. 单片机电源+5V上升时间很慢;
-
2. 复位信号没有达到单片机的复位门限,即复位无效;
对于问题1,测试后发现是24V稳压源提供的24V电压上升时间慢导致的;
对于问题2,将电路板上的复位电路去掉后,单片机无论是通过模块开关供电,还是先闭合开关再打开24V稳压源供电,都可以正常工作。查阅单片机手册后了解到,该单片机有片内复位电路,无需外部复位。
单片机的P4.7 RST外部复位引脚的功能是向该引脚施加一定宽度的复位脉冲,从而实现单片机复位。因此,这个引脚的功能不是上电复位。
将R20更换为10Kohm电阻测试,同时上电,发现两个电压电流传感器模块有一个依然会导致故障的发生,测试两个模块的Error信号如下图所示:

通道1为依然产生故障的模块
通道2为修改R20后正常的模块
由上图可以看出,通道1比通道2滞后了一定时间。
测试复位电路中C12电容值,设计为10uF,
但是通道1对应的电路板测量值为13uF,通道2为8uF,因此造成了两个通道信号的不同,鉴于单片机不需要外部复位,因此去掉C12及R20.
之后再测试,同时上电不再产生故障状态,测试IGBT模块及电压电流传感器模块故障信号的波形如下图:

结论
-
各模块同时上电报故障是模块同步问题,由复位时间的不同引起
-
单片机默认使能片内复位芯片MAX810,对于模块化实验台系统,应通过烧录工具不使能MAX810
-
STC12C5A60S2有片内上电复位功能,无需外部复位电路
以上内容转载自微控制器开发讨论。