一種基於輪詢調度器的FlexRay動態段消息調度方法
2023-12-07 01:29:21 2
一種基於輪詢調度器的FlexRay動態段消息調度方法
【專利摘要】本發明涉及汽車通信【技術領域】,特別涉及一種基於輪詢調度器的FlexRay動態段消息調度方法。本調度方法利用FlexRay動態段「柔性時分多址」的媒體訪問機制,建立具有不同運行參數的多個輪詢調度器及相對應的FlexRay網絡參數,獲取輪詢調度器的最優參數,建立最優可行的動態段消息分組集合,為每個消息分組集合分別創建具有最優參數的輪詢調度器;輪詢調度器處於激活狀態,根據內部優先級選擇相應的動態段消息發送;輪詢調度器處於非激活狀態,停止發送內部任何動態段消息。本發明中輪詢調度器將動態段消息的隨機發送轉化為受控的有序發送,從而確保FlexRay動態段長度最小和所有動態段消息均能在其時限內完成傳輸,確保動態段網絡帶寬得到最大利用。
【專利說明】-種基於輪詢調度器的FlexRay動態段消息調度方法
【技術領域】
[0001] 本發明涉及汽車通信【技術領域】,特別涉及一種基於輪詢調度器的FlexRay動態段 消息調度方法。
【背景技術】
[0002] 隨著汽車電控系統(ECU)間對高可靠、高實時的通信要求不斷增加,高速總線技 術已經被廣泛應用到整車通信中。相對於傳統的CAN總線,FlexRay總線融合了時間觸發 和事件觸發兩種媒體訪問方式,其容錯性和消息傳輸確定性好,通信速率高,更適用於汽車 底盤、動力和線控等安全性關鍵系統的通信中,是下一代汽車總線標準。
[0003] FlexRay動態段媒體訪問機制與其靜態段不同,採用的是"柔性時分多址"機制,用 來傳輸汽車電控系統之間的偶發性消息,如剎車消息、故障診斷消息等,它們屬於事件觸發 類的實時非周期性消息。這些動態段消息的調度策略及其相對應的參數配置是FlexRay網 絡設計的重要內容,直接關係到消息傳輸延遲和帶寬利用率等網絡通信性能。
[0004] 目前,對於FlexRay動態段通信調度研究主要集中在動態段參數(如DS長度、動 態時隙個數等)已知情況下,如何設計動態段消息調度策略及器可調度驗證方法。例如, Traian和Jung等分別將DM等調度方法應用在動態段調度中,提出基於WCRT計算的可調度 性驗證方法;在此基礎上,Zeng等人對消息時序分析中的問題進行改進,提出了更為嚴格 的WCRT上限計算方法,並用於對消息ID分配的優化設計中;Neukirchner等提出了時隙復 用和周期復用的動態段調度機制下的WCRT計算;Tanasa等提出多消息共用時隙時消息可 調性的分析。這些方法均依賴於已知動態段消息與FlexRay網絡參數,在真實汽車網絡設 計時實用性不強。
[0005] 而對於參數未知情況下,如何根據所需要發送的動態段消息集合,設計合理的動 態段調度機制,實現所有動態段消息的發送均滿足其截止期,確保動態段網絡帶寬得到最 大利用,已經成為汽車FlexRay網絡設計的迫切需求。
【發明內容】
[0006] 本發明為了克服上述現有技術的不足,提供一種基於輪詢調度器的FlexRay動態 段消息調度方法,本發明中輪詢調度器將動態段消息的隨機發送轉化為受控的有序發送, 從而確保FlexRay動態段長度最小和所有動態段消息均能在其時限內完成傳輸,確保動態 段網絡帶寬得到最大利用。
[0007] 為實現上述目的,本發明採用了以下技術方案:
[0008] -種基於輪詢調度器的FlexRay動態段消息調度方法,利用FlexRay動態段"柔性 時分多址"的媒體訪問機制,建立具有不同運行參數的多個輪詢調度器及相對應的FlexRay 網絡參數,獲取輪詢調度器的最優參數,建立最優可行的動態段消息分組集合,為每個最優 可行的動態段消息分組集合分別創建具有最優參數的輪詢調度器;
[0009] 輪詢調度器處於激活狀態,根據內部優先級選擇相應的動態段消息發送;輪詢調 度器處於非激活狀態,停止發送內部任何動態段消息;進而實現將隨機發送的動態段消息 轉化為受控的有序的動態段消息,最終實現FlexRay動態段長度最小和所有動態段消息均 能在其時限內完成傳輸,具體實現步驟如下:
[0010] S1 :根據輪詢調度器的參數PS_Parameters,計算輪詢調度器發送動態段消息所 歷經的最大時間Longest_Time ;其中,PS_Parameters為輪詢周期P、相位Θ、執行長度1、 中貞ID FID ;
[0011] S2 :計算 FlexRay 網絡參數 F_Parameters,FlexRay 網絡參數 F_Parameters 為動 態段長度tDS ;並利用S1計算得出的最大時間Longestjime,獲得輪詢調度器的參數PS_ Parameters、FlexRay網絡參數和動態段消息分組之間的非線性規劃方程及三者之間的耦 合、約束關係;
[0012] S3 :獲取最優可行的動態段消息分組,根據S2中的得出的非線性規劃方程及三者 之間的耦合、約束關係,創建分配有最優可行的動態段消息分組的輪詢調度器的最優PS_ Parameters和F_Parameters,使得所有動態段消息均能夠在自身時限內完成傳輸,且所需 動態段長度tDS最小;
[0013] S4 :在輪詢調度器設置為最優PS_Parameters和F_Parameters,且最優PS_ Parameters所對應的最優可行的動態段消息分組的情況下,輪詢調度器根據自身參數配置 進行激活和去活,激活時輪詢調度器對分配到的動態段消息進行調度。
[0014] 本發明還可以通過以下步驟進一步實現。
[0015] 優選的,所述輪詢調度器發送動態段消息所歷經的最大時間Longestjime的計 算方法如下:
[0016] 定義為節點k中的第j個消息,為m/連續兩次出現的最短間隔,4為4的 發送截止期,cf為m/發送時佔用的miniSlot個數,t B為miniSlot的長度,t。為FlexRay通 信周期長度,|M|為動態段消息的總個數,|Mk|為節點k中的消息個數;
[0017] 定義:PSi為第i個輪詢調度器,PSi的參數分別為Pi,Θ i,li,FIDi,其值均為正整 數,Pi和Θ i的單位為t。,li的單位為tB,FIDi無單位;
[0018] 和gik分別為二進位變量,則和gik取值為:
[0019]
【權利要求】
1. 一種基於輪詢調度器的FlexRay動態段消息調度方法,其特徵在於:利用FlexRay 動態段"柔性時分多址"的媒體訪問機制,建立具有不同運行參數的多個輪詢調度器及相對 應的FlexRay網絡參數,獲取輪詢調度器的最優參數,建立最優可行的動態段消息分組集 合,為每個最優可行的動態段消息分組集合分別創建具有最優參數的輪詢調度器; 輪詢調度器處於激活狀態,根據內部優先級選擇相應的動態段消息發送;輪詢調度器 處於非激活狀態,停止發送內部任何動態段消息;進而實現將隨機發送的動態段消息轉化 為受控的有序的動態段消息,最終實現FlexRay動態段長度最小和所有動態段消息均能在 其時限內完成傳輸,具體實現步驟如下: 51 :根據輪詢調度器的參數PS_Parameters,計算輪詢調度器發送動態段消息所歷經 的最大時間Longest_Time ;其中,PS_Parameters為輪詢周期P、相位0、執行長度1、巾貞ID FID ; 52 :計算 FlexRay 網絡參數 F_Parameters,FlexRay 網絡參數 F_Parameters 為動態 段長度tDS ;並利用S1計算得出的最大時間Longestjime,獲得輪詢調度器的參數PS_ Parameters、FlexRay網絡參數和動態段消息分組之間的非線性規劃方程及三者之間的耦 合、約束關係; 53 :獲取最優可行的動態段消息分組,根據S2中的得出的非線性規劃方程及三者之 間的耦合、約束關係,創建分配有最優可行的動態段消息分組的輪詢調度器的最優PS_ Parameters和F_Parameters,使得所有動態段消息均能夠在自身時限內完成傳輸,且所需 動態段長度tDS最小; 54 :在輪詢調度器設置為最優PS_Parameters和F_Parameters,且最優PS_Parameters 所對應的最優可行的動態段消息分組的情況下,輪詢調度器根據自身參數配置進行激活和 去活,激活時輪詢調度器對分配到的動態段消息進行調度。
2. 如權利要求1所述的一種基於輪詢調度器的FlexRay動態段消息調度方法,其特徵 在於:所述輪詢調度器發送動態段消息所歷經的最大時間Longest_Time的計算方法如下: 定義:W為節點k中的第j個消息,吃為,》/連續兩次出現的最短間隔,名為m/的發 送截止期,c/為w/發送時佔用的miniSlot個數,tMS為miniSlot的長度,t。為FlexRay通 信周期長度,|M|為動態段消息的總個數,|Mk|為節點k中的消息個數; 定義:PSi為第i個輪詢調度器,PSi的參數分別為Pp 0 i,lp FIDp其值均為正整數,Pi 和9 i的單位為t。,h的單位為tMS,FIDi無單位; xu和gik分別為二進位變量,則和gik取值為:
定義:{PSJ為所有FID小於FIDi的輪詢調度器集合,Ps是PSs的周期,0是該集合中 所有輪詢調度器周期的最小公倍數; 最大時間Longest_Time由以下公式求出:
3. 如權利要求2所述的一種基於輪詢調度器的FlexRay動態段消息調度方法,其特徵 在於:輪詢調度器的參數PS_Parameters、FlexRay網絡參和動態段消息分 組之間的非線性規劃方程的獲得方法及耦合、約束關係如下: 521 :定義消息集合G;分配給輪詢調度器PS;,二進位變量y y取值為
522 :定義集合 Y = {{xS(1},{gsk}}, tDS 取集合 Y 中最小的 L5,則描述 PS_Parameters、F_ Parameters和動態段消息分組之間的非線性規劃方程:
L5彡其中min(tss)是靜態段長度下限值。
4. 如權利要求3所述的一種基於輪詢調度器的FlexRay動態段消息調度方法,其特徵 在於:最優可行的動態段消息分組,以及分配有最優可行的動態段消息分組的輪詢調度器 的最優PS_Parameters和F_Parameters的獲取方法加下, S31 :定義節點k中消息集合為
其中
i,j為變量,初始值均為〇 A為可變集合;和分別為動態段 消息集合的周期和執行長度; 則Mk中所有可行的動態段消息分組集合Bk可由下述方法求得: 3311:輸入消息集合%={/?丨,_",/?丨,_",〇初始化1 = 1; 5312 :判斷i < n ?若成立,執行S313 ;否則,執行S3110 ; 5313
5314 :判斷j彡n ?若成立,執行S315 ;否則,執行S318 ; 5315 :判
若成立,執行S316;
否則,執行S317 ; 5316 :將放入到Ai中, 5317 :令 j = j+1,並返回 S314; 5318 :解析出Ai中所有非空子集放入到Bk ; 5319 :令 i = i+1,並返回 S312 ; S3110 :輸出Bk,退出; S32 :定義B為所有節點中動態段消息的可行性分組集合,定義二進位變量zi;j為 _ \ 5中第j節點的第i個分組5/被選中 人- 中第j節點的第i個分組5/未被選中,^Z- Zu' 則最優可行的動態段消息分組可通過求解下列方程獲得:
S33:定義任意輪詢調度器PSi的周期和執行長度為?1和11,定義a = Am〇dP八= 0, 1,... 0 -1則求解下述方程獲各調度器的相位0 i及動態段長度tDS :
S34 :定義M = H ? ? ?,M」為各個節點動態段消息集合,則最優PS_Parameters與F_ Parameters的獲得步驟如下: 5341 :針對M中任意集合&,根據S31獲得可行的動態段消息分組集合& ;依次類推根 據S31可以分別獲得可行的動態段消息分組集合B2,B3,…,Bn,令所有可行的動態段消息分 組集合為B = Bi U…U Bn ; 5342 :針對集合B根據S32求出最優可行的動態段消息分組礦=f U-LJ盡I,;給每個 消息分組創建一個輪詢調度器PS,並從1開始連續為每個PS分配FID ;任意輪詢調度器PSi 的周期Pi、執行長度li和FIDi可由下公式計算:
S343 :將S342求出的所有輪詢調度器的周期和執行長度,代入S33 ;由上述方程組聯立 可求出最小的動態段長度tDS、集合{gik}。則0 i = k, (gik G {gik},gik = 1),由此可獲得任 意輪詢調度器PSi的相位e it)
5.如權利要求4所述的一種基於輪詢調度器的FlexRay動態段消息調度方法,其特徵 在於:輪詢調度器對動態段消息的調度過程如下: 541 :輪詢調度器及網絡參數分別被設置為最優PS_Parameters與t DS,並按最優PS_ Parameters對應的最優可行的動態段消息分組,給每個動態段消息分配唯一的輪詢調度 器; 542 :當動態段消息到達時,消息按單調速率算法DM分配優先級,按照優先級大小依次 放入消息緩衝隊列,然後將消息的幀ID設置為所在輪詢調度器的FID ; S43:各輪詢調度器在自身相位0時刻,首次激活運行,以後每隔自身周期P便激活執 行一次;其餘時間該輪詢調度器休眠; S44 :某個輪詢調度器PS被激活時,若所對應消息緩衝隊列為空,則直接休眠;否則,首 先在所對應消息緩衝隊列中選取隊首消息,將其放入到FlexRay控制器發送緩衝區,然後 主動休眠; 當FlexRay的dynamic slot計數值等於該調度器FID時,若FlexRay控制器發送緩 衝區為空,則總線上佔用的miniSlot長度為常數1 ;否則,消息將會被發送,總線上佔用的 miniSlot長度等於該消息長度; S45:輪詢調度器處於休眠狀態時,停止從消息緩衝隊列中選取消息發送。
【文檔編號】H04L12/403GK104283752SQ201410553105
【公開日】2015年1月14日 申請日期:2014年10月17日 優先權日:2014年10月17日
【發明者】王躍飛, 張恆, 張亞生, 王華瑞, 方海濤, 黃維康, 劉紅軍, 胡昊, 黃磊 申請人:合肥工業大學