朱孟祥,唐普英,黄自立,唐湘成
(1.电子科技大学 四川 成都 610054;2.西南技术物理研究所 四川 成都 610041)
近年来,随着数字图像处理技术的发展,视频监控技术已经在社会各个领域广泛应用。传统的视频监控技术都是采用单一摄像头对某一固定场景进行监控,视频的监控范围有限,不能同时对同一个物体进行全方位的监控[1]。由此越来越多的图像监控系统采用 CMOS图像传感器作为图像采集器件。由于图像处理实时性的要求较高,为了实现并行算法与硬件结构的优化配置,将FPGA和DSP结合起来,提高数字信号处理速度,满足现图像处理的高速率、高稳定性要求,成为了当今数字信号处理的一个重要研究方向。基于CMOS图像传感器本文提出了一种多通道视频监控系统,通过控制多各通道视频稳定、可靠的轮转切换,分析图像数据,根据图像异常,产生相应的报警命令和各种控制命令,实现了利用一个监控系统对不同场景的全方位实时准确监控。
整个系统的结构框图如图1所示。DSP一方面受到指令周期、时钟约束,时序控制能力较弱。另一方面因其外部接口的通用性较差。但是它的数字信号处理能力及算法强,可以实现较高速的数据采集,因此DSP更适于实现算法而不是控制。FPGA时序控制能力强,集成外围控制、译码和接口电路,在高速数据采集方面,FPGA有DSP无法比拟的优势,但是难于实现一些复杂的算法,并且稳定性较差。因此本文采用DSP和FPGA的相结合硬件结构设计方案,通过CPLD选择20路图像视频信号中的一路,经视频解码芯片处理后输出数字图像信号。然后将处理后的图像数据通过PPI口传给DSP进行跟踪算法处理,以实现相应的监控报警功能[2]。
图1 系统结构框图Fig.1 Diagram of system
随着集成电路设计技术和工艺水平的不断提高,CMOS图像传感器技术己经有了很大的进步,其分辨率、动态范围、灵敏度等指方面明显提高。并且它固有的集成度高、功耗小、成本等优点是CCD传感器所无法比拟的。CMOS图像传感器采用标准的半导体工艺,其技术难度低于CCD工艺,拥有该工艺的厂家都可以生产CMOS图像传感器,因而CMOS图像传感器再次成为研究的热点。故本设计采用CMOS图像传感器采集图像信号。
图像采集是设计的一个重要环节,它的高速性和准确性直接影响到整个监控系统的性能。因此,利用可编程逻辑控制器CPLD控制CMOS器件,从而最大限度地提高系统的图像采集能力,降低了软件设计的难度。
CPLD控制CMOS器件选通,最重要的是向各路CMOS传感器传送同步信号,保证传送图像信号的质量。图像数据传输到DSP之后,DSP对图像进行跟踪比较处理之后,向FPGA发出各种控制命令,FPGA对各种控制命令进行编码处理,然后将各种控制命令的编码信号传送给CPLD,最后CPLD对各种控制命令的编码信号进行解码处理,控制各路CMOS摄像头轮转切换和发出告警信号。
图像采集模块如图2所示。
图2 图像采集框图Fig.2 Diagram of image acquisition
FPGA图像预处理部分的可实现对图像数据进行预处理,通过IIC配置视频编解码器件;控制ADV7179视频编码芯片,使其输入视频信号中叠加字符数据,以此指示选中是哪一路视频通道,并且输出此模拟视频信号到监视器。
预处理后的图像数据为DSP进行图像目标检测,目标跟踪等的实现提供了必要的数字图像信息,可以提高各种DSP各种算法的准确度和可操作性。
图像预处理控制器采用Altera公司的EP3C40系列芯片对图像信号进行预处理,ALTERA Cyclone III EP3C40芯片,等效门数为200万门,同时实现了低功耗、高性能和低成本,能够支持更多的大批量、低成本FPGA应用。它具有4 Mbits嵌入式存储器、288个嵌入式18×18位乘法器、专用外部存储器接口电路、锁相环(PLL)和高速差分I/O。
设计采用视频解码芯片SAA7113将输入的模拟视频信号转换为数字信号。SAA7113是9位视频解码器,提供6路模拟输入和2个增强型的模数转换器。通过FPGA利用IIC对SAA7113的寄存器进行配置。为了使系统更加完善,利用FPGA对SAA7113产生的数字信号进行处理,也就是对图像信号进行叠加字符处理,然后将其传给视频编码芯片ADV7179,经过预处理的图像数据从FPGA的输出到ADV7179芯片,分离的行、场同步信号分别传送到ADV7179的控制引脚上,ADV7179输出正确的视频模拟信号。
在图像处理中,为了实现对图像信号的实时连续处理,也就是实现FPGA对每场图像信号实时准确的处理,使用SDRAM对待处理的图像数据作缓存处理[3]。以此保证FPGA对当前图像数据处理时,不至于造成图像数据丢失。
同步动态随机存储器SDRAM有价格低廉、容量大等优点,被广泛采用。为了操作方便,利用FPGA实现一个对SDRAM控制的模块,通过这个模块可以对SDRAM进行访问,SDRAM控制器与外部接口之间的连接如图3所示。
图3 SDRAM控制器接口示意图Fig.3 Diagram of SDRAM controller interface
由于硬件电路和外部环境的影响,图像信号在处理和传输的过程中不可避免的受到电路延时和环境噪声影响,导致信号的边沿不稳定,从而影响DSP对视频数据的采集。若不对图像信号和各种控制信号进行降噪处理,DSP将会采集到不同步的图像数据,那么DSP对图像信号的跟踪和判断将会发生错误,产生错误的控制命令。
为此,利用FPGA对DSP接收图像信的标志信号进行逻辑控制,产生与标志信号同相的信号,代替原来的标志信号。由于FPGA特有的内部寄存器构造,新产生的标志信号具有更强的抗干扰性能。设计中我们使用的标志信号是行同步信号(HS)和场同步信号(VS)。图像信号去抖动处理之后,DSP收到的图像如图4所示。
ADSP-BF53x系列处理器是Blackfin系列产品的成员之一,融合了Analog Devices/Intel的微信号结构(MicroSignal Architecture)(MSA)。Blackfin处理器这种体系结构将艺术级的dual-MAC信号处理器引擎,简洁的RISC式微处理器指令集的优点,以及单指令多数据(SIMD)多媒体能力结合起来,形成了一套独特的指令集结构[5]。ADSP-BF53x系列处理器是一个高度集成的片上系统解决方案。通过将工业标准接口与高性能的数字信号处理内核相结合,用户可以快速开发出节省成本的解决方案,而无需昂贵的外部组件。系统外设包括一个 UART口、一个 SPI口、两个串行口(SPORT)、4个通用定时器(其中3个具有PWM功能)、一个实时时钟、一个看门狗定时器,以及一个并行外设接口。
设计中FPGA和DSP之间的数据通传输是通过PPI口实现的。ADSP-BF53x处理器的PPI口包括一个专用时钟引脚,多达3个帧同步引脚和多达16个数据引脚。输入时钟支持并行数据传输,同步信号可以被设置为输入或输出。PPI支持各种通用模式和ITU-R656模式操作。在通用模式下,PPI提供高达16位数据的半双工、双向数据传输,并且提供了多达3个帧同步信号。在ITU-R656模式下,PPI提供8或10位视频数据的半双工、双向传输。
在DSP跟踪控制功能的实现模块中,首先对DSP进行设置,将奇偶场图像数据分别进行处理,以便提高信号的处理速度。这就需要把视频信号的奇偶场分别存储,即将奇偶场图像数据存储在不同的存储器地址,由此对存储器控制采用乒乓操作。
乒乓操作是一种用于数据控制的处理方法,使低速模块处理高速数据成为现实。乒乓操作的最大特点是将输入数据选择单元和输出数据选择单元按节拍,进行相应的切换,实现对输入数据进行处理的无缝连接,将输入数据完整的没有时间停顿的送到数据处理模块。因此乒乓操作非常适合对数据的流水线操作[6]。示意图如图5所示。
图5 乒乓存结构示意图Fig.5 Diagram of ping-pong memory structure
当DSP产生PF中断时,它将对接收到的图像数据进行跟踪比较处理,并且向FPGA发送各种控制命令。具体操作程为:DSP在接收到PPI口传送的标志信号 (开始接收图像)时,开始对视频信号进行接收存储,并且进行跟踪比较处理,DSP将发送切换命令给FPGA,命令包括:告警命令,各路图像正常切换命令和调试命令等;FPGA对各种命令进行编码处理,编码后的信号将传送到CPLD;CPLD进行命令解码,产生控制信号,控制系统正常运转。
本设计软件控制流程图如图6所示。
图6 软件流程图Fig.6 Flow chart of software
视频监控以其直观、方便、信息内容丰富而广泛应用于生产生活。视频监控成为生活中不可或缺的技术。在一些危险场所,用视频监控代替人工监视,可以保证人们的生命安全。鉴于一路视频的视野范围有限,要充分收集目标的信息,就需要用多路视频来对同一个物体进行全方位的精确监控。
本文设计了一种以DSP和FPGA芯片为核心处理器件的多通道高速CMOS图像监控系统,实现了对全分辨率下高速图像数据采集、数据传输和数据存储。本设计具有很高的可靠性和集成度,降低了外界环境于整个系统的影响。同时,通过FPGA和CPLD芯片实现对整个系统的控制、数据转换、数据存储和传输功能,具有较高的系统稳定性[7]。
[1]邹东斌.基于ADSP-BF561智能视频监控系统设计 [D].成都:四川大学,2009.
[2]王诚,吴继华.Altera FPGA/CPLD设计基础篇 [M].北京:人民邮电出版社,2005.
[3]王诚,吴继华.Altera FPGA/CPLD设高级篇 [M].北京:人民邮电出版社,2005.
[4]曾晶,唐湘成,刘怡.基于FPGA的多路视频通道控制[J].电子设计工程,2010,18(4):91-93.
ZENG Jing,TANG Xiang-cheng,LIU Yi.Design of multiple video channels control based on FPGA[J].Electronic Design Engineering,2010,18(4):91-93.
[5]陈峰.Blackfin系列DSP原理与系统设计[M].北京:电子工业出版社,2004.
[6]杨波,杨俊,王跃科.高性能A/D芯片AD9203与ADSP2191的高速DMA通信[J].电子产品世界,2003(15):69-71.
YANG Bo,YANG Jun,WANG Yue-ke.High-speed DMA communication between AD9203 and ADSP2191[J].Electronic Engineering&Product World,2003(15):69-71.
[7]卞九辉.基于DSP+FPGA的视频图像处理[D].哈尔滨:哈尔滨工程大学,2009.
[8]雷明,马游春.基于FPGA的多通道图像采集存储系统设计[J].通信技术,2010,43(4):204-207.
LEI Ming,MA You-chun.Design of multichannel image acquisition system based on FPGA[J].Communications Technology,2010,43(4):204-207.