Rockchip | Rockchip Camera技术
Rockchip-isp1
概述
以下文档提供了rockchip-isp1驱动程序和rockchip SoC上图像信号处理模块的基本信息,并附有示例和详细信息。
硬件
更多详细信息可在TRM章节“Image Signal Processing”、“MIPI D-PHY”中找到,但它们仅在NDA下可用。
ISP 详细
ISP 包括:
- MIPI serial camera interface
- Image Signal Processing
- Many Image Enhancement Blocks
- Crop
- Resize
方框图
完整的方框图无法从datasheet粘贴到此处,下图为抽象版本:
MIPI 详细
rockchip SoC中有三个D-PHY实例,其连接如下图所示:
软件
驱动
rockchip-isp1是rockchip SoC上基于V4L2的图像信号处理模块驱动程序。与早期的驱动程序rk-isp10相比,它使用媒体控制器框架,这与普通的v4L2不同。虽然普通v4L2将设备视为将输入数据连接到主机存储器的基于DMA的普通图像拖放器,但媒体控制器考虑到一个典型视频设备可能由多个子设备组成。
媒体控制器基础知识
请仔细阅读下面的链接,如果你以前没有使用过它。
https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html
方框图
File 视图
V4l2 视图
Name | Type | Description |
---|---|---|
rkisp1_mainpath | v4l2_vdev, capture |
格式:YUV, RAW Bayer;最大分辨率:4416*3312;支持:Crop |
rkisp1_selfpath | v4l2_vdev, capture |
格式: YUV, RGB;最大分辨率:920*1080;支持:Crop |
rkisp1-isp-subdev | v4l2_subdev |
内部isp模块;支持:source/sink pad crop。 sink pad的格式应等于sensor输入格式,大小应等于/小于sensor输入大小。 如果输出格式为raw bayer,则source pad的格式应等于vdev输出格式,否则应为YUYV2X8。大小应等于/小于sink pad。 |
rockchip-sy-mipi-dphy | v4l2_subdev |
MIPI-DPHY 配置 |
rkisp1-statistics | v4l2_vdev, capture | 提供图像颜色统计信息 |
rkisp1-input-params | v4l2_vdev, output |
接收AWB、BLC的参数。。。。。。图像增强块 |
Sensor 驱动要求
sensor驱动应执行下表中的控制。
Controls | Description | R/W | Needed by |
---|---|---|---|
V4L2_CID_VBLANK |
垂直消隐。每帧之后的空闲时间,在此期间不产生图像数据。垂直消隐的单位是直线。每一行都有图像宽度的长度加上在同一子设备中由V4L2_CID_PIXEL_RATE 速率控制定义的像素速率下的水平消隐。
|
R | Ae |
V4L2_CID_HBLANK | 水平消隐。每行图像数据之后的空闲时间,在此期间不产生图像数据。水平消隐的单位是像素。 | R | Ae |
V4L2_CID_EXPOSURE | 确定相机sensor的曝光时间。曝光时间受帧间隔的限制。驱动会将这些值解释为100µs单位,其中值1代表1/10000秒,10000代表1秒,100000代表10秒。 | R/W | Ae |
V4L2_CID_ANALOGUE_GAIN | 模拟增益是影响像素矩阵中所有颜色分量的增益。增益操作在A/D转换之前在模拟域中执行。 | R/W | Ae |
V4L2_CID_DIGITAL_GAIN | 数字增益是所有颜色分量乘以的值。通常,应用的数字增益是控制值除以例如0x100,这意味着为了不获得数字增益,控制值需要为0x100。无增益配置通常也是默认配置。 | R/W | Ae |
V4L2_CID_PIXEL_RATE | 子设备源板中的像素速率。此控制为只读,其单位为像素/秒。 | R | Ae |
V4L2_CID_LINK_FREQ |
数据总线频率。数据总线频率与媒体总线像素代码、总线类型(每个采样的时钟周期)一起定义像素阵列中的像素速率(V4L2_CID_PIXEL_RATE )(如果设备不是图像sensor,则可能在其他地方)。帧速率可以通过像素时钟、图像宽度和高度以及水平和垂直消隐来计算。虽然像素速率控制可以在包含像素阵列的子设备之外的其他地方定义,但无法从该信息获得帧速率。这是因为只有在像素阵列上,才能假定垂直和水平消隐信息是准确的:像素阵列中不允许其他消隐。帧速率的选择通过选择所需的水平和垂直消隐来执行。这种控制的单位是赫兹。
|
R | mipi-dphy |
设备树绑定
https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt
https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt
Linux
用户应用
v4l-utils工具和应用程序:
v4l-utils工具是由Linux维护的V4L2开发工具包。它提供了一套用于配置V4L2子设备属性的V4L2和媒体框架相关工具,测试V4L2设备,并提供开发库,如libv4l2等等。
本章主要介绍v4l utils中的两个命令行工具:media-ctl和v4l2-ctl
media-ctl,用于查看和配置拓扑
v4l2-ctl,用于配置v4l2控件、捕获帧、设置cif、isp和sensor
参数:
v4l-utils的不同版本的格式代码将不同,尤其是mbus-fmt部分,本文档中使用的版本是集成在Linux SDK中的v4l-utils-1.14.1。
Android
https://source.android.com/devices/camera/camera3
二次开发
该驱动程序目前可以在ASUS Tinker Board和Firefly-RK3288-Reload+Rockchip Debian/Yocto SDK上运行。
源码
内核
- 4.15 + FORMLIST Patches
- Rockchip 4.4 BSP
Sensor驱动
- IMX219
- OV5647
- TC35874X
设备树
- Tinker Board
- Firefly-rk3288-Reload
测试命令
cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink
其他
拓扑
Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev0pad0: Sink[fmt:SBGGR10_1X10/800x600 field:nonecrop.bounds:(0,0)/800x600crop:(0,0)/800x600]<- "rockchip-sy-mipi-dphy":1 [ENABLED]pad1: Sink<- "rkisp1-input-params":0 [ENABLED]pad2: Source[fmt:SBGGR10_1X10/800x600 field:nonecrop.bounds:(0,0)/800x600crop:(0,0)/800x600]-> "rkisp1_selfpath":0 [ENABLED]-> "rkisp1_mainpath":0 [ENABLED]pad3: Source-> "rkisp1-statistics":0 [ENABLED]- entity 2: rkisp1_selfpath (1 pad, 1 link)type Node subtype V4L flags 0device node name /dev/video0pad0: Sink<- "rkisp1-isp-subdev":2 [ENABLED]- entity 3: rkisp1_mainpath (1 pad, 1 link)type Node subtype V4L flags 0device node name /dev/video1pad0: Sink<- "rkisp1-isp-subdev":2 [ENABLED]- entity 4: rkisp1-statistics (1 pad, 1 link)type Node subtype V4L flags 0device node name /dev/video2pad0: Sink<- "rkisp1-isp-subdev":3 [ENABLED]- entity 5: rkisp1-input-params (1 pad, 1 link)type Node subtype V4L flags 0device node name /dev/video3pad0: Source-> "rkisp1-isp-subdev":1 [ENABLED]- entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev1pad0: Sink[fmt:SRGGB10_1X10/3280x2464 field:none]<- "imx219 2-0010":0 [ENABLED]pad1: Source[fmt:SRGGB10_1X10/3280x2464 field:none]-> "rkisp1-isp-subdev":0 [ENABLED]- entity 7: imx219 2-0010 (1 pad, 1 link)type V4L2 subdev subtype Sensor flags 0device node name /dev/v4l-subdev2pad0: Source[fmt:SRGGB10_1X10/3280x2464 field:none]-> "rockchip-sy-mipi-dphy":0 [ENABLED]
Rockchip | Rockchip Camera技术相关推荐
- Rockchip | Rockchip Graphics与Display
1 Graphics介绍 1.1 使用X11 Graphics Xserver 是在常规桌面 Linux 平台上使用的显示系统. Rockchip 有一个定制的 Xserver ,可以实现 glamo ...
- 2019、2020、2021年技术知识巩固记录
2019.2020.2021年个人知识回顾巩固记录.资料网上获取,版权归原处所有! 2019-美团点评-前端篇 链接: https://pan.baidu.com/s/11EoQXJlcDlvWyEm ...
- [转发]Android视频技术探索之旅:美团外卖商家端的实践
美团技术团队 2019-09-12 20:02:11 背景 2013年美团外卖成立,至今一直迅猛发展.随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸 ...
- Android视频技术探索之旅:美团外卖商家端的实践
总第354篇 2019年 第32篇 美美导读:移动互联网时代,4G的普及推动了移动视频的发展,丰富的视频内容满足了用户多样化的需求.美团外卖商家端也尝试引入了视频功能,旨在提升商品信息描述的丰富度.本 ...
- 瑞芯微RK3568驱动配置之十串口
基于飞凌的开发板设计,这里需要使用到RK3568的串口,开发板只开放了UART2.UART3.UART4.UART5.UART8.查看文档,准备配置UART0.UART6.UART7.UART9.一共 ...
- rk3568 适配摄像头 (双摄)
rk3568 适配摄像头 (mipi 双摄) rk3568 适配双摄像其实就是逐个适配单摄像头,只是两颗摄像头的数据总线可能不同(cif+mipi),也可能相同(mipi(2lane) x 2).几乎 ...
- 美团外卖商家端视频探索之旅
美团外卖商家端视频探索之旅 背景 美团外卖至今已迅猛发展了六年,随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸引用户,增加流量,进而提高下单转化率和 ...
- 网友评荣耀V30:同价位无对手 除了双模5G和价格还有哪些原因
11月30日消息,继华为Mate 30系列后,荣耀在11月26日也带来了双模5G手机荣耀V30.值得一提的是,这款荣耀V30不但有行业领先的双模5G功能,还有全新的Matrix Camera技术,而且 ...
- [论文阅读] Person Re-identification: Past, Present and Future
这是一篇行人重识别的综述文章,作为我该方向入门的基础读物 Title: Person Re-identification: Past, Present and Future [PDF] Authors ...
- rk3399 simple-card alsa架构分析
一. 概念 CPU DAI:主控端的 Audio Data Interface,比如 I²S,Spdif,Pdm,Tdm (通常所说的platform层) CODEC DAI:即 Codec将数字信号 ...
最新文章
- Oracle学习操作(6)函数与存储过程
- php连接mysql 5.1.73_安装php环境(php5.4.44+mysql5.1.73+IIS)
- Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换
- 免费生成https证书以及配置
- 查看list的形状_用Wordcloud生成指定形状的词云图
- exists的用法 python_Python 办公自动化自动整理文件,一键完成!
- R语言-单一变量分析
- 软件设计师1991下午试题1(流程图解析)
- 这回把Spring @Async彻底搞懂了
- 数据共享是未来?通用福特丰田联手推进自动驾驶标准制定...
- Spring web开发用post方法和button遇到http405的一种解决方法
- Word Embedding 知识总结
- IOS原生生成二维码
- 插值、拟合、线性和非线性的区别
- SSM源码分析之23种设计模式(策略模式和模板模式)
- SpringBoot(一):什么是SpringBoot?
- 基于ASP.NET生成二维码详细源码
- 物联网终端数据传输安全_如何应对物联网的两个最大挑战:数据和安全
- Java实现按中文名称排序
- 西班牙符号Ññ 乱码的问题
热门文章
- php阿里支付回调逻辑,php 银联支付回调
- 使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
- Windows11 安装安卓子系统详细教程
- position之relative
- Transformer中Relative Position Bias以及DropPath细节梳理
- 微信公众号--生成带参数的二维码 {“errcode“:48001,“errmsg“:“api unauthorized rid: 60520af9-71ff2283-63d36e0d“}
- 社区论坛小程序开发制作(同城圈子小程序)
- 软件设计师----计算机网络
- Ubuntu下面scroll lock无法使用的解决方法
- IDEA 编辑文档 提示:只读文档