水下航行器FlexRay网络带宽资源的优化研究∗
2021-10-11任庆华杜晓海
任庆华 杜晓海
(海装西安局 西安 710077)
1 引言
FlexRay是近几年才出现的一种新型现场总线技术。该技术以较高的通信速率、良好的实时性以及较大的灵活性而在水下航行器通信网络领域起着越来越重要的作用[1~10]。由于 FlexRay总线具有两个独立的信道,使得同一份信息能够以冗余的方式进行传输。这种冗余传输能够有效提高整个网络的通信可靠性。然而,冗余传输的方式也使得本来可以传输更多信息的信道被占用了,即信道中带宽资源的有效利用率下降了。为了解决这一对矛盾从而更好地利用FlexRay总线的优势,就需要就FlexRay网络中通信的冗余度进行深入研究。遗憾的是,目前国内外的文献中尚未见到这方面的报道。
本文利用概率分析理论,建立了FlexRay网络中通信冗余度的优化模型。通过对该模型的求解能够得到一个FlexRay网络中信息被冗余传输的最佳次数。同时,在特定条件下推导出了最佳冗余传输次数的解析表达式。最后,通过数值实验验证了解析结果的正确性,并利用优化模型对具体实例进行了通信冗余度的分析。
2 FlexRay网络通信冗余度的优化模型
2.1 基于FlexRay的双信道通信机制简介
图1为FlexRay网络中消息的总线访问方式示意图。从图1中可以看出,FlexRay总线通过通信周期(Communication Cycle)循环的方式周期地传输信息。1个FlexRay的通信周期包括有静态段(Static Segment)、动态段(Dynamic Segment)、符号窗(Symbol Window)和网络空闲时间(Network Idle Time)四个部分。静态段被分为若干长度相等的时隙(Static Slot)。每个时隙中只能有一个节点访问总线,传输一个静态帧。所有静态帧的长度均相同。可见静态段采用的是时分多址(Time Division Media Access,TDMA)机制来分配带宽。而动态段则是由若干微时隙(Minislot)构成。一个动态帧可以只占用一个微时隙,也可以占用多个微时隙。不同动态帧的长度可以不同。若某个微时隙没有消息发送,则动态时隙(Dynamic Slot)等于一个微时隙,否则等于动态帧所需的微时隙数。动态段采用的是柔性时分多址(Flexible Time Division Media Access,FTDMA)的机制来分配总线带宽的。符号窗口用于传输一些维持总线正常运转的特征符,网络空闲时间用于进行FlexRay网络各个节点的时钟校准。
图1 FlexRay网络中的总线访问方式
从图中还可以看到,FlexRay总线的物理层提供了两个相互独立的信道。根据FlexRay协议的规定[11~12],一个时隙只能由网络中的一个节点得到总线的访问权。该节点可以在两个独立信道中传输不同的消息(非冗余传输,如图中的M2,M6,M4和M7),也可以传输同样的消息(冗余传输,如图中的M1、M3和M5)。正是由于FlexRay具有这种冗余传输机制保证了在一定误比特率的环境中信息传输的可靠性。然而,我们也不难发现由于冗余传输消耗了一定的带宽资源,这部分带宽本来可以传输更多的信息。换句话说,此时的网络中有效带宽利用率下降了。为了更好地发挥FlexRay总线的优势,需要对网络中冗余传输的信息量进行优化。
2.2 本文的符号系统
在本文中出现的一些数学符号及其含义在表1中列出。
表1 文中出现的数学符号及其意义
这里需要说明的是,本文中的消息是指FlexRay协议中的数据帧。由于一个给定的FlexRay网络中所有静态帧的长度都相同,因此在本文中所有的Wi都相等。同时,本文假设在静态段的每个时隙中都有消息传输,即不存在空闲时隙。
2.3 FlexRay网络通信冗余度的优化模型
根据文献[5]中的描述,在采用单信道非冗余传输时,一个FlexRay网络在一段考察时间τ内的通信可靠性可以定义为
其中pi为第i个消息传输1次出错的概率,它与网络中误比特率BER的关系可以用下式来表示:
由于在本文中我们只考虑静态段的情况,即所有的Wi相等,因此式(2)可以简化为
其中p为所有静态消息传输1次的错误概率。
如果FlexRay网络的静态段有n个消息采用冗余传输的方式,则这n个消息在一个周期中被传输了两次。此时整个网络的通信可靠性就变为
我们定义一个FlexRay网络在采用冗余传输时的可靠性和未采用冗余传输时的可靠性之比为通信可靠性增益:
而采用冗余传输之后整个网络静态段中剩余的带宽占两个信道总带宽的比例可以用式(6)表示。
式(6)的含义为冗余传输占用的时隙数和两个信道所有的时隙数之比。
从式(5)和式(6)可以看出,当一个FlexRay网络中用于冗余传输的时隙n增加时,通信可靠性增益在提高,这是一种有益的变化;然而,此时消耗的带宽都在增加,即有效带宽利用率在下降,这反映的是一种系统性能劣化的趋势。为了协调这一对矛盾,我们需要对冗余发送的消息数n进行优化。
首先,为了使通信可靠性增益G和剩余带宽η的数量更具可比性,我们定义如下归一化指标,
这样通过 βG和 βη两个变量,我们可以建立如下优化模型。
目标函数:
约束条件:
其中γ1和γ2为两个权重因子,可以表示在优化过程中通信可靠性增益G和剩余带宽η这两个因素重要程度的对比。在式(9)中的第一项反映的是系统的通信可靠性随n的变化关系,第二项则体现了n增大后对整个网络带宽利用率的影响。
3 特定条件下最优冗余度的解析表达式
下面我们考虑一种特殊情况,即一个FlexRay网络中的所有静态消息的周期均相同,设为T。这种情况下网络中的通信可靠性增益就可以重新写为
为了求得目标函数的最小值,我们考虑做如下变量代换:n.→x,其中x∈[1,Nslot]为实数。这样原来的优化问题就转换为一个单变量函数的极值问题。我们对函数J(x)求导数,可得
而只需要将xopt进行四舍五入的取整运算即可得到相应的nopt。
4 分析与计算
4.1 解析结果的分析
我们首先对式(14)进行分析。尽管式(14)是在一种特定条件下(所有消息的周期均相等)得到的,但对这一理论结果的分析也将有助于我们对优化模型中各个参量对最优通信冗余度的影响。
对A来说,由于τ/T>>1,同时一般情况下 γ1和γ2只是反映优化模型中两个要素重要程度的比例关系从而其比值不会太大(在含有多因素的优化过程中两个权重的比值通常在10~2和102之间),因此A是一个负数。因此,式(14)表示的最优通信冗余度nopt是小于Nslot的。这与实际的情况恰好吻合(实际情况是0≤nopt≤Nslot),也从另一个侧面证实了我们推导结果的正确性。
另外,我们还可以看到随着p的减小而逐渐趋近于0时(0
当p→0时,式(12)中的βG可以用下面的近似公式来表示:
而式(12)中的优化函数J则可以改写为
上式是关于n的线性函数,显然不具有最优值。
事实上,这种情况我们可以直观地通过实际系统的特性来理解。当一个FlexRay系统中的误码率p很小的时候,网络中的各种消息即使没有冗余传输整个系统的通信可靠性也能够保持比较高的水平。因而冗余传输带来的通信可靠性增益就变得可以忽略不计了。这种情况下优化函数J中起主要作用的就是第二项βη了,而βη正是n的线性函数,因此就可以得到式(18)的近似结果。
4.2 数值计算与讨论
首先我们对一个较为简单的FlexRay网络进行分析。假设网络中的所有静态消息的周期均相等,这时可以通过式(18)来进行通信冗余度的优化分析。图2~图4分别对三个不同的情况进行了计算,具体的参数取值参见图下的说明。可以发现,三种情况经过数值计算得到的最优冗余度分别是39、42和53。这些结果和利用式(18)得到的完全一致,进一步证实了该公式的正确性。
图2 优化目标函数J和通信冗余度n关系。参数取值为BER=2.64×10-11,γ1∕γ2=1,τ=1h,W=260×8bit,T=3ms,Nslot=60。其中(a)表示βG,(b)表示βη,(c)表示J
图3 优化目标函数J和通信冗余度n关系。参数取值为BER=1×10-10,γ1∕γ2=1,τ=1h,W=170×8bit,T=5ms,Nslot=60。其中(a)表示βG,(b)表示βη,(c)表示J
图4 优化目标函数J和通信冗余度n关系。参数取值为BER=1×10-9,γ1∕γ2=1,τ=1h,W=90×8bit,T=5ms,Nslot=60。其中(a)表示βG,(b)表示βη,(c)表示J
我们还可以看出,当网络中的其他参数固定时随着误码率p的增加,最优通信冗余度也将增大。这也符合以下的物理事实:当一个FlexRay网络中的误码率增大时,需要将更多的消息进行冗余传输从而保证整个系统的通信可靠性。图5中的计算结果也印证了这一规律,即最优通信冗余度与误码率之间呈现出一种正相关的关系。而从图5中也可以看到,消息的周期越大则对应的最优通信冗余度越小。
图5 最优冗余度nopt随误码率p的变化关系。其中γ1∕γ2=2,τ=1h,Nslot=80。(a)T=3ms,(b)T=5ms,(c)T=10ms
5 结语
FlexRay总线提供了两个独立的信道,可以冗余地传输信息从而提高通信的可靠性。然而,冗余的传输方式将在一定程度上消耗网络中可利用的带宽资源。为了解决这一矛盾,需要对FlexRay网络的通信可靠性进行优化。利用概率理论,构建了FlexRay网络中通信冗余度的优化模型。通过对模型的求解,得到了在FlexRay网络中静态消息周期相等时的最优冗余度的解析公式。对实例分析的数值结果验证了理论结果。本文构建的优化模型和分析结果将为FlexRay总线的水下航行器应用提供一个良好的理论参考。