基于fpga和arm的mvb网络四类设备网卡的制作方法

文档序号:6295833阅读:527来源:国知局
基于fpga和arm的mvb网络四类设备网卡的制作方法【专利摘要】本发明涉及列车通信网络控制【
技术领域
】,具体涉及一种基于FPGA和ARM的MVB网络四类设备网卡。该MVB网络四类设备网卡包括:MVB网络控制器:用于实现物理层以及链路层的过程数据、消息数据功能以及对网卡的配置和管理功能,向上提供TCN网络标准IEC61375-1规定的链路层软件接口;RTP协议栈系统:用于实现网络层、传输层、会话层、表示层以及应用层的监视数据、过程数据以及消息数据功能,向上提供TCN网络标准IEC61375-1规定的应用层软件接口,通过MVB网络控制器与RTP协议栈系统的相互配合实现了IEC61375中规定的过程数据、消息数据、用户可配置和总线管理功能和性能;从而摆脱了核心器件依赖于国外采购的局面。【专利说明】基于FPGA和ARM的MVB网络四类设备网卡【
技术领域
】[0001]本发明涉及列车通信网络控制【
技术领域
】,具体涉及一种基于FPGA(FieldProgrammableGateArray,即现场可编程门阵列)和ARM(AdvancedRISCMachines,简称ARM处理器芯片)的MVB(MultifunctionVehicleBus,多功能车辆总线)网络四类设备网卡。【
背景技术
】[0002]网络控制技术是目前轨道交通设备通讯控制技术的发展主流和趋势。在国外尤其是欧洲的一些发达国家,已经将基于网络控制技术的方案广泛应用于对实时性和可靠性要求高的地铁、高铁和城市轨道交通车辆等领域。TCN(TrainCommunicationNetwork,列车通信网络)是一种主流的列车现场总线网络,该网络是两层总线结构,包括连接车辆内部设备的MVB网络和连接多个车辆的WTB(WiredTrainBus,绞线式列车总线)网络。目前国际电工委员会IEC的TC9组织正在组织修改编制可用于轨道交通行业网络通信的IEC61375系列标准,标准还处于草案状态,没有正式发布。在IEC61375系列标准中,IEC61375-1相关TCN网络技术标准仍占主导地位。[0003]MVB网络是列车控制网络的必要组成部分。同其它几种通用的现场总线(例如LonWorks、WordFIP、CAN等)在列车上的应用相比,MVB网络在实时性、可靠性、可管理性、介质访问控制方法、寻址方式、通信服务种类等方面有着一定的优势。然而,MVB网络是专门针对列车通信网络而开发,所有与MVB网络连接的设备都需要通过MVB网卡访问MVB网络。[0004]MVB网络是主从式的总线。根据IEC61375的规定,MVB网络中的设备分为五类。一类设备具有过程数据通信能力;二类设备具有过程数据和消息数据的通信能力;三类设备还具有用户可编程能力;四类设备具有过程数据、消息数据、用户可编程能力和总线管理能力,即设备可以作为总线主;五类设备是TCN网关,五类设备能够访问至少一条另外的总线。由此可见,只有MVB网络的四类和五类设备具有总线管理能力,在MVB网络的运行中担任着不可或缺且重要的角色。[0005]然而,目前我国铁路行业采用的MVB网络四类设备网卡主要采购自国外,如瑞士Duagon公司、德国西门子公司等。国外公司对MVB网络四类设备网卡核心技术的垄断,严重阻碍了国内轨道交通领域推广使用和开发MVB网络相关产品。虽然国内在MVB网络四类设备网卡研发方面有一些工作,但是核心控制芯片仍然采购自国外,例如如西门子公司的MVBC02等。【
发明内容】[0006](一)要解决的技术问题[0007]本发明的目的在于提供一种基于FPGA和ARM的MVB网络四类设备网卡,用于实现IEC61375中规定的过程数据、消息数据、用户可配置和总线管理功能和性能;从而摆脱核心器件依赖于国外采购的局面。[0008](二)技术方案[0009]本发明技术方案如下:[0010]一种基于FPGA和ARM的MVB网络四类设备网卡,包括:[0011]MVB网络控制器:用于实现物理层以及链路层的过程数据、消息数据功能以及对网卡的配置和管理功能,向上提供TCN网络标准IEC61375-1规定的链路层软件接口;[0012]RTP协议栈系统:用于实现网络层、传输层、会话层、表示层以及应用层的监视数据、过程数据以及消息数据功能,向上提供TCN网络标准IEC61375-1规定的应用层软件接□。[0013]优选的,所述MVB网络控制器包括:[0014]FPGA电路芯片,用于实现物理层的收发功能、链路层的过程数据功能、PC104总线接口和网卡的动态配置功能;[0015]ARM处理器芯片,用于实现链路层的消息数据功能、主权转移功能、设备状态扫描功能以及网卡静态配置和FPGA电路芯片的配置功能。[0016]优选的,所述FPGA电路芯片和ARM处理器芯片采用分时工作模式;周期相的过程数据采用FPGA电路芯片实现;偶发相的消息数据和监视数据采用ARM处理器芯片实现。[0017]优选的,所述MVB控制器集成在一块电路板上,所述RTP协议栈系统集成于上位机中。[0018]优选的,所述电路板包括MVB接口电路以及ARM相关电路:[0019]所述MVB接口电路包括FPGA电路芯片、分别与所述FPGA电路芯片连接的静态存储器芯片、RS485收发器、MAX3292预加重电路以及外围电路;[0020]所述ARM相关电路包括ARM处理器芯片及其外围电路;[0021]所述MVB接口电路与ARM相关电路之间通过GPIO端口连接。[0022]优选的,所述ARM处理器芯片中的应用程序运行于嵌入式操作系统eCos之上;对于应用程序,ARM处理器芯片通讯线路表现为GPIO信号以及EXTI信号。[0023]优选的,RTP协议栈系统分为:[0024]硬件和操作系统抽象层:用于对硬件和操作系统进行抽象,向上层提供统一接Π;[0025]MUE层:用于对MUE协议进行封装,向上层提供统一的IEC61375规定的链路层接Π;[0026]RTP协议栈系统实现层:用于实现RTP协议栈系统的监视数据、过程数据和消息数据功能。[0027]优选的,所述硬件和操作系统抽象层包括:[0028]POSIX封装模块:用于对POSIX进行封装;[0029]UART端口访问封装模块:用于对底层PC104端口的访问进行封装。[0030]优选的,所述MUE层包括:[0031]MUE基础层:用于对MUE协议进行封装;[0032]MUE总线控制公共层:用于对总线控制器的公用部分进行封装;[0033]特定总线控制实现层:用于实现对特定总线的控制,向上层提供统一的链路层接□。[0034]优选的,所述RTP协议栈系统实现层包括:[0035]监视数据模块:用于实现RTP协议栈系统的监视数据功能;[0036]过程数据模块:用于实现RTP协议栈系统的过程数据功能;[0037]消息数据模块:用于实现RTP协议栈系统的消息数据功能。[0038](三)有益效果[0039]本发明实施例所提供的基于FPGA和ARM的MVB网络四类设备网卡利用MVB网络控制器实现物理层以及链路层的过程数据、消息数据功能以及对网卡的配置和管理功能,向上提供TCN网络标准IEC61375-1规定的链路层软件接口,利用RTP协议栈系统实现网络层、传输层、会话层、表示层以及应用层的监视数据、过程数据以及消息数据功能,向上提供TCN网络标准IEC61375-1规定的应用层软件接口,通过MVB网络控制器与RTP协议栈系统的相互配合实现了IEC61375中规定的过程数据、消息数据、用户可配置和总线管理功能和性能;从而摆脱了核心器件依赖于国外采购的局面。【专利附图】【附图说明】[0040]图1是本发明实施例中基于FPGA和ARM的MVB网络四类设备网卡的总体框架图;[0041]图2是本发明实施例中ARM处理器芯片内部功能划分架构图;[0042]图3是本发明实施例中RTP协议栈系统总体功能架构图。【具体实施方式】[0043]下面结合附图和实施例,对本发明的【具体实施方式】做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。[0044]本实施例中提供的一种基于FPGA和ARM的MVB网络四类设备网卡如图1中所示,该MVB网络四类设备网卡主要包括MVB网络控制器以及RTP(Real-TimeProtocols,实时传输协议)协议栈系统;MVB网络控制器用于实现物理层以及链路层的过程数据、消息数据功能以及对网卡的配置和管理功能,向上提供TCN网络标准IEC61375-1规定的链路层软件接口;RTP协议栈系统用于实现网络层、传输层、会话层、表示层以及应用层的监视数据、过程数据以及消息数据功能,向上提供TCN网络标准IEC61375-1规定的应用层软件接口。为了能够满足网卡的实时性和灵活性,本实施例中将MVB控制器形成在电路板上,而RTP协议栈系统则与应用程序一起,集成在上位机中运行。[0045]下面对上述MVB网络控制器以及RTP协议栈系统分别加以详细说明。[0046]本实施例中,MVB网络控制器进一步包括FPGA电路芯片以及ARM处理器芯片;FPGA电路芯片用于实现物理层的收发功能,实现链路层的过程数据功能(包括过程主帧和从帧处理),以及实现PC104总线接口和网卡的动态配置功能等;ARM处理器芯片,用于实现链路层的消息数据功能(包括事件仲裁和消息主从帧处理),实现主权转移功能,实现设备状态扫描功能,以及实现网卡静态配置和FPGA电路芯片的配置功能等。[0047]MVB控制器的全部功能集成在一块电路板上,从硬件上来看,包括MVB接口电路和ARM相关电路;所述MVB接口电路包括FPGA电路芯片(例如XilinxSpartanFPGA芯片)、分别与所述FPGA电路芯片连接的静态存储器芯片、RS485收发器、MAX3292预加重电路以及外围电路,MVB接口电路主要负责与MVB总线的直接通信;所述ARM相关电路包括ARM处理器芯片(例如ARM7处理器芯片)及其外围电路,负责嵌入式软件执行;所述MVB接口电路与ARM相关电路之间通过GPIO(GeneralPurposeInputOutput,通用输入/输出)端口实现连接。[0048]MVB控制器的ARM程序是运行于嵌入式操作系统eCos之上的用户程序。在硬件板卡层面上,ARM与FPGA间通过GPIO相互连接通信。对于应用程序,ARM通讯线路表现为GPIO信号和EXTI(ExternalInterrupt,外部中断)信号(实际上也是一种特殊的GPIO信号)。[0049]进一步的,所述FPGA电路芯片和ARM处理器芯片采用分时工作模式;周期相的过程数据数据长度较短、具有严格的实时性要求,因此采用快速和并行的FPGA电路芯片实现;偶发相的消息数据和监视数据长度较大,实时性要求不高,而且当多设备同时希望发送消息数据时,需要合理的事件仲裁算法,因此采用ARM处理器芯片上的软件来实现。[0050]如图3中所示,本实施例中的RTP协议栈系统主要包括三个层次,分别是硬件和操作系统抽象层、MUE(MVBUARTEmulation)层以及RTP协议栈系统实现层。硬件和操作系统抽象层用于对硬件和操作系统进行抽象,向上层提供统一接口,以方便移植工作;进一步的,所述硬件和操作系统抽象层包括POSIX(PortableOperatingSystemInterface,可移植操作系统接口)封装模块以及UART端口访问封装模块;P0SIX封装模块用于对POSIX进行封装;UART端口访问封装模块用于对底层PC104端口的访问进行封装。MUE层用于对MUE协议进行封装,向上层提供统一的IEC61375规定的链路层接口;进一步的,所述MUE层包括MUE基础层、MUE总线控制公共层以及特定总线控制实现层;MUE基础层用于对MUE协议进行封装;MUE总线控制公共层用于对总线控制器的公用部分进行封装;特定总线控制实现层用于实现对特定总线的控制,向上层提供统一的链路层接口。RTP协议栈系统实现层用于实现RTP协议栈系统的监视数据、过程数据和消息数据功能;进一步的,所述RTP协议栈系统实现层包括监视数据模块过程数据模块以及消息数据模块;监视数据模块用于实现RTP协议栈系统的监视数据功能;过程数据模块用于实现RTP协议栈系统的过程数据功能;消息数据模块用于实现RTP协议栈系统的消息数据功能。[0051]本实施例中还提供了一种上述基于FPGA和ARM的MVB网络四类设备网卡的具体实例。[0052]MVB控制器内置通信存储器,用于存储控制器内设备的实时信息。MVB控制器内与外界具有以下三类接口:(1)与上位机的接口。上层协议栈由上位机实现,通过与上位机的接口(例如PC104总线接口),按照仿真UART协议(MUE)与MVB控制器连接。通信存储器可以被上位机上运行的应用程序进行读写访问,供应用程序进行相应数据的加工处理,并且存储来自应用程序配置信息和数据。(2)MVB总线接口。MVB控制器配有与MVB总线连接的接口,能够将数据编码后直接输出到MVB总线,以及从MVB总线上接收数据并且解码。数据编码遵循IEC61375-1标准定义。(3)串口。MVB控制器还配备了串口,用于从外界更新嵌入式软件和FPGA固件。[0053]MVB控制器通过标准RS485收发模块与两路EMD(—种MVB数据传输总线)总线连接,收发模块将RS485信号电平转换为FPGA可以接受的数字电平。FPGA电路芯片根据ARM软件的要求,由发送模块产生主帧数据(包括插入校验码和进行曼彻斯特编码),并发送到MVB总线上。从帧数据由接收模块进行解码和错误检测。为了支持消息数据,FPGA电路芯片内部也设置空闲和冲突检测电路。此外,FPGA电路芯片实时检查两根MVB总线的状态,从中选出一根作为当前通信线路;而MVB接口板上的静态存储器用于实现通信存储器。[0054]MVB网络四类设备网卡的各项任务根据配置被组织在一个由若干基本周期组成的宏周期内,每一基本周期内由软件程序按照配置和上位机程序的要求依次启动对过程数据、管理数据和消息数据的处理。整个链路层协议软件行为组织为一个持续运行的嵌套循环,外层循环每次处理一个宏周期,对全部过程数据端口进行查询。每一特征周期内包含多个基本周期,基本周期的第一部分时间用于对若干端口进行过程数据查询,之后基本周期的其余时间对监视数据和消息数据进行处理。[0055]如图2中所示,应用程序通过GPIO由ARM向FPGA发送信号,而FPGA通过EXTI向ARM发送信号。ARM处理器芯片上的中断处理可大致分为同步处理与帧处理,同步处理主要用于设备状态、配置字改变,而帧处理负责处理MVB链路上的帧应答,在设备做主的情况还调用主管理模块进行总线管理。总线管理主要功能包括设备扫描、主权转移与事件仲裁,在相应功能处理完毕后均需要调用硬件接口通知FPGA电路芯片。初始化模块在设备初始化时调用硬件接口进行FPGA电路芯片的初始化。工作线程运行于所有模块之上,用于监察ARM程序运行状况。[0056]消息数据模块是RTP协议栈实现的核心部分,包括五个层次。(I)应用层:该层次向用户程序提供应用层接口。(2)表示层:该层次为空。(3)会话层:该层次提供会话层接口,为了维护会话信息,该层次包含了一个表格模块。(4)传输层:该层次提供传输层接口,控制传输层的状态转移过程,实现传输层的控制结构。(5)网络层:该层次提供网络层接口。消息数据模块各层次见调用关系如下:应用层直接调用会话层接口;会话层直接调用应用层接口(回调函数);会话层直接调用传输层接口;传输层直接调用会话层接口(回调函数);传输层直接调用网络层接口;网络层和传输层之间使用消息队列模块作为缓冲:网络层将数据帧传放入消息队列模块,而传输层从消息队列模块中取出数据帧,并做相应处理。[0057]综上所述,本发明实施例所提供的基于FPGA和ARM的MVB网络四类设备网卡具有以下优点:[0058](I)、对MVB网络四类设备网卡功能进行了恰当的软硬件划分,基于FPGA固件和ARM软件联合工作的方式,实现了四类设备网卡所要求的过程数据通信、消息数据通信、可配置性以及总线管理能力。[0059](2)、基于FPGA固件实现对实时性要求高的过程数据功能,基于ARM软件实现相对复杂和有灵活性要求的事件仲裁算法,既符合目前硬件软件化的趋势,充分利用软件开发的优势,实现了易调试、易修改、易配置。同时,又节约了时间成本,并且能满足四类设备网卡对实时性的严格要求。[0060](3)、通过定义可靠的ARM和FPGA交互的握手协议,保证了异步通信的各功能模块之间的正确时序要求。[0061]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【
技术领域
】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。【权利要求】1.一种基于FPGA和ARM的MVB网络四类设备网卡,其特征在于,包括:MVB网络控制器:用于实现物理层以及链路层的过程数据、消息数据功能以及对网卡的配置和管理功能,向上提供TCN网络标准IEC61375-1规定的链路层软件接口;RTP协议栈系统:用于实现网络层、传输层、会话层、表示层以及应用层的监视数据、过程数据以及消息数据功能,向上提供TCN网络标准IEC61375-1规定的应用层软件接口。2.根据权利要求1所述的MVB网络四类设备网卡,其特征在于,所述MVB网络控制器包括:FPGA电路芯片,用于实现物理层的收发功能、链路层的过程数据功能、PC104总线接口和网卡的动态配置功能;ARM处理器芯片,用于实现链路层的消息数据功能、主权转移功能、设备状态扫描功能以及网卡静态配置和FPGA电路芯片的配置功能。3.根据权利要求2所述的MVB网络四类设备网卡,其特征在于,所述FPGA电路芯片和ARM处理器芯片采用分时工作模式;周期相的过程数据采用FPGA电路芯片实现;偶发相的消息数据和监视数据采用ARM处理器芯片实现。4.根据权利要求2或3所述的MVB网络四类设备网卡,其特征在于,所述MVB控制器集成在一块电路板上,所述RTP协议栈系统集成于上位机中。5.根据权利要求4所述的MVB网络四类设备网卡,其特征在于,所述电路板包括MVB接口电路以及ARM相关电路:所述MVB接口电路包括FPGA电路芯片、分别与所述FPGA电路芯片连接的静态存储器芯片、RS485收发器、MAX3292预加重电路以及外围电路;所述ARM相关电路包括ARM处理器芯片及其外围电路;所述MVB接口电路与ARM相关电路之间通过GPIO端口连接。6.根据权利要求5所述的MVB网络四类设备网卡,其特征在于,所述ARM处理器芯片中的应用程序运行于嵌入式操作系统eCos之上;对于应用程序,ARM处理器芯片通讯线路表现为GPIO信号以及EXTI信号。7.根据权利要求1-3、5-6任意一项所述的MVB网络四类设备网卡,其特征在于,RTP协议栈系统分为:硬件和操作系统抽象层:用于对硬件和操作系统进行抽象,向上层提供统一接口;MUE层:用于对MUE协议进行封装,向上层提供统一的IEC61375规定的链路层接口;RTP协议栈系统实现层:用于实现RTP协议栈系统的监视数据、过程数据和消息数据功倉泛。8.根据权利要求7所述的MVB网络四类设备网卡,其特征在于,所述硬件和操作系统抽象层包括:POSIX封装模块:用于对POSIX进行封装;UART端口访问封装模块:用于对底层PC104端口的访问进行封装。9.根据权利要求7或8所述的MVB网络四类设备网卡,其特征在于,所述MUE层包括:MUE基础层:用于对MUE协议进行封装;MUE总线控制公共层:用于对总线控制器的公用部分进行封装;特定总线控制实现层:用于实现对特定总线的控制,向上层提供统一的链路层接口。10.根据权利要求9所述的MVB网络四类设备网卡,其特征在于,所述RTP协议栈系统实现层包括:监视数据模块:用于实现RTP协议栈系统的监视数据功能;过程数据模块:用于实现RTP协议栈系统的过程数据功能;消息数据模块:用于实现RTP协议栈系统的消息数据功能。【文档编号】G05B19/418GK103558812SQ201310385107【公开日】2014年2月5日申请日期:2013年8月29日优先权日:2013年8月29日【发明者】孙家广,张荷花申请人:清华大学,北京清软英泰信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1