Rockchip (瑞芯微) 摄像头设备树流水线
如果你刚接触 Rockchip 平台如 RK3568、RK3588的驱动开发第一次配置摄像头的设备树DTS时大概率会被震惊到 “我不就是想点亮一个 IMX415 摄像头吗为什么原厂的 DTS 里有 csi2_dcphy、mipi0_csi2、rkcif、rkisp、rkvpss 甚至还有一堆 _vir 和 _mmu 节点它们到底是怎么连在一起的” 别慌。看不懂这些节点是因为我们习惯把“摄像头”看作一个单一的硬件模块。但在现代 SoC 中图像处理是一整条高度模块化的“流水线”Pipeline。 今天我们不贴枯燥的寄存器手册而是把 SoC 内部的图像处理流程当成一家“图像加工厂”。一文带你厘清这些节点扮演的真实角色彻底打通 Rockchip 摄像头的任督二脉第一阶段收货与拆包从引脚到协议外部的 Sensor图像传感器拍下了画面把它们打包成高频电信号发给芯片。芯片的大门怎么接客1. csi2_dcphy (物理引脚)厂区接货的高速公路 这是 SoC 上的 MIPI D-PHY 物理层。它只认底层的差分电信号。你的外部摄像头设备树第一步就是要和这个“高速公路”对接告诉它你有几条车道data-lanes。2. mipi0_csi2 (协议解包)拆包检验中心 货车开进来了但信号全是 MIPI 协议的加密包。这个节点负责把“包裹”拆开提取出里面真正的图像数据准备送往下一站。第二阶段分发与快传CIF 家族数据进了芯片来到了 CIF (Camera Interface)。这里是工厂的物流集散中心。1. rkcif_mipi_lvds数据收货月台 芯片为了兼容性这个月台既能接收 MIPI 包裹也能接收工业界常用的 LVDS 包裹。它是 CIF 模块内部接收数据的起点。2. rkcif rkcif_mmu大门总控与物流车队 rkcif 是整个集散中心的电源总闸。而带 _mmu 后缀的是内存管理单元。你可以把它理解为“物流车队”负责在错综复杂的物理内存DDR中找出连续的空间来存放图像数据。3. rkcif_mipi_lvds_sditf直通 ISP 的 VIP 专线 如果所有数据都要先存进 DDR 内存再取出来处理带宽根本吃不消。所以 Rockchip 修了这条 sditf (Sensor Direct Interface) 专线数据在月台卸货后不进内存仓库直接通过这条 VIP 通道扔给后端的 ISP 进行加工这在业界叫 Bypass / Online 模式。第三阶段暗房与画质精修ISP 家族走 VIP 专线过来的原始数据Bayer RAW是没法直接看的满是噪点、颜色发绿。必须交给 ISP (Image Signal Processor) 来处理。1. rkisp rkisp_mmu画质加工车间与专属物流队 这是底层真正的硬件加速器。去马赛克、白平衡调色、自动曝光、降噪全在这里完成。半成品在这里被冲洗成了色彩正常的漂亮照片。2. rkisp_vir0虚拟加工流水线 为什么有个 vir0虚拟节点因为 RK 芯片往往要接好几个摄像头但物理 ISP 只有一两个。为了不打架系统设计了分时复用的“虚拟流水线”。摄像头 A 分配到 vir0摄像头 B 用 vir1大家排队使用底层的物理车间。第四阶段后期裁剪与出图VPSS 家族ISP 输出的照片通常是 Sensor 的原始最大分辨率。但你想在 1080P 的屏幕上显示或者想把画面旋转 90 度怎么办这需要 VPSS (Video Process System)。1. rkvpss rkvpss_mmu后期裁切车间与物流队 专治各种花里胡哨的排版需求缩放大小Scale、裁剪Crop、旋转Rotate、像素格式转换如 YUV 转 RGB统统由 VPSS 硬件搞定完全不消耗 CPU。2. rkvpss_vir0虚拟精修线 同样为了多路视频流并发处理这里也采用了虚拟化通道设计。一图看懂 Rockchip 图像流水线把我们聊过的所有节点拼在一起一条真正完整的“端到端”现代 SoC 摄像头流水线就浮出水面了以下表格配置 DTS 时随时查阅设备树节点 (DTS Node)扮演的角色通俗理解 (工厂比喻)csi2_dcphy物理引脚层厂区接货的高速公路连接外部 Sensormipi0_csi2CSI2 协议解包把一车车的 MIPI 数据包裹拆开rkcif_mipi_lvds接收数据端点接收不同标准的包裹 (兼容 MIPI/LVDS)rkcifrkcif_mmuCIF 总线大门 内存物流队数据进门的十字路口MMU 负责安排内存库房rkcif_mipi_lvds_sditf数据直通专线 (Bypass)不进 DDR 库房了走 VIP 通道直接送去 ISP 加工rkisp_vir0虚拟 ISP 通道分配给当前摄像头的专享画质加工线rkisprkisp_mmu物理 ISP 车间 内存物流队去马赛克、调色、降噪把半成品变成真正的照片rkvpss_vir0虚拟 VPSS 通道分配给当前照片的专享裁剪排版线rkvpssrkvpss_mmu物理 VPSS 车间 内存物流队负责缩放大小、画面旋转、裁剪出图最终送给屏幕下次再看到 Rockchip 设备树里那一长串的摄像头节点请不要再感到恐惧。 它们不是毫无意义的套娃而是工程师们为了极致的硬件复用vir虚拟节点、性能优化sditf直通专线和内存安全mmu机制所做的精心设计。 在实际项目中这些 SoC 内部的“水管”往往原厂已经帮你接好。你只需要定义好外部 Sensor 的节点将起点对准 csi2_dcphy然后把表格里的这些节点统统设为 status okay;相当于按下全厂的总电闸你的图像流水线就能轰鸣运转起来了