广告招募

当前位置:中非贸易网 > 技术中心 > 所有分类

解析STM32内置时钟和外置石英晶振的精度差别(含测试数据)

2026年01月04日 09:20:46      来源:深圳市晶诺威科技有限公司 >> 进入该公司展台      阅读量:3

分享:

解析STM32内置时钟和外置石英晶振的精度差别(含测试数据)

Clock Tree

一般情况下,STM32系列都有内置RC振荡器,在对时钟信号精度要求不高的情况之下,这个内置RC振荡器可以代替外置晶振,以达到节省成本和PCB空间之目的。但对振荡器精度有着严格要求的电路应用,建议使用外部晶振来代替内部时钟,这类似于独立显卡与集成显卡的区别。

内置RC振荡器和外置晶振在精度上差距很大,分析如下:

举例:

假如在某一个应用中,需要精确延时9999秒钟,使用定时器进行定时中断,设置10ms的定时周期,需要经过9999 / 10 * 1000=999900个定时周期才能完成。而定时器的时钟源是由APB2(文档上写的是APB1,程序上是APB2)提供的,APB2的时钟最终来自HSI、PLL、HSE三个时钟源。

由于直接测量9999秒钟的时间较为繁琐,我们选择测量2秒钟的时间即可,看看定时2秒钟,内外时钟源分别能提供怎样的精度,采集设备使用逻辑分析仪或者示波器即可。

  • 使用HSI时钟测到的2秒钟的波形:

解析STM32内置时钟和外置石英晶振的精度差别(含测试数据)

可以看到实际定时时间为2.004270583秒钟,规定 α = Ta / Tb,其中Ta表示设定的定时时间,Tb表示实际定时时间,阿尔法为比例系数,大致按照比例缩放来计算,如果定时为9999秒,实际定时时间为Ta = Tb * α = 10020.3507797085秒,实际误差高达21秒钟。

  • 使用外置晶振进行测试:

解析STM32内置时钟和外置石英晶振的精度差别(含测试数据)

可以看到实际定时时间为2.000074417秒,按照同样的方法进行计算可以得到Ta = Tb * α = 9999.3720477915秒,.372秒。如果需要更高精度的定时时间,可以选择更高精度的晶振,当然也可以使用频率值高一点的晶振,然后下调PLL倍频系数。

通常情况下,晶振频率误差可看作为固定值,经PLL倍频之后,误差同样会被放大,降低PLL倍频系数可以减少误差的放大。另外,可以直接选取标称频率为48MHz的晶振,SYSCLK的时钟源直接选择HSE即可,这样误差可以做到更小。

版权与免责声明:
1.凡本网注明"来源:中非贸易网"的所有作品,版权均属于中非贸易网,转载请必须注明中非贸易网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。