datasheet
超过460,000+ 应用技术资源下载
pdf

基于FPGA的视频图像画面分割器

  • 1星
  • 日期: 2014-03-05
  • 大小: 2.39MB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于FPGA的视频图像画面分割器

视频监控一直是人们关注的应用技术热点之一,它以其直观、方便、信息内容丰富而被广泛用于在电视台、银行、商场等场合。在视频图像监控系统中,经常需要对多路视频信号进行实时监控,如果每一路视频信号都占用一个监视器屏幕,则会大大增加系统成本。视频图像画面分割器主要功能是完成多路视频信号合成一路在监视器显示,是视频监控系统的核心部分。 传统的基于分立数字逻辑电路甚至DSP芯片设计的画面分割器的体积较大且成本较高。为此,本文介绍了一种基于FPGA技术的视频图像画面分割器的设计与实现。 本文对视频图像画面分割技术进行了分析,完成了基于ITU-RBT.656视频数据格式的画面分割方法设计;系统采用Xilinx公司的FPGA作为核心控制器,设计了视频图像画面分割器的硬件电路,该电路在FPGA中,将数字电路集成在一起,电路结构简洁,具有较好的稳定性和灵活性;在硬件电路平台基础上,以四路视频图像分割为例,完成了I2C总线接口模块,异步FIFO模块,有效视频图像数据提取模块,图像存储控制模块和图像合成模块的设计,首先,由摄像头采集四路模拟视频信号,经视频解码芯片转换为数字视频图像信号后送入异步FIFO缓冲。然后,根据画面分割需要进行视频图像数据抽取,并将抽取的视频图像数据按照一定的规则存储到图像存储器。最后,按照数字视频图像的数据格式,将四路视频图像合成一路编码输出,实现了四路视频图像分割的功能。从而验证了电路设计和分割方法的正确性。 本文通过由FPGA实现多路视频图像的采集、存储和合成等逻辑控制功能,I2C总线对两片视频解码器进行动态配置等方法,实现四路视频图像的轮流采集、存储和图像的合成,提高了系统集成度,并可根据系统需要修改设计和进一步扩展功能,同时提高了系统的灵活性。

河海大学 硕士学位论文 基于FPGA的视频图像画面分割器的设计 姓名:付富壮 申请学位级别:硕士 专业:通信与信息系统 指导教师:齐本胜 20080301 摘要 视频监控一直是人们关注的应用技术热点之一,它以其直观、方便、信息 内容丰富而被广泛用于在电视台、银行、商场等场合。在视频图像监控系统中, 经常需要对多路视频信号进行实时监控,如果每一路视频信号都占用一个监视 器屏幕,则会大大增加系统成本。视频图像画面分割器主要功能是完成多路视 频信号合成一路在监视器显示,是视频监控系统的核心部分. 传统的基于分立数字逻辑电路甚至DSP芯片设计的画面分割器的体积较大 且成本较高。为此,本文介绍了一种基于FPOA技术的视频图像画面分割器的 设计与实现。 本文对视频图像画面分割技术进行了分析,完成了基于ITU-RBT.656视频 数据格式的画面分割方法设计;系统采用Xilinx公司的FPGA作为核心控制器, 设计了视频图像画面分割器的硬件电路,该电路在FPGA中,将数字电路集成 在一起,电路结构简洁,具有较好的稳定性和灵活性:在硬件电路平台基础上, 以四路视频图像分割为例,完成了12C总线接1:3模块,异步FIFO模块,有效 视频图像数据提取模块,图像存储控制模块和图像合成模块的设计,首先,由 摄像头采集四路模拟视频信号,经视频解码芯片转换为数字视频图像信号后送 入异步FIFO缓冲。然后,根据画面分割需要进行视频图像数据抽取,并将抽 取的视频图像数据按照一定的规则存储到图像存储器。最后,按照数字视频图 像的数据格式,将四路视频图像合成一路编码输出,实现了四路视频图像分割 的功能。从而验证了电路设计和分割方法的正确性. 本文通过由FPGA实现多路视频图像的采集、存储和合成等逻辑控制功能, 12C总线对两片视频解码器进行动态配置等方法,实现四路视频图像的轮流采 集、存储和图像的合成,提高了系统集成度,并可根据系统需要修改设计和进 一步扩展功能,同时提高了系统的灵活性. 关键词:现场可编程门阵列,异步FIFO,视频采集,图像合成 Abstract Video Monitoring is all applied technology which people always pay more attenti∞t0.It is widely used in area such as television stations,banks.markets etc, for its convenience and abundant information.In Video Monitoring System,many channels video arc needed to be monitored,if we use monitor for each channel,it will inc托蜘the cost ofthe system.Muitil—SOuce P“Kessof iS the co佗part ofVideo Monitoring System,the main functions ofit is to synthesis many channels into one. The volume of traditional Muiti-Source Display Pro∞ssor design based 011 discrete digital circuit or DSP,is large,and the cost is hiigh.So in this paper,the design and realization of Multi-Source Display Processor based on FPGA is introduced. This paper deals with the technique of image synthsis base 011 ITU-RBT.656 format.The system used Xilinx Corporation’S FPGA as the co他controller,circuit of the system Was designed.all the digital circuit were implemented via FPGA,making circuit simplied with good stablity and good flcxibility.Base on the hardwlirc plateform,take four channels of video for example,12C bus interface module, asynchronous FIFO module,effective image data extraction module.,image data storage eonm31 module and image synthesis module arc implemented via FPGA. Firstly,four channels of analog video arc captured by camol-a and converted to digital video signal by the video decoder chip.Digital video signal is sent to the asynchronous FIFO buffer.Secondly.effective video signaLs a托extracted from them according to the need of display and stored in memory according to certain rules.At last,the four channels video is synthesized according to the format ofthe digital image,implement the function of four channel display,thus verified the errection ofthe circuit design and the division method. In this paper,the function such as video acquisition,storage and synthesis of the system are all completed via FPGA,Four channels video arc acquired.stored in mill,and synthesized through configuring two chips of video decoder dynamically using 12C interface.田他design based on FPGA improves the systematic integration level,The systcⅪn also can be modified and expanded easily.Therefore,the flexibility ability ofthe system is further raised. Key words:Field Programmable Gate Array CFK;A),Asynchronous FIFO(nrst in first out),video acquisition,image synthesis 学位论文独创性声明: 本人所呈交的堂位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果。与我一同工作的同事对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。如不实,本人负全部责任。 论文作者(竽名):——幺}髦扯1广扩年, 月 影日 学位论文使用授权说明 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊(光盘 版)电子杂志社有权保留本人所送交学位论文的复印件或电子文档,可以采用 影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容 相一致.除在保密期内的保密论文外,允许论文被查阅和借阅。论文全部或部 分内容的公布(包括刊登)授权河海大学研究生院办理。 论文作者(签名):——j喜囊止。喈年 弓 月“ 日 河海大学工学硕士论文 第一章绪论 第一章绪论 1.1选题背景及意义 视频图像监控一直是人们关注的应用技术热点之一,它以其直观、方便、信 息内容丰富而被广泛用于在电视台、银行、商场、仓库、保安、生产管理等场合。 在视频图像监控系统中,经常需要对多路视频信号进行实时监控【lⅡ2l,如果每一 路视频信号都占用一个监视器屏幕,则会大大增加系统成本。视频图像画面分割 器主要功能是完成多路视频信号合成一路,使多路视频在一个画面上显示,是视 频监控系统的核心部分.比如使用一台四画面分割器。可以在一台监视器上可同 时监控四个目标。从而节约了系统成本并提高了观察效率[31。 视频图像画面分割器的设计经历了一个从模拟电路到数字电路的过程。早期 的视频图像画面分割器,在视频信号的传输和处理电路中使用了大量的模拟器 件,各路视频信号用模拟开关进行切换。电路开发周期长,调试、修改及升级比 较困难,成本较高,体积较大.后来的视频图像画面分割器开始大量使用的数字 逻辑电路进行设计.首先,各路模拟视频信号通过模数转换器转换成数字视频信 号;然后,在数字领域对各路视频信号进行处理.使电路的设计、调试得到了很 大的改善嘲。但是,设计中所使用的独立的逻辑电路较多[617],有的甚至使用专‘ 用的DSP芯片去处理视频画面的分割[sl。虽然可以满足对视频图像数据处理速度 的要求,但是还需要外加CPU去协调系统工作【9】,使得整个系统仍显得体积较大, 而且系统成本较高. 现场可编程门阵列FPOAffield Programmable Crate Array)是20世纪80年代 由美国Xilinx公司首先推出的OOl。随着半导体加工工艺的不断发展,FPGA在结 构、速度,工艺、集成度和性能方面都取得了很大的进步和提高。与之相对应的 设计方法和自动化设计工具也得到了迅速的发剧”1121.FPGA作为ASIC设计的快 速原型系统,开发过程投资少,周期短,可反复修改,保密性好,开发工具智能 化等特点成为当今电路系统设计的首选方式之—【131[“Ⅱl”。 本文将详细介绍基于FPGA开发技术的视频图像画面分割器的软硬件设计 与实现。本课题来源于常州市工业科技攻关项目.在课题设计中,首先将多路模 拟视频信号经过视频解码转换为数字视频信号,将转换得到的数字视频信号送 FPGA处理。由FPGA实现对多路视频信号的提取、存储、合成等功能。最后, 将多路视频图像合成一路经视频编码转换为模拟视频信号输出到显示器,实现将 多路视频信号在同一个屏幕显示的功能。视频提取,存储和合成等逻辑电路都集 成在一块FPGA芯片上实现,提高了系统的集成度。同时FPGA器件可以重复编 程反复修改,可以在不改变硬件或者稍做修改计的条件下,通过修改FPGA的程 河海大学工学硕士论文 基于FPGA的视频图像面面分割器的设计 序以满足不同场合的需要或进一步扩展功能,使系统具有很好的适应性,便于系 统的升级. 1.2画面分割技术研究现状及本课题要解决的关键技术 视频图像的画面分割技术是指将来自多个视频源的视频数据,通过一定的合 成算法,合并成一路数据,使输出显示终端能够同时显示多路视频图像.画面分 割的实现方法有多种多样,根据不同的视频数据源有不同的视频图像画面分割技 术,总体上可分为两种:一种是基于像素域的视频图像的分割,另一种是基于压 缩域的视频图像的分割。 像素域视频图像的分割是多路视频编码数据进行解码,将解码后的YUV(或 RGB)数据按照一定线性规则进行捧列。合并成一路YUV(或RGB)视频数据,再 将合并后的视频数据进行编码. 压缩域合成是指,对多路压缩的源视频编码数据不进行解码,而是根据视频 编码数据结构的特性,进行数据重组,重组后的数据即是多个终端合成后的数据。 本文基于FPGA所设计的视频图像画面分割器是基于像素域的图像分割,各 路模拟视频信号经视频解码芯片解码并数字化后,根据所需要的分割方式将各路 视频图像进行缩小并存储,将多路视频图像合成一路。所有逻辑控制功能的都由 FPGA来实现,FPGA它是整个画面分割模块核心部件.编程语言选用Verilog HDL语言。 在整个设计过程,需要解决的关键技术是视频图像画面分割的算法设计和 FPGA的控制接口和控制逻辑的设计. 1.3本文的工作和组织结构 整个视频图像画面分割器系统的设计由两部分构成:系统硬件设计和系统软 件设计。在基于上述两个方面的设计中,主要做了以下几个方面的工作: I.通过查阅资料,分析视频信号的格式,对视频图像分割的原理和方法进 行研究。 2.选用Xilinx公司的spartan3系列的XC3S400型号的FPGA作为设计的核 心处理芯片。在系统的硬件设计中,把整个硬件系统分为电源模块、视频解码电 路模块、视频编码电路模块、图像存储器电路模块和FPGA及其配置电路模块。 用电路设计软件OrCAD完成原理图和PCB板的设计工作。 3.进行视频图像画面分割器的FPGA系统的软件设计.FPGA软件系统由 12C接口模块、异步FIFO模块、有效视频数据提取模块、图像存储控制模块和 图像合成模块组成.各个模块采用VerilogHDL语言编程,在ISE、ModelSim和 Synplify等EDA软件平台下,按照FPGA的设计流程进行设计.最后,将设计 2 柯海大学工学硕士论文 第一章绪论 的软件经过仿真、综合、布局布线、后仿真等过程,将生成的比特流文件下载到 硬件电路进行在线调试。 基于所完成的工作,在文章的结构安排上,首先,对电视扫描原理和视频解 码芯片输出的ITU.RBT.656标准的视频数据格式进行分柝.然后,对整个系统的 硬件部分和软件部分分模块进行设计和介绍。最后,进行系统的软件硬件调试。 以下是本文各章的内容和组织结构。 第一章对课题的来源以及研究的意义进行了简要的叙述,并对整个系统的 设计结构进行了整体介绍,指出了本设计工作主要内容和文章的组织结构. 第二章根据本文设计要求,对电视的扫描方式和视频信号标准进行了分析 和介绍。重点介绍了视频解码电路模块输出的ITU-RBT.656标准YUV(4:2:2)格 式视频信号,并对一帧图像的组成结构进行了详细的分析,为后续视频图像的提 取和合成奠定了基础. 第三章介绍硬件电路系统的设计。首先,根据功能将硬件划分为电源电路、 FPGA及其配置电路、视频编码电路、视频解码电路和图像存储电路等模块.然 后,对各个模块分别进行设计和叙述。 第四章在硬件电路韵基础上进行软件设计.’首先,将整个软件系统按功能 划分为:12C总线接口模块,异步FIFO(先进先出)模块、有效视频数据提取模块、 图像存储控制模块和视频图像合成模块。然后,将各个模块分别进行设计,仿真 和实现。最后,对视频图像画面的合成原理进行了详细的分析,并实现了四路视 频图像合成. 第五章系统调试,将程序下载的硬件电路中,进行软件和硬件的联合调试, 并对调试中出现的问题进行分析和解决。 第六章对本文所做的工作进行总结,并提出对系统的改进设想和建议。 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 第二章视频信号研究 本设计是将由多个视频摄像头采集的多路模拟信号经过数字化后,在数字领 域对视频信号进行处理,将多路视频合成一路在电视机显示。对于不同扫描方式 的显示设备和不同标准的视频信号,对多路视频数据的处理方式是不同的,所以 在本章简要的介绍一下电视的扫描方式和视频信号的知识。 2.1电视扫描原理 在电视技术里,无论是CCD(Charge Coupled Device电荷耦合器件)把光信号 变成电信号,还是显示器把电信号变成光信号,其过程都是按一定扫描方式顺序 实现的.在人们观察电视图像时,当光脉冲进入人的视觉器官时,其感觉并非瞬 时发生,而是有一些时间上的延迟。光脉冲停止以后,光的感觉还会暂留一个短 的时间,这种视觉延迟和视觉暂留的现象可以认为是人的神经系统时间响应限制 的缘故。由于荧光屏的余辉作用以及人眼的视觉延迟和视觉暂留的影响,人们就 可以看到连续的图像Ttl612”.‘ 扫描是按照从左向右均匀扫过的,在自左向右达到右端后迅速的从右端折回 到左端,再开始下一行的扫描。这种沿着水平方向的扫描称为行扫描,或者称为 水平扫描.行扫描正程时间长,逆程时间短。在进行水平扫描的同时,也缓慢的 进行着从上到下的扫描,这种沿着垂直方向的扫描称为场扫描,或者称为垂直扫 描【”Ⅱ嘲.在显像管中的扫描也是这样从左到右、从上到下的进行。 按照扫描方式划分,可将其分为逐行扫描(progressive scanning)和隔行扫 描(interlaced scanning)两种方式【191[z0|. (一)逐行扫描’ 一行紧跟着一行的扫描方式称为逐行扫描.扫描轨迹的集合称为扫描光栅。 图2.1为逐行扫描光栅示意图. 由于电子束沿水平方向的扫描速度远大于垂直方向的扫描速度,因此形成的 扫描光栅是一条条略微向下倾斜的水平线。为了使图像清晰而均匀,在逆程期间 不传送图像信号.在逐行扫描方式中,如果每场的扫描行数用L来表示,则有 .,一2L’^、^2fy.即行频是场频的L倍,场频和帧频相等。不过,逐行扫描 存在一个问题,为了使显示器显示的视频图像没有闪烁感,逐行扫描方式下,视 频图像的传送速度一般达到50帧,秒,即帧频为50I-lz。这样,对传送通道的带 宽要求非常高.为了在不增加图像信号带宽的情况下,有效克服闪烁现象,电视 系统采用了隔行扫描方式. 4 河海大学工学硬士论文 第二章视频信号研究 (a)场正程扫描轨迹 (--)隔行扫描 (b)场逆程扫描轨迹 图2.1逐行扫描光栅 (c)正常扫描轨迹 根据人眼有一定的视觉惰性和分辩能力,在不产生亮度闪烁感觉和保证有足 够清晰度的情况下,场扫描频率须在48Hz以上,扫描行数须在500行以上.根 据这些指标计算出的电视图像信号的频带是很宽的。若减少行数,又会引起图像 清晰度下降【2l】.于是提出了隔行扫描方式,使上述矛盾得到较妥善的解决。 .隔行扫描方式是将一帧电视图像分成两场进行扫描。第一场扫出光栅的第 l、3、5、7…等奇数行,第二场扫第2、4、6、8…等偶数行,并把扫奇数行的 场称为奇数场,扫偶数行的场称为偶数场。这样每一帧图像经过两场扫描,所有 像素就可全部扫完。假如每秒传送25帧图像,那么每秒扫描50场,即场频为 50I-Iz,亮度闪烁现象就不会出现.显然在隔行扫描方式中,工=2厂r,即场频是 帧频的两倍,同样,行扫描频率也减低到逐行扫描时的一半,结果使信号带宽也 减小一半.而每帧画面扫描的总行数是两场扫描行数之和,仍与逐行扫描时相同。 这样,隔行扫描既保持了逐行扫描的清晰度,又达到了降低图像信号频带的目的。 隔行扫描的扫描结构要比逐行扫描的复杂,下面举例说明隔行扫描过程。图 2.2是7行隔行扫描方式光栅形成的示意图。如图Z2(a)中所示,电子束由左上 端开始按I·I’、3.3’、5-5’……等顺序扫描,即第一场(奇数场)顺序扫第l、3、5、 7等奇数行;当扫到第一行的一半(点a)时,正好扫过3行半,完成了第一场(奇 数场)扫描。电子柬立即返回到a,点,并由a’点开始第二场的顺序扫描,首先扫 完第7行余下的半行,紧接着扫描第2、4、6、等偶数行.当扫到右下端第6行 末(点6’)时,也扫了3行半,完成了第二场(偶数场)扫描。两场扫描行数共为7 行,恰好是一帧的扫描行数.其中偶数场的光栅应刚好落在奇数场光栅的中问, 即两场光栅恰好镶嵌,这样才能构成一幅隔行扫描的均匀光栅,并得到最高图像 清晰度.瓦和L分别表示一帧数据的场周期和帧周期。由于隔行扫描既减小了 闪烁感,又使图像信号的频带仅为逐行扫描的一半,因此世界各国都采用隔行扫 描的电子扫描方式.需要强调指出的是,隔行扫描方式要求每帧扫描总行数为奇 数。因为只有这样,在扫描锯齿波电流波形项点位置对齐的情况下方可使相邻两 场均匀嵌套。隔行扫描方式中,NTCS制式下的工=60Hz,,每帧扫描的行数为 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 525行。PAL制式-F的场频f,=50Hz,每帧扫描的行数为625行.奇数场和偶 数场两场图像相互嵌套形成一幅完整的图像。隔行扫描方式中,帧频没有改变, 为251-Iz,但由于将每一帧分成两场来传送和显示.因此,重现画面的闪烁频率 变成了50Hz,这在很大程度上克服了闪烁现象。 (a)隔行扫描光栅㈣扫描电流波形 图22隔行扫描光栅及扫描电流波形图 2.2数字视频信号及ITU-RBT.656标准分析 2.2.1数字视频信号及编码方式 从摄像头的光电转换器件得到的视频信号都是模拟信号。模拟信号是在时间 和幅度上连续的信号.在某些场合下,对模拟电视信号进行数据处理是非常困难 的,所以需要对模拟电视信号进行模,数转换,转换后的信号称为数字视频信号, 对数字视频信号进行处理要比对模拟视频信号进行处理方便的多。数字视频信号 是在时间上和幅度上都离散化的视频信号。将模拟视频信号转化为数字视频信号 需要抽样、量化和编码三个步骤吲。 抽样是用每隔一定时间的信号值序列代替原来在时间上连续的信号,也就是 在时间上把模拟信号离散化。量化是用有限个幅度值来近似原来连续变化的幅度 值,把模拟信号的连续幅度值变为有限数量的有一定间隔的离散值。编码则是按 照一定的规律把量化后的值用二进制数字表示.经过抽样、量化和编码后所得到 的数字信号就是视频I,cM(Pulse Coding Modulate)信号[23J124J。 模拟信号数字化的方式有两种,即复合编码方式和分量编码方式。复合编码 是将复合视频信号直接编码成PCM形式.复合视频信号又称为彩色全电视信号, 它包含亮度信号和色度信号.分量编码是将三基色信号R、G、B分量或亮度和色 差信号Y、(B.Ⅵ、(R.Ⅵ分别编码成PCM形式,然后将这些信号时分复用合成为 数字复合电视信号。根据数字视频信号的抽样频率和格式,现行的扫描制式主要 有625行/50场和525行/60场两种,它们的行频分别为15625Hz和15734.265I-Iz. ITU--R601分量编码标准的亮度抽样频率为13.5MHz,这恰好是上述两种行频 的整数倍嘲。对于625行/50场的视频信号,每行的抽样点数为864个。对于525 行/60场的视频信号,每行的抽样点数为858个。按照国际现行电视制式,亮度 6 河海大学工学磺士论文 第二章视频信号研究 信号最大带宽是6MHz。根据奈奎斯特抽样定理,抽样频率至少要大于2×6= 12MHz,因此取13.5MHz是合适的。由于色差信号的带宽比亮度信号窄得多, 所以在分量编码时两个色差信号的抽样频率可以低一些,同时也考虑到抽样的样 点结构满足正交结构的要求ITu.RBT.656建议两个色差信号的抽样频率均为亮 度信号抽样频率的一半,即6.75MHz,每行的采样值点数也是亮度信号采样值点 数的一半,即分别为432个,行和429个珩.因此,对演播室数字电视设备进行 分量编码的标准是:亮度信号的抽样频率是13.5MI-lz,两个色差信号的抽样频率 是6.75MHz,其抽样频率之比为42.2,因此也称为4:2:2格式.对于信号源信号 处理的质量要求更高的设备。还可以采用4:4:4的抽样关系.模拟电视有PAL、 NTSC等制式,必然会形成不同制式的数字视频信号,不便于国际数字视频信号 的互通。为了获得高质量的数字化电视信号和便于国际间的节目交换,国际无线 电咨询委员会(ccIR)通过了第一个关于彩色电视信号数字编码的建议,即 CCIR601号建议,1993年变更为ITU-RBT.601分量数字系统建议.该建议中确 定以分量编码为基础,即以亮度分量Y、和两个色差分量R-Y、B-Y为基础进行 编码,作为电视演播室数字编码的国际标准,现称为ITU-RBT.656标准126].在本 课题中采用该标准对复合视频信号(cvas)进行数字化,采用的是4:2:2格式。下 面对该标准做详细分析. 2.2.2 ITU-RBT.656标准视频信号分析 ITU-RBT.656标准是在国际电信联盟无线电通信部门656-4号建议书中提出 的,它的全称是工作在ITU-RBT.601建议(部分A)的4:2:2级别上的525行和625 行电视系统中的数字分量视频信号的接口.实施这种标准是为了在525行和625 行两者间提供一种世界范围兼容的数字化方法127删. 该标准在单一信号源与单一终点之间提供了单向互连。数据信号采用编码成 8比特字(也可为10比特字)的二进制信息的形式.这些信号包括:视频信号、定 时基准信号和辅助信号.nu—RBT.656标准视频数据的场间隔定义如表2.1所示. 表2.1场间隔定义 数字场消隐 625 525 开始(v=1) 结束(v=o) 行624 行23 行l 行20 开始(V=1) 结束(v=0) 行311 行336 行264 行283 数字场标识 第一场 F=0 第二场 F=I 行l 行3t3 行4 行266 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 在经视频解码器输出的数字视频数据中,如果8个最高有效比特都是l或都 为0,则该数据字用于标识目的,所以256个8比特字中只有254个可以用于表 示信号值. 在4:2:2的数据格式中,亮度信号的采样频率是色度信号采样频率的两倍, 两个亮度采样点对应一个色度采样点.视频数据字是以27兆字/秒的速率复用传 送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr…….其中,Cb,Y,Cr这三 个字指的是同址的亮度和色差信号取样,后面的Y字对应于下一个亮度取样。 在r13J-RBT.656标准625行/50场4:2:2格式中,一行数字视频信号在数据 流中的构成如图2.3所示。 图2.3一行数字视频数据流的构成 从上图可以看出,一行视频数据包括有效视频数据、定时基准数据和消隐数 据。有864个亮度Y采用点,432个色度Cb采样点和432个色度cr采样点, 每行数据一共有1728个字节,其中1440个字节的有效视频数据,共计720个像 素。每个像素都有自己的亮度数据Y,每两个相邻的像素共用一组色差数据Cb、 cr,视频数据输出顺序是Cb,Y,Cr,Y,Cb,Y,Cr,..…..相邻两个共用色 差信号的像素构成一个宏像素,一个宏像素占4个字节.其余288个字节由定时 基准信号和消隐信号组成。 一行数字视频流中有两个定时基准信号FF 00 00 SAV和FF 00 00 EAV,FF oo 00 SAV在每个视频数据块的开始,FF 00 00 EAV在每个视频数据行的结束 (End ofActive Video,EAr).每个定时基准信号数据由4个字节的序列组成,格 式如下:FF 00 00 XY,前三个是固定前缀(以16进制表示),第4个字节包含定 义的场标识、场消隐状态和行消隐状态的信息,定时基准信号内的比特分配如表 2.2所示. I 河海大学工学硕士论文 第二章视频信号研究 表2.2定时基准信号 数据位 第一个字节 第二个字节 第三个字节 第四个字节 伊F) (∞) (∞) o(Y) 9(MSB) l 0 0 l 8 l 0 0 F 7 1 0 0 V 6 l 0 O H 5 l O 0 P3 4 l 0 0 P2 3 l O 0 Pl 2 l O O P0 l l 0 0 0 0 l O O O 表2.2所示的数值是为10比特接口的建议值。为了与己有的8比特接口兼 容,Dl和DO比特的值未作规定.第四个比特中,用于SAV和EAV的保护比特 如表2.3所示,最高位固定为l,F为场标志位,第一场为‘‘o竹,第二场为“l”,v 为‘‘0”时处于有效数据阶段,为“l”时处于场消隐阶段;H在SAV中为‘‘o竹,在EAV 中为“1”.Po,Pl,P2,P3为保护比特位,它们的状态决定于F、v和H的值, 采用这样的方法,可以在接受方纠正一个比特的误码及检测两个比特的误码。 表2.3保护字节 F V H P3 2 Pl P0 0 O 0 O O O O O 0 l l l O l O l O l O l l 0 l l O l l 0 l 0 O O l l l l O l l 0 l O l l O 1 l 0 O l l l O 0 0 I 在输出的视频数据流中,数字消隐期间出现不用作定时基准码时,应在复用 起来的数据中的适当位置上填入相当于Cb,Y,cr,Y信号消隐电平的80h,1011, 8011,1011等序列. 经过上文对ITU-RBT.656标准的分析,ITu.RBT.656标准625/50Hz扫描格 式的视频数据,每秒25帧数据,每帧数据625行分两场输出。其中l—22行、311 -335行以及624"--625行是场消隐数据,23---310行和336"--623行是有效视频行. 同时,从ITU-RBT.656标准的数据格式的行、场结构的定义可以看出,两个定 时基准信号SAV、EAV,在其中包含了关于同步的所有信息:包括奇偶场、有效 期、消隐期等.系统可以根据这些同步信息对视频数据进行取舍,根据视频图像 画面合成的需要提取其中的有效视频数据,再组合成一路视频数据输出,从而实 现视频图像画面的分割。 9 河海大学工学硬士论文 基于FPGA的视频图像面面分割器的设计 2.3本章小结 .本章根据视频图像画面分割系统的设计需要,对电视的扫描方式和视频信号 标准详细的进行了介绍。在电视的两种扫描方式介绍中,对隔行扫描和逐行扫描 的原理进行了分析。在对视频信号标准的分析中,介绍了模拟视频信号数字化的 方法,对本系统视频解码输出的ITU-RBT.656标准的视频数据进行了详细的分 析。 10 河海大学工学硕士论文 第三章视频图像画面分削器的硬件设计 第三章视频图像画面分割器的硬件设计 3.1视频图像画面分割器的硬件总体设计 本系统主要实现以下功能:由多个摄像头采集多路模拟视频数据,经过视频 解码芯片SAA71 13将模拟视频数字化,由FPGA对根据视频图像画面分割的需 要对多路视频数据的有效部分进行提取,最终将多路视频图像合成一路,经视频 编码器SAA7121转换为PAL制式的复合视频信号输出到电视机显示。本文系统 结构框图如图3.1所示,从系统结构图可以看出,系统主要组成包括:视频摄像 头,视频解码芯片SAA7113、FPGA及其配置芯片PROM、视频编码芯片SAA7121 以及SRAM(静态存储器).下面分别对各个部分的功能和设计进行介绍. 图3.1视频图像画面分割器系统结构图 3.2 FPGA及其配置电路 FPGA是整个系统中的核心处理部分,首先,根据图像画面合成的需要,从 各路视频数据中提取有效视频信号;然后,将提取的有效视频信号按照一定的规 则存储到SRAM(静态存储器)中,在存取视频数据的过程中,由FPGA完成对存 储器的读写控制,地址产生操作等.最后,将提取的各路有效视频数据重新合成 一路,送视频编码电路输出到电视机显示,实现视频图像画面分割的功能。 本系统选用Xilinx公司的Spartan3系列中的XC3S400PQ208型号FPGA作为 核心处理芯片[2q1.Spartan3系列FPGA是xilinx公司的基于90nm技术的高性能、 低功耗可编程逻辑器件,为电路设计提供了一个可替代传统定制ASIC设计的功 能强大、成本经济的灵活的解决方案。 选用Spartan3系列中的xc3s400rw208型号FPGA主要是基于以下三个方 面的考虑:首先,该芯片工作最高系统时钟频率为326MHz,支持多达17种单 河海大学工学硕士论文 基于FPGA的视频图像西面分割器的设计 端接口标准和7种差分接口标准。其次,系统等效门数40万门,分布式RAM 容量(Distributed RAM Bits)56Kb,块RAM容量(Block RAM Bits)288Kb,专用乘 法器(Dedicated Multipliers)5个.多达4个数字时钟管理器模块和8个全局时钟 多路复用缓冲器,构成了内部高性能和丰富的时钟资源,从而可提供灵活的系统 时钟解决方案.最大的用户I/O数(Maximum User I/Os)141个.可以充分满足与 其他电路接口的需要。第三,价格比较便宜。综合以上的考虑,选取该型号FPGA 足以满足系统要求。 3.2.1 FPGA接口电路设计 FPGA作为系统的核心处理芯片。主要完成的功能是:通过12C接口对视频 编码电路和视频解码电路进行配置。根据视频图像画面合成的需要,对各路有效 视频数据进行提取,并将提取的各路有效视频数据按照一定的规则存储到SRAM 中。在图像合成的过程中,把有效视频数据顺序从存储器中读出并在相应位置插 入定时基准信号和消隐数据合成一路视频图像。合成的图像数据经视频编码器转 换成PAL制式的复合视频信号输出到电视机显示. FPGA所涉及的所有接口电路设计包括:视频解码电路模块,视频编码电路 模块,存储器模块和FPGA配置电路模块.FPGA与视频解码模块的接口有 SAA7113的8位视频数据线VPO和同步时钟线LCC。FPGA在每个LCC时钟 的上升沿,对SAA7113的VPO口采样接收一个8位的视频数据.与存储器电路 模块的接口有存储器SRAM的数据信号线、地址线信号和控制信号线.与视频 编码电路的接口有S从712l的LCc和MPO.MP7。由于FPGA电路引脚达208 个之多,FPGA的接口电路图在附录中给出. 由于FPGA内部配置存储单元采用SRAM结构,掉电后不能保存自身配置, 所以把FPGA的编程数据存储在PROM中,每次上电时由PROM向FPGA加载 程序,下面具体介绍FPGA的配置电路部分。 3.2.2 FPGA配置模块 在FPGA的设计中,设计的最终结果必须转化为FPGA的配置文件,下载 配置到FPGA硬件中,才可以实现设计的功能。FPGA的I/O逻辑功能和内部逻 辑单元的互连是通过配置数据建立的。配置电路的设计是整个设计过程中必不可 少的关键环节。 XC3S400型号FPGA支持从串模式(Slave Serial)、主串模式(Master Serial)、 从并模式(Slave Parallel)、主并模式(Master Parallel)、边界扫描模式(Boundar-Sean JTAG)五种配置模式.通过对FPGA的M2、MI和M0引脚进行设置,可以实现 对其下载配置模式的选择。配置模式设置如表3.1所示。 河海大学工学磺士论文 第三章视频图像画面分割器的硬件设计 表3.1配置模式设置表 配置模式 M0 Ml M2 同步时钟 位宽 DOUT 主串模式 O O O CCLK输出 l Yes 从串模式 l l l CCLl<输入 l Yes 主并模式 l l 0 CCLK输出 8 No 从并模式 O l l CCLK输入 8 NO JT、AG l O l TCK输入 l No 在从串模式和从并模式下,ccLK为FPGA输入配置时钟;主串模式和主并 模式下,CCLK为FPGA输出配置时钟;JTAG模式下,使用TCK作为配置时钟。 串行模式、主并模式和JTAG模式下,DIN/DO作为配置数据线;从并模式和主并 模式模式下,D0-D7作为配置数据线。在JTAG模式下,用专用的引脚来TDI、TDO、 TMS、TCK来配置FPGA,这种配置模式在所有的配置模式中具有最高的优先级, 可以独立于M2、M1和M0配置模式的选择.当采用JTAG模式进行配置时,其他 的配置模式自动处于无效状态。 根据不同的设计需求,配置模式可以通过M2、M1和M0进行选择。对FPGA 进行配置流程图如图3.2所示. 图3.2 FPGA配置流程图 在FPGA上电时,首先,检测FPGA的供电电源电压是否达到系统要求,如 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 果电源电压达到要求,则清空FpGA内部配置存储单元,通过查询INIT B引脚来 检测清空FPGA内部配置存储单元操作是否完成。当清空完成之后,BpINIT B为 高电平。然后,对模式配置引脚进行采样,按照对M2、M1和M0iJI脚的设置确 定的配置模式下载配置数据到FPGA,并对配置数据进行CRC校验.如果校验出 错,则置INIT B引脚为低电平,重新开始配置。最后,经过CRC校验下载数据 无误后,FleA开始按照配置的数据进入工作状态。在FPGA的工作过程中,置 PROM B引脚信号为低电平会重新开始FPGA的配置。 本系统采用主串模式对FPGA进行配置,选用的配置芯片为Xilinx公司XC3S 400的专用串行配置芯片XCF02S/301,同时将Fp(认的JTAG接口和XCF02S的JTAG 接口连接起来用于在线下载调试。FPGA与XCF02S的接口电路图如图3.3所示. 土巴已—————————————————————()—aL聃‘ 图3.3FPGA与XCF02S的接口电路图 主串方式是一种最常见最简便的配置方式,在硬件接口上,十分简单,PROM 与FPGA之间仅有5条信号线的接口,不需要外部的时钟配置电路.采用此方式对 FPGA进行配置时,将FPGA的模式选择引脚M0、M1和M2分别置0,选择配置模 式为主串配置模式,配置数据从PRoM下载到FPGA.在此配置模式下,XCF02S 的Cu(与FPGA的配置时钟引脚CCLK相连,Ccu(作为输出引脚使用,由FPGA 提供配置同步时钟。XCF02S的DO引脚与FPGA的DIN引脚相连,由XCF02S向 FPGA发送配置数据.XCF02S的cE引脚与FPGA的引脚DONE相连,cE引脚由 FP(认的D‘讣jE信号来驱动.XCF02S的cE引脚低电平有效,当FPGA上电时,配 置引脚DONE为低电平,选中配置芯片.当配置完成时,配置引脚DONE由低电 平跳变为高电平,释放配置芯片。o队sT引脚与FPGA的[NIT B引脚相连,在 系统上电时,FPGA清空内部配置存储单元.当存储单元清空后,INIT B为高电 平输出到OE/RST,使能XCF02S数据输出。FPGA的PROG B引脚与XCFO 2S的 CF引脚相连。当PROG B为低电平时表示配置过程异步复位,当其为高电平时 表示配置正常继续.当CF为高电平、CE和OE使能有效时,数据引脚DIN在每一 配置时钟上升沿输出一位配置数据到FPGA.XCF02S和FPGA的FFAG模式连接 是通过将XCF02S芯片的TDI引脚和FPGA的Tt)o引脚连接实现的。 l● 河海大学工学硕士论文 第三章视频图像面面分割器的硬件设计 3.3视频解码电路 本系统的前端采用摄像头完成视频信号的获取。根据摄像头的原理,被摄物 体反射光线,传播到镜头,经镜头聚焦到CCD(Charge Coupled Device)芯片上, CCD根据光的强弱积聚相应的电荷,经周期性放电,产生表示一幅幅画面的电 信号,经过滤波、放大处理,通过摄像头的输出端子输出标准的复合视频信号, 其扫描制式为PAL制式,每帧625行,分奇偶两场,场频50Hz. 摄像头获取的PAL制式复合视频信号,要通过FPGA实现对多路视频图像 的提取、存储和合成等处理操作,必须复合视频信号转换成数字信号,在数字领 域对视频数据进行处理。视频解码电路部分的功能是将摄像头输出的复合视频信 号转换成数字视频信号。根据国际电视系统的制式标准和我国的现行电视系统的 制式,本文中选取支持多种制式视频信号输入和自动制式检测的视频解码芯片 SAA7113. SAA7113是Philips公司生产的一款功能强大视频解码芯片,兼容PAL、 NTSC、SECAM多种制式,可以自动检测50Hz.或60Hz.场频,在PAL、NTSC之 间自动切换.其内部包含能实现视频信号源选择的模拟预处理电路、抗混叠滤波 器、A/D转换器、自动筘位、自动增益控制(AGO、时钟发生(CGC)、数字 多制式解码、亮度,对比度,饱和度控制(BCS)等。低功耗(四.5w),低电压(3.3V), dx封装(QFP44)13”,主要应用于多媒体、可视电话,图像处理及安防等领域嘲。 该芯片有4路模拟信号输入端I:1,输入可以为4路复合视频信号(CVBS), 可以通过对内部寄存器的配置实现对各路视频输入端口的选择。视频输出格式为 标准的rIU-RBT.656 Y1}V 4:2:2格式,由8位VPO视频数据总线输出,该视频 数据格式标准在第二章中己傲过详细介绍,在这里不再重复. 3.3.1 SAA7113外围电路设计 SAA71 13视频解码芯片完成将输入的PAL制式的复合视频信号转换为 ITu·RBT.656标准格式的数字视频信号,供FP(认处理,其接El电路图如图3.4 所示. 在视频解码电路接口设计中,视频输入电路、电源电路以及时钟电路的设 计采用的SAA7113典型应用的电路。模拟视频信号通过引脚AllI、AIl2、A121、 A122输入.芯片SAA71 13 T作电压为3.3V,系统采用3.3V直流电源对其供电, 其内部的模拟电路模块需要独立供电,其工作电压也为3.3V,将3.3V电源通过 lull的电感连接到模拟电路电源以减少模拟电路与数字电路之间的干扰。时钟电 路部分,外接24.576MHz晶体,晶体的两端分别与XTAL和XTALI相连,晶体 两端分别通过10pF的无极性电容与相连组成振荡电路,时钟信号经过内部锁相 环电路处理,使LCC引脚输出27MHz的同步时钟。 珂海大学工学硕士论文 基于Flea的视顿图像面面分割器的设计 图3A视频解码电路接口图 片选引脚以及12C接口引脚与12C控制器相连.本设计中采用FPGA模拟 12C接口对视频编码芯片和视频解码芯片进行配置,由于系统中有两片SAA7113 需要通过12c总线进行配置,处于寻址的考虑,将其中一片SAA7113引脚RTS0 悬空,则4AH作为写操作地址,4BH读操作地址;另一片S从7113引脚RTS0 接3.3K下拉电阻,则写操作地址为48H,读出操作地址为49H。 视频输出为8位数据总线VPO和同步时钟信号I.,CC,直接与FPGA的I/O 口相连.VPO输出为ITU-RBT.656标准YUV(4:2:2)的视频数据,LCC为FPGA 正确采集8位视频数据提供同步时钟. 3.3.2 SAA7113内部寄存器配置 根据SAA7113芯片资料的介绍,在芯片上电后,首先要通过12C总线对其 内部寄存器进行初始化配置。SAA7113的内部寄存器共有256个,其地址从00H 到FFI-I.在所有的寄存器中14H、18H-1EH、20H~3FI-I、63H~FFH均为保留地 址;00H、IFH、60H,.-62H为只读寄存器;只有以下寄存器可以读写:01H,--05H(前 端输入通道部分),06I"I-13H、15H~171-I(解码部分),40H,--60H(常规分离数据部 分)。 按照视频输入为PAL制式复合视频信号,输出为ITU.m}T.656标准 YUV(4:2:2)格式视频数据的要求,对SAA7113的工作寄存器进行配置如表4.1 所示.配置数据都是以16进制的格式表示的,一共配置28个寄存器.其中关键 的几个寄存器有: 地址02H的寄存器为模拟视频输入选择控制寄存器,低四位D0---D3是输入 模式选择位.当配置为0000时,选择从通道Alll(引脚4)输入CVBS视频信号; 当配置为0001,选择从通道AIl2(日l脚7)输入CVBS视频信号。高四位为1100, 启动SAA7113内部的放大器和抗锯齿滤波器,转换为16进制分别为COH和 ClH。 河海大学工学硕士论文 第三章视频图像面面分割器的硬件设计 地址08H的寄存器为同步控制寄存器,本设计根据需要配置为10111000, 启动自动场检测,为625行50Hz场频的格式,启动PLL,水平频率锁定等. 地址10H的寄存器用来配置场同步信号的位置,由该寄存器的I)3位控制, 在此把D3置为l,其他选择默认值,在该种配置下,奇数场从第23开始为有效 视频数据,偶数场从336行开始为有效视频数据。 地址IIH-12H的寄存器为输出控制寄存器,在llH配置寄存器中,D2控制 RTS0,RTCo和RTSI的输出,配置0为输出高阻状态,配置1为输出有效状态, 在本设计的视频采集中,采用的是对定时基准信号进行检测来提取有效视频数 据,没有用到这两个引脚,在这里还是把他们配置为有效状态,以备用到。D3 是配置输出的VPO总线,配置为l,使输出总线VPO处于有效输出状态.12H 高4位D7~D4是RTSl的配置位,低四位D3~D0是RTS0的配置位,把高四位 配置为1110,RTSI作为场同步信号输出,低四位配置为Olll,RTS0配置为行 同步信号输出,vPo输出的数据格式为每行720个采样点,1440个字节的有效 视频数据。其他寄存器配置按照默认的配置进行配置. 表3.2 SAA7113内部寄存器配置表 地址 OlH 02H 寄存器功能 水平增益延迟 模拟输入控制1 03H 04H 05H 06H 07H 08H 09H OAH OBH OCH ODH OEH 0FH 10H llH 12H 13H 14H 15H 16H 40H 模拟输入控制2 模拟输入控制3 模拟输入控制4 水平同步开始 水平同步停止 同步控制 明度控制 亮度控制 对比度 色度.饱和度 色相控制 色度控制 色度获取控制 格封延迟补偿 输出控制l 输出控制2 输出控制3 保留 vGAl卫开始 VGATE停止 分离器控制l 默认值 08H COH 33H 00H ooH E9H ODH 98H OlH 80H 47H 40H ooH 0lH 2AH 00H OCH 0lH 00H 00H 00H 00H 设置值 08H COH 33H 00H 00H E9H EOH B8H 01H 80H 47H 42H 01H OlH OFH 08H OCH E7H OOH 00H 00H 00H 配置功能简述 推荐值 选模式0,输入通道选择Alll, 输入复合视频信号,放大器及抗 锯齿滤波器启动.配置Cl则选 择通道All2. 自动增益控制 静态增益控制通道l取值 静态增益控制通道2取值 对应不同的延迟时间 对应不同的延迟时间 50Hz.625行,自动场频检测 CVBS模式 取值128(删-RBT.656标准) 取值L109(ITU-RBT.656标准) 取值1.0(ITU-RBT.656标准1 取值0 正常带宽(800KHz),FCTC正常 速度,PAL制式 自动色度控制 标准111J.RBT.656格式 彩色输出自动控制, RTS0、RTSI的输出信号选择 模拟输出信号的控制 VGATE的起始脉冲取值 VGATE的停止脉冲取值 02H 02H 分离器时钟13.5MHz。场频 50Hz 17 柯海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 58H 59H 5AH 5BH 5EH 可编程场编码 分离器的水平偏置 分离器的垂直偏置 场偏移 分离器数据鉴别码 3.4视频编码电路 00H 54H 07H 83H 00H OOH 54H 07H 83H ooH 默认值 默认值 适用于50Hz,625行 默认值 默认值 在本系统设计中,视频解码电路的主要作用是将输入的PAL制式的复合视 频信号转换为ITU-RBT.656标准YUV(4:2:2)格式的数字视频信号,相当于A/D 转换的功能.而视频编码电路则恰恰相反,主要作用是把数字视频信号编码转换 为PAL制式的复合视频信号,相当于D/A转换功能. 本系统选用Philips公司的视频编码芯片SAA7121,将输入的ITU-RBT.656 标准Y1Ⅳ(4:2:2)格式的数字视频信号转换为场频50Hz的PAL制式的复合视频信 号输出。 SAA7121是Philips公司生产的一种高集成度视频编码芯片,可以将ITU -RBT.656标准数字视频信号编码为PAL或者NTSC制式的复合视频信号输出.芯 片采用3.3V电源供电,可通过其12C接口对芯片内部电路进行控制。该芯片具有 如下特点【33】: (1)三个片内lO位视频D/A转换器分别对应Y,c和CVBS; (2)实时载波控制; (3)多种数据输出格式。 视频编码芯片.SAA7121的内部结构图如图3.5所示. 图3.5SAA7121内部结构图 从内部结构图可以看出,芯片内部的各个电路都具有12C控制接口,通过12C 总线可以实现对其内部电路的控制。8位的视频输入总线可以接收ITU.RBT.656 标准YUV(4:2:2)格式的视频数据。编码单元将接收的数字视频数据进行编码, 并通过后面的D/A单元将输入的视频数据转换对应的Y,C和CVBS视频信号. 河海大学工学硕士论文 第三章搅频图像画面分割器的硬件设计 D/A单元是由三个DAC组成,分别完成复合视频信号CVBS信号、色度信号e 和亮度信号Y的数模转换输出. 3.4.1 SAA7121外围电路设计 由SAA7121组成的视频编码电路如图3.6所示.芯片的供电电路部分与前 面介绍的视频解码电路基本一样.SA引脚为SAA7121的从地址选择引脚,在基 于12C总线对其内部寄存器进行配置的过程中,SAA7121的SA引脚接地, 则 器件的12C总线的寻址地址为88H;如果接高电平,器件的12C总线的寻址地址 为scH,在本设计中。把SA引脚按地置为低电平,12t2总线的寻址地址为88H, 因为SAA7121器件的内部寄存器是只写不能读出的,只有一个写操作地址。 图3.6视频编码电路接口图 SAA7121的输入时钟信号LLC的频率为27MHz,由FPGA在输出合成的视 频数据时同步提供,如果LCC直接由SAATll3的LCC引脚提供,则需要把 SAA7113的RTCO引脚同SAA7121的RTCI引脚相连,可以提高信号的质量. 由于本设计中的SAA7121的LCC由FPGA提供,所以在设计中就没有用到RTCI 引脚.MP0-MP7的视频数据输引脚的输入数据为11U-RBT.656格式的数字视频 信号,经过SAA7121芯片内部数据管理模块分离出Y信号和Cb、Cr信号;然 后再送到片内相应的数模转换模块将数字视频信号变换为复合视频信号。最后由 CVaS(复合视频信号)或者Y、C引脚输出相应的视频信号.通过视频数据线连 接到电视机的AV输入,使合成的视频图像在电视机上显示。 3.4.2 SAA7121内部寄存器配最 SAA7121数字视频编码芯片的寄存器有125个:寄存器地址00H到25H. 为保留寄存器,蠢jc认值为00H.主要的寄存器配置的寄存器地址及相应的配置数 19 河海大学工学硬士论文 基于FPGA的视频图像面面分割器的设计 据如下表4.2所示。其中最主要的寄存器配置有: 地址3AH的寄存器为输入端口控制寄存器,该地址一个字节的寄存器只有 CBENB(D7)、SYMP(D4)、Y2C(D1)和OV2C(D0)需要配置,其余数据位是0, 根据实际应用将该寄存器设置为13H,输入Cb,Cr和Y都是二进制数据,编码 输出对应ITU-RBT.656格式的视频数据。 地址5AH的寄存器为色度控制寄存器,在视频编码时,色度信息直接来自 对输入数据的编码,而不是通过查找表产生色度信号. 地址62H的寄存器为标准控制寄存器,根据本设计采用ITU-RBT.656数据 格式,把标准配置为每行864个采样点,输出PAL制式的视频数据的格式。载 波控制寄存器63H—66H,根据PAL载波频率配置为(2A098ACBH).其他寄存 器的配置的功能在这里不再一一叙述,有关SAA7121内部寄存器功能的详细资 料见参考文献【33】. 图3.3 SAA7121主要内部寄存器配置 地址 26H 27H 28H 29H 3AH 5AH 5BH 5CH 5DH 5EH 5FH 6lH 62H 63H 64H 65H 寄存器功能 宽屏信号 宽屏信号 实时控制内插开始 内插结束 输入端口控制 跛认值 ooH ∞H 00H ∞H 03H 色度控制 ∞H u信号增益控制 ∞H v信号增益控制 00岫 u最高位增益,实时控 ∞H 咖 制,黑电平 v最高位增益,实时控 制,消隐电平 消隐电平控制 35H 视频信号标准控制 05H 彩色信号幅度 咖旧 载波控制0 ∞H 载波控制1 00H 载波控制2 00H 设置值 00H 00H 2lH lDH 13H 3FH 7DH A阴 23H 35H 35H 05H 2FH CBH 8AH 09H 配置功能简述 关闭宽屏设置 关闭宽屏设置 PAL制式内插开始设置 PAL制式Burst结束 输入Cb,Cr和Y都是二进制数 据,编码输出对应ITU-RBT.656 格式的视频数据。 PAL制式,视频数据来自输入 端口,而不是通过查找表产生。 设置GAINU=125 设置GAINV=175 设置黑电平BLCKL=35 设置消隐电平BLNNL=53 默认设置 每行864个采样点,PAL编码。 PAL编码标准 低位 PAL载波频率705268427 (2A098ACBH) 66H 载波控制3 00H 2AH 高位 3.5图像数据存储电路设计 从视频解码芯片SAA7113中输出的数字视频流,根据视频图像的合成需要, 由FPGA对各路有效视频信号进行提取,并把提取的各路视频信号重新合成一 路。需要对提取的多路视频数据进行暂存以完成图像的合成。根据第二章所述的 ∞ 河海大学工学硕士论文 第三章视频图像面面分割器的硬件设计 ITU·RBT.656标准的视频数据,一帧图像的有效视频数据容量为576x1440= 829440Byte,视频数据的传输速率为27MByte,s,待存储的数据量比较大,对存 储速度要求比较高。 随着半导体技术的发展,市场上可以用来作为视频数据存储器件有多种,如 动态存储器SDRAM、DRAM和静态存储器SRAM等。SDRAM和DRAM属于 动态存储器,容量大比较大,但速度比SRAM慢,而且由于其结构上的特点在 使用时需要定时刷新,需要设计刷新电路,其时序比较复杂,给系统设计带来难 度且不能保证效果。SRAM器件存储速度快、时序相对简单,容易控制,构成的 存储系统比较稳定,所以本系统选择快速的SRAM作为视频图像存储器。 本系统采用两片ISSI公司IS61LVl0248[34]型号SRAM作为图像的存储器,通 过设计SRAM读写控制模块和存储切换模块轮流对两片存储器进行乒乓操作. 当FPGA将提取的各路视频图像数据保存到SRMAI时,同时视频图像合成模块 读取SRAM2中的图像数据进行合成。当完成SRAMl的存储之后,SRAM2中的 数据也已经读取结束,此时。两片图像存储器通过存储切换模块进行总线切换, 将SRAMI中的数据读出供视频图像合成,SRAM 2开始存储各路图像数据,即 一个存储器处于写入状态时,另一个处于读出状态,并按照一定的规则相互切换。 很多图像处理系统基本上都是对一路视频数据进行采集,而本系统要对多路 视频数据进行采集。因此对于数据的存储和读取都要设计相应的算法来实现.由 于算法比较复杂,而且对于不同的视频图像画面合成需要存取的算法也不相同, 有关本系统对SRAM读写控制模块和两片存储器切换模块设计的内容在第四章 系统软件设计中再傲详细介绍. IS61LVl0248型号SRAM是种高性能的存储器,其容量大小为1024Kxgbit。 速度等级最高支持7as操作接口时序,完全满足速度存储容量的要求。该型号 SRAM有20位地址线Addr0-Addrl9,8位数据线以及3根控制线CE、OE,WE. SRAM的地址线、数据线和控制线直接与FPGA的I/O口相连即可.存储器与 FPGA接口电路图如图3.7所示. 暑g帚——} 嚣鞲 ㈨u叫 ~。 牟一 #瑙 嚣满 ; _一 i 罨--;,荫J 划 j 暑黼晶—珥 i霎 暑辩茹—_詈 誊l 錾 蠢耄 : 薹 耋 气 图3.7存储器与FPGA接口电路图 2l 河海大学工学硕士论文 3.6电源设计 基于FI'GA的视频图像画面分割器的设计 3.6.1系统电源需求分析 1.FFGA(XC3S400)所需的电源有以下几种: VCCINT:内核逻辑所需的电源,标准电压为1.2V; VCCO:输出驱动所需供电,根据输出信号类型可选择为2.5V、3.3V; VCCAUX:辅助供电电压,标准电压为2.5V. 2.SAA7113和SAA7121所需电源: 圪。:数字电压典型应用电压数值3.3V; y赢:模拟电源典型应用数值3.3V; 另外,FPGA配置芯片XCF02S的电源需求为:VCCINT-3.3V、VCCO-2.5V、 VCCJ-3.3V.存储器SRAM(IS61LVl0248)的需求电源3.3V. 综合分析最终确定硬件设计中所需的电源种类:3.3V、2.5V、1.2V。 3.6.2电源电路设计 硬件设计中用的所有电源种类:3.3V、2.5V、1.2V,外部通过5V直流电源 提供,系统内部需要实现的是5V到33V、2.5V和12V的转换。由于系统的工 作频率高,且这几个电压等级的压差小,需要选择大电流低压差瞬态响应快的稳 压模块,因此在系统的设计中选择了LMl086系列和LP388x系列的稳压器。电 源电路如图3.8所示. LMl086[3习为低压差三端稳压器,输出电流为1.5A,压差在最大输出电流时 也不会超过500mV,是小功率微处理器理想的电源配件。本设计中采用了 LMl086-3.3和LMl086ADJ两种型号分别实现5V到3.3V和5V到2.5V的电压转 换,其电路分别如图3.8a和3.8b所示,外接直流电压经过5V稳压管IN4110和电 容滤波之后输入LM 1086的输入端驱动其内部电路,输出端接电容滤波的到 3.3V、2.5V电压,其中LMl086ADJ利用其ADJ端口外部电阻分压来实现可调电 压的输出。 LP3882吲是一种高电流快速回应CMOS双输入低压降(LDO)稳压器,其典型 压降为llOmV,无论在任何的线路、负载及温度条件下都可提供准确度达士3% 的输出电压,并具有开关控制以及防止温度过热和电流过高的保护功能,适用于 低电压、高电流的应用方案。其电路如图3.8c所示,将5v的电压经电容滤波输 ,A,.ADJ(Vbias)端口驱动内部控制电路,为负载提供电源的输入电压Vin由2.5V提 供,CMOS双输入结构可以利用超低的此电压提供低至1.2V的输出电压. 河海大学工学硕士论文 第三章视频图像画面分割器的硬件设计 3.8b.5V~2.SV电il转换电路 3Jk,,5v二ljv电源转换电瘩 图3.8电源电路 3.7PCB设计 在印刷电路板的设计过程中,应该遵循一些高频电路的设计基本原则,否则 会使系统工作不稳定甚至不能正常工作,一般的解决办法包括布局设计、布线设 计、电源的分配阳嗍. 3.7.1 PCB板的基本设计原则 1.布局设计 首先,按功能、电源电压、数字电路和模拟电路分类。然后,按高速和低速、 电流大小分类。按照上述分类方法,同一类器件尽可能放置在一起,以避免不同 类别之间相互干扰。同时要考虑PCB尺寸大小。PCB尺寸过大时,印制线条长, 阻抗增加,抗噪声能力下降,成本也增加;过小,则散热不好,且邻近线条易受 干扰。本设计的PCB尺寸为190mmxl27mm.然后确定特殊元件的位置。最后, 根据电路的功能单元,对电路的全部元器件进行布局。 2.布线设计 在布线之前,首先要进行信号线分类,将信号线分成高速信号线、低速信号 线、大电流信号线、敏感信号线;在布线顺序上,应先布高速信号线,后布低速 信号线。滤波电容除了具有电容特性以外,还存在着电感和电阻,同样,印刷线 引线也存在着一定的电感,而且,电感量的大小将直接影响到滤波效果。为了减 小滤波电容的引线电感和电阻,在布线时,滤波电容的引线应尽量短,线宽则应 尽可能大.同理,匹配电阻的引线也要短,否则会降低匹配电阻的作用,并因存 在电感而引入干扰噪声。对于数字电路,时钟电路至关重要,通常它的负载比较 河海大学工学硕士论文 基于FI'GA的视频图像画面分割嚣的设计 多,容易受到干扰,同时也是产生电磁辐射的主要来源,一个2ns上升沿的时钟 可以产生1.6GHz的辐射带宽。走线时应尽量远离其它信号,确保时钟的稳定性。 在本系统的PCB设计中,成组的信号线主要是数据线和地址线。在元器件 位置确定后,首先完成它们的布线,尽可能做到成组、平行分布,同时应尽可能 的短。然后再进行各种控制信号的布线。最后处理电源和接地引脚。 3.电源的分配 在设计印刷电路板时,为单元电路提供高质量的电源,就会使系统的稳定性 大幅度的提高。 首先,应注意板上的通孔,包括插件、器件和过孔。通孔使得电源层上需要 刻蚀开口给通孔留出空间,而有些多管脚元件会导致电源层上出现大的开口,就 可以会引发较大的噪声。 其次,要有足够多的地线。最好每一个信号均有自己独立的回路,而且信号 与回路的环路面积应尽可能小,即信号与回路要并行. 第三,模拟电路与数字电路的供电电源要分开。高速模拟器件一般对数字噪 声很敏感,所以二者的电源要分开。 3.7.2 PCB及电路抗干扰措施 印制电路扳的抗干扰设计与具体电路有着密切的关系,这里仅就PCB抗干 扰设计的几项常用措施做一些说明。 1.电源线设计 根据印制线路板电流的大小,尽量加租电源线宽度,减少环路电阻。同时、 使电源线、地线的走向和数据传递的方向一致,这样有助于增强抗噪声能力。 。 2.地线设计 地线设计的原则是: (a)数字地与模拟地分开。若线路板上既有逻辑电路又有线性电路,应使它 们尽量分开。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部分 串联后再并联接地。高频电路宜采用多点串联接地,地线应短而租,高频元件周 围尽量用栅格状大面积地箔。 (b)接地线应尽量加粗。若接地线用很纫的线条,则接地电位随电流的变化 而变化,使抗噪性能降低。因此应将接地线加粗,使它能通过三倍于印制板上的 允许电流。如有可能,接地线应在2-3ram以上。 (c)接地线构成闭环路。只由数字电路组成的印制板,其接地电路布成团环 路大多能提高抗噪声能力。 3.去藕电容配置 PCB设计的常规做法之一是在印制板的各个关键部位配置适当的去藕电容。 河海大学工学硕士论文 第三章视频图像画面分割器的硬件设计 去藕电容的一般配置原则是: (a)电源输入端跨接10~100uf的电解电容器。 ⑩原则上每个集成电路芯片都应布置一个0.01pF的瓷片电容,如遇印制板 空隙不够,可每和8个芯片布置一个l一10pF的钽电容。 (c)对于抗噪能力弱、关断时电源变化大的器件,如RAM、ROM存储器件, 在芯片的电源线和地线之间直接接入去藕电容。 3.8本章小结 在本章的整个硬件系统的设计过程中.首先根据系统设计的要求,进行整体 电路设计的规划,并将其按实现功能进行模块化;然后对各个功能模块进行设计, 合理选择芯片及其外围电路各元件的参数,并设计各个电路模块之间的接口。最 后将各个电路模块连接起来,实现整个系统硬件的设计。在PCB设计中,按照 PCB设计中的应当考虑的各种问题,如布局布线,电路分配,抗干扰等。最后 完成PCB的设计,送厂商生产出电路板,完成整个硬件设计的任务。 河海大学工学硕士论文 基于FP(3A的视频图像画面分割器的设计 第四章视频图像画面分割器的软件设计 系统的软件设计是系统功能实现的关键。在系统的硬件平台的基础上,通过 对FPGA编程实现对视频解码芯片输出的实时数字视频数据接收,并根据画面合 成需要,对有效视频图像数据进行提取和存储,然后将各路视频数据合成一路输 出到电视机。 4.1视频图像画面分割器的软件总体设计 FPGA系统实现整个视频信号处理的功能,其主要由以下几个功能模块组 成:12C总线接口模块、异步FIFO(先进先出)模块、DCM(数字时钟管理)模块、 有效视频数据提取模块、存储器读写控制模块和视频图像合成模块.FPAG系统 实现功能的系统框图如图4.1所示. 图4.IFPGA实现功能系统框图 系统内各模块功能简要描述如下: (I)12C总线接口模块:在上电时,对视频编解码电路进行初始化配置。在多 路视频图像数据提取过程中,对两片视频解码芯片SAA7113进行动态配置选择 视频输入通道,实现多路视频图像的轮流采集。 (2)异步FIFO模块:因为SAA71 13输出数据的时钟LLC频率为27Ml-Iz,而 本设计FPGA的系统时钟频率为33MHz,所以用异步FIFO模块接收从视频解码 河海大学工学硕士论文 第四章视额图像面面分割嚣的软件设计 芯片SAA7113输出的数字视频数据,解决异步时钟域的数据传输问题。 (3)有效视频提取模块:用来对各路数字视频数据进行识别定位,并且根据 需要对有效的视频数据进行提取。 (4)DcM模块:产生频率为27MHz的时钟信号,为FPGA内部各个模块提 供同步时钟. (5)存储器控制模块又分为地址产生模块和存储器切换模块:用来产生存储 器的操作地址和对两片存储器进行乒乓操作,完成对多路有效视频数据的存储和 读取. (6)视频图像合成模块:在多路视频图像合成过程中,利用提取的各路有效 是视频数据,并插入定时基准数据和消隐数据合成一路符合ITO-RBT.656标准 数据格式的视频数据,实现多路视频图像合成的功能.下面对系统内部各模块的 功能和实现过程分别进行详细介绍. 4.2 12C接口模块设计 SAA71 13和SAA7121芯片都是基于12C0nter-Integrated Circuit)总线的器件, 它们的正常工作都是建立在通过12C总线对其内部寄存器进行正确配置的基础上 例,所以,在介绍对SAA7113和SAA7121进行配置之前.首先对12C总线协议进 行分析. 4.2.1 12C总线协议分析 12C总线协议是Philips公司提出的一种允许芯片闻在简单的二线总线上工作 的串行接121和软件协议140l。12C总线作为一个专利控制总线,已经成为世界性的 工业标准,最主要的优点是其简单性和有效性。由于其接口直接在组件上,因此 12C总线占用的空间非常小,减少了电路板的空间和控制芯片管脚的数量,降低 了互联成本.由于其简单可靠而被广泛应用于集成电路(Ic:Intergraged-Cireui0 及外围设备(4l】【4习。12C总线主要特点如下: 1)总线仅有l根串行数据线(SDA)和l跟串行时钟线(SCL)构成同步串行接 口. 2)每个连到总线上的器件都可以由软件以唯一的地址寻址,并建立简单的主 从关系,主器件既可以作为发送器,也可以作为接收器;而从器件有些只可以做 接收器,比如说显示器;有些从器件既可以做发送器也可以傲接收器,比如说存 储器。 3)多主机总线,带有竞争检测和仲裁电路。可使多个主机任意同时发送数据 而不破坏总线上的数据信息。 4)同步时钟允许器通过总线以不同的波特率进行通信.12C总线上数据的传 河海大学工学硬士论文 基于FFGA的视频图像画面分割器的设计 输速率在标准模式下可达lOOkbi“s,在快速模式下可达400kbitYs,在高速模式下 可达3.4Mb甜s. 12C总线是一个多主机的总线,即可以连接多于一个能控制总线的器件到总 线。在本设计中只采用了一个主机控制器。 根据12C总线的传输协议,在数据传送过程中,必须确认数据传送的起始和 “弋i/……\i厂 结束,起始和结束条件的定义如图4.2所示. : : ; : “—一/…\/__ 趣嫱豢件 精豪●晰 图4.2 12C总线的起始条件与结束条件 在时钟线SCL高电平期间,数据线SDA从高电平向低电平转换为起始条件; 在时钟线SCL高电平期间,SDA线由低电平向高电平转换为结束条件.开始和 结束条件由主器件产生,总线在起始条件后被认为处于忙状态;在结束条件产生 之后,总线被认为再次处于空闲状态. 利用12C总线进行数据传输时必须遵循总线协议所规定的数据传输格式,发 送到SDA线上的每个字节必须为8位,每次传输可以发送的字节数量不受限制, “ⅧII)田爪]口(■_j[]口步 每个字节后必须跟一个响应位(ACK)。完整的数据传输波形图如图4.3所示。 :·: MSB :i “Ⅻ;; ……..八几几八八/……\八八!厅; ;; 起嫱‘井l 2 鼠t址 ' I , ACK l 2 t量 :; I ’●止●件 ^CK 图4.3 12c总线完整数据传输波形图 起始条件产生之后送出的第一个字节数据为从器件的地址,高位在前低位 在后,其中前7位为地址码,第8位R/W为读写控制位.读写控制位为“o"时, 表示主器件对从器件的写操作;读写控制位为“l”时,表示主器件对从器件的读 操作。在传输数据时,SCL线的高电平期间,要求SDA上传输的数据必须保持 稳定,在此期间,主器件及从器件之间相互传输数据;而在低电平期间,数据线 上的数据可以变化,即允许数据线上的高低电平跳交。用12C总线进行数据传输 时,数据线SDA每发送完一个数据字节后都要求接收方发回一个应答信号(低 电平有效),应答信号出现在第9个时钟位上。因此,主器件在接收应答信号之 河海大学工学硕士论文 第四章视频图像萄面分割器的软件设计 前必须先释放对SDA线的控制,以便从器件在第九位上发出应答信号.数据传 输完毕,从器件发回一个非应答信号(高电平有效),主器件产生结束条件,以结 束这次数据传输. 4.2.2 12C接口模块的实现 根据L2C总线协议,在FleA内部设计了一个12C接口模块对两片SAA7113 和一片SAA7121进行配置。用FPGA来模拟12C总线进行数据传送,具有高速、 易调试、可以灵活实现对SAA7113和SAA7121在线配置等优点。通过12C总线 对两片SAA7113和一片SAA7121的配置顺序及配置流程图如图4.4所示。 ( 韧始状毒 ) Jr t置第一片SAATIl3 上 E置第二片s^^7I圩 l l 墨置SAATl21 l 配置结束 圈4.4 SAA7113和SAA7121配置顺序及12C配置流程图 在上电初始化后,对SAA7113和SAA7121的内部寄存器进行初始化配置, 寄存器的配置数据见第三章的表3.2和3.3.在实现12c接口配置模块的设计中, 首先在FPGA中设计一个ROM来保存所有的配置数据,当启动12C模块对 SAA7113和SAA7121配置时,从该ROM中将配置数据读出.这里的ROM是利用 ISE的lP核在FPGA内部生成的m】,在ROM核生成过程中,选择存储配置数据的 COE(coefficients fiie)文件,COE文件转换成MlF(memory initialization fi!曲文件将 配置数据存储到ROM中,只要是ISE6.2版本以上的软件开发平台都支持ROM的 创建。其实质还是由FPGA内部丰富的RAM资源组成的。当需要对SAA7113和 S从7121的配置数据更改时,只需重新对ROM初始化配置,编译下载即可. 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 由于对SAA7113和SAA7121的配置过程只是对其内部寄存器进行写操作的 过程,所以这里仅介绍12C接口配置模块如何通过12C总线进行写操作。设计该 模块时严格按照12C总线的时序进行。本系统采用快速模式,总线的SCL时钟 频率为400KHz.通过12C总线写数据位可以分为下面几个状态:空闲、产生起 始条件、置数据位SDA、产生时钟SCL、保持数据位SDA、接收应答ACK和 产生停止条件。其状态转移图如图4.5所示。在上述状态转移过程中要满足12C 写操作的时序规范。 图4.5 12C总线写数据状态转移图 按照该同步状态机转移图设计出12C接口配置模块,模块中用到了启动写信 号write、总线状态忙信号busy、发送失败信号en等。图4.6为在Modelsimt4414p对 该模块的功能仿真波形,从图中可以看出模块符合12C总线时序规范,达到了设 计要求。 图4.6 12,c接口模块写操作仿真图 河海大学工学硕士论文 第四章视频图像画面分割器的软件设计 4.3异步时钟域数据传输 4.3.1异步时钟域的解决方法 数字电路系统设计的主要原则之一就是同步化设计,即对所有时钟控制器件 (如触发器、存储器等)都采用同一个时钟信号来控制。随着设计规模的不断扩大, 一个实际应用系统中往往含有数个时钟,数据不可避免的要在不同时钟域之间传 递。本系统在FPAG系统上电工作后,接收从解码芯片SAA7113输出的数字视 频数据。SAA7113采用的时钟晶振为24.576MHz,通过其内部锁相环路作用后 输出的时钟LLC的频率为27MHz;而FPGA采用33MHz有源晶振作为系统时 钟,两者时钟频率不一致。当视频数据从SAA7113输出到FPGA时,即出现了 异步时钟域的问题,为此需要寻找一种保持系统稳定,顺利完成数据传输的方法. 不同时钟域之间数据传递的最重要问题就是亚稳态O佃戚abil酊)问题14习.在 两个时钟域的交界处,数据信号的数值将会分别由这两个时钟来控制。此时,如 果两时钟信号的敏感边沿非常接近并超过了允许的额度,将出现数据信号不稳定 的情况.在数字集成电路中,每个触发器(Flip-Flop)都有其特定的建立(Setup)时 间及保持(Hold)时间.因此要求输入信号不得在时钟敏感边沿前后的建立时间及 保持时间内改变数值.当一个信号被寄存器锁存时,如果信号和时钟之间不满足 这个要求,触发器的输出端的值是不确定的,并且在未知的时刻会固定到高电平 或低电平。这个过程称为亚稳态. 图4.7异步时钟和亚稳态 异步时钟和亚稳态如图4.7所示,图中clka和cl蚰为两个异步时钟。前一 个clka时钟域信号adat在过于靠近新时钟域系统时钟clkb的敏感边沿上升沿的 时刻,数值发生了改变并被采样.因为adat信号没有满足新时钟域内触发器的 建立和保持时问,触发器输出信号bdat便进入亚稳定状态,并且在当前时钟的 柯海大学工学硕士论文 基于FPGA的视频图像面面分割器的设计 下一个上升沿被锁存时不能收敛成正常的稳定状态。这个亚稳定状态的输出信号 bdat会在电路内传播不准确的信号数值,造成逻辑错误,从而对整个系统产生比 较大的危害. 视频解码模块输出的为ITU-RBT.656格式的8位视频数据,数据同步时钟 频率为27MI-Iz,而FPOA的系统时钟频率为33MI-Iz.视频解码模块与FPGA之 间的数据传输为异步时钟域的数据传输,解决在异步时钟域之间传输数据的方法 通常有以下三种: (1)两级时钟同步法; (2)使用握手信号机制; (3)使用异步FIFO进行数据缓冲。 两级时钟同步法:假设系统中存在两个异步时钟elk a和elk b,如果高频 时钟的频率大于低频时钟的频率的两倍,则可以使用频率高的时钟作为采样时 钟,低频时钟经过处理后作为触发器的使能信号.在本设计中SAA7113输出的 时钟为27MHz,而FPG.A:系统时钟为33MHz,高频时钟频率达不到低频时钟频 率的两倍,所以该方法不满足设计要求. 握手信号机制:握手信号机制是异步系统之间通信的常用方法,但在设计时 需要仔细分析握手协议和应答信号有效持续的时间,才能确保采样数据的正确 性。这样会增加系统的逻辑复杂度并且影响数据的传输速度,本系统每秒需要传 输的视频数据流量达到27M字节,不适合选择该方式. 异步FIFO方式:异步FIFO是一种先进先出电路,其使用一个双端口存储器 存放数据,数据发送方在一端写入数据,接收方在另一端读出数据,能够协调好 两个时钟域的工作,满足高时钟频率的要求。使用异步FIFO可以在两个不同时 钟系统之间快速而方便地传输实时数据,是解决异步时钟接口电路一种简便、快 捷的方案。在网络接口、图像处理等方面,异步FIFO得到了广泛的应用。 基于以上的分析,在本设计中采用异步FIFO的方式与视频解码芯片SAA7113 进行交互,从而获得实时的数字视频数据。 FIFO是一种先进先出存储器,在FPGA设计中经常被用到,主要用来缓冲 数据和隔离时钟或相位差异。访问FIFO时仅需要数据线和读写控制信号线,而 不需要地址线,因此利用FIFO实现数据的缓存具有接口简单、读写方便的优点. 根据FIFO工作的时钟,可以将其分为同步FIFO和异步FIFO.同步FIFO是指 读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。异步FIFO 是指读写时钟不是同一个时钟,读写时钟是互相独立的. FIFO的存储介质是双端口RAM,所以读写操作在两端可以同时进行。同步 FIFO由于只有一个时钟。所以对双端口RAM中的数据容易确定,因而设计结 构较为简单。异步FIFO由于采用不同时钟,要确定FIFO中数据量相对比较复 杂,需要仔细考虑满、空标志位。 河海大学工学硕士论文 第四章视频圈像萄面分割器的软件设计 本系统由于接口时钟的不同,采用异步FIFO进行设计。异步FIFO结构图如 图4.8所示。从图中可以看到整个系统分为两个完全独立的时钟域:读时钟域和 写时钟域。在写时钟域部分,由写地址产生逻辑产生写控制信号和写地址;读时 钟部分由读地址产生逻辑产生读控制信号和读地址。在空,满标志产生部分,由 读写地址相互比较产生空,满标志1461. 图4.8异步FIFO结构图 4.3.2异步FIFO模块的设计 本设计采用的Xilinx Spamm3系列中的XC3S400PQ208型号FPGA,内部有 分布式RAM容量(Distributed RAM Bits)56Kb,块RAM容量(Block RAM Bits)288Kb。可以利用这些存储单元在FPGA内部实现异步FIFO模块,比采用 外部FIFo芯片更能提高系统的稳定性. 在本设计的软件开发环境ISE7.1提供了与CORE GENERATER接口,可以 在ISE中调用CORE GENERATER,根据需要对异步FIFO的IP核进行裁减和调 用,为设计提供了方便。 在这里调用的异步FIFO的妒核,是用HDL语言书写的一段经过优化的可 综合的程序代码,对于使用者并不可见,我们直接调用m核所提供的信号输入 输出的端口模块。根据COREGENERATER提供的异步FIFO详细的说明文档参 考文献【471,可以根据需要对异步FIFO的数据宽度,深度进行配置,可选的输 入输出信号如;Almost Full Flag、Almost Empty Flag等进行裁减。如图4.9所示 即为用CORE GENERATER生成的位宽为8,深度为1024的异步FIFO。 柯海大学工学硕士论文 基于FPGA的视顿图像面面分割器的设计 图4.9 8位、1024深度的异步FIFO 下面将对异步FIFO的具体设计进行描述: (1)异步FIFO具有8位数据输入端13和8位数据输出端口。深度为1024。数 据的输出端口为IX)LIT,输入端口为DIN.输入端口由写时钟WR CLK和写使 能WR EN控制。输出端口由读时钟RD CLK和读使能P.D EN控制。读写时钟 在上升沿触发,读写使能信号高电平有效。初始化AINIT端口高电平初始化异 步FIFO。另外具有两个个固定的标识:FIFO空标志EMPTY、FIFO满标志FULL。 几乎满标志Almost Full Flag和几乎空标志Almost Empty Flag可选. (2)采用FPGA内部的块RAM单元构成。 异步FIFO缓冲来自SAA71 13的数字视频数据,要把SAA71 13的数字视频 输出线VPO与异步FIFO的数据输入端口DIN相连,写时钟WRCLK与 SAA7113的LCC相连,在LCC时钟的每个上升沿将8位视频数据写入到异步 FIFO中。异步FIFO读写使能信号信号由FPGA内部初始化,读异步FIFO的时 钟由FPGA内部提供.由于FPGA的系统时钟是33MHz。如果直接用33MHz 的时钟作为异步FIFO的读时钟,来读取异步FIFO的连续的视频数据,肯定会 发生读空的情况。需要用与写时钟(wR CLK)同频率的时钟信号作为异步FIFO 的读时钟信号来防止读空的发生,所以这就用到FPGA内部的数字时钟管理器 DCM单元来产生27MHz时钟信号。 4.3.3数字时钟管理器设计 DCM(数字时钟管理器)顾名思义就是完成时钟管理的功能,可以完成把输 入时钟信号的分频和倍频以产生新的频率的时钟信号,也可以完成相移的功能, 把输入的时钟信号延迟某个相位。DCM的内部结构图如图4.10所示.在XC3S400 PQ208型号FPGA中有四个DCM单元,为FPGA系统提供了高效的时钟管理功能 河海大学工学硕士论文 第四章视频图像萄面分割器的软件设计 图4.10DCM内部结构图 由图4.5可以看出DCM由四部分组成,延迟锁定环(DLL)、数字频率合成 (DFS)、移相(Ps)和状态逻辑单元【49】. DLL单元是用数字偏移电路产生零偏移量的时钟输出。该单元通过比较输 入时钟CLKIN和反馈时钟CLKFB来补充传输网络中的偏移,从而产生零偏移 的时钟输出。输出时钟是CLK0、CL,K90、Cucl80、CLK270、CLK2X、CLK2X180 和CLKDV.DLL有两种工作模式:高频和低频模式.对于不同系列的FPGA, 不同模式下对输入时钟频率的要求是不同的,对于Spartan3FPGA在低频模式下, 输入视频频率要求18MHz~180MHz.在高频模式下,输入时钟频率要求 48MHz-360MHz。在高频模式的下,倍频使输出管脚CLK2X和CLK2X180禁用, 四分之一相移位的输出CLK90和CLK270也被禁用。 DFS单元的输出是由倍频参数CLKFX MULTIPLY和分频参数CLKFX DI 雩娶≠黑×CLKIN VIDE两个自定义设置决定,输出的频率为: cLK oUr= cⅨFX DlVEDE (4.1) DFS产生的合成频率输出为CLKFX和CLKFXl80,两者相位相差180。 对输出频率有两种设置方式:一、填写输出所要得到的输出时钟CLKFX的值和 输入时钟CLKIN的值,工具自动计算CLKFX MULTIPL和CLKFX DMDE的 值;二、根据所需的输出时钟和输入时钟之间的关系直接设置CLKFX MULTIPL 和CLKFX_DIVIDE的值。由于第一种方式比较直观,所以在设计中是基于第一 种方式进行配置的。 Ps控制单元用来控制DCM输出时钟与输入时钟CLK IN之间的相位关系。 从延迟周期的角度可以分为两类:一类是I陀周期相移(CLK0、CLKl80);另一 类是l“周期相移(CLK0、CLK90、CLKl80,CLK270)。 状态逻辑单元来通过输出信号LOCKED、STATUS[0]、STATUS[1]和STATU 河海大学工学磺士论文 基于FPGA的视频图像画面分割器的设计 S【2】标识当前DCM的I作状态。LOCKED为高电平时表示输入时钟已经锁定同时 输出时钟是有效的,反之则无效;STATUS[0]为低电平表示输出的信号是否满足 与输出时钟的相位要求;STATUStl]蔓J低电平表示输入时钟是稳定的;STATUS[2] 为低电平表示CLK FX和CLK yxlso是稳定的. 在ISE中调用COREGENERATER产生的DCM单元如图4.1l所示。按照本 设计的时钟要求,输入的时钟为33MHz的FPGA的系统时钟,输出时钟为 27MHz的时钟。输出的27MHz的时钟作为异步FIFO的读操作时钟和FPGA内 部各个模块的同步时钟。 4.Il数字时钟管理器DCM 在对DCM设置过程中,对时钟的设置采用的第一种设置方式,直接输入 DCM输入时钟频率和需要产生的时钟频率,软件自动计算CLKFX MULTIPL 和CLKFX DIVIDE的值。输入时钟为外部有源晶振提供的33MHz的FPGA系 统时钟,输出时钟频率为27MHz.根据输入和输出计算出CLKFX_DIVIDE=11 和CLKFX MULTIPL=9,这样计算出的分频因子为9/1I,不是整数,则输出时 钟的占空比不是50%,所以要选中占空比校正(u∞DutyCycleCorrection),把输 出的时钟校正为占空比为50%的时钟信号. 为了保证通过DCM调整后的时钟相位与输入时钟不发生偏移(skew),对 反馈进行设置.因为DCM调整后输出的时钟都是在FPGA系统内部应用,而没 有输出到外部电路,只要保证内部时钟与输入的FPGA系统时钟不发生偏移即 可,所以采用内部反馈方式,选用CLK0即CLKIN的同频时钟作为反馈信号, 完成了对DCM的设置. 轲海大学工学硕士论文 第四章视频图像面面分削器的软件设计 4.3.4异步FIl的模块仿真 由于DCM的复位RST是高电平有效的,而复位信号的持续时间最少为输入 时钟周期的三倍,所以在仿真时要把复位信号保持三个周期以上,下面用 VcrilogHDL【51编写测试文件进行仿真,部分测试文件如下: parameter period=13; ||Initialize Inputs initial begin clock=O;/,系统时钟 reset=O;//系统复位信号 ad clock=0;//像素时钟LCC ad_data;O://8位视频数据 end //初始化各个激励信号 //initialize clock signals initial beg;in clock=O: forever#(period+0.5‘27/33) end initial begin clock=--clock;产生FPGA系统时钟 ad_clock=O: forever#(period‘0.5)ad_clock:--,ad_clock;产生解码器输出时钟 end //initialize reset and set stop time initial begin #(period+1.5)他set删; //复位信号 #(peaod‘1.31 reset<=l;// #(period+10)reset<=0;,,使DCM单元复位三个时钟周期以上 #(pcaod+]oooooo)Sstop;//设定仿真运行时间 end integeri=O: initial bcgiII //#(period+20); //以下为解码视频数据 ,,¨¨·¨¨¨津¨¨1.22··¨¨·¨¨¨¨¨¨··¨¨¨··¨¨·¨¨·‘ for d=o;j<22;j=j+11 begin #(period‘3.01 #(period+1.0 1 ad_data=8'1150; ad_data=8'hi0; #(period+1.01 群(p舐od’1.0) ad_data=8'h80; ad data=ghl0; #(period’1.0) #(period’1.0、 #(period‘1.0、 #(period+1.0) #(period+1.0 1 #(period+1.0 1 #(pe以od+1.0) 坝如riod‘1.0) #(period’1.0) #(period’1.0 1 || ad_data=8'h80; ad_data=8'1110; ad_data=8'1180; ad data=8'h10: ad_da纽;8'h80; ad data=8'hlO; ad data=8'11最 ad data=8'bOO: ad data=8,1100: ad_data=8'b1010 lOll;//sav for(i=O;i<1448;i=i+D #(period’1.0)ad_data=ad_data+l: end //¨。’¨’¨..¨¨¨+23.3lO..·¨¨····¨¨¨¨¨·¨···。。¨¨¨¨。。 for(i=oj<28s;j=j+1) begin #(period’1.0) #(perioa+1.01 #(pc栅+1.O) #(p翻od‘1.0) 戡p喇od’1.0) #(period+1.0) ad_data=8'hl o: ad data=8'b80: ad_data=8'h1 o: ad data=8'1180; ad_data=8'hlO; ad_data=8'i180; #(period+1.0) 琊eriod’1.0) ad_data=8.1110; ad_data=8'h80; #(period’1.0) ad_data=8'1110; #(period’1.0) ad data=8'hff; #(period+1.0) ad data;8'h00; #(period+1.0) ad_data=8'1100; #(period。1.O、 ad_data=8"01000 0000;//sav for(i20;i<1448;i=许n #(period+1.0)aa-dm=aa da:ta+l: cud 用Mod。Jsim对异步FlF0接口和DcM单元进行了功能仿真.仿真波形图如 I圉..4。.1.2所示·从功能仿真波形图中可以看出,异步FIF0与SAA7113的接口完 当竺合设计要求,时钟管理器产生的读FIFO时钟可以完成对FIFo数据的准确 读取。 3S 河海大学工学硕士论文 第四章视频图像西面分割器的软件设计 图4.12异步FIFO读写仿真波形图 4.4有效视频数据提取模块 摄像头采集的PAL制式的复合视频信号输入到SAA71 13视频解码器,经 SAA7113解码后输出I'VtJ-RBT.656标准的数字视频信号,数字视频信号连续不 断送到FPGA实现的异步FIFO模块中。由第二章中对ITU-RBT.656标准视频数 据的分析可知,SAA7113输出的数字视频信号一帧由625行视频数据组成,分 奇数场和偶数场两场输出,两场视频图像数据包含相同的图像信息,通过隔行扫 描相互嵌套显示一幅完整视频图像.其中,奇数场有效视频行为23-310行,一 共288行,场消隐行为l—勉和311—312行,一共24行;偶数场有效视频行为 336-623行,一共288行,场消隐行为313-335和624-625行,一共25行。场 消隐行由定时基准信号和消隐数据组成,每行1728个字节,不包含有效显示的 图像信息。有效视频行由定时基准信号和有效显示视频数据以及行消隐数据构 成,每行1728个字节,有关视频行的数据结构在第二章有详细介绍。 在有效视频行中,在每行的定时基准信号FF∞00SAV和FF00 00EAV之 间的数据为有效显示的视频数据,一共1440个字节,720个有效像素,这是在 视频图像合成过程中要用到的数据。每个像素都有自己的亮度信号Y,相邻两个 像素共用一对色差信号Cb和Cr,这样共用一对的色差信号的两个像素构成一个 宏像素,占4个字节,在有效视频数据提取时要按照宏像素进行提取. 一般的视频图像处理系统,视频图像采集的设计都是利用SAA7113的 RTS0、RSTI两个引脚分别作为场参考信号VREF、行参考信号HREF,奇偶场 的判断另外设置计数器来实现。本设计根据视频数据流的格式,通过检测视频数 据中的定时基准数据“FF0000SAV",设置行和列计数器对有效视频数据进行定 河海大学工学硕士论文 基于FPGA的视频图像面面分割器的设计 位,并根据图像合成的需要把所需的有效视频数据提取出来。而没有用到 SAA7113的RTS0和RTSI引脚与FPGA的I/O口相连,节约了FPGA的I/O资 源,同时又实现了有效视频提取的功能。下面详细介绍利用定时基准数据‘'FF 00 00 SAV"提取有效视频数据的原理. 4.4.1有效视频数据提取原理 有效视频数据提取的基本思想是通过对每行数据定时基准信号‘'FF 00 00 SAW'的检测确定视频数据的位置,并设置行计数器和像素数据计数器,从而确 定每一个有效像素的位置,根据画面合成的需要将有效视频数据提取出来。 根据第二章中对视频数据格式的分析。在SAA7113输出的视频数据中,如 果VPO总线输出的数据流为FF 00 oo序列则标志着进入定时基准数据段,接下 来一个字节数据即为SAV或者EAV。根据第二章ITU-RBT.656标准YUV(4:2:∞ 格式的视频数据对定时基准信号的定义推算出行号与的EAV,SAV数据之间的 对应关系如表4.1所示. 行号 表4.1 SAV和EAV数据 S^V 队v 1.22 1010 1011(AB) 1011 0110(B6) 23-310 1000 0000(80) 1001 1101(9D) 311.312 1010 1011(AB) 101l 0110(B6) 313.335 1110 1100(Ec) 1111(3001伊1) 336.623 62抛5 11000111(c7) 1110 1100饵C) 1101 1010(DA) 11“0001(F1) 从表中的数据可以看出,其中第七位固定为“l”,第六位为场标志位,第一 场时为‘‘o竹,第二场时为“l竹.第5位为‘咿’时表示处于有效数据阶段,为“l”时处 于场消隐阶段:第四位在SAV中为‘‘o',,在EAV中为“1”.如果第4位为0,则 说明一行视频数据的开始,否则说明一行视频数据的结束。 要完成对有效视频数据的提取,首先,要确定视频数据帧头的位置,即哪一 行是一帧的第一行.根据第二章对ITU-RBT.656标准视频数据格式的分析可知, 土一行的FF0000EAV和下~行的FF0000SAV之间是行清隐数据,即280个 字节的十六进制的消隐数据序列80h、10h,80h、1011….,接着是下一行定时基 准信号FF0000SAV序列。根据这个关系设计一个状态机对FF0000SAV进行 检测确定一帧数据的第一行。然后,设置行计数器和像素计数器确定视频数据的 位置,把行、像素的计数信息和视频数据一起输出.最后,在数据提取时,根据 视频合成的需要通过对行和像素信息的判断,把有效视频数据提取出来。 在实现的过程中用两个状态机嵌套实现,外层状态机用来检测FF oo 00 SAV 序列以判断一帧视频数据帧头位置,内层状态机通过对行和宏像素的计数为视 频提取提供判断标志。 柏 河海大学工学硕士论文 第四章视频图像面面分割器的软件设计 FF oo 00 SAV序列检测状态机如图4.13所示, oo 图4.13FF0000SAV序列检测状态机 状态机缺省状态为idle状态。先在idle状态到检测行消隐的80h、10h序列, 然后检测到定时基准信号FF 00 00 SAV序列,为了更可靠的检测到FF oo 00 SAV序列,在状态机的检测中至少检测到两个80h,10h序列和FF 00 oo序歹吐 之后的数据才确定为SAV数据,.在检测到SAV序列后,则进入视频行和像素 计数的状态机。在状态机中,从idle和stal--sta7一共8个状态,任何一个中间 状态不符合设计状态转移,则将状态返回到idle状态重新启动. 当FF 00 00 SAV状态机检测到SAV数据,则进入视频行和像素计数状态机, 如图4.14所示. 图4.14视频行和像素计数状态机 在此状态机中,根据对检测到的SAV数据的判断确定状态的转移方向。在 正常的状态转移中,是按照一帧视频数据625行数据周而复始的转移的,中间 遇到不满足状态转移要求的非法或无效状态,则状态机返回到IDLE状态,比 如说开始检测到的是状态line311 312的SAV序列10101011,误认为是状态 河海大学工学硕士论文 基于FPGA的视频图像贰面分割器的设计 linel 22,但是经过两行后检测到状态line313 335的SAV序列11101100,而不 是状态1ine23_310的SAV序列10000000,则返回到IDLE状态,重新开始。直 到检测到一帧数据的第一行为止进入视频行和像素计数状态机循环.在状态机 中设置行计数器和像素计数器,从第一行开始,每来检测到一个SAV,行计数 器加l,像素计数器清零.像素计数器从检测到SAV开始,每四个字节一个宏 像素,像素计数器加1.行计数器信息和像素计数器信息连同视频数据信号一 起输出. 这样在数据提取时,将一帧视频数据的行、像素信息作为视频数据提取的 判断标志,根据视频图像合成的需要对视频数据进行选择提取.由于相邻的两 个像素共用一对色差信号,所以在提取是要按照宏像素提取.由此可以得出, 本设计的提取方法可以精确到一个宏像素。 4.4.2有效视频数据提取模块的设计 基于上述有效视频数据的提取原理可以提取任何一个数据行或任何一个象 素.由于不同的图像合成需要提取的有效视频数是不同的。下面根据上述的有效 视频数据提取的原理,以提取一帧视频数据的奇数场有效视频数据为例进行介 绍. 崦蠹 到麓卜 有效辊 鞭数据 叠取 l 存储 控制 UI锨l 模块 7 写控舒唇号 图4.15有效视频提取程序框图 有效视频数据提取程序框图如图4.15所示。有效视频提取程序主要两个程 序模块组成:FFoo 00 SAV序列检测模块和有效视频数据提取模块。限于篇幅, 在这里不给出程序源代码,只给出FF00 00 SAV序列检测模块和有效提取模块的 模块端口说明。 FF00 00 SAV序列检测模块: Say—line—num 0%et,clock,data,SaY,line__num,pixel_num,out_data); 输入信号:reset、clock、data: 输出信号line num、pixe!hum、out data。 FF00 00 SAC序列检测模块完成的功能是:根据上述的视频数据提取原理检 测FF 00 00 SAV序列,每来一个时钟接收一个字节从异步FIFO读出的视频数据, 每检测到一个FF 00 00 SAV序列,SaV输出一个高电平脉冲。行计数line hum在 河海大学工学硕士论文 第四章视频图像画面分割器的软件设计 初始状态为0,从检测到第一行数据开始,每检测到一个FF00 00 SAV序列计数 器加1,计满625行后,行计数器清零,开始下一帧视频数据的计数.像素计数 pixeLnum初始状态为o,每检测到一个FF 00 oo SAC序列,即新的一行开始时, 像素计数器清零开始计数。由于本设计中的视频数据每个像素占两个字节,相邻 的两个像素共用一对色差信号,所以像素计数采用宏像素的计数方式,每接收一 个宏像素四个字节计数器加1.最后,有效数据检测模块把行计数和像素计数信 息以及视频数据传递到有效视频数据提取模块进行视频数据提取. 有效视频数据提取模块: data_select(enable,clock,reset,in_data,line number,pixeLnumber,out_data,en_write) 输入信号:enable、clock、reset、line_number、pixeLnumber; 输出信号:out data、writen。 有效数据提取模块的功能是:接收FF00 00 SAV检测模块的输出的视频行、 像素计数信息及视频数据,并根据需要提取任意行或者任意一个宏像素。有效视 频数据提取模块的e11 able为多路视频数据轮流提取存储时的选择信号,当 en able----1,提取此路视频数据并进行存储。提取一帧视频奇数场有效视频数据 的程序流程图如图4.16所示。 图4.16奇数场有效视频数据提取程序流程圈 首先,根据根据ITU-RBT.656标准分析可知,奇数场的有效视频行为23--.310 行,每行FF oo 00 SAV序列后的1440个字节为有效视频数据,一共720个像素, 360个宏像素。然后,有效数据提取模块判断line number和pixel number提取 有效视频数据,当22<line number岛ll并且pixel number<360时,可以把奇数 场的23,--310有效视频数据行提取出来。同时把写存储器的使能信号enable write 置为高电平,启动存储器的控制模块,产生写存储器的地址信息和控制信号,完 成对有效视频数据提取的功能。有关存储器读写的控制的设计的内容在下一节叙 述。 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 4.4.3有效数据提取模块仿真 有效数据提取模块的仿真波形图如图4.17所示.由仿真波形图可以看出, 每检测到一个FF oo 00 SAV,sav信号就输出一个高电平,同时行计数器line_hum 加l,宏像素计数器复位为0,可以根据行计数和宏像素计数判断实现有效视频 数据提取的功能。 图4.17有效视频数据提取仿真图 4.5图像存储器控制模块 本节设计的SRAM图像存储器控制模块用来完成对提取的各路有效视频图 像数据的存储和读取。SRAM存储器控制模块主要由读写地址产生模块和存储器 切换模块组成.由于对于视频数据路数的不同,具体的SIL丸M控制模块设计是 不同的,下面以四路视频数据合成为例进行介绍. 4.5.1读写地址产生模块 . 由第二章视频信号知识分析可知。只有按照一定顺序排列的视频图像数据才 能正常显示一幅图像。如果将提取的四路有效图像数据不加处理就直接按顺序写 入存储器中,则在图像合成的过程中,顺序读出存储器中图像会产生紊乱而不是 可以有效显示的一帧数据。在读取存储器中图像数据进行合成时,就需要对寻址 方式加以调整,从而造成寻址的繁琐。因此应当将采集到的视频图像数据按照一 定排列顺序存储到SRAM中,这样在多路视频图像合成时只需对帧存按地址递 增读取数据即可,降低读存储器读操作的复杂度。 很多视频图像处理系统只是对一路视频数据进行处理【52Ⅱ53】削,本设计要完 柯海大学工学硕士论文 第四章视频图像面面分割器的软件设计 成对四路视频图像数据的存储,如果同时对四路进行存储将会出现数据总线和地 址总线冲突。所以在存储策略上采用对四路路视频数据轮流存储的方法。存储器 写操作寻址方面,在各路视频图像数据存入存储器时,对写地址进行处理,将四 路视频图像数据按照一定的方式组合起来,形成一帧隔行扫描的图像,写入到存 储器中.这样在四路图像合成一路图像时,只需对存储器按地址递增的方式读取 数据即可.在本设计中,写地址的产生采用了行首地址查找表与行内像素地址计 数相结合的方法,完成对四路视频图像数据轮流存储。地址产生图如图4.18所 不。 第一路 第二培 第三盛 第四路 图4.18四路轮流存储写地址产生图 在四路数据的轮流存储过程中,当存储第一路视频数据时,写地址选择模 块选择第一路操作地址,其他三路视频处在等待状态;当第一路视频数据存储完 成后,视频采集切换控制模块产生第二路视频采集允许信号ad ce2=l,同时输 出ad-cel卸,ad∞3=o和ad_ce4=0禁止另外三路视频采集,开始提取第二路视频 数据并存储;写地址选择模块选择第二路操作地址,以此类推,四路视频采集周 而复始的轮流操作. 根据第二章对ITU-RBT.656数据格式分析可知,要完成四路视频数据合成, 只需垂直方向分别提取四路视频的奇数场23.310行的有效视频数据,水平方向 分别隔一个像素抽取一个像素即可以满足需要。在合成的过程中,提取的四路视 频的奇数行组成奇数场,第一路和第二路相应的行连接组成新的一行,第三路和 第四路相应行连接组成新的一行:四路视频的偶数行组成偶数场,第一路和第二 河海大学工学硕士论文 基于Fi'GA的视频图像商面分割器的设计 路相应的行连接组成新的一行,第三路和第四路相应行连接组成新的一行。两场 合在一起组合一帧视频输出即完成四路视频图像的合成.合成视频图像组成框图 如图4.19所示。两场顺序读出,通过隔行扫描即可合成一幅完整图像。 奇数局 第一麻青教彳亍 第■旃奇最行 l 第三赫奇教行 第四路奇教行 偶数场 第一路儡羲行 第_蹄儡教{亍 第三略儡教行 第四路儡教行 图4.19四路合成图像组成图 为了顺序读取实现如图4.19所示的视频图像,对各路视频数据存储行首地 址计算如下: 第一路的奇数行的行首地址:“行号.23)/2)x1440= 第二路的奇数行的行首地址:((行号-23)2)x1440+720; 第三路的奇数行的行首地址:((行号-21y2)x1440+144x1440s 第四路的奇数行的行首地址:“行号-2ly2)x1440+144x1440+720: 第一路的偶数行的行首地址:(((行号-24)/2)x 1440+288x1440= 第二路的偶数行的行首地址:“行号-24)/2)x1440+288x1440+720= 第三路的偶数行的行首地址:“行号-22)/2)x1440+432x1440+1440: 第四路的偶数行的行首地址:“行号-22y2)x1440+432x1440+720。 将上述地址数据转化为二进制格式即为行首查找表的地址,行内像素的写操 作地址在确定行首地址的基础上采用计数器递增实现。按照上述存储方式轮流将 四路视频图像数据存储到SRAM中恰好组成一帧的有效视频数据.在图像合成 时,顺序读出并在相应的位置插入定时基准数据和消隐数据即可完成四画面图像 的合成. 读地址产生模块只是顺序将SRAM中的图像数据读出,比较简单,在这里 就不再介绍。 4.5.2存储器切换模块 本系统采用了两片SRAM作为图像存储器,两片存储器之间交替工作.当 SRAMI接收有效视频提取模块提取的图像数据时,SRAM2中的图像数据由图 像合成模块读取进行多路图像合成。两片各自完成上步操作后,进行切换,读取 SRAMl中数据,SRAM2开始存储数据.如此循环,交替存储和读取. 为了协调两片SRAM的工作,防止出现未被读取二进行写操作的数据覆盖 情况,两片SRAM的切换采用乒乓机制来管理。为了保证在同一时刻,一个处 j可海大学工学硕士论文 第四章视频图像面面分割器的软件设计 于读状态,另一个处于写状态,模块设计中设置了读互斥锁和写互斥锁.在系统 初始状态,SRMAI处于等待写状态,SRAM2处于读结束状态。两片SRAM的 状态转换控制流程完全相同。下面以SRAMI为例介绍基于读写互斥锁的控制机 制。SRAMI的状态转移图如图4.20所示. 图4.20 SRAMi状态转移图 状态转移过程设计如下: (1)在系统的初始状态,SARMI处于等待写状态,并获得写互斥锁; (2)接收到到第一路视频的采集允许信号,存储过程开始,SRAMI进入可写 状态,接收图像数据; (3)四路视频轮流存储,当完成第四路视频存储时,SRAMl进入写结束状态, 并释放写互斥锁; (4)在写结束状态下,若此时SRAM2拥有读互斥锁,则SRMA!保持写结束 状态,否则获得读互斥镄,进入可读状态并获得读互斥锁; (5)SRAMl在等待读状态下,如果SRAM2拥有读互斥锁处,则继续保持读 等待状态;否则进入可读状态并拥有读互斥锁,由图像合成模块进行控制. (6)在可读状态下,若图像合成模块请求储模块控制下完成数据读取,则 SARMI进入读结束状态,并释放读互斥锁; (7)在读结束状态下,若SRAM2拥有写互斥锁,则SRMAI转移到可读状态 并再次拥有读互斥锁;否则SRMAi进入等待写状态,并获得写互斥锁。 该状态转移图主要特点是在任何一个时刻都要保证一片SRAM处在可读状 态,以保证图像合成的连续性。按照上述状态转移图,用Verilog语言编写出切 换控制模块。模块在FPAG内部硬件实现后可以控制两片,使得两片存储器交替 读写操作。 河海大学工学硬士论文 基于FI'GA的视频图像萄面分割器的设计 4.5.3读写控制设计仿真 SRAM写操作的仿真波形图如图4.21所示。从仿真图可以看出,当ad cel 为高电平,选择第一路视频数据存储,地址选择模块选择第一路写操作地址.在 sram_wrt为低电平期间,把数据写入相应的地址单元,完全符合写SRAM的时 序要求。 图4.21 SRAM写操作仿真图 SRAM读操作的仿真波形图如图4.22所示.从仿真图可以看出,在en read 为高电平期间,在视频图像合成时,允许产生的读地址。在sram oc为低电平期 间,把相应地址的数据读出来,符合读操作的时序要求。 图4.22 SRAM读操作仿真图 河海大学工学硕士论文 第四章视频图像蔷面分割器的软件设计 4.6多画面图像合成模块 视频图像画面合成的实现方法主要分为两大类【5习:像素域合成和压缩域合 成。像素域合成是指将多路视频数据进行解码,将解码后的数字视频数据按照一 定线性规则进行捧列,合并成一路视频数据,再将合并后的视频数据进行编码输 出。压缩域合成是指,对多路压缩的源视频编码数据不进行解码,而是根据视频 编码数据结构的特性,进行数据重组,重组后的数据即是多个视频数据源合成后 的数据. 基于系统的图像数据为ITLI-RBT.656标准YUV(4:2:2)格式的,所以在视频 图像画面合成中采用像素域内多画面合成的方法,有关ITU-RBT.656标准的视 频格式在前面已经介绍,下面对多路图像画面合成的原理进行分析. 4.6.1多画面图像合成原理 在像素域的多画面合成,对于不同显示需求和不同图像数据格式,具体画面 合成过程是不同的,但是画面合成的思想都是相同的.首先,对原图像按像素进 行抽取,分别将多路图像按照一定的比例缩小.然后,按照一定的规则将多路图 像进行摔列,排列后的图像即为多路合成的图像。最后,将合成的图像编码输出, 即可在同一个屏幕显示多个画面,完成对多路图像的合成.下面就以四路 ITLI-RBT.656标准YUV(4:2:2)格式的视频数据合成为例介绍画面合成的原理. 由第二章对ITLI-RBT.656标准图像数据分析可知,SAA7113输出的完整的 一帧图像数据结构如4.23所示. 场消隐1.22 FF ∞ ∞ SAV 定时 基准 数据 23-310有效显示数据 场消隐311.335 336-423有效显示数据 FF 00 00 行 EAV 消 定时 隐 基准 数据 场消隐624-625 图4.23 625行/50Hz YUV(4:2'.2)--帧图像结构图 一帧视频图像由包含相同的图像信息奇偶两场组成,有效显示的图像数据为 奇数场的23-310行和偶数场的336--623行,两场通过隔行扫描相互嵌套组成一 幅完整的图像。 河海大学工学硕士论文 基于FPGA的视频图像西面分割器的设计 首先,要分别对原图像进行1/4比例缩小.由于图像中只有23"-,310行和 336-623行是有效视频数据,两者又包含相同的图像信息.在垂直方式抽取奇数 场视频数据23~310,使垂直方向缩小为原来的1/2.A、B、C、D四路图像在垂 直方向抽取如图4.24所示. %lC目Cm——如_ ‰ c3瑚 ——C3I∞E码口——‰ 图4.24在垂直方向的像素抽取 由上图可以看出,对A、B、C和D四路视频图像在垂直方向抽取奇数场的 23"-'310行的有效视频数据.实现在垂直方向上缩小为原图像的1/2. 在水平方向上,每行有效视频由360个宏像素组成,由于组成宏像素的两个 像素共用一对色差信号,所以只能按照宏像素进行抽取。在水平方向抽取奇数列 宏像素,使水平方向缩小为原来的1/2,水平方向抽取如4.25所示.这样经过垂 直和水平方向的抽取所得到的图像缩小为原图像的1/4。 A瑚 %I‰B地——岛∞ 夕\ ~嗍 BⅫ B,Ⅲ ----------------------------------------——B3imt %lDb%!——D2Ⅻ D,I“——D3I∞∞ 图4.25在水平方向上的像素抽取 然后,按照一帧图像数据的排列格式对抽取的各路图像的像素进行捧列。四 路视频合成图像的捧列方式如图4.26所示.抽取的第l路A图像的奇数行和第 50 河海大学工学硕士论文 第四章视频图像画面分割器的软件设计 2路B图像相应的奇数行组成一整行,第3路c图像的奇数行和第4路D图像 相应的奇数行组成一整行,四路图像的奇数行组成新的一帧图像的奇数场图像数 据。按同样的方式,其余的偶数行组合成新的一帧图像的偶数场图像数据。并在 相应位置插入定时基准数据和消隐数据,组成一帧完整的视频图像. 图4.26四路合成图像数据结构图 最后,将四路合成图像数据经过s从712l编码输出,通过隔行扫描在电视 机一个屏幕显示四路图像,即完成了四路视频图像合成. 4.6.2四画面图像合成的设计 基于上述图像画面合成原理,四路视频图像合成的实现过程如下: 首先,在垂直方向抽取各路有效图像的奇数场,水平方向抽取奇数场的奇数 列宏像素,将四路图像各缩小为原图像的1/4.这部分功能由有效视频数据提取 模块实现,该模块在前面已经做过详细介绍。有效数据提取程序流程图4.27所 示。各路图像抽取的为相同位置的像素,其有效数据提取模块程序流程图相同, 当22<line_num<311并且像素计数为奇数时,提取有效视频数据,并置写允许信 号帅able=l,允许将当前视频数据存储的到SRAM. 然后,将提取的各路图像数据按找一定顺序排列,即按照一定的规律存储到 SRAM中.写地址产生流程图如4.28,各路图像数据的地址按照上一节介绍的地 址产生方法实现,都有各自固定的存储空问,当enable=l时,如果是新的一行 则通过计算产生行首地址,否则在原地址基础上加1.当cnabic=O时。保持原地 柯海大学工学硕士论文 基于FPGA的视频图像西面分割器的设计 址不变.当检测到最后一个存储地址时,即完成本路图像的抽取,由各路图像采 集切换下一路.最后一个地址根据存储的方式和数据量计算得到,比如第一路存 储的数据量为288x1440,最后一行行首地址为:((310-24)/2)x1440+288x1440; 每行为720个字节,则最后一个地址((310-24)/2)x1440+288x1440+719=415726 转换为二迸制地址为:OlloolOl01lllll01llO。四路图像轮流存储见图4.18. 图4.27有效视频数据提取流程图 图4.28写地址产生流程图 本系统在硬件上只有两片SAA7113而要对四路视频数据进行合成。由第三 章对SAA7113寄存器的配置可知,可以通过对02H寄存器配置完成视频图像输 入通道的选择。要实现四路视频图像的合成需要对两片SAA7113进行动态配置 以获取四路视频图像,其配置状态转移图如图4.29所示.第一路和第三路视频 从第一片SAA7113视频输入通道选择,第二路和第四路从第二片SAA7113视频 输入通道选择.在动态配置时,只修改02H寄存器配置数据,配置为COH选择 输入通道Alll,配置为CIH时选择输入通道All2,其他的配置数据不变。采用 这种动态配置方法最多可以完成8路视频图像的合成。 圈4.29两片SAA7113动态配置状态转移图 在完成各路视频图像的抽取,存储后,就要对抽取的各路视频图像的进行四 河海大学工学硕士论文 第四章视频图像面面分割器的软件设计 画面合成.根据ITU-RBT.656数据格式,把有效视频数据从存储器中采用顺序 读取出来,在相应的位置插入定时基准数据和消隐数据,送视频编码输出,完成 四路视频图像的合成.在合成的过程中,定时基准数据和消隐数据由程序产生. 在图像合成程序模块设置行计数器和列计数器,在有效视频行的起始和结束位置 插入定时基准信号FF0000SAV和FF oo 00EAV,消隐间隔插入行消隐数据80h, 10h序列,有效视频数据从存储器顺序读出。视频图像合成的程序流程图如图4.30 所示。 图430视频图像合成程序流程图 在视频图像合成的过程中,初始化状态行计数器和像素计数器都置为0,同 时读存储器读使能信号en_able一0,不对存储器进行读操作。根据ITU-RBT.656 柯海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 标准数据格式对行计数信息进行判断插入有效视频行或场消隐行. 在插入场消隐行时,在行起始位置插入相应行号的定时基准信号FF oo oo SAV,行号和定时基准信号的对应关系见表4.1.每插入一个字节,像素计数器 Cnt_pixel加l,当插入四个字节数据Cnt pixel----3时。起始定时基准信号结束。 开始插入消隐数据80、lO序列,直到Cnt pixel=1443.当Cnt pixel=1443时, 继续插入结束定时基准信号和行消隐数据;当CnLpixel=1728时,一行消隐行的 合成结束. 在插入有效视频行时,行起始位置同插入场消隐行是相同,插入相应行号的 定时基准信号FF 00 00 SAV.当定时基准信号结束时,读存储器使能信号置 %able=l,SRAM读写控制模块产生读地址和读控制信号,从SRAM中读取有 效视频数据,每从存储器中读取一个字节有效视频数据,像素计数器Cnt_.pixe| 加l;当cnt 时,一行的有效数据读取结束,读使能信号 en able=0 ,.pixel=1443 继续插入定时基准信号FF 00 00 EAV和消隐数据:当Cnt pixei=1728时,一行 有效视频数据行的合成结束. 有效视频数据行和场消隐行共同组成一帧完整的视频图像。当一帧图像合成 结束Cnt 1ine--625时,行计数器清零,开始合成下一帧视频图像的合成。当en able =l时,从SRAM中读取的有效视频数据送视频编码器SAA7121输出;当 舶able=0时,将插入的定时基准数据和消隐数据进行解码输出,两者交替输出, 实现视频图像的合成。 4.6.3四画面图像合成仿真 在视频图像合成设计中,利用Modelsim进行仿真,插入定时基准数据和消 隐数据以及从SRAM中的图像数据仿真波形图分别如图4.31和图4.32所示。 图4.31插入定时基准数据和泊隐数据 河海大学工学硕士论文 第四章视频图像西面分害l器的软件设计 图4.32从SRAM中读取有效视频数据 从上述仿真图可以看出,在en_ablc=0,slam oe=l时,插入定时基准数据 和消隐数据;en able----1,sram_oe=0时,从SRAM读取有效视频数据,两者交 替送视频编码输出完成视频图像的合成。 完成所有软件设计,在对硬件进行综合后,对FPGA资源的使用情况分析如 下,FPGA内部资源使用情况表如图4.33所示。从情况表可以看出,本设计使用 触发器179个,占全部触发器资源的2%,4输入查找表213个,占全部查找表 资源的2%,使用全局时钟GCLK5个,占全部的62%,用了四个时钟管理器中 的一个。 图4.33 FPGA内部资源使用情况表 j可海大学工学硕士论文 基于F1N3A的视频图像面面分割器的设计 4.7本章小结 在本章的整个软件系统的设计过程中.首先,将整个软件系统功能划分为以 下几个模块:12C总线接1:3模块、异步FIFO(先进先出)模块、DCM(数字时钟管 理模块)、有效视频数据提取模块、图像存储器控制模块和视频图像合成模块。然 后,分模块进行设计,并对每个模块做了功能仿真.重点在SRAM读写控制设 计,为了完成多路视频数据存储以及使图像合成时读取数据寻址简便,对各路视 频流采用轮流提取存储,并对两片SRAM采用乒乓操作机制;写地址产生采用 了行首地址查表,行内像素地址计数器实现的方法;实现了对多路视频数据流的 轮流存储和读取.最后,对视频图像合成的原理进行了详细的分析,并实现了四 路视频图像的合成. 河海大学工学硬士论文 第五章系统调试 第五章系统调试 在按照设计要求完成各个功能模块的硬件和软件设计之后,就进入整个系统 调试阶段,整个调试过程分为两个部分:硬件和软件的调试。下面分别介绍。 5.I调试过程 5.1.1硬件调试 按模块来设计系统可以为调试带来方便。在硬件上整个系统分为电源模块、 FPGA及其配置电路模块、视频解码模块、图像数据存储器模块,视频编码模块。 画面分割器硬件电路如图5.1所示。 图5.1画砸分割器硬件电路 硬件系统的PCB扳是按照高速电路的设计方法来设计的,为了调试的方便 预留了一些信号测试点.在PCB板制作完成以后,首先,对照原理图进行裸板 检查,因为制版的过程中有可能会出现错误,所以要对裸板电路进行检查,以免 以后调试过程中出现错误很难发现原因,甚至烧毁芯片。对裸板的检查主要是检 查PCB板连线,查看是否有断线和多余的连线,对电路板的VCC和GND进行 测量,确定是否存在短路的情况。任意选取两点VCC和两点GND进行测量, 确定整个电路板的VCC是否相通和GND是否相通,检查无误后。然后,开始 器件的安装。 由于本系统中有三种电源:3.3V、2.5V、1.2V,而输入电源是5V直流电源, 河海大学工学硕士论文 基于FI'GA的视频图像面面分割器的设计 三种电源要用电源稳压器得到,因此焊接芯片时先焊电源稳压块和相关电阻电 容.焊完一个测量一个,确定得到的电源是否满足要求.焊接其它芯片时。一般 焊接一个就测量一下芯片的电源和地是否短路.尤其是FPGA电源和地的引脚比 较多,排列又比较紧密。裸板和焊接器件完成后,可以上电进入具体模块的调试。 由于视频解码芯片s^A7113、视频编码芯片SAA7121和FPGA都需要初始 化配置才能能正常工作。所以,首先对SAA7113和SAA7121以及FPGA的配置 电路进行调试,以保证视频编解码电路模块和FPGA能正常的工作. 视频编解码电路的调试主要是针对视频解码芯片SAA7113和视频编码芯片 SAA7121进行的。如果视频解码电路模块不能正确的将输入的模拟视频信号数 字化,整个系统功能实现根本无从谈起.在视频解码电路中,电源和时钟电路是 该模块中最应该关注的地方,芯片的供电电源要稳定,晶振一定要采用精度高的, 否则会影响正常工作. FPGA是整个系统最核心的处理单元,保证FPAG可以正常的工作是调试的 重点。在对FPAG视频图像处理模块调试时,采用JTAG下载配置方式进行在线 调试。首先,编写一行简单的程序如分频、FO操作等实现一些简单的逻辑功能, 然后,经过仿真,综合等过程产生bit流配置文件下载到FPGA,来验证FPGA 是否正常工作。如果FPGA能正确实现测试模块的逻辑功能,则说明在FlAG配 置模式下,FPGA内部各功能模块的硬件实现也可以正确工作.FPGA配置电路 部分,要查看配置模式引脚的配置是否正确,配置PROM与FPGA的连线是否 正确。 5.1.2软件调试 软件调试主要就是在实现FPGA内部各功能模块时,运用ISE、Synpli西 Pr07.6、Modelsim6.0等开发工具进行开发的过程.整个系统开发过程编写和测 试了sav—line—hum.v,data selecLv,addr_select.v等程序及相关的仿真程序。 在整个FPGA的设计流程中,都是采用Verilog HDL语言进行开发设计的。 由于本人是第一次使用Verilog HDL进行独立设计,在编译、综合、前仿真和后 仿真过程中肯定会出现各种各样的错误。在设计调试过程中,出错后根据EAD 软件提供的相关信息进行分析,对产生的错误进行定位.找到出错的原因并修正 过来. 5.2调试过程中的问题和解决方法 系统硬件和软件设计一次性就能到达设计的要求是不太现实的。本设计在硬 件和软件设计过程中同样也遇到这样那样的问题,并在硬件调试和软件调试中一 一进行解决. 河海大学工学硕士论文 第五章系统调试 在硬件调试的过程中,电路板上电后,发现SAA7113芯片没有正常工作. 首先,用万用表测试芯片电压,电源供电正常;然后,用示波器测量晶体振荡器 的波形,发现晶体没有正常起振,将其卸下后更换晶体重新焊好,发现晶体还是 没有起振。最后,发现原来是有个贴片电容松动,重新焊牢后晶体起振,用示波 器观察信号正常. 程序下载到PROM中,重新上电后,发现FPAG不能正常工作,而采用JTAG 方式配置后可以正常工作,分析原因是配置过程出现问题。对配置芯片和FPGA 参与配置的信号线进行检查,发现FPGA芯片M0、MI和M2的引脚虚焊,没 有连接到地线上去。采用JTAG方式配置可以正常进行,是因为JTAG方式具有 最高的优先级,采用此方式对FPGA进行配置时,其他配置方式默认无效. 在软件的调试过程中,因为在FPGA功能模块设计当中。异步FFIo模块和 数字时钟管理器I)CM都是调用了ISE中口核,在用testbenoh仿真时,总是出 现设计加载出错的问题。后来通过查阅资料,才知道ModelSire6.0的仿真库中, 不包含Xilinx器件的相应的仿真库,在用ModelSim6.0进行仿真,如果在设计中 舍有像XilinxlP CORE等第三方的资源库,要进行资源库的连接.所以用 ModelSim6.0进行仿真时需要建立一个仿真模型库.基于Verilog语言的仿真库 的建立过程如下:首先打开Modelsim,选择[File]/[New]/[1ibrary]命令,弹出[Creat a New library],在呷lrary Name]中输入“simprims ver',同时下一栏也自动输入 “simprims_ver",单击OK.在菜单栏中选择[compile]/[Compile]命令,弹,m,[compile Source Fil∞],在【Library]的下拉列表中选择“Simprims_ver",在【查找范围】中选 中[Xilinx/veriog/src/Simprimsl目录下的全部文件,单击complie进行编译.用同 样的方法将Unisims和Xilinxcorelib三个仿真库进行编译.重新启动Modelsim 可以在列表中看到建立的三个库.各个库的功能分别是:Simprim_ver用于布局 布线后的仿真.Unisim vet用傲综合后的仿真.Xilinxcorelib_ver用做设计中调 用的CoreGen产生m核的仿真.有关VHDL语言的仿真库的建立也可以参照上 述方法。 此外还有一些软件调试上出现如同一个变量不能在两个always块中赋值, 同一个always块的赋值方式要一致,要采用阻塞赋值都采用阻塞赋值,要采用 非阻塞赋值则都采用非阻塞赋值。模块调用时出现端口数据宽度匹配和时钟同步 等问题。限于篇幅这里不多叙述. 5.3调试结果 在硬件调试和软件调试中出现的问题解决之后,整个基于FPGA视频图像分 割系统便可以正常工作了。四路视频合成一路的视频图像如图5.1所示. 河海大学工学硪士论文 基于FPGA的视频图像面面分割器的设计 图5.2四画面分割的视频图像 从图中可以看出采集的四路视频图像经过FPGA图像合成处理后,可以在一 个显示器显示四路视频图像。 60 河海大学工学硕士论文 第六章总结与展望 第六章总结与展望 6.1总结 本文采用FPGA开发技术实现了视频图像画面分割器的四画面分割的功能。 首先,视频摄像头采集的复合视频信号经过视频解码芯片SAA7113解码输 出ITU-RBT.656标准的数字视频信号。通过12C总线对两片SAA7113动态配置 选择视频输入通道实现对四路视频的轮流采集. 然后。数字视频信号经异步FIFO缓冲,由有效视频数据提取模块根据画面 分割的需要对四路视频图像数据进行提取,将提取的各路有效视频图像数据的轮 流存储到SRAM中。对两片SRAM图像存储器采用的乒乓操作机制,分别完成 图像数据的存储和合成图像的读取,协调工作.为了画面合成时。从SRAM读 取视频数据寻址简便,对存储地址的定位,采用了行首地址采用查找表与行内像 素地址计数相结合的方式,将四路视频图像数据重新组合。 最后,将四路视频数据合成一路经视频编码后输出到显示器. 由于此次是本人第一次利用FPGA进行设计开发,本文中的相关设计可能存 在某些方面的不足,有待进一步的改进和完善. 6.2展望 数字化、智能化、自动化和网络化是未来监控系统发展的方向。网络化是监 控系统的大势所趋,它大大地简化信息传递的方式和提高了信息传递的速度。随 着网络技术和计算机技术的不断发展,基于视频交换技术的网络视频监控系统已 经成为监控系统发展的方向。网络视频监控系统具有远距离监控,良好的扩充性 和可管理性,易于与其它系统进行集成等优势。视频图像画面分割器作为视频监 控系统的重要组成部分,为实现视频图像在网络上传输,可在系统上扩展网络接 口模块.将数字化的视频信号转换成网络通信传输协议的数据流,通过网络进行 传输. 视频监控系统通常要同时对多个监控进行监控,最终送入监视器的信号可能 来自几十路、甚至上百路视频信号源.在监控端,这些视频信号可通过大规模视 频矩阵开关切换到有限的监视器上.这样,在对监控点进行监视时需要在视频通 道叠加一些相关的信息,比如:摄像头的位置、时间和日期等信息。所以,在图 像合成的时,可以对各通道视频加入通道编号、时间和日期信息等,使视频图像 信息的显示更加丰富。 视频图像画面分割器除了要实现画面分割的功能外,还要具备图像保持和图 像切换等功能。下一步要实现画面保持和图像画面切换的功能,并设计人机交互 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 的接口对视频图像画面分割器进行控制。 对本系统除了要进行上述改进外,在FPGA开发技术上也有很多有待进一步 加强,本设计基于FFGA的开发基本上是从功能实现的角度进行考虑,没有过多 考虑FPGA设计优化的问题,下一步要充分发挥FPGA的作用,合理利用其内部 资源,对设计进行优化,以提高系统的性能。 河海大学硕士研究生论文 致谢 参考文献 【l】杨磊.电视监控实用技术【M】.北京:机械工业出版社,2002 【2】刘富强.数字视频监控系统开发及应用【M1.北京:机械工业出版社,2003 【3】黄再银.视频监控系统中多画面处理器的设计m.电子技术应用,2003年第4 期:57-60 【4】黄再银,宗建华,余健.用FPGA和单片机设计黑白四画面分割器棚.电子技 术应用,V01.28,No.6 2002:49-5l 【5】郑金福.视频多画面合成器的设计与实现田.中国有线电视,2002(17):36-40 【6】曹文军.浅析MPl72l型多画面合成器【J】.有线电视技术,2002年第14期:56-57 【7】延明.具有分割功能的多路图像采集系统的设计【J】.无线电工程,2005年第 35卷第1期:62.64 【8】张琛,戚文芽.基于TMS320DM642芯片的画面分割和OSD叠加叨.信息工 程大学学报,第6卷第l期:66-68 【9】靳军.基于AM-209M芯片的视频16画面分割器阴.国外电子元器件,2005 年第7期:6-10 【lo】高书莉,罗朝霞.可编程逻辑设计技术及应用嗍.北京:人民邮电出版社, 200l,12.17 【ll】谭会生,张昌凡.EDA技术及应用EM].西安电子科技大学出版社,2001 【12】杜慧敏,李宥谋,赵全良.基于Vedlog的FPGA设计基础明.西安:西安 电子科技大学出版社.2006 【13】高迎慧,侯忠霞,马艳南.基于DSP+FPGA的数字视频信号处理系统册.沈 阳航空工业学院学报,2007年6月第24卷第3期:69-71 【14】徐绍剑,陈子平,刘惠贞.基于FPGA的视频监测系统叨.微型机与应用。2004 年第3期:26-28 【15]赵敏.FPGA视频和图像处理方案哪.电子产品世界,2006年第6期:40-42 【16】李作民,李松岩,王新新.电视原理与接收机【M】.西安:西安电子科技大学出 版社,2000:56-59 【17】卢官明,宗防.数字电视原理嗍.北京:北京机械工业出版社,2004:43-61. 【is]徐宝强.电视原理与组网技术【M1.北京:北京航空航天大学出版社,2001: 30-33 【191赵坚勇.电视原理与系统[MI.西安:西安电子科技大学出版社,2004:38-43 【20】史萍,倪世兰.广播电视技术概论【hq.北京:中国广播电视出版社,2003 【21]谈新权,邓天平.视频技术基础【M】.武汉:华中科技大学出版社,2004:22-27 【22】崔屹.数字图像处理技术与应用【M】.北京:电子工业出版社,1996. 【23】王慧琴.数字图像处理[M】.北京:北京邮电大学出版社,2006:33.36 [24】D.Strachan,R.Conrc蝴1.Digital Signal Conversion【J】.SMPTE Jouma 1995(6)356 .358. 河海大学工学硕士论文 基于FPGA的视顿图像面面分割嚣的设计 【25】刘峰.视频图像编码技术及国际标准M.北京:北京邮电大学出版社,2005.: 82-85 【26】RECOMME】∞^:nON nU-R BT.656_4 INIERllACES FOR DIGITAL CoMP(”IE●ITⅥⅨⅪSlGNALS IN 525一LrNE触∞625-LINE TELEVISION SYSTEMS 0Pl三lUdlNG Ar 1W匣4:2:2 UB、,EL OF RECOM^虹孙DATIoN ITU·RBT.601(PARTA)1,nU ORGANIZATION,1998 【27]杨林.数字视频分量编码4:2:2、4:1:1和4:2:0取样格式简介川.西部广播电 视,2007年第02期:2-3 【28]Bongscon Kang,Juhyun Kim,Hcongee Vangb,Design of multi-standard NTSC/PALvideocncoder田CurrentAppliedPhysics4(2004)37-42 [291 Xilinx Corporation Product Specification,Spartan-3 FPGA Family Complete Data Sheet.August 24,2004 【30】Xilinx Corporation.Platform Flash PROM User Guide.August 23,2007 【31]Philips Semiconductors.DataShcet for SAA7113H 9-bitvidcoinputproeessor, 1999 [32】孔祥刚,诸静,阳涛.SAATIl3H在视频采集接口设计中的应用明.电子 技术.2005,12:26-28. 【33】PhiXips Scmiconducto璐.DataSheet for SAA7121 Digital Video Encoder,1999 【34】Integrated Silicon Solution,4ne.IS61LVl0248 SRAM,IMx8 HIGH-SPEED CMOS S1:I≮玎C RAM,1 1118/02 【35】National Semiconductor.LMl086 1.5A Low Dropout Positive Regulators.June 2005 【36】National Semieonduetor.LP3882 1.SA Fast-Response Ul舰Low Dropout Linear.Regulators,March,2003 【37]陈东.OrCAD电路设计[MI.北京:国防工业出版社,2004 【38】郭银景,吕文红等.电磁兼容原理及应用教程【M】.北京:清华大学出版社, 2004:37-45 【39】张晓健.视频解码芯片SAA7113的初始化与控制阴.电子设计应用,2003 [40]PhilipsScmiconductors.THE 12C-BUS SPECIFICATIONVERSION 2.1 JANARY 2000 【41]李文兵.12C总线及其应用技术川.自动化与仪表(第16卷),2001(5):1-4. 【42】吕炎军,王泽勇.基于FPGA的12C总线接I:1设计田.自动化技术与应用, 2006年第25卷第4期:37-39 [43]Xilinx Corporation Product Specification,Distributed Memory v7.1,January 18, 2005 【44】王诚,薛d,Hfl,钟信潮.FPGA/CPLD设计工具:Xilinx ISE使用详解【M】.北 京:人民邮电出版社,2005.1 【45]赵震甲.使用FIFO完成数据传输与同步阴.中国集成电路.2005年第8期 河海大学硕士研究生论文 参考文献 25(8):84.85 【46】吴自信,张嗣忠.异步FIFO结构及FPGA设计【J】.单片机与与嵌入式系统 应用,2003.8:24-30 【47]Xilinx Corporation.Product Specification Asynchronous FIFO v6.1.November 2004. 【48】郭金鹏,张惠峥.FPGA内的多时钟管理与设计【J】.无线电通信技术,2006, 第32卷第6期:35.38 【49]Xilinx Corporation Application Note:Spartan-3 and Spartan-3L FPGA Families. Using Digital Clock Managers(DCMs)in Spamn-3 FPGAs.January 5,2005 【501夏宇闻.Veriolg数字系统设计教程【 ̄q.北京:北京航空航大大学出版社2003 【51】王伟.VeriolgHDL程序设计与应用【M】.北京:人民邮电出版社,2005:55-59 [521陈彬.基于FPGA的视频图像处理系统设计[DI.重庆大学硕士学位论文, 2006:25.29 【531:t:鲲鹏.基于FPGA的视频图像处理系统的研究【D】.昆明理工大学硕士论文, 2006: f541薛大雷,过润秋.一种基于DSP和FPGA的视频图像处理系统的设计方案 【J】.电子设计应用,2003.10:79.81 【55]E陈伍,朱志祥.一种在像素域内实现多画面合成的方法【J】.西安邮电学院学 报,2005,10(4):127.130 河海大学工学硕士论文 基于FPGA的视频图像画面分割器的设计 致谢 本论文是在导师齐本胜副教授的悉心指导和帮助下完成的,齐老师不仅在选 题上给予了富有远见的指导,而且在课题的细节上,也给予了我许多启发性和关 键性的指导。在两年半的研究生学习生活期间,齐老师给了我很多无微不至的关 怀,他正直的人生品质、豁达的人生态度、渊博的专业知识、严谨的治学态度和 务实的工作作风给我留下了非常深刻的印象,令我终生受益。在导师的培养下, 我的科研能力得到了显著的提高,人生品质得到了很大提升。值此论文完成之际, 向导师表示衷心的感谢。 感谢苗红霞老师、高远老师、邓志祥老师在我的学习生活中给我的帮助。 感谢杨书生、王瑞和杨霞三位同学,与他们的探讨、交流,给了我很多启发。 衷心感谢曹爱华同学对我的支持和理解。 感谢所有关心、帮助我的老师、同学和朋友们! 特别感谢我的父母,他们为我顺利完成学业提供了良好的保障。正是他们多 年来的支持和殷切的希望,才使我不断进步。 河海大学硕士研究生论文 附录A电路原理图 錾錾羹 麟糕一|豢|麟透一麟羹麓蕊豁篓 liiij}il 嚯嘴冀鎏冀雾 lil;;i3瞳矍重 羁~釜鬈 毫墼鼋 一 “%接口及其配■E电路扁t理圈 视频围像存储嚣电路 河海大学工学磺士论文 基于FPGA的视频图像面面分割器的设计 器襞盛器强弱i{ 熊麟一 视额解码电路模块 船 河海大学硕士研究生论文 附录B发表论文清单 1.付富壮,齐本胜,杨书生YuV转换RGB显示的实现,中国科技论文在线, 编号:(200706.488),2007.6 2.齐本胜,付富壮,杨书生基于FPGA的视频画面分割器的设计,现代电子技 术,V01.30 No.20,2007.10 3.齐本胜,付富壮,杨书生一种基于FPGA的有效视频数据的提取方法.工矿 自动化,2007年第6期 基于FPGA的视频图像画面分割器的设计 作者: 学位授予单位: 付富壮 河海大学 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1241338.aspx 授权使用:北京理工大学(北京理工大学),授权号:4a6e5c6b-5edb-43bc-a63d-9e2e00192f50 下载时间:2010年11月14日
更多简介内容

评论


个人中心

意见反馈

求资源

回顶部

下载专区


TI 参考设计资源库

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })