一种在线检测报文传输超时的方法与装置制造方法及图纸

技术编号:12059125 阅读:120 留言:0更新日期:2015-09-17 09:13
本发明专利技术公开了一种在线检测报文传输超时的方法与装置,其具体实现过程为:在FPGA验证平台中,构建一个存储空间RAM,检测程序启动,RAM接收并处理由处理器发送过来的源端报文;然后对处理器发出的源端报文和远端返回报文的时间进行记录比较,确定远端返回的报文是不是在处理器要求的有效时间内返回,否则进行超时报错。装置的结构包括RAM输入信号模块,RAM输出信号模块、远端报文存储FIFO、比较模块和计数模块。该一种在线检测报文传输超时的方法与装置与现有技术相比,最大程度节约了FPGA内部有限的资源,提高了效率,更好使用了FPGA相关软件进行代码项目调试,实用性强,易于推广。

【技术实现步骤摘要】

本专利技术涉及计算机芯片
,具体地说是一种实用性强、在线检测报文传输超时的方法与装置
技术介绍
随着国家对信息安全的越来越重视,打破国外厂商在小型机服务器上的垄断迫在眉睫。而小型机服务器的研发在于需要网络控制类芯片控制多路处理器系统,这个系统使得多个处理器之间能够进行高速有效、可靠安全地进行报文交换处理。对应这个系统的前期验证调试过程肯定是要在FPGA平台上进行的。为了在FPGA平台上很好地验证,使用一些调试手段是必需的。在FPGA调试过程中发现处理器会出现宕机现象,其一个原因就包括处理器发出的报文在有效的时间内没有接收所对应的远端回复报文,导致处理器等待超时最终宕机。因为处理器在短时间内发送大量报文,人工很难查找出具体哪个报文出现了超时冋题。针对这种问题,本专利提出一种在线检测报文传输超时的方法与装置,通过加入超时检测机制,有效解决上述问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、在线检测报文传输超时的方法与装置。一种在线检测报文传输超时的方法,其具体实现过程为: 在FPGA验证平台中,构建一个存储空间RAM ; 检测程序启动,RAM接收并处理由处理器发送过来的源端报文; 然后对处理器发出的源端报文和远端返回报文的时间进行记录比较,确定远端返回的报文是不是在处理器要求的有效时间内返回,否则进行超时报错。所述RAM的地址是唯一的且该地址由报文的RTID数值来确定。所述时间记录通过循环计数器完成,该循环计数器对时钟具有计数功能,所记数值作为时间轴上的标志,即时间戳,该时间戳为计数值。所述循环计数器对源端报文、远端报文进行时间上的记录,即打入时间戳;当报文存入RAM空间的时候,该循环计数器打入时间戳,并将报文和时间戳一起存入RAM中,完成了报文的存入。所述超时报错是指有效时间内没有与源端报文对应的远端报文返回,该超时报错包括以下两种: 当与源端报文对应的远端报文返回时已经超出有效时间,进行超时报错; 当源端报文没有得到回复,即没有所对应的报文返回时,进行超时报错。所述记录的时间在以下三种情况下进行比较: 一、当没有处理器发送过来本地源端报文要存储,且有报文从远端返回时; 二、既没有处理器发送的报文需要处理,也没有由远端返回报文需要处理时; 三、当源端报文和远端报文同时到来时。所述第一种情况下进行记录时间比较的过程为: 当没有处理器发送过来的本地源端报文要存储时,查询是否有远端返回来的报文需要处理; 当有报文从远端返回时,根据此报文的RTID作为地址,从存储空间RAM中取出所对应的源报文,同时得到当时输入源报文时候的时间戳; 源报文时间戳和当前时间计数器数字比较,判断是否进行超时报错。所述第二种情况下进行记录时间比较的过程为:对存储空间RAM内的源端报文进行超时检测遍历,即从存储空间遍历一个个地取出所有存储的本地源端报文,查看其时间戳与当前时间计数器数值进行比较;当二者相对差值超过设定数值的时候,说明源端报文存储时间超出一定时间,则视为该源端报文对应的回复已经超时,进行超时报错。所述第三种情况下进行记录时间比较的过程为: 首先设计一个优先级,即将源端报文的输入优先级高于远端返回报文的优先级; 在远端报文返回输入的位置设置一个FIFO缓存,当有源端报文输入时,远端返回报文先存入该FIFO缓存中缓存,同时该返回时的计数器数值一并存入FIFO缓存中; 当源端报文处理完后,从FIFO缓存中提取返回报文; 按照第一种情况进行记录时间比较处理。一种在线检测报文传输超时的装置,其特征在于,其结构包括: RAM输入信号模块,即源端报文处理模块,该输入信号包括数据输入端口 Data_in、输入地址Dataln_addr、输入使能信号Dataln_en、输入时钟信号Clk_in,其中输入数据信号Datajn即为输入的报文;使能信号Dataln_en来自于每个数据包的输入使能信号,用来对报文进行选择是否输入存储空间RAM中;输入地址控制信号Dataln_addr,当有效报文输入的时候,地址根据报文中的RTID来确定;该RAM输入信号模块用于对上述源端报文信号进行过滤,根据报文不同选择是否存入该RAM中; RAM输出信号模块,即远端报文处理模块,该输出信号模块输出的控制信号数目和输入信号模块输入的控制信号数目一致,且该输出信号包括输出数据信号Data_out、输出数据使能信号Dataout_en、输出地址Dataout_addr、输出时钟Clk_out ;其中输出数据信号Data_out是和输入数据信号相同位宽,即是一个报文的宽度;输出地址Dataout_addr根据远端报文的RTID确定,相同RTID的远端报文对应着源端报文,当没有远端报文返回的时候,Dataout_addr可以自动循环,对RAM存储空间内所有报文进行遍历操作; 远端报文存储FIFO,当RAM有数据输入时,RAM无法同时读写,暂时不能输出报文,该FIFO存储远端报文作为缓冲;当RAM可以输出数据时,再从此FIFO中提取远端报文进行比较; 比较模块,检测并计算出结果,对从存储空间RAM提取的含有时间戳的源端报文和远端传回同样还有时间戳的远端报文进行比较:当二者时间戳差值达到一定数值的时候,认为远端报文返回的时间超过了协议的有效时间,此时应该为超时错误;在没有远端报文输入时,对源端报文进行比较,此时在源端报文的时间戳和当前计数器数值,即当前时间进行比较:当超过一定数值时,即认为超时错误; 计数模块,即一个多位循环时间计数器,循环计数的实时数值当作当前的时间戳;当对源端报文输入存储空间RAM的时候以及远端报文暂存FIFO或者直接进行比较的时候,都需要当时计数器的数值;当有报文存入RAM的时候,记录下当时的计数数值一起存入RAM。本专利技术的一种在线检测报文传输超时的方法与装置,具有以下优点: 本专利技术提出的一种在线检测报文传输超时的方法与装置,解决了在FPGA平台跟踪查找处理器因为某个报文收发超时的时候,由于FPGA资源有限的原因无法确定并抓取某个具体报文的困难;构建一个可控地址的存储空间和一个用来标记时间轴的计数器,对本地源端发送报文加入时间戳存储起来,并与远端返回报文进行比较来确定出现超时的某个具体报文;最大程度节约了 FPGA内部有限的资源,提高了效率,更好使用了 FPGA相关软件进行代码项目调试,实用性强,易于推广。【附图说明】附图1为本专利技术的装置结构框图。【具体实施方式】下面结合附图和具体实施例对本专利技术作进一步说明。现提供一种在线检测报文传输超时的方法与装置,其作用是针对在FPGA平台验证调试过程中,无法跟踪系统是否能够在有效时间内返回传输报文的问题。系统运行时候处理器发送报文等待远端返回相关报文,在有效时间内没有收到报文就会出现处理器宕机情况。采用了在FPGA内部实时存储记录时间戳的方式,实现了程序自动检测返回报文时间并对比的功能,具有很高的可操作性和实用价值。一种在线检测报文传输超时的方法,其具体实现过程为: 在FPGA验证平台中,构建一个存储空间RAM, 检测程序启动,RAM接收并处理由处理器发送过来的源端报文; 然后对处理器发出的源端报文和远端返回报文本文档来自技高网...
一种在线检测报文传输超时的方法与装置

【技术保护点】
一种在线检测报文传输超时的方法,其特征在于,其具体实现过程为:在FPGA验证平台中,构建一个存储空间RAM;检测程序启动,RAM接收并处理由处理器发送过来的源端报文;然后对处理器发出的源端报文和远端返回报文的时间进行记录比较,确定远端返回的报文是不是在处理器要求的有效时间内返回,否则进行超时报错。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘凯童元满李仁刚刘金广
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1