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

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

3天内不再提示

关于STM32WL LSE 添加反馈电阻后无法起振的问题分析

MCU开发加油站 来源:STM32单片机 2023-07-06 18:19 次阅读

1. 问题描述

客户调试STM32WLE5JB 样机的时候遇到这样一个问题:在调试LPUART,不打开外部时钟的时候,能够正常打印,若开启外部的HSE 和LSE 后就没有打印。

2. 问题确认

发现上述问题时,客户使用STM32CubeMX 生成的工程,所以首先建议客户检查LPUART 的时钟配置有没问题,并且让客户尝试使用STM32Cube_FW_WL_V1.2.0\Projects\NUCLEOWL55JC\Examples\UART\LPUART_WakeUpFromStop 例程对比验证。后来客户发现是开启外部时钟HSE 和LSE 后,程序直接卡死在HAL_RCC_OscConfig ,测量不到HSE 的32MHZ 信号。而客户的程序移植到ST 官方的STM32WL NUCLEO 板上可以正常运行。通过前面的验证很容易怀疑是不是客户样机外部HSE 32MHZ 的晶振没有起振。拿到客户的样机后,尝试更换32MHZ 晶振,调整晶振负载电容和使用TCXO,发现都没办法测量到32MHZ 信号,客户程序依旧卡死在HAL_RCC_OscConfig.

3. 问题分析

由于前面都是用客户的电脑和程序调试,客户的电脑上的Keil 版本不能单步调试。针对客户的问题,基于STM32WL AT slave 例程,运行在客户样机上发现现象一致,也是卡死在HAL_RCC_OscConfig 。但使用单步调试进入HAL_RCC_OscCongig 里面发现,卡死具体的原因不是HSE,而是LSE 初始化出了问题,一直在等待LES ready 的信号。具体代码如下:

wKgaomSmlaGACpyBAACaJzl8m_U961.jpg

针对上面的分析,把RTC时钟源更改为HSE_RTC,如下图一,图二, AT slave例程可以正常运行,32MHZ晶振可以起振,使用AT指令可以测量出RF有正常发射出信号。

wKgaomSmlaGAZOx3AAGOaItfFsc372.jpg

图一

wKgZomSmlaGAKuc-AADWP7cQ324371.jpg

图二

同时,对于客户需要使用LPUART,可以按照图三的时钟配置验证:

wKgaomSmlaGAP3tWAAJFON1uhAw211.jpg

图三

客户用他们手上样机同步验证,发现结果一致。确实不使用LSE后,样机可以正常工作,32MHZ晶振也可以正常起振。下一步就要分析导致LSE无法正常工作的原因。客户有按建议尝试更换32.768KHZ的晶振以及负载。并且调整LSEDRIVE为high 即__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_HIGH),发现依然无法正常使用LSE。

4.问题解决

针对LSE无法起振问题,尝试了上面针对硬件和软件多种方法后依然没有解决。后来仔细检查客户原理图发现,客户在32.768KHZ晶振上添加了1M的反馈电阻,如图四R34

wKgZomSmlaGAfdzPAADNMmXM2PU475.jpg

图四

而在STM32WL 规格书 DS13105 Multiprotocol LPWAN 32-bit Arm Cortex-M4 MCUs, LoRa, (G)FSK, (G)MSK, BPSK, up to 256KB Flash, 64KB SRAM (version 8)中明确表示禁止在32.768KHz 晶振的OSC32_IN 和OSC32_OUT引脚中间添加反馈电阻。如下图五:

wKgaomSmlaGADcDYAANILUMzS7k060.jpg

图五

后面按规格书要求,去掉客户样机上的R34 1M电阻,32.768KHz 晶振就可以正常起振,程序不会再卡死在LSE初始化。问题得到解决。

另外,根据AN2867 关于STM32MCU晶振的参考设计要求,从客户晶振规格书查到下面参数

ESR=90K 欧姆

CL = 12.5pF

C0 = 1.3pF

计算得到跨导:gmcrit=2.9032uA/V

可以看到跨导大于STM32WLE5JBI6规格书中LSE最大驱动能力2.7uA/V,如图六示:显然增益裕量不符合起振条件即Gainmargin>5

wKgZomSmlaGAQ62cAAGFmSwxLcM829.jpg

图六

所以最后也建议客户后续更换符合STM32WL规格书要求的32.768KHZ 晶振。具体晶振选型可以参考AN2867。

5.小结

本篇笔记分析了客户使用外部时钟调试STM32WL LPUART无法正常工作的问题。最后分析出问题是由LSE的32.768KHZ晶振没有正常起振引起。而32.768KHZ晶振无法正常起振则是因为客户在32.768KHZ晶振上添加了1M的反馈电阻。虽然在AN2867里有对STM32晶振使用反馈电阻的建议,但需要注意的是针对STM32WL这颗芯片,其规格书中有明确要求禁止在32.768KHz 晶振的OSC32_IN 和OSC32_OUT引脚中间添加反馈电阻。后面将客户样机上的1M的反馈电阻去掉后,样机的32.768KHz 晶振可以正常起振,程序运行正常。虽然最后客户样机使用晶振可以正常起振,但根据AN2867,客户晶振的增益裕量是不符合起振条件的。所以为了避免后续产品量产时出现低速晶振无法起振问题,建议客户参考AN2867选择合适的32.768KHz 晶振。




审核编辑:刘清

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

    关注

    2265

    文章

    10870

    浏览量

    354716
  • RCC
    RCC
    +关注

    关注

    0

    文章

    93

    浏览量

    26892
  • HSE
    HSE
    +关注

    关注

    0

    文章

    17

    浏览量

    9441
  • 负载电容
    +关注

    关注

    0

    文章

    137

    浏览量

    10424
  • 反馈电阻器
    +关注

    关注

    1

    文章

    43

    浏览量

    5223

原文标题:关于STM32WL LSE 添加反馈电阻后无法起振问题

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32WL添加DSP库后用IDE编译报错“uses VFP register arguments”怎么解决?

    STM32WL添加DSP库后用IDE编译报错“uses VFP register arguments”怎么解决?
    发表于 03-14 07:10

    使用CubeMX创建STM32WL板子的LoRaWAN应用

    本篇 LAT 介绍使用 CubeMX 创建基于采用 STM32WLE5JC/STM32WL55JC 的 STM32WL 板子 的 LoRaWAN 应用。
    的头像 发表于 07-08 13:09 3466次阅读

    使用CubeMX创建基于STM32WL的LoRa应用

    本篇 LAT 介绍使用 CubeMX 创建基于 STM32WL 的 LoRa 应用。
    的头像 发表于 07-18 09:05 5638次阅读

    用于 STM32WL 系列 LoRa®调制的 RSSI 和 SNR

    用于 STM32WL 系列 LoRa®调制的 RSSI 和 SNR
    发表于 11-21 08:11 0次下载
    用于 <b class='flag-5'>STM32WL</b> 系列 LoRa®调制的 RSSI 和 SNR

    应用笔记 | 关于STM32WL LSE 添加反馈电阻无法问题

    关键字:STM32WLLSE, 反馈电阻,32.768KHZ 目录预览 1 问题描述  2 问题确认 3 问题分析 4 问题解决 5 小结 1. 问题描述 客户调试
    的头像 发表于 07-05 18:05 1231次阅读
    应用笔记 | <b class='flag-5'>关于</b><b class='flag-5'>STM32WL</b> <b class='flag-5'>LSE</b> <b class='flag-5'>添加</b><b class='flag-5'>反馈电阻</b><b class='flag-5'>后</b><b class='flag-5'>无法</b><b class='flag-5'>起</b><b class='flag-5'>振</b>问题

    STM32WL系列的STM32CubeWL入门

    电子发烧友网站提供《STM32WL系列的STM32CubeWL入门.pdf》资料免费下载
    发表于 08-01 17:02 1次下载
    <b class='flag-5'>STM32WL</b>系列的<b class='flag-5'>STM32</b>CubeWL入门

    关于STM32WL LSE 添加反馈电阻无法问题

    关于STM32WL LSE 添加反馈电阻无法
    的头像 发表于 10-25 16:48 831次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>STM32WL</b> <b class='flag-5'>LSE</b> <b class='flag-5'>添加</b><b class='flag-5'>反馈电阻</b><b class='flag-5'>后</b><b class='flag-5'>无法</b><b class='flag-5'>起</b><b class='flag-5'>振</b>问题

    STM32WL私有LoRa网络设计原理以及演示介绍

    STM32WL私有LoRa网络设计原理以及演示介绍
    的头像 发表于 09-19 16:42 2967次阅读
    <b class='flag-5'>STM32WL</b>私有LoRa网络设计原理以及演示介绍

    STM32WL FUOTA应用设计

    电子发烧友网站提供《STM32WL FUOTA应用设计.pdf》资料免费下载
    发表于 09-19 15:01 2次下载
    <b class='flag-5'>STM32WL</b> FUOTA应用设计

    STM32WL安全特性介绍

    电子发烧友网站提供《STM32WL安全特性介绍.pdf》资料免费下载
    发表于 09-19 15:03 0次下载
    <b class='flag-5'>STM32WL</b>安全特性介绍

    STM32WL LoRa RF测试

    电子发烧友网站提供《STM32WL LoRa RF测试.pdf》资料免费下载
    发表于 09-19 14:45 2次下载
    <b class='flag-5'>STM32WL</b> LoRa RF测试

    STM32WL使用STM32CubeMX创建LoRa节点应用

    电子发烧友网站提供《STM32WL使用STM32CubeMX创建LoRa节点应用.pdf》资料免费下载
    发表于 09-19 14:46 1次下载
    <b class='flag-5'>STM32WL</b>使用<b class='flag-5'>STM32</b>CubeMX创建LoRa节点应用

    STM32WL LoRa例程介绍

    电子发烧友网站提供《STM32WL LoRa例程介绍.pdf》资料免费下载
    发表于 09-19 14:49 2次下载
    <b class='flag-5'>STM32WL</b> LoRa例程介绍

    STM32WL软件简介

    电子发烧友网站提供《STM32WL软件简介.pdf》资料免费下载
    发表于 09-19 14:51 1次下载
    <b class='flag-5'>STM32WL</b>软件简介

    STM32WL硬件简介

    电子发烧友网站提供《STM32WL硬件简介.pdf》资料免费下载
    发表于 09-19 14:53 2次下载
    <b class='flag-5'>STM32WL</b>硬件简介