PSoC低功耗设计参考方案

[复制链接]
13244|12
 楼主| silentband 发表于 2008-6-10 16:03 | 显示全部楼层 |阅读模式
请问可以参考哪个手册或者例子?实现PSoC的低功耗除了降低主频外还有没有其他方法?如果使用express的话如何设置低功耗?望高手答复?
 楼主| silentband 发表于 2008-6-10 16:12 | 显示全部楼层

补充一点点实验结果

另外补充一点,经过我的测试只开一个CSD设备,平均功耗为19.2mA!和CY供应商声称的1~5mA的功耗水平差很多...PSoC在触摸按键应用上效果不错,经过实验有水覆盖的情况下照样能准确的采集触摸信号,但就是功耗太大了,手机等便携式应用比较麻烦...designer里面如何改系统配置还在研究,总之是有点麻烦,如果需要每个寄存器配置,改代码,跟使用别的单片机进行开发有何区别?况且编译生成代码速度还那么慢...无语中...菜鸟继续探索中
PSoC_Rock 发表于 2008-6-10 16:18 | 显示全部楼层

为什么不用Sleep?

为什么不用Sleep?没人触摸你还忙活什么?
 楼主| silentband 发表于 2008-6-10 16:28 | 显示全部楼层

sleep是不是牵扯到到中断唤醒?

中断配置找不到...express能否实现睡眠?
PSoC_Rock 发表于 2008-6-10 16:57 | 显示全部楼层

PSoC有Sleep定时器

PSoC有Sleep定时器可自动唤醒.

express不能实现睡眠.但有一条路可以试试,就是用PSoC Designer 5.0....
 楼主| silentband 发表于 2008-6-12 11:48 | 显示全部楼层

睡眠为何总进不去?

程序代码如下:(按手册例子编写)


#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

void main()
{
    // Insert your main routine code here.


  BYTE i;
     
  M8C_EnableGInt; 

  SleepTimer_1_Start();

  SleepTimer_1_SetInterval(0x08);//SleepTimer_64_Hz 0x08 64 Hz
     
 SleepTimer_1_EnableInt();//启动中断运行



  while (1)
  {
  
  SleepTimer_1_SyncWait(8, 0x00);   
  
  for(i=0;i<250;i++)
  {
  ;
  }
  }   
      
}


不管如何更改设置,程序运行后功耗一直不变(没开任何其他外设的情况下为16.2mA),关于SleepTime的功能描述反复看了,还是不知道问题在哪,请高手指教!另外如果想不用CY给的API,自己配置寄存器如何做?详细寄存器配置手册可以参考哪?话说回来,这样做的话PSoC Designer的优势不就成**肋了吗?补充一下,就是PSoC Designer 4.0的Bug很多,经常莫名死机,并且代码编辑器功能很弱,没UE,甚至Keil好用...Bug也很多,特别是对中文的支持很不好!以上问题为个人意见,仅供参考,衷心希望PSoC越做越好!
 楼主| silentband 发表于 2008-6-13 09:15 | 显示全部楼层

看来还是找cypress总部快些!

昨晚用E文给CY那边发了个邮件,得到了官方答复。实际上sleeptimer就是一个低震荡器控制下的中断定时器(32KHz),最简单的设置方法就是加载sleeptimer模块后,在主函数里加上以下代码即可:
M8C_EnableGInt; // enable global interrupts
INT_MKS0 |= INT_MSK0_SLEEP; // set up sleep timer interrupt
然后当想让程序进低功耗时就调用宏命令:m8c_sleep;
当定时器计数完成时会退出中断继续程序运行,直到下个宏命令到来为止。
流水账汇报完毕,继续做功耗测试去了~
PSoC_Rock 发表于 2008-6-13 10:41 | 显示全部楼层

恭喜!有进步了。

 楼主| silentband 发表于 2008-6-14 10:59 | 显示全部楼层

如果能解决这个矛盾,PSoC会很有前途!

在电容触感应用中,实现特定要求的敏感度,灵敏度,功耗最低只能降到1.7mA左右(已启动睡眠模式并只扫描一个按键,采用定时唤醒扫描的方式),也就是说待机功耗最低3~5mA(加上低静态电流低压差稳压部分),这对于长时间待机要求的设备来说还是比较高的。所以在推广PSoC触摸感应方案时应考虑到这些,个人拙见,仅供参考
jieruida 发表于 2008-6-15 15:25 | 显示全部楼层

楼主辛苦了

谢谢楼主分享,辛苦了  呵呵
linxj 发表于 2011-1-24 21:50 | 显示全部楼层
今天把这个老贴子找出来了,我也正好在做低功耗,用CY做触摸屏,产品送到客户那边测试,才发现电流一直都在5.66mA,有无触摸都一样,看了sleeptimer模块手册后,用sleeptimer模块做低功耗,差不多搞了一个下午才搞定,现在无触摸的时候平均电流在0.4mA左右。
Go_PSoC 发表于 2011-1-25 17:59 | 显示全部楼层
11# linxj
大家也向11楼这样就好了,遇到问题先翻老铁子,这样不至于有很多重复的问题了,呵呵
xiaxianbao 发表于 2011-3-25 11:17 | 显示全部楼层
经常会碰到的问题,大家都来学习下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

272

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部