找回密码
 立即注册
查看: 260|回复: 7

STC8H单片机,为降低功耗,定期唤醒开启BOR的条件?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2026-02-03 10:51:03

4

主题

5

回帖

48

积分

新手上路

积分
48
发表于 2025-11-20 16:50:36 | 显示全部楼层 |阅读模式
我在查阅了STC8H的手册,发现在《直流特性》一章中说明了“低压检测模块”的电流要380uA,这个太高了,不适用于低功耗产品(比如传感器)。想到一个办法就是定时唤醒,在唤醒后再开启BOR。但是不知道BOR的工作时间有没有要求(即单片机要至少工作多久时间,BOR才能有效)?另外,BOR的能使用软件开启和关闭吗?我指的不是关闭掉电复位功能,而是关闭掉电复位模块。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-20 17:34:11 | 显示全部楼层
数据手册中没有搜索到关键字“BOR”,您指的应该是LVD
触发LVD后的操作和触发电压,上电默认值由ISP软件在下载时设置
截图202511201706266578.jpg
触发LVD后的操作和触发电压,用户程序也可设置
不使用LVD复位,RSTCFG.ENLVR需要设置为0,否则触发LVD时会直接复位
截图202511201706027733.jpg
RSTFLAG.LVDRSTF是中断请求标志,这是硬件(带隙基准和比较器等模拟和逻辑电路)控制的,不需要提供时钟,也就没有工作时间的说法,立即生效的
截图202511201711418933.jpg
LVD中断使能是EA.ELVD
截图202511201747256434.jpg
您的应用不需要使用LVD中断(
EA.ELVD),RSTCFG.ENLVR需要设置为0
打开掉电唤醒定时器,唤醒后向LVDRSTF写1清除一下RSTFLAG.LVDRSTF
再读RSTFLAG.LVDRSTF,如果清不掉还是1,就说明是LVD触发状态
也可写1清除后直接进入省电模式,下次唤醒再读
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2026-02-03 10:51:03

4

主题

5

回帖

48

积分

新手上路

积分
48
发表于 2025-11-21 14:33:19 | 显示全部楼层
您说的文档我有看到,但是我当时的理解:
(1)置0只是说不会复位,但是还是能检测低压事件并且产生中断,那么是不是就是说内部的低压检测模块还在工作,还需要消耗0.4mA左右的电流?我想要的是不能产生这0.4mA的电流。
(2)我指的不是标志位,指得是当我启动LVD模块后,它需要多久才能有效检测低压。比如我刚开启LVD,10us后就关闭了,只有10us够不够LVD模块检测到并且输出低压标志位信号?像我用得其它厂家的单片机,有的要求我开启LVD后,要持续200us或更久才能关闭。这一点文档中没有体现。

点评

RSTCFG.ENLVR=0,能检测低压事件 即RSTFLAG.LVDRSTF有效 是否进入中断,取决于EA.ELVD EA.ELVD=0,PD模式会关闭LVD,没有额外功耗 EA.ELVD=1,PD模式不会关闭LVD,功耗约370μA  详情 回复 发表于 2025-11-21 15:27
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-21 15:27:43 | 显示全部楼层
hvyi*** 发表于 2025-11-21 14:33
您说的文档我有看到,但是我当时的理解:
(1)置0只是说不会复位,但是还是能检测低压事件并且产生中断, ...

RSTCFG.ENLVR=0,能检测低压事件
即RSTFLAG.LVDRSTF有效
是否进入中断,取决于EA.ELVD
IE.ELVD=0,PD模式会关闭LVD,没有额外功耗
IE.ELVD=1,PD模式不会关闭LVD,实测功耗约370μA
即不使用LVD中断时,PD模式会自动关闭LVD功能
但RSTFLAG.LVDRSTF仍可在唤醒后软件查询

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2026-02-03 10:51:03

4

主题

5

回帖

48

积分

新手上路

积分
48
发表于 2025-11-21 15:41:43 | 显示全部楼层
Debu*** 发表于 2025-11-21 15:27
RSTCFG.ENLVR=0,能检测低压事件
即RSTFLAG.LVDRSTF有效
是否进入中断,取决于EA.ELVD

那就是说只要设置“RSTCFG.ENLVR = 0 && IE.ELVD = 0”,就能彻底让LVD不工作,对吧?
另外,那个LVD的最短工作时间有要求吗?我现在是打算用在一个传感器上,电池供电,有低功耗的要求,需要唤醒后检测传感器值就睡眠。

点评

RSTCFG.ENLVR=0且IE.ELVD=0,则VCC低于LVD电压时不复位,PD模式时LVD也不工作 但PD模式时VCC低于LVD电压,此时掉电唤醒定时器唤醒,至于RSTFLAG.LVDRSTF的响应时间 这个参数在数据手册上没有提到,我认为此时应该延  详情 回复 发表于 2025-11-21 16:00
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-21 16:00:24 | 显示全部楼层
hvyi*** 发表于 2025-11-21 15:41
那就是说只要设置“RSTCFG.ENLVR = 0 && IE.ELVD = 0”,就能彻底让LVD不工作,对吧?
另外,那个LVD的最 ...

RSTCFG.ENLVR=0且IE.ELVD=0,则VCC低于LVD电压时不复位,PD模式时LVD也不工作
但PD模式时VCC低于LVD电压,此时掉电唤醒定时器唤醒,至于RSTFLAG.LVDRSTF的响应时间
这个参数在数据手册上没有提到,我认为此时应该延时一段时间后再读,因为内部硬件电平翻转需要时间
但掉电唤醒定时器唤醒后,内部高速IRC稳定也需要时间,内部高速IRC稳定后才会运行用户程序,这两个时间是重合的
内部高速IRC稳定时间可能会覆盖LVD标志位响应时间,可以在LVD电压以上进入PD模式,调低VCC电压至LVD电压以下
为方便测试,可以使用外部中断手动唤醒,唤醒后立即读LVD标志位,看看是否是1,如是1,就说明LVD标志位是立即可读的
注意唤醒后需要继续保持低压才会读到,LVD标志位仅在唤醒瞬间读取,如果休眠过程中产生低压,但是唤醒前电压恢复了,就读不到低压标志了
IRCDB是唤醒后的等待时钟数,当主时钟频率接近极限频率时,IRCDB要设置为16,IAP_TPS也必须正确设置
建议PD前后各加4个nop:

        _nop_();
        _nop_();
        _nop_();
        _nop_();
        PCON|=0x02;
        _nop_();
        _nop_();
        _nop_();
        _nop_();

等几百μs是不至于的

截图202511211552186646.jpg



回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2026-02-03 10:51:03

4

主题

5

回帖

48

积分

新手上路

积分
48
发表于 2025-11-21 16:13:39 | 显示全部楼层
Debu*** 发表于 2025-11-21 16:00
RSTCFG.ENLVR=0且IE.ELVD=0,则VCC低于LVD电压时不复位,PD模式时LVD也不工作
但PD模式时VCC低于LVD电压, ...

那明白了。那我建议你们测试一下或者设计团队提供一下参考指标。我相信低功耗的传感器检测设备也是很常规的应用领域了。
至于休眠中低压检测不到,这个没关系,我用电池供电,睡眠时电压变化不大。但是那个掉电唤醒定时器不是使用内部的低速时钟吗?而且我要定时唤醒,本身也需要靠它定时唤醒单片机。相当于我要开关低压唤醒定时器再进入睡眠。如果低压导致它“唤醒”,会导致低压唤醒定时器复位或有其它动作吗?如果没有的话,应该也没有问题。

点评

关闭LVD中断,不会因低压唤醒  详情 回复 发表于 2025-11-21 16:48
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-21 16:48:19 | 显示全部楼层
hvyi*** 发表于 2025-11-21 16:13
那明白了。那我建议你们测试一下或者设计团队提供一下参考指标。我相信低功耗的传感器检测设备也是很常规 ...

关闭LVD中断,不会因低压唤醒
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-19 06:17 , Processed in 0.112448 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表