ov6620详细操作说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Whut_wj 的小店:/
专门提供摄像头 系统板 BDM 芯片
OV6620 的使用说明
(V1.1)
今年的比赛虽然光电的算法做得很好,速度有很好地提升,但是代价也是相当大的.不少组 队在提高光电功率以增大有效检测距离和提高光电抗干扰性能上付出巨大的努力.但目前流 行的检测方法已以伸展到光电和摄像头信息融合的层次了.而不少队伍用光电和摄像头配合 主要是为了完成起始线检测,主要是因为单独用模拟摄像头的检测成功率较低。而用 OV6620 必定可以解决这一问题。 摄像头的优势是信息量大,前瞻性好,对极限速度的提高必须用好摄像头,这一点是毋 庸置疑的。第一步是图像采集,第二步是图像处理。但最有难度的是图像处理,包括图像去 噪,图像二值化,黑线提取以及寻迹算法。 图像去噪一般用时域里的处理方法或者形态学处取方法, 前者可用窗模板去野点, 后者 可以膨胀处理。由于数字摄像头取点多(24MBUSCLK 下每行可取 150 个点) ,为了提高程 序的效率,可以先从大模板查有无噪声。图像二值化现在越来越需要自适应选阈值的方法, 常规的自适应方法有双峰去,熵最大化法,阈值迭代法。这是最最常用的三种方法,一些基 本的图像处理的文章都有写到。不过,这里推荐用双峰法或边缘检测法(检测灰度跳变) , 因为它们的计算量相对较小, 而且改进之后的跟踪边缘检测法效率更高。 黑线提取以及寻迹 算法目前也有两种思路,一是直接算黑线离中心的偏移量,二是寻黑线的一些参数,如曲率 半径,弧线长等等。 没有特定的结果公式证明上述方法哪个好哪个不好,实践和调试最重要的。 好了,直入正题,直接说说 OV6620 的一些特点和运用的技巧,希望读者看完之后对 OV6620 有所了解,可以直接上手用。
一、 介绍一下数字摄像头 OV6620 的特征
1)、OV6620 需要稳定的 5V 电压供电,和系统板上的供电电源兼容。 2)、NAL制,每秒25帧,一帧两场,那么每秒就有50场。意味着20MS就有一幅图像产生。 356x 292 pixels,理解为:有292行,一行有356个点。 3)、视野和可视距离:这个和镜头的选择有关,据我测试,f=3.6MM 时视野应该有 25 度左 右,f 越大视场越小.可视距离需要调节镜头对焦.经我测试可视距离可以看十几米,毕竟相 素值只有 10 万多,用单片机读可以看到 3-4M 的距离.这里解释一下为什么用单片机读会 打折扣.因为黑线宽度只有 2.5CM,太远了黑线会很细,采点之后就分辩不出是噪声还是 有用信号了.在 1 米左右时,黑线宽度可用 8 个点表示. 注:以上数据均是 24MBUSCLK 下每行可取 150 个点时测得,没有翻转摄像头. 4)、内部有 IIC 可编程.可以调整摄像头的参数,比如最大灰度,对比度,暴光率控制等等.其本 质是 SCCB 协议的寄存器写入,需要对摄像头做跳线处理,并用 MCU 的 I/O 口模拟 SCCB 协议. 注:SCCB 协议视作 IIC 协议,有些细微的差别.对 IIC 的写入,本文后面稍加说明. 5)、数据格式-YCrCb 4:2:2, GRB 4:2:2, RGB; 电子曝光/ 增益/白平衡控制;内部自动图像 增强,亮度, 对比度, 伽马, 饱和度, 锐度, 加窗等.最重要的是,不需 AD,不需 1881。当然 玩一下他的模拟输出一可以,VTO 管脚就可以当普通模拟摄像头用.
二、 OV6620 和普通摄像头的对比
模拟的优势比较地明显:便宜,程序有现成的。缺点:消耗 MCU 资源,功耗大,取点
Whut_wj 的小店:/
专门提供摄像头 系统板 BDM 芯片
个数少,需要做 12V 的供电模块(最近有队伍说把摄像头上的 5V 稳压芯片取下来飞飞线 就可以直接用 5V 供电) ,外围处理电路多,还要 1881。 数字的优点就是避免了模拟的缺点。 行场同步中断信号有现成的, 而且消隐区也十分有 规律。可以用示波器对比一下模拟的和数字的,数字的信号非常漂亮,非常稳定。这对于图 像采集来说是十分有利的。
三、 OV6620 的管脚说明及操关键
。 PIN1-PIN8 灰度信号输出接口 Y0-Y7 PIN11 SCCB 数据接口 SDA PIN12 奇偶场同步信号 FODD PIN13 SCCB 数据时钟 SCL PIN14 行中断信号 HREF PIN16 场中断信号 VSYN PIN18 像素同步信号 PCLK(也叫 TCLK) PIN32 模拟信号输出接口 VTO 这里仅说明可能需要用到的管脚,模拟摄像头无非也就这几个信号,重要的是,模拟摄像头 的信号线需要分离,这当然会给图像的采集带来本可以避免的干扰。
四、 OV6620 的图像采集
我最不能忍受的是模拟的图像采集之后的分辩率.真的还不如在光电前加个老花镜.数字 摄像头相对来说贵一些,他内部的信号处理比较复杂,接口也较多,一般是彩色的 YUV 信号,只 取 Y 的亮度信号,所以用起来略有浪费. 附上测的数字 OV6620 的时序图,我发现它的 DS 上表示有些不明确,就自己画了一个.而 实际上,图像采集的这块最关键的也是时序的把握了.另外,中断的优先级一定要保证,要不然 系统一运行起来,图像采到一半就丢了. 先看 DS 上的时序图:
Whut_wj 的小店:/
专门提供摄像头 系统板 BDM 芯片
如果这个图还不明白的话看下面的这个图:
如果这个图还不明白的话看下面的说明: 1、在采集时乎略 TCLK,首先是因为它太快了,捕捉不到,另外也没有必要捕捉到它。 采集图像时尽快地一个点一个点的取就行了,和模拟摄像头一样。 2、VYNSC 是判断是否一幅图像开始,周期是 20mS, 其中高电平持续时间很短,忽略; HREF 是判断是否一行图像的开始,周期是 63us 左右,其中高电平持续时间为 40US,低电 平持续时间 23US, 那么可以算一下一场有多少行: 20ms/63us=317,当然实际上没有这么多, 消隐和无效信号去掉之后只有 292 行。 3、必须明确:场中断要通过下降沿捕捉,行中断要通过上升沿捕捉。若用 IRQ 捕捉行 中断必须加反相器。 4、有效的灰度数据是在行中断之后的上升沿内,所以不要在行中断后的 23US 后采集, 那是废数据。计算一下一行 OV6620 有多少个点: 40us/110ns=363, 消隐和无效信号去掉之后只有 356 个点。 图上若有表述不清楚可通过示波器观察。 至于程序,现在可以找到的是伪代码。