唐洁媛(广东岭南职业技术学院广东广州510663)视频图像信息的采集和处理在人们的日常生活以及现代工业生产中占有极其重要的地位。早期的光电视频成像系统是真空摄像管成像系统。目前,主要有CCD和CMOS两种视频图像传感器。CCD传感器虽然可获得高的图像质量,但存在着功耗高、体积大、生产成本高、不易与CMOS技术集成在同一芯片中等缺点。而CMOS传感器集成度高、功耗小、生产成本低,容易与其他芯片整合。CMOS芯片几乎可以将整个图像
唐洁媛
(广东岭南职业技术学院 广东广州 510663)
视频图像信息的采集和处理在人们的日常生活以及现代工业生产中占有极其重要的地位。早期的光电视频成像系统是真空摄像管成像系统。目前,主要有CCD和CMOS两种视频图像传感器。CCD传感器虽然可获得高的图像质量,但存在着功耗高、体积大、生产成本高、不易与CMOS技术集成在同一芯片中等缺点。而CMOS传感器集成度高、功耗小、生产成本低,容易与其他芯片整合。CMOS芯片几乎可以将整个图像系统,包括传感器阵列、时序逻辑、可编程控制功能和A/D转换器集成到一块芯片上,促进了微型视频图像成像系统的发展。OV7620单芯片CMOS图像传感器是33万像素视频/图像摄像器件,在单个芯片中高度集成了全部摄像功能。多媒体微处理器SPCE3200以凌阳公司开发的S+core7为内核,内置MPEG 4/JPEG硬件编解码模块及多种多媒体功能模块。SPCE3200内置的CMOS传感器接口(CSI)可以方便地与COMS传感器进行连接,并在内部控制器的控制下接收COMS传感器发出的时钟和数据,将影像数据传送到DRAM中。由于图像文件数据量大,占用较大空间,故可利用SPCE3200内置MPEG 4/JPEG硬件编解码模块对图像文件进行压缩编码,然后保存在FLASH中。下面将详细讨论如何利用多媒体微处理器SPCE3200的CMOS传感器接口单元CSI对CMOS图像传感器OV7620所获得的图像信息进行采集和处理。
1 系统组成
该图像采集系统的结构如图1所示。由于图像传感器OV7620将传感器阵列、时序发生器、控制器、图像数据处理芯片等集成到1块芯片上,故可以直接与处理器SPCE3200的CSI控制器接口相连接。由图1可以看出,镜头将场景成像于OV7620中的传感器阵列(光电二极管),该传感器阵列将光信号转换为电信号放大后传给图像处理芯片进行信号处理,图像传感器OV7620在像素时钟、场同步信号与行同步信号的控制下将处理后的数字图像信号传送给SPCE3200处理器的SCI控制器,然后存储在缓冲器DRAM中。在图像 信号传送前,SPCE3200通过I2C控制器对OV7620中的控制寄存器的相关参数进行设置。SPCE3200内置MPEG 4/JPEG硬件编解码模块将缓存器中的图像数据进行压缩编码后通过NAND FLASH控制器保存在外部的FLASH中。
OV7620为美国OmniVision公司开发的CMOS图像传感器,该芯片中高度集成了全部摄像功能。它采用664×492感光阵列,能够在该分辨率下以高达60帧/s的速度捕捉图像,采用先进的算法来消除固定图案噪声,大大减少拖尾和闪烁。所有摄像功能,包括曝光控制、珈玛校正、增益控制、白平衡、颜色矩阵、开窗口等等都可以通过SCCB接口编程。其性能特点为:
(1)48个引脚,两组8位数据输出端口(Y0~Y7,UV0~UV7);
(2)扫描方式:隔行/逐行;
(3)靶面尺寸:1/3in,4.68 mm×3.64 mm;
(4)像素数目:664×492;
(5)像素尺寸:7.6×7.6μm;
(6)双通道10位A/D转换,8/10位输出;
(7)数字输出格式为:16位/8位YcrCb4:2:2,RGB原始数据;
(8)支持外部场同步输出;
(9)支持外部单片机和存储器接口。
其内部结构如图2所示。视频时序发生器主要负责像素阵列控制、帧的产生、内部时钟信号产生和分配、帧率时序、自动曝光控制、外部时序输出。模拟信号处理模块主要负责自动增益控制、自动白平衡、图像质量控制。多媒体微处理器SPCE3200以凌阳公司开发的S+core7为内核,内置MPEG 4/JPEG硬件编解码模块,及多种多媒体功能模块。S+core7内核采用凌阳指令集架构(Sunplus ISA)的32位RISC处理器,该内核支持32位/16位混合指令模式以及并行条件执行。S+core7内核采用了AMBA总线,为SoC集成扩展协处理器和用户接口提供了灵活性。
SPCE3200内置的CMOS传感器接口(CSI)可方便地与CMOS传感器连接,并在内部控制器的控制下接收CMOS传感器发出的时钟和数据,并将图像数据传送到DRAM中。其他所有与显示有关的模块,如TV,LCD或JPEG模块均可以访问到该数据并输出此数据进行显示,或将其与其他数据混合而产生显示数据。SPCE3200的CSI模块的结构如图3所示。SPCE3200的CSI模块在时钟脉冲的触发下将CMOS传感器所捕获的图像信息数据传送到数据处理单元,进行数据的接收、处理、然后将处理后的数据传送到指定的BUFFER中。
2 硬件电路
OV7620与SPCE3200的硬件连接如图4所示,OV7620的Y通道端口与SPCE3200的CSI数据端口相连接,而OV7620的像素时钟、场同步信号、水平同步信号,分别通过端口PCK,VSYNC,HREF传人SPCE3200的CSI_CKI,CSI_VS,CSI_HS端口,SPCE3200在该同步信号的帮助下将图像数据出入相应的缓存区。OV7620具有1个标准的I2C总线接口,通过该接口能控制OV7620的各种工作状态、工作方式、数据输出格式和读取内部状态信息。但通过该端口控制OV7620时,端口SBB必须接高电平。SPCE3200也有一个标准的硬件I2C,可以方便地与带有I2C总线的芯片通信。故可以将OV7620的SIC_0与SIC_1端口与SPCE3200的I2C DATA和I2C_CLK端口相连接,通过SPCE3200控制OV7620工作状态、工作方式、数据输出格式等。I2C_CLK输出时钟信号,I2CDATA在时钟信号的触发下将控制命令传输给OV7620。当SPCE3200作为I2C总线的主机时,在SPCE3200的I2C CLK和I2C DATA接人总线时需要各自接一个1~10 kΩ的上拉电阻。SPCE3200内置MPEG 4/JPEG硬件编解码模块将缓冲区内的数据进行压缩编码,再利用内置NAND FLASH控制器将压缩后的数据保存在外部的FLASH中。
图5为SPCE3200的NAND FLASH控制器端口与外部FLASH的连接图。由图可以看出FLASH的8位I/O端口与SPCE3200的NF_D端口相连接,用于命令、地址、数据的传输。FLASH的读忙端口R/B与SPCE3200的就绪输入端口NF_RDY相连,该端口输出低电平时表明某个写入、擦除或随机读操作正在进行,当这个操作完成后,输出高电平状态,通知SPCE3200准备下一次读写操作。FLASH的读使能端口RE与SPCE3200的NF_REN端口相连接,低电平有效。FLASH的芯片使能端口CE与SPCE3200的芯片片选端口NF_EN相连接,低电平有效。FLASH的命令锁存控制端口CLE与SPCE3200的端口NFCLE相连接,当CLE为高时,I/O口在WE信号的上升沿将指令锁存至指令寄存器。FLASH的地址锁存控制端口ALE与SPCE3200的端口NF_ALE相连接,当ALE为高时,I/O口在WE信号的上升沿将地址锁存至指令寄存器。FLASH的写使能端口WE与SPCE3200的端口NF、WEN相连接,指令、地址和数据都会在写使能WE的上升沿被锁存。FLASH的写保护端口WP与SPCE3200的端口NF_WP相连接,该端口提供在电源波动情况下,对器件不可预料的写入或擦除写保护。
3 程序设计
主要是通过软件对SPCE3200相应端口控制器以及OV7620相关寄存器的参数进行设置。当设置完成后,SPCE3200的CSI控制器会在OV7620提供的帧同步信号、水平同步信号以及像素时钟的作用下自动采集Y0~Y7传过来的彩色图像数据,并保存在DRAM中。当一帧图像数据传输完毕后会触发中断,SPCE3200内置MPEG 4/JPEG硬件编解码模块将该帧图像数据压缩编码后存入FLASH中。然后修改图像缓冲区起始地址、参考图像缓冲区起始地址以及VLC数据缓冲区起始地址,然后返回主程序采集下一帧图像数据。图6为主程序流程图。
CSI控制器的初始化主要包括模块时钟的使能、像素时钟的选择,帧缓冲区起始地址的设置,CSI输入数据和输出数据格式的选择、扫描方式选择、帧频选择,分辨率选择等。下面给出CSI控制器初始化的程序:
SPCE3200通过内置的硬件I2C控制器方便的控制OV7620工作状态、工作方式、数据输出格式等。I2C_CLK输出时钟信号,I2C_DATA在时钟信号的触发下将控制命令传输给OV7620。当时钟信号处于高电平时,数据写入OV7620的控制寄存器。I2C控制器初始化程序如下:
MPEG_4/JEGP编解码模块的初始化主要包括该模块工作时钟的使能、合适工作频率的设置,设定原图像缓冲区、VLC编码数据缓冲区、参考图像缓冲区的起始地址以及缓冲区的选择,对图像大小以及原图像缓冲区宽度的设置,设置编码图像的帧数,启动量化器功能并设置量化后小数点的处理方式,调节量化幅度的大小,开启MPEG引擎内部SRAM,选择编码方式。
OV7620初始化主要包括OV7620内部控制寄存器的参数设置,设定像素时钟频率、输入数据格式、输出数据格式等进行设置,下面给出CSI控制器初始化程序。其中I2C_write8()函数的功能为将数据写入OV7620的控制寄存器,括号中前面的参数表示寄存器的编号,后者表示写入的数值。
4 结语
常规的图像采集系统存在较多弊端,如设备体积,费用高、耗电量大、结构复杂等。本文介绍了一种新的图像采集系统,结构简单、耗电量低、使用方便。该系统利用凌阳公司最近刚推出的嵌入式32位多媒体微处理器SPCE3200作为主控制器。该处理器以凌阳公司开发的S+core7为内核,内置MPEG 4/JPEG硬件编解码模块以及多种多媒体功能的模块,如CMOS图像传感器接口模块(CSI),LCD控制器模块,TV编码模块、2通道16位高速D/A转换器等。故可直接对传感器采集的图像信息进行编码或格式转换,便于图像信息的存储或通过TV,LCD显示。该系统采用的图像采集芯片为OmniVision公司生产的、型号为OV7620的CMOS传感器,该芯片高度集成了全部摄像功能,接上镜头可直接使用。由于SPCE3200含有CMOS图像传感器接口模块可直接与OV7620相连接,且SPCE3200还含有NAND FLASH控制器接口,可直接与FLASH相连接,故硬件电路十分简单。再加上OV7620工作电压只有5 V、电流20 mA、体积小,该系统在省电和体积上有很大优势,可用于微型摄像系统的开发研究。