需要根据仔细根据手册来决定这两个引脚是直接接地还是电容下拉到地

转载: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里面对个别元件或者参数,一定是有详细的说明的。否则就像我们这样,还需要重新打板,不过还好其他电路设计也出现一些问题,改版后重新打板。

STM32之VCP1/VCAP2引脚的处理的更多相关文章

  1. stm32 复位后 引起引脚的变化,输出电平引起的问题

    在做项目的时候,需要通过蓝牙发送指令给STM32,使其复位,然后进入bootloader程序进行升级,但是复位后会导致蓝牙模块关机.stm32有个引脚连接着蓝牙的开关机引脚,高电平开机,低电平关机,我 ...

  2. stm32输入的功能引脚功能介绍

    Ⅰ.写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx).但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可 ...

  3. STM32库函数编程、Keli/MDK、stm32f103zet6

    catalogue . Cortex-M3地址空间 . 基于标准外设库的软件开发 . 基于固件库实现串口输出(发送)程序 . 红外接收实验 . 深入分析流水灯例程 . GPIO再举例之按键实验 . 串 ...

  4. (一)stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  5. LPC同STM32的比较

    Cortex-M3是新兴起来的一种ARM7的核,而ARM7TDMI是一种传统的经典的ARM内核.我们就抛开这一切,来比较一下两则的异同. 我们就在以下平台上比较吧: STMicoelectronics ...

  6. Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释

    在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...

  7. stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  8. 7.STM32中GPIO理解

    端口概述 在STM32中,每个I/O端口可以由软件配置成为输入/输出模式.复位期间或刚复位后,I/O端口被配置成浮空输入模式.所有的GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时, 它们可以被激 ...

  9. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

随机推荐

  1. Dom vs Canvas (译)

    原文:dom_vs_canvas 在web上做动画我们有很多选择:svg,dom,canvas,flash等等.但是根据业务场景我们一定能找到最优的技术解决方案,但是何时选择dom,何时使用canva ...

  2. tensorboard 用法

    step1:  代码中把summary写到文件中 step2: dos窗口执行tensorboard命令 切换到代码所在目录下,输入: tensorboard --logdir=./tmp/graph ...

  3. TCP协议与流通信

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! TCP(Transportation Control Protocol)协议与IP ...

  4. javaScript的类型转换

    1.javaScript会自动跟据期望将值进行转换,比如 2.下面表列出了一些javaScript的自动转换,其中粗体字表示了出乎意料的转换情况 3.显示的类型转换 尽管类型可以自动进行一些转换,但是 ...

  5. bzoj3312

    K个硬币,要买N个物品. 给定买的顺序,即按顺序必须是一路买过去,当选定买的东西物品序列后,付出钱后,货主是不会找零钱的.现希望买完所需要的东西后,留下的钱越多越好,如果不能完成购买任务,输出-1 $ ...

  6. [POI 2000] 公共串

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2946 [算法] 建立多串后缀树 对于后缀树上的每个点 , 判断该节点所代表的等价类是 ...

  7. C# 架构模式

    单例模式 (Singleton) 单例讲的是当一个类被初次调用时,会产生一个类的实例, 而这个类的实例会贯穿程序的整个生命周期.单例提供了一个全局.唯一的实例. 步骤:1.让类自己创建一个实例:2.提 ...

  8. C# 测试代码#if DEBUG使用

    代码示例: #if DEBUG      Console.WriteLine("DEBUG:11111111111"); #else       Console.WriteLine ...

  9. 存储过程为参数NULL时的处理方法

    准备一些数据: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Goods]( ) NULL, ) NULL, ...

  10. pandas基础(2)_多重索引

    1:多重索引的构造 >>> #下面显示构造pd.MultiIndex >>> df1=DataFrame(np.random.randint(0,150,size= ...