[发明专利]一种基于FPGA的SpaceFibre节点IP核有效
申请号: | 201911155324.1 | 申请日: | 2019-11-22 |
公开(公告)号: | CN111030747B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 祝平;安军社;朱岩;江源源;柳萌;高润莲;郑静雅;赵允齐 | 申请(专利权)人: | 中国科学院国家空间科学中心 |
主分类号: | H04B7/185 | 分类号: | H04B7/185 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 陈琳琳;杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga spacefibre 节点 ip | ||
1.一种基于FPGA的SpaceFibre节点IP核,该IP核能够作为星载设备的接口进行高速数据传输,或者接入SpaceFibre的路由网络中进行路由,通过路由网络实现大规模星载设备的互联;其特征在于,所述IP核包括:管理层、数据链路层、通道层和物理层;
所述管理层,用于将上层的命令配置到各层中的命令寄存器,并供上层读取各层状态寄存器的状态;
所述数据链路层,用于当节点处于发送方时,实现各类数据的基于QoS的发送调度、流量控制和基于FDIR的错误恢复,当节点处于接收方时,实现各类数据的接收和确认;
所述通道层,用于实现与其它节点的通道的连接控制,对数据链路层发送的数据进行编码,对发送给数据链路层的数据进行解码;
所述物理层,用于利用物理媒介完成串行数据流的发送和接收,通过参数配置实现发送和接收的串并转换,提供接收时的时钟恢复;
所述数据链路层包括:发送模块、接收模块和链路复位控制模块;
所述发送模块,用于实现各类数据的发送调度、流量控制和错误恢复,对于发送的重要数据广播帧、数据帧和FCT控制字实现数据编号和数据备份,当接收方出现接收错误时,按照发送序列号进行重发恢复;
所述接收模块,用于实现各类数据的接收和确认:对各类帧进行解帧接收,对带CRC的各类帧和控制字分别进行CRC校验;维持一个接收序列号单元,对于带序列号的帧和控制字进行接收序列号确认;
所述链路复位控制模块,用于接收复位命令,通过一个复位控制状态机,实现节点各层的复位控制;
所述发送模块包括:广播帧流量控制单元、提供CRC生成的广播帧组帧单元、输出虚拟通道单元、提供QoS功能的MAC单元、提供CRC生成的数据帧组帧单元、提供CRC生成的FCT生成单元、提供FDIR功能的错误恢复缓存单元、基于优先级抢占式的数据通道复用单元和发送序列号单元;
所述广播帧流量控制单元,用于在接收到上层的广播信息后,通过流量控制判断是否能够发送广播数据,若可以发送,则把广播信息发送到广播帧组帧单元进行组帧;否则等待广播信用积累,直到获得广播发送权;
所述广播帧组帧单元,用于对广播信息进行组帧;在正常状态下,按照广播帧格式进行组帧,获取发送序列号后,按照生成式g(x)= x8+x2+x+1进行8位的CRC生成,并把生成的8位CRC校验码嵌入广播帧的帧尾等待发送;在重发状态下,对来自错误恢复缓存单元的广播帧按照新的发送序列号进行重新组帧发送;
所述输出虚拟通道单元,用于接收上层数据和实现流量控制;输出虚拟通道单元包括多个输出虚拟通道缓存子单元,接收不同数据源的数据;当数据写够64M个数据字或者包含数据包结尾控制字EOP时,向MAC单元提出发送申请;每个输出虚拟通道缓存子单元维护一个数据信用计数,每收到一个FCT确认时,则可以多发送64M个数据字,信用计数加64M;每发送一个数据字,信用计数减1,信用计数为0时不能发送数据;其中,M为可配置整数;
所述MAC单元,用于维护各个输出虚拟通道子单元的QoS参数,在收到各个输出虚拟通道缓存子单元的数据发送申请后,根据各个输出虚拟通道缓存子单元的优先等级进行调度,选择不同输出虚拟通道缓存子单元的数据发送到数据帧组帧单元;
所述数据帧组帧单元,用于对数据信息进行组帧;在正常状态下,对来自MAC单元的数据按照数据帧格式进行组帧,获取本帧的发送序列号后,按照生成式g(x) = x16+x12+x2+1进行16位的并行CRC生成,并把生成的16位CRC嵌入到数据帧的帧尾等待发送;在重发状态下,对来自错误恢复缓存单元的数据帧按照新的发送序列号进行重新组帧发送;
所述FCT生成单元,用于生成FCT控制字;在正常状态下,当收到接收模块的FCT申请后进行FCT控制字的组合,获取当前发送序列号后,按照生成式g(x) = x8+x2+x+1进行8位的CRC生成,并把生成的8位CRC校验码嵌入FCT控制字等待发送;在重发状态下,对来自错误恢复缓存单元的FCT控制字按照新的发送序列号进行重新组帧发送;
所述错误恢复缓存单元,用于缓存已发送的广播帧、数据帧和FCT控制字,用于出现错误时进行错误恢复;正常发送数据时,处于正常状态;当收到ACK确认控制字时,进入确认状态;当收到NACK错误确认控制字时,进入错误确认状态;当错误恢复缓存单元内数据满时,生成FULL控制字,用于告知接收方其缓存已满,应尽快发送ACK确认以删除备份的缓存;
所述数据通道复用单元,用于在重发控制字RETRY、广播帧、ACK/NACK控制字、FCT控制字、FULL控制字、数据帧、空闲帧发送时,按照从高到低的优先级顺序进行抢占式插入发送,即高优先级的数据可以插入到低优先级的数据发送过程中抢先发送,在没有以上数据发送时,空闲帧子单元会发送空闲帧;
所述发送序列号单元,用于维护一个发送序列号,对重要的数据进行编号备份,以便进行错误恢复时重新发送;每当发送一帧广播帧、数据帧和FCT控制字,发送序列号加1,发送序列号变化范围从0~127;当收到NACK需要进行重发,发送序列号需要被重置为NACK所带的接收方已确认的序列号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院国家空间科学中心,未经中国科学院国家空间科学中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911155324.1/1.html,转载请声明来源钻瓜专利网。