社区导航

 
查看: 13173|回复: 25

[原创] STM32的Vcap的问题及解决---原来经验也害人

  [复制链接]

4167

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2016-9-4 19:37:13 | 显示全部楼层 |阅读模式
本帖最后由 huaiqiao 于 2016-9-4 22:38 编辑

前言
      我有个同事,经常也是设计电路这些的,像stm32f1,stm32f4这些的电路经常在设计,算是经验丰富吧。但是这次有个案子(平台:MDK+STM32F405RGT6(LQFP64封装)),他也参与了改版V2版(之前那个版本是别人设计的,称之为V1版,其实主要就是改原理图后lay板)。当时,改版完成后,审图的时候并没有仔细看CPU电路,以为和之前的电路一样(之前的CPU电路是完全OK的)。所以,板子就去打板了。。。。因为板子上还有其他模块被改,所以板子打回来我们就焊接了几pcs,在确定板子焊接没问题之后,插上仿真器结果发现板子根本识别不到仿真器(Jlink仿真和STLINK仿真都识别不到)。而且数显的Power supply的电流显示100度mA,CPU表面微微发烫


2222222.png 111.png

对比V1版电路图和V2版电路图,就CPU电路部分而言:V2版的VCAP_1和VCAP_2都接地了
查看相关手册,觉得这个问题(仿真器不识别),是由VCAP_1和VCAP_2接地引起的。
所以用解焊CPU的31引脚(VCAP_1)和47引脚(VCAP_2),用镊子轻轻挑起,这两个引脚,使之浮空。
然后重新插上仿真器,发现可以识别仿真器,并且下载程序能够正常运行。

量测31引脚(VCAP_1)和47引脚(VCAP_2)电压如下:


1111.png

最后的解决办法,在31引脚(VCAP_1)和47引脚(VCAP_2)挑起的情况下,通过飞线焊接2.2UF电容,另外一端接地。

2016-09-04_192515.png 2016-09-04_192310.png

一、原因分析
     为什么对于LQFP64封装的STM32F4的VCAP_1和VCAP_2都接地就有问题,而对于LQFP64封装的STM32F10XX的31pin和47pin接地就没有问题呢
1、查看STM32F4 datasheet,我这里以STM32F405xx/STM32F407xx 的datasheet为具体实例做以说明。在F4的datasheet的page15 对兼容性板子的STM32F10X 和STM32F4XX做了详细的说明。


page15.png

注:  Ω RESISTOR OR SOLDERING BRIDGE PRESENT FOR THE STM32F10X CONFIGURATION NOT PRESENT IN THE STM32F4XX CONFIGURATION (0欧姆电阻或者桥焊在STM32F10X的板子中出现,而不STM32F4XX的板子中出现

同样的,查看STM32F10XX的datasheet,我这里以STM32F103xC, STM32F103xD,STM32F103xE 的PDF版的datasheet为实例说明。在datasheet前面一部分的描述中,并未对VCAP或VSS做详细描述。


2、查看STM32F4 datasheet对引脚功能的描述表。发现LQFP64的31pin为VCAP_1,47pin为VCAP_2。
31pinF4.png 47pin F4.png


同样的,查看STM32F1 datasheet对引脚功能的描述表:发现F1的31pin是VSS_1,47pin是VSS_2(这个是接地的)。

F1 31pin.png F1 47pin.png

3、查看STM32F4 datasheet中Power supply schemes 章节的电源的内部Block,可以看到VCAP_1和VCAP_2是VOLTAGE REGULATOR(调压器)相关的两个引脚,并且外接一个2.2UF的电容再接地

F4 电源内部.png


再看,该部分章节对调压器的描述:


F4 调压器.png

datasheet 关于这部分,对VCAP_1和VCAP_2的外接电容及串联等效电阻做了明确的规定:
这也就是为什么,F405RGT6的板子上VCAP_1和VCAP_2外接的电容必须是2.2UF而不是其他容值的电容


F4VCAP.png


同样的,查看STM32F1 datasheet中Power supply schemes 章节的电源的内部Block。发现F1的电源的Block中没有VCAP,而多了VSS(接地)。


F1 电源内部.png



4、查看F4 中文参考手册。page89对调压器的描述。

嵌入式线性调压器为备份域和待机电路以外的所有数字电路供电。调压器输出电压约为 1.2 V 。
此调压器需要将两个外部电容连接到专用引脚 VCAP_1 和 VCAP_2,所有封装都配有这两个引脚。为激活或停用调压器,必须将特定引脚连接到 VSS或 VDD。具体引脚与封装有关。
通过软件激活时,调压器在复位后始终处于使能状态。根据应用模式的不同,可采用三种不同的模式工作。

F4 调压器中文.png

也就是这里,对CAP_1 和 VCAP_2的真正作用,做了详细的说明。CAP_1 和 VCAP_2是连接到调压器上,为备份域和待机电路以外的所有数字电路供电。也就是手册中说到的1.2V域。(“调压器为 1.2 V 域(内核、存储器和数字外设)提供全功率”)。而有些封装么有CAP_1 (pin31)和 VCAP_2(pin47),而有VSS_1(pin31)和VSS_2(pin47)。VSS_1(pin31)和VSS_2(pin47)的真正作用是激活或者停用调压器


F4 电源内部中文.png

同样的,查看F1的中文参考手册中,page37对电源部分的描述:


STM32的工作电压(V DD) 为2.0~3.6V。通过内置的电压调节器提供所需的1.8V电源。

也就是说,这里的调压器输出电压为1.8V,为内核,内存和外设等提供电压。(1.8V域)


所以我们这个案子问题产生的原因就是:设计人员,因为之前F1的经验,对F4的设计也是做了相同的处理。而导致板子除其余电压正常外,不能识别到仿真器。经验惹的祸


二、问题的验证:
1、我手里有Nucleo-F466RE的ST的评估板,所以我想看看Nucleo-F466RE对VCAP_1 (31pin)和 VCAP_2(47pin)是怎么处理的?


Nucleo-64 VACP1和VACP2.png

通过Nucleo-64的原理图可以看到,对VCAP_1 (31pin)和 VCAP_2(47pin),Nucleo-F466RE是直接用SB38,SB33这两个跳线(也可以叫0欧电阻)直接接地了。而在实物图中也是,C22和C25 没有焊接。


F446 实物图.png


那么为什么Nucleo-F466RE又如此特殊呢?
接下来,我们查看STM32F466RE的datasheet。


F446 VAP.png


STM32F446RE的datasheet已经在page15,做出了明确的说明(如上图):
对于STM32F446RE来说,VCAP_1 (31pin)和 VCAP_2(47pin)是 直接接地,而非接电容。
所以在Nucleo-F466RE的板子中,有了SB38和SB33. 那么由于SB38和SB33的加入,而使得我们CPU可以根据不同的芯片型号,而非常灵活的更换CPU。


2、STM32F407ZTG6 板子的VCAP_1 和 VCAP_2
原理图中,对其的处理是:


144pin.png

量测VCAP_1 和 VCAP_2 波形如下:VCAP_1和VCAP_2电压均为1.27V


VCAP12.png



总结:
尽管我们说,STM32的CPU电路很简答,有时候是拿来主义,或者是抄来主义。但是再简单的问题,也需要注意细节。有时候,设计也好,写代码也好,还是不要光照着经验走。有些问题具体问题,还是具体对待,特别是这种电路设计,一定要看datasheet,因为datasheet里面对个别元件或者参数,一定是有详细的说明的。否则就像我们这样,还需要重新打板,不过还好其他电路设计也出现一些问题,改版后重新打板。









此帖出自stm32/stm8论坛

评分

1

查看全部评分



回复

使用道具 举报

104

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2016-9-5 13:31:40 | 显示全部楼层
学习一下`


回复

使用道具 举报

106

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-11-26 21:46:46 | 显示全部楼层
多谢楼主分享啊~~~


回复

使用道具 举报

416

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2016-12-1 13:44:29 | 显示全部楼层
学习了,感谢楼主


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-12 18:00:41 | 显示全部楼层
谢谢分享,希望以后我遇到画F4的板子时想起楼主的经验哈

点评

哈哈,踩楼的人这么少,,,还以为自己写的太烂了。。。。O(∩_∩)O哈哈~ 不过只是我自己的记录。  详情 回复 发表于 2017-1-12 18:20
http://shop34182318.taobao.com/


回复

使用道具 举报

4167

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2017-1-12 18:20:49 | 显示全部楼层
ddllxxrr 发表于 2017-1-12 18:00
谢谢分享,希望以后我遇到画F4的板子时想起楼主的经验哈

哈哈,踩楼的人这么少,,,还以为自己写的太烂了。。。。O(∩_∩)O哈哈~

不过只是我自己的记录。

点评

这就是经验  详情 回复 发表于 2017-1-12 18:25


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-12 18:25:22 | 显示全部楼层
huaiqiao 发表于 2017-1-12 18:20
哈哈,踩楼的人这么少,,,还以为自己写的太烂了。。。。O(∩_∩)O哈哈~

不过只是我自己的记录。

这就是经验
http://shop34182318.taobao.com/


回复

使用道具 举报

39

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-1-13 14:33:35 | 显示全部楼层
感谢你的付出,让大家受益!


回复

使用道具 举报

4

TA的帖子

1

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-1-16 17:16:29 | 显示全部楼层
赞一个,涨姿势了


回复

使用道具 举报

18

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-5-9 09:42:30 | 显示全部楼层
学习了

确实经验也是要借鉴的


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-5-28 10:36:00 | 显示全部楼层
我运气真好好,搜了几个帖子就看到这个说明,stm32f767ZI也是外接2.2uf,抄图的时候看不懂,这下就加上呗。一下子就想起来stm8s也有这个引脚,当时折腾得死去活来,运行得极其不稳定,原来引出vcap引脚时,我以为是过孔直接到背面,结果才发现,没过孔,是从cpu里绕了一圈才出去,离电容太远了,过孔的是IO。

点评

看型号,datasheet对这一点有详细的说明。 而且如果一旦要用这个Vcap,这个电容离CPU一定要近,走线一定要相对短。  详情 回复 发表于 2017-5-28 17:40


回复

使用道具 举报

4167

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2017-5-28 17:40:54 | 显示全部楼层
weiyishh 发表于 2017-5-28 10:36
我运气真好好,搜了几个帖子就看到这个说明,stm32f767ZI也是外接2.2uf,抄图的时候看不懂,这下 ...

看型号,datasheet对这一点有详细的说明。

而且如果一旦要用这个Vcap,这个电容离CPU一定要近,走线一定要相对短。


回复

使用道具 举报

13

TA的帖子

1

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-9-8 16:51:13 | 显示全部楼层
上个月我也遇到这种情况,用的是STM32F446RCT6,

点评

嗯嗯,所以这个还是多看datasheet,多啃datasheet的好,别抛开datasheet设计电路。。。。。  详情 回复 发表于 2017-9-8 17:24


回复

使用道具 举报

4167

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2017-9-8 17:24:21 | 显示全部楼层
vikey_zhu 发表于 2017-9-8 16:51
上个月我也遇到这种情况,用的是STM32F446RCT6,

嗯嗯,所以这个还是多看datasheet,多啃datasheet的好,别抛开datasheet设计电路。。。。。


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-9-14 13:31:16 | 显示全部楼层
楼主好,拜读您的文章,受益匪浅。但有几个疑点希望跟您探讨一下。
第一:我用的是Nucleo-STM32F446ZE,144引脚的芯片,在板子上,VCAP1和VCP2引脚是有对地接2.2uF电容的。
第二:您提到的STM32F446RE的数据手册,第 VCAP_1(31pin)和 VCAP_2(47pin)直接接地,但在手册中,这两个引脚的标识是VSS,并不是VCAP_1和 VCAP_2,VSS一般在设计中,无论是F1还是其他的,都是直接接地的。另外,在STM32F446RE中,有另外的VCAP1,引脚编号是第30,这个引脚需不需要通过2.2uF接地?我手里没有这个板子,但从ZE看来(ZE的VCAP1和VCP2引脚是有对地接2.2uF电容的),也是应该接地的。
以上是我的疑问,没有别的意思,只希望能把问题搞清楚。

点评

感谢您的回复,我来逐条回复您的两点: 1、Nucleo-STM32F446ZE的VCAP1,VCAP2是否接电容还是接地这个一定要好好看datasheet的,我在帖子中的总结并不是我自己杜撰,而是根据datasheet写的内容的。这点您一定要了解  详情 回复 发表于 2017-9-14 16:29


回复

使用道具 举报

4167

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2017-9-14 16:29:55 | 显示全部楼层
本帖最后由 huaiqiao 于 2017-9-14 16:32 编辑
c67890 发表于 2017-9-14 13:31
楼主好,拜读您的文章,受益匪浅。但有几个疑点希望跟您探讨一下。
第一:我用的是Nucleo-STM32F446ZE,144 ...

感谢您的回复,我来逐条回复您的两点:
1、Nucleo-STM32F446ZE的VCAP1,VCAP2是否接电容还是接地这个一定要好好看datasheet的,我在帖子中的总结并不是我自己杜撰,而是根据datasheet写的内容的。这点您一定要了解,LQFP64和LQFP144它的外围电路并不完全相同(如你说的额STM32F446ZE和我的帖子中的STM32F446RE)

2、VCAP这种引脚一般如果有的话(具体是第几pin,这个我没有仔细看),都是接电容后电容的一端接地的。至于我帖子中提到的Nucleo-F446RE,这个在ST的官网可以下载其原理图和PCB,您看了就知道了。如下
有链接