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

查看: 18948|回复: 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版