主题中讨论的其他器件:DS90UB964-Q1EVMTDA
我的平台是:
J721EXSOMG01EVM+DS90UB964-Q1EVMTDA+DS90UB913+AR0140
传感器输出 YUV 数据,分辨率1280*720。
UB964和 j721EVM 连接到 J721EVM.J52的 J52上、J52是 CSI2 EXP 连接器。
我执行下面的整个步骤,但得到错误的 YUV 数据,并看到一些警告,如“
[MCU2_0] 7844.913788 s: vx_zone_warning:[tivxCaptureSetTimeout:772] capture:warning:error frame not provided using tivxCaptureRegisterErrorFrame、defaulting to Forever!! "
1、复印传感器驱动程序。
将成像\sensor_drv\src 中的目录 GW_ar0233_YUV 复制到 GW_ov10635_YUV
IssSensor_CreateParamsis 如下所示(与 GW_ar0233_YUV 几乎相同):
静态 IssSensor_CreateParams GW_ov10635CreatePrms ={
GW_OV10635_UYVY、 /*传感器名称*/
0x6、 /*i2cInstId*/
{0、0、0、0、0、 0、0、0}、 /*i2cAddrSensor*/
{0、0、0、0、0、 0、0、0}、 /*i2cAddrSer*/
/*IssSensor_Info*/
{
{
GW_OV10635_OUT_WIDTH、 /*width*/
GW_OV10635_OUT_HEIGHT、 /*身高*/
1、 /*num_exposures */
vx_false_e、 /*line_interleaved*/
{
{vx_DF_IMAGE_UYVY、7}、 /*数据格式和 MSB [0]*/
}、
0、 /*meta_height 之前*/
0、 /*meta_height_after*/
}、
iSS_SENSOR_GW_OV10635_特性, /*特性*/
Algorithms_iSS_AEWB_MODE_NONE、 /*aewbMode*/
60、 /*fps*/
4、 /*numDataLanes*/
{1、2、3、4}、 /* dataLanesMap*/
{0、0、0、0}、 /* dataLanesPolarity */
CSIRX_LANK_BADER_SPEED_720_TO_800_Mbps、/* CSI_laneBandSpeed*/
}、
1、 /*numChan */
10635、 /*dccId*/
};
2、ub9xx_gw_ov10635_serdec_config.h 中的配置如下所示
(diff:尚未 使用 ub9xxSerCfg_Gw_OV10635)
#define GW_OV10635_OUT_WIDTH (1280U)
#define GW_OV10635_OUT_HEIGHT (720U)
#define GW_OV10635_SER_CFG_SIZE (5U)
I2cParams ub9xxSerCfg_Gw_OV10635[Gw_OV10635_SER_CFG_SIZE]={
{0x0E、0xF0、0xF0}、
{0x0D、0xF0、0x60}、
{0x0D、0xB0、0x60}、
{0x0D、0xB4、0x60}、
{0xFFFF、0x00、0x0}/*脚本末尾*/
};
I2cParams ub9xxGW_OV10635DesCSI2Enable[10U]={
{0x33、0x03、0x1}、
{0xFFFF、0x00、0x0}//脚本末尾
};
I2cParams ub9xxGW_OV10635DesCSI2Disable[2U]={
{0x33、0x02、0x10}、
{0xFFFF、0x00、0x0}/*脚本末尾*/
};
3、修改 ub964DesCfg_Common、如下所示
#define common_DES_CFG_SIZE (36U)
静态 I2cParams ub964DesCfg_Common[common_DES_CFG_SIZE]={
{0x01、0x02、0x20}、
{0x1f、0x02、0x00}、
{0x0D、0x90、0x1}、/* I/O 至3V3 -选项对 datasheei*/无效
{0x0C、0x0F、0x1}、/*启用所有端口*/
{0xBC、0x00、0x1}、/* 720p */
/*选择通道0*/
{0x4C、0x01、0x10}、
{0x58、0x58、0x1}、/*启用反向通道、设置为50Mbs*/
{0x7C、0xE0、0x1}、/*低位8*/
/*选择通道1*/
{0x4C、0x12、0x10}、
{0x58、0x58、0x1}、/*启用反向通道,设置为50Mbs*/
{0x7C、0xE0、0x1}、/*低位8*/
/*选择通道2*/
{0x4C、0x24、0x10}、
{0x58、0x58、0x1}、/*启用反向通道,设置为50Mbs*/
{0x7C、0xE0、0x1}、/*低位8*/
/*选择通道3*/
{0x4C、0x38、0x10}、
{0x58、0x58、0x1}、/*启用反向通道,设置为50Mbs*/
{0x7C、0xE0、0x1}、/*低位8*/
{0x20、0x00、0x1}、/*转发和使用 CSIport 0 */
/*设置 GPIO */
{0x10、0x83、0x1}、
{0x11、0xA3、0x1}、
{0x12、0xC3、0x1}、
{0x13、0xE2、0x1}、
{0x4C、0x01、0x10}、/* 0x01 */
{0x32、0x01、0x1}、/*启用 TX 端口0*/
{0x33、0x02、0x1}、/*启用连续时钟模式和 CSI 输出4lnae out endbale */
{0x4C、0x12、0x10}、/* 0x12 */
{0x32、0x01、0x1}、/*启用 TX 端口0*/
{0x33、0x02、0x1}、/*启用连续时钟模式和 CSI 输出*/
{0x4C、0x24、0x10}、/* 0x24 */
{0x32、0x01、0x1}、/*启用 TX 端口0*/
{0x33、0x02、0x1}、/*启用连续时钟模式和 CSI 输出*/
{0x4C、0x38、0x10}、/* 0x38 */
{0x32、0x01、0x1}、/*启用 TX 端口0*/
{0x33、0x03、0x1}、/*启用连续时钟模式和 CSI 输出*/
{0xFFFF、0x00、0x0}//脚本末尾
};
4、在 iss_sensor.c 中
(1)在函数 IssSensor_DeserializerInit 中
仅调用 “status = ub960_cfgScript (ub964DESCfg_Common,0U); ”
- 函数 ImageSensor_RemoteServiceHandler 中
删除所有禁用 UB960Broadcast (0)和禁用 UB960Broadcast (1)
删除所有 IssSensor_Config()
(如果调用 disableUB960Broadcast,则会发生写入 reg 失败错误。)
- In 函数 IssSensor_Init()
添加状态|= IssSensor_Gw_ov10635_Init();
5制作并运行
生成图像和 v裂变 应用并运行 vx_app_single_cam.out。 选择 SENSOR (传感器)并选择 LDC =0选择‘s’ (LDC =0)以保存数据。 日志如下所示。
使用、
/vx_app_single_cam.out --cfg
默认为交互模式
IttCtrl_registerHandler:在位置0注册的命令回显
IttCtrl_registerHandler:在位置1注册的命令 iss_read_2a_params
IttCtrl_registerHandler:在位置2注册的命令 iss_WRITE_2A_params
IttCtrl_registerHandler:在位置3注册的命令 iss_raW_save
IttCtrl_registerHandler:在位置4注册的命令 iss_YUV_save
IttCtrl_registerHandler:在位置5注册的命令 iss_read_sensor_reg
IttCtrl_registerHandler:在位置6注册的命令 iss_WRITE_SENSOR_reg
IttCtrl_registerHandler:在位置7注册的命令 DEV_CTRL
IttCtrl_registerHandler:在位置8注册的命令 iss_send_dCC_file
网络:在 IP 地址= 192.168.1.101、套接字端口= 5000时打开!!!
TIvxImagingLoadKernels Done (完成装载通道)
7837.714153 s:ISS:枚举传感器... !!!
[MCU2_0] 7837.714276 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_create
[MCU2_0] 7837.714405 s:UB960配置启动
7837.898528 s:ISS:枚举传感器... 找到0:GW_OV10635_UYVY
选择摄像头端口索引0-7:[MCU2_0] 7837.898354 s:UB960配置结束
[MCU2_0] 7837.898431:IssSensor_DeserializerInit 返回状态= 0
无效输入
。 请在0和7之间进行选择
选择摄像机端口索引0-7:0
0x1寄存传感器驱动程序
A:GW_OV10635_UYVY
选择上方的传感器或按“0”自动检测传感器:选择无效
。 请重试
0x1寄存传感器驱动程序
A:GW_OV10635_UYVY
选择上方的传感器或按“0”自动检测传感器:A
选择的传感器:GW_OV10635_UYVY
LDC 选择是(1)/否(0):LDC 选择是(1)/否(0):0
## table_width =1920、table_height=1080
APP_INIT 完成
-------- app_create_graph ----------------
查询 GW_OV10635_UYVY
7844.885405 s:ISS:正在查询传感器[GW_OV10635_UYVY]... !!!
7844.885672 s:ISS:正在查询传感器[GW_OV10635_UYVY]... 完成了!!!
已选择 YUV 输入。 将绕过 VISS 和 AEWB 节点。
启用传感器 DCC
传感器宽度= 1280
传感器高度= 720
传感器 DCC ID = 10635
传感器支持的特性= 0x100
启用传感器的功能= 0x100
7844.885699 s:ISS:正在初始化传感器[GW_OV10635_UYVY],正在执行 IM_SENSOR_CMD_PWRON ... !!!
7844.885876 s:ISS:正在初始化传感器[GW_OV10635_UYVY],正在执行 IM_SENSOR_CMD_CONFIG ... !!!
7844.886073 s:ISS:正在初始化传感器[GW_OV10635_UYVY]... 完成了!!!
创建图形
为捕获节点初始化参数
为捕获节点初始化参数
TRUE =YUV_CAM_INPUT
CAPTURE_CONFIG = 0x6e0410
正在创建捕获节点
obj->caption_node = 0x69ad10
XX YUV 格式获取 capt_YUV_image
xxx LDC 未启用
null!= obj->capt_yuV_image
xxx DISPLAY_IMAGE
显示设定目标完成
xx add_graph_parameter_by_node_index
XX vxSetGraphScheduleConfig
vxSetGraphScheduleConfig 完成
vxVerifyGraph 完成
禁用定标器
xxx TIvxExportGraphToDot
[MCU2_0] 7844.885493 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_QUERY
[MCU2_0] 7844.885555 s:收到的 GW_OV10635_UYVY 查询
[MCU2_0] 7844.885591 s:### createPrms pixel_container:1498831189
[MCU2_0] 7844.885762 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_PWRON
[MCU2_0] 7844.885805 s:IM_SENSOR_CMD_PWRON:CHANGE_MASK = 0x1
[MCU2_0] 7844.885919 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_CONFIG
[MCU2_0] 7844.885960 s:应用请求的特性= 0x100
[MCU2_0]
[MCU2_0] 7844.885991 s:sensorBroadcast = 0 @@@@
[MCU2_0] 7844.886012 s:IM_SENSOR_CMD_CONFIG 返回状态= 0
App_create_graph 退出
APP_CREATE _graph
APP_RUN_graph_interactive
===================================
演示:单摄像头,带2A
===================================
P:打印性能统计数据
S:将传感器原始图像、VISS 输出图像和 H3A 输出图像保存到文件系统
E:出口业绩统计
U:从文件系统更新 DCC
X:退出
输入选项:
不支持的命令
===================================
演示:单摄像头,带2A
===================================
P:打印性能统计数据
S:将传感器原始图像、VISS 输出图像和 H3A 输出图像保存到文件系统
E:出口业绩统计
U:从文件系统更新 DCC
X:退出
输入选项: 7844.911112 s:ISS:正在启动传感器[GW_OV10635_UYVY]... !!!
[MCU2_0] 7844.911186 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_STREAME_ON
[MCU2_0] 7844.911288 s:IM_SENSOR_CMD_STREAME_ON: CHANGE_MASK = 0x1
[MCU2_0] 7844.911327 s:#sensorBroadcast=0
[MCU2_0] 7844.911353 s:UB960配置启动
[MCU2_0] 7844.912365:UB960配置结束
7844.913446 s:ISS:正在启动传感器[GW_OV10635_UYVY]... !!!
[MCU2_0] 7844.912522 s:###将端口0设置为锁定##、STATUS=0
[MCU2_0] 7844.912700 s:###pageSelectOriging 13,STATUS:0 ##
[MCU2_0] 7844.913282 s:### LINE_COUNT_73:2
[MCU2_0] 7844.913314 s: LINE_COUNT_74:d0
[MCU2_0] 7844.913337 s: LINE_Len_75:A
[MCU2_0] 7844.913359 s: LINE_Len_76:0
[MCU2_0] 7844.913378 s: ##
[MCU2_0] 7844.913788 s: vx_zone_warning:[tivxCaptureSetTimeout:772] capture:warning:error frame not provided using tivxCaptureRegisterErrorFrame、defaulting to Forever!!
不支持的命令
===================================
演示:单摄像头,带2A
===================================
P:打印性能统计数据
S:将传感器原始图像、VISS 输出图像和 H3A 输出图像保存到文件系统
E:出口业绩统计
U:从文件系统更新 DCC
X:退出
输入选项:s
YUV 文件名/mnt/opt/vision_apps/test_data/cap_0000.yuv
imgaddr_width = 1280
imgaddr_height = 720
imgaddr_STRIDE = 2560
宽度= 1280
高度= 720
写入1843200字节
1843200字节写入/mnt/opt/vision_apps/test_data/cap_0000.yuv
6保存的 YUV 数据 显示为红色并伴有随机噪声。
7电路板连接视图
(1) j721evm+964 +摄像头
(2) j721emv 顶视图
(3) U964顶部