STM32之VCP1/VCAP2引脚的处理
需要根据仔细根据手册来决定这两个引脚是直接接地还是电容下拉到地
转载:STM32的Vcap的问题及解决---原来经验也害人
http://bbs.eeworld.com.cn/thread-499497-1-1.html
(出处: 电子工程世界-论坛)
前言
我有个同事,经常也是设计电路这些的,像stm32f1,stm32f4这些的电路经常在设计,算是经验丰富吧。但是这次有个案子(平台:MDK+STM32F405RGT6(LQFP64封装)),他也参与了改版V2版(之前那个版本是别人设计的,称之为V1版,其实主要就是改原理图后lay板)。当时,改版完成后,审图的时候并没有仔细看CPU电路,以为和之前的电路一样(之前的CPU电路是完全OK的)。所以,板子就去打板了。。。。因为板子上还有其他模块被改,所以板子打回来我们就焊接了几pcs,在确定板子焊接没问题之后,插上仿真器结果发现板子根本识别不到仿真器(Jlink仿真和STLINK仿真都识别不到)。而且数显的Power supply的电流显示100度mA,CPU表面微微发烫。
对比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)电压如下:
最后的解决办法,在31引脚(VCAP_1)和47引脚(VCAP_2)挑起的情况下,通过飞线焊接2.2UF电容,另外一端接地。
一、原因分析
为什么对于LQFP64封装的STM32F4的VCAP_1和VCAP_2都接地就有问题,而对于LQFP64封装的STM32F10XX的31pin和47pin接地就没有问题呢?
1、查看STM32F4 datasheet,我这里以STM32F405xx/STM32F407xx 的datasheet为具体实例做以说明。在F4的datasheet的page15 对兼容性的板子的STM32F10X 和STM32F4XX做了详细的说明。
注: Ω 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。
同样的,查看STM32F1 datasheet ,对引脚功能的描述表:发现F1的31pin是VSS_1,47pin是VSS_2(这个是接地的)。
3、查看STM32F4 datasheet中Power supply schemes 章节的电源的内部Block,可以看到VCAP_1和VCAP_2是VOLTAGE REGULATOR(调压器)相关的两个引脚,并且外接一个2.2UF的电容再接地。
再看,该部分章节对调压器的描述:
datasheet 关于这部分,对VCAP_1和VCAP_2的外接电容及串联等效电阻做了明确的规定:
这也就是为什么,F405RGT6的板子上VCAP_1和VCAP_2外接的电容必须是2.2UF而不是其他容值的电容。
同样的,查看STM32F1 datasheet中Power supply schemes 章节的电源的内部Block。发现F1的电源的Block中没有VCAP,而多了VSS(接地)。
4、查看F4 中文参考手册。page89对调压器的描述。
嵌入式线性调压器为备份域和待机电路以外的所有数字电路供电。调压器输出电压约为 1.2 V 。
此调压器需要将两个外部电容连接到专用引脚 VCAP_1 和 VCAP_2,所有封装都配有这两个引脚。为激活或停用调压器,必须将特定引脚连接到 VSS或 VDD。具体引脚与封装有关。
通过软件激活时,调压器在复位后始终处于使能状态。根据应用模式的不同,可采用三种不同的模式工作。
也就是这里,对
同样的,查看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的原理图可以看到,对VCAP_1 (31pin)和 VCAP_2(47pin),Nucleo-F466RE是直接用SB38,SB33这两个跳线(也可以叫0欧电阻)直接接地了。而在实物图中也是,C22和C25 没有焊接。
那么为什么Nucleo-F466RE又如此特殊呢?
接下来,我们查看STM32F466RE的datasheet。
STM32F446RE的datasheet已经在page15,做出了明确的说明(如上图):
对于STM32F446RE来说,VCAP_1 (31pin)和 VCAP_2(47pin)是 直接接地,而非接电容。
所以在Nucleo-F466RE的板子中,有了SB38和SB33. 那么由于SB38和SB33的加入,而使得我们CPU可以根据不同的芯片型号,而非常灵活的更换CPU。
2、STM32F407ZTG6 板子的VCAP_1 和 VCAP_2
原理图中,对其的处理是:
量测VCAP_1 和 VCAP_2 波形如下:VCAP_1和VCAP_2电压均为1.27V
总结:
尽管我们说,STM32的CPU电路很简答,有时候是拿来主义,或者是抄来主义。但是再简单的问题,也需要注意细节。有时候,设计也好,写代码也好,还是不要光照着经验走。有些问题具体问题,还是具体对待,特别是这种电路设计,一定要看datasheet,因为datasheet里面对个别元件或者参数,一定是有详细的说明的。否则就像我们这样,还需要重新打板,不过还好其他电路设计也出现一些问题,改版后重新打板。