03:01\\\\\\\\\\\\\\\\r\\\\\\\\\\\\\\\\n有源晶振
01 晶体稳定性
一、前言
有源晶振在数字系统中被当做时钟源。 它的输出频率会与工作电压、环境温度有关系。 下面测量一下, 这种有源晶振输出频率和工作电压之间的关系。 了解频率变化范围。 这为之后电路设计提供基础。 下面给出测量过程和测量结果。
二、测试电路
这是一个8MHz的晶振。 它有四个管脚, 由于它已经很旧了, 直接放在面包板上测试不方便。 下面计划制作一个转接电路板, 将它的引脚引出到面包板上进行测试。
转接线的电路很简单, 通过四芯插针将电源, 地线以及时钟输出引出。 使用单面布线, 利用一分钟制板得到四块测试电路。 电路制作的非常完美。 下面焊接测试。
三、测试结果
将晶振放置在面包板上, 施加5V工作电压。 此时工作电流为 4.6mA。 使用示波器测量输出信号。 可以看到输出信号波形为方波, 频率为 8MHz。
使用 FA-2测量晶振频率, 可以更加准确得到震荡频率。 测量100次频率数据, 平均值为 7999911Hz, 标准方差 0.162Hz。
▲ 图1.3.1 测量100成结果
- 平均: 7999911.00063Hz
- STD: 0.162Hz
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-03-29
#
# Note:
#============================================================
from headm import *
import serial
from _ast import Or
from serial.serialutil import SerialException
#------------------------------------------------------------
fa = serial.Serial()
fa.baudrate = 9600
fa.timeout = 0.05
try:
fa.port = 'COM5'
except:
printf('Set fa port COM5 error. ')
try:
fa.open()
except serial.serialutil.SerialException:
printf('Open fa port COM5 error.')
else:
printf('Open fa port COM5 Ok.')
#------------------------------------------------------------
def fa2read():
fa.write(b'$D*\r\n')
for i in range(20):
time.sleep(0.1)
if fa.inWaiting() > 0: break
ret = fa.read(100).decode('utf-8').split(',')
if len(ret) < 3: return 0
f = ret[1]
p = ret[2]
return (float(f),float(p))
#------------------------------------------------------------
fdim = []
for i in range(100):
result = fa2read()
printf(result)
fdim.append(result[0])
tspsave('meas5v', fdim=fdim)
printf(mean(fdim), std(fdim))
plt.plot(fdim, lw=3)
plt.xlabel("N")
plt.ylabel("Frequency(Hz)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
fdim=[7999910.80,7999911.04,7999911.03,7999910.97,7999910.48,7999910.92,7999910.95,7999910.70,7999911.01,7999910.50,7999910.55,7999910.60,7999910.61,7999910.70,7999910.76,7999910.69,7999910.78,7999910.77,7999910.78,7999910.82,7999910.92,7999910.87,7999911.02,7999910.99,7999910.94,7999910.95,7999910.89,7999910.97,7999910.85,7999910.85,7999911.02,7999910.94,7999911.05,7999911.00,7999911.05,7999911.04,7999911.05,7999910.99,7999911.01,7999910.99,7999910.98,7999911.00,7999911.06,7999911.05,7999911.08,7999911.01,7999910.94,7999911.05,7999911.01,7999911.03,7999911.05,7999911.02,7999911.00,7999910.93,7999910.98,7999911.00,7999911.04,7999911.01,7999911.03,7999911.04,7999911.13,7999911.08,7999911.12,7999911.06,7999911.06,7999911.09,7999911.14,7999911.13,7999911.07,7999911.09,7999911.06,7999911.18,7999911.14,7999911.12,7999911.11,7999911.09,7999911.10,7999911.01,7999911.04,7999911.09,7999911.11,7999911.12,7999911.14,7999911.19,7999911.19,7999911.18,7999911.19,7999911.18,7999911.27,7999911.20,7999911.24,7999911.20,7999911.24,7999911.28,7999911.11,7999911.13,7999911.12,7999911.12,7999911.16,7999911.17]
改变晶振工作电压, 从 4.5V 到 5.5V变化, 测量输出频率。 可以看到频率变化范围达到了 250Hz。 输出频率随着电压上升而上升。
▲ 图1.3.2 不同电压下震荡频率
更改一个 20MHz 的晶振, 测量它的工作电压与输出频率之间的关系。 工作电压从4.5V变化到5V。 可以看到它的输出频率也是随着电压升高而上升, 变化范围达到了450Hz。
▲ 图1.3.3 20MHz 晶体输出频率与工作电压之间的关系
fdim=[19999041.90,19999052.94,19999060.84,19999067.66,19999074.23,19999080.63,19999086.89,19999092.58,19999098.39,19999103.00,19999108.44,19999113.77,19999118.56,19999123.23,19999128.00,19999132.37,19999137.31,19999141.64,19999146.93,19999152.02,19999156.17,19999160.78,19999165.42,19999170.29,19999175.01,19999179.60,19999184.50,19999189.86,19999194.09,19999198.83,19999203.61,19999208.06,19999212.71,19999216.91,19999222.15,19999226.51,19999231.09,19999235.16,19999240.38,19999244.82,19999249.28,19999253.22,19999257.59,19999261.32,19999264.39,19999267.74,19999275.04,19999278.84,19999282.92,19999288.08,19999292.29,19999296.48,19999300.62,19999304.47,19999309.05,19999313.35,19999317.95,19999321.92,19999326.19,19999330.31,19999334.98,19999339.55,19999343.50,19999347.35,19999351.01,19999355.89,19999360.21,19999364.53,19999368.70,19999372.75,19999377.16,19999381.88,19999386.04,19999390.37,19999394.67,19999399.13,19999403.91,19999408.39,19999412.46,19999416.19,19999420.69,19999424.91,19999429.73,19999434.38,19999438.77,19999443.05,19999447.60,19999452.61,19999456.84,19999460.78,19999464.48,19999467.17,19999472.38,19999475.60,19999479.17,19999482.87,19999486.90,19999490.52,19999494.84,19999498.33]
对比8Mhz 与 20MHz 输出频率变化与工作电压的关系, 20MHz变化范围大约是 8MHz 的两倍。
▲ 图1.3.4 两个晶体工作电源与输出频率变化对比
※ 总 结 ※
本文测试了两款 有缘晶振输出频率随着工作电压变化关系。 输出频率都随着工作电压上升而上升。 20MHz的晶振变化了 450Hz左右, 8MHz 的晶振变化了 250Hz 左右。
补充测量
下面测量晶振的工作电压与工作电压之间的关系。
20MHz晶振
以下是20MHz晶振工作电流与电压之间的关系。 近似一个线性关系。 可以得到对应的近似电阻为 337欧姆。
▲ 图2.1.1 20MHz 的晶振电压与工作电流的关系
vdim=[4.00,4.02,4.04,4.06,4.08,4.10,4.12,4.14,4.16,4.18,4.20,4.22,4.24,4.26,4.28,4.30,4.32,4.34,4.36,4.38,4.40,4.42,4.44,4.46,4.48,4.51,4.53,4.55,4.57,4.59,4.61,4.63,4.65,4.67,4.69,4.71,4.73,4.75,4.77,4.79,4.81,4.83,4.85,4.87,4.89,4.91,4.93,4.95,4.97,4.99,5.01,5.03,5.05,5.07,5.09,5.11,5.13,5.15,5.17,5.19,5.21,5.23,5.25,5.27,5.29,5.31,5.33,5.35,5.37,5.39,5.41,5.43,5.45,5.47,5.49,5.52,5.54,5.56,5.58,5.60,5.62,5.64,5.66,5.68,5.70,5.72,5.74,5.76,5.78,5.80,5.82,5.84,5.86,5.88,5.90,5.92,5.94,5.96,5.98,6.00]
idim=[5.70,5.74,5.80,5.86,5.86,5.95,6.03,6.04,6.10,6.21,6.19,6.26,6.24,6.36,6.44,6.39,6.51,6.50,6.58,6.66,6.70,6.77,6.81,6.91,6.92,6.98,7.14,7.09,7.15,7.14,7.26,7.29,7.30,7.44,7.43,7.54,7.71,7.65,7.72,7.71,7.80,7.90,7.95,7.96,8.08,8.20,8.20,8.26,8.32,8.38,8.44,8.46,8.58,8.68,8.64,8.76,8.77,8.87,8.92,8.95,9.08,9.08,9.20,9.39,9.34,9.41,9.45,9.61,9.71,9.65,9.72,9.78,9.82,9.92,9.98,9.98,10.11,10.26,10.19,10.31,10.33,10.45,10.58,10.52,10.66,10.68,10.80,10.87,10.93,11.01,11.15,11.25,11.20,11.28,11.28,11.41,11.49,11.56,11.62,11.63]
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-03-29
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
vdim= linspace(4, 6, 100)
idim = []
for v in vdim:
dh1766volt1(v)
time.sleep(.5)
c = dh1766curr1()*1e3
idim.append(c)
printf(v, c)
tspsave("meas20MHz", vdim=vdim, idim=idim)
dh1766volt1(5)
plt.plot(vdim, idim, lw=3)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(mA)")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
8MHz晶振
下面是8MHz 工作电流与电压之间的关系。 对应的电阻大约为 439欧姆左右。
▲ 图2.1.2 8MHz晶振的工作电压与电流
vdim=[4.00,4.02,4.04,4.06,4.08,4.10,4.12,4.14,4.16,4.18,4.20,4.22,4.24,4.26,4.28,4.30,4.32,4.34,4.36,4.38,4.40,4.42,4.44,4.46,4.48,4.51,4.53,4.55,4.57,4.59,4.61,4.63,4.65,4.67,4.69,4.71,4.73,4.75,4.77,4.79,4.81,4.83,4.85,4.87,4.89,4.91,4.93,4.95,4.97,4.99,5.01,5.03,5.05,5.07,5.09,5.11,5.13,5.15,5.17,5.19,5.21,5.23,5.25,5.27,5.29,5.31,5.33,5.35,5.37,5.39,5.41,5.43,5.45,5.47,5.49,5.52,5.54,5.56,5.58,5.60,5.62,5.64,5.66,5.68,5.70,5.72,5.74,5.76,5.78,5.80,5.82,5.84,5.86,5.88,5.90,5.92,5.94,5.96,5.98,6.00]
idim=[3.00,2.64,2.69,2.69,2.75,2.88,2.81,2.85,2.86,2.92,3.08,2.99,3.03,3.04,3.08,3.16,3.17,3.23,3.25,3.38,3.33,3.36,3.38,3.45,3.54,3.48,3.57,3.63,3.65,3.70,3.68,3.78,3.86,3.89,3.91,3.94,4.00,4.01,4.09,4.13,4.17,4.33,4.36,4.31,4.36,4.40,4.45,4.50,4.55,4.56,4.66,4.66,4.68,4.79,4.79,4.91,5.02,5.00,5.05,5.05,5.17,5.22,5.27,5.32,5.37,5.42,5.48,5.54,5.55,5.66,5.82,5.77,5.82,5.83,5.94,6.00,6.01,6.12,6.23,6.23,6.30,6.30,6.43,6.46,6.57,6.61,6.62,6.81,6.86,6.88,6.92,7.01,7.04,7.13,7.21,7.20,7.34,7.53,7.46,7.55]
■ 相关文献链接:
● 相关图表链接: