<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

fireflyAIO-3288C主板MIPI CSI攝像頭接口簡介

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-16 14:16 ? 次閱讀
MIPI CSI 使用
板載資源

AIO-3288C開發板有雙 MIPI 攝像頭接口,攝像頭圖像處理能力達到 4416x3312 像素,支持 4K 視頻錄制。此外,開發板還支持 USB 攝像頭。 本文AIO-3288C和單個OV13850 攝像頭為例,講解MIPI攝像頭在該開發板上的配置過程。

相關代碼目錄

與攝像頭相關的代碼目錄如下:

Android: `- hardware/rockchip/camera |- Config | `- cam_board.xml // 攝像頭的參數設置 |- CameraHal // 攝像頭的 HAL 源碼 `- SiliconImage // ISP 庫,包括所有支持模組的驅動源碼 `- isi/drv/OV13850 // OV13850 模組的驅動源碼 `- calib/OV13850.xml // OV13850 模組的調校參數
Kernel: |- kernel/drivers/media/video/rk_camsys // CamSys 驅動源碼 `- kernel/include/media/camsys_head.h
配置原理

設置攝像頭相關的引腳和時鐘,即可完成配置過程。

從以下攝像頭接口原理圖可知,需要配置的引腳有:CIF_PWR、MIPI_PWR、MIPI_SDA、MIPI_SCL、MIPI_RST 和CIF_PDN0。

  • CIF_PWR 對應 AIO-3288C 上的 GPIO7_B4 引腳:

  • MIPI_PWR和MIPI_RST對應AIO-3288C上的GPIO3_B2和GPIO3_B0引腳,默認為高電平:

  • MIPI_SDA和MIPI_SCL由CIF_PWR控制:

  • CIF_PDN0對應GPIO2_B6引腳:

在開發板中,除了CIF_POWER和DVP_POWER要在 DTS 和驅動中設置,其它引腳都是在 cam_board_rk3288_aio_3288c.xml 中設置。

配置步驟
配置 Android

修改 hardware/rockchip/camera/Config/cam_board_rk3288_aio-3288c.xml 來注冊攝像頭:

主要修改的內容如下:

  • Sensor 名稱
<SensorName name="OV13850" >SensorName>

該名字必須與 Sensor 驅動的名字一致,目前提供的 Sensor 驅動格式如下:

libisp_isi_drv_OV13850.so

用戶可在編譯 Android 完成后在目錄 out/target/product/rk3288_aio_3288j_box/system/lib/hw/ 下找到該攝像頭驅動文件。

  • Sensor 軟件標識
<SensorDevID IDname="CAMSYS_DEVID_SENSOR_1A">SensorDevID>

注冊標識不一致即可,可填寫以下值:

CAMSYS_DEVID_SENSOR_1A CAMSYS_DEVID_SENSOR_1B CAMSYS_DEVID_SENSOR_2
  • 采集控制器名稱
<SensorHostDevID busnum="CAMSYS_DEVID_MARVIN" >SensorHostDevID>

目前只支持:

CAMSYS_DEVID_MARVIN
  • Sensor 所連接的主控 I2C 通道號
<SensorI2cBusNum busnum="3">SensorI2cBusNum>

具體通道號請參考攝像頭原理圖連接主控的 I2C 通道號。

  • Sensor 寄存器地址長度,單位:字節
<SensorI2cAddrByte byte="2">SensorI2cAddrByte>
  • Sensor 的 I2C 頻率,單位:Hz,用于設置 I2C 的頻率。
<SensorI2cRate rate="100000">SensorI2cRate>
  • Sensor 輸入時鐘頻率, 單位:Hz,用于設置攝像頭的時鐘。
<SensorMclk mclk="24000000">SensorMclk>
  • Sensor AVDD 的 PMU LDO 名稱。如果不是連接到 PMU,那么只需填寫 NC。
<SensorAvdd name="NC" min="0" max="0">SensorAvdd>
  • Sensor DOVDD 的 PMU LDO 名稱。
<SensorDovdd name="NC" min="18000000" max="18000000">SensorDovdd>

如果不是連接到 PMU,那么只需填寫 NC。注意 min 以及 max 值必須填寫,這決定了 Sensor 的 IO 電壓。

  • Sensor DVDD 的 PMU LDO 名稱。
<SensorDvdd name="NC" min="0" max="0">SensorDvdd>

如果不是連接到 PMU,那么只需填寫 NC。

  • Sensor PowerDown 引腳。
<SensorGpioPwdn ioname="RK30_PIN2_PB6" active="0">SensorGpioPwdn>

直接填寫名稱即可,active 填寫休眠的有效電平。

  • Sensor Reset 引腳。
<SensorGpioRst ioname="RK30_PIN3_PB0" active="0">SensorGpioRst>

直接填寫名稱即可,active 填寫復位的有效電平。

  • Sensor Power 引腳。
<SensorGpioPwen ioname="RK30_PIN0_PB3" active="1">SensorGpioPwen>

直接填寫名稱即可, active 填寫電源有效電平。

  • 選擇 Sensor 作為前置還是后置。
<SensorFacing facing="front">SensorFacing>

可填寫 “front” 或 “back”。

  • Sensor 的接口方式
<SensorInterface mode="MIPI">SensorInterface>

可填寫如下值:

CCIR601 CCIR656 MIPI SMIA
  • Sensor 的鏡像方式
<SensorMirrorFlip mirror="0">SensorMirrorFlip>

目前暫不支持。

<SensorOrientation orientation="0">SensorOrientation>
  • 物理接口設置
    • MIPI
<SensorPhy phyMode="CamSys_Phy_Mipi" lane="2" phyIndex="1" sensorFmt="CamSys_Fmt_Raw_10b">SensorPhy>

hyMode:Sensor 接口硬件連接方式,對 MIPI Sensor 來說,該值取 “CamSys_Phy_Mipi” Lane:Sensor mipi 接口數據通道數 Phyindex:Sensor mipi 連接的主控 mipi phy 編號 sensorFmt:Sensor 輸出數據格式,目前僅支持 CamSys_Fmt_Raw_10b

配置內核

在配置原理中提到,GPIO7_B4 需要在 DTS 和驅動中配置。其配置方法如下:

(1). DTS 文件添加 GPIO7_B4 配置屬性

在 kernel/arch/arm/boot/dts/rk3288.dtsi 文件中添加 gpios-cifpower 屬性,如下所示:

isp: isp@ff910000{ compatible = "firefly,isp"; ... gpios-cifpower = ; ... status = "okay"; };

(2). 驅動中配置 CIF_POWER

在 kernel/drivers/media/video/rk_camsys/camsys_drv.c 中讀取 gpios-cifpower ,并設置該引腳,使能 CIF_POWER,在probe函數camsys_platform_probe()中添加如下所示:

enum of_gpio_flags flags; int cifpower_io; int io_ret; cifpower_io = of_get_named_gpio_flags(dev->of_node, "gpios-cifpower", 0, &flags); camsys_trace(1, "1-gpios-cifpower: gpio=%d", cifpower_io); if(gpio_is_valid(cifpower_io)){ cifpower_io = of_get_named_gpio_flags(dev->of_node, "gpios-cifpower", 0, &flags); camsys_trace(1, "gpios-cifpower: gpio_request"); io_ret = gpio_request(cifpower_io,"cifpower"); camsys_trace(1, "1-gpios-cifpower: gpio_request=%d", io_ret); if(io_ret < 0){ camsys_err("Request %s(%d) failed","cifpower", cifpower_io); } else{ gpio_direction_output(cifpower_io, 1); gpio_set_value(cifpower_io, 1); camsys_trace(1, "gpios-cifpower: %d high", cifpower_io); } }

(3). 編譯內核

需將 drivers/media/video/rk_camsys 驅動源碼編進內核,其配置方法如下:

在內核源碼目錄下執行命令:

make menuconfig

然后將以下配置項打開:

Device Drivers ---> Multimedia support ---> camsys driver RockChip camera system driver ---> camsys driver for marvin isp camsys driver for cif

最后執行:

make firefly-rk3288-aio-3288c.img

即可完成內核的編譯。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6064

    瀏覽量

    34613
  • 安卓
    +關注

    關注

    5

    文章

    2081

    瀏覽量

    54500
  • Firefly
    +關注

    關注

    2

    文章

    534

    瀏覽量

    6757
收藏 人收藏

    評論

    相關推薦

    Pandaboard MIPI CSI2高清攝像頭接口設計

    附件里 分享了筆者設計Pandaboard 高清攝像頭子板的經驗,Pandaboard基于TI OMAP4430芯片,高清攝像頭子板采用OV5640 500萬像素芯片,兩者基于CSI2接口
    發表于 07-01 20:31

    MIPI接口攝像頭csi-2 能不能直接輸出給 dsi接口的顯示屏顯示

    MIPI接口攝像頭csi-2 能不能直接輸出給 dsi接口的顯示屏顯示?當然有一個mcu進行i2c
    發表于 02-12 21:25

    CSI攝像頭接口及在英創主板上的應用

    Sensor Interface)信號接口。ESM6800V的其它系統及接口配置與ESM6800完全相同。CSI是一個標準的視頻輸出接口,視頻處理芯片可以直接輸出,不需要涉及到USB
    發表于 10-20 13:36

    可支持CSI接口攝像頭的ESM6800V

    ESM6800V支持CSI接口攝像頭
    發表于 09-26 08:14

    請教大神RK1808的MIPI CSI(4lane)的接口最大能能支持到多少萬像素的攝像頭

    請教大神RK1808的MIPI CSI(4lane)的接口最大能能支持到多少萬像素的攝像頭?
    發表于 04-19 10:44

    OK5718C想接其他的mipi攝像頭應該用哪個接口?

    我手上有OK671x-C V1.2開發板,上面有兩個mipi接口,一個是OV5640-MIPI 一個是OV5645-MIPI,請問這兩個
    發表于 11-21 11:40

    RK3288雙USB鏈接攝像頭的硬件實現

    。500W還可以勉強用DVP,800W及以上都采用MIPI接口。rk3288常用實現方式一般采用雙USB鏈接攝像頭,但是會有長時間使用高溫的情況,
    發表于 11-23 17:05

    i.MX8M Plus雙MIPI攝像頭CSI-2.1未離開ULPS狀態的原因?

    mipi_csi_2.1),流式傳輸僅在重啟后工作一次。當停止流并再次啟動時,不再接收到任何幀。設備重啟后,它會再次工作一次。兩個攝像頭的型號相同,使用相同的驅動程序,但只有連接到第二個 MIPI 端口的
    發表于 03-20 07:09

    求助,連接MIPI-CSI攝像頭時是否需要使用SCCB?

    我有一個 i.MX RT1160 評估套件,我想將一個 MIPI-CSI 攝像頭 (AR0144) 連接到 J2 連接器。SDK 提供了一個攝像頭演示,該演示基于連接到 J2 的 ov5640
    發表于 03-31 07:10

    如何連接STM32MP1系列產品與MIPI CSI-2攝像頭的信息

    本應用筆記提供關于如何連接 STM32MP1 系列產品與 MIPI CSI-2 攝像頭的信息。STM32MP1 系列產品(如 STM32 高性能MCU)可通過其 DCMI(數碼相機模塊接口
    發表于 09-07 08:16

    英創信息技術CSI攝像頭接口及在英創主板上的應用簡介

    Sensor Interface)信號接口。ESM6800V的其它系統及接口配置與ESM6800完全相同。CSI是一個標準的視頻輸出接口,視頻處理芯片可以直接輸出,不需要涉及到USB
    的頭像 發表于 02-06 11:13 ?2112次閱讀

    fireflyAIO-3288C主板攝像頭模組簡介

    攝像頭模組 OV13850攝像頭模組
    的頭像 發表于 12-16 14:07 ?1893次閱讀
    <b class='flag-5'>fireflyAIO-3288C</b><b class='flag-5'>主板</b><b class='flag-5'>攝像頭</b>模組<b class='flag-5'>簡介</b>

    fireflyAIO-3288J主板MIPI CSI介紹

    AIO-3288J開發板有兩個版本,一個版本是帶有雙MIPI 攝像頭接口,另一個版本是帶單MIPI攝像頭
    的頭像 發表于 12-20 09:43 ?2421次閱讀
    <b class='flag-5'>fireflyAIO-3288</b>J<b class='flag-5'>主板</b><b class='flag-5'>MIPI</b> <b class='flag-5'>CSI</b>介紹

    fireflyAIO-3399J主板MIPI CSI使用簡介

    AIO-3399J 開發板分別帶有兩個MIPI,一個DVP攝像頭接口,MIPI最高支持支持4K拍照,并支持1080P 30FPS以上視頻錄制。
    的頭像 發表于 12-24 10:22 ?4696次閱讀
    <b class='flag-5'>fireflyAIO</b>-3399J<b class='flag-5'>主板</b><b class='flag-5'>MIPI</b> <b class='flag-5'>CSI</b>使用<b class='flag-5'>簡介</b>

    STM32MP1序列產品連接MIPI?CSI-2攝像頭

    本應用筆記提供關于如何連接 STM32MP1 系列產品與 MIPI CSI-2 攝像頭的信息。STM32MP1 系列產品(如 STM32 高性能MCU)可通過其 DCMI(數碼相機模塊接口
    的頭像 發表于 03-15 15:03 ?3927次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>