0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32实战案例分享:剖析STM32应用在电源项目上常见的那些难题

STM32单片机 来源:互联网 作者:丁德辉 2017-10-23 17:25 次阅读

我们在从事STM32单片机的应用开发及调试过程中,往往会碰到各类异常。其中有不少比例的问题跟电源有关。对于一个电子产品而言,电源部分很关键、很重要,但在实际开发调试中,我们偶尔会有意无意的忽视它。这里分享几个实际案例,以加强刺激,加深印象。

毕竟因为电源问题可能导致的异常很多很多,这里分享几个案例算是抛砖引玉,希望大家在调试中对电源方面加以重视。个人认为,往往电源出问题时导致的异常时并不太好分析,多数时候异常表现得更为诡异或没章法。【注:下面提到的案例中异常原因都与电源有关,但并不是说出现类似异常时一定是电源的原因。】

下面主要分享几个基于STM32应用的案例。

案例1:ADC功能异常

某人使用STM32芯片ADC功能,发现ADC数据完全不对。反复核对供电、ADC硬件线路、来回验证ADC相关软件配置都没能解决问题,让人抓狂。后来一个个检查芯片的电源脚的连接情况,竟然发现VDDA没有连接电源。

案例2:STM32芯片的PLL无法正常工作

有人使用STM32F373开发产品,每次开启PLL都不能正常运行。如果不跑PLL,即运行基本HSI或HSE都没有问题。首先怀疑是软件配置方面的问题,可是即使使用ST官方的标准库和CUBE库中的例程测试也还是有问题。初步确认和检查,供电电源稳定,一度怀疑芯片品质问题。几经反复比较测试验证,后来发现MCU芯片的一个VDDA脚处于悬空状态,可靠接上电源后问题解决。因为PLL的正常工作也离不开VDDA的供电。

案例3:USB主机的VBUS引脚相连的GPIO容易坏掉

某客户反映STM32芯片某管脚使用一阵子后出现电平异常,进一步证实为该管脚坏损。大致使用情况如下面原理图所示:

STM32芯片从外部USB主机的VBUS取电。外部VBUS的供电经过一个LDO后再给STM32 MCU供电,同时,MCU的另外一个GPIO【PA9】与外部VBUS直接相连。

这个电路咋看上去貌似没什么问题。但由于外部VBUS 5v电源先要经过LDO再供给MCU,这里就有个延时,而GPIO PA9脚则是与VBUS直连。这就导致接上USB插头的一定时间内,VDD=0v,GPIO PA9的Vin=5v,进而出现VIN[5v]> (VDD+4.0v)的状况,超过了MCU芯片数据手册规定的相应GPIO最大输入电压。

所以在开发调试过程中,要注意遵守芯片的各个电源特性参数

案例4:从STM32F1系列芯片移植到STM32F4时功能异常

曾有工程师反映,之前用STM32F1系列芯片好好的,后来因为产品需要,改用STM32F2或STM32F4芯片后,发现芯片根本不能正常工作,即使最简单的程序也跑不顺畅。后来发现其中有部分异常情况源于使用者没有处理VCAP引脚。STM32F1系列芯片没有外部VCAP引脚,而F2/F4等系列芯片有VCAP脚的,该类脚需外接合适的电容到地,以保证内核供电的稳定。【部分STM8也有VCAP脚】

案例5:JLINK无法连接STM32目标板

有人使用J-LINK调试STM32F071芯片的板子,通过JLINK与STM32F071目标板进行SWD连接,目标板已经供电。但发现不论是通过J-FLASH还是MDK,JLINK都没法与目标板连接上。

来回检查SWD的4根连接线VDD、SWDIO、SWCLK、GND,没有发现问题。因担心J-LINK驱动版本等问题,建议其使用STLINK进行连接,即使用ST官方的STLINK UTILITY软件工具也无法连接目标板。建议客户核对MCU芯片所有电源及管脚连接情况,最后发现有个负责给GPIO供电的电源脚VDDIO悬空,将其连接电源后,连接正常。

注:STM32系列中,有些芯片的电源部分,除了有VDD,VDDA、VDD_USB外,还有专门的VDDIO供电脚。本案例中,客户是从STM32F1系列产品移植过来的,STM32F1系列芯片上是没有VDDIO电源脚的,所以在移植到STM32F0芯片时,硬件设计时忽视了这个VDDIO脚。

顺便说下,整体上讲,STM32不同系列间移植时软硬件的兼容性还是很高的,尤其硬件管脚方面的兼容性。不同系列间相同脚位数的管脚安排的差异大多体现在与电源相关的管脚,这点要特别注意。另外提醒下,部分STM8芯片也有这个VDDIO脚

案例6:STM32芯片总时不时烧掉

曾经有人反映在使用STM32开发产品中,时不时发现STM32主芯片坏掉。后来几经测试验证发现是原来前端的电源供电芯片品质不行,一定比例的电源输出器件输出异常导致STM32遭殃,进而影响整个产品功能。

简单罗列以上几个案例,权当提醒。这些案例事后在这里写起来是轻飘飘的几句话,不过在没找到原因之前往往并不那么轻松,有时可能折腾很久才解决问题。

====================================

1、STM32各类本地化资料的下载

2、利用QuadSPI外扩串行NOR Flash的实现

3、一个跟内存分配有关的DMA异常话题

4、低温下部分产品RTC不工作的问题探析

5、获取ST MCU技术资料及相关支持的方式与途径


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    盘点那些硬件+项目学习套件:STM32U5单片机开发板及入门常见问题解答

    实际项目中,提升编程水平和功能实现能力,磨练自己的技能并丰富经验。 3. 按照上面项目导向式的学习方法,先完成STM32外设基础知识入门+实验应用+综合性项目
    发表于 02-19 16:59

    盘点那些硬件+项目学习套件:STM32MP157 Linux开发板及入门常见问题解答

    STM32MP157开发板配套全体系学习资料。 • 嵌入式应用层学习路线:Linux基础与应用开发、QT界面开发、Qt综合项目实战,基础入门+项目
    发表于 02-01 14:25

    基于STM32制作的500KHz示波器项目

    今天小编给大家带来国外的Maker Mirko Pavleskid的基于STM32制作的500KHz示波器项目
    的头像 发表于 12-03 10:07 698次阅读
    基于<b class='flag-5'>STM32</b>制作的500KHz示波器<b class='flag-5'>项目</b>

    STM32库开发实战指南

    STM32库开发实战指南-刘火良,电子 epub格式,清晰非扫描
    发表于 10-27 16:25 8次下载

    STM32串口中断及DMA接收常见的几个问题

    STM32串口中断及DMA接收常见的几个问题
    的头像 发表于 10-26 16:41 2347次阅读
    <b class='flag-5'>STM32</b>串口中断及DMA接收<b class='flag-5'>常见</b>的几个问题

    RC复位电路和ic复位电路有什么区别?分别应用在哪里?

    常见的复位电路有RC复位电路,和用ic复位电路,这两种复位电路有什么区别,分别应用在哪里?
    发表于 10-24 06:51

    理解STM32控制中常见的PID算法

    理解STM32控制中常见的PID算法
    的头像 发表于 10-17 17:28 1391次阅读
    理解<b class='flag-5'>STM32</b>控制中<b class='flag-5'>常见</b>的PID算法

    零死角地玩转STM32F429

    STM32库开发实战指南F4
    发表于 08-28 14:57 2次下载

    STM32 SPI基础内容

    SPI,全称为 Serial Peripheral Interface(串行外设接口) ,是一种用于短距离通信的同步串行通信接口,主要应用在嵌入式系统。 SPI的应用场合很广,显示模组、时钟芯片
    的头像 发表于 08-19 09:14 2482次阅读
    <b class='flag-5'>STM32</b> SPI基础内容

    STM32电源框架图解析

    STM32的工作电压(VDD )为2.0~3.6V,通过内置的电压调节器提供所需的1.8V电源,当主电源VDD 掉电后,通过VBAT 脚为实时时钟(RTC)和备份寄存器提供电源(下图为
    发表于 08-06 09:23 870次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>电源</b>框架图解析

    STM32定时器基本原理及常见问题

    电子发烧友网站提供《STM32定时器基本原理及常见问题.pdf》资料免费下载
    发表于 08-02 09:24 1次下载
    <b class='flag-5'>STM32</b>定时器基本原理及<b class='flag-5'>常见</b>问题

    STM32CubeIDE中基于STM32L5系列的项目入门

    电子发烧友网站提供《STM32CubeIDE中基于STM32L5系列的项目入门.pdf》资料免费下载
    发表于 08-01 17:27 0次下载
    <b class='flag-5'>STM32</b>CubeIDE中基于<b class='flag-5'>STM32</b>L5系列的<b class='flag-5'>项目</b>入门

    基于STM32G4的电机控制项目开发

    电子发烧友网站提供《基于STM32G4的电机控制项目开发.pdf》资料免费下载
    发表于 08-01 16:35 10次下载
    基于<b class='flag-5'>STM32</b>G4的电机控制<b class='flag-5'>项目</b>开发

    STM32电机控制应用实战分享

    电子发烧友网站提供《STM32电机控制应用实战分享.pdf》资料免费下载
    发表于 07-31 15:04 13次下载
    <b class='flag-5'>STM32</b>电机控制应用<b class='flag-5'>实战</b>分享

    STM32F0—电源控制

    电子发烧友网站提供《STM32F0—电源控制.pdf》资料免费下载
    发表于 07-31 14:56 0次下载
    <b class='flag-5'>STM32</b>F0—<b class='flag-5'>电源</b>控制