引言
DSP是基于可编程超大规模集成电路和计算机技术发展起来的一门重要技术,DSP芯片的快速数据采集与处理功能以及片上集成的各种功能模块为DSP应用于各种场合提供了极大的方便。而CMOS图像传感器与CCD相比,DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。 CMOS图像传感器将以其低廉的价格、实用的图像质量、高集成度和相对较少的功耗在视频采集领域得到广泛的应用。为此,本文提出了一种基于DSP和CMOS图像传感器,同时由复杂可编程逻辑控制芯片CPLD控制的实时图像采集系统的实现方案。
1 硬件设计
图1所示是该图像采集系统的电路结构框图。由图1可见,该图像采集系统主要由OV6630图像传感芯片、CPLD控制模块、SRAM数据存储器、FLASH程序存储器、DSP信号处理器等几部分组成。该芯片将CMOS光感应核与外围支持电路集成在一起。由于其运用了专有的传感器技术,因而能够消除普通的光电干扰。该芯片的像素阵列为352×288,即101376像素,还有4行、4列可供选择。图像数据的输出有多种格式(YCrCb4:2:2,GRB4:2:2和RGB原始数据输出格式),本系统选用8通道Y输出RGB原始数据输出格式,以及逐行扫描的工作方式。其输出格式为:
奇数扫描行BGBG……
偶数扫描行GRGR……
据人眼对彩色响应带宽不高的大面积着色特点,每个象素没有必要同时输出3种颜色。因此,数据采样时,奇数扫描行的第1,2,3,4,…象素分别采样和输出B,G,B,G,…数据;偶数扫描行的第1,2,3,4,…象素分别采样和输出G,R,G,R,…数据。在实际处理时,每个象素的R,G,B信号由象素本身输出的某一种颜色信号和相邻象素输出的其他颜色信号构成。这种采样方式在基本不降低图像质量的同时,可以将采样频率降低60%以上。
系统中的核心处理芯片选用TI公司的加强型定点DSP芯片TMS320VC5410A,该DSP的工作频率可达160 MHz,内部有64KBRAM空间可以灵活的映射为数据或程序存储空间。由于DSP的内部存储空间有限。控制芯片CPLD选用Altera公司的MAX7000系列芯片EPM7128SLC84-15.该芯片包含84个I/O管脚、128个宏单元,每16个宏单元可组成一个逻辑阵列块,工作电压为5.0 V.该芯片在系统中处于总体时序控制地位,既用于给图像传感器芯片提供控制信号。也用于SRAM和FLASH的片选和读写控制,同时还负责LCD的显示控制。
2 软件设计
当系统配置完毕以后,便可以进行图像数据的采集与处理。在采集图像的过程中,最主要的工作是判别一帧图像数据的开始和结束的时刻。在仔细研究了OV6630输出的同步信号的基础上。笔者用VHDL语言实现了采集过程起始点的精确控制。图2所示为图像采集期间三个同步信号与数据信号的时序关系图。
图2中,每一个帧同步信号VSYNC周期包含288个水平同步信号HREF脉冲,而每一个HREF周期包含352个PCLK时钟脉冲,每一个PCLK时钟可输出一个RGB像素的视频数据。
通过监测系统中的垂直同步信号VSYNC的变化,即可得知新的一帧图像是否开始,一帧图像开始后,仅当HREF为高且PCLK输出下降沿时,才能输出一个有效的像素值。VSYNC的上升沿表示一帧新的图像的到来,下降沿则表示一帧图像数据采集开始(CMOS图像传感器是按列采集图像的)。只有当HREF为高电平时,才能开始有效的采集数据,PCLK下降沿的到来表明数据的产生,PCLK每出现一个下降沿可传输一位数据。HREF为高电平期间,共可传输352位数据。在一帧图像中,即VSYNC为低电平期间,HREF将出现288次高电平。而当下一个VSYNC信号的上升沿到来时,即表明分辨率为352×288的图像采集过程的结束。
CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆("在系统"编程)将代码传送到目标芯片中,实现设计的数字系统。
CPLD主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。
CPLD控制的实现过程首先是按顺序检测VSYNC和CHSYNC信号是否有效,这时要注意防止毛刺信号的干扰。由于毛刺信号时间很短,设计时可采用设标志位的方法,即当检测到信号的有效沿后(对于VSYNC是上升沿,而对于CHSYNC是下降沿),可在等待一定时间后再次检测信号,看其是否仍然有效,如果有效,则说明信号是正确的。
由于系统中的像素数据是按PCLK时钟输出的,所以,可用来存储图像的SRAM使能信号CE.另外,其读写信号也是由CPLD产生的。因此,读信号RE只要在CPLD写操作中置"1"即可。由于在数据输出时,PCLK的上升沿信号比较稳定,而RAM可在WR上升沿将数据写入,因此,可以在HREF有效后(HREF=1)采用PCLK作为写信号RW.
由于图像像素点的个数已知,即数据个数已知,故在计数完毕后,CPLD将发出计数完毕信号。而DSP在接收到中止信号后,即可开始读取RAM中的数据,并对数据进行压缩和相应的处理,然后把数据放到LCD液晶屏的数据总线,最后将采集到的图像在液晶屏上显示出来。图3为图像采集系统的软件流程图。
结束语
本系统采用DSP和CPLD的综合方案来将图像的采集和数据的处理分而治之。实验结果表明,该系统图像清晰,且能满足实时显示的要求,可广泛应用在网络视频和工业自动监测等方面。