[发明专利]一种基于FPGA的周期消息接收缓存方法有效
申请号: | 202011605359.3 | 申请日: | 2020-12-30 |
公开(公告)号: | CN112631809B | 公开(公告)日: | 2022-10-14 |
发明(设计)人: | 王红春;王国栋;程德玉;王波;营志远;张家超 | 申请(专利权)人: | 西安云维智联科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 王芳 |
地址: | 710065 陕西省西安市高新区锦业路6*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 周期 消息 接收 缓存 方法 | ||
本发明公开了一种基于FPGA的周期消息接收缓存方法,具体包括如下步骤:步骤1,建立缓存、本地COMID配置表;步骤2:消息帧类别判断及过滤;步骤3:PD帧写入操作;步骤4:将其他软件需要的帧放置在其他软件需要的帧缓存中。步骤5:帧读取操作;步骤6:PD帧读取缓存操作。本发明将不同COMID的帧进行分类放到特定缓存,软件只需根据缓存地址取需要的数据,不需要再对数据分类,同时,接收到数据帧之后将周期数据进行覆盖处理,减小了软件需要处理的数据量,极大的减小了软件处理的压力。另外,帧读取时重点考虑PD帧保证系统的实时性,从而提高了系统运行的可靠性。
技术领域
本发明属于计算机网络领域,具体涉及一种基于FPGA的周期消息接收缓存方法。
背景技术
近年来,随着轨道交通列车信息化水平的不断提高,传统列车网络已经无法满足需求,新一代列车通信网络TCN标准应运而生,其中定义了一种基于标准以太网的编组网ECN,其采用列车实时数据协议(TrainReal-time Data Protocal,TRDP),TRDP协议定义了两类数据传输:过程数据(Process Data,PD)与消息数据(Message Data,MD)。其中,过程数据PD用于传递控制命令,对可靠性、确定性、实时性要求高,并且一般周期性收发;消息数据MD一般用于故障和诊断消息,数据量较大,一般非周期发送。
由于过程数据PD周期发送接收的特点,无疑在过程数据接收时对软件处理性能有所要求,而并不是每一个列车模块的软件处理性能都能达到要求。基于软件实现过程数据周期发送时间确定性较差,周期不精确,误差可能达到毫秒级,这对于目前车速不断提升的列车系统是不可被接受的。
发明内容
为了解决上述现有技术中存在的问题,满足不同设备处理周期控制消息确定性和实时性需求,本发明的目的在于,提出一种基于FPGA的周期消息接收缓存方法。
为了实现上述目的,本发明给出如下技术方案予以解决:
一种基于FPGA的周期消息接收缓存方法,具体包括如下步骤:
步骤1:建立缓存;具体操作如下:
建立PD帧写入缓存、其他软件需要的帧缓存、PD帧读取缓存和N个PD帧缓存;建立本地COMID配置表,该表中存储本地需要的N个COMID的地址,每个COMID的地址对应一个PD帧缓存;
步骤2:消息帧类别判断及过滤;具体操作如下:
步骤21,将接收到的帧进行过滤,具体是过滤掉上层软件不需要的帧、CRC错误帧;
步骤22,将过滤后的帧分为两类:PD帧与其他软件需要的帧;
步骤3:PD帧写入操作;具体操作如下:
步骤31,根据PD帧的COMID对应本地COMID配置表中的位置,根据该位置得到对应的PD帧缓存的地址;
步骤32,如果步骤31得到的地址对应的PD帧缓存当前没有进行读操作,将此PD帧直接写入PD帧缓存,否则,将该PD帧写入预先设置的PD帧写入缓存,等待读操作完成后再将PD帧从PD帧写入缓存读出并写入对应的PD帧缓存。
步骤4:将其他软件需要的帧放置在其他软件需要的帧缓存中。
步骤5:帧读取操作;具体操作如下:
步骤51,接收主机软件下发的读数据命令,并将该读数据命令同时传送给PD帧读取缓存和其他有用帧缓存;
步骤52,PD帧读取缓存根据读数据命令,解析得到读使能与COMID,根据该COMID判断其是否在本地COMID配置表中,如果有则记录该COMID在本地COMID配置表中的位置,并执行步骤6;否则直接执行步骤53;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安云维智联科技有限公司,未经西安云维智联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011605359.3/2.html,转载请声明来源钻瓜专利网。