一种异构多源数据重构瞬态可靠处理方法技术

技术编号:18237680 阅读:63 留言:0更新日期:2018-06-17 00:52
本发明专利技术公开了一种异构多源数据重构瞬态可靠处理方法,包括:FPGA动态区状态判断;FPGA静态区建立BRAM实现对重构瞬间数据的缓存;在重构完成后,FPGA动态区向静态区发送询问帧,询问帧中包括该动态区在FPGA芯片内部物理区域的坐标和在该动态区上运行的重构代码的功能ID;FPGA静态区解析动态区发送的询问帧,并返回应答帧,应答帧中包括重构瞬间缓存在BRAM中的数据。本发明专利技术公开的方法能够解决由于FPGA动态区出现故障或者功能切换导致的动态区重构时出现的动态区与静态区之间的数据交互出现中断的问题,提高异构多源数据处理的可靠性。 1

A transient reliable processing method for heterogeneous multi-source data reconstruction

The invention discloses a transient reliable processing method for heterogeneous multi-source data reconstruction, including: FPGA dynamic region state judgment; FPGA static region setting up BRAM to cache the instant data of reconfiguration; after the reconfiguration is completed, the FPGA dynamic region sends a query frame to the static region, enclosing the dynamic area in the internal physical area of the FPGA chip. The coordinate and the function ID of the reconfiguration code running on the dynamic zone; the FPGA static zone parsed the query frames sent by the dynamic zone and returned the response frame, and the response frame included the data that was cached in BRAM instantaneously in the reconfiguration frame. The open method of the invention can solve the problem of interruption of data interaction between dynamic zone and static region, which can improve the reliability of heterogeneous multi-source data processing because of the dynamic zone reconfiguration caused by the FPGA dynamic zone failure or the function switching. One

【技术实现步骤摘要】
一种异构多源数据重构瞬态可靠处理方法
本专利技术属于电子工程和计算机科学领域,具体涉及一种异构多源数据重构瞬态可靠处理方法。
技术介绍
随着国家战略“中国制造2025”的提出,智能制造已成为当代中国的热点名词。但是实现智能制造离不开数据,这些数据更具体的表现为制造现场的数据,所以制造现场数据的可靠采集、处理、交换与传输就是实现智能制造的底层技术支撑。制造现场的数据在数据协议上表现为异构,在数据量上表现为多源,如何在高效处理异构多源数据的同时,保证数据处理的可靠性就显得至关重要。由于FPGA具备天生的硬件并行和动态重构特性,在FPGA内部构建一个静态区和多个动态区,静态区完成数据的采集,例如采集机床的电压、电流、转速,采集生产线的实时图像数据以及环境参数等;各个动态区运行不同的处理算法,例如动态区1运行电压滤波处理算法、动态区2运行图像灰度处理算法、动态区3运行环境参数的预处理算法等,这样就能实现异构多源数据的高效处理。但是制造现场存在着一定的辐射和电离,包括FPGA在内的微处理芯片都很有可能出现硬件损坏和代码“跑飞”等故障,但是FPGA通过动态重构可以提高数据处理的可靠性,具体表现为当某个动态区上运行的代码出现“跑飞”时,FPGA静态区通过状态机读取存储在片外flash内的动态代码,并重新加载到出现故障的动态区中,以实现动态区的故障自恢复;或者FPGA静态区读取别另一个动态代码并加载到该动态区中,以实现动态区的功能切换。但是在动态区重构的过程中,静态区和动态区之间的数据交互是中断的,即使FPGA动态的重构的时间一般在毫秒级,但是对于对实时性要求比较苛刻的数据处理场合,重构造成的数据处理中断也直接影响数据处理的可靠性。因此,本专利技术提出一种异构多源数据重构瞬态可靠处理方法,该方法能够解决FPGA动态重构时静态区和动态区之间的数据交互出现中断的问题,能够实现异构多源数据的可靠处理。
技术实现思路
本专利技术要解决的技术问题为:提供一种异构多源数据重构瞬态可靠处理方法,该方法能够解决FPGA动态重构时静态区和动态区之间的数据交互出现中断的问题,能够实现异构多源数据的可靠处理。本专利技术解决其技术问题是采取以下技术方案实现的:一种异构多源数据重构瞬态可靠处理方法,包括以下步骤:步骤一:FPGA动态区状态判断,具体实现如下:①建立一个宽度为1,深度为1的双端口BRAM,在FPGA主时钟的驱动下,静态区通过端口A置该BRAM的数值为高电平,在经过10个主时钟周期之后,静态区通过端口A读取判断该BRAM的数值的电平状态:当为高电平时,表明动态区处于重构过程中:当为低电平时,表明动态区处于非重构过程中;②动态区在FPGA主时钟的驱动下通过端口B实时读取并判断该BRAM的数值的电平状态,当为高电平时,在下一个时钟周期将该BRAM的数值的电平状态复位为低电平;③当有n个动态区时,需要在静态区建立n个宽度为1,深度为1的双端口BRAM,各个动态区状态的判断如①和②;步骤二:FPGA静态区建立数据缓存BRAM实现对重构瞬间数据的缓存,具体实现如下:①FPGA静态区建立一个BRAM,当静态区监测到动态区处于重构过程中时,静态区将待处理的数据缓存在这个BRAM中;②FPGA静态区按照各个动态区在FPGA芯片内部物理区域的坐标和在该动态区上运行的重构代码的功能ID的不同,分别将数据缓存在该BRAM的不同偏移地址中;步骤三:在重构完成后,FPGA动态区向静态区发送询问帧,帧格式具体实现如下:①字节0-1为帧头,即十六进制5A、54;②字节2-11为数据区,其中字节2-3表示该动态区在FPGA芯片内部物理区域的左上顶点的横坐标;字节4-5表示该动态区在FPGA芯片内部物理区域的左上顶点的纵坐标;字节6-7表示该动态区在FPGA芯片内部物理区域的右下顶点的横坐标;字节8-9表示该动态区在FPGA芯片内部物理区域的右下顶点的纵坐标;字节10-11表示在该动态区上运行的重构代码的功能ID;③字节12为数据区结束标识符,即十六进制00;④字节13为校验,即数据区中各个字节的逻辑和取低字节;⑤字节14-15为数据区的长度,其中字节14为高字节;⑥字节16-17为帧尾,即十六进制5A、FE;当询问帧中的数据区出现帧尾,即十六进制5A、FE时,需要在该5A、FE前插入转义字符十六进制00;数据区的长度不包括插入的转义字符;步骤四:FPGA静态区解析动态区发送的询问帧,在解析询问帧时需要将插入的转义字符去除,得到该动态区在FPGA芯片内部物理区域的坐标和在该动态区上运行的重构代码的功能ID,然后静态区读取数据缓存BRAM中对应的数据;步骤五:FPGA静态区向动态区返回应答帧,帧格式具体实现如下:①字节0-1为帧头,即十六进制5A、54;②字节2-(n+1)为数据区,即重构时缓存在BRAM中的数据,其中n为数据字节长度;③字节n+2为数据区结束标识符,即十六进制00;④字节n+3为校验,即数据区中各个字节的逻辑和取低字节;⑤字节n+4、n+5为数据区的长度,其中字节n+4为高字节;;⑥字节n+6、n+7为帧尾,即十六进制5A、FE;当应答帧中的数据区出现帧尾,即十六进制5A、FE时,需要在该5A、FE前插入转义字符十六进制00;数据区的长度不包括插入的转义字符。本专利技术设计的一种异构多源数据重构瞬态可靠处理方法适用于Xilinx公司Virtex-5FPGA芯片。本专利技术与现有技术相比的优点在于:(1)传统的采用三模冗余等来提高FPGA动态重构可靠性的方法,不仅增加了FPGA资源的消耗,而且仅仅是通过多备份的方式来提高动态区的可靠性,根本没有解决重构时的瞬态问题。本专利技术能够解决FPGA动态重构时静态区和动态区之间的数据交互出现中断的问题,能够实现异构多源数据的可靠处理。(2)本专利技术提出的FPGA动态区状态判断、建立BRAM来缓存重构时的数据以及静态区和动态区之间的询问帧、应答帧,能够从根本上解决FPGA重构瞬态问题。附图说明图1为本专利技术的结构框图。具体实施方式下面结合附图对本专利技术做进一步详细的描述。本专利技术涉及一种异构多源数据重构瞬态可靠处理方法,采用Xilinx公司的Virtex-5FPGA芯片。该方法针对基于FPGA动态重构的异构多源数据处理中的重构瞬态问题,所谓FPGA的重构瞬态问题就是FPGA动态重构时静态区和动态区之间的数据交互出现中断。本专利技术提出方法能够解决FPGA重构瞬态问题,实现异构多源数据的可靠处理。本专利技术的结构框图如图1所示,具体实施方式如下:(1)FPGA动态区状态判断,具体实现如下:①建立一个宽度为1,深度为1的双端口BRAM,在FPGA主时钟的驱动下,静态区通过端口A置该BRAM的数值为高电平,在经过10个主时钟周期之后,静态区通过端口A读取判断该BRAM的数值的电平状态:当为高电平时,表明动态区处于重构过程中:当为低电平时,表明动态区处于非重构过程中;②动态区在FPGA主时钟的驱动下通过端口B实时读取并判断该BRAM的数值的电平状态,当为高电平时,在下一个时钟周期将该BRAM的数值的电平状态复位为低电平;③当有n个动态区时,需要在静态区建立n个宽度为1,深度为1的双端口BRAM,各个动态区状态的判断如①和②;(2)FPGA静态区建立数据本文档来自技高网
...
一种异构多源数据重构瞬态可靠处理方法

【技术保护点】
1.一种异构多源数据重构瞬态可靠处理方法,其特征在于:包括以下步骤:

【技术特征摘要】
1.一种异构多源数据重构瞬态可靠处理方法,其特征在于:包括以下步骤:步骤一:FPGA动态区状态判断,具体实现如下:①建立一个宽度为1,深度为1的双端口BRAM,在FPGA主时钟的驱动下,静态区通过端口A置该BRAM的数值为高电平,在经过10个主时钟周期之后,静态区通过端口A读取并判断该BRAM的数值的电平状态:当为高电平时,表明动态区处于重构过程中:当为低电平时,表明动态区处于非重构过程中;②动态区在FPGA主时钟的驱动下通过端口B实时读取并判断该BRAM的数值的电平状态,当为高电平时,在下一个时钟周期将该BRAM的数值的电平状态复位为低电平;③当有n个动态区时,需要在静态区建立n个宽度为1,深度为1的双端口BRAM,各个动态区状态的判断如①和②;步骤二:FPGA静态区建立数据缓存BRAM实现对重构瞬间数据的缓存,具体实现如下:①FPGA静态区建立一个BRAM,当静态区监测到动态区处于重构过程中时,静态区将待处理的数据缓存在这个BRAM中;②FPGA静态区按照各个动态区在FPGA芯片内部物理区域的坐标和在该动态区上运行的重构代码的功能ID的不同,分别将数据缓存在该BRAM的不同偏移地址中;步骤三:在重构完成后,FPGA动态区向静态区发送询问帧,帧格式具体实现如下:①字节0-1为帧头,即十六进制5A、54;②字节2-11为数据区,其中字节2-3表示该动态区在FPGA芯片内部物理区域的左上顶点的横坐标;字节4-5表示该动态区在FPGA芯片内部物理区域的左上顶点的纵坐标;字节6-7表示该动态区在FPGA芯片内部物理区域的右下顶点的...

【专利技术属性】
技术研发人员:陶飞邹孝付左颖
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1