原创 OV7620 OV6620等CMOS摄像头图像采集的方法

2009-5-12 21:02 10060 10 11 分类: MCU/ 嵌入式



本文由九九原创,发表于《电子技术应用》2008年第9期,版权归作者与出版社所有,转载请务必注明作者出处,谢谢

http://shop35388432.taobao.com
九九小铺,供应:
MC9S12DG128、DG256、DT256、DP512、NE64等芯片
供应特价45元一只CCD黑白摄像头,适合智能车和图像采集处理,提供图像采集技术支持
智能车专用光电管:检测距离可达40-50CM!
供应8/16/32位通用Freescale
BDM仿真器,Mini外形,低价优质。




基于S12单片机的循迹小车视觉系统设计与优化



时间:2009-03-11 12:40:54 来源:电子技术应用 作者:刘大川, 汪小澄





国大学生智能汽车竞赛已经在国内顺利举行两年。随着智能车速度的提高,越来越多的参赛队开始采用摄像头作为道路辨识的主要传感器,而如何使用单片机进行数
字图像信号采集,并识别赛道路径是该系统的设计重点。目前图像采集与处理技术已经得到了广泛的应用,但多数基于图像的控制系统都采用了DSP等高速处理
器,并不适合智能车竞赛所规定使用的单片机平台。本文利用CMOS图像传感器的可编程特性,设计了适用于中低速单片机的基于FIFO的数字图像采集处理系
统,用MC9S12DG128单片机进行实时图像采集和控制。该系统结构简洁、成本低廉、通用性强,可方便地移植到各种类型的处理器。



1 主要芯片



   
MC9S12DG128是Freescale公司出品的16位单片机,其采用增强型16位HCS12
CPU,内部总线时钟最高可达25MHz;片内资源包括8KB RAM、128KB Flash、2KB
EEPROM、8路10位A/D转换器、SCI、IIC、SPI串行通讯模块、PWM模块以及多路CAN总线模块等。同时它支持Freescale特有的
背景调试模式(BDM),可以进行在系统调试,使开发效率大大提高。



   
OV7620[1]是美国OmniVision公司出品的彩色/黑白CMOS图像传感器。这是一种自带图像敏感阵列和A/D转换元件、能直接提供8/16
位CCIR601、CCIR656等格式视频数字信号的彩色/黑白图像传感器,图像输出最高速度可达60S/s,最大图像分辨率为644×492,5V供
电;它具有自动增益、自动曝光、自动白平衡、边缘增强、伽玛校正等控制功能;可以通过I 2
C总线进行设置;同时OV7620具有图像开窗输出的功能,即允许用户可根据实际使用需要设置其内部寄存器,使其只输出完整图像中的任意一矩形区域内的信
号,其范围从4×2到644×492。这种功能从硬件上屏蔽了图像中不需要的部分,只保留用户需要的部分图像,大大减少了图像的数据量,提高了系统的效
率。



   
FIFO存储器没有地址线,按照先入先出的顺序进行顺序读写,因此是接口电路十分简洁,读写速度快,允许读写动作同时进行。IDT7205是IDT公司生
产的高速、低功耗异步FIFO,容量为8
192×9bit,存取时间最小只有12ns,有空、半满、满三个标志位,最大功耗660mW,工作电压+5V;D0~D8为数据输入总线,Q0~Q8为
数据输出总线,为读写控制端,分别在信号下降沿锁存、输出数据,是FIFO写满标志位,此外,IDT公司还提供256B~64KB不同容量的FIFO可供
选择。



2 系统硬件结构设计



   
由于所使用的MC9S12DG128单片机的频率较低,最高只有25MHz,而摄像头的图像输出速率一般至少有13.5MHz(以30万像素为例),每个
像素的信号保持时间不到75ns,若使用单片机直接采集图像传感器输出的数字信号,则会受到其时钟频率的影响,难以将信号完整地采集进系统。



    因此本系统使用FIFO芯片IDT7205作为图像传感器与单片机之间的数据缓存,通过设计一定的逻辑电路,使图像传感器自动地将图像数据写入FIFO,同时MCU开始从FIFO读出数据。图像采集系统结构框图如图1所示。






2.1 摄像头同步信号分析



   
OV7620的同步信号时序如下:垂直同步信号VSYN为两个正脉冲之间扫描一帧的定时,即完整的一帧图像在两个正脉冲之间;水平同步信号HREF扫描该
帧图像中各行像素的定时,即高电平时为扫描一行像素的有效时间;像素同步信号PCLK为读取有效像素值提供同步信号,高电平时输出有效图像数据,若当前图
像窗口大小为320×240,则在VSYN两个正脉冲之间有240个HREF的正脉冲,即240行;在每个HREF正脉冲期间有320个PCLK正脉冲,
即每行320个像素。这就是VSYN、HREF、PCLK三个同步信号之间的关系[2]。OV7620同步信号时序如图2所示。






2.2 数字图像信号的采集



   
为了将图像传感器输出的图像信号自动地存入FIFO,只需要通过一个“与非门”就能产生符合FIFO要求的写时钟脉冲,如图3所示。将帧同步信号VSYN
引入单片机输入口,复位后V_EN置0,“与非门”关闭,输出1。当单片机检测到VSYN上跳后,V_EN输出1,打开“与非门”。当摄像头输出有效像素
时,HREF为高,PCLK高电平时像素数据有效,三者“与非”后输出为0,使信号产生一个下跳,触发FIFO锁存OV7620输出的图像数据。






经过图3电路处理后的系统时序如图4所示。写信号已符合脚的时序要求,经实际使用,功能正常。






 当一帧图像写入FIFO后,单片机根据时序要求在FIFO的脚上产生相应脉冲,即可从FIFO中读出图像数据,按照一定格式存入内存,进行后续处理。图5为采集得到的黑线图像。




3 单片机图像采集系统的优化



    虽然单片机通过一定的硬件结构等可以实现图像信号的采集,但是由于内部结构的原因,其进行大数据量运算的能力有限,进行图像处理速度较慢。通过以下方法进行优化,可以使单片机进行一些简单的图像处理和实时控制任务。



3.1 减小图像数据量



   
CMOS图像传感器具有图像开窗输出(Windowing)的功能,通过设置其内部相应寄存器,可以使CMOS只输出特定区域内的图像数据。如设置
CMOS使其只输出画面中用户所关心部分的图像信号,图像数据量则可大大减少,同时也减轻了后期进行图像处理的难度,提高了系统的性能。



    在要求图像精度不高的情况下,为了进一步降低图像数据量、减轻单片机负担,可以采取隔行、隔像素采集的方法,即在PCLK和HREF信号上加入计数电路,每隔N行和M个像素采集一次,这样在保证图像可用的情况下数据量可减小为原来的1/(N×M)。



3.2 FIFO异步读写图像数据



   
IDT7205具有两套独立的读写指针,可以同时进行读和写操作而互不干扰。当图像输出速度比单片机读入速度快许多时,为了提高采集效率,可以让图像读写
同时进行,即当新的一帧图像开始写入FIFO后,单片机就开始读取图像数据,读写同时进行,以减少单片机等待数据写入FIFO完成的空闲时间。



3.3 优化程序算法



   
单片机并不适合完成复杂的图像处理算法,如卷积等运算。因此在编写图像处理算法时应根据单片机特性,尽量避免使用浮点运算,要简化算式,或者可以牺牲一定
精度来换取时间。以图像分割的大津算法(OTSU)为例,该算法遍历0~255个灰度值,以找出一个最小的灰度u,使得到的g最小。



    OTSU原始算式:g=Wa×(u0-u)2+Wb×(u1-u)2



    OTSU改进算式:g=Wa×Wb×(u0-u1)2



    使用原始算式和改进的等效算式进行计算时,每次迭代中改进算式比原始算式少进行2个乘法运算,其速度约提高1/3。


   
本文提出的基于FIFO和单片机的图像处理系统,结构十分简洁,成本低廉,可移植性强。虽然单片机并不十分适合于大数据量的图像处理任务,但通过优化和精
度与性能的折中,可以完成一些简单的基于图像的处理任务,并具有一定的实时性。本文介绍的采集系统被用在基于CMOS的智能循迹小车上,使用一片
MC9S12DG128单片机运行于24MHz的总线时钟并配合IDT7205、OV7620图像传感器实现了图像采集、处理和小车控制,取得了良好的效
果。

http://shop35388432.taobao.com
九九小铺,供应:
MC9S12DG128、DG256、DT256、DP512、NE64等芯片
供应特价45元一只CCD黑白摄像头,适合智能车和图像采集处理,提供图像采集技术支持
智能车专用光电管:检测距离可达40-50CM!
供应8/16/32位通用Freescale
BDM仿真器,Mini外形,低价优质。


文章评论1条评论)

登录后参与讨论

用户1588142 2011-12-24 18:20

不错!
相关推荐阅读
用户699237 2009-06-04 14:36
发布TBDML Plus用户手册和驱动包
九九的TBDML Plus已经于2009年5月1日正式发售在EDN和21IC上发布TBDML Plus用户使用手册和用户驱动包欢迎各位用户下载使用TBDML Plus用户包下载:https://sta...
用户699237 2009-05-30 16:39
低价供应Freescale飞思卡尔 BDM仿真器 调试器 兼容8/16/32位单片机
本店最新产品的飞思卡尔三合一BDM仿真器TBDML Plus支持S12 S08 ColdFireV1三种内核的仿真调试USB接口 最新JB16+12MHz晶振硬件 仿真速度是原BDM的2倍!超小体积 ...
用户699237 2009-05-20 15:12
隆重发布高速模拟视频解码模块(智能车可用)
关于智能车摄像头的选择,CCD以其高感光度、能在运动时获取较为清晰的图像而成为智能车摄像头的首选,这是一个趋势。详情请搜索《CCD与CMOS摄像头在智能车竞赛中的选择》  同时摄像头的前瞻越来越大,很...
用户699237 2009-05-15 16:45
智能车竞赛中CCD与CMOS摄像头的选择
https://static.assets-stash.eet-china.com/album/old-resources/2009/5/15/3cb54ae1-ee52-4f05-9629-86c2...
用户699237 2009-05-12 21:03
智能车上位机:串口图像显示程序
这是我很久以前写的程序功能很不完善如果要使用 请先把串口调整到COM1 不能在设置窗口中设置串口号 否则会出错同时连拍功能没有实现 嘿嘿 不好意思哦具体如何发送 在readme中有详细解释没空改程序了...
我要评论
1
10
关闭 站长推荐上一条 /2 下一条