引言
目前,交通监控应用系统大多以紧急报警、车辆定位与语音通信为主,图像方面的应用不多。本文正是基于这样的考虑,设计了车辆图像采集与处理系统。该系统采集车后方的图像信息,实时地传送给前方的显示屏显示,司机可通过显示屏实时观测后方路面及车辆状况,倒车时可以及时发现后方障碍物及行人,安全避让。
图1 实时图像采集处理系统组成框图
(a) 采集一行图像(720个采样点)的时序图
(b) 采集一帧图像的时序图
图2 数字视频信号输出时序图
图3 采用CPLD完成视频采集控制
实时图像采集处理系统的组成及工作原理
本系统由模拟摄像头采集视频数据,通过视频解码芯片将模拟视频信号转换为数字视频信号。CPLD作为采样控制器,完成数字视频数据的存储和时序控制。本设计选用TMS320C6416实现系统控制和数据处理。具体组成如图1所示。
视频采集模块
图像的输入由模拟摄像头完成(本系统选用黑白摄像头)。摄像头输出为标准的复合视频信号(CVBS),该信号必须经过视频解码和A/D变换后进入数字系统才有效。由于模拟视频信号非常复杂,除了包含图像信号之外,还包括行同步信号、行消隐信号、场同步信号、场消隐信号等。因而,对视频信号进行A/D转换的电路非常复杂。本设计选用TI公司的视频解码芯片TVP5146完成从模拟到数字视频的转换。TVP5146允许10路模拟视频输入,具有4路10bit 30MSPS A/D 转换器;场同步信号VS,行同步信号HS,奇偶场信号FID,时钟输出信号DATACLK等都由引脚直接引出,省去同步时钟电路的设计。
基于DSP的图像处理模块
实时图像处理系统设计的难点是如何在有限的时间内完成大量图像数据的处理。只有图像处理系统的处理速度达到每秒25 帧以上时才能达到实时的效果,所以在系统设计中,处理器是关键,要求处理器运算速度快、实时处理能力强,并且还具有高速的存储器及I/O存取能力。本设计选用TMS3206416DSK作为视频信号处理系统。TMS3206416DSK是一个低成本的开发平台,用户可以根据功能需要扩展硬件设计,便于硬件开发,缩短设计时间。
CPLD控制模块
TMS320C6416DSK 板上含有一片 CPLD,它主要实现系统的逻辑控制和存储器地址解码功能。本设计仍需一片 CPLD 完成视频存储及显示的时序控制,选用 Altera公司的EPM7064ATC100 来完成上述功能,它的工作电压是3.3V,具有64个逻辑单元,68个I/O 可用引脚,引脚间 4.5ns延时,其最高的时钟频率为 222.2MHz。该器件基于EEPROM 结构,可以通过 JTAG 接口现场编辑内部的结构逻辑,编程语言为 VHDL。数字视频信号输出时序如图2所示。
数字视频信号按图2所示时序输出。以 NTSC 制为例,图中 Y[9:0]为输出的亮度视频信号,DATACLK 为行锁定系统的输出时钟,为像素时钟频率的两倍,即27MHz,用来同步数据采集,HS 为行同步信号,VS为场同步信号,VBLK 为场消隐信号,FID为奇偶场信号。HS 的高电平表示一行有效采样点720个,VS 的高电平表示一场有效信号,对于 NTSC制信号,单场为243行,奇偶场信号 FID 为“1”时,表示当前为奇数场, 为“0”表示偶数场。
图像存储模块
为了实现图像的实时采集与处理,往往需要视频的输入转换和图像处理并行进行。传统上实现数据采集与处理同步的方法有:使用 FIFO 存储器;使用双口 RAM;使用双/单口RAM 交替切换存储数据。考虑到图像处理系统需要处理的数据量太大,而且 FIFO 存储器和双口 RAM 的价格因素,本设计使用高速双/单口 SRAM 交替切换存储数据的方法。一帧图像容量为 720×486=349.92K像素,选用 512K×8bit的高速SRAM。TVP5146 对亮度信号的采样频率是13.5MHz,2次写入的数据间隔是74ns,可以选择 Cypress公司的 CY7C1049CV33(512K×8bit,12ns,3.3V)来完成数据储存。
两帧的切换由CPLD设计的帧存控制器自动实现。当帧A存储TVP5146输出的数据时, DSP读取并处理帧B的数据,完成处理后送往液晶显示。在帧A存满一帧数据,处理器也处理完帧B数据并完成一帧图像显示后,由CPLD 构造的乒乓开关转换两个接口,DSP开始从帧A里读取数据进行处理,这样,两帧轮换进行,实现了采集与处理显示的并行操作。
本设计采用场合并行法,将两场的数据写入一个帧存中。系统利用 VS 信号对此进行控制。当 VS 信号有效时,表明新的一场开始了,此时无效行计数器开始工作,控制不需要采集的图像行,计数到阈值后,有效行计数器开始工作,控制所要采集的图像行,并发出高位地址信号 A[18..11];同样,当 HS 有效后,无效像素计数器开始计数每行中的无效像素,然后有效像素计数器开始计数需要采集的行有效像素;每次计满720个像素后,等待下一次有效行信号的到来,同时将有效行计数器加1。由于系统选用的帧存容量较大,因此利用 FID 的反相信号作为帧存地址的 A10,为每行图像提供了1024个存储空间(实际使用720个),可以简化数据写入与读出的控制电路。隔行的视频信号就会被逐行地存储到帧存体中。
图3所示为 CPLD 编程构成帧存储器和视频采集控制器。视频采集控制器根据 TVP5146的同步信号 DATACLK、HS、VS 在内部产生对帧存储器的地址信号 A[18:0]、写信号 WR以及帧切换信号 RDY1、RDY2。帧存控制器根据切换信号 RDY1、RDY2 进行接口转换:当一帧图像存入帧存储器时,帧切换的两个必要条件之一RDY1置为高电平,RDY2在DSP处理完一帧图像并送出显示后置为高电平,当两者同时为真时,切换两通道的连接,开始新一轮图像处理过程,同时RDY1、RDY2复位,为下一次切换作准备。
TMS320C6146DSK 外扩SDRAM共 4M×64bit的容量,为2片 MT48LC2M32B2,用来作为DSP处理后送往液晶显示前的视频数据缓存。
图像显示模块
本设计选用 EPSON 的 E35G23 图形显示模块,320×240 像素,带有行列驱动电路以及背光电路,16级灰度显示。系统采用 CPLD 构成液晶显示控制器,应用 CPLD 产生帧同步信号及扫描时钟信号。VFRAM 为帧同步信号,标志着 LCD 屏新一帧的图像开始,每一帧中包含240个 VLINE 信号。在帧标志信号 VFRAM 有效后产生行同步信号,读数据缓存区,在像素时钟 VCLK 的控制下,将数据写入 LCD,每一行包含320 个 VCLK 信号,完成一帧数据的写入。
结语
本文以高速 DSP TMS320C6416 为核心处理器,应用 TVP5146 完成模拟视频信号的数字化转换,CPLD 完成系统的时序控制,采用双/单口 SRAM 交替储存采集的视频数据,DSP 处理完数据后送往SDRAM缓存,最后将数据从缓存读出并送往液晶屏显示,实现视频数据实时采集处理显示。本系统是基于车辆视频监控而设计的,将对减少交通事故起到良好作用。