基于FPGA设计的电视信号检测方法与实现
2010-10-25张重德朱跃农
张重德, 朱跃农
(合肥工业大学信息与网络中心,安徽合肥 230009)
0 引 言
目前通过卫星、微波传输到各级电视台的节目多达几十乃至上百套,对电视节目进行实时监测,保障电视节目播出过程不出现中断或防止非法干扰[1]是一项非常艰巨的任务。当前对电视信号的监测基本上以人工为主,值班员要时刻监视播出信号状态,并及时对信号干扰或中断作出处理,工作强度很大且难免会有失误发生。
随着数字图像技术和集成电路技术的发展,对电视播出进行自动监测已完全达到实时性和准确性的要求。通过对接收图像内容的检测,特别是对台标的检测[2]和识别可有效地检出非法插播和播出中断。利用对射频信号和解调后的信号进行检测可及时地发现非法信号的干扰和信号异常及中断。对于射频信号主要是监测载波的信息,比如工作频率、频偏、信号场强及信号调制度等,对解调后信号主要是检测信号、音视频同步信号时序等。
本文采用FPGA设计实现对多通道电视同步信号的实时检测,可有效地防止播出故障和非法信号的入侵。其主要设计特点为:
(1)采用同步分离专用芯片LM1881[3]设计信号同步分离电路。
(2)基于FPGA的电路设计实现32路电视的同步信号时序的实时检测。
(3)含有单片机[4]内核的 USB芯片CY7C68013作为计算机对FPGA配置和通讯芯片。
(4)系统还具有多路信号同显、硬盘录像、远程访问和自动切换备用信号等功能。
1 系统的总体设计
本设计需要实现多达32路电视信号的监测,需要大量的I/O引脚和高速实时信号处理能力,一般的甚至高性能的处理器都不能满足要求。而FPGA内部丰富的逻辑门电路特别适合于构成时序电路和逻辑电路用于检测信号时序,其大量的I/O引脚和并行处理的特点可以构成多路信号并行实时检测电路。
Xilinx SpartanTM-3E[5]系列的 FPGA具有100 K~1.6 M个门,66~376个I/O引脚,高达684 K的 block RAM,高达231 K的分布式RAM,多达36个18×18乘法器以及多达8个的数字时钟管理器,基于该芯片可实现32路以上电视信号的同时检测。
该系统的功能结构如图1所示。
图1 系统结构原理
输入的32路视频信号经过同步分离模块分离出复合同步信号、场同步信号和奇/偶场识别信号送到FPGA同步检测芯片进行同步检测,若发生同步时序或图像信号丢失、黑场、静帧等现象,工控机则控制相应的视频矩阵切换备用信号,同时该系统还具有集成语音实时报警、硬盘录像以及网络日记记录等辅助功能。
2 同步信号检测原理
视频信号中除了包含图像信号外,还包括行同步信号、行消隐信号、场同步信号、场消隐信号以及开槽脉冲信号、前均衡脉冲、后均衡脉冲等[6]。同步信号的作用是强制接收端和电台发射同步,当发生插播或非法干扰时,由于异常电视信号和正常电视信号的时基不同,在插入切换过程中必然导致视频信号数据流及同步信号时序变化,因此通过对电视同步信号时序的检测可以发现异常信号。
同步检测必须准确把握各种同步信号间的逻辑和时序关系,通过检测场、行同步信号的周期和相位判断电视信号状态。本设计的信号同步分离电路采用同步分离专用芯片LM1881,该芯片能够方便地从全电视信号中分离出场同步信号、行同步信号、奇/偶场识别信号,从而为同步信号时序检测提供了先决条件。
下面以场同步为例,对通过FPGA编程实现同步信号周期检测和相位检测原理进行简述。
场同步周期检测原理如图2所示。场同步脉冲的下降沿使计数器复位,计数器开始计数,当场同步脉冲上升沿来到时,锁存器控制端G为低电平,锁存器锁存并输出计数值,同时,计数器的时钟信号被箝位于高电平,计数器停止计数并清零。当下一场同步脉冲下降沿来到时,开始下一场同步周期计数。
图2 场同步周期检测
由一帧正常的场同步信号可获得一个基准信号,用于其同步信号相位的检测,其原理如图3所示,当前的场同步信号通过与基准信号“异或”比较,正常情况下“异或”的结果始终为低电平。当电视信号受到干扰或插播时,场同步信号与基准信号“异或”后的输出为脉冲信号,并触发报警电路。
图3 场同步相位检测
3 系统硬件电路结构
电视信号自动监测系统的硬件电路包括同步分离模块、同步信号检测模块、通讯控制模块和通讯模块。如图 4所示,信号同步分离采用LM1881专用芯片。同步时序检测模块采用SpartanⅢ-3S400FPGA芯片,sh[0∶31]为行同步端口;vh[0∶31]为场同步端口;eh[0∶31]为奇偶端口;data[0∶7]为数据端口。CY7C68013 USB芯片通过此端口与工业控制计算机通讯。
FPGA设计[7]采用 Xilinx ISE9.1平台[8],ModelSim6.2仿真软件、SpartanⅢ-3S400器件、Verilog HDL语言,主要包括顶层模块时序检测模块和通讯模块[9,10]。其中顶层模块的主要功能是:产生时序检测时钟;调用时序检测模块;配置器件输出、输入端口。
图4 FPGA同步时序检测硬件结构图
4 系统实现
4.1 FPGA仿真时序
由FPGA实现的时序波形[10]如图5所示,图5中clk为时钟信号;sv为场同步信号;sh为行同步信号;even为奇/偶场识别信号;clkH为计数器时钟,当 sv为高电平时无计数时钟输出;svRead为计数值。
4.2 FPGA同步时序检测部分实现代码
时序检测模块主要由计数器、触发器和组合逻辑电路组成,检测结果由通讯模块输出到PC机,部分实现代码如下:
图5 FPGA仿真时序图
5 结束语
本文介绍了使用信号时序检测方法监测电视信号的中断和异常干扰,采用FPGA设计实现32路电视信号的实时检测。结合使用台标图像检测等方法,配以信号切换矩阵和相应的报警电路可设计成更加完备的电视信号自动监测与报警系统。
[1] 裘 焱,吴亚锋,徐建容.非法入侵电视信号的硬件检测方法及其实现[J].电子技术应用,2007,(1):119-120.
[2] 黄超越,林进尧.台标检测系统的原理与应用[J].现代电视技术,2007,(11):128-129.
[3] 葛亚明,刘 涛,王宗义.视频同步分离芯片LM1881及其应用[J].应用科技,2004,(9):31-33.
[4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004:201-235.
[5] 黄志强,潘天保,吴 鹏,等.Xilinx可编程逻辑器件的应用与设计[M].北京:机械工业出版社,2007:50-62.
[6] 梁长垠.电视技术[M].北京:清华大学出版社,2008:13-19.
[7] 简弘伦,张凯锋.精通Verilog HDL:IC设计核心技术实例详解[M].北京:电子工业出版社,2005:59-71.
[8] 薛小刚,葛毅敏.Xilinx ISE 9.X FPGA/CP LD设计指南[M].北京:人民邮电出版社,2007:51-76.
[9] Ciletti M D.Advanced digital design with the Verilog HDL[M].Pearson,2004:498-502.
[10] Baker R J.CMOS:mixed-sig nal circuit design[M].John Wiley&Sons,Inc,2002:255-274.