一、簡(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)用處理器制定的開(kāi)放標(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 ---> 通過(guò)mipi_csi2模塊解析mipi協(xié)議---> vicap ( rkcif節(jié)點(diǎn)代表vicap )
虛線鏈路解析:vicap ---> rkcif_mipi_lvds2_sditf ---> isp
每個(gè)vicap節(jié)點(diǎn)與isp的鏈接關(guān)系,通過(guò)對(duì)應(yīng)虛擬出的XXX_sditf來(lái)指明鏈接關(guān)系。
五、RK3588硬件通路框圖
rk3588支持2個(gè)isp硬件,每個(gè)isp設(shè)備可虛擬出多個(gè)虛擬節(jié)點(diǎn),軟件上通過(guò)回讀的方式,依次從ddr讀取每一路的圖像數(shù)據(jù)進(jìn)isp處理。對(duì)于多攝方案,建議將數(shù)據(jù)流平均分配到兩個(gè)isp上?;刈x:指數(shù)據(jù)經(jīng)過(guò)vicap采集到ddr,應(yīng)用獲取到數(shù)據(jù)后,將buffer地址推送給isp,isp再?gòu)膁dr獲取圖像數(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這條鏈路來(lái)配置,但是節(jié)點(diǎn)名稱csi2_dphy1需要修改為csi2_dphy0,軟件上是通過(guò)phy的序號(hào)來(lái)區(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這條鏈路來(lái)配置,但是節(jié)點(diǎn)名稱csi2_dphy4需要修改為csi2_dphy3,軟件上是通過(guò)phy的序號(hào)來(lái)區(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模塊來(lái)解析mipi協(xié)議,節(jié)點(diǎn)名稱分別為mipi0_csi2~mipi5_csi2。
rk3588所有camera數(shù)據(jù)都需要通過(guò)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)系,通過(guò)對(duì)應(yīng)虛擬出的XXX_sditf來(lái)指明鏈接關(guān)系。
rk3588支持2個(gè)isp硬件,每個(gè)isp設(shè)備可虛擬出多個(gè)虛擬節(jié)點(diǎn),軟件上通過(guò)回讀的方式,依次從ddr讀取每一路的圖像數(shù)據(jù)進(jìn)isp處理。對(duì)于多攝方案,建議將數(shù)據(jù)流平均分配到兩個(gè)isp上。
直通與回讀模式:?直通:指數(shù)據(jù)經(jīng)過(guò)vicap采集,直接發(fā)送給isp處理,不存儲(chǔ)到ddr。需要注意的是hdr直通時(shí),只有短幀是真正的直通,長(zhǎng)幀需要存在ddr,isp再?gòu)膁dr讀取。
?回讀:指數(shù)據(jù)經(jīng)過(guò)vicap采集到ddr,應(yīng)用獲取到數(shù)據(jù)后,將buffer地址推送給isp,isp再?gòu)膁dr獲取圖像數(shù)據(jù)。
?在dts配置時(shí),一個(gè)isp硬件,如果只配置一個(gè)虛擬節(jié)點(diǎn),默認(rèn)使用直通模式,如果配置了多個(gè)虛擬節(jié)點(diǎn)默認(rèn)使用回讀模式。
七、單路Camera的dts配置說(shuō)明:( 以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,看攝像畫(huà)面是否正常顯示。
8.3 imx415 相關(guān)的log信息
dmesg | grep imx415
8.4 查看拓?fù)浣Y(jié)構(gòu)
media-ctl -d /dev/media0 -p
審核編輯:湯梓紅
相關(guān)推薦
- (2023-06-11)世界消息!RK3588-Camera:MIPI-CSI調(diào)試之通路解析
- (2023-06-11)是喝高度還是低度?一位釀酒師告訴你,兩者白酒的區(qū)別
- (2023-06-11)環(huán)球熱點(diǎn)!導(dǎo)演韓延:不要責(zé)怪觀眾挑剔,是很多創(chuàng)作者信譽(yù)破產(chǎn)了
- (2023-06-11)【天天新視野】美國(guó)一列車脫軌,23節(jié)車廂嚴(yán)重?fù)p毀
- (2023-06-11)環(huán)球熱議:謝暉或遭足協(xié)追罰?怒懟球迷可以理解,大連足球底蘊(yùn)已喪失殆盡
- (2023-06-11)世界熱消息:咖位拉滿!可蘭白克潮男出鏡,花姐姐支持熱火,內(nèi)馬爾擁抱巴特勒
- (2023-06-11)菲律賓馬榮火山噴發(fā)風(fēng)險(xiǎn)上升 阿爾拜省宣布進(jìn)入災(zāi)難狀態(tài)_環(huán)球?qū)崟r(shí)
- (2023-06-11)傳字節(jié)內(nèi)測(cè)對(duì)話式 AI 產(chǎn)品,代號(hào)“Grace”;馬斯克嘲諷蘋果 頭顯;比亞迪 F 品牌定名“方程豹”-每日熱聞
- (2023-06-11)中國(guó)特供CPU史低價(jià)1399 立減220元
- (2023-06-11)李少紅劉斯逸胡先煦亮相上影節(jié)開(kāi)幕紅毯,9月9日看《三貴情史》尋真愛(ài)破詛咒-天天新動(dòng)態(tài)
- (2023-06-11)當(dāng)前快報(bào):液化石油氣瓶屬于什么瓶(家用瓶裝液化石油氣主要成分是)
- (2023-06-11)圖悅詞云圖怎么做(圖悅)_天天通訊
- (2023-06-11)焦點(diǎn)速看:張歸霸跟葛存周誰(shuí)厲害(張歸霸)
- (2023-06-11)熱訊:銀塵麒零(銀塵)
- (2023-06-11)第一夫人by君太平全文閱讀(第一夫人by君太平)
- (2023-06-11)鈾238裂變方程式(鈾238)-環(huán)球微頭條
- (2023-06-11)營(yíng)銷方案模板范文大全(營(yíng)銷方案模板)
- (2023-06-11)桉木是什么檔次的木材(桉木)
- (2023-06-11)環(huán)球快消息!馬的四字成語(yǔ)大全集1000個(gè)(四字成語(yǔ)大全集1000個(gè))
- (2023-06-11)環(huán)球觀焦點(diǎn):高齡老人養(yǎng)老金退休補(bǔ)貼多少?75歲以上企退人員補(bǔ)貼每年多少錢?
- (2023-06-11)商品未明碼標(biāo)價(jià)違反了哪一條法律_以下哪種情況沒(méi)有違反商品管理規(guī)則的 全球速訊
- (2023-06-11)速看!因自來(lái)水廠停電,河南信陽(yáng)市商城縣城停水-天天新消息
- (2023-06-11)金融脫媒的原因_金融脫媒是什么意思-天天新消息
- (2023-06-11)深海少女羅馬音諧音_深海少女羅馬音
- (2023-06-11)中國(guó)好聲音陳冰是哪一季_中國(guó)好聲音陳冰是哪一期
- (2023-06-11)虞書(shū)欣方否認(rèn)與吳建豪戀情:不再陷入自證危機(jī)_天天最資訊
- (2023-06-11)動(dòng)畫(huà)電影《瘋狂小世界》金日全國(guó)影院點(diǎn)映,本周末全國(guó)點(diǎn)映
- (2023-06-11)2023高考今日落幕 多地公布志愿填報(bào)時(shí)間 每日速讀
- (2023-06-11)旱堿麥成“名片”迎來(lái)豐收 鹽堿地特色農(nóng)業(yè)開(kāi)出“增收花”-觀點(diǎn)
- (2023-06-11)第12屆東盟殘運(yùn)會(huì)在柬埔寨首都閉幕
每日推薦
- ETF聯(lián)接基金是什么意思?ETF基金和ETF聯(lián)
- 貨幣基金的收益高嗎?貨幣基金一般年收益
- 基金賣出了怎么還有收益顯示?基金已經(jīng)贖
- 投資的基金買了幾天可以賣掉?基金入手多
- 基金終于回本了該不該贖回?基金終于回本
- 二月出境復(fù)飛航線超40條 節(jié)后部分機(jī)票價(jià)
- 重大事項(xiàng)變更!網(wǎng)易寶獲批增加注冊(cè)資本至
- 信達(dá)證券上市首日漲幅44%
- 總投資約486億元 北京今年首批50個(gè)重大
- 新年北京首月二手住宅網(wǎng)簽量再探底 價(jià)格
- 股價(jià)大漲 博云新材股東高創(chuàng)投擬趁機(jī)減持
- 2019華人歌曲音樂(lè)盛典在澳門舉行
- 喜迎十九大?歡度中秋節(jié)—傳統(tǒng)文化進(jìn)社區(qū)
- 突發(fā)!吳敏霞夫婦挑婚戒被曝光!兩百萬(wàn)鉆
- 《鐘山說(shuō)事》 熱點(diǎn)聚焦:胡鵬飛的最美鄉(xiāng)
- 湖南御福天益生物公司被指涉嫌傳銷進(jìn)行非
- 大同市城投公司劉建婷遭群眾舉報(bào)
- 魯能集團(tuán) “一帶一路”履責(zé)行動(dòng)暨“海南
圖片新聞
48小時(shí)頻道點(diǎn)擊排行
-
0
1世界消息!RK3588-Camera:MIPI-CSI調(diào) -
0
2【天天新視野】美國(guó)一列車脫軌,23節(jié) -
0
3菲律賓馬榮火山噴發(fā)風(fēng)險(xiǎn)上升 阿爾拜 -
0
4李少紅劉斯逸胡先煦亮相上影節(jié)開(kāi)幕紅 -
0
5焦點(diǎn)速看:張歸霸跟葛存周誰(shuí)厲害(張 -
0
6鈾238裂變方程式(鈾238)-環(huán)球微頭條 -
0
7環(huán)球快消息!馬的四字成語(yǔ)大全集1000 -
0
8速看!因自來(lái)水廠停電,河南信陽(yáng)市商 -
0
9中國(guó)好聲音陳冰是哪一季_中國(guó)好聲音 -
0
102023高考今日落幕 多地公布志愿填報(bào) -
0
11焦點(diǎn)快播:江陰本土兒童劇《今天我是 -
0
12堅(jiān)守“可靠”坦克Hi4-T 當(dāng)下新能源 -
0
13閉合性骨折的病人應(yīng)先a防休克b止痛c -
0
14馮坤厲害在哪里|環(huán)球熱推薦 -
0
15天天視點(diǎn)!硫代硫酸鈉化學(xué)式的含義( -
0
16最后階段如何備考?六位浙大學(xué)長(zhǎng)分享 -
0
17Netflix訂戶數(shù)量大幅上升,打擊密碼 -
0
18不知道第幾次把自己麻醉什么歌曲_不 -
0
19拉薩海拔多少米高(拉薩海拔3680)- -
0
20if little by little(if little)|全球快報(bào)