[发明专利]一种支持FDIR功能的错误恢复系统有效
申请号: | 202010974423.9 | 申请日: | 2020-09-16 |
公开(公告)号: | CN112134659B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 祝平;朱岩 | 申请(专利权)人: | 中国科学院国家空间科学中心 |
主分类号: | H04L1/1867 | 分类号: | H04L1/1867 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 陈琳琳;杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 fdir 功能 错误 恢复 系统 | ||
1.一种支持FDIR功能的错误恢复系统,设置在每个SpaceFibre节点数据链路层中;其特征在于,所述系统包括主控状态机、广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道;
所述主控状态机,用于对广播错误恢复通道、数据错误恢复通道和FCT错误恢复通道进行状态控制;
所述广播错误恢复通道,用于根据主控状态机的状态,对广播数据进行正常发数备份、正确确认清除、以及错误确认清除和重发;
所述数据错误恢复通道,用于根据主控状态机的状态,对普通数据的正常发数备份、正确确认清除、以及错误确认清除和重发;
所述FCT错误恢复通道,用于根据主控状态机的状态,对FCT数据的正常发数备份、正确确认清除、以及错误确认清除和重发;
所述广播错误恢复通道包括:双端口的广播缓存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_seqSEQ,即清除完广播缓存RAM中剩余未被确认的广播帧,清除完毕后广播错误恢复通道返回等待状态;
当主控状态机进入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_seqSEQ,即清除完广播缓存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);
所述数据错误恢复通道包括:双端口的数据缓存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进行一次翻转;
数据重发控制状态机,用于当主控状态机进入ACK状态时对已确认的数据帧备份数据进行清除,当主控状态机进入NACK状态时,先对已确认的数据帧备份数据进行清除,再对未确认的数据帧备份数据采用重发控制算法进行重发;
当主控状态机进入ACK状态,所述数据重发控制状态机的具体处理过程为:
步骤301)数据错误恢复通道由等待状态进入数据备份清除状态,读取数据地址FIFO的地址标识,获取当前数据错误恢复缓存中未被确认数据帧的最小序列号Data_seq=Addr[7:0],以及该数据帧帧尾的RAM写入地址EDF_wr_ptr=Addr[wr_ptr];
步骤302)比较ACK中携带的SEQ和数据地址FIFO输出端口的Data_seq,Data_seq即为未被恢复的首个数据帧的序列号,当Data_seq=SEQ时,读出数据地址FIFO中的地址标识,同时更新读指针,令rd_ptr=EDF_wr_ptr+1,即读指针指到下一数据帧的帧头,则该数据帧数据及其备份同时被清除;数据缓存RAM正常接收正在发送的数据帧;
步骤303)转入步骤302),直至Data_seqSEQ,即数据缓存RAM中剩余未被确认的数据帧;然后数据错误恢复通道返回等待状态;
当主控状态机进入NACK状态,所述数据重发控制状态机的具体处理过程为:
步骤401)数据错误恢复通道由等待状态进入数据备份清除状态,读取数据地址FIFO的地址标识,获取当前数据错误恢复缓存中未被确认数据帧的最小序列号Data_seq=Addr[7:0],以及该数据帧帧尾的RAM写入地址EDF_wr_ptr=Addr[wr_ptr];
步骤402)比较NACK中携带的SEQ和数据地址FIFO输出端口的Data_seq,Data_seq即为未被恢复的首个数据帧的序列号,当Data_seq=SEQ时,读出数据地址FIFO中的地址标识,同时更新读指针,令rd_ptr=EDF_wr_ptr+1,即读指针指到下一数据帧的帧头,则该数据帧数据及其备份同时被清除;备份完正在发送的数据帧后,数据缓存RAM不再接收正常的数据备份;
步骤403)转入步骤402),直至Data_seqSEQ,即数据缓存RAM中剩余未被确认的数据帧,数据错误恢复通道进入重发状态,并对alter重发控制符取反;
步骤404)若广播帧和FCT控制字重发均结束,向数据组帧模块提出重发申请,当收到数据组帧模块的使能信号后,对数据缓存RAM进行读取,rd_ptr=rd_ptr+1,并发送到数据组帧模块进行重新组帧,直到读到数据帧帧尾;同时对数据组帧模块重新组帧的数据帧进行备份,重发的数据帧写入数据缓存RAM,同时在写到数据帧帧尾的时候,构建新的地址标识Addr={alter,wr_ptr,Data_seq},并写入数据地址FIFO;
步骤405)读取数据地址FIFO的输出Addr,若Addr的最高位和现在的alter重发控制符相同,则说明数据缓存RAM中全为重发的数据帧备份数据,原有的数据帧备份数据已全部被重发,重发过程结束数据错误恢复通道返回到等待状态,并产生Data_resend_done指示信号;否则说明数据缓存RAM中仍有未被重发的数据帧备份,则数据错误恢复通道跳回重发状态,进入步骤404);
FCT错误恢复通道包括:FCT错误恢复缓存FIFO和FCT重发控制状态机;FCT错误恢复缓存FIFO为FWFT型;
FCT错误恢复缓存FIFO,用于对FCT生成模块发送的原有的FCT备份数据进行存储,以及对重发的FCT备份数据进行存储,其中根据FCT控制字格式可得FCT_seq=FCT[23:16];FCT重发控制中需要一个alter重发控制符,当有效的FCT数据备份时,构造新的FCT格式:New_FCT={alter,FCT};alter重发控制符初始化为0,每重发一次alter进行一次翻转;
FCT重发控制状态机,用于当主控状态机进入ACK状态时对已确认的FCT备份数据进行清除,当主控状态机进入NACK状态时,先对已确认的FCT备份数据进行清除后,再对未确认FCT备份采用重发控制算法进行重发;
当主控状态机进入ACK状态,所述FCT重发控制状态机的具体实现过程为:
步骤501)FCT错误恢复通道由等待状态进入FCT备份清除状态,读取FCT错误恢复缓存FIFO的输出端口,获取当前FCT错误恢复缓存FIFO中未被确认FCT的最小序列号FCT_seq=FIFO_out[23:16];
步骤502)比较ACK中的SEQ和FCT错误恢复缓存输出端口的FCT_seq,当FCT_seq=SEQ时,说明FCT错误恢复缓存FIFO中仍有已成功确认的FCT需要被清除,使能FIFO_rd=1,读出使FCT_seq=SEQ的所有FCT并丢弃,则原有的FCT备份数据被清除,FCT缓存正常接收正在发送的FCT;
步骤503)转入步骤502),直至FCT_seqSEQ,即FCT错误恢复缓存FIFO中剩余未被确认的FCT,清除完毕后则FCT错误恢复通道返回等待状态;
当主控状态机进入NACK状态,所述FCT重发控制状态机的具体实现过程为:
步骤601)FCT错误恢复通道由等待状态进入FCT备份清除状态,读取FCT错误恢复缓存FIFO的输出端口,获取当前FCT错误恢复缓存FIFO中未被确认FCT的最小序列号FCT_seq=FIFO_out[23:16];
步骤602)比较NACK中的SEQ和FCT错误恢复缓存输出端口的FCT_seq,当FCT_seq=SEQ时,说明FCT错误恢复缓存FIFO中仍有已成功确认的FCT需要被清除,使能FIFO_rd=1,读出使FCT_seq=SEQ的所有FCT并丢弃,则原有的FCT备份数据被清除;备份完正在发送的FCT后,FCT错误恢复缓存FIFO不再接收正常的数据备份;
步骤603)转入步骤602),直至FCT_seqSEQ,即FCT错误恢复缓存FIFO中剩余未被确认的FCT,则FCT错误恢复通道进入重发状态,并对alter重发控制符取反;
步骤604)若广播帧重发结束,向FCT生成模块提出重发申请,当收到FCT生成模块的使能信号后,对FCT错误恢复缓存FIFO进行读取,并发送到FCT生成模块进行重新生成;同时对FCT生成模块重新生成的FCT数据进行备份,构建新的FCT备份格式New_FCT={alter,FCT},并写入FCT错误恢复缓存FIFO;
步骤605)当FCT错误恢复缓存FIFO输出端口输出的数据最高位和现在的alter重发控制符相同,则说明FCT错误恢复缓存FIFO中全为重发的FCT备份,原有的FCT已全部被重发,重发过程结束则FCT错误恢复通道返回等待状态,并产生FCT_resend_done指示信号;否则说明FCT错误恢复缓存FIFO中仍有未被重发的FCT备份,则FCT错误恢复通道跳到重发状态,进入步骤604)。
2.根据权利要求1所述的支持FDIR功能的错误恢复系统,其特征在于,当本地节点的数据备份和数据发送并行执行且无延迟;则主控状态机处于正常发数备份状态;
当本地节点收到ACK,主控状态机进入ACK处理状态;则各个错误恢复通道能够同时独立清除各自备份中小于等于SEQ的数据备份,其中,SEQ为ACK中所携带已成功接收的序列号;
当本地节点收到NACK,主控状态机进入NACK处理状态;则各个错误恢复通道首先进入数据清除状态,各个错误恢复通道能够同时地清除各自备份中小于等于SEQ的数据备份,其中,SEQ为NACK中所携带已成功接收的序列号;然后进入数据重发状态,首先重发广播信息,重发结束后产生广播重发结束信号BC_resend_done,然后重发FCT控制字,重发结束后产生FCT重发结束信号FCT_resend_done,最后重发数据控制字,重发结束后产生数据重发结束信号Data_resend_done;当各路错误恢复通道数据重发都结束后,主控状态机恢复到正常发数备份状态,重发操作结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院国家空间科学中心,未经中国科学院国家空间科学中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010974423.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种SAA化学发光酶免疫检测酶标稀释液及其应用
- 下一篇:自拍云台