首页> 中国专利> 面向多媒体传输的IEEE1394/GbE变换器及数据采集系统

面向多媒体传输的IEEE1394/GbE变换器及数据采集系统

摘要

利用SOPC技术通过软硬件协同设计实现了从IEEE 1394协议到千兆以太网协议的变换,可以实时转发高速图像数据。基于1394协议的数字相机连接在以太网上,允许连在网络上的PC机对相机进行远程控制并且能够将相机拍摄的图像数据通过网络进行实时转发,系统设计的关键是在1394端口和千兆以太网端口之间建立高速的数据通路。

著录项

  • 公开/公告号CN101426015A

    专利类型发明专利

  • 公开/公告日2009-05-06

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200810239810.7

  • 发明设计人 刘栋;金惠华;

    申请日2008-12-12

  • 分类号H04L29/06;H04L12/56;

  • 代理机构

  • 代理人

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-12-17 21:53:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-28

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20120502 终止日期:20121212 申请日:20081212

    专利权的终止

  • 2013-12-25

    文件的公告送达 IPC(主分类):H04L29/06 收件人:北京航空航天大学 文件名称:专利权终止通知书 申请日:20081212

    文件的公告送达

  • 2013-05-01

    文件的公告送达 IPC(主分类):H04L29/06 收件人:北京航空航天大学 文件名称:缴费通知书 申请日:20081212

    文件的公告送达

  • 2012-05-02

    授权

    授权

  • 2009-07-01

    实质审查的生效

    实质审查的生效

  • 2009-05-06

    公开

    公开

查看全部

说明书

技术领域

本发明大体上涉及改进的数据传输系统和方法。更具体地,本发明指示基于NIOS处理器、用于实现面向多媒体传输的IEEE1394/GbE网络变换器。特别地,本发明介绍了一个实时图像采集系统,该系统实现了从IEEE1394协议到千兆以太网协议的快速变换,将数字相机发出的图像数据转发到以太网上。

背景技术

以太网协议和IEEE1394协议是两种高速数据通信协议。在IEEE802.3协议族中定义的以太网协议由于其高度灵活性和实现的简单性得到了极为广泛的应用,而IEEE1394协议由于对QOS(服务质量)提供更可靠的保障成为实现多媒体传输的优先选择。在应用中将两种协议进行融和,达到取长补短的效果也是当前的一个研究方向,典型的方案有利用以太网的物理层介质实现1394链路层协议和利用以太网连接多个小型1394网络组成局域网等等。

发明内容

本发明公开了一个实现了面向多媒体传输的IEEE1394/GbE(Gigabite Ethernet,吉比特以太网)变换器以及使用该变换器的IEEE1394/GbE协议变换的图像采集系统。其可以将基于1394协议的数字相机连接到以太网上,允许连在网络上的计算机对相机进行远程控制并且能够将相机拍摄的图像数据通过网络进行实时转发,系统设计的关键是在1394端口和千兆以太网端口之间建立高速的数据通路。本发明利用SOPC技术完成了系统设计,实现了相机高速拍摄图片时数据的实时转发。

根据本发明的一个方面,提供了一种面向多媒体传输的IEEE1394/吉比特以太网变换器,包括可编程逻辑电路、以太网接口电路、SDRAM电路、FLASH电路、配置电路、1394链路层控制器电路、1394物理层接口电路和电源电路,其中,以太网接口电路用于将可编程逻辑电路与以太网连接,SDRAM电路和FLASH电路作为用于所述IEEE1394/吉比特以太网变换器的存储器连接到所述可编程逻辑电路,配置电路连接到所述可编程逻辑电路用来配置所述可编程逻辑电路,1394链路层电路连接到所述可编程逻辑电路,以及1394物理层电路连接到所述1394链路层电路和1394网络,

在所述可编程逻辑电路内部,具有处理器、耦合到所述以太网接口电路的千兆以太网MAC层控制器、耦合到所述FLASH电路的FLASH控制器、耦合到所述SDRAM电路的SDRAM控制器、双端口RAM和耦合到所述1394链路层电路的1394接口逻辑电路,其中:

经由第一Avalon总线连接所述处理器、所述FLASH控制器、所述SDRAM控制器、所述双端口RAM的第一端口、所述千兆MAC层控制器以及所述1394接口逻辑,所述处理器作为第一Avalon总线上的主设备而工作,所述FLASH控制器、所述SDRAM控制器、所述双端口RAM的第一端口、所述千兆MAC层控制器以及所述1394接口逻辑作为第一Avalon总线上的从设备而工作;

经由第二Avalon总线连接所述千兆以太网MAC层控制器、所述SDRAM控制器和所述双端口RAM的第一端口,所述千兆以太网MAC层控制器作为所述第二Avalon总线上的主设备而工作,所述SDRAM控制器和所述双端口RAM作为所述第二Avalon总线上的从设备而工作;

经由第三Avalon总线连接所述双端口RAM的第二端口和所述1394接口逻辑电路,所述1394接口逻辑电路作为所述第三Avalon总线上的主设备而工作,所述双端口RAM作为所述第三Avalon总线上的从设备而工作;

系统工作时,所述1394接口逻辑电路从多媒体设备接收多媒体数据并经由所述第三Avalon总线将所接收的所述多媒体数据通过所述双端口RAM的第二端口而保存到所述双端口RAM,其中,每接收到一帧多媒体数据,所述1394接口逻辑电路就向所述处理器发送一次中断,响应于所述中断,所述处理器将收到的多媒体数据打包成为以太网报文,然后所述处理器控制所述千兆以太网MAC层控制器以DMA方式经由所述第二Avalon总线通过所述双端口RAN的第一端口将所述以太网报文发送到网络上。

在一个实施例中,在打包发送以接收数据的同时,所述1394接口逻辑电路可以继续从多媒体设备接收新的数据,而在所述千兆以太网MAC控制器发送以太网报文的同时,所述处理器可以经由所述Flash控制器和/或所述SDRAM控制器取回并运行控制程序。

在一个实施例中,作为Avalon总线上的从设备的所述SDRAM控制器经由第一从端仲裁逻辑电路而连接到所述第一Avalon总线和所述第二Avalon总线;作为Avalon总线上的从设备的所述双端口RAM经由第二从端仲裁逻辑电路而连接到所述第一Avalon总线和所述第二Avalon总线;

以及当由于两个主设备同时访问同一个从设备而发生总线竞争时,从端仲裁逻辑电路将连接两个主设备的Avalon总线中的一个选通到从设备的总线端口上,以允许主设备访问从设备,从端仲裁逻辑电路还会使能未被选通的连接主设备的Avalon总线的等待信号,借以延长未被选通的连接主设备的Avalon总线的访问周期。

在一个实施例中,所述一帧多媒体数据是4096字节,以及,响应于所述中断,所述处理器通过执行中断服务程序而控制所述1394接口逻辑电路以DMA方式将所接收的一帧4096字节的多媒体数据按接收顺序分割成具有1400字节数据的第一部分、具有1400字节数据的第二部分、具有1296字节数据的第三部分,并且将每一部分顺序地存储在所述双端口RAM中,而且,在每一部分数据之间保留18字节的缓冲区,

在接收了一帧4096字节的多媒体数据之后,所述处理器控制所述千兆以太网MAC层控制器以DMA方式经由所述第二Avalon总线通过所述双端口RAM的第一端口将所述以太网报文发送到网络上之前,所述处理器将在所述缓冲区中填充14个字节的以太网报文头和4个字节的报文序列号信息而形成了以太网报文。

在一个实施例中,所述处理器经由第一Avalon总线通过所述1394接口逻辑电路而访问所述1394链路层芯片,进而访问所述1394网络。

在一个实施例中,所述1394链路层控制器电路是型号为TSB12LV32的1394链路层芯片,所述处理器是NIOSII处理器。

本发明还提供了一种多媒体数据采集系统,包括根据所述IEEE1394/吉比特以太网变换器、多媒体捕获设备、1394网络、吉比特以太网络和计算机,所述计算机经由所述吉比特以太网络而耦合到所述IEEE1394/吉比特以太网变换器,所述IEEE1394/吉比特以太网变换器经由所述1394网络而耦合到所述多媒体捕获设备,

其中,由所述计算机经由所述IEEE1394/吉比特以太网变换器而启动所述多媒体捕获设备,并经由所述IEEE1394/吉比特以太网变换器而接收来自所述多媒体捕获设备的多媒体数据。

本局本发明的一个方面,其中所述多媒体捕获设备是数字摄像机。

根据本发明的另一方面,在所述IEEE1394/吉比特以太网变换器上运行网络服务器,利用DHCP协议经由所述以太网获取IP地址,并使用TCP协议,来接收来自同所述以太网耦合的所述计算机的控制命令。

根据本发明的依然另一方面,其中,所述计算机经由所述IEEE1394/吉比特以太网变换器而基于在所述以太网报文中的4个字节的报文序列号信息而在以太网链路层协议上接收所述多媒体数据。

附图说明

当连同附图阅读时,通过参考后面对示出性的实施例的详细描述,将最佳地理解本发明以及优选的使用模式和其进一步的目的和优点,其中附图包括:

图1是示出了本发明的IEEE1394/吉比特以太网变换器系统的硬件结构的示例图;

图2是示出了本发明的Avalon总线的从端仲裁逻辑的示例图;

图3是示出了本发明的可编程逻辑电路内部SOPC系统的结构的示例图;

图4是示出了本发明的数据缓冲区结构的示例图;

图5是示出了本发明的DMA接口状态机的示例图;

图6是示出了用于本发明的处理器所执行的程序的流程图。

具体实施方式

图1是示出了本发明的IEEE1394/吉比特以太网变换器系统的硬件结构的示例图。如图1所示,可编程逻辑电路110是整个系统的核心,本实施例选用的FPGA芯片是美国Altera公司推出的CycloneII系列的EP2C35F484I8。所属领域技术人员将意识到,也可以采用诸如CPLD等其他可编程逻辑电路而替代在本实施例中所公开的EP2C35F484I8。以及,也可以采用诸如ASIC电路或实现相应功能的多种集成电路部件而实现替代EP2C35F484I8。在可编程逻辑电路110外部的SDRAM130和Flash170,其被用来存放程序代码和数据。本实施例采用TI公司的1394链路层控制器150(1394LLC)芯片TSB12LV32和1394物理层控制器160(1394PHY)芯片TSB41AB2实现了IEEE1394接口。在该实施例中利用IEEE1394接口与诸如高速数码相机(Basler A312f)的多媒体数据采集设备通信。为了实现千兆以太网接口,该实施例中的千兆以太网物理层控制器140(以太网PHY)采用了Marvell公司的千兆以太网物理层控制器M88E1111,而千兆以太网MAC控制器则在可编程逻辑电路110内部实现。整个系统还包括电源电路120和用来在上电时配置可编程逻辑电路110的内部逻辑的配置电路180。

图3是示出了本发明的可编程逻辑电路内部的SOPC系统的结构的示例图。可编程逻辑电路中实现了一个SOPC(System onProgrammable Chip)系统,其组成结构如图3所示。系统中包含了多个组件,例如,包括一个NiosII处理器301,一个SDRAM控制器304,一个FLASH控制器303,一个用来连接1394链路层芯片的1394接口逻辑电路306,一个千兆以太网MAC302,还有作为多媒体数据缓冲器的片上双端口RAM305(32位宽)。除了1394链路层芯片的接口逻辑电路306外,其它组件均可采用现有技术中已知的标准电路部件,诸如可采用在Altera公司提供的SOPC Builder中提供的组件。在SOPC系统中,这些组件通过片内Avalon总线307、308和309连接在一起。

Avalon总线是Altera公司开发的用来连接SOPC系统内各个组件的参数化总线。实际上Avalon总线连接的是各组件的总线端口,一个组件可以有一个或多个总线端口,例如NiosII处理器就至少有两个总线端口,一个用来读指令的端口和一个用来读写数据的端口。Avalon总线可以分为两类,分别是面向流的总线类型和面向存储器的总线类型。面向流的总线是点对点类型的总线,包括通道信号,握手信号和数据信号等,只能连接两个端口,分别是发送(源)端口和接收(目的)端口;面向存储器的总线和传统总线类型类似,包括控制信号,地址信号和数据信号等,总线上可以挂接多个设备(端口),包括一个主设备端口和一个或以上从设备端口,其中主设备端口可以主动开始总线周期,进行读写操作,从设备端口只能被动接收访问。在图3中所示出的Avalon总线307、308和309均为面向存储器的总线。

Avalon总线最大的特点是每一个主设备端口都有自己的一套独立总线,这可以使得不同的主设备在访问不同的从设备时可以互不干扰,从而增加了并行性。当不同主设备访问同一个从设备时,Avalon总线采用了从端仲裁的机制。图2是本发明的Avalon总线的从端仲裁逻辑的示例图。如图2所示,仲裁逻辑220一端连接从设备230的总线端口,另一端分别连接了两个主设备210、220端口的总线。当发生总线竞争时,仲裁逻辑220会用仲裁电路将两个主设备总线中的一个选通到从设备总线端口上,允许它访问从设备。仲裁逻辑还会使能(Enable)未被选通主设备总线的等待信号,借此延长未被选通的主设备总线的访问周期。仲裁逻辑使用轮询(Round-Robin)调度保证公平性原则,不会让某个主设备在有竞争的情况下一直占用总线。

在图3中,NiosII处理器301、千兆以太网MAC302和1394接口逻辑306分别是总线307、308和309上的主设备,它们各自使用一套总线与其从设备相连。SDRAM控制器304和双端口RAM305是NIOSII处理器301和千兆MAC302都会访问的从设备,因此在这两个从设备的总线端口处都有从端仲裁逻辑电路。这种连接方式可以增强并行性,举例来说,当千兆MAC302从双端口RAM305中读取数据向以太网进行发送的同时时,NiosII处理器301可以访问SDRAM控制304,继续执行程序。千兆MAC302在Avalon总线308上作为主设备工作,而在Avalon总线307上作为从设备而工作。

1394接口逻辑带有一个从设备端口和一个主设备端口,从设备端口连接到Avalon总线307,而主设备端口连接到Avalon总线309。NiosII处理器301对1394接口逻辑306的从设备端口的访问将被转化成对1394链路层控制器150(参见图1)的访问,从而实现对1394链路层控制器150控制状态寄存器的读写操作。当在1394总线上进行高速数据接收时,可以使用1394链路层控制器150中的DMA控制器将收到的数据快速输出,1394接口逻辑306与这个DMA控制器相耦合,并将所接收的数据通过Avalon总线309上的主设备端口写入双端口RAM305中。使用双端口RAM305是为了实现在从1394总线接收高速数据的同时,可以对已经收到的数据打包并经由千兆MAC302向以太网进行发送。

在图3的NiosII处理器301上可运行诸如uC/OS-II操作系统的操作系统,使用NicheStack协议栈支持TCP/IP协议,这样NiosII处理器301可以通过以太网与控制计算机进行通信,接受远程控制。NiosII处理器301也可以不利用操作系统而使用自定义协议而同控制计算机通信。同时NiosII处理器301还要利用1394总线完成对多媒体数据采集设备的配置。当多媒体数据采集设备开始捕获数据并利用1394总线传回数据时,多媒体设备发出的数据经1394物理层控制器160和1394链路层控制器150传给可编程逻辑电路内部的1394接口逻辑306,1394接口逻辑306会将数据保存到双端口RAM305中的数据缓冲区。在接收到一帧数据后,1394接口逻辑306向NiosII处理器301发送中断。NiosII处理器301使用中断服务程序来将收到的数据打包成以太网协议报文,然后利用以太网将数据发送至控制计算机做进一步的处理。

在双端口RAM305中的数据缓冲区的结构如图4所示。诸如数字相机Basler A312f的多媒体数据采集设备在发送图像数据时,每帧数据最大长度可以是例如4096字节,而帧与帧间隔时间固定是125微秒,因此缓冲区结构要能存储4096字节的内容。由于以太网数据包中有效数据最多为1500字节,为了方便直接将数据打包成以太网数据包,缓冲区结构被设计为每隔1400字节的数据区402、404、406就插入18字节的空隙401、403、405,保留这些空隙是为了填写以太网报文的地址信息、类型信息和标识了从数据采集设备接收数据的先后顺序的每帧数据的序列号。利用该序列号,在以太网上的计算机可以在以太网链路层协议上接收所采集的数据,而无需采用TCP等高层次协议来接收数据,以降低数据传输中的整体(overhead)开销。当然,为了便于系统实现,也可以利用TCP等协议来接收数据。当从1394总线收到一帧图像数据后,NiosII处理器301可以在这些空隙401、403、405处直接填写以太网报头来组成以太网报文,以便于千兆MAC302直接读取这些以太网报文并经由以太网发送。举例来说当相机发送的数据每帧4096字节时,这些数据被多个空隙401、403、405截为3段,NiosII处理器301在3个空隙处添加以太网报头后就可以将数据分为3个以太网包发送出去。这个变换转发的过程不存在内存间的数据拷贝,从而提高了数据包的转发速率。双端口RAM305的大小可以是例如17K字节,其中顺次安排了4个如图4这样的数据缓冲区结构400。在NiosII处理器301和千兆MAC302经由Avalon总线307和308在一个数据缓冲区结构400上处理和发送已经收到的一帧数据的时候,1394接口逻辑306可以经由Avalon总线309将新收到的数据写入其它数据缓冲区结构中。

1394接口逻辑306可以分为两个部分,一个是为NiosII处理器访问1394链路层芯片TSB12LV32的寄存器提供必要的时序控制的寄存器接口逻辑电路(以下简称寄存器接口逻辑);另一个是用来接收1394链路层芯片TSB12LV32上DMA控制器发来的数据的DMA接口逻辑电路(以下简称DMA接口逻辑)。

寄存器接口逻辑通过从设备端口连接到Avalon总线307上,这个从端口的数据信号宽度是32位,而1394链路层芯片TSB12LV32的数据信号宽度是16位。当NiosII处理器301对寄存器接口逻辑进行一次32位宽数据的访问操作时,寄存器接口逻辑会将其转换为对1394链路层芯片TSB12LV32的两次地址累加的16位宽数据的访问操作。在这个过程中,寄存器接口逻辑通过使能Avalon总线307端口的等待信号来延迟总线周期直到两次16位宽数据的访问操作完成。使用这种32位宽数据和16位宽数据之间转换的原因是1394链路层芯片TSB12LV32中的寄存器都是32位的,且某些寄存器还要求连续两次地址累加的访问。另外这样做法使得NiosII处理器301执行一条指令就得到更多的数据,从而提高了访问的效率。这一转换过程对NiosII处理器301完全透明。

1394链路层芯片TSB12LV32的DMA控制器使用的数据信号宽度是16位,在收到多媒体数据后,DMA控制器会使能数据有效信号,然后根据频率为24.576兆赫兹的时钟,每个时钟周期输出一个16位宽的数据。DMA接口逻辑使用状态机实现,其状态转移情况如图5所示。在初始状态510中,检测1394链路层芯片TSB12LV32的DMA控制器是否发送数据520,如果有数据发送,DMA接口逻辑接收发来的数据503、540,将相临的两个16位宽的数据拼成一个32位宽的数据550。DMA接口逻辑通过主设备端口连接到Avalon总线上,数据信号宽度32位,DMA接口逻辑每次拼出一个32位宽的数据,就通过Avalon总线309把数据写入到双端口RAM305中。DMA接口逻辑提供一个控制寄存器用来让NiosII处理器301设置写双端口RAM305的基地址,在向双端口RAM305写入的过程中DMA接口逻辑会自动对地址进行累加。与图4显示的缓冲区结构相对应,DMA接口逻辑在连续写入1400字节数据后,会自动将地址加上18形成空隙。DMA接口逻辑还为处理器提供一个状态寄存器,每次收完一包数据后,该寄存器保存了收到数据包的长度,NiosII处理器301可根据这个长度来将数据打包成以太网报文。

本系统的NiosII处理器301可执行控制程序。程序主流程图如图6所示。NiosII处理器301在初始化阶段610完成对1394链路层芯片TSB12LV32和多媒体数据采集设备的配置620,还要为1394接口逻辑304设置相应的中断服务程序608。然后NiosII处理器301运行uC/OS-II操作系统和TCP服务器630,等待远程计算机的连接请求和控制命令。如果TCP服务器收到启动命令640,就会通过1394总线启动多媒体数据采集设备开始捕获数据650。随后,通过1394总线传回所捕获数据,每收到一帧多媒体数据后,1394DMA接口逻辑会向NiosII处理器301发送中断690,中断服务程序会根据收到数据包的长度决定数据需要被分为几个以太网报文,在如图4所示的缓冲区结构的空隙处添加以太网协议报文头和序列号信息后,把数据包直接通过以太网络发送给远程计算机6110。在NiosII处理器301启动多媒体数据采集设备开始捕获数据650之后,NiosII处理器301等待来自远程计算机的停止命令660,如果收到停止命令660,则通过1394接口逻辑304来停止多媒体数据采集设备。

利用本发明中所公开的系统,在采用数字相机Basler A312f每秒拍摄53张782*582像素的照片,产生约22兆字节数据的情况下,该系统可以成功将数据进行转发,丢包率在十万分之一以下。而在丢包的情况下,计算机可以用上一行的数据代替丢失的行,图像的质量仍在许可的范围内。

目前该系统使用以太网报文直接发送数据的速率可以达到50兆字节/秒以上,而使用UDP协议包发送图像数据的速率目前只达到6兆字节/秒,使用TCP协议速率将会更慢,这是该系统优选地直接使用以太网协议包转发图像数据的原因。

已经为了示出和描述的目的而展现了对本发明的描述,并且不旨在以所公开的形式穷尽或限制本发明。对所属领域技术人员,许多调整和变化是显而易见的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号