双CMOS图像传感器的抗汽车晕光图像采集系统设计

发布时间:2010-08-03
分享到
副标题#e#

      1 引言  

       机动车在夜间行车会车时,对面汽车车灯的强光会对驾驶员产生视觉盲区,从而引发严重的交通事故。为了彻底消除这种由于产生的交通隐患 。    
       本文提出一种基于DSP和图像处理技术的抗晕光系统解决方案来解除夜间行车眩光。目前获取图像主要采用CCD和,其中。 CMOS图像传感器具有功耗小、成本低、单一电源驱动、使用寿命长、易于片上系统集成等特点,适用于抗晕光图像采集系统。本文提出抗晕光图像采集系统采用 OmniVision公司推出的CMOS彩色图像传感器OV7620代替传统CCD图像传感器,该传感器可由软件编程控制,能直接输出数字图像信息,而且大大降低系统设计难度,减小系统体积,提高了系统设计的灵活性和稳定性。

       2 系统硬件设计  

       本抗晕光图像采集系统是由图像采集和图像处理组成。其中,图像采集部分由两路OV7620图像传感器实现;图像处理则由TMS320C6414实现。EPM3128通过编程设置输出每个存储器地址。其系统框图如图1所示。

系统框图

       2.1 图像采集部分  

       在抗晕光图像采集系统中,TMS320C6414通过通用GPIO端口模拟I2C总线,设置OV7620的内部寄存器参数.使其完成相应功能。 OV7620可提供00H~7CH共125个寄存器,用于控制传感器,可设置传感器的快门方式、积分时间、A/D转换器工作特性、伽马校正和开窗口位置、输出数据格式、帧频、像素时钟等参数。其中,直接影响像元积分时间的寄存器为曝光量控制寄存器、时钟预分频器寄存器和帧频调整寄存器。OV7620通常默认为I2C总线上的主器件,可将寄存器29的第6位置1,将其改为I2C总线的从器件,因此,I2C总线的主器件TMS320C6414可对0V7620 写操作。

       当TMS320C6414的引脚SBB为低电平,才能完成I2C总线初始化,此时OV7620作为从器件,支持400 Kbit/s的7位地址数据传输协议。将OV7620内部寄存器28的第5位置1即为逐行扫描方式;寄存器13、14的第5位置0即16位的 YUV422-640x480像素的数字图像数据(高8位为亮度信号,低8位为色度信号);输出设置25帧/s。OV7620的视频时序电路产生行同步、场同步、混合视频同步等同步信号和像素时钟等内部时钟信号,EPM3128根据这些同步信号确定图像的读写操作以及相关处理。本系统采用单帧图像数据输出处理方式。

       EPM3128通过I/O端口将IS6lLV51216的引脚CE、WE、LB、UB置为低电平,OV7620则将16位图像数据输入至 IS6lLV51216。OV7620的内部控制位SRAM信号为高电平表示处于外部RAM状态,此时所有的数据总线变为三态并准备发送数据。 OV7620向外部SRAM输出单帧图像数据的时序图如图2所示。

输出单帧图像数据的时序图

       首先判断传感器的内部控制位SRAM,当SRAM为高时OV7620进入外部RAM,接着通过EPM3128发送初始化脉冲至AGCFN来获得一帧数据。但由图2看出移出的数据并不完全是有效图像数据,有效图像数据是由HREF(水平参考输出)、VSYNC(场同步信号)共同确定。因此需判断VSYNC是否为1且HREF上升沿是否到来。如果是上升沿则表明传感器开始输出有效数据。当HRFF=l时,像素时钟PCLK计数,并把计数值传输至外部SRAM的地址总线,同时将OV7620输出的图像数据DATA传输给SRAM的数据总线,对外部SRAM写操作;当HRFF=O时,计数暂停。OV7620发送完一帧数据后VSYNC=0,因此,可通过判断VSYNC是否为O来停止计数器计数并结束图像采集。

#p#副标题#e#

       2.2 图像处理部分 

       TMS320C6414是TI公司推出的一款高性能数字处理器,具有强大的硬件结构和软件系统,可适用于抗晕光系统。TMS320C6414的 L2容量为l024KB,通过cache配置寄存器(CCFG)的L2MODE字段把L2配置为第5种模式,即把片内SRAM设置为768 KB。TMS320C6414经EMIFA端口,以EDMA方式将图像数据同步读入内部SRAM。增强型直接存储器访问(EDMA)用于实时图像数字信号处理,可在CPU后台完成存储空间中的数据转移,把外部存储器中的图像数字信息快速、高效地传输到DSP内部SRAM中。设置EER控制寄存器的EVT4 位为l,即采用EDMA的第4通道(EDMA4)采集图像数据。该通道配置为32位传输方式,每次中断搬移一帧图像数据存入内部SRAM。

       为了同步采样,第一路OV7620的SRAMl和VSYNCl可通过与非门控制两路OV7620同步采样并分别存储到各自连接的IS6lLV51216 中;VSYNCl下降沿标志OV7620一帧图像数据输出结束,VSYNCl经反向器接至TMS320C6414的AF5引脚触发EDMA4中断,并同时读取IS6lLV51216中存储的图像数据。CPU采用阈值化分割算法来处理图像信息。在TMS320C6414控制下同步进行图像信息的传输和处理,完全满足系统的实时要求。TMS320C6414外接40 MHz的晶体振荡器,CLOKMODE[l:0]设置为10,使其内部频率高达480 MHz。DSP通过I/O端口检测OV7620的同步信号VSYNC、CHSYNC以及像素时钟PCLK,保证DSP能够准确读取OV7620输出的数字图像数据。在同步信号和像素时钟的干预下保存采集的数字图像数据,保证传输数字图像的完整性。图3所示为第一路图像采集系统硬件电路图。

第一路图像采集系统硬件电路图

       3 系统软件设计  

        在CCS(Code Composer Studio)编译环境下,采用C语言和线性汇编进行编程。计算机通过JTAG接口把编译成功的系统程序写到外部Flash中,使软件在硬件平台上高速、稳定、可靠运行。系统软件设计流程如图4所示。

系统软件设计流程

      TMS320C6414采用阈值化分割算法,即把第一路OV7620的曝光时间设定为1/50 s,将采集到的图像信息存储到存储器1中(通过EPM3128设置存储器l的地址最高位为0,即为0XXXXXXXXXXXXXXXXX);把第二路 OV7620的曝光时间设定为l/l 000 s,把采集到的图像信息存储到存储器2中(通过EPM3128设置存储器2地址的最高位为1,即为lXXXXXXXXXXXXXXXXXX)。两路 OV7620在TMS320C6414控制下同步采样同一景物,并设置亮度阈值为245。

       TMS320C6414从存储器l中依次读取每一个存储单元的数值并判断其亮度值。如果该像素点的亮度值小于245,无晕光,则把该像素值和地址值暂存到 DSP内部的SRAM中;如果该像素点的亮度值大于或等于245,并有晕光产生,则丢弃该存储单元数据,而从存储器2对应地址 (0XXXXXXXXXXXXXXXXX换成lXXXXXXXXXXXXXXXXX)单元中读取像素值和地址值。存储完一行像素后。判断所有像素地址的起始位是否为l。若起始位为l,说明有晕光产生。此时取该像素值以及前后各3个像素值,共7个像素值求平均值,把平均值代替该像素值,直到该行像素处理完后输出;若起始位不为l,说明无晕光产生,直接输出像素值。若晕光在一帧图像的开头或者结尾产生,则只取符合条件的像素值求平均值。该算法可以根据具体采样的不同信息自由设置阈值大小,求平均值像素的总数,具有良好的灵活性。  

#p#副标题#e#

       采用索尼DCR—DVD808E数码摄像机及Plink数据采集卡,通过PC机采集单幅静止图像。第一次实验,相机曝光时间设定l/50 s的采集图像,汽车车灯亮度较强,产生晕光,所以无法分辨车灯外部轮廓以及车牌号,而光线相对较暗的远处人群可以看见;第二次试验,相机曝光时间调整为 1/1 000 s的采集图像,亮度较强的车灯外部轮廓 以及车牌号均可见,而远处人根本看不见。利用MATLAB对两幅图像进行阈值化分割算法仿真,阈值设为245,经过处理后的整体图像比较清晰达到预期效果。图5所示为MATLAB仿真图。

MATLAB仿真图

       4 结语  

       抗晕光采集系统在交通安全方面彻底消除汽车行车时产生的晕光,大大减少交通事故的发生,从而保障人民生命财产安全。而在工业电弧焊机焊接方面,该系统不但可以保护操作人员的身体健康,而且还大大提高焊接质量。因此,抗晕光采集系统的研究具有重要的实用价值。

 

收藏
赞一下
0