技术支持
HOME
技术支持
正文内容
stm32晶振 STM32学习心得——STM32外部晶振更换设置
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

STM32学习心得——STM32外部晶振更换设置

之前小编申请了一个STM32免费的迷你板,调试串口通信时总是弄不好。后来发现大多数stm32采用的是8M的晶振,但是手里这块迷你版采用的是12M的晶振,其实STM32支持4—16MHz之内任何频点的晶振。于是想到了两个解决方案。第一个是改程序,第二个是换晶振。本着不乱改硬件的原则,决定开始更改程序。

keil 5

经过查资料得知,其实就是把system_stm32f10x.c里面的时钟设置改一下就行了,原本8*9=72。12M的晶振72/12=6。但是把响应位置改过了之后并没有成功。后来查倒stm32f10x.h里面也有时钟的设置。再次更改,依旧失败。最终到处查询后找到了问题所在——keil自身设置。

keil设置界面

下面我们就通过简单的三个步骤教大家怎更改外部晶振设置:

第一步,打开stm32f10x.h,将

#define HSE_VALUE ((uint32_t)8000000)

修改为:

#define HSE_VALUE ((uint32_t)12000000)

第二步,打开system_stm32f10x.c,修改PLL参数,将

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

修改为:

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);

第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,找到Target标签,你会发现,外接的晶振默认还是8MHz,我们将外接的晶振参数修改为12MHz。这样就完成了晶振频率的设置。

直击数字电路“强”心脏,10分钟读懂晶振

也许有人说晶振这玩意,呵,有什么好写的。

晶振内部结构是怎么样的?

晶振该怎么选择?

晶振的布局走线怎么办?

这些晶振问题,你都会吗?晶振产生的时钟被比喻成电路系统的心脏可不是随便说说的。今天重点给大家讲讲你熟悉又陌生的晶振。

在写这篇文章前,前去拜读了各家微信公众号的相关内容。关于晶振的文章很多,简要列几条:

石英谐振器简称为晶振;

按晶振的功能和实现技术分:TCXO、VCXO、OCXO;

晶振选择五要素:输出频率、频率稳定性和温度范围、输出电压和功率、输出波形、封装尺寸和外形;

我们必考课堂的视频中也花了一些时间给大家做了相关讲解。

好了,不长篇大论讲理论,小编直接上干货——晶振的必考知识点:

知识点一:5个要点搞定晶振电路PCB布线

位置要选对: 晶振内部是石英晶体,如果不慎掉落或受不明撞击,石英晶体易断裂破损,所以晶振的放置远离板边,靠近MCU的位置布局。

两靠近: 耦合电容应尽量靠近晶振的电源管脚,如果多个耦合电容,按照电源流入方向,依次容值从大到小摆放;晶振则要尽量的靠近MCU。

走线短: 在电路系统中,高速时钟信号线优先级最高,一般在布线时,需要优先考虑系统的主时钟信号线。时钟线是敏感信号,频率越高,要求走线尽量的短,保证信号的失真度最小。

高独立: 尽可能保证晶振周围的没有其他元件。防止器件之间的互相干扰,影响时钟和其他信号的质量。网传是300mil内不要布线,实际在设计中并没有如此严格。

外壳要接地: 晶振的外壳必须要接地,除了防止晶振向外辐射,也可以屏蔽外来的干扰。

知识点二:查晶振问题不可缺少的三要素

01,检查晶振本身

在运输、焊接过程中,都可能会导致晶振内部的水晶片的损坏。如果我们在焊接晶振时,焊锡温度过高,或者是菜鸟级别的焊接时间长,都会影响到晶振本身。如果晶振损毁,直接更换一个晶振,是查找晶振不起振的问题中最简单的。

02,物料参数值错误

比如STM32使用外部晶振32.768Khz晶振,电容的容值建议在5pf-15pf之间,如果我们选择不合适的容值,就会导致晶振不起振。

03,PCB布线问题

检查PCB布线是否存在错误,如真是这个问题,那影响就非常大了,这一版就会浪费掉,还要投入更多成本,项目周期也会增加。

别再小瞧晶振了,先记住今天的知识点吧。

相关问答

stm32f103vc晶振电路原理?

晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率...

stm32f103用的晶振是有源还是无源?

STM32单片机的外部晶振是否需要供电,要看你选用的是无源晶振还是有源晶振。如果采用的是无源晶振,那么就不需要给晶振供电,振荡电路和所需电源都集成到了单片...

Proteus8.6如何仿真STM32?

1.首先下载protuse8sp2,下载安装过程就不直接介绍了,下载安装好以后,准备好STM32程序如下图2.打开protuse,如下图先新建原理图3.在英文输入法下面按P添加...

弱弱的问下STM32与有源晶振怎么接?

1.在晶振焊锡过程中,其焊锡的温度不宜过高,焊锡时间也不宜过长,防止晶体因此发生内变,而产生不稳定.2.晶振外壳需要接地时,应该确保外壳和引脚不被意外连通而...

stm32系统时钟的配置?

上面所给的程序是使用内部晶振的,而通常开发板都会使用外部晶振通过倍频使用。内部晶振最高只能倍频到64MHz,而使用外部晶振能够倍频到72MHz。如果板子上确实...

stm32最高时钟?

stm32F1系类最大72Mhz你可以超频用但是不一定能稳定可靠工作比方说你用8M晶振配置按照72M主频算,直接换成10M晶振主频自然就是90MFlashLeancy设到最...

关于外部时钟晶振为什么选用8MHz-STM32-F3/F4/F7专区?

钟是各个芯片内部有都有一个时钟拓扑的,通过配置芯片内部的寄存器可以将外部时钟进行分频、倍频、差频等,从而得到芯片内部各个模块工作的时钟。32.768K...

STM32串口波特率怎么设置?使用库直接设置吗?像51那样寄存器的设置?

如果你仔细研究USART_Init()函数,你会发现,这程序在配置波特率时会读取RCC有关的寄存器来计算当前CPU实际的工作频率是多少,然后计算参数来实现你需要的波特率...

为什么stm32tim3的时钟为72m?

STM32RTC驱动能力比较低。手册推荐用6pF的晶振,其他常见10pF的晶振很容易无法起振。我推荐用EPSON/精工的32.768K晶振,精度高,价格也不错。另外匹配电容用10...

STM32F429180M时钟如何用用SYSTICK精确延时呢?

基本要求1,2就用STM32的硬件PWM就行,如果想提高频率精度的话用HSE外接晶振。步进5%的话调节范围可以是0~20。显示频率和占空比装一个SSD1306的OLED屏就行,下面...

 刘正印  性生理 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部