功能描述
PLL
在 CMU 中,有两个模拟电路 PLL 用于产生稳定且精确的时钟供给整个芯片,如下表所示:
名称 |
用途 |
典型频率 |
展频 |
---|---|---|---|
PLL_INT |
CPU/ AXI/ AHB/APB0/ DMA/ PWMCS/ SDFM/ PWM/ FFT |
480 MHz |
不支持 |
PLL_FRA |
TA_IF/ EDAT_IF/ BIS_IF/ UART/ CE/ CANFD/ EMAC/ QSPI |
1200 MHz |
支持 |
PLL 内部结构如下图所示, PLL 频率计算公式为:PLL_OUT = 24MHz÷(P+1)×(N+1+(F÷(217-1)))÷(M+1)。

CLKOUT

OSC24M 和 XTAL
- 内部 OSC24M
- 外部 XTAL
正常使用模式: 软件先配置 xtal_swen 打开引脚连接,延迟 1 ms,再配置 xtal_sel 切换到 xtal 时钟。
强制切换模式: 通过引脚 XTAL_FORCE_N 拉低或者 ETC 配置 xtal_force=1 均可以强制打开引脚和切换时钟。
-
当引脚 SYS_TEST 配置的值为 1 时,无论 BID_1 为何值,只能选择外部 XTAL 作为芯片时钟源输入。
-
当引脚 SYS_TEST 配置的值为 0 时,根据 BID_1 的值选择芯片的输入时钟源:
- 若 BID_1 值为 1,则选择外部 XTAL 时钟源。
- 若 BID_1 值为 0,则选择内部 OSC24M 时钟源。

模块时钟
模块名称 |
总线时钟 |
模块时钟源 |
模块时钟极限频率 |
备注 |
---|---|---|---|---|
E907 CORE |
- |
PLL_INT |
480 MHz |
- |
E907 PLIC |
- |
PLL_INT÷2 |
240 MHz |
- |
E907 CLINT |
- |
PLL_INT÷2 |
240 MHz |
- |
E907 DM |
- |
CLK_24M |
24 MHz |
- |
AXI |
AXI |
- |
240 MHz |
- |
AHB0 |
AHB0 |
- |
240 MHz |
- |
AHB1 |
AHB1 |
- |
240 MHz |
- |
APB0 |
APB0 |
- |
120 MHz |
- |
APB1 |
APB1 |
- |
24 MHz |
- |
BROM |
AXI |
- |
- |
- |
SRAM |
AXI |
- |
- |
- |
AHB Matrix |
AHB |
- |
- |
- |
DMA0 |
AHB0 |
- |
- |
- |
DMA1 |
AHB0 |
- |
- |
- |
DCE |
AHB0 |
- |
- |
- |
CE |
AHB0 |
PLL_FRA |
200 MHz |
- |
EMAC |
AHB0 |
PLL_FRA |
(AHB) |
- |
SPI0 |
AHB0 |
PLL_FRA |
266 MHz |
- |
SPI1 |
AHB0 |
PLL_FRA |
266 MHz |
- |
SPI2 |
AHB0 |
PLL_FRA |
266 MHz |
- |
SPI3 |
AHB0 |
PLL_FRA |
266 MHz |
- |
SPI4 |
AHB0 |
PLL_FRA |
266 MHz |
- |
SPI5 |
AHB0 |
PLL_FRA |
266 MHz |
- |
PBUS |
AHB0 |
- |
- |
- |
CAN-FD0 |
AHB0 |
PLL_FRA |
80 MHz |
- |
CAN-FD1 |
AHB0 |
PLL_FRA |
80 MHz |
- |
GPIO |
AHB0 |
- |
- |
- |
USBFS |
AHB0 |
PLL_FRA |
48 MHz |
48 MHz |
PWM |
AHB1 |
- |
- |
- |
EDAT_IF |
AHB1 |
PLL_FRA |
240 MHz |
- |
BIS_IF |
AHB1 |
PLL_FRA |
240 MHz |
- |
TA_IF |
AHB1 |
PLL_FRA |
240 MHz |
- |
PWMCS |
AHB1 |
- |
- |
- |
ADC |
AHB1 |
- |
- |
- |
RDC |
AHB1 |
- |
- |
- |
CORDIC |
AHB1 |
- |
- |
- |
HCL |
AHB1 |
- |
- |
- |
SDFM |
AHB1 |
- |
- |
- |
THS |
AHB1 |
- |
- |
- |
CPM |
AHB1 |
- |
- |
- |
VTS |
AHB1 |
- |
- |
- |
FFT |
AHB1 |
- |
- |
- |
GPT |
AHB1 |
- |
- |
- |
PGA |
AHB1 |
- |
- |
- |
I2C0 |
APB0 |
- |
- |
- |
I2C1 |
APB0 |
- |
- |
- |
I2C2 |
APB0 |
- |
- |
- |
I2C3 |
APB0 |
- |
- |
- |
UART0 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART1 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART2 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART3 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART4 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART5 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART6 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART7 |
APB0 |
PLL_FRA |
120 MHz |
- |
UART8 |
APB0 |
PLL_FRA |
120 MHz |
- |
SYSCFG |
APB0 |
CLK_24MHz |
- |
- |
CMU |
APB0 |
- |
- |
- |
SPI_ENC |
APB0 |
- |
- |
- |
WDOG |
APB1 |
CLK_32K |
32 KHz |
- |
WRI |
APB1 |
CLK_24M |
24 MHz |
- |
SID |
APB1 |
CLK_24M |
24 MHz |
- |
GTC |
APB1 |
- |
- |
- |
模块开关控制和时序
USB
打开时序:
ctrlclk1->phyclk1->100us->phyrst1->ctrlrst1
关闭时序:
ctrlrst0->phyrst0->phyclk0->ctrlclk0
其它模块
打开时序:
modclk1->busclk1->rst1
关闭时序:
rst0->busclk0->modclk0