开启辅助访问
 找回密码
 立即注册

RK3399Pro整理

oopss 回答数2 浏览数1524
0、 背景

最近需要用到RK3399Pro,在这里记一些关键的参数
所有资料来自于toybrick的官网:
1、 概述

RK3399Pro是具有CPU、GPU、NPU的SoC

  • CPU:有两个A72,四个A53
  • GPU:ARM Mali T860 MP4 GPU
  • NPU:自研架构
同时还有一些其他部件,如DSP、ISP等
2、 各部件参数

2.0 部件框图



2.1 CPU

有两个cluster。一台cluster上有双核A72,另一台cluster上有四核A53。
都支持ARMv8-A指令集,都支持NEON,都支持Cryptography Extensions
两个cluster之间通过CCI500保证访存一致性
每一台A72核心有48KB的L1指令cache,32KB的数据cache(4组相联);每一台A53核心有32KB的L1cache,32KB的L1数据cache(4组相联)
每一台cluster共享一台L2 cache,大cluster(A72)为1MB,小cluster(A53)为512KB
2.2 NPU

每个周期可执行:

  • INT8:1920 MACs per cycle
  • FP16:64 MACs per cycle
  • INT16:192 MACs per cycle
有512KB的internal buffer
2.3 Boot

可以通过SPI、eMMC、SD/MMC来启动,可以通过USB OTG来烧写代码
2.4 Internal Memory

32KB BootROM
200KB Internal SRAM,支持security access 和 non-security access
2.5 External Memory or Storage Device

双通道内存,支持DDR3-1866/DDR3L-1866/LPDDR3-1866/LPDDR4;每个通道支持2个bank,每个bank最大访存空间为4GB。总共支持4GB访存空间
NPU的内存是独立的,支持DDR3-1600/DDR3L-1600/LPDDR2-1066/LPDDR3-1600;支持两个bank,每个bank访存空间最大为2G。总共支持2G访存空间
注意,这些内存只能选一种,不能混用
一台eMMC接口;两个SD/MMC接口,每一台都可以被配置为SD/MMC或SDIO,数据带宽为4bits
2.6 系统组件


  • 两个Cortex-M0
  • CRU(clock and reset unit):24MHz clock input
  • PMU(power management unit)
  • Timer
  • PWM
  • Watchdog
  • MAIlbox
  • Bus:128bit/64bit/32bit multi-layer AXI/AHB/APB;CCI500
  • Interrupt Controller
  • DMA:支持memory-to-memory/meory-to-peripheral/peripheral-to-memory;有两个DMA Controller,BUS_DMAC负责bus system,PERI_DMAC负责peripheral system
  • Security System:支持TrustZone;双通道加密/解密引擎;支持security boot;支持security debug
2.7 Video CODEC

支持H.264/H.265/MPEG-4等格式的解码
支持H.264等格式的编码(只支持I帧和P帧,不支持B帧)
2.8 JPEG CODEC

支持JPEG解码,支持JPEG ROI decode,最大速率可达76,000,000 pixels per second
支持JPEG编码,最大速率可达90,000,000 pixels per second
2.9 Image Enhancement Processor(IEP)

包括如下功能:

  • 图像增强:GAMMA校正、色调/饱和度/亮度/对比度增强、边缘增强
  • 图像降噪:Spatial sampling/Temporal sampling noise reduction
  • De-interlace
2.10 Graphics Engine

3D Graphics Engine
ARM Mali-T860 MP4 GPU,支持OpenGL ES1.1/2.0/3.0、OpenCL 1.2,DirectX11.1等接口
Embedded 4 shader cores with shared hierarchical tiler
有MMU,有256KB的L2 cache
2D Graphics Engine
支持多种数据格式,可以做Scaling、Rotation等操作
2.11 Video IN/OUT

相机接口:1或2个MIPI-CSI接口
Image Signal Processer(ISP):

  • DVP或MIPI接口
  • 可以做Balck level compensation、Lens shade correction、AF/AWB/AE/HIST
  • 通过MPIP-DSI/eDP/DP/HDMI显示
  • 支持AFBC function co-operation with GPU
VOP(Video Output Processor):有两个,分别是VOP_BIG和VOP_LIT,可以输出HDMI、MIPI等,也可以进行Display Process(如GAMMA、MIRROR)和Layer Process(大概是图层吧)
2.12 HDMI

2.13 MIPI PHY

2.14 eDP PHY

2.15 DisplayPort

2.16 Type-C Interface

2.17 Audio Interface

有I2S/PCM和SPDIF接口
2.18 接口

SDIO:SDIO 3.0协议,数据带宽4bits,有两个MMC接口,可以配置为SD/MMC或SDIO
GMAC 10/100/1000M 以太网控制器:支持IEEE 802.1Q VLAN,支持LAN wake-up
SPI:5个SPI控制器,支持DMA和中断,作为主机从机均可
UART:5个串口,DMA+中断,最高可达4Mbps,UART0~UART3支持自动流控
I2C:9个I2C控制器,可进行multi-master I2C,支持Fast-mode plus(1MHz)
GPIO:5组GPIO
USB 2.0/3.0:两个USB 2.0 host interfaces,1个USB3.0 interfaces
PCIe:1个PCIe port, 2.5Gbps,maximum link width is 4
2.19 其他

Temperature Sensor(TSADC)
Successive Approximation Register(SARADC)
eFuse
封装:FCBGA1372,尺寸27x27mm,厚度0.35mm
3、 NPU



NPU由4个部分组成:Host Interface、Power Management、Nerual Network Engine、Vector Processing Unit

  • Host Interface:AXI用来从内存中取数据(128bit),AHB用来传递配置信息和debug(32bit)
  • Power Management:处理Power、Clock、Reset和同步
  • Nerual Network Engine:支持int8、int16、fp16,卷积、pooling、relu等操作在NN Engine上进行
  • Vector Processing Unit:一台SIMD器件,一台周期可以执行16个元素的乘法/加法,Elewise操作在VPU上执行
NPU的运算能力:

  • 1920个int8 MAD(multiply-add units)
  • 192个int16 MAD
  • 64个fp16 MAD
基本支持常用算子,包括CNN和RNN的
使用道具 举报
| 来自上海 用Deepseek满血版问问看
39ju | 来自北京
老哥知道怎么从sd卡启动嘛?
用Deepseek满血版问问看
回复
使用道具 举报
ganheban | 来自江苏
大佬好[思考]
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影