您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 海思2232sensor调试
调试sc2232总结1、驱动调试方法:(1)首先,sc2232这款sensor厂家提供了3个配置文件config_entry.ini、sc2232_1080p25.ini、sc2232_1080p25_2lane.ini,另外两个驱动代码文件sc2232_cmos.c、sc2232_sensor_ctl.c等。其中,sc2232_cmos.csc2232_cmos.c主要实现ISP需要的回调函数,这些回调函数中包含了sensor的适配算法,如注册了3a库回调函数,ae初始化参数,增益、帧率等初始化算法。sc2232_sensor_ctl.c用于底层驱动控制,主要实现sensor的读写和初始化动作,也就是读写寄存器,主要是根据datasheet文档进行的代码开发。(2)其次,讲讲3个配置文件,其中config_entry.ini是所有配置的入口,内容如下:首先设置UserMode参数,该参数用于选择哪一种模式,0表示mode.0;1表示mode.1;这里刚开始我都不知道,后来慢慢研究才明白的。然后,sc2232_1080p25.ini这个文件代表的是datasheet里面的DVP并行视频端口模式,也就是CMOS模式,这种模式是12-bit并行数据。sc2232_1080p25_2lane.ini这个文件代表的是datasheet里面的MIPI模式,也就是串行视频端口模式,只是8/10bit,1/2lane串行输出。(lane解释:用于连接发送端和接收端的一对高速差分线,既可以是时钟lane,也可以是数据lane。)可以使用beyondcompare对比这两个文件,只有个别参数配置不一样。(3)stream工具的使用方法Stream工具需要上面说到的3个ini配置文件,当配置好参数之后,在stream的configs目录下建立一个sc2232目录,把ini配置文件放到目录下。还需要复制两个自适应配置文件,分别是普通模式和wdr模式的,当然如果厂家提供有的话就不用复制其他方案的了。这个配置文件在sc2232_1080p25.ini和sc2232_1080p25_2lane.ini里面可以设置是否使用。最重要的是还要把前面说的两个.c驱动代码文件编译出来的的libsns_sc2232.so文件拷贝到libs目录下,这样stream才能真正调用了驱动代码使他生效。好了,准备工作做好了,运行Stream工具之前要先kill掉固件程序,还要把watchdog跑起来,所以执行killall-9guard&&killall-9core&&/huamai/app/script/watchdog.sh/dev/null&然后挂载stream工具到设备,当然还要把pqtool也要一起挂载,方便调节参数。运行stream:./HiIspTool.sh-asc2232当执行ps有以下进程表示运行成功:再运行windows端的ITTP_Stream.exe客户端进行连接,就可以看到视频了,前提是驱动和参数都没有问题。(4)I2C寄存器值的调试.寄存器可以使用命令读写:usage:i2c_writei2c_numdev_addrreg_addrvaluereg_widthdata_width.sample:.0x10x560x00x2822..0x10x560x00x28.defaultreg_widthanddata_widthis1...usage:i2c_readi2c_numdev_addrreg_addrreg_addr_endreg_widthdata_widthreg_step.sample:.0x10x560x00x1022..0x10x560x00x10222..0x10x560x00x10.defaultreg_width,data_width,reg_stepis1.i2c_num:ls/dev/i2c*,一般有0x0和0x1dev_addr:imx290的iic地址为0x34(固定)reg_addr:开始寄存器地址reg_addr_end:结束寄存器地址reg_width:寄存器地址字节数data_width:数据字节数但是命令读写太慢了,而且容易输错,海思pqtool提供了专门的读写I2C寄存器的工具这个工具读写方便效率高,操作简单。2、固件代码参数的修改。(1)首先在chip_type_e里面添加芯片类型chip_type_sc2232=25;(2)然后在sal_video_init添加设置enViMode,elseif(video_module-chip_type[0]==chip_type_sc2232){enViMode=SMARTSENS_SC2232_MIPI_1080P_25FPS;}(3)sensor设备参数combo_dev_attr_tMIPI_2lane_SENSOR_SC2232_10BIT_1080_NOWDR_ATTR={.devno=0,.input_mode=INPUT_MODE_MIPI,{.mipi_attr={RAW_DATA_10BIT,HI_MIPI_WDR_MODE_NONE,{0,1,-1,-1}}}};对应配置文件的[sensor_mode.0.0](4)Isp_image参数修改:stPubAttr.enBayer=BAYER_BGGR;stPubAttr.stWndRect.s32X=0;stPubAttr.stWndRect.s32Y=0;stPubAttr.stWndRect.u32Width=1920;stPubAttr.stWndRect.u32Height=1080;stPubAttr.f32FrameRate=25;对应[isp_image.0]部分(5)设置视频缓存池大小调用接口HI_MPI_VB_SetConf设置缓存池大小,需要在hisi_mppsys_init函数添加:casechip_type_sc2232:casechip_type_ar0237:hi_sys.enSize[0]=PIC_HD1080;hi_sys.enSize[1]=PIC_HD720;hi_sys.enSize[2]=PIC_VGA;hi_sys.enSize[3]=PIC_HD1080;hi_sys.maxpicsize=PIC_HD1080;hi_sys.mmz_count[0]=14;hi_sys.mmz_count[1]=8;hi_sys.mmz_count[2]=8;hi_sys.mmz_count[3]=14;对应【vb_conf】参数(6)vi视频输入设备属性调用HI_MPI_VI_SetDevAttr接口函数,设置属性:VI_DEV_ATTR_SDEV_ATTR_MIPI_BASE_SC2232={/*interfacemode*/VI_MODE_MIPI,/*multiplexmode*/VI_WORK_MODE_1Multiplex,/*r_maskg_maskb_mask*/{0xfff0000,0x0},/*progessiveorinterleaving*/VI_SCAN_PROGRESSIVE,/*AdChnId*/{-1,-1,-1,-1},/*enDataSeq,onlysupportyuv*/VI_INPUT_DATA_YUYV,/*synchronizationinformation*/{/*port_vsyncport_vsync_negport_hsyncport_hsync_neg*/VI_VSYNC_FIELD,VI_VSYNC_NEG_HIGH,VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH,VI_VSYNC_NORM_PULSE,VI_VSYNC_VALID_NEG_HIGH,/*hsync_hfbhsync_acthsync_hhb*/{0,1920,0,/*vsync0_vhbvsync0_actvsync0_hhb*/0,1080,0,/*vsync1_vhbvsync1_actvsync1_hhb*/0,0,0}},/*useinteriorISP*/VI_PATH_ISP,/*inputdatatype*/VI_DATA_TYPE_RGB,/*bRever*/HI_FALSE,/*DEVCROP*/{0,0,1920,1080}};对应【vi_dev.0】参数:主要修改视频设备接口模式IntfMode和分量掩码值au32CompMask[VIU_DEV_COMP_MASK_NUM];(7)设置VI通道属性调用HI_MPI_VI_SetChnAttr设置vi通道属性,在MPP_COMM_VI_StartIspAndVi函数中添加sc2232的enViMode设置视频捕获区域的宽和高:caseSMARTSENS_SC2232_MIPI_1080P_25FPS:stCapRect.u32Width=1920;stCapRect.u32Height=1080;对应[vi_chn.0]参数:(8)Load3516cv300参数配置:sc2232)bus_type=i2c;pinmux_mode=i2c_mipi;sensor_clk_freq=27000000;intf_mode=default;viu_frequency=83300000;#83.3M,viuclockfrequencyisp_div=1;#ispdivclk,freq=viu_clk_freq/div;;参数解释:bus_type:总线类型,如i2c或者spi等类型;pinmux_mode:设置mipi串行或者dvp并行模式,以及其他模式;sensor_clk_freq:sensor的时钟频率;viu_frequency:视频采集单元viu的时钟频率;
本文标题:海思2232sensor调试
链接地址:https://www.777doc.com/doc-4835101 .html