一般微控制器中PLL的目的是什么

电器工程 微控制器 pll tm4c123g
2022-01-24 12:26:00

像 TM4C123GH6PM 这样的基于 ARM Cortex-M4 的微控制器设计有多个时钟源,其处理器内核时钟频率为 80MHz,由 PLL 提供,从NI-什么是 PLL?所有关于电路 - 究竟什么是 PLL?,是某种反馈 x 振荡器电路,可检测相移并通过反馈稳定输入频率。我不明白 PLL 与微控制器有何关系。我没有感觉到任何相移或试图稳定这里的任何信号,我不明白 PLL 如何神奇地产生 400MHz 时钟。

为什么这个 PLL 嵌入在微控制器中?如果我希望我的处理器按照规范中的规定以最大 80MHz 的频率运行,那么我只需使用 80MHz 的外部晶振。如果某些外围设备(如 USB)需要更快的时钟源,那么我会使用更快的晶振并将时钟分频以向其他设备提供慢速时钟的倍数。无论如何,外部晶体比内部振荡器更准确,那么为什么还要在精确的外部晶体和处理器之间插入一个 PLL,尤其是当我不处理任何高频或 RF 应用时?

TM4C123 时钟源

4个回答

即使在您构建了电路板之后,PLL 也可以让您灵活地使用时钟速度,当然,它还可以让您从一个板载振荡器生成许多不同的频率。

老实说,只要有一个 PLL,您就可以在板载 RC 振荡器上产生许多频率,因此值得拥有一个 PLL。这样一来,如果您不需要任何外部振荡器,您就可以灵活地操作。从那里开始,制作它并没有太多的努力,因此您还可以将该 PLL 重新路由到外部振荡器。

PLL 可以让您产生比石英晶体更快的时钟。尽管 MEMS 振荡器可以在比石英高得多的频率下振荡,但您仍然可能不希望直接使用一个振荡器,因为 400MHz 外部振荡器需要您布线 400MHz 迹线。

至于 PLL 是如何工作的。你对音乐有什么了解吗?你知道如何听一首歌并跟着节拍拍手吗?您只需在每次拍手之间保持相同的时间并调整时间,直到每次拍手都落在一个节拍上。容易,对吧?

现在,您知道如何每拍拍两个甚至四个拍手吗?PLL 做同样的事情。您计算自己的拍手并确保每次拍手之间的时间相等,但是您调整拍手之间的时间,直到每四个拍手落在您在歌曲中听到的节拍上,此时您停止调整。这样,即使歌曲的节拍慢了四倍,您也可以发出四倍快的拍手声。

我不明白 PLL 与微控制器有何关系。我没有感觉到任何相移或试图稳定这里的任何信号,我不明白 PLL 如何神奇地产生 400MHz 时钟。

从微控制器的角度来看,PLL 只是一个倍频器。它需要一些参考频率,例如来自 10 MHz 振荡器的参考频率,并生成微控制器所需的所有其他时钟频率。

为什么这个 PLL 嵌入在微控制器中?如果我希望我的处理器按照规范中的规定以最大 80MHz 的频率运行,那么我只需使用 80MHz 的外部晶振。如果某些外围设备(如 USB)需要更快的时钟源,那么我会使用更快的晶振并将时钟分频以向其他设备提供慢速时钟的倍数。

除非您碰巧能够找到一个可以精确划分为您需要的所有不同频率的振荡器,否则这通常是不切实际的。相反,您需要一个参考时钟并根据需要将其向上(或向下)倍增。我见过尝试分频单个时钟的廉价设备,但通常效果很差。它们往往会出现奇怪的故障,例如产生听起来不错的 48kHz 音频,但由于 48000 和 44100 的 LCM 数量很大,因此运行速度很快的 44.1kHz。

无论如何,外部晶体比内部振荡器更准确,那么为什么还要在精确的外部晶体和处理器之间插入一个 PLL,尤其是当我不处理任何高频或 RF 应用时?

在这种情况下,PLL 使用了一个外部振荡器,所以只要不是不能胜任地实现,它就会非常准确。

除了其他答案之外,还有其他几个原因可以说明 PLL 可能有用:

减少 EMC 排放(同时还可以节省资金,并减少出现故障的机会)

引用ST 应用笔记 AN1709

一些微控制器具有嵌入式可编程 PLL 时钟发生器,允许使用标准 3 至 25 MHz 晶体来获得大范围的内部频率(高达数百 MHz)。通过这些方式,微控制器可以使用更便宜的中频晶体运行,同时仍提供高频内部时钟以实现最大系统性能。高时钟频率源包含在芯片内部,不通过 PCB(印刷电路板)轨道和外部元件。这减少了应用程序的潜在噪声发射。

PLL 网络的使用还可以过滤 CPU 时钟以防止外部零星干扰(毛刺)。

为了省电

在低功耗产品中,可以选择以不同的速度运行处理器(及其外围设备),这取决于它在任何时间点需要做什么,或者在某些时候生成各种时钟,这非常有用,但不是其他人。

因此,这可能涉及在必要时提高时钟速度,但在其他时间降低它(或完全关闭 PLL)。

举一个具体的例子:我在一个电池供电的产品上工作,它通常以 8 MHz 运行,而 PLL 关闭。但是,我们需要定期生成更快的时钟,以启用来自外部音频芯片的 I2S 流。因此,我们只在需要这些时钟的几秒钟内启动 PLL,然后在完成后将其关闭。

PLL 允许将频率倍增到比其他方式更高的水平。

例如,如果需要以 400 MHz 运行 STM32 MCU,则无法将 400 MHz 晶振或方波振荡器直接连接到 MCU。

可以使用 4 MHz 晶振,MCU 内部的 PLL 可以设置为将参考 4MHz 乘以 100 以实现 MCU 的 400 MHz 时钟。

如有必要,它也可以用于运行时更改频率以节省电力等。