RK3588研发日记1

一、RK3588芯片框图

二、原理图设计要求

1、时钟选择

1.1系统时钟

a.无源晶振:24MHz无源晶振XOUT24M网络必须串接22ohm电阻限流,放置过驱。XOUT24M/XIN24M之间510Kohm电阻不可更改;(晶振常温下频率容限20ppm以内;负载电容材质建议COG/NPO)

b.有源晶振:时钟幅度为1.0V。XIN24M输入,XOUT24M悬空。有源晶振参数如下:

1.2休眠时钟

RK3588 芯片在待机时,可以选择将工作时钟源切换到 PMU_PVTM 模块提供的时钟或外部输入的
32.768KHz 时钟,关掉 OSC 振荡电路,可得到更优的芯片待机功耗,此时仅支持 PMUIO1 和PMUIO2 电源域里的 IO 中断唤醒,如果需求的唤醒源和 24MHz 时钟有关,则 24MHz 时钟不能关掉。
PVTM(Process-Voltage-Temperature Monitor)模块集成的时钟振荡环可产生时钟,这个时钟频率由时钟振荡环电路的延迟单元决定,产生的时钟可作为芯片待机的时钟源;使用外部输入的 32.768KHz 时钟为RK3588 芯片休眠时钟时,可得到最优的芯片待机功耗,此时 PVTM 模块也可以关掉,时钟输入管脚CLK32K_IN/GPIO0_B2_u。外置32.768KHz时钟参数如下:

1.3提供给外设的时钟

REFCLK_OUT:预留时钟输出引脚,根据实际需求选用;

CLK32K_OUT0:32.768KHz 时钟输出,可提供给 WIFI、BT、PCIe等设备当休眠或工作时钟;

CLK32K_OUT1:32.768KHz 时钟输出,可提供给 WIFI、BT、PCIe 等设备当休眠或工作时钟;

ETH0_REFCLKO_25M:25MHz 时钟输出,可提供给 Ethernet PHY 等设备当工作时钟;

ETH1_REFCLKO_25M:25MHz 时钟输出,可提供给 Ethernet PHY 等设备当工作时钟;

GMAC0_CLKINOUT:50MHz、125MHZ 时钟输入或输出,可提供给 Ethernet PHY 作为 RMII 数
据发送和数据接收参考时钟;

GMAC1_CLKINOUT:50MHz、125MHZ 时钟输入或输出,可提供给 Ethernet PHY 作为 RMII 数
据发送和数据接收参考时钟;

MIPI_CAMERA0_CLK------MIPI_CAMERA4_CLK:默认 24MHz 时钟输出,可提供给 Camera 等
设备当工作时钟;也可根据 PLL 分频得到其它频点,并且每路时钟支持各自输出不同的频率;

PCIE20_REF_CLKP/N:输入或者输出 100M 时钟,默认 100M 时钟频率输出,给 PCIE2.0 设备用。

PCIE30_REF_CLKP/N:输入 100M 时钟,外部时钟发生器输入 100M 时钟,给 PCIE3.0 控制器用。

以上时钟所处的 IO Domain 与外设的 IO 电平必须匹配,如果不匹配,必须增加电平转换电路。

2、复位电路

NPOR_u复位最短时间至少需要100个24MHz主时钟周期即4us以上

NPOR_u复位引脚需增加100nF电容消抖;

RESET_L上拉电源需和NPOR所在的电源域保持一致;即PMUIO1_1V8;

RK3588 芯片内部集成了 Watchdog Timer,当产生复位信号时,可以通过 TSADC_SHUT 管脚输出低电平,对 RK3588 进行硬件复位。

RK3588 芯片内部集成了七个 TSADC(Temperature-Sensor ADC)模块,当芯片内部温度超过阈值时,可以通过内部 TSHUT 信号给 CRU 模块,让 RK3588 芯片复位,也可以通过 TSADC_SHUT 管脚输出低电平,对 RK3588 进行硬件复位。如上图 2-3 TSADC_SHUT 网络连接到 RESETn 网络上。

RK806-1/2 的 RESETB 管脚在第一次上电时,等各路电源上电完成后,RESETB 还会再延迟所设置的时间后,低电平跳变成高电平(开漏输出),即完成上电复位过程;当 RK806-1/2 在工作或 sleep 模式时,如果 RESETB 管脚被拉低,那么 RK806-1/2 也会重启,重启上电顺序和第一次上电相同。

3、系统启动引导顺序

引 导 代 码 , 可 以 通 过 USB2.0 OTG0 接 口 TYPEC0_USB20_OTG_DP/
TYPEC0_USB20_OTG_DM 信号将系统代码下载到这些设备中。 Boot 启动顺序可以通过 SARADC_IN0_BOOT Pin(PIN AM16)进行设置。(BOOT配置专用引脚,不做其他功能使用

SARADC_IN0_BOOT 对地短路,可使设备进入 Maskrom 状态,无需再通过短路 EMMC_CLK/DATA 进入 Maskrom;SARADC_IN1 用于对地短路进入 Recovery 状态;其它 SARADC口可根据应用需求配置。


note:RK3588 不支持从 PCIe BOOT,应用中若有从 PCIe 接口的 SSD 硬盘启动的需求,需要在 FSPI 接口接 SPI FLASH,启动时通过 SPI FLASH 的代码先引导 PCIe 的驱动,再加载 SSD 里面的系统,从而完成启动。


4、系统初始化配置

 SDMMC_DET 管脚(Pin P31):决定 VCCIO2 电源域 IO 是 SDMMC 还是 JTAG 功能,在系统复位结束后,芯片会根据这个管脚的输入电平配置相应模块的默认开机功能。

4.1、JTAG功能

通过 SWD 模式(两线模式)连接DSTREAM 仿真器,调试芯片内部的 ARM Core。

4.2、UART Debug功能

默认选择 UART2_RX_M0/UART2_TX_M0,默认波特率为 1500000Bd。

UART2_RX_M0/UART2_TX_M0 串接的 100 ohm 电阻不得删减,并增加 TVS 管,加强抗静电浪涌能力,防止开发过程损坏芯片管脚。

5、DDR电路设计

支持LPDDR4/4X/5标准;

支持64bits数据总线宽度(4X16bits),单通道最大8GB;

两个 16bits 组成一个 32bits 通道,2 个 32bits 通道(即图纸中 CH0、CH1 通道)不能采用不同容量
的颗粒配置,如 4GB+2GB;

支持 Power Down、Self Refresh 模式;具有动态 PVT 补偿的可编程输出和 ODT 阻抗调整。

5.1、DDR PHY和颗粒设计建议

DDR PHY 和各 DRAM 颗粒原理图需要和参考设计图一致,包含电源去耦电容。

DQ、CA 顺序全部不支持对调

DDR PHY ZQ 必须接 240ohm 1%到 VDDQ_DDR_S0 电源上。

LPDDR4/4x/LPDDR5 的颗粒 ZQ 必须接 240ohm 1%到 VDDQ_DDR_S0 电源上;

LPDDR4/4x 的颗粒 ODT_CA 必须接 10Kohm 5%到 VDD2_DDR_S3 电源上;

DDR拓扑结构:LPDDR4 颗粒 DQ、CLK、CMD、CA 都支持 ODT,全部点对点连接即可。

5.2、DDR电源设计上电时序

RK3588 DDR PHY 供电电源汇总如下:

LPDDR4/4x/LPDDR5 颗粒供电电源汇总如下:

LPDDR4/4x SDRAM 的上电时序如下图所示:

5.3、DDR支持颗粒型号

LPDDR4X:FLXC4008G-30/FLXC2004G-N1/FLXC2002G-C4/RS1G32LX4D4BNR-53BT(4G,-25~85℃)/A8XAGH50ABA‐PMI (16G,-45~95℃)

6、eMMC电路

兼容4.41/4.51/5.0/5.1规范;

支持1/4/8bit数据宽度;

支持HS400模式,向下兼容HS200/DDR50;支持CMD Queue;

eMMC连接示意图:


note:eMMC_DATA_Strobe在eMMC端串接0ohm电阻并预留47Kohm下拉电阻;


6.1、eMMC颗粒上电时序

6.2、eMMC支持型号

FEMDRWxxxG-88A19/FEMDNN032/64/128G-A3A56(-25~85℃)

7、FSPI Flash电路

支持NOR Flash/Nand Flash,支持SDR模式;支持1/2/4线模式;


FSPI接口仅用于BOOT的SPI Flash,不建议其他功能;

FSPI存在3个服用接口:_M0、_M1、_M2,同时仅能使用一个且分布在不同电源域,需注意电源匹配。


连接示意图:

8、GPIO介绍

引脚后缀_d:默认内部下拉;_u:默认内部上拉;_z:默认高阻态;

GPIO电源域:

三、电源树

1、RK3588芯片电源需求

模块电源管脚描述
PLLPLL_DVDD0V75、PLL_AVDD1V8系统 PLL 电源
DDR PLLDDR_CH0_PLL_DVDD、DDR_CH0_PLL_AVDD1V8DDR PLL 电源
DDR_CH1_PLL_DVDD、DDR_CH1_PLL_AVDD1V8
DDR MIFDDR_CH0_VDD_MIF、DDR_CH1_VDD_MIFDDR memory controller 电源
DDR_VDDDDR_CH0_VDD、DDR_CH1_VDDDDR 的数字 CORE 电源
DDR_VDDQ_CKDDR_CH0_VDDQ_CK、DDR_CH1_VDDQ_CKLPDDR4/4X 和 LPDDR5 的 CK 电 源
DDR_VDDQ_CKEDDR_CH0_VDDQ_CKE、DDR_CH1_VDDQ_CKELPDDR4/4X_CKE 和 LPDDR5_CS &RESET 的电源
DDR VDDQDDR_CH0_VDDQ、DDR_CH1_VDDQDDR IO 电源(除了 ck\cke\reset 电源外)
CPU_BIG0VDD_CPU_BIG0A76_0,A76_1 电源
CPU_BIG0_MEMVDD_CPU_BIG0_MEMCPU_BIG0 的 Memory 相关电源
CPU_BIG1VDD_CPU_BIG1A76_2,A76_3 电源
CPU_BIG1_MEMVDD_CPU_BIG1_MEMCPU_BIG1 的 Memory 相关电源
DSU\LIT_CPUVDD_CPU_LITDSU 单元、CPU_LIT(A55)、L3 cache 电源
CPU_LIT_MEMVDD_CPU_LIT_MEMDSU 单元、CPU_LIT(A55)、L3 cache 的 Memmory 相关电源
GPUVDD_GPUGPU 电源
CPU_GPU_MEMVDD_GPU_MEMVDD_GPU 的 Memory 相关电源
NPUVDD_NPUNPU 电源
CPU_NPU_MEMVDD_NPU_MEMVDD_NPU 的 Memory 相关电源
LOGICVDD_LOG逻辑电源
VDENCVDD_VDENCDECODE/ENCODE 的电源
VDENC_MEMVDD_VDENC_MEMDECODE/ENCODE 的 Memory 电 源
PMU_0V75PMU_0V75PMU 逻辑电源
OSCOSC_1V8晶振电路电源
IOPMUIO1_1V8、PMUIO2_1V8\PMUIO2、EMMCIO_1V8、 VCCIO2_1V8\VCCIO2、VCCIO1_1V8、VCCIO3_1V8、 VCCIO4_1V8\VCCIO4、VCCIO5_1V8\VCCIO5、各个 GPIO 的电源

模块电源管脚描述
VCCIO6_1V8\VCCIO6
SARADCSARADC_AVDD_1V8SAR ADC 和 TSADC 的电源
OTPOTP_VDDOTP_0V75OTP 电源
USB2.0 PHYUSB20_DVDD_0V75、USB20_AVDD_1V8、 USB20_AVDD_3V3USB2.0 HOST 和 OTG2.0 PHY 电 源
USB3.0 PHYTYPEC0_DP0_VDD_0V85、TYPEC0_DP0_VDDA_0V85、 TYPEC0_DP0_VDDH_1V8 TYPEC1_DP1_VDD_0V85、TYPEC1_DP1_VDDA_0V85、 TYPEC1_DP1_VDDH_1V8USB3.0 OTG 的电源
PCIe3.0 PHYPCIE30_PORT0_AVDD0V75、 PCIE30_PORT0_AVDD1V8、PCIE30_PORT1_AVDD0V75、 PCIE30_PORT1_AVDD1V8PCIe3.0 PHY 电源
PCIe2.0 PHYPCIE20_SATA30_0_AVDD_0V85、 PCIE20_SATA30_0_AVDD_1V8、 PCIE20_SATA30_1_AVDD_0V85、 PCIE20_SATA30_1_AVDD_1V8、 PCIE20_SATA30_USB30_2_AVDD_0V85、 PCIE20_SATA30_USB30_2_AVDD_1V8、PCIE20/SATA30/USB30PHY 相关电源 COMBO
MIPI D/C Combo PHYMIPI_D/C_PHY0_VDD、 MIPI_D/C_PHY0_VDD_1V2、 MIPI_D/C_PHY0_VDD_1V8、 MIPI_D/C_PHY1_VDD、 MIPI_D/C_PHY1_VDD_1V2、 MIPI_D/C_PHY1_VDD_1V8MIPI D/C Combo PHY 的相关电源
MIPI CSI PHYMIPI_CSI0_AVDD0V75、 MIPI_CSI0_AVCC1V8、 MIPI_CSI1_AVDD0V75、 MIPI_CSI1_AVCC1V8MIPI DPHY CSI 电源
HDMI/eDP TX PHYHDMI/EDP_TX0_VDD_0V75、 HDMI/EDP_TX0_AVDD_0V75、 HDMI/EDP_TX0_VDD_IO_1V8、 HDMI/EDP_TX0_VDD_CMN_1V8、 HDMI/EDP_TX1_VDD_0V75HDMI/EDP_TX1_AVDD_0V75、 HDMI/EDP_TX1_VDD_IO_1V8、 HDMI/EDP_TX1_VDD_CMN_1V8HDMI2.1/eDP1.3 Combo phy 电源
HDMI RX PHYHDMI_RX_AVDD0V75、 HDMI_RX_VPH3V3、 HDMI_RX_DVDD3V3HDMI2.0 RX PHY 电源

2、RK3588芯片上电时序要求

3、初次上电必须供电模块

模块电源管脚第一次上电供电要求
DDR PLLDDR_CH0/1_PLL_DVDD, DDR_CH0/1_PLL_AVDD1V8必须供电
SYSPLLPLL_DVDD0V75,PLL_AVDD1V8必须供电
CPUVDD_CPU_BIG0, VDD_CPU_BIG1, VDD_CPU_BIG0_MEM, VDD_CPU_BIG1_MEM必须供电
GPUVDD_GPU,VDD_GPU_MEM必须供电
NPUVDD_NPU,VDD_NPU_MEM必须供电
VDENCVDD_VDENC,VDD_VDENC_MEM必须供电
LITVDD_CPU_LIT,VDD_CPU_LIT_MEM必须供电
LogicVDD_LOGIC必须供电
PMU LogicPMU_0V75必须供电
DDRDDR_CH0/1_VDD、DDR_CH0/1_VDD_MIF、 DDR_CH0/1_VDDQ、DDR_CH0/1_VDDQ_CK、 DDR_CH0/1_VDDQ_CKE必须供电
GPIOPMUIO1、PMUIO2必须供电
GPIOEMMCIO_1V8必须供电
GPIOVCCIO2必须供电
GPIOVCCIO1、VCCIO3、VCCIO4、VCCIO5、VCCIO6可以不供电
SARADCSARADC_AVDD_1V8必须供电
OTPOTP_VDDOTP_0V75必须供电
USB3.0 PHYTYPEC0_DP0_VDD_0V85、 TYPEC0_DP0_VDDA_0V85、 TYPEC0_DP0_VDDH_1V8 TYPEC1_DP1_VDD_0V85、 TYPEC1_DP1_VDDA_0V85、 TYPEC1_DP1_VDDH_1V8必须供电 可以不供电
USB2.0 PHYUSB20_DVDD_0V75、USB20_AVDD_1V8、 USB20_AVDD_3V3必须供电
模块电源管脚第一次上电供电要求
PCIe2.0/SATA3.0 Combo PHYPCIE20_SATA30_0/1_AVDD_0V85、 PCIE20_SATA30_0/1_AVDD_1V8可以不供电
PCIe2.0/SATA3.0/USB3.0 Combo PHYPCIE20_SATA30_USB30_2_AVDD_0V85、 PCIE20_SATA30_USB30_2_AVDD_1V8可以不供电
PCIe3.0 PHYPCIE30_PORT0_AVDD0V75、 PCIE30_PORT0_AVDD1V8可以不供电
MIPI CSI RX PHYMIPI_CSI0_AVDD0V75、 MIPI_CSI0_AVCC1V8可以不供电
MIPI D/C Combo PHYMIPI_D/C_PHY0/1_VDD、 MIPI_D/C_PHY0/1_VDD_1V2、 MIPI_D/C_PHY0/1_VDD_1V8可以不供电
HDMI/EDP Combo PHYHDMI/EDP_TX0/1_VDD_0V75 、 HDMI/EDP_TX0/1_AVDD_0V75、 HDMI/EDP_TX0/1_VDD_IO_1V8、 HDMI/EDP_TX0/1_VDD_CMN_1V8可以不供电
HDMI2.0 RX PHYHDMI_RX_AVDD_0V75、HDMI_RX_VPH3V3 HDMI_RX_DVDD_3V3可以不供电

3、电源设计方案要求

3.1、LDO电源:

PLL_DVDD0V75:峰值电流20mA;

PLL_AVDD1V8:峰值电流40mA;

DDR_PLL_DVDD0V75:峰值电流20mA;

DDR_PLL_AVDD1V8:峰值电流30mA;

OSC_1V8:峰值电流10mA;

USB20_DVDD_0V75:峰值电流 30mA

USB20_AVDD_1V8:峰值电流 65mA

USB20_AVDD_3V3:峰值电流 45mA

TYPEC_DP_VDD_0V85::峰值电流 40mA

TYPEC_DP_VDDA_0V85::峰值电流 300mA

TYPEC_DP_VDDA_1V8::峰值电流 60mA

PCIE20_SATA30_0/1_AVDD_0V85/PCIE20_SATA30_USB30_2_AVDD_0V85:峰值电流 140mA

PCIE20_SATA30_0/1_AVDD_1V8/PCIE20_SATA30_USB30_2_AVDD_1V8: 峰值电流 270mA

PCIE30_ PORT0/ PORT1_AVDD0V75:峰值电流 230mA

PCIE30_ PORT0/ PORT1_AVDD1V8 :峰值电流 210mA

MIPI_CSI_RX_AVDD_0V9:峰值电流 10mA

MIPI_CSI_RX_AVDD_1V8:峰值电流 3.3mA

MIPI_D/C_PHY_VDD:峰值电流 130mA

MIPI_D/C_PHY_VDD_1V2:峰值电流 4 mA

MIPI_D/C_PHY_VDD_1V8:峰值电流 35mA

HDMI/EDP_TX_VDD_0V75:峰值电流 440mA

HDMI/EDP_TX_AVDD_0V75:峰值电流 1mA

HDMI/EDP_TX_VDD_IO_1V8:峰值电流 100mA

HDMI/EDP_TX_VDD_CMN_1V8:峰值电流 100mA

SARADC_AVDD_1V8:峰值电流 5mA

3.2、DCDC电源:

VDD_CPU_BIG0:A76的CORE1/CORE2供电

VDD_CPU_BIG1:A76的CORE3/CORE4供电

要求:电源输出>3.5A(并预留20%余量,电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)

VDD_CPU_LIT:A55core、DSU逻辑、控制L3 cache供电

要求:电源输出>2.5A(并预留20%余量,电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)(电源总电容容量>150uF,纹波<85mV)

VDD_GPU:GPU供电

要求:电源输出>5.6A(并预留20%余量,电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)(电源总电容容量>200uF,纹波<100mV)

VDD_NPU:NPU供电

要求:电源输出>4A(并预留20%余量,电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)(电源总电容容量>200uF,纹波<100mV)

VDD_LOGIC:逻辑单元供电

要求:电源输出>2A(电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)(电源总电容容量>100uF,纹波<75mV)

VDD_VDENC:视频的编解码逻辑单元供电

要求:电源输出>2A(电压精度±1.5%), BUCK 瞬态响应要求:Iload=BUCK Max 电流*10%~BUCK Max 电流*80% 跳变,斜率 1A/us,纹波要求±3%以内;(参考设计手册中的去耦电容勿删减)(电源总电容容量>100uF,纹波<75mV)

### 创龙RK3588开发板开发日记与经验分享 #### 一、环境搭建过程中的注意事项 对于创龙RK3588开发板,在初次设置环境中,安装官方提供的Linux发行版至关重要。这一步骤不仅简化了后续软件包的配置流程,还提供了针对该硬件优化过的内核版本[^1]。 ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 上述命令用于更新系统软件源并升级已安装的应用程序到最新版本,确保基础系统的稳定性和安全性[^2]。 #### 二、常见问题及其解决方案 当面对设备树编译失败的情况时,通常是因为缺少必要的工具链或是路径变量未正确设定所致。通过确认`CROSS_COMPILE`环境变量指向正确的交叉编译器前缀可以有效解决问题: ```bash export CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm distclean make ARCH=arm rk3588_defconfig make ARCH=arm menuconfig make -j$(nproc) ARCH=arm ``` 这段脚本展示了如何清理旧构建文件、应用默认配置以及启动交互式菜单来调整特定选项最后完成整个DTS/DTB文件的编译工作流[^3]。 #### 三、性能调优技巧 为了充分利用RK3588的强大处理能力,在多线程密集型应用场景下建议启用Big.Little架构下的CPU频率动态调节机制。编辑 `/sys/devices/system/cpu/cpufreq/policy*/scaling_governor` 文件并将值设为 `interactive` 或者更激进些的选择如 `performance` 可显著提升响应速度而不牺牲太多能耗效率[^4]。 #### 四、外设接口调试心得 连接外部摄像头模块至MIPI CSI接口之前务必仔细阅读数据手册中有关电源管理章节的内容。错误的操作可能会损坏敏感元件甚至主板本身。另外,利用V4L2框架编写简单的测试应用程序可以帮助快速验证图像采集功能是否正常运作[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值