公开/公告号CN103442010A
专利类型发明专利
公开/公告日2013-12-11
原文格式PDF
申请/专利权人 清华大学;北京清软英泰信息技术有限公司;
申请/专利号CN201310390306.8
申请日2013-08-30
分类号H04L29/06(20060101);
代理机构11002 北京路浩知识产权代理有限公司;
代理人王莹
地址 100084 北京市海淀区清华园北京100084-82信箱
入库时间 2024-02-19 21:27:30
法律状态公告日
法律状态信息
法律状态
2019-10-22
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 变更前: 变更后: 申请日:20130830
专利权人的姓名或者名称、地址的变更
2016-08-10
授权
授权
2014-01-15
实质审查的生效 IPC(主分类):H04L29/06 申请日:20130830
实质审查的生效
2013-12-11
公开
公开
技术领域
本发明涉及计算机网络领域,尤其涉及一种RTP协议栈的开发装置及实现框架。
背景技术
列车通信网络是用于列车这一流动性大、环境恶劣、可靠性要求高、实时性强、与控制系统紧密相关的特殊的计算机网络。1999年,国际电工委员会(IEC)制定的列车通信网络正式成为国际标准(标准号IEC61375-1)。标准中第2章定义了实时协议RTP(Real-time TransportProtocol,实时传输协议)。该协议用于提供车辆内或车辆应用之间的通讯。RTP协议规定了两类通讯服务:过程数据和消息数据。过程数据用于传输具有确定传输延时的短数据;消息数据用于传输可能冗长但不频繁的数据项。
RTP协议描述了过程数据和消息数据在链路层、网络层、传输层、会话层和应用层上的功能,并规定了两类服务在链路层、传输层和应用层上的接口。
目前仅有少数公司掌握RTP协议的核心技术。RTP协议栈,尤其是其中的消息数据部分,开发难度很大,主要体现在:
接口众多,逻辑复杂;
网络层消息路由功能复杂;
传输层逻辑复杂。
同时,IEC61375-1在某些函数、常数、图表、流程图的描述上存在不一致和二义性,这也给RTP协议栈的实现带来了困难。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何降低RTP协议栈的开发难度。
(二)技术方案
为解决上述技术问题,本发明提供了一种RTP协议栈的开发装置,包括开发工作站、第一工控机、第二工控机、链路层模式D113网卡和应用层模式D113网卡;其中,所述开发工作站与所述第一工控机通过串口相连,所述第一工控机和所述链路层模式D113网卡通过PC104总线相连,所述链路层模式D113网卡和所述应用层模式D113网卡通过MVB总线相连,所述应用层模式D113网卡和第二工控机通过PC104总线相连。
为解决上述问题,本发明还提供一种根据上述的装置实现的RTP协议栈的实现框架,包括:
硬件和操作系统抽象层,用于对所述第一工控机的硬件和操作系统进行抽象,向所述RTP协议栈提供统一的访问接口;
MUE层,用于对MUE协议进行封装,向所述RTP协议栈提供统一的链路层接口,所述MUE协议为所述链路层模式D113网卡提供服务的封装;
RTP协议栈实现层,用于实现所述RTP协议栈的监视数据、过程数据和消息数据的功能。
进一步地,所述硬件和操作系统抽象层包括:
POSIX封装模块,用于对所述第一工控机的操作系统的POSIX接口进行封装;
UART端口访问封装模块,用于对所述链路层模式D113网卡PC104接口的访问进行封装。
进一步地,所述MUE层包括:
MUE基础层,用于对所述MUE协议进行封装;
MUE总线控制公共层,用于对所述链路层模式D113网卡PC104接口的总线控制器的公用部分进行封装;
特定总线控制实现层,用于实现对所述链路层模式D113网卡PC104接口的特定总线的控制,向所述RTP协议栈提供统一的链路层接口。
进一步地,所述RTP协议栈实现层包括:
监视数据模块,用于实现所述RTP协议栈的监视数据功能;
过程数据模块,用于实现所述RTP协议栈的过程数据功能;
消息数据模块,用于实现所述RTP协议栈的消息数据功能。
进一步地,所述消息数据模块包括:
应用层模块,用于向所述第一工控机中运行的用户程序提供应用层接口;
会话层模块,用于向所述应用层模块提供会话层接口;
传输层模块,用于向所述会话层模块提供传输层接口;
网络层模块,用于向所述传输层模块提供网络层接口;
消息队列模块,用于实现所述网络层模块和所述传输层模块之间的消息队列;
定时器模块,用于通过所述第一工控机的操作系统的POSIX接口实现定时器队列。
(三)有益效果
本发明通过开发工作站、第一工控机、第二工控机、链路层模式D113网卡和应用层模式D113网卡进行RTP协议栈的开发,其结构简单,能够有效地降低开发难度,提高开发效率。
附图说明
图1是本发明实施方式提供的一种RTP协议栈的开发装置的结构图;
图2是本发明实施方式提供的一种RTP协议栈的实现框架的结构图;
图3为本发明实施方式提供的消息数据模块的结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施方式提供的一种RTP协议栈的开发装置,包括开发工作站1、第一工控机2、第二工控机3、链路层模式D113网卡4和应用层模式D113网卡5;其中,所述开发工作站1与所述第一工控机2通过串口相连,所述第一工控机2和所述链路层模式D113网卡4通过PC104总线相连,所述链路层模式D113网卡4和所述应用层模式D113网卡5通过MVB总线相连,所述应用层模式D113网卡5和第二工控机3通过PC104总线相连。
其中,第一工控机2和第二工控机3均可以为X86工控机;开发工作站1可以运行Ubuntu系统,开发软件可以为Eclipse+CDT+eCosHost Tools;第一工控机2可以运行eCos系统、用户程序和RTP协议栈;链路层模式D113网卡4用于实现MVB(Multifunction VehicleBus,多功能车辆总线)链路层功能,并通过PC104接口向第一工控机1提供此功能,具体可以采用Duagon公司产品MDFULL D113;应用层模式D113网卡5为一个完整的MVB4类设备,并通过PC104接口向第二工控机提供完整的MVB4类设备功能(该网卡实现了一个标准的RTP协议栈),具体可以采用Duagon公司产品SERVER D113;第二工控机3运行Windows XP系统以及相应的辅助程序,其中,开发工作站1与第一工控机2使用串口相连接,第一工控机2与链路层模式D113网卡4通过PC104相连,第一工控机2与链路层模式D113网卡4之间的协议可以为MUE(MVB Uart Emulation,MVB串口仿真)协议。其中,本发明中的MUE协议为现有技术,该协议可参见www.duagon.com网站的文档《MVB UART Emulation Protocol》。链路层模式D113网卡4与应用层模式D113网卡5使用RS485连接,应用层模式D113网卡5与第二工控机3使用PC104相连接。具体地,本发明实施方式提供的装置的软件版本信息可以参照表1。
表1
本发明实施方式提供的装置的硬件版本信息可以参照表2。
表2
本发明实施方式提供的RTP协议栈的开发装置,包括开发工作站、第一工控机、第二工控机、链路层模式D113网卡和应用层模式D113网卡,其结构简单,能够有效地降低开发难度,提高开发效率。
此外,参见图2,本发明还提供一种根据上述的装置实现的RTP协议栈的实现框架,包括:
硬件和操作系统抽象层,用于对所述第一工控机的硬件和操作系统进行抽象,向所述RTP协议栈提供统一的访问接口,从而方便移植工作;
MUE(MVB Uart Emulation,MVB串口仿真)层,用于对MUE协议进行封装,向所述RTP协议栈提供统一的链路层接口,所述MUE协议为所述链路层模式D113网卡提供服务的封装;
RTP协议栈实现层,用于实现所述RTP协议栈的监视数据、过程数据和消息数据的功能。
优选地,所述硬件和操作系统抽象层包括:
POSIX(Portable Operating System Interface of Unix,可移植操作系统接口)封装模块,用于对所述第一工控机的操作系统的POSIX接口进行封装,方便系统之间的切换,例如,从Linux系统移植到Windows XP系统;
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)端口访问封装模块,用于对所述链路层模式D113网卡PC104接口的访问进行封装。
优选地,所述MUE层包括:
MUE基础层,用于对所述MUE协议进行封装;
MUE总线控制公共层,用于对所述链路层模式D113网卡PC104接口的总线控制器的公用部分进行封装;
特定总线控制实现层,用于实现对所述链路层模式D113网卡PC104接口的特定总线的控制,向所述RTP协议栈提供统一的链路层接口。
优选地,所述RTP协议栈实现层包括:
监视数据模块,用于实现所述RTP协议栈的监视数据功能;
过程数据模块,用于实现所述RTP协议栈的过程数据功能;
消息数据模块,用于实现所述RTP协议栈的消息数据功能。
按照IEC61375-1RTP协议的要求,消息数据模块从上往下可以划分为五个层次,包括应用层,表示层,会话层、传输层和网络层,其中,本实施例中,消息数据模块的表示层为空,具体地,消息数据模块的结构如图3所示,包括:
应用层模块,用于向所述第一工控机中运行的用户程序提供应用层接口;
会话层模块,用于向所述应用层模块提供会话层接口,为了维护会话信息,该会话层模块还包括表格模块,用于保存会话信息;
传输层模块,用于向所述会话层模块提供传输层接口,控制传输层的状态转移过程,实现传输层的控制结构,该传输层模块包括两个子模块,状态机管理模块和状态机模块,其中,状态机管理模块用于维护连接状态机的创建和销毁,状态机模块用于维护单个连接状态机,根据上层(也即会话层的消息)发出的消息或者从网络层收到的消息,改变自身状态,并将消息通过传输层发出或者向上提交至会话层;
网络层模块,用于向所述传输层模块提供网络层接口,该网络层模块具体包括两个子模块,目录服务模块和包库模块,其中,目录服务模块用于维护四个目录表格:组目录(Group Directory)、节点目录(Node Directory)、功能目录(Function Directory)和站目录(StationDirectory),包库(Packets Pool)模块用于维护一个包库,该包库由传输层和网络层使用;
消息队列模块,用于实现所述网络层模块和所述传输层模块之间的消息队列,具体地,当网络层模块收到数据帧之后,如果需要向上传输,则将该数据帧放入该消息队列,传输层模块从消息队列中取出数据帧,并做相应处理;
定时器模块,用于通过所述第一工控机的操作系统的POSIX接口实现定时器队列,该定时器队列用于检测应用层模块、会话层模块、传输层模块和网络层模块的动作是否超时。具体地,消息数据模块各模块之间调用关系如下:
(1)、应用层模块直接调用会话层接口;
(2)、会话层模块直接调用应用层接口(回调函数);
(3)、会话层模块直接调用传输层接口;
(4)、传输层模块直接调用会话层接口(回调函数);
(5)、传输层模块直接调用网络层接口;
(6)、网络层模块和传输层模块之间使用消息队列模块作为缓冲:网络层模块将数据帧传放入消息队列模块,而传输层模块从消息队列模块中取出数据帧,并做相应处理。
本发明实施方式提供的RTP协议栈的实现框架,其结构简单,能够有效地降低开发难度,提高开发效率。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
机译: 用于在通信系统中实现反射型相移器(RTPS)的方法和装置
机译: 用于在通信系统中实现反射型相移器(RTPS)的方法和装置
机译: 用于在目标设备中实现物理功能的功能开发框架和功能集成框架