对于CCD控制器(CCDC)中,采样和数据移位模块用来设置锁存器、数据时钟极性和CCD像素数据宽度的选择。光黑钳位模块用来去掉图像数据帧中的噪声。黑像素补偿用来调整各个颜色通道的信号电平。数据格式化和视频端像素选择用来设置行/场同步信号的长度,以及来此传感器的图像数据帧的格式,反映的是传感器的读出帧结构。
对于预览器(Preview)中,预览器接口用来选择视频源的接口方向以及设置输入帧的尺寸。中值滤波和噪声滤波则用来滤除图像数据中的噪声。CFA插值用来完成Bayer模式RGB图像格式数据到RGB数据格式的转换。Gamma校正用来调整视频图像机器显示的非线性特性。RGB到YCbCr用来完成图像从RGB色彩空间到YCbCr色彩空间的转换。4:2:2下采样模块使图像数据转变为YCbCr4:2:2格式。缓冲器接口用来图像数据的流向,如果为SDRAM则需要设置SDRAM的开始地址以及行偏移地址。
4.2 系统运行过程
整个系统的运行过程主要为系统的初始化以及对视频端口的配置。其主要运行过程如图6所示。
在运行整个视频采集系统之前,需要针对DSP芯片的管脚进行定义,因为DSP的管脚绝大部分都是复用管脚,需要根据需求来决定芯片管脚的作用和输出的信号,芯片管脚定义通过设置芯片内部PINMUX1、PINMUX2寄存器来决定,所以首先需要运行芯片初始化函数。
系统初始化:主要用于初始化DM6437的系统时钟、DDR2时钟、L2缓存的存储器空间分配、外部存储器空间映射以及复用管脚分配等功能。
前端处理:用来配置CCDC为10-bit Raw Bayer模式接口,接收来自数字摄像头的裸数据,同时定义了视频图像的分辨率为:720x576。使能了光黑钳位模块和黑电平补偿模块,最后设置CCDC的视频输出分辨率以及数据路径流向预览器。在预览器接口模块。设置接口接受来自CC-DC的10-bit Raw Bayer模式图像数据,在缓冲器接口模块中选择图像数据流行为外部存储器DDR2,指定图像存储地址和偏移地址。
摄像头配置:通过I2C总线来配置CMOS摄像头。需要对PLL设置寄存器进行配置,设置好的时钟信号则作为像素输出时钟使用。其次,需要设置图像格式寄存器和一些控制寄存器,主用于模拟信号的增益、数字信号的增益、黑电平校正、数字偏移更正寄存器,这些寄存器的设置可以使我们得到的图像信号更理想一些。
后端处理:用来配置视频处理后端(VPBE)。根据VPFE的设置,VPBE设置同样的视频图分辨率以,VPBE中的图像存储器读取地址就是VPFE中的图像存储地址。在显示窗选择上,选择显示窗为video windou0,禁止其他显示窗口。设置输出信号为NTSC制的复合视频信号(CVBS信号)。
5 测试结果
在视频采集系统中对摄像头的分辨率设置为720x576,采集到的视频图像如图7所示。观察采集到的视频图像,画面清晰、帧数稳定、色彩均衡,满足普通相机、网络摄像机对视频图像的要求。当需要改变分辨率的时候,只改变程序中相应的寄存器设置就可以,硬件无需变更,降低了开发成本。
6 结束语
在本文利用DaVinei技术的处理器TMSDM6437芯片,实现了数字视频图像的采集功能。这种方法充分利用到了该系列芯片上的集成组件——视频处理子系统,以硬件方式完成了视频图像数据的采集和一些图像预处理操作,使后续只进行图像提取和识别等,而不需要进行图像数据的转换、编解码等操作,简化了此类系统的设计。由于视频处理子系统为芯片上的硬件集成组件,运行速度快,这些都为小型、实时数字采集系统提供了保证。