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

发布者:自由探索者最新更新时间:2024-09-19 来源: elecfans关键字:STM32WL  LSE  反馈电阻 手机看文章 扫描二维码
随时随地手机看文章

1. 问题描述

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


2.问题确认

发现上述问题时,客户使用STM32CubeMX 生成的工程,所以首先建议客户检查LPUART 的时钟配置有没问题,并且让客户尝试使用STM32Cube_FW_WL_V1.2.0ProjectsNUCLEOWL55JCExamplesUARTLPUART_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 的信号。具体代码如下:

wKgZomUDwyqAK_j-AABc2Bf3Ez4551.png?imageView2/2/w/1000

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

wKgaomUDwyuAAX_fAAGGbCwByZg291.png?imageView2/2/w/1000

图一

wKgZomSmlaGAKuc-AADWP7cQ324371.jpg?imageView2/2/w/1000

图二

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

wKgaomUDwy6AZqPxAAI0Q4cVU5Y942.png?imageView2/2/w/1000

图三

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

4.问题解决

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

wKgZomSmlaGAfdzPAADNMmXM2PU475.jpg?imageView2/2/w/1000

图四

而在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引脚中间添加反馈电阻。如下图五:

wKgaomUDwzOAaakBAALox9cGMU8975.png?imageView2/2/w/1000

图五

后面按规格书要求,去掉客户样机上的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?imageView2/2/w/1000

图六

所以最后也建议客户后续更换符合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 晶振。

关键字:STM32WL  LSE  反馈电阻 引用地址:关于STM32WL LSE 添加反馈电阻后无法起振问题

上一篇:STM32单片机如何实现软硬件结合?
下一篇:应用笔记 | STM32U575/585 MCU 硬件开发入门

推荐阅读最新更新时间:2026-03-25 10:41

一种光敏电阻提供负反馈实现线性响应
增益受控放大电路位于正向放大通路,其增益随控制电压而改变。控制电压形成电路的基本部件是 AGC 检波器和低通平滑滤波器,有时也包含门电路和直流放大器等部件。    光敏电阻器 是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。   图1显示了光耦合器的各个部件以及组装后的器件。光耦合器由一个圆柱形容器和另一端的一个光敏电阻组成。一个不透明的绝缘密封圈防止外部光线进入器件。容器的抛光金属内壁使得LED和光敏电阻之间的光损耗
[模拟电子]
一种光敏<font color='red'>电阻</font>提供负<font color='red'>反馈</font>实现线性响应
深入浅出Buck变换器反馈电阻作用
Buck变换器由于具有效率高的优点而被广泛应用于手机、GPS、MP3等移动多媒体设备上,目前很多 电源管理芯片 制造厂商都推出了不同 电流 能力的Buck变换器,这类变换器虽然在电流能力和保护功能方面存在一些差异,但是他们 电路 的主框架结构是基本一致的,主要可以分为两个部分:一是实现电能转换的主功率部分,另一部分是实现负反馈控制的控制电路,如图1所示。   图1 Buck变换器电路主框图     对于不同厂商设计的Buck变换器 芯片 ,外围电路所需要的器件会有所不同,这是因为芯片的集成度有差异,比如,有的厂商会把功率管集成在芯片内部;有的厂商会把控制部分的补偿网络集成在芯片内部。集成度越高的
[电源管理]
深入浅出Buck变换器<font color='red'>反馈</font><font color='red'>电阻</font>作用
用正反馈方式改善线性的简化电阻测温电路
电路的功能 本电路是一种采用正反馈方式,带线性器的温度测量电路,温度上升,测温电阻流过的电流就会增大,温度变化范围为0~500°C时,可得到0~5V的电压输出,误差可控制在正负0.08%以内。 电路工作原理 OP放大器A1为反相放大电路,在反馈环路中连接了测温电阻,用5MA电流进行恒定电流置偏时,A1输出端可有-0.5V的电压。假定RTD的变化量为△R,输出电压的变化量则为△R*5MA。 调零的方法是用R2、R3及VR2对基准电压进行分压,并经R7输入A3。 关于线性上升问题:A1输出被R和VR1分压,送入反相放大器A2从而构成正反馈,用加大RTD偏流的办法来进行修正。 输出放大器A3的作用是倒相,并
[测试测量]
用正<font color='red'>反馈</font>方式改善线性的简化<font color='red'>电阻</font>测温电路
使用NUCLEO-U575开发板的Timer15进行LSE测量
1.引言 客户在使用 STM32U5 时,想对外部 LSE 的起振情况和精度进行监测,于是使用 HSE 为时钟基准,对 LSE 进行测量。 Note : 本文中由于 Nucleo 开发板默认没有焊接 HSE 器件,因此,采用内部高速时钟替代 HSE 作为 PLL 的时钟源。为保证测量精度,应用中可以将时钟源替换为 HSE 即可。 2. 测量的实现 使用 NUCLEO-U575 开发板的 Ti mer15 进行 LSE 的测量。Timer15 在 APB2 总线上, 配置为使 用内部时钟,时钟 base 为 160MHz。 使用 Timer15 对 256 个 LSE 周期进行测量,然后对比精确度。 3. 测量的详细
[单片机]
使用NUCLEO-U575开发板的Timer15进行<font color='red'>LSE</font>测量
工程师笔记|使用 HSE 时钟源对 LSE 精度进行测量
引言 客户在使用 STM32U5 时,想对外部 LSE 的起振情况和精度进行监测,于是使用 HSE 为时钟基准,对 LSE 进行测量。 Note : 本文中由于 Nucleo 开发板默认没有焊接 HSE 器件,因此,采用内部高速时钟替代 HSE作为 PLL 的时钟源。为保证测量精度,应用中可将时钟源替换为 HSE 。 测量的实现 使用 NUCLEO-U575 开发板的 Timer15 进行 LSE 的测量。Timer15 在 APB2 总线上, 配置为使用内部时钟,时钟 base 为 160MHz。使用 Timer15 对 256 个 LSE 周期进行测量,然后对比精确度。 测量的详细情况 TIM15 时钟源选
[单片机]
STM32 RTC时钟源LSE
一开始,所有实验都是在神舟板上去完成,根本就没有发现RTC的问题。直到我们自己画板来后调试时,才发现STM32 RTC的外部时钟源存在问题。 这也算是STM32的一个鸡肋,对于LSE外部晶振太过于苛刻,手册上要求使用6pf,这个规格的晶振市场上太少,鱼龙混杂,中招的高手菜鸟不在少数。我们自己的板也是如此,几经波折,反反复复尝试使用不同的规格的晶振,替换外部的电容,电阻都没有能让这个32.768K的LSE起振。但是又需要有RTC来提供时间,考虑的方法主要有2种,第一采用外部RTC时钟芯片,如DS1302。第二是使用内部其它的时钟源来提供RTC时钟。毫无疑问,目前板已经制好,添加时钟芯片肯定造成板上布局更改,还得重新打板,这里采用了第二
[单片机]
STM32 RTC时钟源<font color='red'>LSE</font>
STM32WL私有LoRa网络设计原理以及演示介绍
前言 STM32WL是市场上首款可以连接LoRa低功耗广域网的系统级芯片,它继承了STM32MCU超低功耗特性,支持多种Sub-GHz调制方案。LoRa作为市场上流行的长距离物联网无线连接技术,它的应用场景一般是以标准LoRaWAN网络组网或者私有LoRa网络组网的形式呈现。STM32WL在LoRa网络应用中大多是扮演终端节点的角色。比如在LoRaWAN网络中,运行LoRaWAN协议的STM32WL终端节点可以连接专门的LoRaWAN网关进行通信。 本文将介绍私有LoRa网络中STM32WL扮演的一个新角色,即私有LoRa网关。内容涉及STM32WL基于LoRa调制技术的私有网络设计原理,介绍STM32WL如何采用时分和频分的
[单片机]
<font color='red'>STM32WL</font>私有LoRa网络设计原理以及演示介绍
ST STM32WL Nucleo-64开发板贸泽开售
专注于引入新品的全球电子元器件授权分销商贸泽电子 (Mouser Electronics) 自豪地宣布即日起开售基于STM32WL 系列新款MCU的STMicroelectronics (ST) STM32WL Nucleo-64 开发板。STM32WL是全球首款将LoRa® 收发器集成到其芯片的无线MCU,符合工业和消费类物联网(IoT) 市场各种低功耗广域网 (LPWAN) 无线应用的要求。 贸泽电子供应的ST NUCLEO-WL55JC1和NUCLEO-WLJC2开发板为设计工程师提供一种经济实惠的灵活方式来尝试新的sub-GHz无线通信概念。设计师可以使用STM32WL系列无线MCU来设计原型,并灵活选择各种性能
[嵌入式]
ST <font color='red'>STM32WL</font> Nucleo-64开发板贸泽开售
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved