RK3588-Camera:MIPI-CSI調(diào)試之通路解析
一、簡介
專欄總目錄
本文介紹RK3588平臺的Camera:MIPI-CSI調(diào)試之通路解析
MIPI聯(lián)盟,即移動產(chǎn)業(yè)處理器接口(Mobile Industry Processor Interface 簡稱MIPI)聯(lián)盟。MIPI(移動產(chǎn)業(yè)處理器接口)是MIPI聯(lián)盟發(fā)起的為移動應(yīng)用處理器制定的開放標準和一個規(guī)范。
(相關(guān)資料圖)
目的是把手機內(nèi)部的接口如攝像頭、顯示屏接口、射頻/基帶接口等標準化,從而減少手機設(shè)計的復(fù)雜程度和增加設(shè)計靈活性。
CSI & DSI
? CSI ( Camera Serial Interface ):攝像頭接口
? DSI ( Display Serial Interface ):顯示接口
二、 名詞解釋:
ISP ( Image Signal Processor ): 即圖像信號處理模塊, 主要作用是對前端圖像傳感器輸出的信號做后期處理,依賴于 ISP 才能在不同的光學(xué)條件下都能較好的還原現(xiàn)場細節(jié)。VICAP( Video capture ):視頻捕獲單元三、RK3588 的camera通路:
多sensor支持:
單路硬件isp最多支持4路復(fù)用,isp復(fù)用情況支持分辨率如下:2路復(fù)用:最大分辨率3840x2160,dts對應(yīng)配置2路rkisp_vir設(shè)備。3路或4路復(fù)用:最大分辨率2560x1536,dts對應(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
對應(yīng)節(jié)點:imx415 ---> csi2_dphy0 ---> mipi2_csi2 ---> rkcif_mipi_lvds2--->rkcif_mipi_lvds2_sditf --->rkisp0_vir2
鏈接關(guān)系: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的鏈接關(guān)系,通過對應(yīng)虛擬出的XXX_sditf來指明鏈接關(guān)系。
五、RK3588硬件通路框圖
rk3588支持2個isp硬件,每個isp設(shè)備可虛擬出多個虛擬節(jié)點,軟件上通過回讀的方式,依次從ddr讀取每一路的圖像數(shù)據(jù)進isp處理。對于多攝方案,建議將數(shù)據(jù)流平均分配到兩個isp上?;刈x:指數(shù)據(jù)經(jīng)過vicap采集到ddr,應(yīng)用獲取到數(shù)據(jù)后,將buffer地址推送給isp,isp再從ddr獲取圖像數(shù)據(jù)。六、詳細解析:
imx415 : Camera sensorcsi2_dphy0 : rk3588支持2個dphy硬件,這里我們稱之為dphy0_hw/dphy1_hw ,,兩個dphy硬件都可以工作在full mode 和split mode兩種模式下。當(dāng)使用dphy0_hw:
full mode:節(jié)點名稱使用csi2_dphy0,最多支持4 lane。當(dāng)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。當(dāng)使用dphy1_hw:
full mode:節(jié)點名稱使用csi2_dphy3,最多支持4 lane。當(dāng)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é)議復(fù)用;需要注意的是同一個dcphy的TX/RX只能同時使用DPHY或同時使用CPHY。其他dcphy參數(shù)請查閱rk3588數(shù)據(jù)手冊。
使用上述mipi phy節(jié)點,需要把對應(yīng)的物理節(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數(shù)據(jù)都需要通過vicap,再鏈接到isp。rk3588僅支持一個vicap硬件,這個vicap支持同時輸入6路mipi phy,及一路dvp數(shù)據(jù),所以我們將vicap分化成rkcif_mipi_lvds~rkcif_mipi_lvds5、rkcif_dvp等7個節(jié)點,各個節(jié)點的綁定關(guān)系需要嚴格按照框圖的節(jié)點序號配置。
每個vicap節(jié)點與isp的鏈接關(guān)系,通過對應(yīng)虛擬出的XXX_sditf來指明鏈接關(guān)系。
rk3588支持2個isp硬件,每個isp設(shè)備可虛擬出多個虛擬節(jié)點,軟件上通過回讀的方式,依次從ddr讀取每一路的圖像數(shù)據(jù)進isp處理。對于多攝方案,建議將數(shù)據(jù)流平均分配到兩個isp上。
直通與回讀模式:?直通:指數(shù)據(jù)經(jīng)過vicap采集,直接發(fā)送給isp處理,不存儲到ddr。需要注意的是hdr直通時,只有短幀是真正的直通,長幀需要存在ddr,isp再從ddr讀取。
?回讀:指數(shù)據(jù)經(jīng)過vicap采集到ddr,應(yīng)用獲取到數(shù)據(jù)后,將buffer地址推送給isp,isp再從ddr獲取圖像數(shù)據(jù)。
?在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 >;};};};
八、 調(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)自帶相機APP。點擊APP,看攝像畫面是否正常顯示。
8.3 imx415 相關(guān)的log信息
dmesg | grep imx415
8.4 查看拓撲結(jié)構(gòu)
media-ctl -d /dev/media0 -p
審核編輯:湯梓紅
標簽:
精彩推送
天天新消息丨今晚20:00起至運營結(jié)束,南昌地鐵全線網(wǎng)免費乘車
今晚20:00起至運營結(jié)束,南昌地鐵全線網(wǎng)免費乘車來源|都市現(xiàn)場原創(chuàng)未
西安高新區(qū)2023“文化和自然遺產(chǎn)日”主題活動啟動 滾動
6月10日,我國將迎來第十八個文化和自然遺產(chǎn)日。為推動文化遺產(chǎn)保護利
新聞快訊
新聞快訊
- RK3588-Camera:MIPI-CSI調(diào)試之通路解析
- 視點!信用就醫(yī)“親情付”上線 老年人和未成年人也能享“先診療 后付費”
- 2023高考今日落幕,多地公布志愿填報時間
- 最新進展:珠峰被救女子所雇登山公司承擔(dān)全部救援費
- 天天新消息丨今晚20:00起至運營結(jié)束,南昌地鐵全線網(wǎng)免費乘車
- 考后心理波動期來了?幾個方法幫考生收心
- 寫意牡丹畫法王寶欽_寫意牡丹畫法-微速訊
- 墻面刮膩子面積怎么算(刮膩子面積計算公式是什么)|聚看點
- 西安高新區(qū)2023“文化和自然遺產(chǎn)日”主題活動啟動 滾動
- 實業(yè)公司的經(jīng)營范圍有哪些(什么叫 ldquo 實業(yè)公司 rdquo 實業(yè)是什么意思)
- 高質(zhì)量發(fā)展調(diào)研行 | 在智慧港口見證大灣區(qū)經(jīng)濟活力——廣州南沙港走訪一線見聞-報道
- 【世界新要聞】國家出手依法懲治網(wǎng)暴!律師:網(wǎng)絡(luò)應(yīng)實名化,進行分層分級管理
- 最新資訊:陜西歷史博物館與高校共建大學(xué)生思想政治教育基地簽約儀式
- 金錢龜養(yǎng)法和注意事項(金錢龜?shù)纳鷳B(tài)養(yǎng)殖方法) 天天速看
- 黃岡市婦幼保健院獲首批國家級婚前保健特色??平ㄔO(shè)單位_觀焦點
- 《海邊魔術(shù)師》 極具南洋風(fēng)情的世界
- 臺州唐朝是屬于什么地方(唐朝臺灣屬于哪個?。?天天速看料
- 什么二胡琴弦最好
- word序號怎么自動生成數(shù)字(word序號怎么自動生成)
- 張怡寧將執(zhí)教印度乒乓球隊?假的!-世界微頭條
- 居理買房暴雷!前員工稱“欠薪千萬元,丈母娘頂替法人”
- 創(chuàng)造與魔法哪里豬最多(創(chuàng)造與魔法哪里豬比較多)-焦點熱訊
- 【世界熱聞】恐怖《午夜迷途》現(xiàn)身全國院線電影推介會, “翁丁原始部落”引發(fā)群體震顫
- 首批用戶"坐等"提車 吉利銀河L7將于6月13日交付_今日關(guān)注
- AI前哨 | OpenAI聯(lián)合創(chuàng)始人Sam Altman:安全性很重要 不會很快有GPT-5
- 觸目驚心!云南查獲上千張蛇皮,鋪了滿滿一地
- 梅西已抵達北京!距離友誼賽還有5天-速讀
- 【全球速看料】喬欣終于不扮乖乖女,一襲黃色高開叉禮服大秀曼妙身材,性感時髦
- 當(dāng)前訊息:中分適合什么臉型的男生 中分適合什么臉型男生
- 頭條焦點:生日到底提前過還是延后過 生日是提前過好還是延后好
- 劉東偉會見英國倫敦金融城市長-天天熱訊
- 行拘!廣州番禺警方通報男子在女廁門口偷拍_時訊
- 宿遷一患者因腦梗去世,醫(yī)生承認此前未成功植入腦血管支架并隱瞞|全球播資訊
- 環(huán)球觀天下!使用不當(dāng)或引發(fā)腎衰竭!正確使用這類藥物請牢記
- 空難40天后,機上4名兒童在叢林被發(fā)現(xiàn)幸存,最小的只有11個月大 世界微資訊
- RK3588開發(fā)板(armsom-w3)之PWM實操
- AUTO設(shè)區(qū) | 賦能設(shè)計創(chuàng)新 揭秘通用汽車中國前瞻設(shè)計中心|熱文
- 三亞什么地方好吃的多便宜?|環(huán)球關(guān)注
- 電腦關(guān)機后會自動開機怎么辦_電腦關(guān)機后自動開機怎么解決
- 當(dāng)前熱議!平安保險app叫什么(平安保險app叫什么)
- 邵陽某村竟然成立“城管隊”?官方回復(fù)_環(huán)球看熱訊
- 保險職業(yè)學(xué)院有哪些專業(yè) 保險職業(yè)學(xué)院專業(yè)排名 播資訊
- 世界最新:逢低“補貨”戰(zhàn)略油儲:美國能源部完成300萬桶招標后又要買300萬桶
- @考生及家長 高考填報志愿防范四種詐騙信息
- 山西開展汛期地質(zhì)災(zāi)害風(fēng)險隱患排查治理
- 全球快看點丨新華全媒+|長三角,把“加法”做成了“乘法”
- 李霄云為什么不火_李霄云為什么被雪藏
- 洛克王國格蘭酋長升龍咆哮(洛克王國格蘭酋長)
- 英偉達概念股沖高回落
- 全球觀點:在內(nèi)地開港貨店要注意什么_在內(nèi)地開港貨店需要辦什么手續(xù)