轻量级SpaceFibre节点高速传输系统的优化设计
doi: 10.11887/j.cn.202402011
郑静雅1,2 , 安军社1
1. 中国科学院国家空间科学中心 复杂航天系统电子信息技术重点实验室,北京 100190
2. 中国科学院大学 计算机科学与技术学院,北京 100049
基金项目: 中国科学院战略性先导科技专项基金资助项目(XDA15020205)
Optimal design for the high-speed and lightweight transmission system of SpaceFibre node
ZHENG Jingya1,2 , AN Junshe1
1. Key Laboratory of Electronics and Information Technology for Space Systems, National Space Science Center, Chinese Academy of Sciences, Beijing 100190 , China
2. School of Computer Science and Technology, University of Chinese Academy of Sciences, Beijing 100049 , China
摘要
为满足卫星有效载荷间SpaceFibre链路的高带宽、高可靠性和轻量化的应用需求,提出一种SpaceFibre节点传输系统的优化设计。该设计采用基于帧累计的增量化计算方法减少了计算电路的冗余;通过四级流水架构满足了错误检测操作的时序要求,使用循环冗余校验共享机制平衡了硬件资源的使用;采取基于完整应答的双层控制策略提升了系统的可靠性,通过构建面向资源优化的控制状态机和存储架构简化了确认重传算法的实现逻辑。使用型号为XC7Z100FFG900-2的FPGA搭建双节点系统,板级验证表明:该设计满足协议规范,与同类设计方案相比,最高工作频率提高1.5倍,支持最高6.25 Gbit/s的传输速率,查找表资源和存储资源降低,寄存器资源相近,为开发具有自主知识产权的高速可靠SpaceFibre编解码器提供了参考。
Abstract
An optimal design of SpaceFibre node transmission system was proposed to meet the high bandwidth, high reliability and light weight requirements for the SpaceFiber link between satellite payloads. This design adopts an incremental calculation method based on frame accumulation to reduce the redundancy of computing circuits, and satisfies the timing requirements for error detection operations through a four-stage pipeline architecture. The module balances the use of hardware resources by sharing CRC(cyclic redundancy check). To improve reliability, the design adopts a two-layer control strategy with complete response. Resource-optimized FSM(finite-state machine) and storage architecture are built to simplify the implementation of the retransmission algorithm. A verification system at board-level with two nodes was implemented in XC7Z100FFG900-2 FPGA(field programmable gate array). The results show that the design satisfies the functions stipulated by the standard. Compared with similar design schemes, the maximum frequency is increased by 1.5 times, and supports up to 6.25 Gbit/s transmission rate. And resources of lookup tables and storage are reduced, while register resources are similar. The design provides a reference for the development of high-speed and reliable SpaceFibre codecs with independent intellectual property rights.
随着空间探测任务的日益繁重,星载数据处理系统[1]呈现多样化、复杂化和超高速化的趋势。已有的1553B、控制器局域网总线(controller area network,CAN)和SpaceWire等[2-4]技术已不能支持吉比特级的超高速有效载荷。为此,欧洲航天局提出SpaceFibre技术[5]以组建超高速星载数据网络,该技术单通道节点的运行速率最高可达6.25 Gbit/s,多通道编解码器具有高达100 Gbit/s的传输速率。此外,该技术支持全双工数据传输,可提供服务质量(quality of service,QoS)、错误检测隔离与恢复(failure detection isolation and recovery,FDIR)和流量控制等功能。
针对SpaceFibre单通道节点传输系统,国内外研究人员进行了相关研究:英国邓迪公司实现了支持完整协议栈的单通道SpaceFibre节点系统[6-8],并完成了抗辐照单通道节点芯片的设计和流片[9]。德国比勒费尔德大学将其完善为具有高级可扩展接口(advanced extensible interface,AXI)的可重构节点系统[10]。瑞典的科巴姆公司[11]开发了具有高度灵活性的单通道节点系统。但上述研究并未给出具体的实现方案,且商用知识产权(intellectual property,IP)核的价格高昂,不能满足我国航天工程应用的国产化需求。文献[12]提出了一种简化版本的单通道SpaceFibre编解码器,该编解码器去除了FDIR功能以及QoS的部分功能,且限制虚拟通道数目最多为2。由于关键功能的简化,该编解码器仅适用于特定的应用场景。文献[13]完成了具有完整功能的单通道编解码器并在不同的开发平台上经过了板级验证,但该设计仅支持不大于3.125 Gbit/s的传输速率。文献[14]实现了自主化单通道编解码器的基础设计并进行了初步的功能仿真,但该设计功能的完整性有待补充,且最高工作频率相对较低、资源占用率较高。
为满足SpaceFibre技术在国产通用化航天应用场景中的高带宽、高可靠和低面积的传输需求,本文提出了采用优化技术的SpaceFibre单通道节点传输系统,该系统能够稳定支持协议规范的各项功能,可占用轻量级的电路面积支持更高的传输速率,为开发高效SpaceFibre节点系统提供了具有积极意义的思路。
1 SpaceFibre协议栈
SpaceFibre协议栈包含管理层、网络层、数据链路层、多通道层、通道层和物理层。网络层提供数据包传输和广播服务,该层功能的实现主体为路由器。管理层负责各层的管理和监测,与数据链路层、通道层和物理层共同构成SpaceFibre单通道节点。
数据链路层主要负责提供QoS、FDIR和流量控制功能。数据链路层通过虚拟通道(virtual channel,VC)管理来自不同数据源的数据包。多条VC竞争链路资源时,数据链路层采用预留带宽、优先级和调度三种服务质量机制仲裁各条VC的数据发送权。
数据包在数据链路层需要以数据帧形式继续传输。如图1所示,单通道节点的数据帧以数据帧帧头(start of data frame,SDF)控制字开始、数据帧帧尾(end of data frame,EDF)控制字结束,帧头和帧尾之间包含NN≤64)个数据字。SDF控制字主要包含四部分:字标识码、SDF识别码、虚拟通道号和保留字段。EDF控制字由EDF识别码、序列号和16 bit循环冗余校验(cyclic redundancy check,CRC)组成。双字长的广播消息被封装成广播帧,广播帧格式与数据帧格式类似。
1单通道节点数据帧格式
Fig.1Data frame format for a single lane node
数据链路层采用如图2所示的空闲帧填充空闲链路,该帧包含空闲帧帧头(start of idle frame,SIF)控制字和伪随机数。SIF控制字由字标识码、SIF识别码、序列号和单字节循环冗余校验四个字段组成。
2单通道节点空闲帧格式
Fig.2Idle frame format for a single lane node
数据链路层通过确认重传算法[5]提供错误恢复功能,该功能涉及确认控制字(acknowledgement,ACK)、否定确认控制字(negative acknowledgement,NACK)、满控制字(full control word,FULL)和重试控制字(retry control word,RETRY)等。除字标识码不同外,反馈信息控制字ACK/NACK和缓冲区满控制字FULL的格式与SIF控制字相同。错误恢复过程中,RETRY控制字用于链路近端向远端通知本端已接收到NACK并开始重发错误恢复缓冲区中的数据。
数据链路层使用基于信用的流量控制机制,链路远端通过流控信令字(flow control token,FCT)向近端通知存储空间的剩余情况,该控制字的四个字段分别为字识别码、流控信息、序列号和8 bit CRC校验。
通道层主要用于8B/10B编解码、字符同步、时钟补偿、通道状态控制和通道初始化。物理层负责在光纤和电缆等物理介质上进行串行数据的收发。
2 系统优化与设计
通过对SpaceFibre协议栈进行分析,本文提出如图3所示的轻量级高速单通道节点传输系统,轻量级是指面积轻量化、占用逻辑资源较少。图3中,数据链路层包含n条虚拟通道的缓冲区和流控模块,用于实现数据的缓存和流控机制。该架构不局限于具体的虚拟通道数目,可根据实际应用需求进行VC数目的选择,具有一定的可扩展性。介质访问控制(media access control,MAC)子系统负责实现服务质量机制。广播消息缓冲区、广播流控和广播帧生成模块共同组成广播子系统。数据帧生成模块将通过MAC仲裁的数据段封装成指定的帧格式,进行错误恢复的数据帧需经过该模块进行帧尾控制字的更新。错误检测子系统主要根据接收数据的循环冗余校验和序列号校验结果进行错误检测。错误恢复子系统主要用于数据的备份和重发操作。物理层的主体为高速收发器 IP核,该层还实现了通道层的8B/10B编解码、字符同步和时钟补偿功能。通道层包含控制字生成、链路初始化和字识别模块。
3SpaceFibre节点系统架构
Fig.3Architecture of the system of SpaceFibre node
2.1 基于帧累计增量计算的介质访问控制子系统
介质访问控制子系统主要用来实现优先级、预留带宽和调度三种服务质量。如图4所示,该子系统主要分为优先级优先权计算、带宽信用计算、优先权计算、调度和带宽状态记录模块。
任意虚拟通道经过MAC仲裁发送数据段后,带宽信用计算模块需按式(1)所示[5]分别计算各虚拟通道的带宽信用值Ci。已用带宽U指带宽信用更新后,VCi发送的数据字数目。可用带宽A则为链路上所有虚拟通道发送的数据字数目总和。标准化期望带宽N指VCi所分配带宽占链路总带宽的比例。
Ci=n A(n)-U(n)Ni-1
(1)
式(1)最直观的硬件实现方法是分别计算减号前后两部分再相减、累加。单通道编解码器的最高速率为6.25 Gbit/s,假设带宽信用记忆时间为1 ms,若以字为单位进行带宽信用的计算,则带宽信用的数据宽度需满足WC≥18 bit,已用带宽和可用带宽的数据宽度与WC相同。因此,若直接按式(1)计算会引入大位宽的加法和乘法,带来大量的计算资源消耗。此外,带宽信用、可用带宽和已用带宽不一定同时达饱和态,所以此方法不易处理带宽信用达带宽信用限制的情况。
4增量化计算介质访问控制子系统架构
Fig.4MAC architecture based on incremental calculation
针对上述问题,本文提出基于帧累计的增量化带宽信用计算方法。由式(1)推导得:经过MAC仲裁获得数据发送权的VCi和未被调度的虚拟通道的带宽信用变化量ΔC如式(2)所示。该方法对虚拟通道发送的数据帧而非数据字进行统计,将带宽信用的位宽WC减少了33%。带宽信用计算模块更新带宽信用时,仅需在现有数值的基础上增加ΔC。可见,帧累计增量化计算方法有效避免了大位宽加法操作,消除了乘法操作,仅需处理带宽信用的饱和态,简化了带宽信用的更新流程,减少了计算电路的冗余设计。
ΔCSch=1-Ni-1ΔCUnSch=1
(2)
图5n路基于帧累计的增量化计算基本单元,该结构中各虚拟通道根据预留带宽计算带宽信用变化量。虚拟通道发送使能信号用于选择变化量,当其为0时选择ΔCUnSch进行后续操作,为1时选择ΔCSch。该结构具有逻辑简单、占用资源较少、易于扩展等特点。
5基于帧累计的增量化带宽信用计算单元
Fig.5Incremental bandwidth credit computing unit based on frame accumulation
为保证带宽分配的合理性,若带宽信用超出限制阈值,则相应优先级优先权暂为0。帧累计方案通过降低WC,降低了带宽信用与带宽信用阈值比较电路的复杂度。
各虚拟通道拥有相应的调度表,表中记录的是本虚拟通道在各时隙是否被允许调度。当同一时隙中被允许的多条VC共同请求发送数据时,调度模块需根据优先权大小仲裁数据发送权。其中,优先权为优先级优先权和带宽信用之和。随着WC降低,优先权位宽也减少,因此以帧为单位的计算方法为调度模块的高效仲裁打下了基础。
在保证运算结果正确的情况下,增量化计算简化了带宽信用的计算逻辑,有利于提升计算效率。帧累计方法实现了面向资源优化的带宽信用更新、带宽信用比较和优先权比较,进一步减少了电路面积。
2.2 基于流水线技术的错误检测子系统
错误检测子系统接收到的字可以分为数据帧、广播帧和空闲帧三种非单字帧,以及流量控制字FCT、错误恢复控制字FULL/RETRY和反馈信息字ACK/NACK共六种。在接收到数据后,错误检测子系统需要根据序列号和循环冗余校验字段进行错误检测操作。若等待某帧错误检测完毕再对下一个字进行校验,会引入较大的处理延时,导致错误检测子系统不能在当前速率下对数据进行有效解析。为解决上述问题,在充分考虑数据处理速度的基础上,本文提出基于流水线的错误检测子系统,该子系统架构如图6所示。
一旦通道层向数据链路层的接收端传递字,该架构会立即开始字的流水化错误检测操作。整个流水线共分为解复用(demultiplexing,DEMUX)、解帧(unpack data frame,UNFRM)、解析(analysis,ANLS)和判断(judge,JU)四个步骤。解复用DEMUX步骤通过控制字标识字段对非单字帧和其他控制字进行分类。分类后的非单字帧通过解帧UNFRM被分隔为广播帧、数据帧和空闲帧三种类型。错误检测系统为顺序系统,为了保证接收序列号更新行为的正确性,需要在解帧步骤中对FULL/FCT进行保持操作。解析ANLS用于广播帧、数据帧、空闲帧和其他控制字的序列号检查和循环冗余校验。判断JU根据解析结果判读当前帧或控制字是否有效。
考虑到硬件开销,图6中的ACK/NACK、FCT和FULL控制字共享同一8 bit CRC解析模块,该模块的重复利用有效降低了错误检测电路的面积。由于CRC生成式和帧结构不同,数据帧解析、广播帧解析、空闲帧解析模块各自包含CRC解析和序列号解析模块。
6基于流水线技术的错误检测子系统架构
Fig.6Subsystem architecture of error detection based on pipeline technology
当反馈信息的循环冗余校验无误,且其序列号的极性等于发送序列号的极性PTX时,则认为反馈信息为有效。
与反馈信息不同,非单字帧、FCT和FULL的校验只与接收端有关,且整个数据处理都是单向的,所以可进行流水线操作。当数据帧、广播帧、流控字的CRC正确且所包含的序列号满足式(3)时,则认为当前帧或字有效。此时接收序列号SNCRX做递增处理,以备后续字的正确接收。
PFR=PRXSNCFR=SNCRX+1
(3)
式中,PFR为非单字帧的序列号极性,SNCFR为非单字帧的序列号计数值。
当FULL/SIF控制字的循环冗余校验正确且所携带的序列号满足式(4)时,则认为有效。
PFS=PRXSNCFS=SNCRX
(4)
式中,PFS为FULL/SIF控制字的序列号极性,SNCFS为其序列号计数值。
使用流水线技术对错误检测过程进行优化,保证了错误检测操作的连续性,提高了系统的运行频率,可支持多种接收速率。循环冗余校验模块的重复利用,减少了系统的电路面积,平衡了错误检测子系统硬件资源的使用。
2.3 基于轻量化确认重传算法的错误恢复子系统
相比SpaceWire等中低速网络,SpaceFibre星载数据网络拥有更快的速率[15-16],但也面临越来越严重的可靠性挑战。该协议采用确认重传算法[5]避免数据的丢失。未经优化的错误重传架构保留恢复的开销较大,因此需要设计高效的容错架构,有效保证系统运行效率的同时不带来巨大硬件开销。本文提出了图7所示的基于轻量化确认重传算法的错误恢复子系统,该子系统可在保证错误恢复功能的基础上,严格控制错误恢复引入的资源成本。
现有的错误恢复控制解决方案在数据帧、广播帧和流控字备份的删除或者重发过程中无法响应反馈信息,造成反馈信息的漏应答,对反馈信息的处理具有不完整性,不能及时清理备份数据,进而引起错误恢复缓冲区的溢出。
为克服上述技术缺陷,错误恢复子系统采用基于完整应答的双层控制策略。错误恢复控制模块为第一层,主要负责响应正确接收的反馈信息;第二层由数据帧错误恢复控制、广播帧错误恢复控制和流控字错误恢复控制模块共同组成,主要用于删除和重发流程。当错误恢复控制模块处于反馈处理状态时,未被处理的反馈信息会暂存到反馈信息寄存器中。错误恢复控制模块若检测到存在未处理的反馈信息,则进入相应的反馈处理状态。基于完整应答的双层控制策略简化了控制逻辑,可保证缓冲区的非满状态,进而保证系统的稳定运行。
7轻量化错误恢复子系统架构
Fig.7Lightweight error recovery subsystem architecture
为降低确认重传算法的硬件实现资源,第二层控制策略采用轻量化错误恢复控制状态机,以图8所示的数据帧错误恢复控制状态机为例进行说明。该状态机可使用较少的工作状态完成基本的反馈信息处理操作,控制逻辑较简单,占用面积较小,保证了错误恢复子系统的轻量化。当接收到错误恢复控制模块的使能信号EnFsm时,该状态机进入判断态。在判断态,若帧尾错误恢复缓冲区中的首个序列号小于反馈信息序列号RxSeqAns,则状态机进入删除态。在删除态,该模块删除相应的数据帧和帧尾。当数据帧错误缓冲区中读取出EDF时,状态机从删除态再次进入判断态。若该缓冲区非空且错误恢复控制模块处于NACK处理态,状态机进入重发态并向错误恢复控制模块反馈ReSdDat信号。在重发态,数据帧错误恢复控制模块向数据帧生成模块发出数据帧重发请求。数据帧生成模块通过读使能信号EnRdDBuf_i读取需要重发的数据帧。
8轻量化数据帧错误恢复控制状态机
Fig.8Error recovery finite-state machine for data frame
错误恢复子系统采用面向资源优化的轻量化存储架构。图7中数据帧错误恢复FIFO缓冲区用于备份数据帧生成模块输出的数据帧,其存储宽度为数据字宽度wD。为了降低数据备份带来的硬件开销,数据帧尾错误恢复缓冲区仅存储帧尾EDF中的无符号序列号,该缓冲区存储宽度wEDF仅为7 bit。由协议的分析可知,广播帧错误恢复存储格式与数据帧错误恢复类似。单通道流控字的存储结构可简化为仅备份虚拟通道号和无符号序列号。假设数据帧错误恢复缓冲区的深度为dD=2mm≥6,mN),用于数据帧尾错误恢复缓冲区的深度为dEDF=2nnN+);广播帧错误恢复缓冲FIFO的深度为dBC=2ppN+),广播帧尾错误恢复缓冲区深度为dEBF=2qqN);流控字错误恢复缓冲FIFO的深度为dFCT=2kkN+)。则在相同深度的情况下,轻量级存储结构共节省存储区域S大小如式(5)所示,存储深度越大,该结构优势越明显。
S=(2+m)2n+(2+p)2q+23×2k
(5)
基于完整应答的双层控制策略提升了系统的可靠性,简化了控制逻辑的复杂度,进而降低了资源的消耗。面向资源优化的轻量化存储架构,降低了数据备份的存储资源占用。
3 系统测试与验证
3.1 系统功能验证
在两块型号为XC7Z100FFG900-2的现场可编程门阵列(field programmable gate array,FPGA)上分别例化包含四条虚拟通道的优化节点系统以搭建双节点板级验证平台,如图9所示。单一节点板级验证平台由数据生成器、广播消息生成器、错误注入器、参数配置器、状态记录器、集成逻辑分析仪(integrated logic analyzer,ILA)和节点系统组成。不同节点系统之间使用单条光纤链路进行全双工通信,物理链路速率分别配置为协议规范[5]中的1 Gbit/s、1.25 Gbit/s、2 Gbit/s、2.5 Gbit/s、3.125 Gbit/s、5 Gbit/s和6.25 Gbit/s共七种。
9系统板级验证平台
Fig.9Verification platform of the system board
3.1.1 介质访问控制子系统验证
验证过程中VC0至VC3的优先级分别为R0=3、R1=2、R2=1和R3=0,预留带宽均为25%,带宽信用限制为977帧。除时隙6为十六进制E,时隙0至时隙63均为十六进制F。
图10所示为集成逻辑分析仪抓取的介质访问控制子系统波形图,测试过程中向VC0和VC1中注入数据包。图10(a)中允许任意VC参与调度。数据包注入后,MAC选择优先权最大的VC0进行数据发送并从输出虚拟通道0缓冲区中读取数据包内容。同时,MAC根据式(2)更新各虚拟通道的带宽信用。带宽信用阈值为带宽信用限制的90%,图10(b)中VC0带宽信用达到带宽信用阈值,该虚拟通道的优先级优先权暂时为0,MAC选择优先权较大的VC1进行数据发送并从输出虚拟通道1缓冲区中读取数据包。图10(c)中允许除VC0外的其他虚拟通道参与调度。数据包注入后,虽然虚拟通道0的优先权最大,但是其被禁止发送数据,因此MAC从输出虚拟通道1缓冲区读取数据包。图10(d)中,VC1带宽信用达到带宽信用阈值,其优先级优先权暂时为0,但此时VC0被禁止调度,因此MAC仲裁结果仍为VC1。可见,介质访问子系统实现了优先级、预留带宽和调度三种服务质量。
3.1.2 错误检测子系统验证
图11所示为错误检测子系统ILA波形图,图中包含该子系统中流水线各级的输出结果:解复用DEMUX步骤对FCT控制字、NACK控制字和非单字帧进行分类;分类后的非单字帧通过解帧UNFRM步骤被分隔为数据帧;根据解析ANLS步骤的序列号检查和循环冗余校验的结果,判断JU步骤判读数据帧、FCT和ACK的有效性。因此,错误检测子系统可以判断接收数据的正确性,及时检测错误的发生。
10MAC子系统ILA波形
Fig.10ILA waveform of subsystem MAC
11错误检测子系统ILA波形
Fig.11ILA waveform of error detection subsystem
3.1.3 错误恢复子系统验证
图12所示为双层控制策略ILA波形图,该图中处于ACK处理态的错误恢复控制结合第二层控制策略删除相应的数据帧、FCT控制字和广播帧。当接收到新的有效ACK时,错误恢复控制待当前ACK处理完毕后,重新进入ACK处理态以删除相应的FCT控制字。可见,基于完整应答的双层控制策略可以避免反馈信息的漏应答,及时删除相应的备份数据。
图13为ILA抓取的板级验证错误恢复子系统波形图,图13(a)为错误注入远端,图13(b)为近端。图13(a)中,错误注入方发送NACK向远端表明远端最后正确接收的序列号为E9。图13(b)中,近端错误检测子系统置位NACK接收有效信号。近端经过错误恢复控制后发出RETRY信号,向远端表明即将开始重发操作。通过图13(b)可以看到,数据帧生成模块开始使用来自数据帧错误恢复缓冲区中的备份数据。通过图13(a)可知,错误注入远端的错误检测子系统置位RETRY接收有效信号后的一段时间内,接收序列号开始递增,表明错误恢复过程完成。因此,错误恢复子系统可保证错误恢复功能。
12双层控制策略ILA波形
Fig.12ILA waveform of double layer control strategy
13错误恢复ILA波形
Fig.13ILA waveform of error recovery
3.1.4 系统可靠性验证
节点传输系统的测试通过以下五方面来确保数据的可靠、有序和无误传输:数据生成器产生的自测数据包以包为单位进行连续计数;数据生成器产生的自测数据包存在以包为单位的校验和;错误检测子系统包含以帧为单位的序列号;错误检测子系统包含以帧为单位的校验和;错误检测子系统自动丢弃错误数据。
验证过程中,状态记录器对序列号错误和循环冗余校验错误分别计数,并分别记录FULL、FCT、反馈信息、数据帧、广播帧和空闲帧的序列号和循环冗余校验错误,图14为状态记录器中的错误记录ILA波形。观察可知:在接收序列号长时间不断递增的情况下,各错误记录的计数值均为0,说明该节点系统具有一定的稳定性。
14错误记录ILA波形
Fig.14ILA waveform of error record
3.2 系统性能验证
为验证系统性能,将本文提出的优化节点系统与现有设计方案进行对比评估,评估结果如表1所示。表1中,优化节点系统的工作频率最高,可达200 MHz,可支持6.25 Gbit/s的传输速率,这主要得益于合理的流水线设计。为比较各方案在不同器件平台上的性能,表1基于文献[13]将其他各方案的查找表资源和寄存器资源进行归一化处理。由表1可知:相比文献[13],文献[7]的查找表资源归一化比例为0.56,但寄存器比例为1.88,说明其查找表资源优势较大,但寄存器资源显著增加;文献[14]查找表和寄存器归一化比例分别为1.04和1.73,说明其查找表和寄存器资源均有所增加;文献[11]查找表资源比例为0.86,寄存器占用资源归一化比例为0.63,其查找表和寄存器资源占用均降低。相比文献[13],优化节点系统的查找表资源归一化比例为0.59,寄存器资源比例为1.06,其查找表资源显著降低,寄存器资源占用相近。表1中总存储器资源分为虚拟通道缓冲区存储和内部存储资源两类:VC缓冲区存储为外部设备与节点系统的数据交换缓存;内部存储资源为节点系统内部逻辑,与节点系统的设计方案紧密相关。从表1中可知,文献[11]中的内部存储资源归一化比例为0.71,优化节点系统的比例为0.45。因此,采用优化技术的节点系统的电路面积同样具有优势。
1四虚拟通道节点硬件实现评估
Tab.1 Evaluation of the node with four VCs on hardware
4 结论
面向空间应用的SpaceFibre技术具有超高速、高可靠和低面积的传输需求,为此本文提出了一种采用优化技术的自主化SpaceFibre节点传输系统,该系统中的关键优化子系统为介质访问控制子系统、错误检测子系统和错误恢复子系统。介质访问控制子系统采用增量化计算简化了计算逻辑,通过帧累计方法进一步优化了电路面积。错误检测子系统使用流水线技术,提高了系统的运行频率;循环冗余校验模块的重复利用,减少了系统的硬件资源消耗。错误恢复子系统通过基于完整应答的双层控制策略提升了系统的可靠性,且简化了控制逻辑的复杂度;轻量化的存储架构和控制状态机实现了确认重传算法的简化。经板级验证,本系统符合协议规范且具有一定的稳定性,与相同平台的同类设计方案相比,最大时钟频率提高1.5倍,查找表资源占用率下降40.9%,存储资源占用下降54.2%,寄存器资源相近。
1单通道节点数据帧格式
Fig.1Data frame format for a single lane node
2单通道节点空闲帧格式
Fig.2Idle frame format for a single lane node
3SpaceFibre节点系统架构
Fig.3Architecture of the system of SpaceFibre node
4增量化计算介质访问控制子系统架构
Fig.4MAC architecture based on incremental calculation
5基于帧累计的增量化带宽信用计算单元
Fig.5Incremental bandwidth credit computing unit based on frame accumulation
6基于流水线技术的错误检测子系统架构
Fig.6Subsystem architecture of error detection based on pipeline technology
7轻量化错误恢复子系统架构
Fig.7Lightweight error recovery subsystem architecture
8轻量化数据帧错误恢复控制状态机
Fig.8Error recovery finite-state machine for data frame
9系统板级验证平台
Fig.9Verification platform of the system board
10MAC子系统ILA波形
Fig.10ILA waveform of subsystem MAC
11错误检测子系统ILA波形
Fig.11ILA waveform of error detection subsystem
12双层控制策略ILA波形
Fig.12ILA waveform of double layer control strategy
13错误恢复ILA波形
Fig.13ILA waveform of error recovery
14错误记录ILA波形
Fig.14ILA waveform of error record
1四虚拟通道节点硬件实现评估
DONCKELS J R, LOVELLY T M, MEE J K. Comparing data processing and transmission scenarios for spacecraft[C]//Proceedings of the IEEE Space Computing Conference(SCC),2021:95-99.
吕良庆, 安军社.1553B总线即插即用解决方案[J]. 国防科技大学学报,2019,41(2):82-90. LYU L Q, AN J S. Plug and play resolution on 1553B data bus[J]. Journal of National University of Defense Technology,2019,41(2):82-90.(in Chinese)
李国军, 苏晨光, 李志刚, 等. 一种改进的星载CAN总线时间同步方法[J]. 西北工业大学学报,2020,38(增刊1):102-106. LI G J, SU C G, LI Z G,et al. An improved time synchronization method for spaceborne CAN bus[J]. Journal of Northwestern Polytechnical University,2020,38(Suppl 1):102-106.(in Chinese)
姜宏, 杨孟飞, 刘波, 等. 高速SpaceWire协议IP的可靠性增强方法[J]. 宇航学报,2019,40(9):1071-1079. JIANG H, YANG M F, LIU B,et al. Dependability enhancement method for high-speed SpaceWire protocol IP[J]. Journal of Astronautics,2019,40(9):1071-1079.(in Chinese)
ECSS. Space engineering: SpaceFibre,very high-speed serial link: ECSS-E-ST-50-11C[S]. Noordwijk: ESAESTEC Requirements & Standards Division,2019.
PARKES S, MCCLEMENTS C, McLAREN D,et al. SpaceWire and SpaceFibre on the Microsemi RTG4 FPGA[C]//Proceedings of the IEEE Aerospace Conference,2016:1-8.
PARKES S, MCCLEMENTS C, MCLAREN D,et al. SpaceFibre networks: SpaceFibre,long paper[C]//Proceedings of the International SpaceWire Conference,2016:1-6.
FLORIT A F, VILLAFRANCA A G, PARKES S,et al. SpaceFibre interface and routing switch IP cores[C]//Proceedings of International SpaceWire Conference,2018.
VILLAFRANCA A G, FERRER A, McLAREN D,et al. VHiSSI:experimental SpaceFibre ASIC[C]//Proceedings of Data Systems In Aerospace Conference,2015.
JUNGEWELTER D, COZZI D, KLEIBRINK D,et al. AXI-based SpaceFibre IP core implementation[C]//Proceedings of the International SpaceWire Conference(SpaceWire),2014:1-6.
SIEGLE F, HABINC S, BOTH J. SpaceFibre Port IP Core(GRSPFI): SpaceFibre,poster paper[C]//Proceedings of the International SpaceWire Conference(SpaceWire),2016:1-5.
DINELLI G, NANNIPIERI P, DAVALLE D,et al. Design of a reduced SpaceFibre interface:an enabling technology for low-cost spacecraft high-speed data-handling[J]. Aerospace,2019,6(9):101.
NANNIPIERI P, DINELLI G, MARINO A,et al. A serial high-speed satellite communication CODEC:design and implementation of a SpaceFibre interface[J]. Acta Astronautica,2020,169:206-215.
祝平, 朱岩, 安军社, 等. 高速SpaceFibre总线节点的系统设计[J]. 国防科技大学学报,2021,43(5):117-126. ZHU P, ZHU Y, AN J S,et al. System design of high-speed SpaceFibre node[J]. Journal of National University of Defense Technology,2021,43(5):117-126.(in Chinese)
姚睿, 王梅群, 吴军, 等. 使用FPGA设计高可靠SpaceWire路由器[J]. 国防科技大学学报,2019,41(4):86-93. YAO R, WANG M Q, WU J,et al. Design of highly reliable SpaceWire routers based on FPGA[J]. Journal of National University of Defense Technology,2019,41(4):86-93.(in Chinese)
DINELLI G, NANNIPIERI P, MARINO A,et al. The very high-speed SpaceFibre multi-lane CoDec:implementation and experimental performance evaluation[J]. Acta Astronautica,2021,179:462-470.