焦点速递!RK3588-Camera:MIPI-CSI调试之通路解析
2023-06-10 17:36:21来源:jf_30051736
一、简介
专栏总目录
本文介绍RK3588平台的Camera:MIPI-CSI调试之通路解析
【资料图】
MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。
目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。
CSI & DSI
• CSI ( Camera Serial Interface ):摄像头接口
• DSI ( Display Serial Interface ):显示接口
二、 名词解释:
ISP ( Image Signal Processor ): 即图像信号处理模块, 主要作用是对前端图像传感器输出的信号做后期处理,依赖于 ISP 才能在不同的光学条件下都能较好的还原现场细节。VICAP( Video capture ):视频捕获单元三、RK3588 的camera通路:
多sensor支持:
单路硬件isp最多支持4路复用,isp复用情况支持分辨率如下:2路复用:最大分辨率3840x2160,dts对应配置2路rkisp_vir设备。3路或4路复用:最大分辨率2560x1536,dts对应配置3或4路rkisp_vir设备。硬件支持最多采集7路sensor:6mipi + 1dvp,多sensor软件通路如下:下图是RK3588 camera连接链路示意图,可以支持7路camera。
四、 链路解析:
图中:mipi camera2---> csi2_dphy1 ---> mipi2_csi2 ---> rkcif_mipi_lvds2--->rkcif_mipi_lvds2_sditf --->rkisp0_vir2
对应节点:imx415 ---> csi2_dphy0 ---> mipi2_csi2 ---> rkcif_mipi_lvds2--->rkcif_mipi_lvds2_sditf --->rkisp0_vir2
链接关系:sensor---> csi2 dphy---->mipi csi host--->vicap
实线链路解析: Camera sensor ---> dphy ---> 通过mipi_csi2模块解析mipi协议---> vicap ( rkcif节点代表vicap )
虚线链路解析:vicap ---> rkcif_mipi_lvds2_sditf ---> isp
每个vicap节点与isp的链接关系,通过对应虚拟出的XXX_sditf来指明链接关系。
五、RK3588硬件通路框图
rk3588支持2个isp硬件,每个isp设备可虚拟出多个虚拟节点,软件上通过回读的方式,依次从ddr读取每一路的图像数据进isp处理。对于多摄方案,建议将数据流平均分配到两个isp上。回读:指数据经过vicap采集到ddr,应用获取到数据后,将buffer地址推送给isp,isp再从ddr获取图像数据。六、详细解析:
imx415 : Camera sensorcsi2_dphy0 : rk3588支持2个dphy硬件,这里我们称之为dphy0_hw/dphy1_hw ,,两个dphy硬件都可以工作在full mode 和split mode两种模式下。当使用dphy0_hw:
full mode:节点名称使用csi2_dphy0,最多支持4 lane。当dphy0_hw使用full mode时,链路需要按照csi2_dphy1这条链路来配置,但是节点名称csi2_dphy1需要修改为csi2_dphy0,软件上是通过phy的序号来区分phy使用的模式。split mode:拆分成2个phy使用,分别为csi2_dphy1(使用0/1 lane)、csi2_dphy2(使用2/3 lane),每个phy最多支持2 lane。当使用dphy1_hw:
full mode:节点名称使用csi2_dphy3,最多支持4 lane。当dphy1_hw使用full mode时,链路需要按照csi2_dphy4这条链路来配置,但是节点名称csi2_dphy4需要修改为csi2_dphy3,软件上是通过phy的序号来区分phy使用的模式。split mode:拆分成2个phy使用,分别为csi2_dphy4(使用0/1 lane)、csi2_dphy5(使用2/3 lane),每个phy最多支持2 lane。dcphy:rk3588支持两个dcphy,节点名称分别为csi2_dcphy0/csi2_dcphy1。每个dcphy硬件支持RX/TX同时使用,对于camera输入使用的是RX。支持DPHY/CPHY协议复用;需要注意的是同一个dcphy的TX/RX只能同时使用DPHY或同时使用CPHY。其他dcphy参数请查阅rk3588数据手册。
使用上述mipi phy节点,需要把对应的物理节点配置上。(csi2_dcphy0_hw/csi2_dcphy1_hw/csi2_dphy0_hw/csi2_dphy1_hw)
每个mipi phy都需要一个csi2模块来解析mipi协议,节点名称分别为mipi0_csi2~mipi5_csi2。
rk3588所有camera数据都需要通过vicap,再链接到isp。rk3588仅支持一个vicap硬件,这个vicap支持同时输入6路mipi phy,及一路dvp数据,所以我们将vicap分化成rkcif_mipi_lvds~rkcif_mipi_lvds5、rkcif_dvp等7个节点,各个节点的绑定关系需要严格按照框图的节点序号配置。
每个vicap节点与isp的链接关系,通过对应虚拟出的XXX_sditf来指明链接关系。
rk3588支持2个isp硬件,每个isp设备可虚拟出多个虚拟节点,软件上通过回读的方式,依次从ddr读取每一路的图像数据进isp处理。对于多摄方案,建议将数据流平均分配到两个isp上。
直通与回读模式:•直通:指数据经过vicap采集,直接发送给isp处理,不存储到ddr。需要注意的是hdr直通时,只有短帧是真正的直通,长帧需要存在ddr,isp再从ddr读取。
•回读:指数据经过vicap采集到ddr,应用获取到数据后,将buffer地址推送给isp,isp再从ddr获取图像数据。
•在dts配置时,一个isp硬件,如果只配置一个虚拟节点,默认使用直通模式,如果配置了多个虚拟节点默认使用回读模式。
七、单路Camera的dts配置说明:( 以imx415摄像头为例 )
案例场景:这里使用的是csi2_dphy0的单路camera配置:链路配置: imx415 —> csi2_dphy0 —> mipi2_csi2 —> rkcif_mipi_lvds2—>rkcif_mipi_lvds2_sditf —>rkisp0_vir2&i2c3 {status = "okay";imx415: imx415@1a {status = "okay";compatible = "sony,imx415";reg = < 0x1a >;clocks = < &cru CLK_MIPI_CAMARAOUT_M3 >;clock-names = "xvclk";pinctrl-names = "default";pinctrl-0 = < &mipim0_camera3_clk >;power-domains = < &power RK3588_PD_VI >;pwdn-gpios = < &gpio1 RK_PB0 GPIO_ACTIVE_HIGH >;reset-gpios = < &gpio4 RK_PA0 GPIO_ACTIVE_LOW >;rockchip,camera-module-index = < 0 >;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "CMK-OT2022-PX1";rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";port {imx415_out0: endpoint {remote-endpoint = < &mipidphy0_in_ucam0 >;data-lanes = < 1 2 3 4 >;};};};camera_imx219: camera-imx219@10 {status = "disabled";compatible = "sony,imx219";reg = < 0x10 >;clocks = < &clk_cam_24m >;clock-names = "xvclk";rockchip,camera-module-index = < 0 >;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "rpi-camera-v2";rockchip,camera-module-lens-name = "default";port {imx219_out0: endpoint {remote-endpoint = < &mipidphy0_in_ucam1 >;data-lanes = < 1 2 >;};};};};&csi2_dphy0_hw {status = "okay";};&csi2_dphy0 {status = "okay";ports {#address-cells = < 1 >;#size-cells = < 0 >;port@0 {reg = < 0 >;#address-cells = < 1 >;#size-cells = < 0 >;mipidphy0_in_ucam0: endpoint@1 {reg = < 1 >;remote-endpoint = < &imx415_out0 >;data-lanes = < 1 2 3 4 >;};mipidphy0_in_ucam1: endpoint@2 {reg = < 2 >;remote-endpoint = < &imx219_out0 >;data-lanes = < 1 2 >;};};port@1 {reg = < 1 >;#address-cells = < 1 >;#size-cells = < 0 >;csidphy0_out: endpoint@0 {reg = < 0 >;remote-endpoint = < &mipi2_csi2_input >;};};};};&mipi2_csi2 {status = "okay";ports {#address-cells = < 1 >;#size-cells = < 0 >;port@0 {reg = < 0 >;#address-cells = < 1 >;#size-cells = < 0 >;mipi2_csi2_input: endpoint@1 {reg = < 1 >;remote-endpoint = < &csidphy0_out >;};};port@1 {reg = < 1 >;#address-cells = < 1 >;#size-cells = < 0 >;mipi2_csi2_output: endpoint@0 {reg = < 0 >;remote-endpoint = < &cif_mipi2_in0 >;};};};};&rkcif {status = "okay";};&rkcif_mipi_lvds2 {status = "okay";port {cif_mipi2_in0: endpoint {remote-endpoint = < &mipi2_csi2_output >;};};};&rkcif_mipi_lvds2_sditf {status = "okay";port {mipi_lvds2_sditf: endpoint {remote-endpoint = < &isp0_vir0 >;};};};&rkcif_mmu {status = "okay";};&rkisp0 {status = "okay";};&isp0_mmu {status = "okay";};&rkisp0_vir0 {status = "okay";port {#address-cells = < 1 >;#size-cells = < 0 >;isp0_vir0: endpoint@0 {reg = < 0 >;remote-endpoint = < &mipi_lvds2_sditf >;};};};&pinctrl {camera {cam_pwdn_gpio: cam-pwdn-gpio {rockchip,pins = < 1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up >;};};};
八、 调试技巧
8.1 i2c设备的通用调试命令:查看设备是否挂载到i2c总线下:
i2cdetect -y 3
8.2 摄像命令
Linux系统摄像命令:gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12,width=3840,height=2160, framerate=30/1 ! xvimagesink
Android系统:
Android系统自带相机APP。点击APP,看摄像画面是否正常显示。
8.3 imx415 相关的log信息
dmesg | grep imx415
8.4 查看拓扑结构
media-ctl -d /dev/media0 -p
审核编辑:汤梓红
标签:
责任编辑:hnmd003
相关阅读
阅读排行
资讯播报
- “连e行”网约公交车开通运营 3...
- 世界播报:田径运动员图片 田径运动员
- 大一寸照片像素宽高 大一寸照片...
- 【新视野】鼻子出血是什么病征兆...
- 【共同缔造安全江夏⑬】创意海报...
- 【天天热闻】蓉火传递启动|“中...
- 新生儿不拉粑粑怎么办混合喂养_...
- 世界观察:小孩癫痫病症状_小孩...
- 全球新资讯:2000余中外漂流爱好...
- 天天快消息!搜救犬被确诊淋巴瘤...
- 足球在贵州不止有“村超” 还有...
- 阅后即焚电影(阅后即焚)
- 关注:金苹果月饼怎么样(金苹果...
- (成都大运纪事)2023年成都市第...
- 世界快资讯:大头儿小头爸动画片...
- 乒乓球世界冠军孙颖莎担任“石家...
- 世界讯息:32个国家和地区的2500...
- 微信朋友圈广告关了怎么还有广告...
- 《匹诺曹的谎言》公开demo上线st...
- 快报:特朗普再次被起诉,转头又...
- 手机qq批量加人软件 赛思qq批量...
- 探访安徽巢湖“美容师” 义务守...
- 每日热文:小龙虾价美个大~最适...
- 电信宽带查询是否欠费(电信宽带...
- 关于感动的名言名句大全 关于感...
- 《星空》欧洲价格曝光 PC本体售...
- 王者挠脚心文章长篇 王者荣耀挠...
- 欧洲月榜:受塞尔达影响 Switch...
- 耳朵出油是什么原因导致的 耳朵...
- 环球要闻:大别山区发现兰科原沼...
- 环球今亮点!龙腾大湾区|刚刚,...
- 柒和伊控股公司社长井阪隆一指出...
- 当前短讯!新华全媒+|夜幕下,一...
- 天天快报!阔太王艳48岁重新复出,...
- 田间兴“混搭” 农业探新路-全...
- 天天短讯!VEGA核显神器5600G超...
- 快看点丨2023年国家医保目录调整...
- 【全球独家】知名经济学家、前美...
- 世界今日报丨直播间多元演绎中国...
- 文化和自然遗产日|一“画”穿越...
- 好评中国丨保护文化遗产 讲好中...
- 天天快资讯丨济南海关查获禁止进...
- 梅西乘私人飞机抵达北京!开启第...
- 低价团乱象再起 何以无解?
- 笔记本开不开机如何重装系统 笔...
- 索尼旗舰级真无线耳机WF-1000XM5...
- 斗战神金子怎么换官银(斗战神金...
- 高腰紧身牛仔裤,时髦又百搭,搭...
- 【环球报资讯】义务京东代运营_...
- 三星正开发自有AI大语言模型 已...
- win7电脑没声音怎么设置 win7电...
- 设计资质查询系统(设计资质查询)
- 环球快看:即将举行!成都大运会...
- 环球快资讯丨手机充电口坏了怎么...
- 今亮点!下单成年陪玩来的却是未...
- 高中生与大学生记者,曝光男子为...
- 热议:炎炎夏日,女子选择清凉舒...
- 世界视讯!西北农林科技大学怎么...
- 世界今日讯!夏季曼妙长裙,微风...
- 【世界快播报】义乌京东代运营服...
- 郑恺的老婆个人资料(郑恺的老婆)
- 【环球快播报】在监管审查日益严...
- 新时代新征程新伟业|跟进监督确...
- 速看!因自来水厂停电,河南信阳...
- 每日动态!射阳县气象台发布雷暴...
- 当前速读:日本:福岛核污水排海...
- 信阳市气象台发布高温橙色预警【...
- 聚焦:湖北省夷陵区发布高温橙色...
- 我是大运火炬手丨丁宁:大运会既...
- 女子跪地施救近20分钟,昏迷小伙得救
- 加拿大仍有四百多处野火燃烧 多...
- 酒后试车去河滩 出了危险责谁担
- 店主在门口为孩子中考留的向日葵...
- 6月10日起,230趟列车卧铺票可在...
- 信阳市气象台发布高温橙色预警【...
- 营业成本包括哪些科目
- 全城寻找“广州十大科学传播达人...
- 速看!因自来水厂停电,河南信阳...
- 想喝羊肉汤偷了几只羊 只图一时...
- 想喝羊肉汤偷了几只羊 只图一时...
- 啫喱怎么读什么意思_啫喱怎么读
- 圣斗士星矢宙斯篇结局
- 哈尔滨“商转公”热点十问十答!...
- 酒后试车去河滩 出了危险责谁担...
- 洗牙对牙齿有伤害吗_洗牙有什么好处
- 珠峰被救女士所雇登山公司承认失...
- 红葡萄酒可以和其他饮料兑喝吗?...
- 南方城市为何成为2023年春节十大...
- 环球头条:云南省梁河县发布暴雨...
- 个人博客留言板功能实现_短讯
- 天天热资讯!前5个月我国完成水...
- 避而不谈开工率 宁波韵升:下游...
- 我国成功发射龙江三号试验卫星 ...
- 橄榄可以搭配葡萄酒吗? 今日关注
- 世界观天下!今晚,呼和浩特公交...
- 快舟火箭是这样“炼”成的
- 每日头条!七八分熟的羊肉不宜吃...
- 世界最新:导演韩延:不要责怪观...
- “两高一部”出手:依法惩治网暴...
- 赶紧转给爸妈!陕西警方紧急预警!