阅读所有内容太长了,所以这是短篇小说
从问题下的评论中,特雷弗说: -
我们认为上限是正确的。我们有 2x 15pf 接地。我们用的水晶就是这个
但是,链接的部分是一个 6 pF 设备(需要 2 x 12 pF 调谐):-
所以,你可能使用了不正确的负载电容,下面(长话短说)是如何改变事情的......
先来点背景资料
下面的晶体模型是通过查看几个现成的 10 MHz 晶体提供的,然后形成一个“平均”等效电路。晶振的两侧是 CL1 和 CL2(负载电容)。与电路的驱动端 (V1) 串联的是 R1。所有这些组件确保晶体以写在锡上的频率“唱歌”:-
模型值导致精确为10,000,000.1403 Hz 的串联谐振。但是,永远不能在那个精确的频率下使用晶体;根据此图,它必须稍微“感应”地运行:-
让我们通过查看完整仿真的交流响应来继续讨论频率误差。
电容负载变化引起的晶体频率误差
该图显示了当电容负载以 5 pF 步长改变时的一些典型频率变化:-
这里重要的是 Vin(反相逻辑门的输出)与 Vout(反馈到反相门输入的信号)之间的相位变化为 180° 的频率。因为门是一个反相器,所以当相位变化正好是 180° 时,就会出现振荡。
在 2 x 20 pF 负载下,振荡频率为 10.00137 MHz。如果负载更改为 2 x 15 pF,则振荡频率变为 10.00165 MHz。这是 10 MHz 中 280 Hz 的变化,相当于 28 ppm。
你看到这里的问题了吗?
由于驱动电阻值的变化,也会发生轻微的变化
与负载电容器的变化相比,它的效果要小一些,但是,它是可以改进的效果。以上结果为 2 x 20 pF 负载。
门传播延迟可能会导致变化
不管晶体有多好,或者你选择它周围的元件值多么仔细,如果逆变器门的性能很差,你就会得到振荡频率误差,并且可能会出现过度的频率漂移。考虑 74AC04 逆变器: -
上升沿和下降沿引用的传播延迟数字通常约为 5 ns,但可能高达 10 ns。这意味着总输出延迟时间为 10 ns,并且考虑到我们正在查看 10 MHz 振荡器,10 ns 相当于增加 36° 相移。使用的电路类型可以缓解这种情况;我们以半线性方式操作栅极,输出 MOSFET 不会发生深度饱和,但可能会出现 20° 的等效相移。
这意味着加载的晶体电路只需产生 160° 的相位位移即可产生振荡:-
所以,基本上,如果用于将晶体变成振荡器的门有点片状并且漂移,你会得到更多的错误。好的,对于 32,768 kHz 晶振来说,这比 10 MHz 晶振的问题要小,因为门延迟代表了成比例地更小的误差。
但是,您仍然需要检查您没有使用真正糟糕的东西,因为错误可能很严重。
图片(和一些文字)取自我蹩脚的网站。
概括
- 获得正确的晶体负载电容 - 使用好的电容器并确保您了解栅极的输入电容和其他寄生电容。
- 确保您使用的是正确值的串联电阻。对于 32,768 kHz 晶体,这非常重要(不仅因为它可能会出错,而且因为你很容易用太大的功率损坏晶体)。
- 确保你有一个合适的振荡器门。
请问,人们在制作普通时钟时使用什么类型的水晶?
和
那么我们应该使用什么?一个 5ppm 晶体或一个 20ppm 并手动调整每一个?
在我看来,您需要观察上述内容并注意您可以将晶体调整为更高的初始精度。
关于负载电容差异的提醒
指向晶体的鼠标链接似乎说理想情况下负载为 6 pF,即由 2 x 12 pF 电容器而不是 2 x 15 pF 电容器形成。然后,您可能应该假设栅极输入具有 2 pF 的电容,并且由于 PCB 及其跟踪,器件两端可能存在 0.5 pF 的寄生电容。
总而言之,看起来您可能过度使用负载电容,而且很可能您的目标应该是 2 x 10 pF 而不是 2 x 15 pF。
还要仔细检查您的驱动功率,因为在 2 x 15 pF 的负载下,您可能会将过多的功率放入晶体中(数据中引用的驱动电平最大为 1 μW。
作为事后的想法,如果可以预见到设备运行与真实时间不同,那么您可以在软件中进行补偿。但是,您需要对此非常确定,以免它不是基于长时间的循环漂移。