OpenHarmony(鸿蒙南向)——平台驱动指南【MIPI CSI】-使用指导

时间:2024-09-30 17:23:11

场景介绍

MIPI CSI主要用于连接摄像头组件。

接口说明

MIPI CSI模块提供的主要接口如表1所示,具体API详见//drivers/hdf_core/framework/include/platform/mipi_csi_if.h。

表 1 ComboDevAttr结构体介绍

名称 描述
devno 设备号
inputMode 输入模式:MIPI/LVDS/SUBSLVDS/HISPI/DC
dataRate Mipi Rx,SLVS输入速率
imgRect MIPI Rx设备裁剪区域(与原始传感器输入图像大小相对应)
MIPIAttr Mipi设备属性
lvdsAttr LVDS/SubLVDS/HiSPi设备属性

表 2 ExtDataType结构体介绍

名称 描述
devno 设备号
num Sensor号
extDataBitWidth 图片的位深
extDataType 定义YUV和原始数据格式以及位深度

表 3 MIPI CSI API接口功能介绍

接口名 接口描述
DevHandle MipiCsiOpen(uint8_t id) 获取MIPI_CSI控制器操作句柄
void MipiCsiClose(DevHandle handle) 释放MIPI_CSI控制器操作句柄
int32_t MipiCsiSetComboDevAttr(DevHandle handle, ComboDevAttr *pAttr) 设置MIPI,CMOS或者LVDS相机的参数给控制器,参数包括工作模式,图像区域,图像深度,数据速率和物理通道等
int32_t MipiCsiSetExtDataType(DevHandle handle, ExtDataType *dataType) 设置YUV和RAW数据格式和位深(可选)
int32_t MipiCsiSetHsMode(DevHandle handle, LaneDivideMode laneDivideMode) 设置MIPI RX的Lane分布。根据硬件连接的形式选择具体的mode
int32_t MipiCsiSetPhyCmvmode(DevHandle handle, uint8_t devno, PhyCmvMode cmvMode) 设置共模电压模式
int32_t MipiCsiResetSensor(DevHandle handle, uint8_t snsResetSource) 复位Sensor
int32_t MipiCsiUnresetSensor(DevHandle handle, uint8_t snsResetSource) 撤销复位Sensor
int32_t MipiCsiResetRx(DevHandle handle, uint8_t comboDev) 复位MIPI RX。不同的s32WorkingViNum有不同的enSnsType
int32_t MipiCsiUnresetRx(DevHandle handle, uint8_t comboDev) 撤销复位MIPI RX
int32_t MipiCsiEnableClock(DevHandle handle, uint8_t comboDev) 使能MIPI的时钟。根据上层函数电泳传递的enSnsType参数决定是用MIPI还是LVDS
int32_t MipiCsiDisableClock(DevHandle handle, uint8_t comboDev) 关闭MIPI设备的时钟
int32_t MipiCsiEnableSensorClock(DevHandle handle, uint8_t snsClkSource) 使能MIPI上的Sensor时钟
int32_t MipiCsiDisableSensorClock(DevHandle handle, uint8_t snsClkSource) 关闭Sensor的时钟