Edit online

功能描述

PLL

模拟电路 PLL 用于产生时钟供给整个芯片。

CMU PLL 用途及特性列出了各个 PLL 的用途及特性。

1. CMU PLL 用途及特性
名称 用途 典型频率 展频或小数分频
PLL_INT0 CPU 600 MHz @ 1.2V 不支持
PLL_INT1 AXI/AHB/ APB/ CE/ DE/ GE/ VE/ DVP/ PWMCS/ UART 1.2 GHz 不支持
PLL_FRA0 DRAM/ SDMC/ SPI 1008 MHz 展频
PLL_FRA1 I2S/ AUDIO 491.52 MHz

451.584 MHz

小数分频
PLL_FRA2 LCD/ LVDS/ MIPI_DSI - 展频

PLL 内部结构如下图所示, PLL 频率计算公式为:PLL_OUT = 24 MHz ÷ (P + 1) × (N +1 + (F ÷ (2^17-1))) ÷ (M + 1)。

1. CMU PLL 内部框图

CLKOUT

时钟输出用于输出时钟给芯片外设使用, 总共四路 CLKOUT,可选来源为 PLL_INT1/ PLL_FRA1/ PLL_FRA2,可配置 1~256 除频, CLKOUT 通路如下图所示。

2. CLKOUT 通路

模块时钟

模块名称 总线时钟 模块时钟源 模块时钟极限频率 备注
C906 CORE - PLL_INT0 504 MHz 600 MHz@1.2V
AXI AXI - 240 MHz -
AHB AHB - 240 MHz -
APB0 APB0 - 100 MHz -
APB1 APB1 - 24 MHz -
AHB Matrix AHB0 - - -
BROM AHB0 - - -
SRAM AHB0 - - -
DMA AHB0 - - -
CE AHB0 PLL_INT1 200 MHz -
USB DEV AHB0 - - -
USB HOST0 AHB0 - - -
USB HOST1 AHB0 - - -
USB PHY0 - CLK_24M - -
USB PHY1 - CLK_24M - -
GMAC0 AHB0 PLL_INT1 50 MHz -
GMAC1 AHB0 PLL_INT1 50 MHz -
QSPI0 AHB0 PLL_FRA0 100 MHz -
QSPI1 AHB0 PLL_FRA0 100 MHz -
QSPI2 AHB0 PLL_FRA0 100 MHz -
QSPI3 AHB0 PLL_FRA0 100 MHz -
SDMC0 AHB0 PLL_FRA0 200 MHz -
SDMC1 AHB0 PLL_FRA0 200 MHz -
SDMC2 AHB0 PLL_FRA0 200 MHz -
PBUS AHB0 - - -
SYSCFG APB0 CLK_24M 24 MHz -
CMU APB0 - - -
CMT (SIM) APB0 - - -
SPI ENC APB0 HCLK - -
PWMCS APB0 PLL_INT1 200 MHz -
PSADC APB0 - - -
DDR CTL APB0 - - -
MTOP APB0 - - -
DDR PHY APB0 PLL_FRA0 336MHz -
I2S0 APB0 PLL_FRA1 26MHz -
I2S1 APB0 PLL_FRA1 26MHz -
AUDIO APB0 PLL_FRA1 26MHz -
LCD APB0 PLL_FRA2 800 MHz DISP_PIXCLK:200 MHz
LVDS APB0 PLL_FRA2 1000 MHz DISP_PIXCLK:200 MHz
MIPI DSI APB0 PLL_FRA2 1200 MHz DISP_PIXCLK:200 MHz
DVP APB0 PLL_INT1 200 MHz -
DE APB0 PLL_INT1 200 MHz DISP_PIXCLK:200 MHz
GE APB0 PLL_INT1 200 MHz -
VE TBD PLL_INT1 200 MHz -
WDOG APB1 CLK_32K 32 KHz -
WRI APB1 CLK_24M 24 MHz -
SID APB1 CLK_24M 24 MHz -
RTC APB1 RTC domain - -
GTC APB1 - - -
GPIO APB1 - - -
PMT (SIM) APB1 - - -
UART0 APB1 PLL_INT1 60 MHz -
UART1 APB1 PLL_INT1 60 MHz -
UART2 APB1 PLL_INT1 60 MHz -
UART3 APB1 PLL_INT1 60 MHz -
UART4 APB1 PLL_INT1 60 MHz -
UART5 APB1 PLL_INT1 60 MHz -
UART6 APB1 PLL_INT1 60 MHz -
UART7 APB1 PLL_INT1 60 MHz -
I2C0 APB1 - - -
I2C1 APB1 - - -
I2C2 APB1 - - -
I2C3 APB1 - - -
CAN0 APB1 - - -
CAN1 APB1 - - -
PWM APB1 PLL_INT1 100 MHz -
ADCIM APB1 CLK_24M 24 MHz -
GPAI APB1 - - -
RTP APB1 - - -
THS APB1 - - -
CIR APB1 - - -
UART 在 PLL_INT1=1.2 GHz 下波特率精度
2. UART 波特率与误差率
设定波特率 实际波特率 波特率偏差 CMU 除频 Over sampling Clock source UART除频
300 300 0 25 16 48000000 10000
600 600 0 25 16 48000000 5000
1200 1200 0 25 16 48000000 2500
2400 2400 0 25 16 48000000 1250
4800 4800 0 25 16 48000000 625
9600 9615 0.16 25 16 48000000 312
14400 14423 0.16 25 16 48000000 208
19200 19230 0.16 25 16 48000000 156
38400 38461 0.16 25 16 48000000 78
57600 57692 0.16 25 16 48000000 52
115200 115384 0.16 25 16 48000000 26
230400 230769 0.16 25 16 48000000 13
380400 378787 -0.42 22 16 54545454 9
460800 462963 0.47 27 16 44444444 6
921600 925925 0.47 27 16 44444444 3
1000000 1000000 0 25 16 48000000 3
1152000 1136363 1.36 22 16 54545454 3
1500000 1500000 0 25 16 48000000 2
2500000 2500000 0 30 16 40000000 1
3000000 3000000 0 25 16 48000000 1

模块开关时序

DDR
  • 打开时序:
    ctrl clk 1 -> bus clk 1 -> phy clk 1 -> phy rst 1 -> ctrl rst 1
  • 关闭时序:
    ctrl rst 0 ->  phy rst 0 -> phy clk 0 -> bus clk 0 -> ctrl clk 0

    DDR 部分寄存器要求在复位下配置,详细开关时序参考 DDR 模块规格书执行。

USB
  • 打开时序:
    ctrlclk1->phyclk1->100us->phyrst1->ctrlrst1
  • 关闭时序:
    ctrlrst0->phyrst0->phyclk0->ctrlclk0
其他模块c
  • 打开时序:
    modclk1->busclk1->rst1
  • 关闭时序:
    rst0->busclk0->modclk0