用ip协议进行串行总线数据传输的方法及其使用的装置的制作方法

文档序号:7952681阅读:252来源:国知局
专利名称:用ip协议进行串行总线数据传输的方法及其使用的装置的制作方法
技术领域
本发明涉及应用网际网络协议IP进行串行总线数据通讯的领域,特别是涉及应用网际网络协议通过串行总线进行实时流传输的领域。
背景技术
目前存在许多通过互联网进行视频流传输的高压缩视频编码技术。这些技术包括MPEG2或MPEG4视频/音频编码技术。其它编码技术还有H.263、H.264、DIVX或者Windows Media 9等编码技术。这些编码技术可以将640×480像素8位3基色的标准视频质量的流以25HZ帧频=184Mbit/s的速率压缩100倍或更多倍,使得在带有DSL调制解调器的模拟电话线(数字用户线路)上传输视频流成为可能。
在视频链的另一端,即视频产品的一端,即使是使用专有的冗余简化方法,大多数视频压缩技术还是不能令人满意。因此为通过总线协议进行数据通信必须支持的更高的数据速率。
在专业视频产品领域有一个称为HDSDI(SMPTE 292M)总线标准,其处理速率大约为1.5Gbit/s。将来还会生产出分辨率越来越高的视频资料,这就需要更高的数据速率,如2k的1920×1080像素10位3基色电影胶片以24帧/秒的速度加上音频和元数据(metadata)会产生1.6Gbit/s的数据量。另外,分辨率为3840×2160的4k胶片正在开发。这时该产业必须具有6Gbit/s的处理速率。
因此,亟需在摄影场建立基于可以提供2Gbit/s以上数据传输能力的总线技术的视频服务器和接收器网络。以太网总线技术专用于这些高数据速率。目前有提供1Gbit/s数据速率的以太网变型,例如1000BASE-SX以太网、1000BASE-LX以太网、1000BASE-CX以太网和1000BASE-T以太网。此外,还有一些基于光纤提供10Gbit/s数据速率的特殊以太网变型。这些以太网变型有10GBASE-LX4、10GBASE-SR、10GBASE-LR、10GBASE-ER、10GBASE-SW、10GBASE-LW和10GBASE-EW。
在以太网的物理层上进行视频流传输将被越来越多地用于专业视频制作中。人们非常希望使用已安装好的上层,诸如有TCP层(传输控制协议层)、UDP层(用户数据报协议层)、RTP层(实时传输协议层)和IP层(网际网络协议层)进行视频传输,因为这些协议层堆栈/驱动器和许多不同的操作系统(OS)安装在一起。其优点是许多现成的软件工具支持TCP/UDP和IP协议对这些视频流进行提取/显示或者存储/记录。
现有IP层上的视频流传输应用大多数是基于软件的。执行这些应用程序的处理器必须有很高的性能才能实现实时流传输。随着以太网物理层速度级的增加(1000BASET,10Gbit以太网(10GbE)),处理器处理IP包的中断反应时间则需要更多。而现有的处理器不能提供处理10GbE上的IP包所需要的性能。如果考虑下一个上层协议层(特别是TCP层),处理器便不具有足够的性能。

发明内容
为了解决上述问题,本发明总的概念是提供一种应用网际网络协议通过串行总线进行数据传输的方法,将嵌入式软件/硬件结构的TCP/UDP/RTP和IP协议层分开,在UDP/RTP层上而不在TCP层上进行实时流传输。在该方法中有时间要求的RTP/UDP/IP协议完全由硬件支持,而无时间要求的TCP/(UDP)/IP层由嵌入式微处理器上的软件来实施。本发明还涉及在由文件系统过程调用完成实时流传输而不是由RTP完成的情况下将协议层分开的构想。
对于在根据本发明的方法中使用的装置,该装置较佳的是包括处理必需实时传输的数据包的硬件装置,和处理不必实时传输的数据包的软件装置;以及用于将必需实时传输的数据包传送给硬件装置并将不必实时传输的数据包传送给软件装置的与分用器连接的过滤装置。
在各从属权利要求中会显见本发明进一步的较佳实施例。
应用网络技术其独到的优点是过滤算法所作的以下三个判定1、有些IP数据包要进行必需实时的处理;2、有些IP数据包要进行不必实时的处理;3、有些IP数据包要加以阻止不进行处理。
分析TCP/UDP/IP包头可以得出过滤装置的判定条件。该判定取决于下列条件1、传入的IP数据包的IP源地址;2、传入的IP数据包的IP目的地址;3、传入的IP数据包的“协议”字段的入口;4、传入的TCP/UDP数据包的源端口号;5、传入的TCP/UDP数据包的目的端口号;6、传入的TCP/UDP数据包的远程过程调用功能(程序编号和过程编号)。
通过上述的方式可以使用一个分用器(demultiplexer)根据过滤判定将数据包传送给正确的处理阶段。
概括而论,过滤器判定1)和2)用于阻止对非预见性传入的数据包的处理,或者通过软件以简单的方式,如确认“忙碌”来确认这些数据包不需要实时。上述处理是根据数据包头中唯一的IP源地址和IP目的地址完成的。
本发明的一个实施例是用网络层进行流传输。此处RTP(实时传输协议)和RTSP(实时流传输协议)与UDP/IP一起使用。此处数据流用RTSP以不必实时的方式进行控制,且数据包用RTP以必需实时的方式传输。UDP/IP层和RTP层必须使用硬件进行加速,RTSP可以由软件处理支持。要达到上述目的,还需要通过数据包在“协议”字段中的唯一入口、TCP/UDP包的源端口号、TCP/UDP包的目的端口号,利用过滤器判定3)、4)和5)来确定要由硬件进行实时处理的数据包。所有其他的数据包为不必实时传输,可以由软件进行处理。
在本发明的实施例中,使用一个文件系统控制网络中的数据访问,所述文件系统具有许多为执行不同任务而实施的过程。这种情况下,较佳的是网络工作站包括一个过程过滤器,将必需实时的过程调用和不必实时的过程调用分开,将过程调用分别传送给硬件装置或软件装置。
为了达到上述目的本发明还利用过滤器判定6)根据必需实时传输的数据包的“READ”和“WRITE”过程来确定这些数据包,并通过硬件进行处理。根据过程如“creat_file”,所有其他数据包可以用软件以不要求实时的方式进行处理。
与现有已知的依赖软件的解决方法相比较,通过将必需实时的过程和不必实时的过程区分开,本发明的实施例可以确保访问(例如,访问存储设备)所需的数据吞吐率。
以本发明必需实时的流入或流出存储设备(如经由网络)的流传输,能通过硬件实施的数据路径加速后以2Gbit/s或更高的吞吐速度工作。
实施现有的网络文件系统NFS使本发明尤其有用。


以下参考附图详细说明本发明的具体实施例图1为连接在实时存储设备上的视频摄像机;图2为OSI/ISO数据通讯参考模型的不同的层;
图3a为包括IP头、UDP头和RTP头的以太数据包的包格式;图3b为包括IP头、UDP头和RPC头的以太数据包的包格式;图4为根据本发明的设备的软件/硬件方块图;图5为根据本发明的10G以太网实时高速流传输接口的硬件/软件实施图;图6为根据RPC协议的过程过滤器结构。
具体实施例方式
图1中参号10表示专业视频摄像机。该摄像机经由以太网总线11与存储设备12连接。由于未被压缩的视频流应当经由总线连接传输,所以应使用1000BASE-xy或10GBASE-xy中的一个以太网变型。这些以太网变型包括基于光纤或者铜线的总线技术。上述存储设备能够以每秒2Gbit或更高的速率记录音频/视频数据。
图2所示为周知的OSI/ISO数据通讯参考模型。在该例中标记了不同的层使用了哪项具体技术。物理层PHL为以太物理层。数据链路层为以太MAC层。网际网络协议IP用于实施网络层NL。在传输层上实施的是UDP/TCP协议。在该例子中高层会话层SL和表示层PRL未具体说明。应用层AL由RTP、RTSP和网络文件系统(NFS)的远程过程调用(RPC)表示。
图3a所示为传输部分视频流的以太包格式。该图中最高一层描述的是包括视频数据的净有效载荷数据。第二高层表示的是最高层的有效载荷数据加上一个RTP头。第三层表示的是有效载荷数据、RTP头加上RTP头前的UDP头。第二层表示的是第三层中的包的扩展,在上述UDP头前增加了一个IP头。图3的底层表示的是完整的以太数据包,具有在以太包的最前端的以太头,IP头、UDP头、RTP头以及数据字段中的有效载荷数据。
图3b所示为以NFS的RPC调用替换RTP层的实施例中相应的以太包格式。
图4所示为根据本发明的装置的软件和硬件结构方块图。所有必需实时的和不必实时的以太数据包是通过例如10Gbit以太介质20到达所述装置。参号21表示以太物理层。包在以太物理层经硬件实施之后进入以太MAC硬件层中。在MAC硬件层完成上述装置的MAC识别号过滤。在以太MAC硬件层22之上设置有多个先入先出(FIFO)存储器23,以解除所述设备与以太总线20在时间上的耦合。接收机RX-DMA 24和发送机TX-DMA 33分别向上层协议层读取或填充FIFO存储器23。
单元25为接收路径上的IP头和上层头过滤器以及数据包分用器,以及传送路径上的数据包复用器。在此,单元25对特定端口具有预定的特定源/目的IP地址ID=xy的必需实时传输的数据包和用特定的远程过程调用(RPC)联网的文件系统进行过滤。在包头中可以找到进行过滤所需的全部信息。因此,所述单元25需要对包中不同的包头进行评估。IP ID出现在图3所示的IP头,UDP端口则可以在图3所示的UDP头中找到。所识别出的必需实时的UDP包传递给基于硬件的IP解码单元26。下一个处理阶段为基于硬件的UDP处理单元27。在UDP层之上为应用层30。应用层的一部分以专用的硬件装置实施,该硬件装置为RTP协议的硬件。在由NFS远程过程调用产生实时流传输的情况下,硬件28支持RPC格式。在这种情况下过滤单元25对UDP包中的程序号和过程号很敏感。
单元25对具有相应源/目的IP标示符(IDs)(图5中IP ID=xy)的TCP或UDP端口无时间要求的包进行过滤。所述包暂时存储在随机储存器RAM 32中等待嵌入式处理器31的处理。此处用软件实施TCP/(UDP)/IP协议层。处理时间比在前述必需实时传输的包的数据路径上慢很多。如果需要,这些数据包处理完之后可以在应用包复用器(图中未示)中与对有时间要求的包流进行复用并提供给应用层30。最后由目标应用程序完成迅速到达的必需实时传输的数据流和不必实时传输的数据流的合并。
接下来描述图4所示另一个方向(即,从设备发送数据的方向)的处理路径。如果连接的设备如播放设备(图中未示)通过UDP向目的设备的专有源IP ID请求必需实时传输的数据,嵌入式处理器31向应用层30发送所需数据的请求。该数据由应用层30提供给应用包分用器(图中未示)。该应用包复用器单元直接将数据传送给硬件RTP/RPC单元28、UDP单元27和IP单元26。这些单元分别根据RTP/RPC、UDP和IP包标准格式化数据。然后将所述包提供给包复用器25接着把复用后的数据包流传送给硬件TX-DMA单元33。接下来的处理单元为FIFO存储器23、以太硬件MAC层22、以太物理层21和最后的以太缆线20。
接下来描述具有相同方向但是不必实时传输的数据包的处理路径。如果连接的设备(例如,Windows/Linux个人电脑)通过FTP、TCP向主设备请求数据包,如上所述,所述FTP/TCP数据包请求由嵌入式处理器31接收。所述嵌入式处理器解读FTP命令并向应用层30请求所需的数据。数据由应用层30提供给应用包分用器。应用包分用器单元将数据写入DRAM 32。嵌入式处理器31由数据建立TCP/IP包,并请求头过滤器和数据包复用单元25将数据包发送给TX-DMA单元33。接下来的处理单元为FIFO存储器23、以太MAC层硬件单元22、以太物理层21、最后是以太缆线20。
图5所示为本发明实施例的更为详细的方块图。与图4中相同的部件使用相同的参号。这些部件不再进行解释。
下面分别介绍接收路径和发送路径。在接收路径,迅速到达的数据包收集在FIFO存储单元23的FIFO存储器40中用于时间解耦合。不同的硬件模块设有配置块42,在所述FIFO存储器块中便设有该配置块。根据上述的过滤算法在过滤块25的包头解析块43中对RX数据包进行处理。必需实时传输的包直接提供给硬件块中的TX引擎63用于实时协议堆栈。不必实时传输的数据包写入将系统时钟与DRAM时钟解耦合的FIFO 44中。从FIFO 44出来后的数据包通过四通道DRAM控制器48提供给DRAM 32。在这里,这些数据包由可基于处理器核PPC405的微控制器31进行处理。所述处理器由其接口端55与四通道DRAM控制器48连接。所述TX引擎63将必需实时传输的数据包提供给硬件处理模块MAC用户65,IP 26和UDP 27进行实时协议堆栈。在这些模块中根据相应的标准完成数据包的评估。应用程序接口66将必需实时传输的数据包提供给应用程序模块29,在其特定的实时硬件模块28中完成RTP或RPC处理。由接收到的以太数据包发布的所有不必实时的主题(topic)在负责处理DRAM24中不必实时传输的以太数据包的微控制器31和应用微处理器核67之间通过应用接口61进行处理。
为了进行传输,所述应用程序29的微处理器核67向微控制器31发布一个发送请求,该微控制器31为传输目的对所有必要的模块进行配置。之后,应用程序29将必需实时传输的数据包通过RTP/RPC模块28和应用程序接口61提供给UDP27、IP26和MAC客户65硬件模块,分别“实时”(on-the-fly)根据各标准实时格式化数据包。RX引擎64数据包经由FIFO 45提供给定时数据路径复用器46。在此,必需实时传输的数据包与DRAM 32中微控制器31所提供的不必实时传输的数据包混合,其中的数据包由DRAM控制器48取出并提供给FIFO 47。然后,所有的数据包写入TX-FIFO41中进行时间解耦合,并分别经由以太MAC 22和以太物理层模块21发送给光纤和铜介质20。
关于前述的RPC主题,将参考图6对本发明另一实施例进行描述。
与图4的数据处理结构类似的是诸如音频/视频(AV)系统的实时数据处理结构。对于这些领域中的所有应用而言,关键的问题是对存储设备的快速访问。虽然个人电脑领域的应用在快速访问数据方面兴趣很高,但是存储设备方面的数据安全(数据冗余)也很重要。因此目前在电脑领域对数据访问的控制仍不能实时进行也不能以软件实现。
随着AV实时领域的新应用需要支持2Gbit/s的数据吞吐率,通过软件不再可能支持具有智能文件系统(FS)控制的高数据吞吐量。
有一个用于管理网络文件的数据访问的文件系统,称为网络文件系统NFS(Network File System)。NFS为用在网络的RPC层、UDP层和IP层堆栈上层的基于UNIX的伪文件系统,其中NFS为一组远程过程调用RPC。在本发明的实施例中,核心问题是引入将NFS层的过程分为由软件支持的任务和由硬件实施的任务的机制。
所述软件部分以“非实时”行为,如GETATTR,CREATE或REMOVE(参见表1),管理除NFS过程READ和WRITE以外的NFS控制过程。
表一不同版本号的所有NFS过程


图6所示为图5的过滤单元25在RPC过滤情况下的结构。过滤单元25包含两个表,一个用于软件路径,一个用于硬件路径。这两个表包括需要通过的过程名称。由NFS版本号指引所述表。NFS层的硬件部分中只有两个过程通过READ和WRITE(必需实时数据流传输的过程)。其他的过程转发至NFS层的软件路径。
与现有周知的完全依赖于软件的解决方案相此较,本发明通过将必需实时的NFS过程和不必实时的过程区分开,确保了访问例如存储设备所需的(高)数据吞吐率。
运用本发明必需实时传输的数据流流入或流出NFS存储设备,如通过网络,可以由硬件实施的数据路径加速到2Gbit/s或以上的吞吐率。
所述实施例可能有落在权利要求范围内不同修改。
权利要求
1.一种应用网际网络协议通过串行总线(20)进行数据传输的方法,其中所述数据传输包括必需实时传输的数据包和不必实时传输的数据包,其特征在于所述必需实时传输的数据包的传送是基于用户数据报协议UDP和一个实时传输协议RTP或文件系统的过程调用,所述不必实时传输的数据包的传送是基于传输控制协议TCP和/或用户数据报协议UDP。
2.根据权利要求1的方法中使用的装置,包括一个串行总线(20)接口,其特征在于该装置包括用于处理必需实时传输的数据包的硬件装置(26、27、28),用于处理不必实时传输的数据包的软件装置,以及将必需实时传输的数据包传送给硬件装置(26、27、28)并将不必实时传输的数据包传送给软件装置的过滤单元(25)。
3.根据权利要求2的装置,其中所述过滤单元(25)包括基于数据包的源设备或目的设备的IP地址、IP包类型和端口号对数据包进行过滤的装置。
4.根据权利要求3的装置,其中所述过滤装置包括一个过程过滤器,在数据包基于用户数据报协议UDP和文件系统的过程调用传送的情况下,基于过程调用的类型进行过滤。
5.根据权利要求4的装置,其中所述过程过滤器(42)包含一个传送给硬件装置(43)的过程调用表和一个传送给软件装置(41)的过程调用表。
6.根据权利要求4的装置,其中所述文件系统为网络文件系统NFS并且所述过程调用为远程过程调用。
7.根据权利要求5或6的装置,其中只有NFS_READ和NFS_WRITE过程调用是传送给硬件装置(26、27、28)的远程过程调用。
全文摘要
应用网际网络协议IP的串行总线(20)实时流传输越来越重要。随着新的总线技术如10Gbit以太网的应用,即使是高清晰电影质量和不压缩格式的流传输也成为可能。然而,在这种情况下用软件方法进行的数据访问管理便至关重要,或者即使是在软件运行时使用高性能的微控制器也会只是因为性能的原因而不能实现。本发明提出一种网络中的装置,用于实施硬件装置(26、27、28)来处理必需实时传输的数据包,并实施软件装置来处理不必实时传输的数据包,以及用于分析包头和将必需实时传输的数据包传送给硬件装置(26、27、28)并将不必实时传输的数据包传送给软件装置的过滤算法和分用器(25)。
文档编号H04L29/06GK1822592SQ20061000758
公开日2006年8月23日 申请日期2006年2月17日 优先权日2005年2月18日
发明者布鲁恩·托马斯, 凯利尔·拉尔夫, 多罗·卡 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1