人人干97-人人干操-人人干狠狠操-人人干美女-国产人妖在线-国产人妖在线播放

每日熱點(diǎn):RK3588-Camera:MIPI-CSI調(diào)試之通路解析
時(shí)間:2023-06-11 19:18:30  來源:jf_30051736  
1
聽新聞

一、簡(jiǎn)介

專欄總目錄

本文介紹RK3588平臺(tái)的Camera:MIPI-CSI調(diào)試之通路解析


【資料圖】

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

目的是把手機(jī)內(nèi)部的接口如攝像頭、顯示屏接口、射頻/基帶接口等標(biāo)準(zhǔn)化,從而減少手機(jī)設(shè)計(jì)的復(fù)雜程度和增加設(shè)計(jì)靈活性。

CSI & DSI

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

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

二、 名詞解釋:

ISP ( Image Signal Processor ): 即圖像信號(hào)處理模塊, 主要作用是對(duì)前端圖像傳感器輸出的信號(hào)做后期處理,依賴于 ISP 才能在不同的光學(xué)條件下都能較好的還原現(xiàn)場(chǎng)細(xì)節(jié)。VICAP( Video capture ):視頻捕獲單元

三、RK3588 的camera通路:

多sensor支持:

單路硬件isp最多支持4路復(fù)用,isp復(fù)用情況支持分辨率如下:2路復(fù)用:最大分辨率3840x2160,dts對(duì)應(yīng)配置2路rkisp_vir設(shè)備。3路或4路復(fù)用:最大分辨率2560x1536,dts對(duì)應(yīng)配置3或4路rkisp_vir設(shè)備。硬件支持最多采集7路sensor:6mipi + 1dvp,多sensor軟件通路如下:

下圖是RK3588 camera連接鏈路示意圖,可以支持7路camera。

四、 鏈路解析:

圖中:mipi camera2---> csi2_dphy1 ---> mipi2_csi2 ---> rkcif_mipi_lvds2--->rkcif_mipi_lvds2_sditf --->rkisp0_vir2

對(duì)應(yīng)節(jié)點(diǎn):imx415 ---> csi2_dphy0 ---> mipi2_csi2 ---> rkcif_mipi_lvds2--->rkcif_mipi_lvds2_sditf --->rkisp0_vir2

鏈接關(guān)系:sensor---> csi2 dphy---->mipi csi host--->vicap

實(shí)線鏈路解析: Camera sensor ---> dphy ---> 通過mipi_csi2模塊解析mipi協(xié)議---> vicap ( rkcif節(jié)點(diǎn)代表vicap )

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

每個(gè)vicap節(jié)點(diǎn)與isp的鏈接關(guān)系,通過對(duì)應(yīng)虛擬出的XXX_sditf來指明鏈接關(guān)系。

五、RK3588硬件通路框圖

rk3588支持2個(gè)isp硬件,每個(gè)isp設(shè)備可虛擬出多個(gè)虛擬節(jié)點(diǎn),軟件上通過回讀的方式,依次從ddr讀取每一路的圖像數(shù)據(jù)進(jìn)isp處理。對(duì)于多攝方案,建議將數(shù)據(jù)流平均分配到兩個(gè)isp上。回讀:指數(shù)據(jù)經(jīng)過vicap采集到ddr,應(yīng)用獲取到數(shù)據(jù)后,將buffer地址推送給isp,isp再從ddr獲取圖像數(shù)據(jù)。

六、詳細(xì)解析:

imx415 : Camera sensorcsi2_dphy0 : rk3588支持2個(gè)dphy硬件,這里我們稱之為dphy0_hw/dphy1_hw ,,兩個(gè)dphy硬件都可以工作在full mode 和split mode兩種模式下。

當(dāng)使用dphy0_hw:

full mode:節(jié)點(diǎn)名稱使用csi2_dphy0,最多支持4 lane。當(dāng)dphy0_hw使用full mode時(shí),鏈路需要按照csi2_dphy1這條鏈路來配置,但是節(jié)點(diǎn)名稱csi2_dphy1需要修改為csi2_dphy0,軟件上是通過phy的序號(hào)來區(qū)分phy使用的模式。split mode:拆分成2個(gè)phy使用,分別為csi2_dphy1(使用0/1 lane)、csi2_dphy2(使用2/3 lane),每個(gè)phy最多支持2 lane。

當(dāng)使用dphy1_hw:

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

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

使用上述mipi phy節(jié)點(diǎn),需要把對(duì)應(yīng)的物理節(jié)點(diǎn)配置上。(csi2_dcphy0_hw/csi2_dcphy1_hw/csi2_dphy0_hw/csi2_dphy1_hw)

每個(gè)mipi phy都需要一個(gè)csi2模塊來解析mipi協(xié)議,節(jié)點(diǎn)名稱分別為mipi0_csi2~mipi5_csi2。

rk3588所有camera數(shù)據(jù)都需要通過vicap,再鏈接到isp。rk3588僅支持一個(gè)vicap硬件,這個(gè)vicap支持同時(shí)輸入6路mipi phy,及一路dvp數(shù)據(jù),所以我們將vicap分化成rkcif_mipi_lvds~rkcif_mipi_lvds5、rkcif_dvp等7個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)的綁定關(guān)系需要嚴(yán)格按照框圖的節(jié)點(diǎn)序號(hào)配置。

每個(gè)vicap節(jié)點(diǎn)與isp的鏈接關(guān)系,通過對(duì)應(yīng)虛擬出的XXX_sditf來指明鏈接關(guān)系。

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

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

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

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

七、單路Camera的dts配置說明:( 以imx415攝像頭為例 )

案例場(chǎng)景:這里使用的是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 >;};};};

八、 調(diào)試技巧

8.1 i2c設(shè)備的通用調(diào)試命令:查看設(shè)備是否掛載到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)自帶相機(jī)APP。點(diǎn)擊APP,看攝像畫面是否正常顯示。

8.3 imx415 相關(guān)的log信息

dmesg | grep imx415

8.4 查看拓?fù)浣Y(jié)構(gòu)

media-ctl -d /dev/media0 -p

審核編輯:湯梓紅

關(guān)鍵詞:

张柏芝用嘴给陈冠希高潮| 亚洲另类无码专区首页| 精品国产你懂的在线观看| 在线精品亚洲观看不卡欧| 人人做人人爽国产视| 国产乱人伦偷精品视频色欲| 亚洲一本到无码AV中文字幕| 欧美性黑人极品HD另类| 国产精品无码一二区免费| 亚洲色偷无码一区二区蜜桃AV| 欧美精品中文字幕亚洲专区| 国产成人无码A区在线观看视频A| 亚洲乱码中文论理电影| 欧美日韩在线视频一区二区| 国产精品久久久久9999赢消| 野花韩国视频免费高清3| 人妻穿丁字裤陪客户| 国产未成满18禁止免费看| 岳今晚让我玩个够肥水一体探岳| 日日狠狠久久偷偷色综合96蜜桃| 狠狠综合久久久久精品网站| 97久人人做人人妻人人玩精品| 天天爽夜夜爽夜夜爽精品视频| 精品无码久久久久久国产| JAPANESE少妇高潮喷水| 亚洲 欧美 激情 另类 校园| 免费看成人AV片| 国产精品久久无码一区二区三区网| 亚洲最大的熟女水蜜桃AV网站| 日产乱码一二三区别免费必看 | AV天堂东京热无码专区| 无码人妻束缚av又粗又大| 看黄A大片日本真人视频直播| 荡公乱妇第1章方情95| 亚洲欧美妆和亚洲妆的区别 | 久久亚洲精品无码AV红樱桃| 成人精品一区二区三区电影| 亚洲精品乱码久久久久久V| 人妻人人澡人人添人人爽冫 一 | 十八禁无码精品A∨在线观看| 久久精品国产久精国产思思| 成人午夜精品无码区| 亚洲色欲一区二区三区在线观看| 日本粉色IPHONE| 精品综合久久久久久97| 成人区人妻精品一区二区不卡网站| 亚洲精品NV久久久久久久久久| 欧美性大战XXXXX| 精产国品一二三产品在哪| 办公室跪下拉开拉链吃应用的优点 | 美国ZOOM人与ZOOM| 国产高清在线观看AV片麻豆| 曰批免费视频播放免费直播| 婷婷亚洲综合五月天小说| 麻豆传播媒体免费版官网| 国产精成人品日日拍夜夜免费| 中文字幕一区二区三区乱码人妻| 午夜福制92视频| 欧美精产国品一二三区别| 国产真实夫妇交换视频| 拔萝卜全程不该盖被子怎么办| 亚洲精品AⅤ无码精品| 日韩人妻无码精品二专区| 久久蜜桃86人妻arvi| 国产精品久久久久久久久免费蜜桃| 18禁美女黄网站色大片在线| 亚洲 欧美 卡通 另类 小说 | 久久五月精品中文字幕| 国产精品XXX大片免费观看| 99精品国产在热久久| 亚洲VA在线VA天堂VA不卡| 日日噜噜夜夜狠狠久久蜜桃| 久久亚洲AV午夜福利精品一区 | 人善之交Z0OZO0D0G人善| 久久99精品国产麻豆| 国产AV无码专区亚汌A√| 97久久国产露脸精品国产| 亚洲爱婷婷色婷婷五月| 色噜噜噜狠狠色一色伊人蜜桃| 林静公交车被做到高C的原因| 国产毛片精选好视频| 爱丫爱丫影院在线看免费| 亚洲中文字幕无码爆乳APP| 玩弄少妇人妻中文字幕| 欧洲熟妇色XXXXⅩ欧洲老妇色| 久久国产香蕉一区精品蜜桃| 国产成人啪精品视频网站午夜| AV 日韩 人妻 黑人 综合| 亚洲熟妇AV不卡一区二区三区 | 日韩精品无码一区二区三区不卡| 老子影院午夜精品无码| 韩国电影办公室6免费完整版| 顶级大但人文艺术视频 音乐| 1—36集电视剧免费观看36集| 亚洲丰满少妇自摸| 婷婷久久综合九色综合97| 人妻AV一区二区三区| 两根大肉大捧一进一出好爽视频| 韩国AV一区二区| 国产福利一区二区精品秒拍| 把腿张开老子臊烂你多p晓晓| 岳妇伦丰满69ⅩⅩ| 亚洲精品无码久久久久AV老牛| 天天躁夜夜躁狠狠是什么心态| 欧美妆和日韩妆区别777CCC| 久久中文骚妇内射| 狠狠躁夜夜躁AV网站色| 国产精品IGAO视频| 成人欧美一区二区三区| 6080午夜三级中文在线观看| 亚洲一码二码三码区别在哪| 亚洲AV无码一区二区三区性色| 上到少妇叫爽TUBE| 人人妻人人澡人人爽人人精品97| 麻花豆传媒剧国产MV| 久久99精品久久久久婷综合| 国产在线 | 传媒麻豆| 国产成人精品亚洲日本语言| 成年网站免费视频黄A站| CSGO大姐姐AWP多少钱| 中文字幕精品亚洲无线码一区| 亚洲欧美在线人成最新| 亚洲AV无码一区二区三区人| 无码秘 蜜桃一区二区三区| 日韩精品无码观看视频免费| 欧美性白人极品1819HD| 男女爽爽午夜18禁影院免费| 快拨出天我是你母亲| 精品亚洲成A人在线观看青青| 国产在线精品无码二区二区| 国产精品99久久久久久人| 对白脏话肉麻粗话AV| 被窝里的翁憩二十六| JAPANESEHD熟女熟妇| 98在线视频噜噜噜国产| 最新AV片免费网站入口| 欲色欲色天天天WWW| 亚洲综合日韩AV无码毛片| 亚洲欧美国产精品专区久久| 亚洲成A人片在线观看WWW | 公交车上穿短裙被狂C| 成人免费体验区120秒| 白嫩无码人妻熟妇啪啪区| JIZZJIZZ亚洲日本少妇| 99久久99久久免费精品小说| 中文字幕乱偷无码av先锋蜜桃| 岳故意装睡让我挺进去观看| 一本之道无码一区二区| 亚洲中文无码人A∨在线导航| 亚洲欧洲第一的日产SUV| 亚洲精品一区二区丝袜图片| 亚洲国产精品日韩AV不卡在线| 亚洲AV无码一区二区在线蜜桃| 亚洲AV噜噜狠狠网址蜜桃| 小雪你的奶好大把腿张开| 性XXXX18免费观看视频| 性刺激性色爽爱小说| 小SAO货大JI巴CAO死你H| 午夜精品无人区乱码1区2区| 小洞饿了想吃大香肠| 小东西好几天没弄了还能吃吗| 性AV盈盈无码天堂| 亚洲AV无码成人精品区日韩| 亚洲AV无码性色AV无码网站| 亚洲成AV人片天堂网久久| 亚洲国产精品无码久久98蜜桃| 亚洲国产成人精品无码区在线观看| 亚洲国产成人久久一区二区三区| 亚洲国产精品嫩草影院久久| 亚洲另类无码专区首页| 亚洲综合另类小说色区一| 岳今晚让我玩个够肥水一体探岳| 自拍偷在线精品自拍偷无码专区| 18禁全彩肉肉无遮挡| 99无人区码一码二码三| S货叫大点声C烂你的SB视频| 波多野结衣AV高清一区二区三区| 插插插精品亚洲一区| 丰满少妇被猛烈进入| 国产精品久久国产三级国| 国产猛男GAY1069视频| 国内少妇BBWBBW黑森林| 精品人亚洲成A人片在线观看无码专区| 久久精品午夜一区二区福利| 迈开腿让我尝一下你的味道一| 内射少妇骚B一√| 全彩十八禁漫画无遮挡| 搡老女人熟妇老太HD| 铜铜铜铜铜铜铜好多疼| 香蕉久久久久久AV成人| 亚洲国产欧美在线看片一国产| 亚洲中文AⅤ中文字幕| 综合色一色综合久久网| XXXX另类黑人| 国产9在线 | 欧洲| 国产亚洲AV☆浪潮在线观看| 九九精品无码专区免费| 麻花传媒68XXX在线观看| 欧美一级一片内射欧美美妇3p| 入戏太深动漫未删减在线观看|