使用 Python 和 UliEngineering 计算晶体负载电容

当你实现晶体振荡器电路时,一项既重要又经常被忽视的任务是如何计算晶体的负载电容

提示: 在许多情况下,使用集成晶体振荡器更容易,你不必关心负载电容。晶体通常推荐用于低功耗应用和振荡器太昂贵的大批量制造。

在此示例中,我们将为 Abracon ABLS-16.000MHZ-B4-T(根据数据手册指定负载电容为 18 pF)计算负载电容。

至关重要的是要理解 18 pF 负载电容规格并不意味着你可以使用 18 pF 电容器或 2x 9 pF 电容器。你需要实际计算正确的值。

你需要以下信息:

首先,安装 UliEngineering

现在我们可以使用以下代码计算正确的负载电容

crystal_load_capacitors.py
from UliEngineering.EngineerIO import auto_print
from UliEngineering.Electronics.Crystal import *

# 打印负载电容:打印 "29.0 pF"
auto_print(load_capacitors, cload="18 pF", cpin="3 pF", cstray="2 pF")

在这种情况下,你需要两个各 29.0 pF 的负载电容。

你应该使用最接近的可用负载电容值,但如果你有高时钟精度要求,请始终检查结果频率。

提示: 你可以向大多数 UliEngineering 函数传递数字(如 18e-12)或字符串(如 18 pF0.018 nF)。SI 前缀如 pn 会自动解码

如果你想以编程方式使用该值,直接调用 load_capacitors()

crystal_load_capacitors_value.py
from UliEngineering.EngineerIO import auto_print
from UliEngineering.Electronics.Crystal import *

# 计算负载电容值(对于两个负载电容):
load_caps = load_capacitors(cload="18 pF", cpin="3 pF", cstray="2 pF")
# load_caps = 2.9e-11

Check out similar posts by category: Electronics, Python