本帖最后由 zhao133 于 2025-3-26 17:50 编辑
我们在设计中有些时候会用到外部晶振,有些时候会用到内部晶振,其实无论使用内部还是外部晶振,对于有经验个工程师朋友来说都不是太大问题,但是我们身边还存在很多新手小白工程师,对晶振的使用还是有些不是很理解。
首先,我们先了解一下晶振的类型:借助百度的力量,我们很快可以得到晶振一些详细介绍如下:
概念越多,对于我们来说越难理解,毕竟我们作为一名工程师,我们设计一款控制器,晶振在我们的控制板也只是一个很小的电路单元,建议晶振我们可以这么理解:有三种类型:外部无源晶振、外部有源晶振、芯片内部晶振(RC振荡器)。外部无源晶振,常见规格有两种:两脚和四脚,其中四脚晶振其中两个对脚是晶体振荡器输入输出,另外两个脚一般接地处理,其目的是为了屏蔽晶振对外部的干扰,晶振的两个脚分别接到晶振电路的IN和OUT(没有方向要求);使用有源晶振时需注意晶振的供电电压问题,对于大部分有源晶振,都具有固定的工作电源,选型时需注意晶振的工作电源需与单片机工作电压一直,有源晶振只有一个晶振频率的输出脚,需接到APM32的晶振IN输入脚上;如果我们使用内部晶振,那么我们的APM32的晶振脚可以悬空,也可以作为IO或其他功能口使用(具体要看芯片的是否支持,目前我使用Geehy的的MCU晶振脚是支持也是多个功能复用的)。 了解完晶振的三种晶振的特点之后,现在到了我们的重点了,我们要如何选择晶振?关于晶振的选择,我们可以这么理解:如果涉及到通信,比如串口通信,CANbus、USB等通信速率越高,对单片机的时钟也会有更高的要求,这时,我应选择外部晶振,原因:内部晶振是RC震荡电路,产生的震荡频率误差较大,在高速通信应用上,使用内部晶振可能存在数据丢失的风险。
当然,如果我们一定要使用内部晶振,并且要实现高速通信,也是可以的,但是这种应用建议只针对某一块板子或程序调试的时候使用,因为批量之后我们其实很难保证每一PCS芯片的内部时钟的误差,电阻的精度,我们很容易实现1%甚至更高精度,但是电容我们常见的高精度电容也只是10%。 当使用外部有源晶振在很多场合都可以替代无源晶振(至少我目前未发现有不能替代的的应用存在),至于为什么要使用外部有源晶振,我们可以这么理解,就是为了让单片机需要有高精度或者高速的通信,使用有源晶振能保证晶振起振,是最可靠的外部震荡电路,一般我们会在高端场合使用。
关于晶振的使用和介绍,如果大家有其他看法,欢迎大家一起讨论
|