CN117176660A - 基于fpga实现优化tsn帧抢占ip核的系统及方法 - Google Patents
基于fpga实现优化tsn帧抢占ip核的系统及方法 Download PDFInfo
- Publication number
- CN117176660A CN117176660A CN202311129866.8A CN202311129866A CN117176660A CN 117176660 A CN117176660 A CN 117176660A CN 202311129866 A CN202311129866 A CN 202311129866A CN 117176660 A CN117176660 A CN 117176660A
- Authority
- CN
- China
- Prior art keywords
- frame
- pmac
- preemption
- emac
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 62
- 238000007493 shaping process Methods 0.000 claims abstract description 36
- 230000006870 function Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 19
- 239000012634 fragment Substances 0.000 claims description 15
- 230000008521 reorganization Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000011946 reduction process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于FPGA实现优化TSN帧抢占IP核的系统包括:信用流量整形IP核,用于接收流量数据并基于流量数据的优先级将流量数据放入不同优先级的队列中;帧抢占调度模块,接收信用流量整形IP核发送的流量数据并向信用流量整形IP核发送调度策略切换反馈信号,可在帧抢占条件不满足的情况下,通过CBS算法为每个流量传输队列设置固定的信用值参数从而降低由长度较长的标准以太网帧或超大可抢占帧引起的高速帧延迟的问题,以及高速帧与可抢占帧的共网传输。本发明基于FPGA实现帧抢占MAC合并子层的逻辑功能,在硬件电路上实现稳定可靠的数据传输。在满足帧抢占条件时,可正常执行帧抢占流量调度功能,进而达到帧抢占功能与信用值流量整形功能的灵活切换。
Description
技术领域
本发明属于工业互联网技术领域,尤其涉及一种基于FPGA实现优化TSN帧抢占IP核的系统及方法。
背景技术
随着网络技术的发展,互联网已广泛应用于工业控制当中。工业互联网要求数据在传输过程中具有更低的延时、更小的抖动以及更低的丢包率和错包率。时间敏感网络(Time Sensitive Network,TSN)为工业互联网的实时可靠性传输提供重要的网络服务质量(Quality of Service,QoS)保障。在时间敏感网络中,流量调度具有重要的地位,其中,IEEE Std 802.1Qbu协议以及IEEE 802.3br协议定义的帧抢占技术保证eMAC帧可以中断标准以太网帧或超大帧的传输,避免超大帧传输对eMAC帧造成较大的阻塞。
但是,在帧抢占条件不满足的情况下,由长度较长的标准以太网帧或超大可抢占帧引起的高速帧延迟的问题有待进一步解决。
发明内容
为解决上述问题,本发明的目的是提供了一种基于FPGA实现优化TSN帧抢占IP核的系统及方法,核心是基于FPGA实现TSN帧抢占IP核,并且在通讯节点不满足帧抢占条件时,通过CBS算法(Credit Based Shaper,信用值流量整形算法)为每个流量传输队列(流量队列具备优先级)设置固定的信用值参数(即固定的带宽分配),进而保证在不满足帧抢占条件下高速帧的确定性传输,以及高速帧与可抢占帧的共网传输。同时,在满足帧抢占条件时,可正常执行由IEEE 802.1Qbu及IEEE 802.1br定义的帧抢占流量调度功能,进而达到帧抢占功能与信用值流量整形功能的灵活切换。
为实现上述目的,本发明的技术方案为:一种基于FPGA实现优化TSN帧抢占IP核的系统,基于现场可编程门阵列FPGA搭建,包括:信用流量整形IP核,用于接收流量数据并基于流量数据的优先级将流量数据放入不同优先级的队列中,经过所述信用流量整形IP核的流量数据被分配固定的传输带宽;帧抢占调度模块,接收所述信用流量整形IP核发送的流量数据并向所述信用流量整形IP核发送调度策略切换反馈信号;帧抢占调度模块包括MAC合并子层,所述MAC合并子层判断该节点是否支持帧抢占功能,在信用流量整形IP核后时间敏感数据帧和非时间敏感数据帧被映射为eMAC帧和pMAC帧,分别由eMAC通道和pMAC通道传输,所述流量数据包括时间敏感数据帧和非时间敏感数据帧,所述时间敏感数据帧的优先级高于所述非时间敏感数据帧;如果该节点支持帧抢占功能,当网络需要传输eMAC帧并且此时已开启帧抢占策略时,暂停pMAC通道的传输并切换至eMAC通道传输eMAC帧,实现正常的帧抢占调度功能;若未开启帧抢占策略或不满足帧抢占条件时,激活信用流量整形IP核,将eMAC帧和pMAC帧分配至不同的优先级队列,为每个队列分配相应的信用值,实现eMAC帧的确定性传输,降低由pMAC帧阻塞引起的eMAC帧的传输延迟。
优选的,所述MAC合并子层还包括流量识别模块、流量接收控制模块、流量调度策略切换模块、流量发送控制模块;所述流量识别模块对所述流量数据的帧头进行识别,当识别到SMD-E则将该流量数据通过接收控制模块传递至eMAC通道,否则通过接收控制模块传递至pMAC通道进行传输;所述流量接收控制模块用于对pMAC切片帧进行还原、pMAC帧、eMAC帧的传输以及帧抢占验证帧的传输;所述流量调度策略切换模块接收来自流量接收控制模块的帧抢占验证帧,并将验证结果通过帧抢占开启使能信号Frame_Prp_en反馈至流量发送控制模块用于开启帧抢占调度策略,并将所述使能信号Frame_Prp_en发送给所述信用流量整形IP核;所述流量发送控制模块用于对pMAC帧的切片、pMAC帧、eMAC帧进行传输控制。
优选的,所述帧抢占调度模块包括eMAC通道和pMAC通道,所述eMAC通道发送请求信号Tx_eMAC_Request至pMAC通道请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,由eMAC传输快速帧;所述pMAC通道将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS。
优选的,所述流量接收控制模块采用二级帧校验方法对接收的数据帧进行校验:当接收到流量数据时,首先直接进行CRC校验,并设定CRC_CHK_ERR信号用于指示帧校验的正确性,若帧校验错误,则信号置为高电平,否则为低电平;设置mCRC_CHK_ERR信号用于校验pMAC切片帧的正确性,若帧校验错误,则信号置为高电平,否则为低电平。
优选的,所述流量接收控制模块根据SMD-E、SMD-Sx、SMD-Cx判断接收的流量数据的帧类型,如果是完整的数据帧则直接透传至eMAC通道或pMAC通道或流量调度策略切换模块,否则将进行帧重组还原操作;帧重组还原过程为:将具有连续的帧定界符和连续的片段计数的mPacket帧组成完整的pMAC帧,并进行传输;如果mPacket帧非连续,则将该部分mPacket帧丢弃。
优选的,所述流量调度策略切换模块接收来自流量发送控制模块的预抢占使能信号Pre_Frame_Prp_en,用于判断帧是否满足可被抢占的条件,若该信号为高,则发生抢占,否则抢占条件不满足;帧抢占开启使能信号Frame_Prp_en以及预抢占使能信号Pre_Frame_Prp_en只要有一方为低电平,则流量调度策略切换模块将会产生调度策略切换信号Mode_Switch反馈至信用流量整形IP核,用于开启信用值流量调度策略。
优选的,所述流量发送控制模块接收来自流量调度策略切换模块的帧抢占开启使能信号Frame_Prp_en,若该信号为高电平,则表示可开启帧抢占调度策略,否则为低电平,不可开启帧抢占调度策略。
优选的,所述流量识别模块将优先级最高的流量数据经过IEEE 802.1br协议标准中定义的eMAC层封装为eMAC帧,将除最高优先级外的流量数据经过pMAC层封装为pMAC帧,具体的封装方法为:将优先级最高的流量数据头部第8个字节替换为SMD-E,将除最高优先级外的流量数据头部第8个字节替换为SMD-Sx的为pMAC帧,其中eMAC帧的SMD-E值与SFD值相同,都是0xd5。
基于相同的构思,本发明还提供一种基于FPGA实现优化TSN帧抢占IP核的方法,应用于上述任意一项所述的系统,包括如下步骤:接收流量数据,判断当前节点是否支持帧抢占功能以及当前调度策略,并向信用流量整形IP核发送调度策略切换反馈信号;当所述当前调度策略为帧抢占流量调度策略时,将优先级最高的流量数据经过IEEE 802.1br协议标准中定义的eMAC层封装为eMAC帧,将除最高优先级外的流量数据经过pMAC层封装为pMAC帧;基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输。
优选的,基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输进一步包括:所述eMAC通道发送请求信号Tx_eMAC_Request至pMAC通道请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,仅保留eMAC通道对eMAC帧的传输;所述pMAC通道将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS。
基于相同的构思,本发明还提供一种电子设备,包括:存储器,所述存储器用于存储处理程序;处理器,所述处理器执行所述处理程序时实现上述任意一项所述的基于FPGA实现优化TSN帧抢占IP核的方法。
基于相同的构思,本发明还提供一种可读存储介质,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现上述任意一项所述的基于FPGA实现优化TSN帧抢占IP核的方法。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
1、通过本发明,可在帧抢占条件不满足的情况下,通过CBS算法(Credit BasedShaper,信用值流量整形算法)为每个流量传输队列(流量队列具备优先级)设置固定的信用值参数(即固定的带宽分配)从而降低由长度较长的标准以太网帧或超大可抢占帧引起的高速帧延迟的问题,以及高速帧与可抢占帧的共网传输。
2、本发明的技术方案中的MAC合并子层通过对流量数据进行帧类型识别、是否支持抢占判断、eMAC帧和pMAC帧封装以及将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS,从而高效自动实现帧抢占功能,并且在eMAC帧抢占传输完成之后,自动恢复对pMAC帧的传输。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明,其中:
图1为本发明基于FPGA实现优化TSN帧抢占IP核的系统的框图;
图2为本发明基于FPGA的MAC合并子层框图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
第一实施例
如图1所示,示出了基于FPGA实现优化TSN帧抢占IP核的系统的框图,基于现场可编程门阵列FPGA搭建,包括:信用流量整形IP核,用于接收流量数据并基于流量数据的优先级将流量数据放入不同优先级的队列中,经过所述信用流量整形IP核的流量数据被分配固定的传输带宽;帧抢占调度模块,接收所述信用流量整形IP核发送的流量数据并向所述信用流量整形IP核发送调度策略切换反馈信号;帧抢占调度模块包括MAC合并子层,所述MAC合并子层判断该节点是否支持帧抢占功能,在信用流量整形IP核后时间敏感数据帧和非时间敏感数据帧被映射为eMAC帧和pMAC帧,分别由eMAC通道和pMAC通道传输,所述流量数据包括时间敏感数据帧和非时间敏感数据帧,所述时间敏感数据帧的优先级高于所述非时间敏感数据帧;如果该节点支持帧抢占功能,当网络需要传输eMAC帧并且此时已开启帧抢占策略时,暂停pMAC通道的传输并切换至eMAC通道传输eMAC帧,实现正常的帧抢占调度功能;若未开启帧抢占策略或不满足帧抢占条件时,激活信用流量整形IP核,将eMAC帧和pMAC帧分配至不同的优先级队列,为每个队列分配相应的信用值,实现eMAC帧的确定性传输,降低由pMAC帧阻塞引起的eMAC帧的传输延迟。
参见图2,示出了基于FPGA的MAC合并子层框图,所述MAC合并子层还包括流量识别模块、流量接收控制模块、流量调度策略切换模块、流量发送控制模块;
所述流量识别模块对所述流量数据的帧头进行识别,当识别到SMD-E则将该流量数据通过接收控制模块传递至eMAC通道,否则通过接收控制模块传递至pMAC通道进行传输;
所述流量接收控制模块用于对pMAC切片帧进行还原、pMAC帧、eMAC帧的传输以及帧抢占验证帧的传输;
所述流量调度策略切换模块接收来自流量接收控制模块的帧抢占验证帧,并将验证结果通过帧抢占开启使能信号Frame_Prp_en反馈至流量发送控制模块用于开启帧抢占调度策略,并将所述使能信号Frame_Prp_en发送给所述信用流量整形IP核;
所述流量发送控制模块用于对pMAC帧的切片、pMAC帧、eMAC帧进行传输控制。
流量首先会经过信用流量整形IP核,在IP核中会根据流量的优先级类型将流量放入不同优先级的队列中,其中优先级由7-0依次减小。该IP核的具体功能及实现方法可参考专利一种时间敏感网络中信用值流量调度系统及方法(申请号:CN202310146107.6)。经过IP核后的流量将会被分配固定的传输带宽,因此该类流量的传输延迟也将确定。流量经过IP核处理后将进入帧抢占调度,需要说明的是本发明的帧抢占调度功能也完全基于FPGA实现。在MAC合并子层中的帧抢占验证模块将判断该节点是否支持帧抢占功能,判断的条件为每次发送的数据帧需要满足最小帧长,即64Bytes(包括校验字段),包括经过切片的数据帧,满足该条件后可开启帧抢占策略。开启帧抢占策略后时间敏感数据帧将被映射为eMAC帧和pMAC帧,分别由eMAC层和pMAC层传输,其中eMAC层传输快速帧(eMAC帧),pMAC层传输可抢占帧(pMAC帧)。当网络需要传输快速帧并且此时已开启帧抢占策略,将暂停pMAC通道的传输并切换至eMAC通道传输快速帧,实现正常的帧抢占调度功能;若未开启帧抢占策略或不满足帧抢占条件,则激活信用值流量调度策略,将快速帧和可抢占帧分配至不同的优先级队列,为每个队列分配相应的信用值(带宽),实现快速帧的确定性传输,降低由低速帧阻塞引起的高速帧的传输延迟。具体的技术步骤如下所述:
步骤一:收到来自流量调度策略切换模块反馈的调度策略切换信号Mode_Switch,启用信用流量整形算法IP核。根据流量的优先级将不同的流量分配至相应的队列,为每个队列配置信用值参数,即分配带宽。具体步骤如下所述:
(1)根据数据帧的发送周期和大小计算出每个队列的信用值参数。
(2)根据队列中的最大干扰帧长和所传输的最大帧长度计算出约束队列上下界的信用值hiCredit与loCredit。
这些参数可由用户在前期根据相应的应用场景进行配置,在不满足帧抢占条件时启用。
具体的,信用值计算公式为:
式中CMI为数据帧的发送周期,即类测量间隔,reservedBytes为发送数据帧的bit数;
在计算出每个队列的信用值idleSlope之后,代表每个队列的信用值Credit消耗减少速率的消耗参数sendSlope的计算过程为:
sendSlopeN=idleSlopeN-portTransmitRate
式中portTransmitRate为端口传输速率。
配置每个队列的最高信用值hiCredit与最低信用值loCredit,用于设置上下界约束队列所能承载的最大数据帧以及所能传输的最大帧长,其中最高信用值hiCredit由队列中最大干扰帧长决定,loCredit由队列中所传输的最大帧长度决定,具体为:
其中,maxInterference为队列的最大干扰帧长,maxFrameSize为队列中所传输的最大帧长度。
在两种情况下将不满足帧抢占调度策略,一是链路经过帧抢占验证帧后不支持帧抢占功能,二是可抢占帧不满足被抢占的最小帧长即64Bytes。在两种情况下高速帧将会在低速帧传输完毕后才开始传输,使高速帧的传输处于一个不确定的过程。因此在这种情况下启用该IP核,可对高速帧及低速帧分配固定的带宽,且通过严格优先级算法可达到优先级高的帧先传输的目的。
通过本发明,可在帧抢占条件不满足的情况下,通过CBS算法(Credit BasedShaper,信用值流量整形算法)为每个流量传输队列(流量队列具备优先级)设置固定的信用值参数(即固定的带宽分配)从而降低由长度较长的标准以太网帧或超大可抢占帧引起的高速帧延迟的问题,以及高速帧与可抢占帧的共网传输。
步骤二:将优先级最高的帧经过IEEE 802.1br协议标准中定义的eMAC层封装为快速帧,将除最高优先级外的帧经过pMAC层封装为可抢占帧,具体的封装方法为:将帧头部第8个字节替换为SMD-E(SMD:Start mPacket Delimiter,mPacket帧起始定界符)的为快速帧,将帧头部第8个字节替换为SMD-Sx的为可抢占帧,其中快速帧的SMD-E值与SFD值相同,都是0xd5。
步骤三:由MAC合并子层中的流量调度策略切换模块完成调度模式的切换。该模块具备两个功能:一是验证链路是否支持帧抢占功能,二是通过上述判断后设定相对应的使能信号选择使能哪种调度策略。若满足帧抢占则执行步骤四进入帧抢占流量调度,否则切换至步骤一执行信用值流量调度策略。
步骤四:基于FPGA实现MAC合并子层帧抢占调度功能。如图2所示,示出了基于FPGA的MAC合并子层设计框图,MAC合并子层IP核主要包含以下几个子模块:流量发送控制模块、流量接收控制模块、流量调度策略切换模块、流量识别模块以及eMAC接口和pMAC接口。
流量识别模块会通过帧头的SMD-E和SMD-Sx将eMAC帧和pMAC帧进行过滤,若识别到SMD-E,则将快速帧传递至eMAC,否则传递至流量接收控制模块进行处理。
流量接收控制模块负责对pMAC切片帧的还原、pMAC帧、eMAC帧的传输以及帧抢占验证帧的传输。具体步骤如下:
(1)采用二级帧校验方法对接收的数据帧进行校验。当接收到数据帧时,首先直接进行CRC校验,并设定CRC_CHK_ERR信号用于指示帧校验的正确性。若帧校验错误,则信号置为高电平,否则为低电平。同时,设置mCRC_CHK_ERR信号用于切片帧校验的正确性,若帧校验错误,则信号置为高电平,否则为低电平。
(2)根据SMD-E、SMD-Sx、SMD-Cx判断接收数据帧的帧类型,若为完整的数据帧则直接透传至eMAC或pMAC或流量调度策略切换模块,否则将进行帧重组还原操作。
(3)帧重组还原过程。将具有连续的帧定界符和连续的片段计数的mPacket帧组成完整的可抢占帧,并进行传输。若非连续,则说明组成该可抢占分组的mPacket帧丢失,组帧错误,并将该部分mPacket帧丢弃。
流量发送控制模块负责对pMAC帧的切片、pMAC帧、eMAC帧的传输。具体步骤如下:
(1)接收来自流量调度策略切换模块的帧抢占开启使能信号Frame_Prp_en,若该信号为高电平,则表示可开启帧抢占调度策略,否则为低电平,不可开启帧抢占调度策略。
(2)快速帧发送。由eMAC发送请求信号Tx_eMAC_Request至pMAC请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,由eMAC传输快速帧。
(3)可抢占帧切片及发送。可抢占帧被切片为首帧、中间帧及尾帧,根据三种帧类型格式,可抢占帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧与中间帧进行相同的操作,唯一的区别为其尾部的校验值即为原帧类型的校验和FCS。在进行可抢占帧切片之前,必须先执行(2)判断pMAC帧是否具备可抢占的条件(即已发送的数据长度是否大于64Bytes,并且剩余可抢占分组的数据是否大于64Bytes)。
流量调度策略切换模块负责验证链路是否支持帧抢占功能以及设定相对应的使能信号选择使能哪种调度策略。该模块一方面接收来自流量接收控制模块的帧抢占验证帧,并将验证结果通过帧抢占开启使能信号Frame_Prp_en反馈至流量发送控制模块,用于开启帧抢占调度策略;另一方面接收来自流量发送控制模块的预抢占使能信号Pre_Frame_Prp_en,用于判断帧是否满足可被抢占的条件,若该信号为高,则发生抢占,否则抢占条件不满足。帧抢占开启使能信号Frame_Prp_en以及预抢占使能信号Pre_Frame_Prp_en只要有一方为低电平,则流量调度策略切换模块将会产生调度策略切换信号Mode_Switch反馈至信用流量整形IP核,用于开启信用值流量调度策略。
eMAC接口侧与pMAC接口侧分别传输快速帧和可抢占帧,考虑到流量较多的应用场景,为了避免流量溢出导致丢包等情况,在FPGA中使用双端口RAM分别对接收和发送的快速帧和可抢占帧进行缓存。
本发明基于FPGA实现帧抢占MAC合并子层的逻辑功能,在硬件电路上实现稳定可靠的数据传输。
另外,通过本发明,在满足帧抢占条件时,可正常执行由IEEE 802.1Qbu及IEEE802.1br定义的帧抢占流量调度功能,进而达到帧抢占功能与信用值流量整形功能的灵活切换。
第二实施例
基于相同的构思,本发明还提供一种基于FPGA实现优化TSN帧抢占IP核的方法,应用于上述任意一项所述的系统,包括如下步骤:接收流量数据,判断当前节点是否支持帧抢占功能以及当前调度策略,并向信用流量整形IP核发送调度策略切换反馈信号;当所述当前调度策略为帧抢占流量调度策略时,将优先级最高的流量数据经过IEEE 802.1br协议标准中定义的eMAC层封装为eMAC帧,将除最高优先级外的流量数据经过pMAC层封装为pMAC帧;基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输。
优选的,基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输进一步包括:所述eMAC通道发送请求信号Tx_eMAC_Request至pMAC通道请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,仅保留eMAC通道对eMAC帧的传输;所述pMAC通道将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS。
第三实施例
基于相同的构思,本发明还提供一种电子设备,其特征在于,包括:存储器,所述存储器用于存储处理程序;处理器,所述处理器执行所述处理程序时实现上述任意一项所述的基于FPGA实现优化TSN帧抢占IP核的方法。
基于相同的构思,本发明还提供一种可读存储介质,其特征在于,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现上述任意一项所述的基于FPGA实现优化TSN帧抢占IP核的方法。
基于FPGA实现优化TSN帧抢占IP核的方法如果以程序指令的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该计算机软件存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-onlymemory,ROM)、随机存取存储器(Random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述得方便和简洁,上述描述的系统及设备的具体执行的识别内容,可以参考前述方法实施例中的对应过程。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (10)
1.一种基于FPGA实现优化TSN帧抢占IP核的系统,基于现场可编程门阵列FPGA搭建,其特征在于,包括:信用流量整形IP核,用于接收流量数据并基于流量数据的优先级将流量数据放入不同优先级的队列中,经过所述信用流量整形IP核的流量数据被分配固定的传输带宽;
帧抢占调度模块,接收所述信用流量整形IP核发送的流量数据并向所述信用流量整形IP核发送调度策略切换反馈信号;帧抢占调度模块包括MAC合并子层,所述MAC合并子层判断该节点是否支持帧抢占功能,在信用流量整形IP核后时间敏感数据帧和非时间敏感数据帧被映射为eMAC帧和pMAC帧,分别由eMAC通道和pMAC通道传输,所述流量数据包括时间敏感数据帧和非时间敏感数据帧,所述时间敏感数据帧的优先级高于所述非时间敏感数据帧;
如果该节点支持帧抢占功能,当网络需要传输eMAC帧并且此时已开启帧抢占策略时,暂停pMAC通道的传输并切换至eMAC通道传输eMAC帧,实现正常的帧抢占调度功能;若未开启帧抢占策略或不满足帧抢占条件时,激活信用流量整形IP核,将eMAC帧和pMAC帧分配至不同的优先级队列,为每个队列分配相应的信用值,实现eMAC帧的确定性传输,降低由pMAC帧阻塞引起的eMAC帧的传输延迟。
2.根据权利要求1所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述MAC合并子层还包括流量识别模块、流量接收控制模块、流量调度策略切换模块、流量发送控制模块;
所述流量识别模块对所述流量数据的帧头进行识别,当识别到SMD-E则将该流量数据通过接收控制模块传递至eMAC通道,否则通过接收控制模块传递至pMAC通道进行传输;
所述流量接收控制模块用于对pMAC切片帧进行还原、pMAC帧、eMAC帧的传输以及帧抢占验证帧的传输;
所述流量调度策略切换模块接收来自流量接收控制模块的帧抢占验证帧,并将验证结果通过帧抢占开启使能信号Frame_Prp_en反馈至流量发送控制模块用于开启帧抢占调度策略,并将所述使能信号Frame_Prp_en发送给所述信用流量整形IP核;
所述流量发送控制模块用于对pMAC帧的切片、pMAC帧、eMAC帧进行传输控制。
3.根据权利要求2所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述帧抢占调度模块包括eMAC通道和pMAC通道,所述eMAC通道发送请求信号Tx_eMAC_Request至pMAC通道请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,由eMAC传输快速帧;
所述pMAC通道将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS。
4.根据权利要求2所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述流量接收控制模块采用二级帧校验方法对接收的数据帧进行校验:
当接收到流量数据时,首先直接进行CRC校验,并设定CRC_CHK_ERR信号用于指示帧校验的正确性,若帧校验错误,则信号置为高电平,否则为低电平;
设置mCRC_CHK_ERR信号用于校验pMAC切片帧的正确性,若帧校验错误,则信号置为高电平,否则为低电平。
5.根据权利要求4所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述流量接收控制模块根据SMD-E、SMD-Sx、SMD-Cx判断接收的流量数据的帧类型,如果是完整的数据帧则直接透传至eMAC通道或pMAC通道或流量调度策略切换模块,否则将进行帧重组还原操作;
帧重组还原过程为:将具有连续的帧定界符和连续的片段计数的mPacket帧组成完整的pMAC帧,并进行传输;如果mPacket帧非连续,则将该部分mPacket帧丢弃。
6.根据权利要求2所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述流量调度策略切换模块接收来自流量发送控制模块的预抢占使能信号Pre_Frame_Prp_en,用于判断帧是否满足可被抢占的条件,若该信号为高,则发生抢占,否则抢占条件不满足;帧抢占开启使能信号Frame_Prp_en以及预抢占使能信号Pre_Frame_Prp_en只要有一方为低电平,则流量调度策略切换模块将会产生调度策略切换信号Mode_Switch反馈至信用流量整形IP核,用于开启信用值流量调度策略。
7.根据权利要求2所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述流量发送控制模块接收来自流量调度策略切换模块的帧抢占开启使能信号Frame_Prp_en,若该信号为高电平,则表示可开启帧抢占调度策略,否则为低电平,不可开启帧抢占调度策略。
8.根据权利要求2所述的基于FPGA实现优化TSN帧抢占IP核的系统,其特征在于,所述流量识别模块将优先级最高的流量数据经过IEEE 802.1br协议标准中定义的eMAC层封装为eMAC帧,将除最高优先级外的流量数据经过pMAC层封装为pMAC帧,具体的封装方法为:
将优先级最高的流量数据头部第8个字节替换为SMD-E,将除最高优先级外的流量数据头部第8个字节替换为SMD-Sx的为pMAC帧,其中eMAC帧的SMD-E值与SFD值相同,都是0xd5。
9.一种基于FPGA实现优化TSN帧抢占IP核的方法,应用于权利要求1-权利要求8任意一项所述的系统,其特征在于,包括如下步骤:
接收流量数据,判断当前节点是否支持帧抢占功能以及当前调度策略,并向信用流量整形IP核发送调度策略切换反馈信号;
当所述当前调度策略为帧抢占流量调度策略时,将优先级最高的流量数据经过IEEE802.1 br协议标准中定义的eMAC层封装为eMAC帧,将除最高优先级外的流量数据经过pMAC层封装为pMAC帧;
基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输。
10.根据权利要求9所述的基于FPGA实现优化TSN帧抢占IP核的方法,其特征在于,基于预设程序使得eMAC通道对eMAC帧进行传输、pMAC通道对pMAC帧进行传输进一步包括:所述eMAC通道发送请求信号Tx_eMAC_Request至pMAC通道请求帧抢占,若eMAC收到pMAC的请求响应信号Tx_eMAC_Response,则暂停当前pMAC的传输,仅保留eMAC通道对eMAC帧的传输;
所述pMAC通道将pMAC帧切片为首帧、中间帧及尾帧,根据三种帧类型格式,pMAC帧经切片后首帧将在其尾部添加由mCRC生成器生成的mCRC校验值,并将头部的帧起始定界符替换为SMD-Sx;中间帧则将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt;尾帧先将头部的帧起始定界符替换为SMD-Cx,并在此之后添加帧的模4片段计数Frame_cnt,尾帧的尾部的校验值为原pMAC帧类型的校验和FCS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311129866.8A CN117176660A (zh) | 2023-09-04 | 2023-09-04 | 基于fpga实现优化tsn帧抢占ip核的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311129866.8A CN117176660A (zh) | 2023-09-04 | 2023-09-04 | 基于fpga实现优化tsn帧抢占ip核的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176660A true CN117176660A (zh) | 2023-12-05 |
Family
ID=88940609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311129866.8A Pending CN117176660A (zh) | 2023-09-04 | 2023-09-04 | 基于fpga实现优化tsn帧抢占ip核的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176660A (zh) |
-
2023
- 2023-09-04 CN CN202311129866.8A patent/CN117176660A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112688754B (zh) | 基于灵活以太网FlexE传输业务流的方法和装置 | |
US6026075A (en) | Flow control mechanism | |
US6198722B1 (en) | Flow control method for networks | |
US7697522B2 (en) | Systems and methods for aggregation of packets for transmission through a communications network | |
EP4024778A1 (en) | Method for determining required bandwidth for data stream transmission, and devices and system | |
US11968111B2 (en) | Packet scheduling method, scheduler, network device, and network system | |
CN110647071B (zh) | 一种控制数据传输的方法、装置及存储介质 | |
US11563521B2 (en) | Method and apparatus for port channelization at physical layer | |
WO2010099718A1 (zh) | 一种数据传输控制方法、装置及系统 | |
CN110943933A (zh) | 一种实现数据传输的方法、装置和系统 | |
US11425050B2 (en) | Method and apparatus for correcting a packet delay variation | |
CN115378874B (zh) | 数据发送、接收方法、装置、电子设备、芯片及存储介质 | |
US20220407808A1 (en) | Service Level Adjustment Method, Apparatus, Device, and System, and Storage Medium | |
CN117176660A (zh) | 基于fpga实现优化tsn帧抢占ip核的系统及方法 | |
CN117014967A (zh) | 移动通信系统、方法和用户面节点 | |
EP1506644B1 (en) | Shared-communications channel utilization for applications having different class of service requirements | |
US20170373982A1 (en) | System and method for mtu size reduction in a packet network | |
WO2023207628A1 (zh) | 一种报文传输方法以及报文转发设备 | |
WO2023165199A1 (zh) | 一种通信方法、装置及设备 | |
US7106695B2 (en) | Method of allocating bandwidth to the stations of a local area network | |
CN115865810B (zh) | 一种时间敏感网络中信用值流量调度系统及方法 | |
WO2023065791A1 (zh) | 增强帧抢占能力信息的通告方法及帧抢占功能的配置方法 | |
WO2023202467A1 (zh) | 网络配置方法及装置 | |
JP2024520661A (ja) | ユーザ機器、スケジューリングノード、ユーザ機器のための方法、およびスケジューリングノードのための方法 | |
CN116055269A (zh) | 一种数据传输的相位调整方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |