Cypress技术论坛
直播中

陈鹏

7年用户 211经验值
私信 关注
[问答]

如何降低21434的功耗

我用21434建立CSD应用(VDD = 3.3V)主机需要在空闲模式下的功耗小于1mA,使用I2C控制工作闲,所以,我不能使用睡眠定时器,因为也许失去了唤醒命令。阅读AN7310,比尝试模拟块关闭,但…21434无arf_cr,二试,模拟缓冲器,abf_cr0 21434无压水堆位.....现在,我的解决方案是IMO = 6mhz,和cpu_speed = sys_clk / 256,请告诉我,如何关闭电源与模拟21434块吗?我能做的减少在怠速模式耗电多什么?

以上来自于百度翻译


     以下为原文
          My case use 21434 to bulid CSD application, (Vdd = 3.3V)   
host require less than 1mA power consumption in idle mode,   
and use I2C to control work/idle,   
so that, i can't use sleep timer,   
because maybe lost wake up command.   
   
Read AN47310, than try analog blocks off,   
but... 21434 without ARF_CR,   
second try , analog buffer off ,   
ABF_CR0 in 21434 without PWR bit .....   
   
Now, my solution is IMO=6MHz,   
and CPU_SPEED=SYS_CLK/256,   
   
Please tell me,   
how to power off analog block with 21434 ?   
What can i do to reduce more power consumption in ilde mode ?   

回帖(8)

李富贵

2019-2-12 12:09:14
模拟参考功率和模拟缓冲器功率仅对具有全功能模拟的器件有效。对于21434,如果您调用CSDYSTOP,它应该关闭所有的模拟和数字块,电源现在只会从CPU运行。使用下面的逻辑。1。打开CSD 2。初始化基线3。初始化手指阈值4。启动I2C 5。关闭CSD 6。等待来自I2C 7的命令。启动CSD 8。扫描传感器9。更新基线,处理按钮按下等10。转到5,但请记住,基线更新将跟踪环境变化,只有当基线定期更新。

以上来自于百度翻译


     以下为原文
          The analog reference power and analog buffer power are only valid for devices with full function analog. For the 21434, if you call CSD_Stop, it should turn off all the analog and digital blocks and the power will now only be from the CPU running. Use the following logic.   
   
1. Turn On CSD   
2. Initialize baselines   
3. Initialize finger threshold   
4. Start I2C   
5. Switch Off CSD   
6. Wait for command from I2C   
7. Start CSD   
8. Scan sensors   
9. Update baseline, process button press etc   
10. Go to 5   
   
But remember, the baseline update will track environmental changes only when the baseline is updated regularly.   
举报

陈鹏

2019-2-12 12:19:48
亲爱的甘尼什,谢谢你的建议。试试StutsCdSd(),它只减少了0.5毫安,也许我丢失了什么东西?

以上来自于百度翻译


     以下为原文
          Dear Ganesh,   
thanks for your advise.   
   
Try Stop_CSD(),   
it only reduce 0.5mA,   
maybe i lost something?   
举报

李富贵

2019-2-12 12:28:11
总电流是多少?即使所有的资源都停止了,CPU本身也会消耗一定的电流,这取决于频率。

以上来自于百度翻译


     以下为原文
          What is the total current? Even though all the resources are stopped, the CPU itself will consume some current depending on the frequency.   
举报

王建华

2019-2-12 12:37:35
你能试试以下吗?1)每64赫兹醒来,使用睡眠间隔。2)启用I2C 3)启动CAPSENSE 4)扫描CAPSENSE一次(5)停止CAPSENSE,禁用所有块电源6)禁用I2C及其中断7)启用GPIO中断(关注线)8)睡眠I2C,有一个专用引脚作为中断引脚(注意引脚)。当主人使这个引脚低,走出睡眠,使I2C和继续扫描(不睡觉,直到这个引脚是高)。唯一的限制是,在发送任何I2C命令之前,主控器必须使该注意线低。我会给你一个关于这个方法的例子。请给我3-4天的时间。问候,Narayana Swamy

以上来自于百度翻译


     以下为原文
          Can you try the following,   
   
1) Wake up every 64 Hz, using the Sleep Interval.   
2) Enable I2C   
3) Start CapSense   
4) Scan capsense once   
5) Stop CapSense, disable all blocks power   
6) Disable I2C and its interrupt   
7) Enable the GPIO interrupt (on attention line)   
8) goto sleep   
   
   
For I2C, have one dedicated pin as Interrupt pin (Attention pin). When the master makes this pin low, come out of sleep, Enable I2C and keep on scanning (don't go to sleep, untill this pin is High).   
   
The only restriction would be that the master has to make this Attention line Low before sending any I2C commands.   
   
I will try to give you an example project on this method. Please give me 3-4 days time.   
   
Regards,   
Narayana Swamy   
   
   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分