Mvb网卡开发方法及平台的制作方法

文档序号:6510517阅读:518来源:国知局
Mvb网卡开发方法及平台的制作方法
【专利摘要】本发明公开了一种MVB网卡开发方法及平台,为解决现有的MVB网卡开发方法过程中,MVB网卡的软件开发必须等待硬件开发完成且制作出产品才能进行软件开发的验证,导致的开发周期长等问题而设计。所述MVB网卡开发方法包括:步骤S1:仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡;步骤S2:将软件写入所述虚拟MVB网卡中;步骤S3:将所述软件在所述虚拟MVB网卡上运行及验证。本发明MVB网卡开发方法及平台,通过软件模拟仿真MVB网卡的硬件逻辑,再将软件在虚拟的MVB网卡上进行验证,从而可以大大的缩短MVB网卡软件开发的周期,从而提高MVB网卡开发的效率,且实现简便快捷。
【专利说明】MVB网卡开发方法及平台
【技术领域】
[0001]本发明涉及计算机及通信领域,尤其涉及一种MVB网卡开发方法及平台。
【背景技术】
[0002]TCN(Train Communication Network,列车通信网络)是在列车分布式控制系统之上发展起来的列车、诊断信息数据通信网络。MVB(Multifunction Vehicle Bus,多功能车辆总线)是TCN的一部分,用来实现位于同一车辆或固定重联的不同车辆中的设备间通信。TCN-MVB网络技术符合IEC61375-1国际标准。
[0003]MVB网卡用于MVB网络的通信,研制的MVB网卡应符合IEC61375-1标准中有关MVB的技术要求,能够实现过程数据、消息数据及监控数据的通讯功能。对于MVB的I类设备,其仅具有过程数据功能和设备状态响应功能,功能相对简单,可由FPGA硬件逻辑实现。而对于MVB的2、3、4、5类设备,除具有I类设备的功能外,还具有消息数据的功能。其中4类和5类设备还具有总线管理能力,可以成为总线主。这些更复杂的功能通常需要在嵌入式CPU (如ARM)上实现。
[0004]在具体的MVB网卡的卡发过程中,包括硬件和软件两部分,现有的方法为软件和硬件分别开发,当硬件和软件完成开发后,将软件在硬件上进行系统的正确性验证,然和在实际的开发过程中,硬件的开发往往滞后与软件,这样将导致软件的测试、修改等工作被推迟,从而导致整个开发周期的被延长,从而延长了开发的周期。

【发明内容】

[0005](一)发明目的
[0006]针对上述问题,本发明旨在提供一种加快MVB网卡开发速度,简化MVB网卡开发流程的MVB网卡开发方法及平台。
[0007](二)技术方案
[0008]为达上述目的,本发明MVB网卡开发方法,包括:
[0009]步骤S1:仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡;
[0010]步骤S2:将软件写入所述虚拟MVB网卡的存储介质中;
[0011]步骤S3:将所述软件在所述虚拟MVB网卡上运行及验证。
[0012]优选地,所述步骤SI包括:
[0013]步骤S1.1:对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存以及MVB总线建模;
[0014]步骤S1.2:构建顶层的功能单元;
[0015]其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线;[0016]各功能单元间利用内置的信号、端口以及套接字进行单元间的绑定;
[0017]步骤S1.3:编译可执行文件以实现所述步骤S1.2中的各个功能单元。
[0018]优选地,
[0019]所述虚拟MVB总线通过TLM套接字与所述总线收发单元完成一对多的绑定。
[0020]优选地,所述方法还包括:
[0021]仿真形成虚拟上位机,并通过上位机接口单元使所述仿真形成的虚拟上位机与所述步骤SI至S3形成的虚拟MVB网卡进行数据和/或命令的交互。
[0022]优选地,所述方法还包括:
[0023]通过所述虚拟MVB总线实现所述步骤SI至S3所形成虚拟MVB网卡与连接在所述虚拟MVB总线上的其他MVB网卡进行数据和/或命令的交互。
[0024]优选地,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述虚拟MVB总线中数据的传输。
[0025]优选地,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述存储单元中数据的读写。
[0026]优选地,所述步骤SI中采用System C或System Vevrylog仿真形成所述MVB网卡的硬件的逻辑结构。
[0027]为达上述目的,本发明MVB网卡开发平台,包括硬件仿真子平台以及软件加载运行子平台:
[0028]所述硬件仿真子平台用以仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡;
[0029]所述软件加载运行子平台用以将软件写入所述虚拟MVB网卡中,并将所述软件在所述虚拟的MVB网卡上运行及验证。
[0030]进一步地,,所述硬件仿真子平台包括建模单元、构建单元以及编译单元:
[0031]所述建模单元用以对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存、软件安装板卡以及MVB总线建模;
[0032]所述构建单元用以构建顶层的功能单元;
[0033]其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线;
[0034]各功能单元间利用内置的信号、端口以及套接字进行单元间的绑定;
[0035]所述编译单元用以对编译可执行文件以实现所述构建单元中所构建的各个功能单元。
[0036](三)本发明MVB网卡开发方法及平台的有益效果
[0037]本发明MVB网卡开发方法及平台,通过软件虚拟出MVB网卡的硬件结构形成虚拟MVB网卡,从而将需要开发出的软件在所述虚拟MVB网卡进行运行测试,从而减少了软件开发等待硬件开发完并制作出相应的硬件结构后,才能继续的测试、验证等开发工作,从而缩短了开发周期;进一步的采用本发明所述的开发方法及开发平台,可以实现软件边开发边测试,部分软件先行测试,再次缩短了开发周期,减化了开发过程中软件各个部分的相互牵制的因素,从而简化了开发流程。
【专利附图】

【附图说明】
[0038]图1为本发明实施例一所述的MVB网卡卡发方法的流程示意图;
[0039]图2为本发明实施例一所述的MVB网卡虚拟MVB网卡内部结构及虚拟MVB网卡与虚拟上位机以及虚拟终端的结构示意图;
[0040]图3为本发明实施例一所述的虚拟上位机与虚拟MVB网卡的上位机接口单元间的连接结构示意图;
[0041]图4为本发明实施例一所述的软件安装板卡的部结构示意图。
【具体实施方式】
[0042]下面结合说明书附图以及实施例对本发明做进一步的说明。
[0043]实施例一:
[0044]如图1所示,本实施例MVB网卡开发方法,包括:
[0045]步骤S1:仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡;
[0046]步骤S2:将软件写入所述虚拟MVB网卡中;
[0047]步骤S3:将所述软件在所述虚拟MVB网卡上运行及验证。
[0048]本实施例中所述仿真待开发的MVB网卡的硬件逻辑结构至少包括软件安装板卡以及所述软件安装板卡以外的电路结构。所述软件安装板卡通常可以为ARM板卡,用来安装ARM软件即本实施例中所述的软件。所述软件安装板卡以外的电路结构通常为FPGA——Field Programmable Gate Array 可编程逻辑门阵列。
[0049]本实施例所述的MVB网卡开发方法,通过软件仿真的方法,形成虚拟MVB网卡,再通过开发出的软件与虚拟MVB网卡模拟软件与实体的MVB网卡之间的数据以及命令的交互,来对开发出的软件进行验证。本实施例所述的方法相对于传统的方法,软件开发中的验证不必等到新开发出的MVB网卡制作成完成之后再进行,从而加快了开发速度,缩短了开发周期,同时能实现软件开发的同步验证,从而能及早的发现错误,能避免因一个错误,导致后续开发出的软件都得重新调整或重新开发的问题,从而再次提高了开发的效率。
[0050]作为本实施例进一步的改进,所述步骤SI包括:
[0051]步骤S1.1 :对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存、软件安装板卡以及MVB总线建模。
[0052]在具体的实现过程中可以参照VHDL代码,采用SystemC语言对上位机接口、总线收发器、软件接口、控制器、通讯内存以及MVB总线进行行为级别的建模,而在参照VHDL代码过程中可以对VHDL代码中包含的时钟周期有关的信息在进行级别抽象时可以忽略。
[0053]在具体的实现过程中可以采用SimSoC或QEMU对所述软件安装板卡进行建模。具体的图3所示,所述软件安装板卡通常可以是ARM板卡,所述ARM板卡包括处理器、中断控制器、内部总线、内存以及包括如UART、GP10等功能模块的模拟。所述虚拟形成的软件安装板卡上可以加载与真实的软件安装板卡一致的软件栈,具体的可以加载操作系统以及应用程序。所述步骤S2中将所述软件写入所述软件安装板卡的内存中。当所述软件安装板卡为ARM板卡时则至少可以加载ARM操作系统以及ARM应用程序。以下以仿真形成ARM板卡为例进行说明:步骤1:根据STM3240G-Eval的相关文档,为虚拟的ARM运行eCos应用程序必须的中断控制器及其他资源(如UART、GP10)等功能模块的便携。步骤2:复用SimSoC内置的ARM处理器、内存、虚拟总线等模块分别实现虚拟ARM板卡的处理器、中断控制器、内存、内部总线等仿真。步骤3:STM3240G-Eval的相关文档,利用步骤I和步骤2中的模块对板卡进行后续的建模。
[0054]步骤S1.2:构建顶层的功能单元;
[0055]其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元、对应于软件安装板卡的软件安装单元以及对应于MVB总线的虚拟MVB总线;各单元间利用内置的信号(Signal)、端口(Port)以及套接字(Socket)进行单元间的绑定;在具体的实现过程中可以采用一个System C进程可以模拟一个虚拟MVB总线的仿真模拟。
[0056]步骤S1.3:编译可执行文件以实现所述步骤S1.2中的各个功能单元。
[0057]其中图2中所示的网卡I即可认为本实施例仿真形成的虚拟MVB网卡。具体的所述上位机接口单元用于虚拟MVB网卡与上位机进行命令和/或数据的交互;所述总线收发单元用于虚拟MVB网卡与虚拟的MVB总线进行数据和/或命令的交互。所述软件接口单元用以实现软件安装板卡上运行的软件与所述控制单元之间的数据和/或命令的交互。所述对应于通讯内存的存储单元用以实现通讯过程中各种数据的存储以及暂存等存储工作。
[0058]通过步骤SI的三个子步骤,简便的实现了对MVB网卡中硬件结构的模拟,具有实现快捷方便的优点。
[0059]作为本实施例的进一步的改进,
[0060]所述虚拟MVB总线通过TLM套接字与所述总线收发单元完成一对多的绑定。即所述虚拟MVB总线可以通过TLM —对多套接字实现与多个MVB网卡的连接,从而实现总线上多个设备之间的数据交互。具体的如图1中,虚拟的MVB网卡为网卡1、连接在同一虚拟MVB总线上的还包括网卡2 ;使网卡I和网卡2之间进行数据交互的仿真验证。
[0061]进一步地,所述方法还包括:
[0062]仿真形成虚拟上位机,并通过上位机接口单元使所述仿真形成的虚拟上位机与所述步骤SI至S3形成的虚拟MVB网卡进行数据和/或命令的交互。在本实施例中具体可以采用QEMU实现上位机的仿真,从而不仅实现MVB网卡内部软件与硬件之间的整合验证,同时实现MVB网卡与上位机之间的交互的验证。虚拟上位机上可以加载和真实的上位机同样的软件栈(具体的包括操作系统以及上位机的应用程序等)。如图4所示的为一个用QEMU虚拟的上位机对虚拟MVB网卡的测试的框图。通过PC104总线将用以进行验证的QEMU虚拟上位实例输入所述QEMU虚拟上位机的监视层。所述QEMU虚拟上位机的监视层,为PC104总线对应的端口地址添加了读写帧听函数,当QEMU虚拟上位机实例运行的程序产生通过PC104总线的读写时,相应的读写侦听函数会被触发,进而该侦听函数里,通过IPC方法与虚拟MVB网卡的上位机接口单元进行通信。
[0063]作为本实施例进一步的改进,所述方法还包括:
[0064]通过所述虚拟MVB总线实现所述步骤SI至S3所形成虚拟MVB网卡与连接在所述虚拟MVB总线上的其他MVB网卡进行数据和/或命令的交互。在本实施例中通过仿真形成虚拟MVB总线且通过所述虚拟的MVB总线与连接在所述虚拟MVB总线上的MVB网卡进行数据和/或命令的交互,从而实现了同一总线上的多个MVB网卡之间通信的仿真和验证,从而开发验证功能更加强大。
[0065]优选地,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述虚拟MVB总线中数据的传输。
[0066]优选地,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述存储单元中数据的读写。
[0067]采用上述TLM2.0中听过的阻塞/非阻塞传送接口来仿真虚拟MVB总线中的数据传输以及存储单元中的数据的读写,实现简便快捷。
[0068]此外,在本实施例中如图1所示,还包括对虚拟的终端的模拟以及虚拟终端软件安装板卡之间通信模拟,从而实现了终端侧的通信的验证,再次加强了验证功能。
[0069]综合上述,本实施例所述的MVB开发方法,包括对MVB网卡硬件结构的模拟仿真、形成虚拟的MVB网卡,将已开发出的MVB网卡的软件在所述虚拟的MVB网卡运行及验证,从而大大的缩短了开发周期,提高了开发效率。同时在本实施例中还包括对上位机的仿真、对终端的仿真可以实现,MVB网卡内部硬件与软件之间的验证、MVB网卡与上位机以及终端之间的验证,从而功能强大且具有实现简便的优点。
[0070]实施例二:
[0071]本实施例MVB网卡开发平台,包括硬件仿真子平台以及软件加载运行子平台:
[0072]所述硬件仿真子平台用以仿真形成所述MVB网卡的硬件的逻辑结构;
[0073]所述软件加载运行子平台用以将软件写入所述硬件仿真子平台仿真形成的虚拟MVB网卡中,并将所述软件在所述虚拟的MVB网卡上运行及验证。
[0074]本实施例所述的MVB网卡开发平台用以实现实施例一中任一技术方案中所述的MVB网卡开发方法。
[0075]进一步地,所述硬件仿真子平台包括建模单元、构建单元以及编译单元:
[0076]所述建模单元用以对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存、软件安装板卡以及MVB总线建模;
[0077]所述构建单元用以构建顶层的功能单元;
[0078]其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线;
[0079]各功能单元间利用内置的信号、端口以及套接字进行单元间的绑定;
[0080]所述编译单元用以对编译可执行文件以实现所述构建单元中所构建的各个功能单元。
[0081]在具体的实现过程中,所述开发平台还用以仿真形成虚拟上位机,并通过上位机接口单元使所述仿真形成的虚拟上位机与所述虚拟MVB网卡进行数据和/或命令的交互。
[0082]所述开发平台还用以通过所述虚拟MVB总线实现所述步骤SI至S3所形成虚拟MVB网卡与连接在所述虚拟MVB总线上的其他MVB网卡进行数据和/或命令的交互。
[0083]所述开发平台还用以通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述虚拟MVB总线中数据的传输。
[0084]所述开发平台还用以通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述存储单元中数据的读写。
[0085]具体的所述开发平台采用System C或System Vevrylog对成所述总线单元、上位机接口单元、总线收发单元、软件接口单元、控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线进行建模;采用SimSoC或QEMU对所述软件安装板卡进行建模。
[0086]本实施例所述的开发平台,提供了一个仿真开发MVB网卡的平台,实现对MVB网卡验证,缩短了 MVB网卡开发周期,提高了 MVB网卡开发效率。
[0087]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种MVB网卡开发方法,其特征在于,包括: 步骤S1:仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡; 步骤S2:将软件写入所述虚拟MVB网卡中; 步骤S3:将所述软件在所述虚拟MVB网卡上运行及验证。
2.根据权利要求1所述的MVB网卡开发方法,其特征在于,所述步骤SI包括: 步骤S1.1:对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存、软件安装板卡以及MVB总线建模; 步骤S1.2:构建顶层的功能单元; 其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元、对应于软件安装板卡的软件安装单元以及对应于MVB总线的虚拟MVB总线;各功能单元间利用内置的信号、端口以及套接字进行单元间的绑定; 步骤S1.3:编译可执行文件以实现所述步骤S1.2中的各个功能单元。 所述虚拟MVB总线通过TLM套接字与所述总线收发单元完成一对多的绑定。
3.根据权利要求1或2所述的MVB网卡开发方法,其特征在于,所述方法还包括: 仿真形成虚拟上位机,并通过上位机接口单元使所述仿真形成的虚拟上位机与所述步骤SI至S3形成的虚拟MVB网卡进行数据和/或命令的交互。
4.根据权利要求3所述的MVB网卡开发方法,其特征在于,所述方法还包括: 通过所述虚拟MVB总线实现所述步骤SI至S3所形成虚拟MVB网卡与连接在所述虚拟MVB总线上的其他MVB网卡进行数据和/或命令的交互。
5.根据权利要求4所述的MVB网卡开发方法,其特征在于,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述虚拟MVB总线中数据的传输。
6.根据权利要求5所述的MVB网卡开发方法,其特征在于,所述方法还包括通过TLM2.0中提供的阻塞/非阻塞传送接口来仿真所述存储单元中数据的读写。
7.根据权利要求2或3所述的MVB网卡开发方法,其特征在于,采用SystemC或SystemVevrylog对成所述总线单元、上位机接口单元、总线收发单元、软件接口单元、控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线进行建模; 采用SimSoC或QEMU对所述软件安装板卡进行建模。
8.—种MVB网卡开发平台,其特征在于,包括硬件仿真子平台以及软件加载运行子平台: 所述硬件仿真子平台用以仿真待开发MVB网卡的硬件逻辑结构,以形成虚拟MVB网卡; 所述软件加载运行子平台用以将软件写入所述虚拟MVB网卡中,并将所述软件在所述虚拟的MVB网卡上运行及验证。
9.根据权利要求8所述MVB网卡开发平台,其特征在于,所述硬件仿真子平台包括建模单元、构建单元以及编译单元: 所述建模单元用以对MVB网卡的上位机接口、总线收发器、软件接口、控制器、通讯内存、软件安装板卡以及MVB总线建模;所述构建单元用以构建顶层的功能单元; 其中,所述功能单元包括对应于MVB网卡总线的总线单元、对应于所述上位机接口的上位机接口单元、对应于总线收发器的总线收发单元、对应于软件接口的软件接口单元、对应于控制器的控制单元、对应于通讯内存的存储单元以及对应于MVB总线的虚拟MVB总线.各功能单元间利用内置的信号、端口以及套接字进行单元间的绑定; 所述编译单元用以对编译`可执行文件以实现所述构建单元中所构建的各个功能单元。
【文档编号】G06F11/26GK103514074SQ201310403750
【公开日】2014年1月15日 申请日期:2013年9月6日 优先权日:2013年9月6日
【发明者】孙家广, 贺飞 申请人:清华大学, 北京清软英泰信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1