任慶華 杜曉海
(海裝西安局 西安 710077)
FlexRay是近幾年才出現的一種新型現場總線技術。該技術以較高的通信速率、良好的實時性以及較大的靈活性而在水下航行器通信網絡領域起著越來越重要的作用[1~10]。由于 FlexRay總線具有兩個獨立的信道,使得同一份信息能夠以冗余的方式進行傳輸。這種冗余傳輸能夠有效提高整個網絡的通信可靠性。然而,冗余傳輸的方式也使得本來可以傳輸更多信息的信道被占用了,即信道中帶寬資源的有效利用率下降了。為了解決這一對矛盾從而更好地利用FlexRay總線的優勢,就需要就FlexRay網絡中通信的冗余度進行深入研究。遺憾的是,目前國內外的文獻中尚未見到這方面的報道。
本文利用概率分析理論,建立了FlexRay網絡中通信冗余度的優化模型。通過對該模型的求解能夠得到一個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總線的優勢,需要對網絡中冗余傳輸的信息量進行優化。
在本文中出現的一些數學符號及其含義在表1中列出。

表1 文中出現的數學符號及其意義
這里需要說明的是,本文中的消息是指FlexRay協議中的數據幀。由于一個給定的FlexRay網絡中所有靜態幀的長度都相同,因此在本文中所有的Wi都相等。同時,本文假設在靜態段的每個時隙中都有消息傳輸,即不存在空閑時隙。
根據文獻[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增大后對整個網絡帶寬利用率的影響。
下面我們考慮一種特殊情況,即一個FlexRay網絡中的所有靜態消息的周期均相同,設為T。這種情況下網絡中的通信可靠性增益就可以重新寫為

為了求得目標函數的最小值,我們考慮做如下變量代換:n.→x,其中x∈[1,Nslot]為實數。這樣原來的優化問題就轉換為一個單變量函數的極值問題。我們對函數J(x)求導數,可得

而只需要將xopt進行四舍五入的取整運算即可得到相應的nopt。
我們首先對式(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)的近似結果。
首先我們對一個較為簡單的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
FlexRay總線提供了兩個獨立的信道,可以冗余地傳輸信息從而提高通信的可靠性。然而,冗余的傳輸方式將在一定程度上消耗網絡中可利用的帶寬資源。為了解決這一矛盾,需要對FlexRay網絡的通信可靠性進行優化。利用概率理論,構建了FlexRay網絡中通信冗余度的優化模型。通過對模型的求解,得到了在FlexRay網絡中靜態消息周期相等時的最優冗余度的解析公式。對實例分析的數值結果驗證了理論結果。本文構建的優化模型和分析結果將為FlexRay總線的水下航行器應用提供一個良好的理論參考。