32G12K128,PLL时钟不是独立的吗?
IRC可以选择35~48M,但是使用PLL之前必须是12M(可选24M2分频),能使用固定的48M的USB时钟源直接用它分频得到12M再给PLL吗?8~16M都可以,不是严格12M 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, 对系统要求还是挺高的
配置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]