跳到主要内容

hi_isp_sns_commbus

hi_isp_cmos_black_level

说明

定义sensor的黑电平结构体。

定义

typedef struct {
hi_bool update;
hi_u16 black_level[HI_ISP_BAYER_CHN_NUM];
} hi_isp_cmos_black_level;

成员

成员名称描述
updateSensor的黑电平是否会动态根据增益改变。 取值范围:
- HI_TRUE:是
- HI_FALSE:否
如果sensor的黑电平不会动态根据增益改变,update配置为HI_FALSE 即可。
black_levelSensor的黑电平数组,取值范围:[0, 4095]。 HI_ISP_BAYER_CHN_NUM用于定义Bayer数据的通道数目,当前为4。

父主题: ISP系统控制及3A算法注册

hi_isp_sns_type

说明

定义Sensor与ISP的通信接口类型。

定义

typedef enum {
HI_ISP_SNS_I2C_TYPE = 0,
HI_ISP_SNS_SSP_TYPE,
HI_ISP_SNS_TYPE_BUTT,
} hi_isp_sns_type;

成员

成员名称描述
HI_ISP_SNS_I2C_TYPESensor与ISP使用I2C接口通信。
HI_ISP_SNS_SSP_TYPESensor与ISP使用SSP接口通信。
HI_ISP_SNS_TYPE_BUTT预留。

父主题: ISP系统控制及3A算法注册

hi_isp_sns_commbus

说明

定义与Sensor绑定的设备号信息。

定义

typedef union {
hi_s8 i2c_dev;
struct {
hi_s8 bit4_ssp_dev : 4;
hi_s8 bit4_ssp_cs : 4;
} ssp_dev;
} hi_isp_sns_commbus;

成员

成员名称描述
i2c_devSensor绑定的I2C设备号。
bit4_ssp_devSensor绑定的SPI设备号。
bit4_ssp_csSensor绑定的SPI片选信号。

父主题: ISP系统控制及3A算法注册

hi_isp_i2c_data

说明

定义I2C数据的参数。

定义

typedef struct {
hi_bool update; /* RW; Range: [0x0, 0x1]; Format:1.0;
HI_TRUE: The sensor registers are written,
HI_FALSE: The sensor registers are not written */
hi_u8 delay_frm_num; /* RW; Number of delayed frames for the sensor register */
hi_u8 int_pos; /* RW;Position where the configuration of the sensor register takes effect */
hi_u8 dev_addr; /* RW;Sensor device address */
hi_u32 reg_addr; /* RW;Sensor register address */
hi_u32 addr_byte_num; /* RW;Bit width of the sensor register address */
hi_u32 data; /* RW;Sensor register data */
hi_u32 data_byte_num; /* RW;Bit width of sensor register data */
} hi_isp_i2c_data;

成员

成员名称描述
update数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。
delay_frame_numSensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。
interrupt_posSensor寄存器的配置生效的位置。
- 设置为0x0时表示寄存器在超短帧起始中断配置生效,设置为0x 1时表示寄存器在超短帧结束中断配置生效。
- 设置为0x10时表示寄存器在短帧起始中断配置生效,设置为0x11时表示寄存器在短帧结束中断配置生效。
- 设置为0x20时表示c寄存器在中帧起始中断配置生效,设置为0x21时表示寄存器在中帧结束中断配置生效。
- 设置为0x30时表示寄存器在长帧起始中断配置生效,设置为0x31时表示寄存器在长帧结束中断配置生效。
dev_addrSensor设备地址。
reg_addrSensor寄存器地址。
addr_byte_numSensor寄存器地址位宽。
dataSensor寄存器数据。
data_byte_numSensor寄存器数据位宽。

父主题: ISP系统控制及3A算法注册

hi_isp_ssp_data

说明

定义SSP数据的参数。

定义

typedef struct {
hi_bool update; /* RW; Range: [0x0, 0x1]; Format:1.0;
HI_TRUE: The sensor registers are written,
HI_FALSE: The sensor registers are not written */
hi_u8 delay_frm_num; /* RW; Number of delayed frames for the sensor register */
hi_u8 int_pos; /* RW;Position where the configuration of the sensor register takes effect */
hi_u32 dev_addr; /* RW;Sensor device address */
hi_u32 dev_addr_byte_num; /* RW;Bit width of the sensor device address */
hi_u32 reg_addr; /* RW;Sensor register address */
hi_u32 reg_addr_byte_num; /* RW;Bit width of the sensor register address */
hi_u32 data; /* RW;Sensor register data */
hi_u32 data_byte_num; /* RW;Bit width of sensor register data */
} hi_isp_ssp_data;

成员

成员名称描述
update数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。
delay_frame_numsensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。
interrupt_posSensor寄存器的配置生效的位置。
- 设置为0x0时表示寄存器在帧起始中断配置生效,设置为1时表示寄存器在AF中断配置生效。
- 设置为0x10时表示寄存器在短帧起始中断配置生效,设置为0x11时表示寄存器在短帧结束中断配置生效。
- 设置为0x20时表示寄存器在中帧起始中断配置生效,设置为0x21时表示寄存器在中帧结束中断配置生效。
- 设置为0x30时表示寄存器在长帧起始中断配置生效,设置为0x31时表示寄存器在长帧结束中断配置生效。
dev_addrSensor设备地址。
dev_addr_byte_numSensor设备地址位宽。
reg_addrSensor寄存器地址。
reg_addr_byte_numSensor寄存器地址位宽。
dataSensor寄存器数据。
data_byte_numSensor寄存器数据位宽。

父主题: ISP系统控制及3A算法注册

hi_isp_sns_regs_info

说明

定义sensor的寄存器信息。

定义

typedef struct {
hi_isp_sns_type sns_type;
hi_u32 reg_num;
hi_u8 cfg2_valid_delay_max;
hi_u32 exp_distance[HI_ISP_WDR_MAX_FRAME_NUM - 1]
hi_isp_sns_commbus com_bus;
union {
hi_isp_i2c_data i2c_data[HI_ISP_MAX_SNS_REGS];
hi_isp_ssp_data ssp_data[HI_ISP_MAX_SNS_REGS];
};
struct {
hi_bool update;
hi_u8 delay_frame_num;
hi_u32 slave_vs_time;
hi_u32 slave_bind_dev;
} slv_sync;
hi_bool config;
} hi_isp_sns_regs_info;

成员

成员名称

描述

sns_type

Sensor与ISP的通信接口类型。

reg_num

曝光结果写到sensor时需要配置的寄存器个数,不支持动态修改。

cfg2_valid_delay_max

所有Sensor寄存器从配置到生效延迟的帧数的最大值,单位为帧,用于保证sensor寄存器和ISP寄存器的同步。一般情况下,cmos sensor的曝光时间寄存器的延迟最大,为1~2帧,因此配置一般为1或2。

exp_distance

Sensor在wdr模式下曝光长帧与中帧的行差,中帧与短帧的行差,短帧与短短帧的行差。预留属性,暂不支持。

com_bus

与Sensor绑定的设备号信息

i2c_data

I2C数据参数。

ssp_data

SSP数据参数。

update

数据是否会配置sensor寄存器。

HI_TRUE:数据会配置sensor寄存器;

HI_FALSE:数据不会配置sensor寄存器。

delay_frame_num

sensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。

slave_vs_time

XVS信号周期,单位:sensor输入时钟周期。

slave_bind_dev

Slave设备号与vi_pipe绑定关系。

config

Sensor寄存器数据配置完成标志。

  • TD_TRUE:完成配置。
  • TD_FALSE:还未配置。

注意事项

相关数据类型及接口

hi_isp_sensor_exp_func

父主题: ISP系统控制及3A算法注册

在线提单