国学芯用 发表于 2023-4-6 14:07:37

STC---PLL时钟的说明

STC32G12K128, STC8H8K64U的PLL时钟的说明
PLL 的时钟输入是 8MHz ~ 16MHz, 可以选择 *8 或者 *12 输出.
让 STC32G12K128工作在 32MHz, /2 = 16MHz给 PLL做时钟源,16MHz*8 = 144MHz, 16MHz*12 = 196MHz;
让 STC32G12K128工作在 32MHz, /4 =   8MHz给 PLL做时钟源,8MHz*8 =64MHz,   8MHz*12 =96MHz;
让 STC32G12K128工作在 35MHz, /4 =   8.75MHz给 PLL做时钟源,8.75MHz*8 =70MHz,   8.75MHz*12 =105MHz;

PLL时钟给 SPI, SPI 还可以 DMA支持,SPI的参考速度如下
35MHz/4 = 8.75MHz,8.75MH * 8   = 70MHz,   70MHz/4= 17.5M bps====》完美
35MHz/4 = 8.75MHz,8.75MH * 12 = 105MHz,   105MHz/8 = 13.125M bps

PLL的时钟输入源 是 【8MHz ~ 16MHz】的很宽的输入范围

SPI的速度,最快可以 系统时钟/2, 35MHz/2 可以 17.5M bps 输出,但读用 /2, 对系统要求还是挺高的

国学芯用 发表于 2023-4-6 14:08:57

配置PLL输入时钟时,需要注意一点:系统时钟并不一定等于PLL输入时钟

由于PLL选择的是IRC时钟源的源头时钟,
而系统时钟则是IRC的时钟源的源头时钟经过CLKDIV分频后的时钟,如下图

比如IRC时钟源的时钟为32M,CLKDIV=1,则系统时钟等于PLL输入时钟,都是32M
如果IRC时钟源的时钟为22.1184M,CLKDIV=2,则系统时钟和PLL输入时钟不相等,系统时钟为11.0592M,PLL输入时钟为22.1184M
所以配置PLL输入时钟时,需要注意CLKDIV的分频系数
页: [1]
查看完整版本: STC---PLL时钟的说明