OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6557|回复: 13

华邦flash芯片W25Q64VSIG如何进入低功耗

[复制链接]

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
发表于 2017-3-28 15:13:08 | 显示全部楼层 |阅读模式
10金钱
大家好:
      最近研究一个项目,其中用到falsh的芯片,采用到的是华邦的W25Q64,程序是都已经成功了,然后开始调试低功耗的时候,在flash这边纠结,通过命令0xB9的命令让W25Q64进入power down模式,可是测试到的电流是1.33mA的大小,与手册上标注的1uA相差甚大,大家有没有遇到过这个问题?请大家帮忙出一下思路。
对了,电路相对简单,
CS/CLK/DI/DO用于SPI通讯,WP和HOLP线接VCC。
请问电路在低功耗下可以这样接吗?如果可以,程序上如何修正,让芯片进入测底的低功耗。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-28 23:08:18 | 显示全部楼层
看看是不是外部电路影响了?
回复

使用道具 举报

17

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2012-11-27
在线时间
31 小时
发表于 2017-3-29 08:56:15 | 显示全部楼层
不太清楚,低功耗对wp和hold有要求吗,直接拉高可行?
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-29 11:22:31 | 显示全部楼层
正点原子 发表于 2017-3-28 23:08
看看是不是外部电路影响了?

谢谢答复。这个昨天我也在排除干扰,外部电路都是通用的接法。后来我看了些文档,又找了一些**商,他们说有些芯片进入待机下功耗还是会蛮大的,又怕买到的不是真货,所以我又买了相同芯片不行型号的flash回来,今天下午芯片到了试一下再来论坛。
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-29 11:24:29 | 显示全部楼层
unkown 发表于 2017-3-29 08:56
不太清楚,低功耗对wp和hold有要求吗,直接拉高可行?

嗯,你说的办法,我昨天尝试过了,拉高拉低,其实对我买了那款芯片来说,功耗影响不大,powerdown模式下仍然有1.3mA左右。与标书上写的1uA相差不是一点。今天下午会换个**商的芯片看一下,继续测试,目标5uA以内。
回复

使用道具 举报

17

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2012-11-27
在线时间
31 小时
发表于 2017-3-29 14:12:30 | 显示全部楼层
辛楠不菲 发表于 2017-3-29 11:24
嗯,你说的办法,我昨天尝试过了,拉高拉低,其实对我买了那款芯片来说,功耗影响不大,powerdown模式下 ...

好像有的为了降低功耗,clk串电阻或者flash单独供电,不用的时候断电
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-29 20:48:15 | 显示全部楼层
unkown 发表于 2017-3-29 14:12
好像有的为了降低功耗,clk串电阻或者flash单独供电,不用的时候断电

对falsh单独供电,不用时断电这种方法显然是不可取的。其实电流没有将下来的原因是没有找到合适的技术文档,对芯片功能描述内容不够详细。今天下午换了一个W25Q64JVSSIG型号的芯片,然后在电路上做一些修改,主要是cs片选上加10K电阻上拉,当flash进入powerdown模式时,flash的电流降到4uA,与技术文档上的描述贴近(正常1uA,最大25uA)。
总结:
1、正确的文档,才有正确的答案
2、硬件上CS加10K电阻上拉到VCC
3、软件上进入powerdown,唤醒时接的release powerdown
4、不同后缀型号的芯片,功能有所差异(W25Q64JVSSIG低功耗对比W25Q64BVSIG要好)
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-29 21:05:51 | 显示全部楼层
正点原子 发表于 2017-3-28 23:08
看看是不是外部电路影响了?

今天尝试了一下,确实是外部电路设计的问题,谢谢原子哥,在正确的文档和芯片下,需要对CS片选信号加10K的上拉才能让flash进入powerdown后有显著的低功耗效果;
另一个问题,STM32L152平时需要使用PA0管脚作为输入按键,且有10K的上拉到VCC,现在又要配置PA0为WKUP1来作为唤醒脚;WKUP唤醒唤醒条件是上升沿,所以当配置PWR_WakeUpPinCmd(PWR_WakeUpPin_1, ENABLE);后,发现进入standby模式时,电流为90uA左右,究其原因,主要是10K电阻上拉导致,如果去掉10K的话,电流立马降到1.3uA。那么问题就是:如何保持10K上拉电路,改用下降沿触发。让功耗降低下来。请问原子哥这个问题遇到过吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-29 21:55:48 | 显示全部楼层
辛楠不菲 发表于 2017-3-29 21:05
今天尝试了一下,确实是外部电路设计的问题,谢谢原子哥,在正确的文档和芯片下,需要对CS片选信号加10K ...

如果要求上拉才能进入WK UP的话,应该不至于进入低功耗以后,又要去掉上拉电阻。
你可以试试让IO输出高电平,然后在进入低功耗模式。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2012-11-27
在线时间
31 小时
发表于 2017-3-30 10:11:55 | 显示全部楼层
辛楠不菲 发表于 2017-3-29 20:48
对falsh单独供电,不用时断电这种方法显然是不可取的。其实电流没有将下来的原因是没有找到合适的技术文 ...

那我想问问如果不更改PCB设计的话,flash进入power down模式后,降CS设置成普通IO口模式软件配置成强上拉能起到同样效果吗
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-30 10:14:16 | 显示全部楼层
正点原子 发表于 2017-3-29 21:55
如果要求上拉才能进入WK UP的话,应该不至于进入低功耗以后,又要去掉上拉电阻。
你可以试试让IO输出高 ...

程序是这样的:
/* Allow PWR Clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

/* Enable Ultra low power mode */
PWR_UltraLowPowerCmd(ENABLE);

/* Enable WKUP pin 1 */
PWR_WakeUpPinCmd(PWR_WakeUpPin_1, ENABLE);

/* Clear WakeUp (WUTF) pending flag */
RTC_ClearFlag(RTC_FLAG_WUTF);

/* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
PWR_EnterSTANDBYMode();
而硬件上,是WKUP(PA0)接了一个10K上拉电阻到VCC,还接一个按键,按键按下当然是低电平GND了。现在呢,如果在最前面设置了WKUP为OUT模式的话,然后再配置WKUP为唤醒键,显然之前的设置又被修改为IN模式了,测试的电流仍然是90uA左右,都是VCC电流灌进WKUP的。当然如果不用WKUP作为唤醒的话,是无所谓设置该端口为OUT模式的,因为经过测试,得到的电流仍然是在几微安之内。是不是PWR_WakeUpPinCmd(PWR_WakeUpPin_1, ENABLE);这个函数惹的祸?
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-7-27
在线时间
9 小时
 楼主| 发表于 2017-3-30 11:21:51 | 显示全部楼层
unkown 发表于 2017-3-30 10:11
那我想问问如果不更改PCB设计的话,flash进入power down模式后,降CS设置成普通IO口模式软件配置成强上拉 ...

理论上应该是可以的,但是还没有试验过了,现在需要先解决另一个问题先,然后再返回做这个尝试。你遇到过STM32L的WKUP接上拉电阻用于用户按键输入,却又要将其设置为待机模式下的WKUP唤醒脚吗?当我设置其为WKUP功能时,电流是90uA,非常的大,主要是接10K的上拉电阻的原因。遇到过这个情况吗?能决解否?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-7-8
在线时间
2 小时
发表于 2020-1-12 11:52:33 | 显示全部楼层
不知道你的最后W25Q64掉电电流多少。我目前的问题是Standby模式 接近20uA
但是Power-down 模式电流也是20uA电流基本没有变化,而且确定进入Power-down 模式,因为进行读ID指令不能响应。
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-10-24
在线时间
18 小时
发表于 2020-6-18 10:30:15 | 显示全部楼层
辛楠不菲 发表于 2017-3-29 20:48
对falsh单独供电,不用时断电这种方法显然是不可取的。其实电流没有将下来的原因是没有找到合适的技术文 ...

片选接到VCC,不是一直拉高了吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 08:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表