购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2. 2.4时钟分频器

PLL0 的输出经过分频后供CPU和USB子系统使用。由于提供了各自的分频器,所以可以单独确定USB子系统和CPU的频率。在正常操作下,USB子系统总是需要占空比为50%的 48MHz频率。

如图 2-5 所示是PLL和时钟分频器。

图 2-5 PLL和时钟分频器

1.CPU时钟配置寄存器(CCLKCFG-0x400FC104)

PLL0 输出的时钟必须要经过分频才能提供给CPU使用,PLL0 输出的分频由CCLKCFG寄存器进行控制。当PLL0 被旁路时,可实现 1 分频。当PLL0 正在运行时,输出必须经过分频,从而限定CPU时钟频率(CCLK)的运行范围。可使用一个 8 位分频器进行选择,包括降低CPU的操作频率来暂时节省功耗而无须关闭PLL0。

注意: 当在应用中使用USB接口时,CCLK必须至少为 18MHz以便于支持USB子系统的内部操作。CPU时钟配置寄存器的位描述如表 2-13 所示。

表 2-13 CPU时钟配置寄存器的位描述

注意: 当置位CCLKSEL位时使用偶数值(2,4,6,254),可能会导致操作错误。

CCLK从PLL0 输出信号中得到,通过CCLKSEL+1 分频。当CCLKSEL=1 时,CCLK的频率是PLL0 输出频率的一半;当CCLKSEL=3 时,CCLK的频率是PLL0 输出频率的四分之一,以此类推。

2.USB时钟配置寄存器(USBCLKCFG-0x400FC108)

注意: 该寄存器仅在PLL1 禁止时使用。如果PLL1 使能,则其输出自动用做USB时钟源,且必须配置PLL1 为USB子系统提供正确的 48MHz时钟。

USBCLKCFG寄存器控制对PLL0 输出时钟的分频,然后提供给USB子系统使用。PLL0 的输出必须被分频以使USB时钟频率为 48MHz,占空比为 50%。在PLL操作范围内,4 位的分频器允许从 48MHz的任意偶数倍(即 96MHz的任意倍数)中获得正确的USB时钟。

注意: 内部RC时钟不应用做USB的时钟,这是因为USB规范需要更精确的时钟。USB时钟配置寄存器的位描述如表 2-15 所示。

表 2-14 USB时钟配置寄存器的位描述

USB时钟从PLL0 输出信号中得到,通过USBSEL+1 分频。当USBSEL=1 时,USB的时钟频率是PLL0 输出频率的一半。

3.IRC调整寄存器(IRCTRIM-0x400FC1A4)

该寄存器用于调整片内 4MHz振荡器。IRC调整寄存器的位描述如表 2-15 所示。

表 2-15 IRC调整寄存器的位描述

4.外设时钟选择寄存器 0 和 1(PCLKSEL0-0x400F C1A8 和PCLKSEL1-0x400F C1AC)

在外设时钟选择寄存器中,每组位控制了提供给对应外设的时钟信号的速率,如表 2-16~表 2-19 所示。

表 2-16 外设时钟选择寄存器PCLKSEL0 的位描述

表2-17 外设时钟选择寄存器PCLKSEL11 的位描述

表 2-18 外设时钟选择寄存器的位描述

注意: RTC模块的外设时钟固定为CCLK/8。

固件库提供了操作PCLKSEL寄存器的函数,即CLKPWR_SetPCLKDiv用于设置外设的pclk,如下所示。 jEX0mxNusrOwEa/xh7FqaqjWdkKm+JTFbzGdyKQRdz4rZ6KAobCCPgr19bM4TXnX

点击中间区域
呼出菜单
上一章
目录
下一章
×