找回密码
 立即注册
查看: 759|回复: 11

8G1K08-36I 低功耗问题

[复制链接]
已绑定手机

4

主题

18

回帖

58

积分

注册会员

积分
58
发表于 2024-11-26 10:38:08 | 显示全部楼层 |阅读模式
本帖最后由 DebugLab 于 2024-11-26 10:39 编辑

/*
        内部32K
*/        
        
          MCLKOCR=0x00;  // 不分频,不输出到IO口  主时钟分频,且输出到IO口        
    P_SW2 = 0x80;       //需要访问特殊寄存器,需要先置1
    IRC32KCR = 0x80;    //启动内部32K IRC
    CLKSEL = 0x03;      //选择内部32K
          CLKDIV = 0x00;            //时钟不分频
    while (!(IRC32KCR & 1));  //等待时钟稳定


        while(1)
        {
         P30 = ~P30;
}
请问  这个单片机在32K工作的时候,示波器测量P30频率多大呢?  这里测试居然需要0.5ms间隔闪LED。
        

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-11-26 10:41:09 | 显示全部楼层
32K,指令执行时间不能忽略,具体时间要看汇编按照指令机器周期计算
DebugLab
回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

18

回帖

58

积分

注册会员

积分
58
发表于 2024-11-26 10:45:02 | 显示全部楼层
好吧。我看别家的单片机  24M  都可以做到1-2mA,  这个stc单片机,还是大了点3-4mA。
我今天尝试降低频率再实验看看功耗。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-11-26 11:45:45 | 显示全部楼层
8G1K是单时钟周期MCU,while(1)循环只是一条单时钟的跳转指令、位取反也是单时钟指令,P30应该是32/2/2=8kbps的频率才对啊
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-11-26 11:46:45 | 显示全部楼层
prxk*** 发表于 2024-11-26 10:45
好吧。我看别家的单片机  24M  都可以做到1-2mA,  这个stc单片机,还是大了点3-4mA。
我今天尝试降低频率再 ...

降低功耗,除了时钟频率之外,端口模式也需要设置合适。可以找一下本论坛的帖子,有详细介绍
回复 支持 反对

使用道具 举报 送花

已绑定手机

4

主题

18

回帖

58

积分

注册会员

积分
58
发表于 2024-11-26 12:01:54 | 显示全部楼层
端口全部都是高阻。还有什么需要注意?

点评

低功耗不是时钟低就好。 而是尽可能快的处理完任务后,进入掉电模式,等待再次唤醒。 低频率下的内核功耗不容忽视。 在掉电模式的时间越长,整机也就越省电,因为此时cpu是不工作的,电流可以低至ua级别  详情 回复 发表于 2024-11-26 12:38
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-11-26 12:38:02 | 显示全部楼层
prxk*** 发表于 2024-11-26 12:01
端口全部都是高阻。还有什么需要注意?

低功耗不是时钟低就好。
而是尽可能快的处理完任务后,进入掉电模式,等待再次唤醒。
低频率下的内核功耗不容忽视。
在掉电模式的时间越长,整机也就越省电,因为此时cpu是不工作的,电流可以低至ua级别
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:440
  • 最近打卡:2025-04-30 08:02:54
已绑定手机

4

主题

269

回帖

1246

积分

金牌会员

积分
1246
发表于 2024-11-26 12:47:01 | 显示全部楼层
个人认为楼主的方向反了,应该使用高频时钟,快速执行完任务,进入睡眠模式,功耗可以到了uA的级别。只是降低主频降低功耗的方法感觉有点本末倒置。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

积分
1173
发表于 2024-11-26 13:08:06 | 显示全部楼层
21cns*** 发表于 2024-11-26 11:45
8G1K是单时钟周期MCU,while(1)循环只是一条单时钟的跳转指令、位取反也是单时钟指令,P30应该是32/2/2=8kb ...

跳转指令肯定不是单周期,跳转流水线要清零,至少3个周期
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-11-26 13:30:26 | 显示全部楼层
bkeu*** 发表于 2024-11-26 13:08
跳转指令肯定不是单周期,跳转流水线要清零,至少3个周期

看了下指令周期表,确实是3个周期
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:30 , Processed in 0.133728 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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