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”)的问世标志着人机交互领域的一次重要突破。它不仅接受文本、音频和图像的任意组合作为输入,还能生成文本、音频和图像输出的任意组合。这一全新的模型不仅在响应速度上达到了惊人的水平,在文本、音频和图像理解方面也表现出色,给人带来了…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
