你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 18981|回复: 13

stm8s003低功耗问题求助

[复制链接]

1

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-4-14 23:59:08 | 显示全部楼层 |阅读模式
折腾低功耗已经第四天了,可以说筋疲力尽,没想到这个低功耗竟然卡住了我,看到好多人都可以做到11u我却问题颇多。无奈来此求助。
首先说我遇到的问题。我用主函数来测试功耗,不加其他额外的函数。但是出现了奇葩的问题,无论我怎么改,用asm(“halt”)打算进入停机模式,还是用asm("wfi")进入等待模式,功耗不变,我开始怀疑我的测试方法,最初我是用手持万用表测试的,表上的显示精度可以达到uA,之后我又拿了个源表(吉时利2410)我以为这次没问题了,这次又出了个奇葩的问题,当我用源表供电的时候VCAP竟然没电压,这什么情况,我用示波器看了下,好吧,竟然是斜波,就是方波给电容充电的感觉,可手册上写的应该1.8v。我换上电源供电,1.8v左右,没问题,我又不明白了。原本的问题还没解决,新的问题又来了。我放弃了源表。继续用我的电源供电,用手持万用表测试,想着精度差点就差点吧。可是当我用如下程序(1)测试的时候竟然只有200u,这算上全速了吧。感觉有问题,又换了个程序(2),打算测下什么都关闭,进入到停机状态的电流。结果400多u,我的表出问题了?还是硬件电流出问题了呢。硬件电路我是买的芯片和tssop转接板自己焊的最小系统,没有任何外设。用stlink和stvd都能下载进去程序,并且测试能控制端口,在stlink里面也可以仿真,寄存器的值也都对。我到底哪里没考虑全面。之前对单片机只是简单接触,第一次用st的片子。我觉得我好想要放弃了,原本不应该是问题的问题竟然困扰了我这么多天。希望能有朋友有经验的多帮忙,小弟谢谢啦!
程序(1)
unsigned long int count=0;
void main()
{
  CLK_ICKR|=0X01;//HSI使能
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//预分频8分频得到16M频率
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//cpu分频系数为1
 
  CLK_PCKENR1&=0X40;
  CLK_PCKENR2&=0X73;//关闭外设时钟  
  
  PA_DDR|=0X0E;
  PA_CR1|=0x0E;
  PA_ODR&=~0x0E;
  PB_DDR|=0X30;
  PB_CR1|=0x30;
  PB_ODR&=~0X30;
 
  PC_DDR|=0XF8;
  PC_CR1|=0xf8;
  PC_ODR&=~0xF8;
 
  PD_DDR|=0X7c;//设为输出
  PD_CR1|=0x7c;//设为推挽
  PD_ODR&=~0x7c;//设为低电平
   WWDG_CR&=0X80;//关闭窗口关门狗
  CPU_CFG_GCR&=0XFE;//关闭swim
  while(1)
  {
    asm("nop");
   }
 
 
}
程序2
unsigned long int count=0;
void main()
{
  CLK_ICKR|=0X01;//HSI使能
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//预分频8分频得到16M频率
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//cpu分频系数为1
 
  CLK_PCKENR1&=0X40;
  CLK_PCKENR2&=0X73;//关闭外设时钟
  
  
  CLK_ICKR|=0X08;//打开低速时钟信号
 while(!(CLK_ICKR&0X10));//等待LSI准备
 CLK_SWCR|=0X02;//切换使能
 CLK_SWR=0XD2;//设置目标时钟为LSI,需使能LSI_EN选项字节
 while(CLK_SWCR&0X01!=0);//切换忙,等待切换完成
 CLK_SWCR&=~0X08;//清除切换标志
  
  CLK_ICKR&=~0X01;//关闭HSI
 
 
  PA_DDR|=0X0E;
  PA_CR1|=0x0E;
  PA_ODR&=~0x0E;
  PB_DDR|=0X30;
  PB_CR1|=0x30;
  PB_ODR&=~0X30;
 
  PC_DDR|=0XF8;
  PC_CR1|=0xf8;
  PC_ODR&=~0xF8;
 
  PD_DDR|=0X7c;//设为输出
  PD_CR1|=0x7c;//设为推挽
  PD_ODR&=~0x7c;//设为低电平
    WWDG_CR&=0X80;//关闭窗口关门狗
  CPU_CFG_GCR&=0XFE;//关闭swim
    FLASH_CR1&=~0X08;//flash在停机状态掉电
 
  while(1)
  {
     asm("halt");
  }
 
 
}
 
<
回复

使用道具 举报

5

主题

212

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2014-4-16 22:34:27 | 显示全部楼层

RE:stm8s003低功耗问题求助

貌似前面看到一个类似的问题,低功耗指的是芯片,不知楼主测的是芯片还是这个系统?系统除了单片机还有外围器件的功耗
回复 支持 反对

使用道具 举报

1

主题

51

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-4-16 22:44:36 | 显示全部楼层

RE:stm8s003低功耗问题求助

在应用中,低功耗的产品不只是采用低功耗的mcu,更多的要依赖于外围电路的低功耗设计
回复 支持 反对

使用道具 举报

1

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-4-16 23:12:23 | 显示全部楼层

回复:stm8s003低功耗问题求助

回复第 2 楼 于2014-04-16 22:34:27发表:
貌似前面看到一个类似的问题,低功耗指的是芯片,不知楼主测的是芯片还是这个系统?系统除了单片机还有外围器件的功耗 

我测试的芯片的功耗,我用了一个tssop和DIP的转接板自己焊接了一个最小系统,最小系统只包含了vcap的一个105电容,别的没有,完了我把swim和nrst引脚引出来了,为了下程序,别的就没有了。芯片我通过测试io口的波形,内部程序给一定的波形来验证芯片功能的完整。其他的我就没想到还要有什么考虑的了
回复 支持 反对

使用道具 举报

1

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-4-16 23:11:46 | 显示全部楼层

回复:stm8s003低功耗问题求助

回复第 3 楼 于2014-04-16 22:44:36发表:
在应用中,低功耗的产品不只是采用低功耗的mcu,更多的要依赖于外围电路的低功耗设计 

我测试的芯片的功耗,我用了一个tssop和DIP的转接板自己焊接了一个最小系统,最小系统只包含了vcap的一个105电容,别的没有,完了我把swim和nrst引脚引出来了,为了下程序,别的就没有了。芯片我通过测试io口的波形,内部程序给一定的波形来验证芯片功能的完整。其他的我就没想到还要有什么考虑的了
回复 支持 反对

使用道具 举报

1

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-4-19 09:46:42 | 显示全部楼层

RE:stm8s003低功耗问题求助

经过这几天的斗争,从功能到功耗进行了全面的测试,最终达到了要求。分享下经验:首先保证你的测试方法正确,我最初的失败在于仪器的问题,因为我手里的源表电压出了点问题,这是我没想到5万多的设备竟然出了点问题。再次首先对功能进行验证,当进入halt状态后,确定由定时器不能唤醒才保证是进入了halt,否则可能只是在while中等待,而没进入halt。当然这两个问题并不要种。比较严重的一个问题就是如果你使用了真正开漏的端口,别忘了加上拉电阻,加了上拉电阻之后再halt状态就不能把这个端口也设为低电平,这是我之前忽略了一点。还有就是看门狗要注意如果需要使用看门狗,在halt之前要喂狗刷新,否则你的电路也会不断复位。这几点希望能对有遇到同样问题的朋友略有帮助。
回复 支持 反对

使用道具 举报

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-6-10 17:06:26 | 显示全部楼层

RE:stm8s003低功耗问题求助

测量电流的表有内阻。
3V输入,经过表后,可能只有2V了(有时需要示波器才能看到)
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-6-12 17:42:44 | 显示全部楼层

RE:stm8s003低功耗问题求助

要低功耗设计,主要考虑几个方面:
1.外设的低功耗,不需要的外设模块,全部关闭。
2.GPIO的处理,不需要的IO最好做悬浮输入处理。
3.主时钟的处理,先降到最低内部LSI时钟,关闭其他不需要的时钟模块。
4.进入低功耗模式。
回复 支持 反对

使用道具 举报

48

主题

609

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-11-3
发表于 2015-1-9 12:33:58 | 显示全部楼层
学习。这是好经验,大家齐分享。谢谢楼主。
回复 支持 反对

使用道具 举报

0

主题

60

回帖

0

蝴蝶豆

金牌会员

最后登录
2018-1-2
发表于 2015-11-11 15:07:41 | 显示全部楼层

谢谢楼主共享,学习了
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版