搜索
bottom↓
回复: 16

华大的HC32L130低功耗模式求助,怎么调试都在260ua

[复制链接]

出0入0汤圆

发表于 2020-11-14 14:15:54 | 显示全部楼层 |阅读模式
本帖最后由 zhd1021 于 2020-11-14 14:31 编辑

原理图上什么都没有接,所有引脚悬空状态,板子上只有单片机、复位阻容、BOOT0电阻
程序只有一个进入低功耗模式的一句话,进入深度休眠只能到260ua左右。
按照例程中设置所有IO为下拉输入,功耗反而高了,能到600多。
都说功耗不错,能到0.3ua。是有什么地方没有配置到吗?
求大神解惑
测试代码如下:
  1. int32_t main(void)
  2. {
  3.     delay1ms(2000);
  4.     delay1ms(2000);

  5.     Lpm_GotoDeepSleep(TRUE);

  6.     while(1)
  7.     {
  8.         ;
  9.     }
  10. }
复制代码

配置IO的代码:
  1. static void App_LowPowerModeGpioSet(void)
  2. {
  3.     ///< 打开GPIO外设时钟门控
  4.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);

  5.     //swd as gpio
  6.     Sysctrl_SetFunc(SysctrlSWDUseIOEn, TRUE);

  7.     ///< 配置为数字端口
  8.     M0P_GPIO->PAADS = 0;
  9.     M0P_GPIO->PBADS = 0;
  10.     M0P_GPIO->PCADS = 0;
  11.     M0P_GPIO->PDADS = 0;

  12.     ///< 配置为端口输入(除LED端口外)
  13.     M0P_GPIO->PADIR = 0XFFFF;
  14.     M0P_GPIO->PBDIR = 0XFFFF;
  15.     M0P_GPIO->PCDIR = 0XFFFF;
  16.     M0P_GPIO->PDDIR = 0XFFFF;

  17.     ///< 输入下拉(除KEY端口以外)
  18.     M0P_GPIO->PAPD = 0xFFFF;
  19.     M0P_GPIO->PBPD = 0xFFFF;
  20.     M0P_GPIO->PCPD = 0xFFFF;
  21.     M0P_GPIO->PDPD = 0XFFFF;
  22.        
  23.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, FALSE);
  24. }
复制代码

出0入0汤圆

发表于 2020-11-14 16:12:46 | 显示全部楼层
拆掉IC后,板子上是多大电流

出0入0汤圆

 楼主| 发表于 2020-11-14 16:20:40 | 显示全部楼层
liufabing 发表于 2020-11-14 16:12
拆掉IC后,板子上是多大电流

拆掉IC之后没有电流了。板子上只有一个MCU的最小系统

出15入186汤圆

发表于 2020-11-14 16:24:35 | 显示全部楼层
我只能做到 5uA,效果还可以

出15入186汤圆

发表于 2020-11-14 16:26:28 | 显示全部楼层
我的代码,你用用看,
我实测的,
  1. void Sleep(int mode){        //睡眠 0普通睡眠 1深度睡眠 ,普通1.8uS,深度20us+
  2.         //普通休眠4.9uA 深度3.9uA
  3.         if(mode)
  4.                 SCB->SCR|=1<<2;
  5.         else
  6.                 SCB->SCR&=~(1<<2);
  7.         __WFI();
  8. }
复制代码

出15入186汤圆

发表于 2020-11-14 16:27:43 | 显示全部楼层
调用前我的时钟基本没关,像GPIO,定时器等,都是默认

正常运行是38.4khz运行的,运行功耗16uA,运行时有接9600的串口通信

出0入8汤圆

发表于 2020-11-14 16:52:44 | 显示全部楼层
或者是代码问题,或者其他地方耗电了,用过这个芯片,整个产品休眠在2-3uA左右。

出0入0汤圆

 楼主| 发表于 2020-11-14 16:59:21 | 显示全部楼层
不舍的六年 发表于 2020-11-14 16:52
或者是代码问题,或者其他地方耗电了,用过这个芯片,整个产品休眠在2-3uA左右。 ...

用的官方库,进入低功耗只有一行代码,是不是漏掉什么配置了

出0入0汤圆

 楼主| 发表于 2020-11-14 17:00:03 | 显示全部楼层
yuyu87 发表于 2020-11-14 16:27
调用前我的时钟基本没关,像GPIO,定时器等,都是默认

正常运行是38.4khz运行的,运行功耗16uA,运行时有接9 ...

多谢,我试试

出15入186汤圆

发表于 2020-11-14 17:08:54 | 显示全部楼层
zhd1021 发表于 2020-11-14 16:59
用的官方库,进入低功耗只有一行代码,是不是漏掉什么配置了

官方库我从不用,所有的都是用寄存器直接读写,手册还不错,用寄存器操作比较顺手,库太垃圾了

出0入0汤圆

 楼主| 发表于 2020-11-14 17:12:16 | 显示全部楼层
yuyu87 发表于 2020-11-14 17:08
官方库我从不用,所有的都是用寄存器直接读写,手册还不错,用寄存器操作比较顺手,库太垃圾了 ...

刚开始调试,基本功能测试通过了先

出0入22汤圆

发表于 2020-11-14 20:12:49 | 显示全部楼层
Lpm_GotoDeepSleep(TRUE);

你这个是休眠,,,不是深度休眠。

Lpm_GotoDeepSleep(FALSE);
用这条能够到0.3uA。。。不过小心哦,如果没有退出机制,会烧录不了程序。

出0入0汤圆

 楼主| 发表于 2020-11-14 21:48:10 | 显示全部楼层
lixin91985 发表于 2020-11-14 20:12
Lpm_GotoDeepSleep(TRUE);

你这个是休眠,,,不是深度休眠。

好的,多谢

出70入145汤圆

发表于 2020-11-15 00:01:46 来自手机 | 显示全部楼层
lixin91985 发表于 2020-11-14 20:12
Lpm_GotoDeepSleep(TRUE);

你这个是休眠,,,不是深度休眠。

烧不了程序可以把BOOT脚拉高,用华大的ISP软件,串口接SWDIO,SWCLK(这时他们俩是串口了,可以看文档接线说明)把芯片擦除。我用这个方法解决进低功耗无法烧录的问题

出0入22汤圆

发表于 2020-11-15 10:15:39 | 显示全部楼层
hailing 发表于 2020-11-15 00:01
烧不了程序可以把BOOT脚拉高,用华大的ISP软件,串口接SWDIO,SWCLK(这时他们俩是串口了,可以看文档接线 ...

有些IC 没有BOOT引脚。

不过用ISP模式都可以解锁。

出0入0汤圆

发表于 2020-12-10 16:14:35 | 显示全部楼层
进入低功耗模式前,把ADC等其他外设能关的都关掉,没用到的IO配置成上拉输出试试

出0入0汤圆

发表于 2020-12-10 17:18:54 | 显示全部楼层
说错了   没用到的IO配置成高阻态   模拟输入   上拉输入应该也可以   我实际测过   这几种模式对功耗影响不大   几乎没变化   但上拉输出  一旦引脚对地短路  输出高电平的功耗还是可观的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 09:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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