基于fpga的自适应链路层差错控制方法及装置制造方法

文档序号:7982708阅读:322来源:国知局
基于fpga的自适应链路层差错控制方法及装置制造方法
【专利摘要】一种基于FPGA的自适应链路层差错控制方法及装置,所述基于FPGA的自适应链路层差错控制方法包括:对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元;确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。本发明的技术方案保证了载荷数据能被最大限度的下传,而又能自适应的进行差错控制。
【专利说明】基于FPGA的自适应链路层差错控制方法及装置
【技术领域】
[0001]本发明涉及高级在轨系统(AOS:Advanced Orbiting System)【技术领域】,特别是一种基于FPGA的自适应链路层差错控制方法及装置。
【背景技术】
[0002]随着载人航天工程的不断发展,目标飞行器的功能日趋复杂,要处理的用户数据设备多、速率高、容量大,因此对高速数据通道可靠性的差错控制技术的研究显的尤为重要。目前在型号应用中,对于用户数据包头处理的普遍做法是检测到错误后马上清空缓存,这就导致载荷数据被大量损失,造成许多不必要的损失。
[0003]因此如何保证载荷数据能被最大限度的下传,而又能自适应的进行差错控制,使损失的载荷数据个数尽量少是高速数据链路传输过程中亟待解决的问题之一。

【发明内容】

[0004]本发明的技术方案要解决的问题是如何保证载荷数据能被最大限度的下传,而又能自适应的进行差错控制,使损失的载荷数据个数尽量少。
[0005]为解决上述问题本发明的技术方案提供了一种基于FPGA的自适应链路层差错控制方法,包括:
对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元;
确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。
[0006]为解决上述问题本发明的技术方案还提供了一种基于FPGA的自适应链路层差错控制装置,包括:
处理单元,用以对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元;
控制单元,确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。
[0007]本发明的技术方案具有以下有益效果:
为高速数据系统提供高速、稳定、可靠并具有自适应要求的差错控制技术,使空间飞行器在轨运行期间可对高速载荷数据最大限度的下传,能将用户最关心的关键数据实时可靠地传回地面。利用本发明的技术方案不仅解决了高速载荷数据出错损失率低的问题,而且将参与AOS的信道调度载荷数据损失的字节数永远小于886。【专利附图】

【附图说明】
[0008]图1是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的流程图; 图2是本发明实施例提供的基于FPGA的自适应链路层差错控制装置的结构图;
图3本发明实施例提供的基于FPGA的自适应链路层差错控制技术的原理框图;
图4是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的操作流程图; 图5是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的时序图。
【具体实施方式】
[0009]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。
[0010]在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的【具体实施方式】的限制。
[0011]图1是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的流程图,下面结合图1详细说明。
[0012]所述基于FPGA的自适应链路层差错控制方法包括:
步骤SI,对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元;
步骤S2,确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。
[0013]所述基于FPGA的自适应链路层差错控制方法还可以包括:步骤S3 (图1中未显示),所述置位该包头的错误标志位有效包括以计时阈值对所述错误标志位有效的时间进行定时计时;所述清空所述缓存中的荷载数据包括:超出该包头的错误标志位有效的时间的计时阈值后,清空所述缓存中的荷载数据。所述计时阈值可以为10ms。
[0014]所述步骤SI中,所述第一比特阈值为1,所述第二比特阈值为2。所述步骤S2中,所述第一字节阈值为886个字节。
[0015]图2是本发明实施例提供的基于FPGA的自适应链路层差错控制装置的结构图,下面结合图2详细说明。
[0016]所述基于FPGA的自适应链路层差错控制装置包括:
处理单元1,用以对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元;
控制单元2,确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据,所述控制单元2与所述处理单元I相连。
[0017]所述处理单元I置位该包头的错误标志位有效,以计时阈值对所述错误标志位有效的时间进行定时计时;所述控制单元超出该包头的错误标志位有效的时间的计时阈值后,清空所述缓存中的荷载数据。所述处理单元I以IOms对所述错误标志位有效的时间进行定时计时。
[0018]所述第一比特阈值为1,所述第二比特阈值为2。所述第一字节阈值为886个字节。
[0019]本发明的技术方案涉及的自适应链路层差错控制技术,采用FPGA对载荷数据包头进行实时检测,同时实现将出错后的载荷数据的损失个数永远小于886字节。由FPGA和外围接口电路及晶体振荡器、程序存储器和遥控遥测组成,多用户载荷数据通过输入接口进入FPGA,FPGA在内部对各个载荷信道数据缓存写入和包头滑位检错之后产生包头错误标志和缓存编程空标识产生,若包头有错则进入错误恢复机制处理流程,若包头正确则进入正常流程处理,并将处理信息实时反馈给对应的载荷设备。
[0020]随着空间探索技术发展,传统的链路差错控制已无法满足多载荷、高速率与多任务的应用需求。因此本发明的技术方案为满足未来空间飞行与探索任务数据系统的需求,在传统物理链路差错控制的基础上提出载荷数据损失率的概念,通过合理的硬件算法设计,有效地解决多个数据用包头出错物理链路大量损失数据传输的问题,整个设计的核心是差错控制模块和接收缓存BUF。
[0021 ] 本发明的技术方案采用FPGA对差错控制模块和接收缓存BUF进行设计,FPGA相对于分立元器件功耗更小、体积、重量轻、资源丰富且可编程,使得接口速率、模式与数据帧格式更改更简单,可根据用户需求增加包头容错的扩展性,不仅仅局限一位比特容错,可以扩展为二位、三位等。因此,本发明选用FPGA作为链路差错控制系统的实现途径,使得数据差错控制的通用性更强、使用方便、适应面广,可编程等特点可满足用户特殊需求进行附加功能设计,提高了设计灵活性,降低了设了计成本和技术风险。
[0022]图3本发明实施例提供的基于FPGA的自适应链路层差错控制技术的原理框图,下面结合图2和图3详细说明。
[0023]本发明为解决其技术问题所采用的设计方案是提供一种基于可编程逻辑器件(FPGA)的可在轨进行自适应差错控制设计,设计由以下硬件组成。
[0024]①LVDS 输入接口 101 ;
②电源控制模块102;
③程序存储器103;
④晶体振荡器104;
⑤LVDS输出接口105 ;
⑥接收缓存BUF106;
⑦差错控制模块107;
⑧遥测返回模块108。
[0025]本发明的技术方案有高可靠性的FPGA、PROM和外围接口器件等,实现对三路数据速率的高速载荷信道数据进行链路层差错控制处理处理,在将高速数据(20MbpiTl()()MbpS)写入缓存的同时并行地对载荷包头数据比对处理,并进行一比特容错技术,一旦检测到包头错误比特数大于一比特,置内部包头错误标志位有效。
[0026]本发明的技术方案利用FPGA内部接收缓存的编程空标识信号,能实时动态的检测缓存内的数据个数,为差错控制模块清空标识的产生提供实时的门限阈值。[0027]本发明通过检测到包头错误比特大于2位,差错控制模块能立即将错误信息并反馈于载荷设备,载荷设备获得该信息后停止向LVDS接收模块发送码元,链路自动断开,能最大程度缩小错误范围,等接收缓存BUF被清空后,差错控制模块清空所有错误标志位,通知载荷设备继续传输数据,链路自动恢复,利用接收缓存的编程空标识位能最大限度的将损失的载荷数据限制在最低范围内。
[0028]如图3所示,该技术硬件设计包括:LVDS输入接口 101、差错控制模块107、LVDS输出接口 105、程序存储器103、遥测返回模块108、晶体振荡器104和电源控制部分102组成(其中LVDS输入接口 101、差错控制模块107、LVDS输出接口 105集成为处理单元I ;程序存储器103、遥测返回模块108、晶体振荡器104集成为控制单元2)。
[0029]其中电源控制部分102为各个模块提供可靠的稳压电源,可编程逻辑器件完成一比特容错算法设计、对包头错误标志的定时计数和接收缓存的编程空标识动态监控缓存写入数据个数以及的自适应清空错误载荷数据并保证损失的载荷数据个数永远小于886字节的等功能,程序存储器103用于存储整个设计程序,晶体振荡器104为整个设计提供频率参考源。
[0030]在应用时,数据从LVDS输入接口 101送入差错控制模块107,用户数据可以是协议数据、位流数据或者自定义规范的数据类型。数据进入差错控制模块107后写入FPGA内的缓存内,每个缓存代表一个信道用户,差错控制模块107同步的滑位寻找数据包头,一旦发现包头错误比特个数大于2个就置位相应的包头错误标识位有效,同时对包头错误标识位有效进行IOms定时。FPGA根据包头错误标识位,及时的将该信息反馈给载荷设备,载荷设备收到在信号都立即停止码元发送,自动切断链路,将错误数据源切断,控制错误源的扩散。
[0031]缓存以满886字节为出数阈值,当缓存中的数据大于886字节时,将数据输出,若小于886字节时不输出数据,等待载荷数据的继续写入。当包头错误的比特数大于2位时,错误包头数据已经写入缓存。当包头错误标志位有效时间定时计时到IOms时,FPGA查询当前接收缓存编程空标识位,若此时接收缓存中的编程空标识位为O则表明接收缓存中的载荷字节数已大于886个字节数,则继续下传该错误包数据直到缓存中的载荷字节数小于886为止,若此时接收缓存中的编程空标识位为I则表明接收缓存中载荷数据小于886个字节数,立即将接收缓存清空,有效的保证了被清空的错误载荷包数据永远都小于886字节,即小于载荷传输的一巾贞数据。
[0032]图4是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的操作流程图,图5是本发明实施例提供的基于FPGA的自适应链路层差错控制方法的时序图,下面结合图1、图4和图5详细说明。
[0033]整个系统启动后,进入步骤S11,荷载信道链路启动连接,连接成功后,荷载数据(图5所示荷载数据10)进入缓存,然后执行步骤S12,荷载数据I比特包头容错,也就是以I比特对荷载数据进行包头容错判断,若错误比特数小于等于2,则执行步骤S13,荷载数据正常输出,也就是将荷载数据正常输出至空间飞行器;若错误比特数大于2,执行步骤S14,置位包头容错标志位(如图5所示包头错误标识40)有效,并记录包头错误标识计数(如图5包头错误标识计数30所示),然后步骤S15,通知荷载设备停止发送码元,也就是停止向空间飞行器发送码元(其中步骤S11,步骤12,步骤13,步骤14,步骤15属于图1中的步骤SI);
然后执行步骤S16,置位包头错误标志位有效,进行IOms定时处理,并设置缓存清空标识(如图5缓存清空标识20所示);执行步骤S17,判断接收缓存的剩余数据个数是否小于886字节,若大于或等于886字节,返回步骤S13 ;若小于886字节,执行步骤S18,IOms后清空接收缓存的数据,并返回步骤S11,进行下一次数据处理(其中步骤S16,步骤17,步骤18属于图1中的步骤S2)。
[0034]由上述内容可知,本发明技术方案的自适应链路层差错控制技术应用于空间飞行器将多种不同数据格式、不同数据速率、不同延时要求的载荷数据按各自的物理信道写入对应的接受缓存中,缓存以满886字节为出数阈值,当缓存中的数据大于886字节时,将数据输出,若小于886字节时不输出数据,等待载荷数据的继续写入。在载荷设备将载荷数据写入缓存的同时对数据包头进行滑位找头,并进行一比特包特容错,一旦发现包头错误的比特数大于2位,就置位包头错误标志位有效,并立即通知载荷设备停止向空间飞行器发送码元,同时对包头错误标志位有效时间进行IOms定时计时。此时错误包头已经被写入接收缓存,若此时接收缓存中的载荷字节数大于886个字节数,则下传该错误包数据,若此时接收缓存中的载荷数据小于886个字节数,则在IOms后将接收缓存清空,有效的保证了被清空的错误载荷包数据永远都小于886字节,即小于载荷传输的一帧数据。
[0035]本发明的技术方案至少具有以下优势:
本发明的技术方案涉及的自适应链路层差错控制技术,采用FPGA对载荷数据包头进行实时检测,同时实现将出错后的载荷数据的损失个数永远小于886字节。由FPGA和外围接口电路及晶体振荡器、程序存储器和遥控遥测组成,多用户载荷数据通过输入接口进入FPGA,FPGA在内部对各个载荷信道数据缓存写入和包头滑位检错之后产生包头错误标志和缓存编程空标识产生,若包头有错则进入错误恢复机制处理流程,若包头正确则进入正常流程处理,并将处理信息实时反馈给对应的载荷设备。通过合理的硬件算法设计,有效地解决多个数据用包头出错物理链路大量损失数据传输的问题。
[0036]本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
【权利要求】
1.一种基于FPGA的自适应链路层差错控制方法,其特征在于,包括: 对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元; 确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。
2.如权利要求1所述的自适应链路层差错控制方法,其特征在于,还包括:所述置位该包头的错误标志位有效包括以计时阈值对所述错误标志位有效的时间进行定时计时;所述清空所述缓存中的荷载数据包括:超出该包头的错误标志位有效的时间的计时阈值后,清空所述缓存中的荷载数据。
3.如权利要求2所述的自适应链路层差错控制方法,其特征在于,所述计时阈值为IOms0
4.如权利要求1所述的自适应链路层差错控制方法,其特征在于,所述第一比特阈值为1,所述第二比特阈值为2。
5.如权利要求1所述的自适应链路层差错控制方法,其特征在于,所述第一字节阈值为886个字节。
6.一种基于FPGA的自适应链路层差错控制装置,其特征在于,包括: 处理单元,用以对存入缓存的荷载数据的包头进行滑位找头,并以第一比特阈值进行包头容错,确认所述包头错误的比特数大于第二比特阈值时,置位该包头的错误标志位有效,且停止向空间飞行器发送码元; 控制单元,确认该错误标志位有效的包头存入所述缓存后,若所述缓存中的荷载字节数大于第一字节阈值,则下传该错误标志位有效的包头所属的荷载数据,否则清空所述缓存中的荷载数据。
7.如权利要求6所述的自适应链路层差错控制装置,其特征在于,所述处理单元置位该包头的错误标志位有效,以计时阈值对所述错误标志位有效的时间进行定时计时;所述控制单元超出该包头的错误标志位有效的时间的计时阈值后,清空所述缓存中的荷载数据。
8.如权利要求7所述的自适应链路层差错控制装置,其特征在于,所述处理单元以IOms对所述错误标志位有效的时间进行定时计时。
9.如权利要求6所述的自适应链路层差错控制装置,其特征在于,所述第一比特阈值为1,所述第二比特阈值为2。
10.如权利要求6所述的自适应链路层差错控制装置,其特征在于,所述第一字节阈值为886个字节。
【文档编号】H04L1/00GK103684656SQ201210319849
【公开日】2014年3月26日 申请日期:2012年9月3日 优先权日:2012年9月3日
【发明者】泮朋军, 魏文超, 徐起 申请人:上海航天测控通信研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1