基于FPGA的模拟视频信号到SDI信号转换的实现
2018-01-11张晓晶
张晓晶
摘要:随着眼下数字电视的普及和多媒体技术的迅猛发展,数字视频数据日益增多。数字化引起了电视技术领域的极大变革。如何将已经存在的模拟视频信号转换为SDI信号已经成为一个重要的课题。目前,我国处于模拟、数字信号并存阶段,而模拟视频信号到SDI信号的转换就是这个过渡阶段必不可少的关键性技术。本文介绍了一种基于FPGA芯片的实时视频图像处理系统。详细讨论了从模拟复合视频信号CVBS到SDI信号之间的转换过程。经实验结果证明,本设计基本实现了模拟视频信号到SDI信号的转换,达到了一定的预期效果。
关键词:模拟信号;SDI信号;FPGA;I2C总线
中图分类号:TN791 文献标识码:A 文章编号:1007-9416(2017)11-0059-03
随着多媒体技术及Internet的迅速发展,人们对数字化的需求日益增加,图像、音频、视频等多媒体数据大量涌现。视频作为一种主要的媒体类型,在丰富人们的生活、教育、娱乐等方面起到了越来越突出的作用。同时,随着视频类型的增加和数据量的日益庞大,如何有效地传输这些数据已成为一种迫切的需求。并且毫无疑问数字电视是个大方向,与其它任何事物的发展一样,中国数字电视产业的发展,也有其自身发展的规律。目前,我国处于模拟、数字信号并存阶段,而模拟视频信号到SDI信号的转换就是这个过渡阶段必不可少的关键性技术。
1 研究对象与方法
本次研究将开发一个FPGA硬件平台,该平台利用TVP5150解码芯片对由摄像头采集到的视频数据进行A/D转换,得到的数据流经FPGA处理最终输出SDI信号。我们使用到的TVP5150是超低功耗、支持NTSC/PAL/SECAM等格式的高性能视频解码器,在正常工作时,它的功耗仅115 mW,并且具有超小封装(32脚的TQFP),因此非常适用于便携、批量大、高质量和高性能的视频产品。基于FPGA的模拟視频信号到SDI信号转换的实现也在推动着数字化的进一步发展和成熟。因此,本研究有着非常重要的现实意义。
2 系统方案设计
2.1 硬件系统描述
对于一路模拟视频信号,将其作为输入接到我们设计的实验箱上,经过处理后输出为SDI格式的串行数字信号。整个硬件平台如图1所示,其中FPGA采用高性能的CycloneIII EP3C55F484芯片[1]。
开发板外形如图2所示。开发板涉及的硬件有:(1)FPGA芯片:EP3C55F484C8;(2)解码芯片:TVP5150;(3)摄像头;(4)并串转换芯片:CY7B9234;(5)SDI输出驱动芯片:CLC007;(6)27M晶振一个;(7)程序下载电缆USB Blaster一条;(8)显示器。
本硬件平台已具有实现模拟视频信号到SDI信号的转换的功能。模拟视频的解码需要解码芯片TVP5150来完成,I2C总线的配置和加扰等功能都需要FPGA来完成。本平台综合布局FPGA,在QuartusII环境下加扰码、NRZI编码器,集成为完整的可编程片上系统。至此,硬件部分的设计完成[2]。
2.2 硬件系统与FPGA关联过程
本次课设使用FPGA芯片为Cyclone III的EP3C55F484C8,功能较为强大,整个程序仅使用了其很少一部分资源,其中使用了9%的管脚和两个锁相环[3]。具体情况如图3所示。
整体设计流程分为“前期”工程和“后期”工程两步。所谓“前期”步骤开始于提出基本方法和建立在框图层次上的模块,大型的逻辑设计通常是分层次的。第二步是真正为模块编写VHDL程序,包括接口,内部细节。第三步是仿真/验证。仿真/验证之后,进行“后期”阶段的工作,“后期”阶段分为三个步骤:逻辑综合、装配与布局/布线、延时分析。
编写程序完成后,要选择与开发板上使用FPGA芯片对应的芯片,本设计中选择的是EP3C55F484C8,选择的方法是Assigments/Device,在Device Family中选择Cyclone III,Availiable device中选择EP3C55F484C8即可。在编译无误后进行引脚的分配。在开发板上,FPGA芯片与其它外围设备的连接时固定的,各引脚都与不同外围芯片的不同引脚相连,经过以上编译,片上系统已经为映射到相应EP3C55F484C8芯片产生了FPGA资源的分配文件[4]。引脚分配界面如图4所示。
分配好引脚后的某些选项需要设置。选Assigments/Device/Device and pins Options进行设置。对于没有用到的引脚,在Unused Pins标签页选择As inputtri-stated。经过这步设置后,再编译工程就会正常而不报错。编译无错后,可以使用Quartus II中的Tool/Programmer将生成的FPGA分配文件通过USB Blaster从PC机下载到FPGA芯片中,以上步骤完成后硬件系统就与FPGA芯片内部相关联了[5]。
3 信号解码流程
3.1 关于TVP5150解码模块
只有将模拟视频信号转换成为符合ITU-R BT.656标准的数字信号,才可方便地利用FPGA或者DSP甚至PC机来进行信号处理。本模块就是利用超低功耗TVP5150芯片对视频信号A/D解码,由FPGA通过I2C总线控制,预留地址数据等接口,作为后续数字信号处理之用。视频采集系统由摄像头与解码芯片TVP5150两部分组成。CCD摄像头输出的模拟视频信号,通过解码芯片TVP5150的放大,抗混叠滤波和A/D转换等处理后将模拟信号转换为数字视频信号。解码芯片TVP5150由I2C总线控制。 FPGA通过I2C控制模块配置TVP5150后,就可以在输入时钟(CLK,27MHz)的同步下读入YCRCB 4:2:2格式的并行8bit视频数据[6]。endprint
3.2 对解码后的数据进行处理使之成为标准SDI格式
SDI接口是数字串行接口(serial digital interface),是把数据字的各个比特以及相应的数据通过单一通道顺序传送的接口。由于串行數字信号的数据率很高,在传送前必须经过处理。用扰码的不归零倒置(NRZI)对原始数据流进行扰频,并变换为NRZI码确保在接收端可靠地恢复原始数据。这样在概念上可以将数字串行接口理解为一种基带信号调制。SDI接口能通过270Mb/s的串行数字分量信号[7]。
本系统解码后的输出数据对极性很敏感,容易造成锁相环失锁,从而产生严重的接收误码。通过加扰可以消除这些缺陷。使用VHDL语言实现信号的加扰码和NRZI编码的编程实现思路:
G1(X)=X9+X4+1
G2(X)=X+1
编程思路:对一组数据实时进行处理,一组含10bit数据。将10bit数据分为三组:0~4bit、5~8bit、9bit分别进行循环编码打到编码目的。
3.3 对系统I2C总线进行配置
我们基于FPGA,使用VHDL语言对整个系统的I2C总线进行配置。程序思路:本次设计中,我们仅设置了I2C的一部分功能。把TVP5150设计为主机,FPGA为从机,仅仅由TVP5150向FPGA写数据。
因为I2C的在传送数据时,分为等待开始信号、开始、传送数据、等待应答、结束等几个工作模式,我们可以type state_n is (waitn,start,wr,ask,delay,stop),考虑到在数据的传输中会发生很多不可预料的情况,我们引入一个时延,在这个时延范围内我们就按照I2C总线的工作流程而执行,一旦超出这个时延而未等到我们所需信号时,程序就转到结束模式,等待下一次的开始信号。这样就避免了程序走入死胡同,保证了程序的正常运行。在本次课设中通过Quartus II中的功能添加一个锁相环模块,并选择输出为27M/122=211 KHz的时钟信号来作为I2C程序的驱动程序[8]。
4 结语
本论文介绍了一种基于FPGA芯片的实时视频图像处理系统。详细讨论了从模拟复合视频信号CVBS到SDI信号之间的转换过程:模拟视频信号经过解码芯片TVP5150的A/D转换,转换为ITU-R BT.656格式的8bit并行数字视频信号,该数字信号在FPGA内扩充为10bit并进行加扰码和NRZI编码运算,经过处理后输出为10bit,27M的并行数字信号,之后经过并串转换得到270M串行SDI信号,并将该信号接于显示屏上。本系统在QuartusII软件平台下开发并在硬件上得到实现。经实验结果证明,本设计基本实现了模拟视频信号到SDI信号的转换,达到了一定的预期效果。
参考文献
[1]姜秀华,柴剑平,林正豹,等.现代电视原理[M].高等教育出版社,2008.
[2]李国洪,胡辉,沈明山.EDA技术与实验[M].机械工业出版社,2009.
[3]李宰辛.Altera发布Quartus II软件8.1,延续效能领先优势[N].Altera资讯,11-2008.
[4]刘韬.FPGA数字电视系统设计与开发实例导航[M].北京:人民邮电出版社,2005.
[5]于枫,张丽英,等.ALTERA可编程逻辑器件应用技术[M].北京:科学出版社,2004.
[6]张凯,林伟.VHDL实例剖析[M].国防工业出版社,2004.
[7]ITU601/656编码标准.国际电信联盟无线电通信部门656-3号建议书[S].1982.
[8]Wayne.Wolf FPGA-Based System Design[M].机械工业出版社,2005.
Abstract:With the popularity of digital television now and the rapid development of multimedia technology, digital video data is increasing. Digital TV technology caused a great change. How to transform analog video signals existed to SDI signal has become an important issue. At present, We are in a phase that analog signals and digital signals are co-existenced, while the analog video signals to SDI signal conversion is the key technology essential to the transition phase.This topic describes the FPGA-based real-time video image processing system. Finally, the experimental results prove that the design of the basic realization of analog video signals to SDI signal conversion.
Key Words:Analog signal; SDI signal; FPGA; I2C BUSendprint