weavr 发表于 2020-3-9 14:57:33

STC8F2K16S2当电源被频繁拉低,出现疑似死机的情况

使用STC8F2K16S2,和别的板子共用电源,当别的板子后接上来时,电容充电拉低了电源,STC8F会低压复位,但频繁的拉低电源,有时STC8F没有有效的复位,好像死机了一样,没有反应了。
简化后的原理图见图片,47uF电容和电阻相当于别的板子,当A点和B点接通后,由于47uF电容充电,拉低了STC8F的电源,频繁的断开接上A点和B点,有时STC8F会没有反应,正常工作时,红色和绿色LED亮,没有反应时,有时是绿色常亮,有时是红色常亮,有时是都不亮。
附上监控程序:
#include "STC8A.H"

sbit Green = P2^2;
sbit Red   = P2^1;

void main()
{

        P0M1 = 0x00;
        P0M0 = 0x00;

        P1M1 = 0x00;       
      P1M0 = 0x00;

        P2M1 = 0x00;
        P2M0 = 0x00;

        P3M1 = 0x00;
        P3M0 = 0x00;

        P4M1 = 0x00;
        P4M0 = 0x00;

        P5M1 = 0x00;
        P5M0 = 0x00;

        P6M1 = 0x00;
        P6M0 = 0x00;

        P7M1 = 0x00;
        P7M0 = 0x00;

        Red=0;
        Green=1;

        while(1)
        {       
                Red   = ~Red;
                Green = ~Green;
      }
}

spli 发表于 2020-3-9 16:21:04

用二极管隔离,增大电容容量

monarchess 发表于 2020-3-9 16:29:12

STC8F2K16S2稳定出货老型号一般不会出现类似情况,坛友可以加下我QQ给您安排最新版本的STC8H1K28-36I-LQFP32样片测试,抗干扰复位等更强大。
   QQ:2593903262
      0513-55012940

小李非刀 发表于 2020-3-9 17:07:06

这种应用不好,常见到这种应用,一接通被控电路就导致MCU复位或无法正常复位。
10uF 5V对47uF 0V接通,会出现电流冲击,10uF瞬间被47uf分走大部分能量,10uF电压变成5/5.7=0.833V,然后又恢复到5V,这个冲击会导致复位甚至复位不良。常见的是IO控制一个MOSFET给别的电路供电,有更大的电容,就很容易出现这种现象。
采取措施减小冲击,延缓充电时间,就可以避免。

ordman 发表于 2020-3-9 17:11:17

减少后端电容。或者添加负载开关芯片,控制浪涌

modbus 发表于 2020-3-9 17:44:32

小李非刀 发表于 2020-3-9 17:07
这种应用不好,常见到这种应用,一接通被控电路就导致MCU复位或无法正常复位。
10uF 5V对47uF 0V接通,会出 ...

如果这种应用都不能正常复位,只能说复位电路有缺陷,实际中受外界冲击干扰所引起的欠压情况远比这应用复杂的多

weavr 发表于 2020-3-9 18:18:24

小李非刀 发表于 2020-3-9 17:07
这种应用不好,常见到这种应用,一接通被控电路就导致MCU复位或无法正常复位。
10uF 5V对47uF 0V接通,会出 ...

复位是正常的,也是能接受的,但死机就头疼了,目前在15系列上没有发现,但STC8F很容易就会重复出现。

饭桶 发表于 2020-3-9 18:41:30

看门狗了解一下,亲!

xunke 发表于 2020-3-9 21:34:17

加大vcc的滤波电容,试试。

weavr 发表于 2020-3-10 11:31:56

饭桶 发表于 2020-3-9 18:41
看门狗了解一下,亲!

单片机自带的狗吗?开了狗也会死,估计是复位没有成功,狗也没有初使化

饭桶 发表于 2020-3-10 11:33:34

二极管隔离后加100uf以上电容

weavr 发表于 2020-3-10 11:33:58

有条样的其他坛友可以试一下有没有这种情况,希望是我的问题

weavr 发表于 2020-3-10 11:37:15

饭桶 发表于 2020-3-10 11:33
二极管隔离后加100uf以上电容

确定是芯片问题,并且必需用这个型号时才用这个方法

modbus 发表于 2020-3-10 11:50:55

楼主设计一个电路,当STC8F上的电源电压低于0.8伏时就把STC8F的电源短路,估计能解决这个问题

饭桶 发表于 2020-3-10 12:20:35

在STC下载软件里把低压检测电压设置高一些

weavr 发表于 2020-3-10 13:40:03

modbus 发表于 2020-3-10 11:50
楼主设计一个电路,当STC8F上的电源电压低于0.8伏时就把STC8F的电源短路,估计能解决这个问题 ...

这样比较麻烦了,看来还是要回到STC15上

weavr 发表于 2020-3-10 13:40:30

饭桶 发表于 2020-3-10 12:20
在STC下载软件里把低压检测电压设置高一些

每档都试过了

modbus 发表于 2020-3-10 14:06:54

饭桶 发表于 2020-3-10 12:20
在STC下载软件里把低压检测电压设置高一些

没有用的。STC8A型号0.4伏左右是个坎,STC8F还不清楚

peterlzj 发表于 2020-3-10 17:52:03

估计是一个bug,感觉不够15系列的成熟

kap 发表于 2020-3-24 10:25:41

控制电源是比较稳妥的办法,低于一定电压值,断开MCU的电源。
页: [1]
查看完整版本: STC8F2K16S2当电源被频繁拉低,出现疑似死机的情况