如何在两个微控制器之间共享一个晶体(不是完整的振荡器模块)?可以正常连接第一个微控制器的所有内容并将其 XO 直接连接到第二个微控制器的 XI 吗?我希望将微控制器放在板上非常靠近。
用两个微共享一个晶体的原理图是什么?
电器工程
布局
水晶
2022-01-04 04:58:17
4个回答
当我需要在微控制器之间共享时钟时,我所做的是让晶体驱动一个微控制器上的振荡器,然后使用该微控制器的振荡器输出引脚(通常是 CLKOUT 或 OSCOUT)来驱动第二个微控制器。
我预计尝试从同一个晶体驱动两个振荡器会出现问题,如果没有其他原因,两个处理器之间所需的长 PCB 走线的电容会导致故障。
这不是你想要的。当您使用晶体形成振荡器时,您正在使用微控制器内部的反相器来驱动晶体。如果你将两个微控制器连接到同一个晶体上,它们会打架而无法工作。
因此,您需要选择两个微控制器中的一个作为晶体驱动器(如数据表第 6.2.6 节所示配置),另一个微控制器使用外部时钟输入(数据表第 6.2.1 节)。然后像这样更改您的原理图连接:
或者,如果需要对称性,您可以使用外部振荡器而不是晶体。然后两者都可以在外部时钟模式下运行。
这种方法的问题在于,与第二个振荡器输入的连接会影响该引脚上的电容,并稍微改变频率以及降低晶体驱动。不过,这可能无关紧要,而且不太可能防止振荡。当我需要为产品执行此操作时,我为两个 MCU 都使用了晶体振荡器模块。
您可以使用便宜的逆变器芯片(0.1 美元)或专门的时钟发生器(稍微贵一点)构建振荡器,并将该时钟提供给两个 uC。
简单地将水晶连接到两者都行不通(可靠)。
其它你可能感兴趣的问题