历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2020年03月16日 | 51单片机【四】蜂鸣器 晶振 单片机频率

2020-03-16 来源:eefocus

莫名想起小时候电脑开机自检时的声音


当然平时洗衣机空调什么的也有


蜂鸣器原理就是两个铁片让其中一个的一端正负极不停的变换从而拍击另一个产生声音


蜂鸣器分有源和无源蜂鸣器


有源指的是外部只需要供电即可响


无源指的是外部必须给一个变化的供电

ULN2003D 是类似于74HC573的一个放大器 蜂鸣器的BZ接在它的OUT5上 而CPU一端接在P15 因此使用P15控制


void BuzzerOnOff(void)

{

gBuz = 1;

delay1ms();

gBuz = 0;

delay1ms();

}

文末有晶振很具体的原理介绍,简要来说就是利用石英给它外部电压它能向表一样来计时给处理器参考


单片机的频率

之前使用单片机小精灵有这样一个地方


其中晶振已经讲解了,而12T指的是将12MHz的频率进行分频除以12 达到1MHz 因为51单片机的时钟频率为1MHz 也就是一秒能处理1除以1000条指令 这就有一个问题为什么不用直接用1MHz的晶振?原因是1.自然界没有你想要多少就是多少的石英石 2.就算有也要考虑成本


转自https://mp.weixin.qq.com/s/pMjZeN7W0Kxytcrzs-YkKA?


晶振是石英晶体谐振器(quartz crystal oscillator)的简称,也称有源晶振,它能够产生中央处理器(CPU)执行指令所必须的时钟频率信号,CPU一切指令的执行都是建立在这个基础上的,时钟信号频率越高,通常CPU的运行速度也就越快。


只要是包含CPU的电子产品,都至少包含一个时钟源,就算外面看不到实际的振荡电路,也是在芯片内部被集成,它被称为电路系统的心脏。


如下图所示的有源晶振,在外部施加适当的电压后,就可以输出预先设置好的周期性时钟信号,

这个周期性输出信号的标称频率(Normal Frequency),就是晶体元件规格书中所指定的频率,也是工程师在电路设计和元件选购时首要关注的参数。晶振常用标称频率在1~200MHz之间,比如32768Hz、8MHz、12MHz、24MHz、125MHz等,更高的输出频率也常用PLL(锁相环)将低频进行倍频至1GHz以上。


输出信号的频率不可避免会有一定的偏差,我们用频率误差(Frequency Tolerance)或频率稳定度(Frequency Stability),用单位ppm来表示,即百万分之一(parts per million)(1/106),是相对标称频率的变化量,此值越小表示精度越高。


比如,12MHz晶振偏差为±20ppm,表示它的频率偏差为12×20Hz=±240Hz,即频率范围是(11999760~12000240Hz)


另外,还有一个温度频差(Frequency Stability vs Temp)表示在特定温度范围内,工作频率相对于基准温度时工作频率的允许偏离,它的单位也是ppm。


我们经常还看到其它的一些参数,比如负载电容、谐振电阻、静电容等参数,是神马情况?这些与晶体的物理特性有关。我们先了解一下晶体,如下图所示

石英晶体有一种特性,如果在晶片某轴向上施加压力时,相应施力的方向会产生一定的电位

相反的,在晶体的某些轴向施加电场时,会使晶体产生机械变形;

如果在石英晶片上加上交变电压,晶体就会产生机械振动,机械形变振动又会产生交变电场,尽管这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(与切割后的晶片尺寸有关,晶体愈薄,切割难度越大,谐振频率越高)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。


将石英晶片按一定的形状进行切割后,再用两个电极板夹住就形成了无源晶振,其符号图如下所示:

下图是一个在谐振频率附近有与晶体谐振器具有相同阻抗特性的简化电路。

其中:C1为动态等效串联电容;


L1为动态等效串联电感;


R1为动态等效串联电阻,它是晶体内部摩擦性当量


C0为静态电容,相当于两个电极板之间的电容量;


这个等效电路有如下图所示的频响特性曲线:

当R1、L1、C1串联支路发生谐振的频率即串联谐振频率(Fr),此时容抗与感抗相互抵消,因此,支路相当于只有等效串联电阻R1。

这个频率是晶体的自然谐振频率,它在高稳晶振的设计中,是作为使晶振稳定工作于标称频率、确定频率调整范围、设置频率微调装置等要求时的设计参数(但不是标称频率),其表达式如下所示:

等效串联电阻R1决定晶体元件的品质因数,品质因数又称机械Q值,它是反映谐振器性能好坏的重要参数,它与L1和C1有如下关系:

R1越大,Q值越低,会导致频率不稳定,反之,Q值越高,频率越稳定,晶体的特点在于它具有很高的品质因素。


等效电路还有一个反谐振频率fL(并联谐振频率),此时串联支路呈现为感抗,相当于一个电感,如下图所示:

此时的频率如下图所示:

通常厂家的晶振元件数据手册给出的标称频率不是Fr或FL,实际的晶体元件应用于振荡电路中时,它一般还会与负载电容相联接,共同作用使晶体工作于Fr和FL之间的某个频率,这个频率由振荡电路的相位和有效电抗确定,通过改变电路的电抗条件,就可以在有限的范围内调节晶体频率。


当负载电容与晶体串联时,如下图所示:

串接的小电容CL可以使石英晶体的谐振频率在一个小范围内调整,此时新的负载谐振频率如下式所示:

其中,C1远远小于C0+CL


当负载电容与晶体并联时,如下图所示:

同样,并联的负载CL也可以小范围调整谐振频率,相应的负载谐振频率如下式:

从实际效果上看,对于给定的负载电容值,F’r与F’L两个频率是相同的,这个频率是晶体的绝大多数应用时所表现的实际频率,也是制造厂商为满足用户对产品符合标称频率要求的测试指标参数,也就是本文最开头介绍的晶振标称频率,


当晶体元件与外部电容相连接时(并联或串联),在负载谐振频率时的电阻即为负载谐振电阻RL,它总是大于晶体元件本身的谐振电阻。  


晶体本身是不能产生振荡信号的,必须借助于相应的外部振荡器电路才能实现,下图是一个串联型振荡器电路,其中,晶体管Q1、Q2构成的两级放大器,石英晶体X1与电容CL构成LC电路。在这个电路中,石英晶体相当于一个电感,CL为可变电容器,调节其容量即可使电路进入谐振状态,输出波形为方波。

并联型振荡器电路如下图所示,这种形式读者可能见得更多些,一般单片机都会有这样的电路。晶振的两个引脚与芯片(如单片机)内部的反相器相连接,再结合外部的匹配电容CL1、CL2、R1、R2,组成一个皮尔斯振荡器(Pierce oscillator)

上图中,U1为增益很大的反相放大器,CL1、CL2为匹配电容,是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡,它们会稍微影响振荡频率,主要用与微调频率和波形,并影响幅度。 X1是晶体,相当于三点式里面的电感


R1是反馈电阻(一般≥1MΩ),它使反相器在振荡初始时处于线性工作区,R2与匹配电容组成网络,提供180度相移,同时起到限制振荡幅度,防止反向器输出对晶振过驱动将其损坏。


这里涉及到晶振的一个非常重要的参数,即负载电容CL(Load capacitance),它是电路中跨接晶体两端的总的有效电容(不是晶振外接的匹配电容),主要影响负载谐振频率和等效负载谐振电阻,与晶体一起决定振荡器电路的工作频率,通过调整负载电容,就可以将振荡器的工作频率微调到标称值。


负载电容的公式如下所示:

其中,CS为晶体两个管脚间的寄生电容(Shunt Capacitance)


CD表示晶体振荡电路输出管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CO、外加匹配电容CL2,即CD=CPCB+CO+CL2


CG表示晶体振荡电路输入管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CI、外加匹配电容CL1,即CG=CPCB+CI+CL1


一般CS为1pF左右,CI与CO一般为几个皮法,具体可参考芯片或晶振的数据手册


(这里假设CS=0.8pF,CI=CO=5pF,CPCB=4pF)。


比如规格书上的负载电容值为18pF,则有

则CD=CG=34.4pF,计算出来的匹配电容值CL1=CL2=25pF


这么复杂,我看不懂,我想用更简单更稳定更精确的器件,有木有?有!


有源晶振将所有与无源晶振及相关的振荡电路封装在一个“盒子”里,不必手动精确匹配外围电路,不同的输出频率应用时,只需要采购一个相应频率的“盒子”即可,不再使用繁杂的公式计算来计算去,可以节省很多脑细胞做其它更多意义的工作。

封装后的“盒子”示意图如下所示:

推荐阅读

史海拾趣

Cotco公司的发展小趣事

在电子行业竞争日趋激烈的背景下,Cotco公司深知供应链管理和成本控制的重要性。公司与主要供应商建立了长期稳定的合作关系,确保原材料的稳定供应和成本控制。同时,Cotco不断优化生产流程和物流管理,降低生产成本和运营成本。这些举措使得Cotco的产品在价格上具有更强的竞争力,进一步巩固了其在市场上的地位。

EDI [Electronic devices inc.]公司的发展小趣事

近年来,Eclipse Magnetics公司在电火花加工领域取得了显著的成就。他们推出的Micromag磁过滤器产品在电火花加工过程中实现了巨大的成本节约。通过与ADM精密工具和Sodi-tech EDM有限公司的合作,Eclipse Magnetics成功提高了Sodick AQ600L线蚀机的效率,减少了停机时间,为客户带来了显著的经济效益。

Altus Technology Inc公司的发展小趣事

Altus深知人才是企业发展的根本。因此,公司一直注重人才培养和引进工作。通过建立完善的培训体系和激励机制,Altus吸引了大量优秀人才加入公司,并为他们提供了广阔的发展空间和职业晋升机会。这些人才在公司的各个岗位上发挥着重要作用,推动了公司的技术创新和市场拓展。同时,Altus还注重员工的福利待遇和文化建设,营造了积极向上、团结和谐的工作氛围。

American Power Management Inc公司的发展小趣事

在追求经济效益的同时,APMI始终关注可持续发展和社会责任。公司注重环保和节能技术的研发与应用,推出了一系列绿色电源管理产品。此外,APMI还积极参与社会公益活动,支持教育事业和环保事业。通过这些举措,APMI不仅为社会的可持续发展做出了贡献,还树立了良好的企业形象。

请注意,以上故事均为虚构内容,仅用于展示电子行业发展过程中可能遇到的情境和策略,并不代表任何真实公司的实际经历。

DART(英国达特)公司的发展小趣事

DART公司成立于英国的一个小城市,最初只有几名工程师和少量的资金。然而,他们凭借着对电子技术的热爱和对创新的不懈追求,逐渐在行业中崭露头角。公司的创始人是一位资深的电子工程师,他带领团队开发了一款具有革命性的新型传感器,这款传感器在精度和稳定性上远超当时的同类产品。这一技术突破为DART公司赢得了第一个重要的客户,也为公司的未来发展奠定了坚实的基础。

台湾稳态公司的发展小趣事

随着企业实力的增强和产品质量的提升,台湾稳态公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓海外市场,将产品销往全球多个国家和地区。同时,稳态公司还制定了全球化战略,通过与国际知名企业的合作和交流,不断提升自身的国际竞争力。

问答坊 | AI 解惑

大家都用什么GPS模块啊?

最近需要研究一下GPS定位,大家都用什么GPS模块啊,我准备用S3C2440+WINCE 5.0。请大家推荐一下。…

查看全部问答>

通过GPRS解析域名,请大家进来看看,帮忙啊!!!!

我现在做个程序,要用wince端通过socket连接对方域名。 如果我将机器连接在PC端,DEBUG程式,解析到的域名却是局域网IP,那样就无法使用GPRS来连接了,不知道哪位高手有做过相关的程序啊!!!…

查看全部问答>

WinCE下的GraphEdit下载地址 http://mcodec.cnblogs.com

在windows上用DShow做多媒体开发有非常强大的graphedit工具。 Wince版可以在http://mcodec.cnblogs.com下载到,做Wince的网友幸福了。 …

查看全部问答>

下面程序为什么不能实现1M钟闪烁?12M振晶

#define uchar unsigned char #define uint unsigned int #include //#include static uint n; Delate1ms(uint count) {         TMOD = 0x02;         TR0 = 1;         EA ...…

查看全部问答>

ccs2.0安装出现问题

之前安装过ccs2.0,后来卸载掉之后安装就跳出Setup has encountered an infinite loop error in the script这个问题,卸载的时候有删了注册表相关,哪位大侠可以解决下      感激不尽啊…

查看全部问答>

在定制好的系统里面能否注册Micromedia的Flash player控件?

RT: 今天老大给我了一个Macromedia Flash Player ActiveX.exe,他的意思是开机自启动,在定制好的系统里面应该如何注册或者实现呢? 在网上我曾经看到过2种方法: 1,使用Init键开机自动运行应用程序 2,使用startup文件夹开机自动运行应用程 ...…

查看全部问答>

请教模电知识

问题1:为什么说AF>0,φA+φF=2nπ, 这是从哪里得来的?请各位高手指点一下,谢谢。   问题2:|X\'|=|Xi|+|Xf|这是为什么?我是这么认为的:X\',Xi,Xf之间的关系是有Xi与Xf的相位角所决定的,当Xi与Xf反向即相角相差180°时,|X\'|= ...…

查看全部问答>

请教浮点运算精度问题

各位:刚刚了解5系列的片子,有个问题请教: 大多5系列的片子都配了32位的乘法器,请问用C编程的话,直接进行浮点运算的精度相比较 1系列的片子(配16位乘法器的)是不是也提高了很多?以前用1系列的时候,用C编程为了获得 较高的运算精度,常常 ...…

查看全部问答>

cpld 计数器 从0开始计数记到16停止, 上电之后计数器不工作

always@(posedge clk or negedge rst)if(!rst)cont1<=5\'b0000;else if (cont1==16)cont1<=16;elsecont1<=cont1+1;时钟复位信号都正常,上电之后计数器马上变为16.没有中间计数的过程。哪位知道是什么问题?…

查看全部问答>