一种支持FDIR功能的错误恢复系统技术方案

技术编号:26848919 阅读:22 留言:0更新日期:2020-12-25 13:15
本发明专利技术公开一种支持FDIR功能的错误恢复系统,设置在每个SpaceFibre节点数据链路层中;所述系统包括主控状态机、广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道;所述主控状态机,用于对广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道进行状态控制;所述广播错误恢复通道,用于根据主控状态机的状态,对广播数据进行正常发数备份、正确确认清除、以及错误确认清除和重发;所述数据错误恢复通道,用于根据主控状态机的状态,对普通数据的正常发数备份、正确确认清除、以及错误确认清除和重发;所述FCT错误恢复通道,用于根据主控状态机的状态,对FCT数据的正常发数备份、正确确认清除、以及错误确认清除和重发。

【技术实现步骤摘要】
一种支持FDIR功能的错误恢复系统
本专利技术涉及航天工程领域,具体涉及应用于航天总线网络中SpaceFibre节点的FDIR功能,特别涉及一种支持FDIR功能的错误恢复系统。
技术介绍
随着航天技术的不断发展,航天任务复杂性的提升,航天数据向大规模、多样性、和高速的方向发展。传统的互联总线如1553B总线、CAN总线、RS485总线越来越难以满足现在和未来的航天数据处理的需求。ESA提出了新型的SpaceFibre互联网络总线协议,支持点对点传输和路由组网,串行传输速率最高可达6.25Gbps。同时SpaceFibre提供虚拟通道机制,可以分类传输不同传输需求的数据;提供QoS(QualityofService,质量服务)机制,为不同类型的数据提供不同优先级的调度服务;提供FDIR(FaultDetection,IsolationandRecovery,错误检测、隔离和重发)机制,能够对发送的数据及时地进行错误恢复,为数据的发送提供可靠的保障。由于SpaceFibre的上述特点,能为数据传输提供定制QoS服务和可靠传输保障,SpaceFibre互联总线成为了研究热点。其中,FDIR是作为SpaceFibre节点至关重要的一个功能,使用错误恢复缓存对发送的数据进行备份,同时在对方数据接收正确时清除备份,在对方数据接收错误时对备份数据进行重发,为数据传输提供可靠的保障。SpaceFibre需要保障的数据有三类:广播数据(BC)、流量控制字(FCT)、普通数据(Data),三类数据的发送优先级为:BC>FCT>Data。这三类数据在发送的时候会按照发送顺序被依次编号,并按照对应的数据格式产生CRC校验和,再进行组帧。当对方接收节点接收数据后,向本地节点发送一个确认:若对方节点接收正确,向本地节点发送正确确认ACK,ACK携带着对方节点已成功接收的数据序列号SEQ,则本地节点对小于等于SEQ的数据备份进行清零;若对方节点接收错误,向本地节点发送错误确认NACK,NACK携带着对方节点已经成功接收的数据列号SEQ,则本地先对小于等于SEQ的各类数据备份进行清零,然后再对本缓存中大于SEQ的数据备份进行重发。在重发的时候,需要对各类数据按照数据的优先级进行重发,即先重发完所有的广播数据BC,然后重发所有的FCT数据,最后重发所有的普通数据Data。同时,重发的时候,需要对序列号重新排序,重新校验和组帧。在整个错误重发流程中,存储数据类型较多,重发规则较位复杂。错误恢复缓存结构的设计影响着重发的效率,而重发的控制算法是实现FDIR功能的关键。合理的错误恢复系统和重发能够提供高效的FDIR的重发恢复效率。目前缺乏相应的技术方案。
技术实现思路
本专利技术的目的在于克服上述缺陷,提供了一种支持FDIR功能的错误恢复系统,设置在每个SpaceFibre节点数据链路层中;所述系统包括主控状态机、广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道;所述主控状态机,用于对广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道进行状态控制;所述广播错误恢复通道,用于根据主控状态机的状态,对广播数据进行正常发数备份、正确确认清除、以及错误确认清除和重发;所述数据错误恢复通道,用于根据主控状态机的状态,对普通数据的正常发数备份、正确确认清除、以及错误确认清除和重发;所述FCT错误恢复通道,用于根据主控状态机的状态,对FCT数据的正常发数备份、正确确认清除、以及错误确认清除和重发。作为上述系统的一种改进,当本地节点的数据备份和数据发送并行执行且无延迟;则主控状态机处于正常发数备份状态;当本地节点收到ACK,主控状态机进入ACK处理状态;则各个错误恢复通道能够同时独立清除各自备份中小于等于SEQ的数据备份,其中,SEQ为ACK中所携带已成功接收的序列号;当本地节点收到NACK,主控状态机进入NACK处理状态;则各个错误恢复通道首先进入数据清除状态,各个错误恢复通道能够同时地清除各自备份中小于等于SEQ的数据备份,其中,SEQ为NACK中所携带已成功接收的序列号;然后进入数据重发状态,首先重发广播信息,重发结束后产生广播重发结束信号BC_resend_done,然后重发FCT控制字,重发结束后产生FCT重发结束信号FCT_resend_done,最后重发数据控制字,重发结束后产生数据重发结束信号Data_resend_done;当各路错误恢复通道数据重发都结束后,主控状态机恢复到正常发数备份状态,重发操作结束。作为上述系统的一种改进,所述广播错误恢复通道包括:双端口的广播缓存RAM、广播地址FIFO和广播重发控制状态机;广播地址FIFO为FWFT型;广播缓存RAM,用于存储广播组帧模块发送的原有的广播帧备份数据,以及重发的广播帧备份数据;广播地址FIFO,用于对原有的广播帧备份数据进行地址标识记录,以及对重发的广播帧备份数据进行地址标识记录;所述广播地址FIFO对原有的广播帧备份数据进行地址标识记录的具体过程为:当广播缓存RAM每写入一个字,写指针wr_ptr加1;当写到广播帧帧尾EBF时,对该帧存储位置进行标识;由于广播帧尾由4个字节组成,从低位到高位依次为EBF字符、状态STATUS、广播帧的序列号BC_seq和校验码CRC;构建一个广播帧的地址标识Addr={alter,wr_ptr,BC_seq},在广播帧帧尾写入RAM的同时,对应的地址标识被写入广播地址FIFO;alter作为重发控制标识符,初始化为0,每重发一次alter进行一次翻转;广播重发控制状态机,用于当主控状态机进入ACK状态时对已确认的广播帧备份数据进行清除,当主控状态机进入NACK状态时,先对已确认的广播帧备份数据进行清除,再对未确认广播帧备份数据采用重发控制算法进行重发。作为上述系统的一种改进,当主控状态机进入ACK状态,所述广播重发控制状态机的具体处理过程包括:步骤101)广播错误恢复通道由等待状态进入广播备份清除状态,读取广播地址FIFO的地址标识,获取广播缓存RAM中未被确认广播帧的最小序列号BC_seq=Addr[7:0],以及该广播帧的帧尾的RAM写入地址EBF_wr_ptr=Addr[wr_ptr];步骤102)比较ACK中携带的SEQ和广播地址FIFO输出端口的BC_seq,BC_seq为未被恢复的首个广播帧的序列号,当BC_seq<=SEQ时,读出广播地址FIFO中的地址标识,同时更新读指针,令rd_ptr=EBF_wr_ptr+1,即读指针指到下一广播帧的帧头,则该广播帧数据及其备份同时被清除;广播缓存RAM正常接收正在发送的广播帧;步骤103)转入步骤102),直至BC_seq>SEQ,即清除完广播缓存RAM中剩余未被确认的广播帧,清除完毕后广播错误恢复通道返回等待状态。作为上述系统的一种改进,当主控状态机进入NACK状态,所述广播重发控制状态机的具体处理过程包括:步骤201)广播错误恢复通本文档来自技高网
...

【技术保护点】
1.一种支持FDIR功能的错误恢复系统,设置在每个SpaceFibre节点数据链路层中;其特征在于,所述系统包括主控状态机、广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道;/n所述主控状态机,用于对广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道进行状态控制;/n所述广播错误恢复通道,用于根据主控状态机的状态,对广播数据进行正常发数备份、正确确认清除、以及错误确认清除和重发;/n所述数据错误恢复通道,用于根据主控状态机的状态,对普通数据的正常发数备份、正确确认清除、以及错误确认清除和重发;/n所述FCT错误恢复通道,用于根据主控状态机的状态,对FCT数据的正常发数备份、正确确认清除、以及错误确认清除和重发。/n

【技术特征摘要】
1.一种支持FDIR功能的错误恢复系统,设置在每个SpaceFibre节点数据链路层中;其特征在于,所述系统包括主控状态机、广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道;
所述主控状态机,用于对广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道进行状态控制;
所述广播错误恢复通道,用于根据主控状态机的状态,对广播数据进行正常发数备份、正确确认清除、以及错误确认清除和重发;
所述数据错误恢复通道,用于根据主控状态机的状态,对普通数据的正常发数备份、正确确认清除、以及错误确认清除和重发;
所述FCT错误恢复通道,用于根据主控状态机的状态,对FCT数据的正常发数备份、正确确认清除、以及错误确认清除和重发。


2.根据权利要求1所述的支持FDIR功能的错误恢复系统,其特征在于,当本地节点的数据备份和数据发送并行执行且无延迟;则主控状态机处于正常发数备份状态;
当本地节点收到ACK,主控状态机进入ACK处理状态;则各个错误恢复通道能够同时独立清除各自备份中小于等于SEQ的数据备份,其中,SEQ为ACK中所携带已成功接收的序列号;
当本地节点收到NACK,主控状态机进入NACK处理状态;则各个错误恢复通道首先进入数据清除状态,各个错误恢复通道能够同时地清除各自备份中小于等于SEQ的数据备份,其中,SEQ为NACK中所携带已成功接收的序列号;然后进入数据重发状态,首先重发广播信息,重发结束后产生广播重发结束信号BC_resend_done,然后重发FCT控制字,重发结束后产生FCT重发结束信号FCT_resend_done,最后重发数据控制字,重发结束后产生数据重发结束信号Data_resend_done;当各路错误恢复通道数据重发都结束后,主控状态机恢复到正常发数备份状态,重发操作结束。


3.根据权利要求2所述的支持FDIR功能的错误恢复系统,其特征在于,所述广播错误恢复通道包括:双端口的广播缓存RAM、广播地址FIFO和广播重发控制状态机;广播地址FIFO为FWFT型;
广播缓存RAM,用于存储广播组帧模块发送的原有的广播帧备份数据,以及重发的广播帧备份数据;
广播地址FIFO,用于对原有的广播帧备份数据进行地址标识记录,以及对重发的广播帧备份数据进行地址标识记录;所述广播地址FIFO对原有的广播帧备份数据进行地址标识记录的具体过程为:
当广播缓存RAM每写入一个字,写指针wr_ptr加1;当写到广播帧帧尾EBF时,对该帧存储位置进行标识;由于广播帧尾由4个字节组成,从低位到高位依次为EBF字符、状态STATUS、广播帧的序列号BC_seq和校验码CRC;构建一个广播帧的地址标识Addr={alter,wr_ptr,BC_seq},在广播帧帧尾写入RAM的同时,对应的地址标识被写入广播地址FIFO;alter作为重发控制标识符,初始化为0,每重发一次alter进行一次翻转;
广播重发控制状态机,用于当主控状态机进入ACK状态时对已确认的广播帧备份数据进行清除,当主控状态机进入NACK状态时,先对已确认的广播帧备份数据进行清除,再对未确认广播帧备份数据采用重发控制算法进行重发。


4.根据权利要求3所述的支持FDIR功能的错误恢复系统,其特征在于,当主控状态机进入ACK状态,所述广播重发控制状态机的具体处理过程包括:
步骤101)广播错误恢复通道由等待状态进入广播备份清除状态,读取广播地址FIFO的地址标识,获取广播缓存RAM中未被确认广播帧的最小序列号BC_seq=Addr[7:0],以及该广播帧的帧尾的RAM写入地址EBF_wr_ptr=Addr[wr_ptr];
步骤102)比较ACK中携带的SEQ和广播地址FIFO输出端口的BC_seq,BC_seq为未被恢复的首个广播帧的序列号,当BC_seq<=SEQ时,读出广播地址FIFO中的地址标识,同时更新读指针,令rd_ptr=EBF_wr_ptr+1,即读指针指到下一广播帧的帧头,则该广播帧数据及其备份同时被清除;广播缓存RAM正常接收正在发送的广播帧;
步骤103)转入步骤102),直至BC_seq>SEQ,即清除完广播缓存RAM中剩余未被确认的广播帧,清除完毕后广播错误恢复通道返回等待状态。


5.根据权利要求4所述的支持FDIR功能的错误恢复系统,其特征在于,当主控状态机进入NACK状态,所述广播重发控制状态机的具体处理过程包括:
步骤201)广播错误恢复通道由等待状态进入广播备份清除状态,读取广播地址FIFO的地址标识,获取广播缓存RAM中未被确认广播帧的最小序列号BC_seq=Addr[7:0],以及该广播帧的帧尾的RAM写入地址EBF_wr_ptr=Addr[wr_ptr];
步骤202)比较NACK中携带的SEQ和广播地址FIFO输出端口的BC_seq,BC_seq为未被恢复的首个广播帧的序列号,当BC_seq<=SEQ时,读出广播地址FIFO中的地址标识,同时更新读指针,令rd_ptr=EBF_wr_ptr+1,即读指针指到下一广播帧的帧头,备份完正在发送的广播帧后,广播缓存RAM不再接收正常的广播备份;
步骤203)转入步骤202),直至BC_seq>SEQ,即清除完广播缓存RAM中剩余未被确认的广播帧,然后广播错误恢复通道进入重发状态,对alter重发控制符取反;
步骤204)向广播组帧模块提出重发申请,当收到广播组帧模块的使能信号后,对广播缓存RAM进行读取,rd_ptr=rd_ptr+1,并发送到广播组帧模块进行重新组帧,直到读到广播帧帧尾;同时对广播组帧模块重新组帧的广播帧进行备份,重发的广播帧写入广播缓存RAM,同时在写到广播帧帧尾的时候,构建新的地址标识Addr={alter,wr_ptr,BC_seq},并写入广播地址FIFO;
步骤205)读取广播地址FIFO的输出Addr,若Addr的最高位和现在的alter重发控制符相同,则说明广播缓存RAM中全为重发的广播帧备份数据,原有的广播帧备份数据已全部被重发,重发过程结束则广播错误恢复通道返回到等待状态,并产生BC_resend_done指示信号;否则说明广播缓存RAM中仍有未被重发的广播帧备份,则广播错误恢复通道跳到重发状态,进入步骤204)。


6.根据权利要求2所述的支持FDIR功能的错误恢复系统,其特征在于,所述数据错误恢复通道包括:双端口的数据缓存RAM、数据地址FIFO和数据重发控制状态机;数据地址FIFO为FWFT型;
数据缓存RAM,用于存储数据组帧模块发送的原有的数据帧备份数据,以及重发的数据帧备份数据;
数据地址FIFO,用于对原有的数据帧备份数据进行地址标识记录,以及对重发的数据帧备份数据进行地址标识记录;所述数据地址FIFO对原有的数据帧备份数据进行地址标识记录的具体过程为:
当数据缓存RAM每写入一个字,写指针wr_ptr加1;当写到数据帧帧尾EDF时,对该帧存储位置进行标识;由于帧尾EDF由4个字节组成,从低位到高位依次为EDF字符、数据帧的序列号Data_seq以及16位的校验码CRC;构建一个数据帧的地址标识Addr={alter,wr_ptr,Data_seq},在数据帧帧尾写入RAM的同时,对应的地址标识被写入数据地址FIFO;alter作为重发控制标识符,初始化为0,每重发一次alter进行一次翻转;

【专利技术属性】
技术研发人员:祝平朱岩
申请(专利权)人:中国科学院国家空间科学中心
类型:发明
国别省市:北京;11

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

1