一种多路图像采集系统的软件设计_第1页
一种多路图像采集系统的软件设计_第2页
一种多路图像采集系统的软件设计_第3页
一种多路图像采集系统的软件设计_第4页
一种多路图像采集系统的软件设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 一种多路图像采集系统的软件设计 工业现场因为环境复杂,实时性要求高,常常需要对一处或多处重要位置同时开展监控,且能够在需要时切换其中一幅画面全屏显示。这就要求设计一种实时视频监控系统,既能够满足工业现场应用的特殊环境,具有体积小、功耗低、可定制的特点,又能够对多点开展同时采集和同屏显示以及对其中的一路开展切换。 国内现有的视频监控方案一般是采用CCD摄像头+视频解码芯片(如SAA7113HADV7181B)+FPGACPLD+DSP的模式实现,其中视频解码芯片用来对CCD摄像头采集的模拟信号开展AD转换,FPGACPLD对数据采集开展控制,DSP终对数据开展处理

2、。这种方法开发周期长,成本高,且可更改性差。 本文介绍的系统主要由两片Altera公司的Cyclone系列的EP2C8Q20818和飞利浦公司的视频解码芯片SAA7113H以及外存储器件SRAM等组成。两片FPGA分别完成前端图像的采集和后端数据的处理,视频解码芯片完成模拟信号向数据信号的转换,存储器件在FPGA的控制下起到数据缓存作用。 1 系统描述 系统主要分为采集模块、解码模块、数据格式转换模块、存储模块、UART模块和LCDVGA显示模块,如下列图1所示。四片视频解码芯片在FPGA1的控制下通过I2C总线完成配置和初始化过程,输出8位与CCIR656兼容的YCrCb 4:2:2格式的视

3、频数据,同时还包括行同步HS、场同步VS和奇偶场RTS0等信号。由于显示终端支持的是标准的RGB格式的数据,所以要对视频解码芯片输出的YCrCb 4:2:2格式数据开展转换。经转换所得的RGB数据在FPGA2的控制下,配合相应的时序信号,截取要显示的有效的640 x480个像素,乒乓存入两个SRAM中,并终在:LCD VGA显示模块的控制下将数据显示在屏幕上。UART通讯模块集成在FPGA里,通过PC机的串口发送相应的控制命令,FPGA接收后切换相应通道的画面。 图1 系统构造图 2 系统软件构造 系统软件主要由采集模块、解码模块、存储模块、显示模块和UART模块组成,软件构造如图2所示。 图

4、2 软件构造图 3 ITU656解码 ITU656解码模块根据ITU656标准将4:2:2的数据流解码成ITU656标准视频流。ITU656并行接口除了传输4:2:2的YCbCr视频流外,还有行、场同步所用的控制信号。PAL制式的图像一帧有625行,每秒扫描25帧;每行数据由1128字节的数据块组成。其中,PAL制式23311行是偶数场视频数据,312552行是奇数场视频数据,其余为垂直控制信号。 图3为ITU656每行的数据构造。每行数据包含水平控制信号和YCbCr视频数据信号。视频数据字是以27兆字秒的速率传送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr,其中,Cb,Y.Cr这3个字指

5、的是同址的亮度和色差信号取样,后面的Y字对应于下一个亮度取样。每行开始的288字节为行控制信号,开始的4字节为EAV信号(有效视频结束),紧接着280个固定填充数据,是4字节的SAV信号(有效视频起始)。 图3 ITU656每行的数据构造 SAV和EAV信号有3字节的前导:FF、FF、00;1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。在每个时钟的上升沿读取从解码芯片传来的8位数据。当检测到一行数据的开始标志FF0000XY时,检测到SAV信号或EAV信号,提取H、F、V信号。然后发出开始命令,同时开启行列计数器,开始对接下来的图像数据开展解码,根据每个8位数据自身带的信息,

6、判断该数据为Y,Cr还是Cb,从而得到Y,Cr,Cb各分量的值。解码流程如图4所示。 图4 解码流程 4 帧存储控制器与LCDVGA显示控制器的设计 4.1 数据格式的转换 根据前面第2节的介绍,从ITU656解码模块出来的数据为8位4:2:2的YUV空间图像数据,而LCDVGA显示器只能接收RGB数据。因为Y-CrCb4:2:2格式不能直接转换为RGB,所以需要先转换为YCrCb4:4:4格式。 我们知道解码芯片得到的视频数据是顺序为Cb,Y,Cr,Y,Cb,Y,Cr,的序列,存储的时候将一个Y与一个C(Cb或Cr)结合起来组成一个16位的数据。而当数据被读出来时就要将这些视频数据转换为每个

7、像素占24位(Y、Cb、Cr各占8位)的4:4:4的数据流。4:2:2到4:4:4的转换采用简单的插值算法,在采样的时候,每隔一个像素才采色度值(Cb和Cr)。在转化时,直接将前一个有色度信息的像素点的Cr以及Cb的值直接赋给后一个像素的Cr和Cb,这样就能得到4:4:4的像素数据,每个像素占用24位位宽。 4.2 帧存储控制器 作为系统的重要组成部分,帧存储控制器主要用来开展有效数据的缓存。视频数据在FPGA1的控制下乒乓写入两片SRAM。乒乓技术应用的关键在于乒乓切换信号frame的产生,本系统中根据视频解码芯片的奇偶场信号RTS0来产生帧切换frame信号,也就是一个RTS0周期切换。一

8、个RTS0周期由一个奇场和一个偶场组成,是一副完整的画面。当frame为1是,FPGA通过计数器的计数截取终显示所需要的有效的像素点信息按照SRAM的控制时序写入SRAM1,同样当frame为0时,将对应的像素信息写入SRAM2,如图5所示。 图5 乒乓存储示意图 系统加电的同时,4片视频解码芯片同时工作,为了保证数据采集的准确性和显示的同步性,系统内生成一个八倍于像素时钟的写时钟信号write_clk,这样,在一个像素时钟周期,写时钟信号已经过了八个周期,而每两个周期分别完成一路图像数据的写过程。 由于SRAM是一维存储空间,一个地址对应一个数据。所以在写入数据时将SRAM的地址空间划分为4

9、段,每一段用来存储一路图像数据。 用程序实现比较简单,设置一个地址存放器sram_addr_reg,将它赋给SRAM的地址控制信号sram_addr。然后在对每一路图像写入时,将对应的SRAM的起始地址加上一个固定的基数。如: 这样就保证了SRAM中对应地址的数据和屏幕上显示位置的一一对应关系,在读程序中,只需要按照顺序读SRAM即可,如图6所示。 图6 SRAM地址验证 4.3 LCDVGA显示控制器 本模块主要是用FPGA来产生LCDVGA显示时所需要的时钟信号CLK(像素时钟信号)、VSYNC(帧同步信号)、HSYNC(行同步信号)和使能信号(VDEN),并在相应控制时序的作用下,依次将

10、显示缓存即SRAM中的数据依次读出,输出到LCD上的过程。 LCD显示所需的主要时序信号的关系如图7所示。 图7 LCD时序信号图 在系统中,LCD屏幕分辨率为640 x480,像素时钟CLK为25MHz,由于FPGA的主时钟输入选用了20 MHz的有源时钟,那么就要求利用Cyclone芯片的内部逻辑资源来实现时钟倍频,以产生所需要的CLK(25 MHz)、用Verilog语言编写参数化的时序生成模块,产生HSYNC(32 kHz)及VHY-NC(60 Hz)时钟信号,如图8所示。 图8 时序验证 VGA显示原理与LCD相似,除了在硬件上正确连接ADV7125芯片电路外根据需要的分辨率来生成相

11、应时钟信号即可。 5 图像抖动的分析与解决 在系统完成后软硬件联调时,出现画面抖动现象,其中以RTSO为基准而产生乒乓切换的那一路图像稳定,其他三路都出现不同程度的抖动现象。对此我们做了深入的分析和实验,分析整个系统的构造可知,系统在多个时钟控制下共同工作,也就是所说的典型的异步系统。我们知道,数据在异步系统传输时对时钟要求非常严格,稍微的一点时钟偏差都会带来对有效像素截取的偏差,终影响图像的显示质量。 解决的方法有两个,一是参加缓冲机制,利用FIFO对数据存储的特性来实现数据在异步时钟之间的无缝传输;二是同步时钟,利用状态机等方法使得异步系统的时钟能够尽可能同步。采用第二种方法对系统开展改良,首先系统中所有的分频、倍频尽量使用Quartus 6.0自带的PLL产生,并且使用专用时钟引脚开展时钟输出;其次把写时钟write_clk降为54M,也就是每隔一个像素采集。终,四路图像都能稳定显示。 6 结束语 本文实现了一种结合Altera公司生产的CycloneII系列FPGA与视频解码芯片ADV7181B的嵌入式图像采集系统。系统具有低功耗、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论