首页> 中国专利> 基于FPGA的千兆以太网视频多路采集传输系统

基于FPGA的千兆以太网视频多路采集传输系统

摘要

本发明属于视频信号采集及千兆以太网传输的通信领域,具体涉及一种基于FPGA的千兆以太网视频多路采集传输系统的装置。本发明采用FPGA芯片将多路摄像头采集的视频数据进行以太网协议封装,同时加入CRC校验,通过千兆以太网物理芯片传输;接收端FPGA芯片通过千兆以太网物理芯片接收数据,对数据进行校验解析,并通过VGA进行显示;多路视频数据流快速稳定的处理方法以及大带宽的充分利用提高视频传输的实时性、稳定性和高效性;该系统中异步时钟域的切换处理不仅提高了通信质量的可靠性,并且大大节省了存储空间。本发明适用于多种视频传输和监控系统,降低了产品设计和维护成本。

著录项

  • 公开/公告号CN105791777A

    专利类型发明专利

  • 公开/公告日2016-07-20

    原文格式PDF

  • 申请/专利权人 安徽师范大学;

    申请/专利号CN201610246701.2

  • 发明设计人 王康景;方立军;

    申请日2016-04-20

  • 分类号H04N7/18(20060101);

  • 代理机构11308 北京元本知识产权代理事务所;

  • 代理人范奇

  • 地址 241000 安徽省芜湖市北京东路1号

  • 入库时间 2023-06-19 00:09:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-26

    授权

    授权

  • 2016-08-17

    实质审查的生效 IPC(主分类):H04N7/18 申请日:20160420

    实质审查的生效

  • 2016-07-20

    公开

    公开

说明书

技术领域

本发明属于视频信号传输的技术领域,具体涉及一种基于FPGA的千兆以太 网视频多路采集传输系统的装置。

背景技术

随着视频传输、监控技术的发展,通信的数据量越来越大,这对数据传输系 统的实时性、稳定性、可靠性和高效性提出了更高的要求。传统的视频传输系统 数据传输速率较低,占用了大量的缓存资源,降低了视频数据传输的实时性,同 时增加了产品的成本;随着传输距离的增加,系统受外界的干扰也随之增大,降 低了视频数据传输的稳定性和可靠性。千兆以太网具有大带宽、高速率等优点, 因此十分适用于高速海量的视频远距离传输系统。

发明内容

根据以上现有技术的不足,本发明提供了一种基于FPGA的千兆以太网视频 多路采集传输系统,提高视频传输系统的实时性、稳定性和高效性,降低存储资 源的利用。

为了解决上述技术问题,本发明采用的技术方案为:一种基于FPGA的千兆 以太网视频多路采集传输系统,包括发送端FPGA芯片、接收端FPGA芯片、摄像 头模块、发送端千兆以太网物理层芯片、接收端千兆以太网物理层芯片和显示模 块;所述摄像头模块用于采集多路视频信号,并将采集的视频信号传给发送 端FPGA芯片;所述发送端FPGA芯片将采集的多路视频信号进行以太网协议封装 后汇成一路,进行32位CRC校验的计算,并通过发送端千兆以太网物理层芯片 进行传输;所述接收端FPGA芯片通过接收端千兆以太网物理层芯片接收数据并 作异步时钟域处理,同时对数据进行32位CRC校验检测以及视频数据的解析, 并通过VGA模块进行实时显示。所述的发送端FPGA芯片包括视频信号采集模块、 视频信号的封装模块、包FIFO汇聚模块、CRC校验计算模块以及发送模块;所 述视频信号采集模块用于配置摄像头内部寄存器,采集摄像头输入的视频信号; 所述视频信号的封装模块用于将采集的视频信号按照以太网协议进行封装;所述 包FIFO汇聚模块用于检测多路暂存在包FIFO队列中的封装数据,然后进行读取 发送,完成多组包FIFO输入到一组包FIFO输出的汇聚;所述CRC校验计算模块 用于以太网数据帧的32位CRC校验计算,将计算所得的32位CRC替换数据帧末 尾32位的数据保留位;所述发送模块用于将经过CRC校验计算的数据帧加入前 导码和帧起始定界符,并按照千兆以太网物理芯片的工作时序发送出去。

所述封装模块包括状态机,在空闲状态检测到包FIFO为非满时,状态机跳 转至写入数据帧头状态,自动向包FIFO内部写入固定的以太网数据帧头;当以 太网数据帧头写完时,状态机跳转至视频数据写入状态,等待视频信号的输入; 当检测到视频数据输入时,向包FIFO中写入1个字节的0,表示该数据帧携带 视频数据,然后将输入的视频数据进行处理后依次写入包FIFO中;当检测到摄 像头场同步信号的上升沿标志信号输入时,向包FIFO中写入1个字节的1,表 示该数据帧携带摄像头场同步信号的上升沿标志信号,然后继续将填充数据写入 包FIFO中;当完成该状态时,状态机跳转至CRC保留位写入的状态,向包FIFO 中写入四个字节的保留数据。完成以上状态后,状态机跳转至空闲状态继续进行。

所述包FIFO汇聚模块包括读取转发模块,FIFO汇聚模块将经过封装的多路 采集的视频信号分别写入不同的包FIFO中;读取转发模块分别对多组包FIFO 数据缓存状态进行检测,以一个数据帧为单位依次进行读取,再将读取的数据帧 写入下一个包FIFO中进行缓存;读取转发模块的速度远大于以太网数据帧写入 FIFO的写入速度。

所述接收端FPGA芯片包括接收数据的异步时钟处理FIFO模块、CRC校验的 检测模块、视频数据的解析模块和VGA的显示模块;所述异步时钟处理FIFO模 块用于对接收端千兆以太网物理层芯片接收的数据帧进行处理,完成数据帧的异 步时钟切换;所述CRC校验的检测模块用于校验接收数据的CRC,检测传输数据 的正确性;所述视频数据的解析模块用于检测数据帧的类型,提取视频信号,并 确定视频数据的流向;所述VGA的显示模块用于驱动VGA模块,并实时显示视频 信号。

所述异步时钟处理FIFO模块当数据帧输入时,通过数据帧起始和结束标志 信号的产生模块产生数据帧的结束标志信号,再将8bit数据扩展到9bit,其中 第9bit作为数据帧的结束的标志;当输入数据帧倒数第2个字节时,将该字节 对应扩展的第9bit置为1,其他字节对应扩展的第9bit都置为0,输入至FIFO 模块;当检测到FIFO模块内部存入至少4个字节数据时,用系统时钟读取其内 部数据;当检测到读出数据的第9bit为1时,停止读取,继续检测FIFO内部数 据存储状态。

所述CRC校验的检测模块通过检测数据帧起始定界符提取数据帧的内容,并 将提取的数据内容输入CRC校验码产生模块;当产生完成时,将产生的32位CRC 校验码与数据帧中的进行比对,如果相等,则说明数据在传输过程中没有出现错 误;如果不相等,则说明数据在传输过程中产生了错误,并将错误的数据丢弃。

所述视频数据的解析模块当一帧数据输入时,数据解析模块检测数据帧中的 Type,Type中第1个字节是确定数据流向的,第2个字节是视频信号的数据类 型;当该数据帧Type中第2个字节为0,则提取数据帧中的视频数据,并写入 Type中第1个字节所指定流向的FIFO中;当该数据帧Type中第2个字节为1, 则向Type中第1个字节所指定流向的显示模块输入有效的摄像头场同步信号的 上升沿标志信号。

所述VGA的显示模块采用摄像头的行场同步信号驱动VGA的行场同步信号, 当检测到场同步信号的上升沿时,VGA的行场计数器开始计数,根据计数器的值 对VGA信号进行相应的操作,当发送端送至一帧数据暂存至FIFO中时,将从FIFO 内读取的数据通过VGA进行实时显示。

本发明有益效果是:本发明采用的多路视频数据流快速稳定的处理方法提高 了视频传输的实时性、稳定性、可靠性和高效性;同时该系统中异步时钟域的切 换处理不仅提高了通信质量的可靠性,并且大大节省了存储空间。本发明适用于 多种视频传输和监控系统,便于产品的统一化设计,降低了产品设计和维护成本。

附图说明

下面对本说明书附图所表达的内容及图中的标记作简要说明:

图1是本发明的具体实施方式的总体结构示意图。

图2是本发明的具体实施方式的系统内部工作流程图。

图3是本发明的具体实施方式的视频信号采集模块内部示意结构图。

图4是本发明的具体实施方式的视频信号的封装模块的状态机。

图5是本发明的具体实施方式的视频信号封装数据帧格式。

图6是本发明的具体实施方式的包FIFO汇聚模块内部结构示意图。

图7是本发明的具体实施方式的CRC校验计算模块内部结构示意图。

图8是本发明的具体实施方式的发送模块时序图。

图9是本发明的具体实施方式的异步时钟处理FIFO模块内部结构示意图。

图10是本发明的具体实施方式的视频数据的解析模块的内部结构示意图。

具体实施方式

下面对照附图,通过对实施例的描述,本发明的具体实施方式如所涉及的各 构件的形状、构造、各部分之间的相互位置及连接关系、各部分的作用及工作原 理、制造工艺及操作使用方法等,作进一步详细的说明,以帮助本领域技术人员 对本发明的发明构思、技术方案有更完整、准确和深入的理解。

本发明提出一种基于FPGA的千兆以太网视频多路采集传输系统,利用FPGA 高速灵活的特点实现对视频信号的多路采集处理,利用千兆以太网物理芯片实现 物理层以1000Mbps的速率高实时性地发送和接收数据,并通过包FIFO对缓存机 制进行优化处理,从而实现对视频信号采集传输系统性能的提高。

如图1所示,该系统包括发送端FPGA芯片、接收端FPGA芯片、摄像头模块、 发送端千兆以太网物理层芯片、接收端千兆以太网物理层芯片以及VGA显示模 块。其中摄像头采集视频信号输入给发送端FPGA芯片,发送端FPGA芯片对采集 的视频信号进行处理,并按照以太网协议封装,通过发送端千兆以太网物理层芯 片发送出去,接收端FPGA芯片通过接收端千兆以太网物理层芯片接收数据,并 解析出视频数据,通过VGA模块显示。

该系统的内部工作流程如图2所示。发送端FPGA芯片包括视频信号采集模 块、视频信号的封装模块、包FIFO汇聚模块、CRC校验计算模块以及发送模块; 接收端FPGA芯片包括接收数据的异步时钟处理FIFO模块、CRC校验的检测模块、 视频数据的解析模块和VGA的显示模块;

下面介绍上述各模块具体功能实现:

视频信号采集模块用于对各路视频信号的采集以及摄像头内部寄存器的配 置。该模块内部结构示意图如图3所示。配置模块首先按照SCCB协议配置摄像 头内部寄存器,设置摄像头工作模式。配置完成后,摄像头按照设置的模式采集 视频数据输入给发送端FPGA芯片。根据摄像头工作时序,采集输入的视频数据 和场同步信号的上升沿信号,将采集到的信号进行传输。

视频信号的封装模块用于按照以太网协议封装采集的视频信号,同时对封装 完成的数据进行缓存,缓存的包FIFO以一帧为存储单位进行读写。该模块的状 态机如图4所示。在空闲状态检测到包FIFO为非满时,状态机跳转至写入数据 帧头状态,自动向包FIFO内部写入固定的以太网数据帧头;当以太网数据帧头 写完时,状态机跳转至视频数据写入状态,等待视频信号的输入;当检测到视频 数据输入时,向包FIFO中写入1个字节的0,表示该数据帧携带视频数据,然 后将输入的视频数据进行处理后依次写入包FIFO中;当检测到摄像头场同步信 号的上升沿标志信号输入时,向包FIFO中写入1个字节的1,表示该数据帧携 带摄像头场同步信号的上升沿标志信号,然后继续将填充数据写入包FIFO中; 当完成该状态时,状态机跳转至CRC保留位写入的状态,向包FIFO中写入四个 字节的保留数据。完成以上状态后,状态机跳转至空闲状态继续进行。封装数据 帧格式如图5所示。

包FIFO汇聚模块用于完成多组包FIFO输入到一组包FIFO输出的汇聚。该 模块内部结构如图6所示。多路采集的视频信号经过封装,分别写入不同的包 FIFO中;读取转发模块分别对多组包FIFO数据缓存状态进行检测,以一个数据 帧为单位依次进行读取,再将读取的数据帧写入下一个包FIFO中进行缓存。读 取转发模块的速度远大于以太网数据帧写入FIFO的写入速度,因此能够保证多 路视频采集传输的可靠性。在实际应用中,具体能够满足多少路视频的采集传输, 应根据摄像头采集视频的带宽进行理论计算确定。

CRC校验计算模块用于对封装的数据帧进行32位CRC校验计算。模块内部 结构如图7所示。首先对包FIFO数据缓存状态进行检测,如果检测到包FIFO 中有数据,则以一帧为单位进行数据读取;将读取的数据延时4个周期输出,同 时送入CRC计算模块;当CRC计算完成时,将4个字节CRC校验码代替延时的数 据输出。其中CRC计算模块是将循环冗余校验的算法映射成代码,完成对数据帧 CRC校验码的计算。

发送模块用于对数据帧加入前导码和帧起始定界符,并按照千兆以太网物理 芯片的工作时序发送出去。该模块发送时序如图8所示。对输入的数据帧延时8 个周期,并将前导码(7个字节)和帧起始定界符(1个字节)发送出去,发送 完8个字节的数据之后,再将延时8个周期的数据帧发送出去。

异步时钟处理FIFO模块用于完成对接收端数据异步时钟域的处理。模块内 部结构如图9所示。当数据帧输入时,通过Sop_eop模块产生数据帧的结束标志 信号,再将8bit数据扩展到9bit,其中第9bit作为数据帧的结束的标志;当 输入数据帧倒数第2个字节时,将该字节对应扩展的第9bit置为1,其他字节 对应扩展的第9bit都置为0,输入至FIFO模块;当检测到FIFO模块内部存入 至少4个字节数据时,用系统时钟读取其内部数据;当检测到读出数据的第9bit 为1时,说明一帧数据读取结束,此时停止读取,继续检测FIFO内部数据存储 状态。

CRC校验的检测模块用于对接收数据的正确性的验证。通过检测数据帧起始 定界符提取数据帧的内容,并将提取的数据内容输入CRC校验码产生模块;当产 生完成时,将产生的32位CRC校验码与数据帧中的进行比对,如果相等,则说 明数据在传输过程中没有出现错误;如果不相等,则说明数据在传输过程中产生 了错误,并将错误的数据丢弃。CRC校验码的加入主要是为了检测视频信号传输 过程中的可靠性,如果出现太多的校验错误,则说明传输系统可靠性较差,并对 出现问题的地方进行优化改进,提高数据传输系统的可靠性。

视频数据的解析模块主要提取数据帧中的视频信号,并根据数据帧的类型确 定视频信号的流向。该模块结构示意图如图10所示。当一帧数据输入时,数据 解析模块检测数据帧中的Type。Type中第1个字节是确定数据流向的,第2个 字节是视频信号的数据类型;当该数据帧Type中第2个字节为0,则提取数据 帧中的视频数据,并写入Type中第1个字节所指定流向的FIFO中;当该数据帧 Type中第2个字节为1,则向Type中第1个字节所指定流向的显示模块输入有 效的摄像头场同步信号的上升沿标志信号。

VGA的显示模块用于实时显示视频信号。摄像头的时序与VGA的时序十分相 似,因此采用摄像头的行场同步信号驱动VGA的行场同步信号。当检测到场同步 信号的上升沿时,VGA的行场计数器开始计数,根据计数器的值对VGA信号进行 相应的操作。当发送端送至一帧数据暂存至FIFO中时,将从FIFO内读取的数据 通过VGA进行实时显示。FIFO大小只需能够缓存一帧数据的即可。

基于上述为使本发明技术方案更加清楚明了,以下通过一具体实施对本发明 视频多路采集传输系统的工作过程进行说明。

如图2所示的系统内部工作流程图,发送端FPGA芯片中封装完成的视频信 号数据帧在汇聚之前,每一路摄像头对应一个视频数据的采集模块、视频数据的 封装模块以及缓存的包FIFO;接收端FPGA芯片中视频数据的解析模块解析出的 每一路视频信号对应一个显示模块。

在发送端,视频信号采集模块通过配置摄像头内部寄存器,设定其工作模式; 摄像头正常工作后,根据信号输入的时序采集输入的视频数据以及场同步信号的 上升沿。视频信号的封装模块将采集到的视频信号封装成两种类型的数据帧,一 种携带视频数据,另一种携带场同步信号的上升沿信号,并通过数据帧中Type 的第2个字节的数据对该种区分进行标记,同时通过数据帧中Type的第1个包 字节的数据标记视频信号流。各路封装完成的数据帧缓存在所对应的包FIFO中。 汇聚模块通过检测读取各路缓存的包FIFO,将多路数据信号汇聚成一路进行传 输。汇聚之前的包FIFO个数取决于视频数据流的个数。读取汇聚完成缓存在包 FIFO内部的数据帧,将此数据进行延时处理,通过CRC校验算法计算出数据帧 的CRC校验码,并进行传输。在发送模块,将经过CRC校验码计算的数据帧添加 前导码和帧起始定界符,并按照千兆以太网物理芯片GMII模式进行数据发送。

在接收端,通过接收端千兆以太网物理层芯片接收系统传输的数据,并将数 据传输至接收端FPGA芯片。接收端FPGA芯片采用部分字节FIFO处理异步时钟 域的数据,并删除数据帧的前导码和帧起始定界符。将处理后的数据帧进行CRC 校验,检测数据传输的正确性;如果校验发生错误,则丢弃该数据。解析CRC 校验正确的数据,提取视频信号,确定数据帧的类型和视频信号的流向,并将视 频信号缓存至相应的FIFO中。检测解析出的场同步信号的上升沿标志信号,则 对VGA行场同步信号的计数器进行计数,并根据行场计数器的值对VGA信号进行 相应操作。当一帧数据传输至接收端并缓存在相应的FIFO中时,显示模块读取 其中的视频内容,并实时地显示。当下一帧数据传输过来时,将前一帧视频数据 覆盖。FIFO大小只需要能够存储一帧数据。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述 方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改 进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明 的保护范围之内。本发明的保护范围应该以权利要求书所限定的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号