打印

PSoC低功耗设计参考方案

[复制链接]
11398|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能否实现睡眠?

使用特权

评论回复
5
PSoC_Rock| | 2008-6-10 16:57 | 只看该作者

PSoC有Sleep定时器

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

express不能实现睡眠.但有一条路可以试试,就是用PSoC Designer 5.0....

使用特权

评论回复
6
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越做越好!

使用特权

评论回复
7
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;
当定时器计数完成时会退出中断继续程序运行,直到下个宏命令到来为止。
流水账汇报完毕,继续做功耗测试去了~

使用特权

评论回复
8
PSoC_Rock| | 2008-6-13 10:41 | 只看该作者

恭喜!有进步了。

使用特权

评论回复
9
silentband|  楼主 | 2008-6-14 10:59 | 只看该作者

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

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

使用特权

评论回复
10
jieruida| | 2008-6-15 15:25 | 只看该作者

楼主辛苦了

谢谢楼主分享,辛苦了  呵呵

使用特权

评论回复
11
linxj| | 2011-1-24 21:50 | 只看该作者
今天把这个老贴子找出来了,我也正好在做低功耗,用CY做触摸屏,产品送到客户那边测试,才发现电流一直都在5.66mA,有无触摸都一样,看了sleeptimer模块手册后,用sleeptimer模块做低功耗,差不多搞了一个下午才搞定,现在无触摸的时候平均电流在0.4mA左右。

使用特权

评论回复
12
Go_PSoC| | 2011-1-25 17:59 | 只看该作者
11# linxj
大家也向11楼这样就好了,遇到问题先翻老铁子,这样不至于有很多重复的问题了,呵呵

使用特权

评论回复
13
xiaxianbao| | 2011-3-25 11:17 | 只看该作者
经常会碰到的问题,大家都来学习下!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

272

帖子

0

粉丝