
清空记录
历史记录
取消
清空记录
历史记录

欢迎来到RK ISP内核驱动的解析与实战系列的最终章——下篇。
上篇我们搭建了驱动架构全景,走通了Probe初始化流程,解析了ISP核心Subdev与CSI接收模块;
中篇我们深入了Bridge桥接、三路捕获通道、3A双通路以及ISP39新增硬件特性,理解了驱动运行时的核心数据管道。
下篇作为收官之作,为整个系列画上圆满句号。将重点解析ISP完整中断系统架构、揭秘ISP39独有的AIISP RISC-V协处理器、介绍驱动调试接口,并梳理一条完整的业务调用链路——从上电到出帧再到停止,最后给出全文技术总结。希望通过这三篇连载,帮助你建立起对RKISP驱动从宏观架构到微观实现的完整认知。
关注「触觉智能」公众号,回复关键词“客服”,联系客服即可获取瑞芯微RK开发板/核心板相关资料,可对接技术支持团队,咨询项目选型与项目需求。
前20位申领资料,可获RK3576开发板大额折扣。机会有限,先到先得!
十一、ISP完整中断系统架构
RK3576 ISP硬件挂载3路独立GIC中断,分工明确:
中断名称 | 触发方式 | 中断处理函数 | 核心职责 |
mipi_irq | 高电平触发 | rkisp_mipi_isr()/ rkisp_mipi_v3x_isr() | MIPI数据包错误检测、VSYNC帧同步事件上报 |
mi_irq | 高电平触发 | rkisp_mi_isr()→ rkisp_mi_v39_isr() | MI内存接口帧开始/帧结束、DMA缓存管理 |
isp_irq | 高电平触发 | rkisp_isp_isr() | ISP管线状态、3A统计完成中断 |
三路中断协同工作逻辑:
1.mipi_irq:上报Sensor VSYNC帧同步信号;
2.isp_irq:通知ISP图像处理完成、3A统计就绪;
3.mi_irq:图像数据写入DDR内存完成,推送缓存至用户态。
配套硬件看门狗rkisp_monitor:持续检测帧中断丢失,连续丢帧达到阈值自动复位ISP硬件,解决卡死、死机问题。
十二、ISP39专属AI ISP协处理器
AI ISP是ISP39标志性新增硬件单元,内置独立RISC-V协处理器,用于本地运行AI降噪、图像增强神经网络,配套代码分布:
1.hw.c:isp39_aiisp系列硬件寄存器配置;
2.isp_params_v39.c:config_aiisp() AI模型参数下发;
3.version.h:标注aiisp双缓存、离线模式默认开启特性。
两种工作模式:
1.Online在线模式:ISP处理完成后直接送入AI ISP运算,不落地DDR;
2.Offline离线模式(ISP39默认):ISP图像写入DDR,AI ISP从内存读取图像推理,兼容性更强。
十三、驱动调试接口&业务调用链路
驱动注册/proc/rkisp虚拟文件系统,可读取信息:
•驱动版本、ISP硬件版本;
•实时寄存器dump;
•帧率、丢帧、中断统计;
•各图像通道运行状态。
// common.hextern int rkisp_debug; // 日志打印等级extern bool rkisp_monitor; // 硬件看门狗总开关extern bool rkisp_irq_dbg; // 中断日志调试extern bool rkisp_buf_dbg; // DMA缓存日志调试extern u64 rkisp_debug_reg; // 指定寄存器单独打印调试
可通过/sys/module/video_rkisp/parameters/动态修改参数,无需重新编译内核。
十四、业完整业务调用链路(上电→出帧→停止)
rkisp_plat_probe() └→ rkisp_register_platform_subdevs() └→ isp_subdev_notifier() └→ subdev_notifier_complete() // Sensor异步探测完成 ├→ rkisp_create_links() // 构建media graph媒体链路 ├→ _set_pipeline_default_fmt() // 设置默认图像格式 └→ schedule_work(fast_work) // Thunderboot相机快速启动
rkisp_pipeline_open() ├→ pm_runtime_get_sync() // ISP硬件上电、打开电源域 ├→ rkisp_hw_enum_isp_size() // 读取ISP硬件最大分辨率规格 ├→ v4l2_subdev_call(s_s_power, 1) // Sensor图像传感器上电 └→ media_pipeline_start() // 启动整条媒体管线rkisp_pipeline_set_stream(1) ├→ v4l2_subdev_call(s_stream, 1) // Sensor输出图像数据流 ├→ rkisp_config_isp() // 写入ISP基础硬件参数 └→ rkisp_set_stream() // 使能MI内存输出通道
硬件中断触发→ 对应ISR处理
1.rkisp_isp_isr():采集3A统计数据;
2.rkisp_mi_isr():帧结束,缓存出队,用户态dequeue取图;
3.rkisp_mipi_isr():MIPI异常处理。
rkisp_pipeline_set_stream(0) // 关闭图像输出通道rkisp_pipeline_close() // 释放管线资源、下电ISP硬件
ISP39驱动是瑞芯微新一代高性能Camera解决方案,对比前代ISP30/ISP32在AI图像处理、多路摄像头调度、超大分辨率拍摄实现全面升级,搭配RK3576 VI电源域、独立IOMMU内存管理,构成一套完整稳定、低功耗的嵌入式图像信号处理系统。
技术维度 | RK3576 ISP39核心关键特征 |
硬件版本标识 | ISP_V39 (0xa0) |
最大输出分辨率 | 单ISP:4672×3504;Unite拼接:8192×6144 |
时钟域 | 5路独立时钟(core/marvin/vicap/aclk/hclk) |
图像拓扑 | 6路虚拟ISP + sditf桥接 → VPSS后处理 |
输出捕获通道 | MP主路 / SP自路 / LDC畸变校正 / FBC压缩 / BP直通 / DMATX HDR原始通道 |
3A系统 | W3A并行AE/AWB/AF + PDAF相位对焦支持 |
独有硬件 | AIISP RISC-V AI协处理器 |
特色能力 | 多虚拟ISP硬件分时复用、超大图拼接、Thunderboot快速启动 |
ISP39驱动是瑞芯微新一代高性能Camera解决方案,对比前代ISP30/ISP32在AI图像处理、多路摄像头调度、超大分辨率拍摄实现全面升级,搭配RK3576的VI电源域、独立IOMMU内存管理,构成一套完整稳定、低功耗的嵌入式图像信号处理系统。至此,基于触觉智能RK3576的瑞芯微ISP内核驱动深度解析系列文章完结。
产品简介
