在两个 IC 之间共享一个振荡器

电器工程 微控制器 FPGA 振荡器 路由
2022-02-03 02:21:32

我在同一块板上有一个微控制器和一个 FPGA。如果它们都以相同的时钟速度运行,我可以只使用一个振荡器来为它们提供时钟吗?这里似乎有什么我应该注意的,但如果我只是保持简短的痕迹,我无法立即想到它有任何问题。有没有人这样做过?这样做有什么常见的陷阱?

2个回答

是的,很可能没问题。您必须确保每个芯片都设置为期望时钟就绪,而不是驱动晶体本身。当然,您必须查看数据表,但很可能可以通过这种方式设置设备。

但是,可能有更便宜的方法。很可能至少一个(可能两个)芯片可以直接驱动晶体。您可以让其中一个执行此操作,并可能使用它来驱动另一个芯片。这可能会有点棘手,因为晶体驱动输出线更多的是模拟信号而不是数字信号,如果直接使用它可能不会被其他芯片解释为预期的那样。它也可能不会被普通数字门解释为预期的那样,因此在靠近晶体的地方对其进行缓冲然后将该数字信号发送到另一个芯片也可能不起作用。这是您必须非常仔细地查阅数据表并进行一些实验的地方。

一种完全可靠的方法是让一个芯片驱动晶体,将该信号在内部缓冲,然后在另一个引脚上作为真正有保证的数字信号输出。这更有可能与驱动晶体的 FPGA 一起工作,因为您应该能够将时钟信号驱动到引脚。微控制器有时有时钟输出引脚,但至少在 PIC 的情况下(我最熟悉的),通常是振荡器/4 频率,而不是直接的振荡器频率。您可能不想运行 FPGA 和 1/4 的微时钟频率。

一些微控制器可以配置为使用其振荡器电路的时钟频率驱动输出引脚。几乎是时钟信号的缓冲区。我相信我在 ATtiny45 的数据表中读过它。这样,只有一个芯片在驱动晶体,但其他芯片仍然可以使用它的时钟。