分享

OMAP3530+ov3640,ISP、CCD寄存器设置?

 dwlinux 2014-04-05
OMAP3530+wince下,调试OV3640,图像花屏,而且只占屏幕的上部约1/4。
ov3640设置为640*480 YUV422模式,且该设置在S5PV210下验证了。
数据流:Sensor(YUV422)==>ISP==>CCDC==>Memory

我的ISP和CCD设置如下:
ISP_SYSCONFIG =0x1001
ISP_CTRL =0x9810c
TCTRL_CTRL =0x9
ISP_IRQ0ENABLE =0x0
CCDC_SYN_MODE =0x31700
CCDC_PCR =0x1
CCDC_HORZ_INFO =0x27f
CCDC_VERT_START =0x0
CCDC_VERT_LINES =0x1df
CCDC_CFG =0x8000
CCDC_HORZ_INFO =0x27f
CCDC_VERT_START =0x0
CCDC_HSIZE_OFF =0x500
CCDC_SDOFST =0x0
CCDC_SDR_ADDR =0x88868000
CCDC_VDINT =0x1df0000
CCDC_ALAW =0x4
CCDC_FMTCFG =0x4000
CCDC_FMT_HORZ =0x0
CCDC_FMT_VERT =0x0
CCDC_VP_OUT =0x0
RSZ_PCR =0x4
RSZ_CNT =0x3fcff
RSZ_OUT_SIZE =0x0
RSZ_IN_START =0x0
RSZ_IN_SIZE =0x0
RSZ_SDR_OUTADD =0x0
RSZ_SDR_OUTOFF =0x0
回复次数:8
sibling520
sibling520
sibling520
等级:Blank
#1 得分:0 回复于: 2012-05-08 09:13:26
还想问几个问题:
1. 从Camera过来的数据是YUV422(8根并行数据线),在3530里没有经过数据格式转换就保存到Memery里了,直接使用CameraDshowApp来测试的,不知道这里面有没有问题。需要转换成RGB565么?
2. 我看资料说YUV422格式时,一个像素占2个字节,我的数据格式是uyvyuyvy...,那么在寄存器——CCDC_SYN_MODE【13:12】INPMOD是设置成0x1: YCbCr data on 16 bits.还是0x2: YCbCr data on 8 bits.这两者有什么区别么?
hudaweikevin
hudaweikevin
David_Hu
等级:Blank
#2 得分:60 回复于: 2012-05-08 14:26:47
留个邮箱吧,我到时发个驱动给你,OV的
sibling520
sibling520
sibling520
等级:Blank
#3 得分:0 回复于: 2012-05-08 15:46:50
引用 1 楼  的回复:
还想问几个问题:
1. 从Camera过来的数据是YUV422(8根并行数据线),在3530里没有经过数据格式转换就保存到Memery里了,直接使用CameraDshowApp来测试的,不知道这里面有没有问题。需要转换成RGB565么?
2. 我看资料说YUV422格式时,一个像素占2个字节,我的数据格式是uyvyuyvy...,那么在寄存器——CCDC_SYN_MODE【13:12】INP……
兄弟,你太给力了!
不知你在6410或s5pv210下用过ov3640没有,在这两个平台下Camera过来的数据是YUV422,CAMIF通过寄存器CISCCTRLn.OutRGB_FMT把YUV转换成RGB565存在内存中,所以我有以上连个疑问!
上次你给我发了一个驱动,我现在就是在你给的这个驱动下改得。那个驱动虽然名字写的是OV3640,但是不能直接用,估计是OV其他的芯片的。不过非常感谢,解决我很大的问题,现在已经解决很多问题了,就处在攻坚阶段。
有什么资料给我邮件吧,十分感谢!我的邮箱依然是:persee2010@qq.com
hudaweikevin
hudaweikevin
David_Hu
等级:Blank
#4 得分:0 回复于: 2012-05-09 08:45:25
哦,上次发的就是给你啊,那好象是2640的吧,应该是寄存器的问题,这个玩意是需要时间的,一个不注意就遗漏点啥的,细心,不要放过每句话
sibling520
sibling520
sibling520
等级:Blank
#5 得分:0 回复于: 2012-05-09 08:52:57
哈,煎熬两个礼拜了,还在继续中
多谢提醒啊!
以后多交流啊
hudaweikevin
hudaweikevin
David_Hu
等级:Blank
#6 得分:0 回复于: 2012-05-09 08:53:51
我觉得你的数据过来是YUV的应该是不需要转换的,在刷屏的时候应该是可以自己转换的

你看sensorformats.h里定义的数据类型
cameraDrvPdd.cpp CCameraPdd::PDDInit这个函数定义好你想要的分辨率, camAPP在初始化的时候会去匹配这些个分辨率和数据类型的
liuyao550
liuyao550
liuyao550
等级:Blank
#7 得分:0 回复于: 2012-10-31 19:07:35
请问如果使用  3530+0v5640  的话,我想让摄像头模组ov5640 直接输出JPEG数据流到3530中,这样的话可不可以?我们使用的是Linux系统。
liuyao550
liuyao550
liuyao550
等级:Blank
#8 得分:0 回复于: 2012-10-31 19:19:29
请问如果使用 3530+0v5640 的话,我想让摄像头模组ov5640 直接输出JPEG数据流到3530中,这样的话可不可以?我们使用的是Linux系统。
引用 6 楼  的回复:
我觉得你的数据过来是YUV的应该是不需要转换的,在刷屏的时候应该是可以自己转换的

你看sensorformats.h里定义的数据类型
cameraDrvPdd.cpp CCameraPdd::PDDInit这个函数定义好你想要的分辨率, camAPP在初始化的时候会去匹配这些个分辨率和数据类型的

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多