完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用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个回答
|
|
模拟参考功率和模拟缓冲器功率仅对具有全功能模拟的器件有效。对于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. |
|
|
|
亲爱的甘尼什,谢谢你的建议。试试StutsCdSd(),它只减少了0.5毫安,也许我丢失了什么东西?
以上来自于百度翻译 以下为原文 Dear Ganesh, thanks for your advise. Try Stop_CSD(), it only reduce 0.5mA, maybe i lost something? |
|
|
|
总电流是多少?即使所有的资源都停止了,CPU本身也会消耗一定的电流,这取决于频率。
以上来自于百度翻译 以下为原文 What is the total current? Even though all the resources are stopped, the CPU itself will consume some current depending on the frequency. |
|
|
|
你能试试以下吗?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 |
|
|
|
亲爱的GANSH我的解决方案(IMO=6MHz,CPUIORY=SysYLCK/256,CSDYSTOP)使电流从4.3Ma下降到1.8Ma,但经常丢失I2C命令。我尝试请求更多的资源,比如预启动位或两次唤醒命令,以使这种情况变得容易。亲爱的Narayana谢谢你的核对表,我会试试看。甘尼什和Narayana,你真好,非常感谢。
以上来自于百度翻译 以下为原文 Dear Ganesh My solution (IMO=6MHz, CPU_SPEED=SYS_CLK/256, and CSD_Stop) make current down to 1.8mA from 4.3mA, but it lost I2C command often. I try to request more resouce, like pre-start bit or two times wake up command, to make this case easily. Dear Narayana Thanks for your check list, I will try it. Ganesh and Narayana, you are so kindly, thanks a lot. |
|
|
|
在6MHz的SysCLK中,FalCON01C、SysCLK/256对于CPU来说太慢。你肯定会错过在这个CPU速度的I2C数据。你必须做的是,当I2C命令开始进入时,你应该把CPU频率切换到一个更高的值到SysCLK或1或SysCLK/2。在停止CSD之后,在将CPU时钟配置为SysCLK/256之前,在I2C线路上启用上升沿中断。当I2C事务发生时,GPIO中断也会发生。在GPIO中断中,将CPU时钟设置为SysCLK/1,禁用GPIO中断。当您想回到低功耗模式时,将CPU时钟更改为SysCLK/256,并再次启用GPIO中断。
以上来自于百度翻译 以下为原文 falcon01c, SysClk/256 at a SysClk of 6MHz, is too slow for the CPU. You will definitely miss the I2C data at this CPU speed. What you have to do is when an I2C command starts coming in, you should switch the CPU frequency to a higher value to SysClk/1 or SysClk/2. After stopping the CSD and before configuring the CPU clock to SysClk/256, enable rising edge interrupt on the I2C line. When I2C transaction occurs, a GPIO interrupt will also occur. Inside the GPIO interrupt, set the CPU clock to SysClk/1, and disable the GPIO interrupt. When you want to go back to low power mode, change the CPU clock to SysClk/256 and again enable the GPIO interrupt. |
|
|
|
这里是一个实现睡眠和CSD的项目。这可能对你有用。
以上来自于百度翻译 以下为原文 Here is a project that implements sleep and CSD. This may be useful to you. |
|
|
|
嗨falcon01c,我已经修改了连接以前的项目实现的最低休眠电流(3ua)。修改:Rb pin的驱动模式设置为高阻抗模拟PSoC睡觉使RB电阻不消耗任何电流在睡觉之前。希望这个项目会对你有所帮助。问候,阿文
以上来自于百度翻译 以下为原文 Hi falcon01c, I have modified the previous attached project to achieve minimum sleep current (3uA). modification: The drive mode of Rb pin is set to High-Z Analog before PSoC goes to sleep so that Rb resistor does not consume any current during sleep. Hope this project will help you. Regards, -Arvind |
|
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2063 浏览 1 评论
1823 浏览 1 评论
3631 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1759 浏览 6 评论
1507 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
501浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
353浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
408浏览 2评论
353浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
850浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 16:41 , Processed in 1.086673 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号