你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L451VE的MSI时钟被LSE影响的问题?

[复制链接]
啊呜 提问时间:2021-4-25 15:45 / 未解决
    大家好,最近在使用STM32L451VET6时发现如下情况,请帮忙
在STM32L451VET6中使用MSI(默认4M)时钟提供系统时钟,发现串口波特率紊乱引起数据通信问题。经过阅读RM0349资料,发现MSI时钟有硬件校准机制,如下,我的理解是当使能LSE,通过配置RCC_CR寄存器位MSIPLLEN位,使MSI处于PLL模式时,会开启自动校准,这个校准会一直持续。

RM0394关于MSI硬件校准的描述

RM0394关于MSI硬件校准的描述

在我的应用中,发现一个问题,
在我的IAP最小系统中,使用MSI(4MHz)作为系统时钟,未使能LSE,但是OSC32引脚上有8KLSE时钟信号,此时PA8的MCO输出MSI时钟为2.780MHz,即MSI时钟信号发生了变化;

MSI时钟信号

MSI时钟信号

在进入APP程序后,使能LSE,此时LSE的时钟信号依然为8K,再次测试PA8的MCO,输出MSI时钟为4M,此时MSI时钟信号恢复到4MHz;

MSI时钟信号

MSI时钟信号



针对此现象我咨询ST相关的FAE,给出解释是当LSE使能后,MSI就会一直校准,且当LSE时钟不为32.768K的时候,PLL锁相环是不工作的。


为排除IAP与APP跳转产生的干扰,我对此我做了如下实验:
1、系统时钟由MSI提供(4Mhz),未使能LSE,但OSC32的引脚上提供的了一个8K的时钟信号,通过PA8的MCO功能输出MSI为2.786MHz,如下:
LSE
Catch0287(04-25-15-22-15).jpg
MSI
CatchC313(04-25-15-22-15).jpg


2、系统时钟由MSI提供(4Mhz),未使能LSE,但OSC32的引脚上提供的了一个32.66K的时钟信号,通过PA8的MCO功能输出MSI为4.013MHz,如下:
LSE
CatchB1F3(04-25-15-22-15).jpg
MSI
Catch2598(04-25-15-22-15).jpg


3、系统时钟由MSI提供(4Mhz),硬件上断开OSC32与时钟信号之间的通路,通过PA8的MCO功能输出MSI为3.987MHz,如下:
MSI
Catch8ABA(04-25-15-22-15).jpg


针对我的现象,我的疑问在于,LSE和MSI的校准存在一个什么关系,才会导致硬件上给LSE提供一个不为32.768K的信号且软件上不使能LSE的情况下,影响到MSI时钟的精度,请教给位技术大佬帮忙分析,谢谢!








收藏 评论1 发布时间:2021-4-25 15:45

举报

1个回答
xmshao 回答时间:2021-5-19 14:42:19
LSE和MSI并没有必然的关系。

如果说你选择MSI作为PLL的时钟源,将MSI配置在PLL-Mode上,二者才会有关联。硬件会自动基于LSE对MSI进行校准操作。

当然,MSI本身也可以直接作为系统时钟。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版