亚洲av不卡无码国产,国产l精品国产亚洲区久久,东京热无码免费a片免费下载,99久久精品日本一区二区免费

首頁 > 觀察 >

環(huán)球觀熱點:RK3588-Camera:MIPI-CSI調試之通路解析

2023-06-10 17:42:16 jf_30051736

一、簡介

專欄總目錄

本文介紹RK3588平臺的Camera:MIPI-CSI調試之通路解析

MIPI聯(lián)盟,即移動產業(yè)處理器接口(Mobile Industry Processor Interface 簡稱MIPI)聯(lián)盟。MIPI(移動產業(yè)處理器接口)是MIPI聯(lián)盟發(fā)起的為移動應用處理器制定的開放標準和一個規(guī)范。


(資料圖片)

目的是把手機內部的接口如攝像頭、顯示屏接口、射頻/基帶接口等標準化,從而減少手機設計的復雜程度和增加設計靈活性。

CSI & DSI

? CSI ( Camera Serial Interface ):攝像頭接口

? DSI ( Display Serial Interface ):顯示接口

二、 名詞解釋:

ISP ( Image Signal Processor ): 即圖像信號處理模塊, 主要作用是對前端圖像傳感器輸出的信號做后期處理,依賴于 ISP 才能在不同的光學條件下都能較好的還原現(xiàn)場細節(jié)。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

對應節(jié)點: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協(xié)議---> vicap ( rkcif節(jié)點代表vicap )

虛線鏈路解析:vicap ---> rkcif_mipi_lvds2_sditf ---> isp

每個vicap節(jié)點與isp的鏈接關系,通過對應虛擬出的XXX_sditf來指明鏈接關系。

五、RK3588硬件通路框圖

rk3588支持2個isp硬件,每個isp設備可虛擬出多個虛擬節(jié)點,軟件上通過回讀的方式,依次從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:節(jié)點名稱使用csi2_dphy0,最多支持4 lane。當dphy0_hw使用full mode時,鏈路需要按照csi2_dphy1這條鏈路來配置,但是節(jié)點名稱csi2_dphy1需要修改為csi2_dphy0,軟件上是通過phy的序號來區(qū)分phy使用的模式。split mode:拆分成2個phy使用,分別為csi2_dphy1(使用0/1 lane)、csi2_dphy2(使用2/3 lane),每個phy最多支持2 lane。

當使用dphy1_hw:

full mode:節(jié)點名稱使用csi2_dphy3,最多支持4 lane。當dphy1_hw使用full mode時,鏈路需要按照csi2_dphy4這條鏈路來配置,但是節(jié)點名稱csi2_dphy4需要修改為csi2_dphy3,軟件上是通過phy的序號來區(qū)分phy使用的模式。split mode:拆分成2個phy使用,分別為csi2_dphy4(使用0/1 lane)、csi2_dphy5(使用2/3 lane),每個phy最多支持2 lane。

dcphy:rk3588支持兩個dcphy,節(jié)點名稱分別為csi2_dcphy0/csi2_dcphy1。每個dcphy硬件支持RX/TX同時使用,對于camera輸入使用的是RX。支持DPHY/CPHY協(xié)議復用;需要注意的是同一個dcphy的TX/RX只能同時使用DPHY或同時使用CPHY。其他dcphy參數請查閱rk3588數據手冊。

使用上述mipi phy節(jié)點,需要把對應的物理節(jié)點配置上。(csi2_dcphy0_hw/csi2_dcphy1_hw/csi2_dphy0_hw/csi2_dphy1_hw)

每個mipi phy都需要一個csi2模塊來解析mipi協(xié)議,節(jié)點名稱分別為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個節(jié)點,各個節(jié)點的綁定關系需要嚴格按照框圖的節(jié)點序號配置。

每個vicap節(jié)點與isp的鏈接關系,通過對應虛擬出的XXX_sditf來指明鏈接關系。

rk3588支持2個isp硬件,每個isp設備可虛擬出多個虛擬節(jié)點,軟件上通過回讀的方式,依次從ddr讀取每一路的圖像數據進isp處理。對于多攝方案,建議將數據流平均分配到兩個isp上。

直通與回讀模式:?直通:指數據經過vicap采集,直接發(fā)送給isp處理,不存儲到ddr。需要注意的是hdr直通時,只有短幀是真正的直通,長幀需要存在ddr,isp再從ddr讀取。

?回讀:指數據經過vicap采集到ddr,應用獲取到數據后,將buffer地址推送給isp,isp再從ddr獲取圖像數據。

?在dts配置時,一個isp硬件,如果只配置一個虛擬節(jié)點,默認使用直通模式,如果配置了多個虛擬節(jié)點默認使用回讀模式。

七、單路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系統(tǒng)攝像命令:
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12,width=3840,height=2160, framerate=30/1 ! xvimagesink

Android系統(tǒng):

Android系統(tǒng)自帶相機APP。點擊APP,看攝像畫面是否正常顯示。

8.3 imx415 相關的log信息

dmesg | grep imx415

8.4 查看拓撲結構

media-ctl -d /dev/media0 -p

審核編輯:湯梓紅

關鍵詞

相關推薦

久久久久精品国产亚洲av麻豆| 亚洲视频一区| 偷看农村妇女牲交| jk白丝极品被cao到流水呻吟| 亚洲欧洲∨国产一区二区三区| 特黄做受又大又粗又长大片| 啦啦啦高清在线观看www| 被按摩的人妻中文字幕| 国产看黄网站又黄又爽又色| 色综合色狠狠天天综合色| 欧美久久久无码精品亚洲日韩小说| 少妇粉嫩小泬喷水视频www| 精品亚洲成a人无码成a在线观看| 色综合久久中文字幕无码| 欧美最猛性xxx| 野花日本大全免费观看3中文版| 青青草原精品99久久精品66| 亚洲国产综合无码一区| 国产白嫩无套视频在线播放蜜桃 | 成人a级视频在线播放| 亚洲av天堂综合网久久| 精品人妻无码一区二区三区不卡 | 中国青年gary东北大飞机打桩| 精品日本一区二区三区在线观看| 亚洲综合区图片小说区| 无码人妻视频一区二区三区| 被男人吃奶跟添下面特舒服 | 被夫の上司に犯中文字幕 | 婷婷综合久久狠狠色99H| 欧美,日韩,国产,专区| 一边摸一边脱一边吃胸亲| 秘书被老板cao到合不拢腿 | 国产jizzjizz全部免费看| 国产成版人视频直播APP| 特黄aaaaaaa片免费视频| 久久99精品国产麻豆蜜芽| 人妻女教师耻辱の教室| 国产精品爽黄69天堂A片潘金莲| chinese偷拍宾馆tube| 宅宅少妇无码| 欧美一区二区三区成人片在线|