找回密码
 立即注册
查看: 1039|回复: 8

内部的专用掉电唤醒定时器最长能有多长时间

[复制链接]

该用户从未签到

555

主题

9670

回帖

1万

积分

管理员

积分
14153
发表于 2023-1-30 18:13:33 | 显示全部楼层 |阅读模式
销售帮客户问:有客户要开发一个,高压线路接头上测温度的电池供电系统。
想问一下我们的STC8G、8H等MCU:
1,内部的专用掉电唤醒定时器最长能有多长时间可起来一次?
2,最低功耗模式下(起用了唤醒定时器)耗电是多少?他希望内部唤醒时间越长越好(1分钟∽30分钟)。
3,或帮他选型。要求:供电3V左右;有1ADC输入;功耗越低越好;有内部唤醒定时器(定时越长会好)


回复 送花

使用道具 举报

该用户从未签到

555

主题

9670

回帖

1万

积分

管理员

积分
14153
 楼主| 发表于 2023-1-30 18:20:01 | 显示全部楼层
STC8G1K08A-36I-SOP8/DFN8:
1,工作电压1.9V ~ 5.5V ;
2,内部专用掉电唤醒RC定时器,最长到 8秒附近,误差大,一般够用,
=====启动内部专用掉电唤醒RC定时器,功耗 1.5uA
嫌短,可以计数唤醒的次数,到了次数再处理需要处理的事件,
没到次数,继续进入低功耗

要更长的唤醒时间,或要求准的时间,请换有RTC功能的MCU ,外部挂32768晶振
1.png

该用户从未签到

46

主题

3110

回帖

7015

积分

超级版主

积分
7015
发表于 2023-1-30 21:43:50 | 显示全部楼层
要很低睡眠功耗要求,唤醒时间又长,则推荐使用带RTC的MCU,外挂32768晶振,秒唤醒或分钟唤醒,不会额外增加耗电,电流大约3uA。
  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    7

    主题

    35

    回帖

    169

    积分

    注册会员

    积分
    169
    发表于 2023-2-13 15:53:37 | 显示全部楼层
    我刚用了这个,只能说,非常的不准,需求1分钟唤醒一次,掉电唤醒最长是16S左右,我只能唤醒之后判断非其他中断就继续休眠,目前效果还算可以,误差2s左右

    该用户从未签到

    46

    主题

    3110

    回帖

    7015

    积分

    超级版主

    积分
    7015
    发表于 2023-2-13 16:34:17 | 显示全部楼层
    内部的专用掉电唤醒定时器最长16秒左右,误差也比较大,因为为了省电,32KHz的振荡器没有补偿电路。

    要更长的时间,每唤醒一次计数+1,次数未到继续睡眠,次数到了则运行处理。主频为内部时钟时,每次唤醒只有不到100us,增加的电流可以忽略。外部晶振则由于起振要时间,所以大约几百至几千us。

    假如全速电流为3mA,唤醒时间100us,10秒唤醒一次,则平均增加电流 3*100/(10*1000000) = 3/100000 mA = 0.03uA,可以忽略。

    要精确的唤醒时间,则建议使用带RTC的MCU,比如STC8H8K64U、STC8H4K64TL、STC8H4K64TLCD、STC32G12K128等等,外挂32768晶振,可以0.5秒、1秒、1分钟、1小时唤醒,还有24小时闹钟。

    该用户从未签到

    5

    主题

    21

    回帖

    112

    积分

    注册会员

    积分
    112
    发表于 2023-2-14 16:14:44 | 显示全部楼层
    大家好,我有一个其他帖子提到的问题,因为需求比较急,不知道论坛重复发帖的规则,先说声抱歉。
    这个是我的原来问题:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=187

    大家好,我也在搜索这个信息,但是我没有实现这个需求。

    我的产品用的单片机是STC8G1k08,因为我有多个唤醒源唤醒这个单片机,每个唤醒源都执行不同的行为。因为我所用的其他唤醒源都可以进入中断改变状态,而这个不行。

    我现在的问题是,如何知道确实是掉电唤醒定时器进行的唤醒,在文档中提到:
    掉电唤醒之后,可以通过读 WKTCH 和 WKTCL 中的内容获取单片机在掉电模式中的睡眠时间。
    但是,我该怎么读取这个值呢?
    1.         c = 0xaa;
    2.         printf("------%c %c------\n", WKTCH, *c);
    3.         c = 0xab;
    4.         printf("------%c %c------\n", WKTCL, *c);
    复制代码

    我用上面的代码发现串口打印的数据是:
    2D 2D 2D 2D 2D 2D FF 20 00 2D 2D 2D 2D 2D 2D 0A 2D 2D 2D 2D 2D 2D FF 20 00 2D 2D 2D 2D 2D 2D 0A 2D 2D 2D 2D 2D 2D FF 20 00 2D 2D 2D 2D 2D 2D 0A 2D 2D 2D 2D 2D 2D FF 20 00 2D 2D 2D 2D 2D 2D 0A

    WKTCH值为FF,0xaa的值为00;请问我该如何判断?

    我想再问一个问题,因为串口也可以进行唤醒设备,但唤醒后的串口设备将不会进入串口中断。那么请问有没有寄存器告我这个唤醒是由谁触发的?
    假如说我在使用掉电唤醒定时器,我该如何分辨串口中断触发还是由掉电唤醒定时器触发?

    点评

    串口唤醒后,正常接收一个字节后才会中断(允许串口接收中断的话)。  详情 回复 发表于 2023-2-19 20:51

    该用户从未签到

    5

    主题

    21

    回帖

    112

    积分

    注册会员

    积分
    112
    发表于 2023-2-19 17:19:19 | 显示全部楼层
    wsr2580 发表于 2023-2-14 16:14
    大家好,我有一个其他帖子提到的问题,因为需求比较急,不知道论坛重复发帖的规则,先说声抱歉。
    这个是我 ...

    相关问题的回答已经在https://www.stcaimcu.com/forum.php?mod=viewthread&tid=187得到回复

    该用户从未签到

    555

    主题

    9670

    回帖

    1万

    积分

    管理员

    积分
    14153
     楼主| 发表于 2023-2-19 17:24:24 | 显示全部楼层
    分辨串口中断触发===== 会进中断服务程序,你在进省电模式之前,也应树立1个标志位

    该用户从未签到

    46

    主题

    3110

    回帖

    7015

    积分

    超级版主

    积分
    7015
    发表于 2023-2-19 20:51:09 | 显示全部楼层
    wsr2580 发表于 2023-2-14 16:14
    大家好,我有一个其他帖子提到的问题,因为需求比较急,不知道论坛重复发帖的规则,先说声抱歉。
    这个是我 ...

    串口唤醒后,正常接收一个字节后才会中断(允许串口接收中断的话)。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-30 16:21 , Processed in 0.069508 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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