RK3576 Camera:资源介绍
RK3576是RK今年上市的中高端旗舰芯片,定位弱于RK3588。这篇文章主要分享一下RK3576这颗主控芯片的camera资源。
(1)RK3576 camera资源
①RK3576 camera硬件框图
RK3576的camera硬件框图如图所示,拥有一路4lane的DCPHY,2路4lane的DPHY,可以拆分成4路2lane的模式,还有一路DVP并口,可以支持BT1120/BT656/BT601接口视频数据。有一个ISP控制器。
②MIPI-CSI资源
RK3576 MIPI-CSI资源如下,有1路DCPHY,2路DPHY,其中2路DPHY都可以拆成2lane+2lane的模式使用,共计5个MIPI-CSI HOST,可支持接入5个MIPI camera设备,2lane的场景,最大带宽为5G/bps,4lane场景,最大带宽为10Gbps,YUV422的图像输入的话,例如HDMIIN转接芯片,可以支持到4K60。DCPHY可以作为DPHY 4lane输入也可以作为CPHY 3trios输入,CPHY的场景带宽可达到17Gbps。
type | MAX bandwidth | num | mode | |
DPHY | DPHY-v1.2 | 2.5Gbps/lane | 2 | 4lane or 2lane+2lane |
DCPHY | DPHY-v2.0 or CPHY-v1.1 | 2.5Gbps/lane 2.5Gsps/trios | 1 | DPHY or CPHY |
③VICAP资源
接口 | 数量 | 输入 | 输出 |
vicap | 5个MIPI 1个DVP | MIPI CSI: RAW8/10/12/14/16, RGB888, YUV422 8bit, YUV422 8bit interlaced, YUV420 8bit, Legacy YUV420 8bit DVP:BT.601 RAW8/10/12 YCbCr 422 8-bit input BT.656 YCbCr 422 8-bit progressive/interlaced input BT.1120 YCbCr 422 8-bit progressive/interlaced input | NV16/NV12/YUV400/YUYV 紧凑/非紧凑 RAW RGB888 |
④ISP资源
工作模式 | 吞吐率 | 最大分辨率 | 输入格式 |
单cis | 16M@30fps 48M@10fps | 4672x3504 8064x6048 | VICAP: raw8/raw10/raw12 |
⑤VPSS
看RK3576的描述,在ISP后级应该还有VPSS模块,可以做图像处理,但是目前RK官方似乎也没有描述RK3576该模块的功能以及使用方法。以下是网上海思VPSS模块的描述。
根据网上对海思VPSS模块的描述:VPSS(Video Process Sub-System)支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
根据RK的描述,应该是可以支持旋转镜像裁减多路输出等功能。
⑥最多支持camera数量
RK3576最多可以支持5个MIPIcamera,一个DVP的camera,对应链接框图如下,两路DPHY分别使用2lane+2lane的方式,如果是YUV的sensor,仅需要链接到rkcif_mipi_lvds节点即可,不需要接到stdif虚拟节点。
若采用4lane的方式链接如下:
(2)dts配置
根据上述,RK3576至多可以同时接入5路 MIPI摄像头,下篇文章再介绍。可参考如下:
&csi2_dcphy0 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi_in_gc05a2: endpoint@1 {reg = <1>;remote-endpoint = <&gc05a2_out0>;data-lanes = <1 2 3 4>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;csidcphy0_out: endpoint@0 {reg = <0>;remote-endpoint = <&mipi0_csi2_input>;};};};
};&csi2_dphy3 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi_in_s5k3l8xx: endpoint@1 {reg = <1>;remote-endpoint = <&s5k3l8xx_out0>;data-lanes = <1 2 3 4>;};mipi_in_ov16880: endpoint@2 {reg = <2>;remote-endpoint = <&ov16880_out0>;data-lanes = <1 2 3 4>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;csidphy3_out: endpoint@0 {reg = <0>;remote-endpoint = <&mipi3_csi2_input>;};};};
};&csi2_dphy0_hw {status = "okay";
};&csi2_dphy1_hw {status = "okay";
};&i2c4 {status = "okay";pinctrl-0 = <&i2c4m3_xfer>;gc05a2: gc05a2@37 {compatible = "galaxycore,gc05a2";status = "okay";reg = <0x37>;clocks = <&cru CLK_MIPI_CAMERAOUT_M0>;clock-names = "xvclk";pinctrl-names = "default";pinctrl-0 = <&cam_clk0m0_clk0>;pwdn-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;reset-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;avdd-supply = <&vcc_mipipwr>;dovdd-supply = <&vcc_1v8_cam>;//dvdd-supply = <&vcc1v2_dvp>;rockchip,camera-module-index = <1>;rockchip,camera-module-facing = "front";rockchip,camera-module-name = "KYT-11210-V2";rockchip,camera-module-lens-name = "default";port {gc05a2_out0: endpoint {remote-endpoint = <&mipi_in_gc05a2>;data-lanes = <1 2>;};};};
};&i2c5 {status = "okay";pinctrl-names = "default";pinctrl-0 = <&i2c5m3_xfer>;ces6301: ces6301@c {compatible = "chipextra,ces6301";status = "okay";reg = <0x0c>;avdd-supply = <&vcc_mipipwr>;rockchip,vcm-max-current = <120>;rockchip,vcm-start-current = <10>;rockchip,vcm-rated-current = <85>;rockchip,vcm-step-mode = <9>;rockchip,camera-module-index = <0>;rockchip,camera-module-facing = "back";};s5k3l8xx: s5k3l8xx@10 {status = "okay";compatible = "samsung,s5k3l8xx";reg = <0x10>;clocks = <&cru CLK_MIPI_CAMERAOUT_M2>;clock-names = "xvclk";pinctrl-names = "default";pinctrl-0 = <&cam_clk2m0_clk2>;pwdn-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;reset-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;avdd-supply = <&vcc_mipipwr>;dovdd-supply = <&vcc_1v8_cam>;//dvdd-supply = <&vcc1v2_dvp>;rockchip,camera-module-index = <0>;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "KYT-11097-B-V1";rockchip,camera-module-lens-name = "default";lens-focus = <&ces6301>;flash-leds = <&flash_rgb13h>;port {s5k3l8xx_out0: endpoint {remote-endpoint = <&mipi_in_s5k3l8xx>;data-lanes = <1 2 3 4>;};};};ov16880: ov16880@36 {status = "okay";compatible = "ovti,ov16880";reg = <0x36>;clocks = <&cru CLK_MIPI_CAMERAOUT_M2>;clock-names = "xvclk";pinctrl-names = "default";pinctrl-0 = <&cam_clk2m0_clk2>;pwdn-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;reset-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;avdd-supply = <&vcc_mipipwr>;dovdd-supply = <&vcc_1v8_cam>;//dvdd-supply = <&vcc1v2_dvp>;rockchip,camera-module-index = <0>;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "KYT-11379-V1";rockchip,camera-module-lens-name = "default";lens-focus = <&ces6301>;flash-leds = <&flash_rgb13h>;port {ov16880_out0: endpoint {remote-endpoint = <&mipi_in_ov16880>;data-lanes = <1 2 3 4>;};};};
};&mipi0_csi2 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi0_csi2_input: endpoint@1 {reg = <1>;remote-endpoint = <&csidcphy0_out>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;mipi0_csi2_output: endpoint@0 {reg = <0>;remote-endpoint = <&cif_mipi_in0>;};};};
};&mipi3_csi2 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi3_csi2_input: endpoint@1 {reg = <1>;remote-endpoint = <&csidphy3_out>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;mipi3_csi2_output: endpoint@0 {reg = <0>;remote-endpoint = <&cif_mipi3_in0>;};};};
};&pinctrl {cam {mipicam_pwr: mipicam-pwr {rockchip,pins =/* camera power en */<3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;};flash_led_gpios: flash-led {rockchip,pins =/* flash led enable */<2 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;};};
};&rkcif {status = "okay";
};&rkcif_mipi_lvds {status = "okay";port {cif_mipi_in0: endpoint {remote-endpoint = <&mipi0_csi2_output>;};};
};&rkcif_mipi_lvds_sditf {status = "okay";port {mipi_lvds_sditf: endpoint {remote-endpoint = <&isp_vir0_in0>;};};
};&rkcif_mipi_lvds3 {status = "okay";port {cif_mipi3_in0: endpoint {remote-endpoint = <&mipi3_csi2_output>;};};
};&rkcif_mipi_lvds3_sditf {status = "okay";port {mipi_lvds3_sditf: endpoint {remote-endpoint = <&isp_vir0_in1>;};};
};&rkcif_mmu {status = "okay";
};&rkisp {status = "okay";
};&rkisp_mmu {status = "okay";
};&rkisp_vir0 {status = "okay";port {#address-cells = <1>;#size-cells = <0>;isp_vir0_in0: endpoint@0 {reg = <0>;remote-endpoint = <&mipi_lvds_sditf>;};isp_vir0_in1: endpoint@1 {reg = <1>;remote-endpoint = <&mipi_lvds3_sditf>;};};
};
(3)总结
后续继续介绍详细的dts配置以及调试经验。
相关文章:

RK3576 Camera:资源介绍
RK3576是RK今年上市的中高端旗舰芯片,定位弱于RK3588。这篇文章主要分享一下RK3576这颗主控芯片的camera资源。 (1)RK3576 camera资源 ①RK3576 camera硬件框图 RK3576的camera硬件框图如图所示,拥有一路4lane的DCPHYÿ…...
Symfony DomCrawler库在反爬虫应对中的应用
在当今信息爆炸的时代,互联网上的数据量巨大,但这也带来了一些问题,比如恶意爬虫可能会对网站造成严重的影响,导致资源浪费和服务不稳定。为了解决这个问题,许多网站采取了反爬虫策略。Symfony DomCrawler库是一个强大…...

1Panel应用推荐:Uptime Kuma
1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…...

传输文件协议FTP与LFTP
目录 一.简介 二. FTP基础 主动模式(Active Mode): 被动模式(Passive Mode): 三. Vsftp 服务器简介 四. Vsftpd配置 1. 安装vsftpd(ftp服务端) 2.编辑配置文件 (…...
expdp和impdp 实战
1 查询需要导出数据的用户 select username,default_tablespace from dba_users where username like %USERNAME%; 2 查看原来表空间大小 set linesize 9999 pagesize 9999 SELECT total.tablespace_name, Round(total.MB, 2) AS Total_MB, Round(t…...

知了汇智引领未来:全新AIGC系列课程,打造数字时代人才新标杆
在全球AIGC(生成式人工智能)技术加速发展的背景下,一系列权威报道揭示了该领域内市场潜力、行业应用、教育研究、政府监管以及具体应用场景的蓬勃进展。据腾讯网4月19日报道,中国AIGC应用市场规模预计于2024年达到200亿人民币&…...

软件项目验收第三方测试报告如何获取
软件项目验收第三方测试报告是确保软件质量、安全性和稳定性的重要环节。对于企业和开发者来说,获取一份全面、专业的第三方测试报告,对于提升软件产品的竞争力和用户满意度至关重要。本文将介绍如何获取软件项目验收第三方测试报告,以及相关…...
linux下脚本监控mysql主从同步异常时发邮件通知
在MySQL中,同步异常监控通常涉及监控复制的状态。可以通过查询SHOW SLAVE STATUS命令来获取复制的状态信息,并对其进行监控。以下是一个简单的SQL脚本,用于监控MySQL复制状态并输出异常信息: 查mysql slave状态 SHOW SLAVE STAT…...
【MySQL】分组排序取每组第一条数据
需求:MySQL根据某一个字段分组,然后组内排序,最后每组取排序后的第一条数据。 准备表: CREATE TABLE t_student_score (id int(11) NOT NULL AUTO_INCREMENT COMMENT ID,stu_name varchar(32) NOT NULL COMMENT 学生姓名,course…...

滚珠螺杆在精密机械设备中如何维持精度要求?
滚珠螺杆在精密设备领域中的运用非常之广泛,具有精度高、效率高的特点。为了确保滚珠螺杆在生产设备中能够发挥最佳性能,我们必须从多个维度进行深入考量,并采取针对性的措施,以确保其稳定、精准地服务于现代化生产的每一个环节。…...
现代 c++ 三:右值引用与移动语义
c11 为了提高效率,引入了右值引用及移动语义,这个概念不太好理解,需要仔细研究一下,下文会一并讲讲左值、右值、左值引用、右值引用、const 引用、移动构造、移动赋值运行符 … 这些概念。 左值和右值 左值和右值是表达式的属性。…...

Java学习【类与对象—封装】
Java学习【类与对象—封装】 封装的概念封装的实现包的概念import 导包导包中*的介绍import static 导入包中的静态方法和字段 static关键字的使用static 修饰成员变量static修饰方法静态成员变量的初始化 代码块静态代码块非静态代码块/实例化代码块/构造代码块加载顺序 封装的…...

Co-Driver:基于 VLM 的自动驾驶助手,具有类人行为并能理解复杂的道路场景
24年5月来自俄罗斯莫斯科研究机构的论文“Co-driver: VLM-based Autonomous Driving Assistant with Human-like Behavior and Understanding for Complex Road Scenes”。 关于基于大语言模型的自动驾驶解决方案的最新研究,显示了规划和控制领域的前景。 然而&…...

硅胶可以镭射吗?
在科技发展的今天,我们经常会遇到各种各样的材料,其中就有一种叫做硅胶的材料。那么,硅胶可以镭射吗?答案是肯定的,硅胶不仅可以镭射,而且在某些应用中,它的镭射特性还非常突出。 首先ÿ…...

财务风险管理:背后真相及应对策略
市场经济蓬勃发展,机遇与风险并存也是市场经济的一项重要特征。而财务状况的好坏影响着一个企业的发展前景,作为市场经济的必然产物,财务风险贯穿于企业的一切生产经营活动中,无法预知也不以人的意志为转移。 一、企业财务风险的特…...
MySQL深入理解事务(详解)
事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1、基本概念 事务:一组…...

【Linux系统】进程控制
本篇博客整理了进程控制有关的创建、退出、等待、替换操作方面的知识,最终附有模拟实现命令行解释器shell来综合运用进程控制的知识,旨在帮助读者更好地理解进程与进程之间的交互,以及对开发有一个初步了解。 目录 一、进程创建 1.创建子进…...
Go语言数值类型教程
Go语言提供了丰富的数值类型,包括整数类型、浮点类型和复数类型。每种类型都有其特定的用途和存储范围。下面将详细介绍这些类型,并附带示例代码。 原文链接: Go语言数值类型教程 - 红客网-网络安全与渗透技术 1. 整数类型 原文链接…...

Linux进程控制——Linux进程等待
前言:接着前面进程终止,话不多说我们进入Linux进程等待的学习,如果你还不了解进程终止建议先了解: Linux进程终止 本篇主要内容: 什么是进程等待 为什么要进行进程等待 如何进程等待 进程等待 1. 进程等待的概念2. 进…...

GPT-4o:融合文本、音频和图像的全方位人机交互体验
引言: GPT-4o(“o”代表“omni”)的问世标志着人机交互领域的一次重要突破。它不仅接受文本、音频和图像的任意组合作为输入,还能生成文本、音频和图像输出的任意组合。这一全新的模型不仅在响应速度上达到了惊人的水平,在文本、音频和图像理解方面也表现出色,给人带来了…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...