用两个微共享一个晶体的原理图是什么?

电器工程 布局 水晶
2022-01-04 04:58:17

如何在两个微控制器之间共享一个晶体(不是完整的振荡器模块)?可以正常连接第一个微控制器的所有内容并将其 XO 直接连接到第二个微控制器的 XI 吗?我希望将微控制器放在板上非常靠近。

4个回答

当我需要在微控制器之间共享时钟时,我所做的是让晶体驱动一个微控制器上的振荡器,然后使用该微控制器的振荡器输出引脚(通常是 CLKOUT 或 OSCOUT)来驱动第二个微控制器。

我预计尝试从同一个晶体驱动两个振荡器会出现问题,如果没有其他原因,两个处理器之间所需的长 PCB 走线的电容会导致故障。

示意图

模拟此电路- 使用CircuitLab创建的原理图

这不是你想要的。当您使用晶体形成振荡器时,您正在使用微控制器内部的反相器来驱动晶体。如果你将两个微控制器连接到同一个晶体上,它们会打架而无法工作。

因此,您需要选择两个微控制器中的一个作为晶体驱动器(如数据表第 6.2.6 节所示配置),另一个微控制器使用外部时钟输入(数据表第 6.2.1 节)。然后像这样更改您的原理图连接:

示意图

模拟此电路- 使用CircuitLab创建的原理图

或者,如果需要对称性,您可以使用外部振荡器而不是晶体。然后两者都可以在外部时钟模式下运行。

这种方法的问题在于,与第二个振荡器输入的连接会影响该引脚上的电容,并稍微改变频率以及降低晶体驱动。不过,这可能无关紧要,而且不太可能防止振荡。当我需要为产品执行此操作时,我为两个 MCU 都使用了晶体振荡器模块。

您可以使用便宜的逆变器芯片(0.1 美元)或专门的时钟发生器(稍微贵一点)构建振荡器,并将该时钟提供给两个 uC。

简单地将水晶连接到两者都行不通(可靠)。