首页> 中国专利> 一种使用FPGA实现列车MVB消息数据通信的方法及装置

一种使用FPGA实现列车MVB消息数据通信的方法及装置

摘要

本发明涉及一种使用FPGA实现列车MVB消息数据通信的方法及装置,其中方法包括:步骤S1:打开硬件,将FPGA的存储地址映射到用户内存;步骤S2:初始化相关变量和指针,指针指向相对应的硬件地址;步骤S3:对硬件进行初始化配置;步骤S4:进行消息的发送和接收。与现有技术相比,本发明具有方便调试等优点。

著录项

  • 公开/公告号CN112749109A

    专利类型发明专利

  • 公开/公告日2021-05-04

    原文格式PDF

  • 申请/专利号CN201911054447.6

  • 发明设计人 徐征;

    申请日2019-10-31

  • 分类号G06F13/20(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人宣慧兰

  • 地址 201108 上海市闵行区申南路111号2号楼(9幢)一层

  • 入库时间 2023-06-19 10:51:07

说明书

技术领域

本发明涉及一种MVB消息数据收发技术,尤其是涉及一种使用FPGA实现列车MVB消息数据通信的方法及装置。

背景技术

MVB为多功能车辆总线,它是列车通信网TCN的一部分。MVB是一种主要用于对有互操作性和互换性要求的互连设备之间的串行数据通信总线,它将位于同一车辆,或不同车辆中的标准设备连接到列车通信。MVB通信分为过程数据和消息数据两种,由于安全性的需求,列控车载设备的MVB总线大部分采用过程数据传输,过程数据是一种定长的实时性的数据传输协议,而传输不定长的消息数据是和过程数据的传输机制有矛盾的。当前实现消息数据传输功能一般是通过购买了第三方公司的MVB卡来实现。而带消息数据解决方案的MVB卡往往比较昂贵,带来成本压力。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种使用FPGA实现列车MVB消息数据通信的方法及装置。

本发明的目的可以通过以下技术方案来实现:

一种使用FPGA实现列车MVB消息数据通信的方法,包括:

步骤S1:打开硬件,将FPGA的存储地址映射到用户内存;

步骤S2:初始化相关变量和指针,指针指向相对应的硬件地址;

步骤S3:对硬件进行初始化配置;

步骤S4:进行消息的发送和接收。

所述消息的发送过程具体包括:

步骤S411:向硬件发送启动命令;

步骤S412:判断是否有消息需要发送,若为是,则执行步骤S413;

步骤S413:把数据写进硬件的发送区。

所述消息的接收过程具体包括:

步骤S421:为接收消息数据注册接收回调函数;

步骤S422:向硬件发送启动命令;

步骤S423:判断是否接收到消息,若为是,则执行步骤S424;

步骤S424:调用注册过的接收回调函数处理消息。

所述FPGA的存储介质为闪存。

一种使用FPGA实现列车MVB消息数据通信的装置,包括FPGA,该FPGA上搭载有程序,所述程序执行时实现以下步骤:

步骤S1:打开硬件,将FPGA的存储地址映射到用户内存;

步骤S2:初始化相关变量和指针,指针指向相对应的硬件地址;

步骤S3:对硬件进行初始化配置;

步骤S4:进行消息的发送和接收。

与现有技术相比,本发明具有以下有益效果:购买的板卡的提供的是库文件,不能进行底层的跟踪调试,而本方案的代码都由自己编写,调试更方便。

附图说明

图1为本发明发送消息数据的具体流程示意图;

图2为本发明接收消息数据的具体流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

图1所示为本方案发送消息数据的具体流程,详细描述如下:

在步骤401中,在软件中打开硬件。由于此硬件的数据都存在一块独立的闪存上,为了方便软件读写,把闪存的区域映射到用户内存上;

在步骤402中,为了实现功能,创建了一些全局变量来存储状态变量和数据,硬件中的消息数据有两个发送队列和一个接收队列,创建指针并指向相应的硬件地址;

在步骤403中,为了能够收发消息数据,需要配置一些控制器参数;

在步骤404中,给硬件发送启动命令,然后硬件才能开始收发动作;

在步骤405中,轮询中看是否有需要发送的数据,如果有执行步骤406,如果没有,继续轮询;

在步骤406中,把发送数据通过指向发送队列的指针拷贝到硬件,硬件会自动发送;

图2所示为本方案接收消息数据的具体流程,详细描述如下:

步骤401至404功能与发送消息数据的功能相同。步骤404之前多了一步步骤407,步骤407为注册回调函数,每个消息数据有相对应的功能号,为需要接收的功能号注册回调函数,当接到该功能号的消息数据会自动调用此函数。

在步骤408中,轮询中看是否接收到的数据,如果有执行步骤409,如果没有,继续轮询;

在步骤409中,调用注册过的接收回调函数,在回调函数中可以进行一些数据的操作,并根据需要看是否要重新注册该功能号的接收回调函数,如果注册则仍然接收该功能号的消息数据,否则将不再接收。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号