如何在板上测试晶体谐振器?


12

我的PCB板上有2个石英晶体谐振器:32.768 kHz和20 MHz。它们连接至飞思卡尔MC12311收发器IC,后者内嵌有HCS08微控制器。我想测试这些晶体是否正常工作。

可用工具:示波器,频率计(数字计数器),数字万用表。

我应该如何使用这些工具来测试板上的晶体?

  • 注意:应该考虑探头电容性负载效应。否则,测量结果将不准确,甚至更糟,晶体将根本无法工作。

Edit1:我同时使用了示波器和频率计(带有x10探头),但是不幸的是根本没有监控任何东西。


1
您使用哪种探针?需要探头和仪器的带宽。您可以查看Atmel应用笔记AVR4100中有关32kHz晶体的一些技巧。
Dejvid_no1 2014年

1
如果将示波器探头插入谐振器输出,则可能不会损坏任何东西。示波器的型号和型号是什么?
Dejvid_no1 2014年

1
这是泰克的模拟示波器。顺便说一下,示波器探头的电容性负载会影响测量。无论如何,频率计不是更好的选择吗?
Omid1989

1
我非常确定您应该能够在不使用外部时钟的情况下对MCU进行编程,因此这与晶体是否正常无关。硬件复位后,MCU在其内部振荡器上启动。
戴夫·特威德

1
我只用望远镜。如果探针有某种作用,只会导致频率略有不同。但是您仍然会看到时钟信号。确保您引用的是PCB的地面,而不仅仅是晶体的另一侧!
bitsmack 2014年

Answers:


9

如我所见,没有答案被接受。让我提供另一个答案。

大多数现代IC使用所谓的Pierce振荡器来使用晶体产生稳定的时钟。这是主电路配置:

在此处输入图片说明

可以看到,电路不是对称的:右侧是某个驱动器的输出(通常称为XO),而左侧是输入到反相放大器(通常称为XI)。因此,只要探针具有相对较高的阻抗,探测XO(输出)端是相对安全的。输入阻抗为1M的普通1:10无源探头应该可以完成这项工作。实际上,电路放大器中的输出驱动器被故意设置为弱,通常不超过1mA负载能力,以防止Xtal被过驱动,但是1mA应该足以驱动1M示波器探头。

探头电容会改变振荡频率20-50ppm,因为它会改变电路调谐(Xtal负载,C1与C2串联)。但是,除非整个电路的边界太小并且不符合稳定性标准(放大器的负阻抗应比Xtal ESR大3-5倍),否则XO上的探头负载不应破坏振荡。如果探针这样做,则将Xtal测试视为失败。

永远不要尝试用100 MOhm探针探测XI输入,并且仅出于好奇。原因不在于尖端电容(2-8-12pF或华特),而是由于有限的探头阻抗而在XI引脚上造成了直流偏移。皮尔斯振荡器是一个非常精密的非线性电路,它具有非常重要的直流反馈分量R1,它可以将输入直流电平有效地调节到最大放大点,通常约为从地到Vcc的一半。分量R1通常为1MOhm以上,并且振荡变得集中在自选DC点上。甚至连一个10MOhm的探头都可以使该点下降,放大倍数下降,并且振荡消失。

而且,当然,测试振荡的最佳方法不是用探针接触它,而是要有一个内部缓冲器,该缓冲器的输出将输出到其他GPIO测试引脚。


7

我的Atmel ATMEGA328P控制器曾经遇到过类似的调试问题,但8Mhz陶瓷谐振器似乎无法正常工作。我有一台Rigol双通道chechato示波器,并确定了我之前制作的工作板的范围,并且很容易看到8Mhz信号,并且由于探头加载而没有问题。您不必担心探针对晶体的影响。

我发现的主要问题是用于驱动晶振的控制器没有正确设置保险丝以使用外部晶振。一旦烧完保险丝以选择外部晶体,谐振器就会显示出生命迹象!

因此,确保已将连接至晶振的微控制器设置为使用晶振实际上是个好主意,否则,没有驱动力来使其振荡。一旦确定是这种情况,就可以开始查看是否是PCB或其他走线问题,接地问题,错误的引脚等。


感谢Kyran的回答。我使用Codewarrior 10.4作为IDE。您知道如何在此IDE中设置保险丝位吗?
Omid1989年

1
抱歉,@ Omid1989我对该IDE不熟悉。我实际上只使用了AVRdude和Arduino,将Atmel Studio用于小型微控制器,将Code Composer Studio用于ARM A8。它可能具有单独的实用程序,可以读取和写入相似的选项卡/区域中的熔丝,以对目标芯片进行编程/刷新。在这些选项中四处查看保险丝设置。数据表还可以告诉您选择外部晶振输入的保险丝/寄存器选项。
KyranF 2014年

我第二。我在chefao 13.598MHz的晶体输出上使用了cheso 10x探头,并带有cheso IC刺穿振荡器型电路,并且一切正常。我刚刚探测了晶体,它以13.5MHz的频率振荡,这与我的示波器计算频率一样快。
Leroy105 '17

7

外部元件使振荡器看起来对称,但是芯片上没有放大器。位于输出侧的振荡器引脚将具有较低的阻抗,并且将示波器探头放在那里不会像探测输入引脚那样受到太大的影响。

如果振荡,则输出的幅度将大于输入的幅度。它可能也不是一个很好的正弦波。输入端将较低,应为正弦波(已被晶体滤波)。

如果它不振荡,则输入会产生较大的噪声,应该是电源电压的一半左右。输出引脚看上去更干净,可能处于VDD或接地状态。其中一些将随芯片的设计(和配置)而变化。


1
顺便说一句,您没有说是要精确测量频率,还是只是看它是否在振荡。
gbarry 2014年

我想看看它是否在振荡!顺便说一句,您在这里输入和输出是什么意思?
Omid1989

2
一些晶体具有一个Xin和Xout引脚,每个晶体都具有一个负载电容接地。信号将略有不同,但实际上并非如此。使用晶体或谐振器的微控制器或其他设备内部的驱动器基本上是振荡器电路(带有运算放大器等)。这就是为什么您必须实际激活外部晶振输入以使微控制器打开这些外围设备的原因。
KyranF

2
我相信KyranF的意思是说“某些晶体振荡器”,因为晶体本身是对称的。这些引脚在微处理器上。即使未将引脚标记为Xin和Xout(或OscIn和OscOut),它们仍然很有可能像它们一样起作用。
gbarry 2014年

因此,如果我在XO端子上测量的频率稍高一点,我应该相信在XI端子上的测量是在“更正确”的频率上吗?
endlith'Apr

0

如果您有一个敏感的通信接收器(如业余无线电中使用的通信接收器),则在接收器天线输入端与另一端之间的导线上钩上一根线,使其与振荡器电路相距1英寸,甚至不触碰电路,即可在晶振频率附近调整接收器,你应该听到一个节拍。并且,确定确切的频率。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.