一种用于机载数据网络异步数据交互区的缓冲管理方法技术

技术编号:11605631 阅读:91 留言:0更新日期:2015-06-17 03:27
本发明专利技术涉及一种用于机载数据网络异步数据交互区的缓冲管理方法,该方法包括接收数据帧的步骤;接收数据帧的步骤包括以下子步骤:1)处于链路层的FPGA模块一直检测其接收缓冲FIFO是否为空,如果不为空,则将ES端接收缓存FIFO中的数据读出送至外部接收DPRAM;若果为空,则放弃接收数据帧;2)运行在CPU的传输层软件轮询并实时访问外部接收DPRAM,判断DPRAM所有空间是否为空,若是,则CPU读取DPRAM中的数据;若否,则放弃接收数据帧。本发明专利技术提供了一种数据缓冲管理完善、数据寻址便捷以及存取高效的用于机载数据网络异步数据交互区的缓冲管理方法。

【技术实现步骤摘要】

本专利技术属于机载计算机通信技术,涉及一种数据交互缓冲管理方法,尤其涉及。
技术介绍
网络终端系统通过标准的PMC接口连接至航空电子应用子系统主机,并向主机应用提供通信接口完成数据的缓冲、发送与接收。在数据收发过程中,由于FPGA和运行于CPU上的传输层软件在处理能力和速度等方面的差异性,二者需要异步的对缓冲数据区进行交互存取以满足机载网络数据传输的确定性和接收、发送技术时延等性能指标。
技术实现思路
为了解决
技术介绍
中存在的上述技术问题,本专利技术提供了一种数据缓冲管理完善、数据寻址便捷以及存取高效的用于机载数据网络异步数据交互区的缓冲管理方法。本专利技术的技术解决方案是:本专利技术提供了,其特殊之处在于:所述方法包括接收数据帧的步骤;所述接收数据帧的步骤包括以下子步骤:I)处于链路层的FPGA模块一直检测其接收缓冲FIFO是否为空,如果不为空,则将ES端接收缓存FIFO中的数据读出送至外部接收DPRAM ;若果为空,则放弃接收数据帧;2)运行在CPU的传输层软件轮询并实时访问外部接收DPRAM,判断DPRAM所有空间是否为空,若是,则CPU读取DPRAM中的数据;若否,则放弃接收数据帧。上述步骤2)的具体实现方式是:2.1)设直尾指针pr和头指针pw ;所述尾指针pr和头指针pw形成环形缓冲区;所述CPU和FPGA分别控制头指针pw和尾指针Pr ;所述尾指针pr指向数据读出缓冲区的位置;所述头指针Pw指向数据的写入的位置;2.2)根据头指针PW与尾指针pr的位置判断DPRAM所有空间是否为空;若是空,则CPU读取DPRAM中的数据,头指针所对应的寄存器的值加I ;若非空,则放弃接收数据帧。上述DPRAM所有空间是否为空的判断依据是:环形队列长度为M,则队空条件是:pr=pw ;非空的条件是==pr。上述用于机载数据网络异步数据交互区的缓冲管理方法还包括发送数据帧的步骤,所述发送数据帧的步骤与接收数据帧的步骤是相反的。本专利技术的优点是:本专利技术利用传输层软件接口和链路层FPGA各管理双端口存储器的一端,实现二者对缓冲区域中数据的异步存取和访问,在均衡处理器和FPGA数据处理速度差异的同时避免二者在同一时刻访问同一缓冲区,而造成的不确定因素。数据缓冲通常采用乒乓缓冲、环形缓冲等,乒乓缓冲采用两个缓冲区域交替存放来完成数据的流线性处理(如1553B总线系统),其特点是处理简洁高效、节省存储空间;而采用多个缓冲区则可以构成环形队列来管理,适合AFDX、FC和TTE等大数据流量的网络通信,并且在传输效率上达到最高。因此,在设计机载数据通信系统时考虑在FPGA和运行传输层软件的CPU之间引入双端口存储器(DPRAM)来构成环形缓冲,并引入一套缓冲管理机制来协调CPU和FPGA对该环形缓冲进行异步、交互的访问。本专利技术所提出环形缓冲的管理方法,保证机载网络系统中传输层与链路层之间高效、异步的访问双端口存储器,保证数据端到端时延的确定性和处理技术时延等性能满足特定网络的要求。【具体实施方式】本专利技术提供了,包括接收数据帧的步骤;该接收数据帧的步骤包括以下子步骤:I)处于链路层的FPGA模块一直检测其接收缓冲FIFO是否为空,如果不为空,则将ES端接收缓存FIFO中的数据读出送至外部接收DPRAM ;若果为空,则放弃接收数据帧;2)运行在CPU的传输层软件轮询并实时访问外部接收DPRAM,判断DPRAM所有空间是否为空,若是,则CPU读取DPRAM中的数据;若否,则放弃接收数据帧:2.1)设直尾指针pr和头指针pw ;所述尾指针pr和头指针pw形成环形缓冲区;所述CPU和FPGA分别控制头指针pw和尾指针pr ;所述尾指针pr指向数据读出缓冲区的位置;所述头指针Pw指向数据的写入的位置;2.2)根据头指针pw与尾指针pr的位置判断DPRAM所有空间是否为空;若是空,则CPU读取DPRAM中的数据,头指针所对应的寄存器的值加I ;若非空,则放弃接收数据帧。DPRAM所有空间是否为空的判断依据是:环形队列长度为M,则队空条件是:pr=pw ;非空的条件是==pr。同时,用于机载数据网络异步数据交互区的缓冲管理方法还包括发送数据帧的步骤,发送数据帧的步骤与接收数据帧的步骤是相反的。完善的缓冲管理:环形缓冲的异步控制策略:针对CPU和FPGA存取速度等方面的差异特性,设计环形数据缓冲并使CPU和FPGA分别控制队头(PW)和队尾(Pr),二者在收发数据帧时异步操作从而协作完成速率匹配;环形缓冲判断队空、队满的方法:常用的方法有设标识法、禁用一个单元法、队长计数器法等。考虑到异步控制策略和数据帧的次序完整性,设标识法和队长计数器法并不适合本设计方法。假定环形队列长度为M,则队空条件为:pr==pw ;队满条件为==pr ;环形队列长度动态可配置:队列长度可在系统初始化前配置并加载至系统中,在系统运行时也可动态的重新配置。数据寻址便捷:如AFDX数据帧长度范围为64?1518B,因此按照数据帧最大长度可将数据交互区DPRAM划分为2KB大小的缓冲区,每帧占用一个缓冲区。这样存取数据帧可简单的按缓冲区起始地址(指针)的方式寻址。存取高效:该环形缓冲可高效的进行数据并行、异步存取,即CPU和FPGA可分别从队头和队尾访问该数据交互区,提高了数据存取的并发度。本专利技术提供了,终端系统通过标准PMC接口连接至主机航空电子应用子系统在数据收发过程中,由于FPGA和运行于CPU上的传输层软件在处理能力和速度等方面的差异性,二者需要异步的对缓冲数据区进行交互存取以满足机载网络数据传输的确定性和接收、发送技术时延等性能指标。数据缓冲通常采用乒乓缓冲、环形缓冲等,乒乓缓冲采用两个缓冲区域交替存放来完成数据的流线性处理(如1553B总线系统),其特点是处理简洁高效、节省存储空间;而采用多个缓冲区则可以构成环形队列来管理,适合AFDX、FC和TTE等大数据流量的网络通信,并且在传输效率上达到最高。以接收数据帧操作为例(发送操作处理流程也类似),处于链路层的FPGA模块一直检测其接收缓冲FIFO是否为空,如果不为空,就将ES端接收缓存FIFO中的数据读出送至外部接收DPRAM。运行在CPU的传输层软件轮询并实时访问外部接收DPRAM,判断是否有数据存在。首要任务是查询存储区域中空闲状态。采用查询方式可以用顺序查找,也可采用标志寄存器表征存储状态。由于存储数据是FPGA控制DPRAM,读取数据是CPU控制DPRAM,因此对数据的存储和读取方式是接收数据是尤为重要的。故应当设置尾指针和头指针,使用尾指针指向数据读出缓冲区的位置,头指针指向数据的写入的位置。CPU的处理速度远大于FPGA的时钟频率,会导致在某一时刻,数据正在存入缓存区的同时,CPU也正好读取到该位置,这是应该避免的。为了避免写入和读取同一存储空间,当接收完数据之后,头指针寄存器值加I。并根据头尾指针,判定缓存DPRAM所有空间为空。对于接收数据,缓存DPRAM应保证所有空间为空。端系统索引表由FPGA的寄存器资源组成,CPU可以对这些寄存器进行访问,根据这些寄存器得到头尾指针,进而判断接收DPRAM是否为空。如果不为空,通过头指针访问接收DPRAM,读取对应接收缓存区域中的数据。【主权项本文档来自技高网...

【技术保护点】
一种用于机载数据网络异步数据交互区的缓冲管理方法,其特征在于:所述方法包括接收数据帧的步骤;所述接收数据帧的步骤包括以下子步骤:1)处于链路层的FPGA模块一直检测其接收缓冲FIFO是否为空,如果不为空,则将ES端接收缓存FIFO中的数据读出送至外部接收DPRAM;若果为空,则放弃接收数据帧;2)运行在CPU的传输层软件轮询并实时访问外部接收DPRAM,判断DPRAM所有空间是否为空,若是,则CPU读取DPRAM中的数据;若否,则放弃接收数据帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:邱征牛文生王红春田莉蓉陈长胜余亚刚于峰朱佳
申请(专利权)人:中国航空工业集团公司第六三一研究所
类型:发明
国别省市:陕西;61

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

1