地平线—征程2(Journey 2-J2)芯片详解(7)—时钟结构

写在前面

本系列文章主要讲解地平线征程2(Journey 2-J2)芯片的相关知识,希望能帮助更多的同学认识和了解征程2(Journey 2-J2)芯片。

若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)


 错过其他章节的同学可以电梯直达目录↓↓↓

地平线—征程2(Journey 2-J2)芯片详解——目录-CSDN博客


3. 系统架构

本章主要从时钟结构、复位结构、电源管理和电源模式以及中断映射四个方面描述系统架构。

3.1 时钟结构

3.1.1 概述

时钟生成器以统一的方式管理时钟的输入、时钟的生成和时钟的控制,如下所示:

  •  管理和控制时钟的输入
  • 划分和控制时钟的频率
  • 为每个模块生产工作时钟时钟生成器为芯片所有模块生成时钟。其可以选择其中一个系统时钟源为系统提供时间,也可以控制系统时钟的选择。一组时钟生产寄存器控制着系统时钟和外部时钟的划分。

J2芯片内包含了6个PLL(锁相环):

  •  CPUPLL(ARMPLL1和ARMPLL2)——为双核A53处理器和CPU子系统的其他模块提供
  • DDRPLL——为DDR子系统提供
  • VIOPLL——为VIO子系统提供
  • BPUPLL——为BPU子系统提供
  • PERIPHPLL——为PERI子系统提供3.1.2 PMU时钟生成器

此部分主要描述PMU时钟生成器的工作流程,如下图所示:

从上图可以看出,连接在24 MHz晶振上的XI_24M时钟为PLL提供时钟的输入。连接在32.768 KHz晶振上的XI_32K时钟为RTC提供时钟的输入,同时在休眠模式中也作为pmu_clk使用。

下表列举了PMU的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

PMU

pmu_clk

24 MHz

24 MHz

Switches between 24 MHz and

32.768 KHz by the PMU Controller

SYSCNT

syscnt_clk

24 MHz

24 MHz

/

RTC

rtc_1k_clk

1.024 KHz

1.024 KHz

/

3.1.3 CPUPLL时钟生成器

此部分主要描述CPUPLL时钟生成器的工作流程,如下图所示:

下表列举了CPU的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

A53

cpu_clk

24 MHz

1000 MHz

@VDD_CPU=0.9V

1250 MHz

@VDD_CPU=1.0V

ace_aclk

12 MHz

500 MHz

/

acp_aclk

12 MHz

500 MHz

/

cpu_cntclk

4.8 MHz

200 MHz

/

CoreSight

cx_dbgclk

dbg_pclk

atb_atclk

armv8pil_clk

8 MHz

333 MHz

/

cxtpiu_clkin

8 MHz

200 MHz

/

atb_tsclk

24 MHz

24 MHz

/

cxswj_swclktck

NA

20 MHz

From JTG_TCK IO

Bus

sys_noc_aclk

12 MHz

500 MHz

/

sys_pclk

8 MHz

333 MHz

/

DMAC

sys_dmac_aclk

12 MHz

500 MHz

/

BIFSPI

sys_bifspi_aclk

12 MHz

500 MHz

/

BIFSD

sys_bifsd_aclk

12 MHz

500 MHz

/

bifsd_clk

NA

200 MHz

From BIFSD_CLK IO

ROMC

sys_romc_aclk

12 MHz

500 MHz

/

SRAMC

sys_sramc_aclk

12 MHz

500 MHz

/

GIC

sys_gic_aclk

12 MHz

500 MHz

/

QSPI

sys_qspi_aclk

12 MHz

500 MHz

/

Timer Macro 0

timer0_mclk

1 MHz

1 MHz

/

Timer Macro 1

timer1_mclk

1 MHz

1 MHz

/

Timer Macro 2

timer2_mclk

1 MHz

1 MHz

/

EFUSE

efuse_repair_clk

24 MHz

24 MHz

/

Temperature

Sensor

temp_sensor_clk

2 MHz

2 MHz

/

EPHY

eth0_padc_ephy_clk

0.6 MHz

25 MHz

To EPHY_CLK IO

3.1.4 DDRPLL时钟生成器

此部分主要描述DDRPLL时钟生成器的工作流程,如下图所示:

下表列举了DDR子系统的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

DDR Controller

and DDR PHY

ddrc_mclk

12 MHz

800 MHz

@VDD_DDR=1.0V

600 MHz

@VDD_DRR=0.9V

3.1.5 VIOPLL时钟生成器

此部分主要描述VIOPLL时钟生成器的工作流程,如下图所示:

下表列举了VIO子系统的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

VIO Bus

vio_aclk

8 MHz

544 MHz

/

SIF/ISP/IPU

sif_mclk

6 MHz

408 MHz

/

MIPI

mipi_ipi_divclk

12 MHz

816 MHz

/

mipi_ipi_clk

6 MHz

408 MHz

/

mipi_cfg_divclk

1.4 MHz

96 MHz

/

mipi_cfg_clk

0.35 MHz

24 MHz

/

mipi_phy_ref_divclk

1.4 MHz

96 MHz

/

mipi_phy_ref_clk

0.35 MHz

24 MHz

/

IAR

iar_pix_clk

2.4 MHz

163.2 MHz

/

PYM

pym_mclk

12 MHz

816 MHz

/

Sensor

sensor_divclk

1.4 MHz

96 MHz

/

sensor_mclk

0.35 MHz

24 MHz

To Sensor_MCLK IO

DVP I/F

dvp_pixclk

NA

160 MHz

From BT1120_IN_CLK IO

BT1120 I/F

bt_pixclk

NA

160 MHz

From BT1120_IN_CLK IO

3.1.6 BPUPLL时钟生成器

此部分主要描述BPUPLL时钟生成器的工作流程,如下图所示:

下表列举了BPU子系统的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

BPU0

bpu0_aclk

8 MHz

533 MHz

/

bpu0_mclk

12 MHz

800 MHz @VDD_CNN0=0.9V

850 MHz @VDD_CNN0=1.0V

BPU1

bpu1_aclk

8 MHz

533 MHz

/

bpu1_mclk

12 MHz

800 MHz @VDD_CNN1=0.9V

850 MHz @VDD_CNN1=1.0V

3.1.7 PERIPLL时钟生成器

此部分主要描述PERIPLL时钟生成器的工作流程,如下图所示:

下表列举了PERI子系统的主要模块时钟,如下表所示:

Module

Clock

Default Frequency

Max Frequency

Comment

PERI Bus

peri_aclk

8 MHz

512 MHz

/

UART0

uart0_aclk

8 MHz

512 MHz

/

uart0_mclk

3 MHz

192 MHz

/

UART1

uart1_aclk

8 MHz

512 MHz

/

uart1_mclk

3 MHz

192 MHz

/

UART2

uart2_aclk

8 MHz

512 MHz

/

uart2_mclk

3 MHz

192 MHz

/

UART3

uart3_aclk

8 MHz

512 MHz

/

uart3_mclk

3 MHz

192 MHz

/

SPI0

spi0_aclk

8 MHz

512 MHz

/

spi0_mclk

3 MHz

192 MHz

/

SPI1

spi1_aclk

8 MHz

512 MHz

/

spi1_mclk

3 MHz

192 MHz

/

SPI2

spi2_aclk

8 MHz

512 MHz

/

spi2_mclk

3 MHz

192 MHz

/

PWM0

pwm0_mclk

3 MHz

192 MHz

/

PWM1

pwm1_mclk

3 MHz

192 MHz

/

PWM2

pwm2_mclk

3 MHz

192 MHz

/

I2C0

i2c0_mclk

3 MHz

192 MHz

/

I2C1

i2c1_mclk

3 MHz

192 MHz

/

I2C2

i2c2_mclk

3 MHz

192 MHz

/

I2C3

i2c3_mclk

3 MHz

192 MHz

/

SD0

sd0_aclk

8 MHz

512 MHz

/

sd0_cclk_in

sd0_cclk_in_drv

sd0_cclk_in_sample

3 MHz

192 MHz

/

SD1

sd1_aclk

8 MHz

512 MHz

/

sd1_cclk_in

sd1_cclk_in_drv

sd1_cclk_in_sample

3 MHz

192 MHz

/

ETH0

eth0_aclk

8 MHz

512 MHz

/

eth0_pre_divclk

2 MHz

125 MHz

/

eth0_clk_tx_i

eth0_clk_tx_180_i

eth0_padc_rgmii_tx_clk

2 MHz

125 MHz

To RGMII_TX_CLK IO

padc_eth0_rgmii_rx_clk

eth0_clk_rx_i

eth0_clk_rx_180_i

NA

125 MHz

From RGMII_RX_CLK IO

I2S0

i2s0_pre_mclk

960 KHz

61.44 MHz

I2S0 master mode

i2s0_mclk

192 KHz

12.288 MHz

/

i2s0_div_bclk

48 KHz

3.072 MHz

/

i2s0_padc_bclk

48 KHz

3.072 MHz

/

padc_i2s0_bclk

NA

3.072 MHz

I2S0 slave mode

i2s0_tx_clk

i2s0_tx_clkn

NA

3.072 MHz

/

I2S1

i2s1_pre_mclk

960 KHz

61.44 MHz

I2S1 master mode

i2s1_mclk

192 KHz

12.288 MHz

/

i2s1_div_bclk

48 KHz

3.072 MHz

/

i2s1_padc_bclk

48 KHz

3.072 MHz

/

padc_i2s1_bclk

NA

3.072 MHz

I2S1 slave mode

i2s1_tx_clk

i2s1_tx_clkn

NA

3.072 MHz

/

总结:本部分主要讲解了J2的时钟结构,其中包含PMU、CPU、DDR、VIO、BPU和PERI时钟生成器


本文章是博主花费大量的时间精力进行梳理和总结而成,希望能帮助更多的小伙伴~  🙏🙏🙏

后续内容将持续更新,敬请期待(*^▽^*)

欢迎大家评论,点赞,收藏→→→

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零零刷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值