中文字幕无码日韩视频无码三区

一種面向車載canfd網絡的信號分組打包方法

文(wen)檔序號:10555486閱讀:535來(lai)源:國知局(ju)
一種面向車載can fd網絡的信號分組打包方法
【專利摘要】本發明公開一種面向車載CAN FD網絡的信號分組打包方法,包括如下步驟:步驟1,依據信號的周期大小對信號進行分組,并根據周期大小對分組得到的信號組進行升序排列;步驟2,依據空閑帶寬評價指標和整數線性規劃算法將信號組依次打包到消息之中,得到消息集;步驟3,按照時間健壯性升序的順序為打包后得到的消息集分配優先級并進行調度分析,如果打包后得到的消息集不可調度,則對打包后得到的消息集進行拆分以提高整個消息集的可調度性,直到打包后的消息集可調度或沒有消息可被拆分為止。此種方法可在保證CAN FD網絡可調度的前提下,實現網絡帶寬利用率的優化。
【專利說明】
一種面向車載CAN FD網絡的信號分組打包方法
技術領域
[0001] 本發明屬于汽車電子領域,涉及一種車載ECU中通信信號數據的處理,特別涉及一 種面向車載CAN FD網絡帶寬利用率優化的信號分組打包方法。
【背景技術】
[0002] 隨著汽車在人們的日常生活中發揮越來越重要的作用,人們從經濟和社會等方面 對汽車提出了越來越嚴格的要求。因此,汽車正朝著電子化、網絡化和智能化的方向飛速發 展。汽車工業正經歷的上述變革使得汽車電子系統的復雜性驟增,車載網絡中需傳輸的數 據量急劇增多。但是現有的在汽車電子系統中應用最為廣泛的CAN網絡的最大帶寬僅為 1Mbps,為此博世在2011年推出了一種CAN升級版的網絡協議CAN FDXAN Π )的最大帶寬可 達8Mbps,可滿足快速增長的車載數據的傳輸要求。但是CAN Π )消息的負載以字節為單位, 負載大小可分別設置為{1,2,3,4,5,6,7,8,12,16,20,24,32,48,64}。因此,不同的信號打 包結果將產生不同的帶寬需求。現有研究已經證明CAN信號打包問題是一個典型的NP難問 題,CAN FD消息負載的配置比CAN更復雜。因此,需要提出一種高效的CAN ro信號打包算法 來實現CAN FD高帶寬的有效利用。
[0003] 為解決該問題,一種簡單的信號打包方法是將每個信號都單獨打包成一個消息。 但是該方法生成的消息個數與信號個數相等,一方面將增加消息之間相互競爭網絡的幾 率,另一方面,消息包含的帶寬沒有被充分利用,從而造成了帶寬的浪費。中國專利申請號 201410113555.7,名稱"一種面向汽車CAN網絡帶寬消耗優化的車輛信號封裝方法"和研究 工作(如 "Sandstrom K ,Norstrom C , Ahlmark M . Frame Packing in Real-Time Communication.In:Proc.of RTCSA·2000·399-403·"、"Saket R,Navet N.Frame Packing Algorithms for Automotive Applications.Journal of Embedded Computing,2(I):93-102,2006·"、"Polzlbauer F, Bate I, Brenner E. Optimized Frame Packing for Embedded Systems. IEEE Embedded Systems Letters,2012,4(3) :65-68."等)提出了面向 CAN的信號打包方法,但是一方面,該方法面向CAN Π )的消息格式、帶寬等方面與CAN不同, CAN FD的信號打包更加復雜。另一方面,現有方法僅以單個信號作為打包的基本單元,未就 周期相等的信號進行統一打包,打包結果對應的帶寬利用率不夠高效。"Bordoloi U D, Samii S.The Frame Packing Problem for CAN-FD.In:Proc.of RTSS.2014.284-293·"提 出一種基于動態規劃的CAN FD信號打包算法,但是該算法僅適用于信號大小為整數個字節 的情況,且以單個信號作為打包單元,在算法的通用性和帶寬利用率優化方面不足。因此, 必須提出面向車載CAN FD網絡的信號打包方法,在滿足系統實時性要求的前提下,實現帶 寬利用率的優化。

【發明內容】

[0004] 本發明的目的,在于提供一種面向車載CAN FD網絡的信號分組打包方法,其可在 保證CAN FD網絡可調度的前提下,實現網絡帶寬利用率的優化。
[0005] 為了達成上述目的,本發明的解決方案是:
[0006] -種面向車載CAN Π )網絡的信號分組打包方法,包括如下步驟:
[0007]步驟1,依據信號的周期大小對信號進行分組,并根據周期大小對分組得到的信號 組進行升序排列;
[0008] 步驟2,依據空閑帶寬評價指標和整數線性規劃算法將信號組依次打包到消息之 中,得到消息集;
[0009] 步驟3,按照時間健壯性升序的順序為打包后得到的消息集分配優先級并進行調 度分析,如果打包后得到的消息集不可調度,則對打包后得到的消息集進行拆分以提高整 個消息集的可調度性,直到打包后得到的消息集可調度或沒有消息可被拆分為止。
[0010] 上述步驟1中,還對信號組內的信號按照信號大小進行升序排列。
[0011] 上述步驟2的詳細內容是:
[0012] 21)如果當前打包的信號組Sk不是周期最小的信號組,則轉到步驟42),否則,根據 Sk中所有信號的大小總和sumk的情況對Sk進行如下處理:如果sumk小于或等于CAN FD消息 允許的最大負荷時,新生成一個空消息fn?,并將Sk中的所有信號都打包到fn?之中,然后將 fnew加入已有的消息集F之中;如果sumk大于CAN FD消息允許的最大負荷時,生成一個空消 息fnew,并采用整數線性規劃算法將Sk中的部分信號打包到fnew之中;然后,將已經打包到 之中的信號從Sk中刪除;如果Sk不為空,再生成一個空消息^|,按照同樣的方法對Sk中 的信號進行打包,直到Sk中的所有信號都打包到消息之中;然后將打包生成的消息加入已 有的消息集F之中;
[0013] 22)如果當前打包的信號組Sk不是周期最小的信號組,則首先采用整數線性規劃 算法將Sk中的部分信號打包到F包含的已有消息的負載級空,P_SLKj之中,然后更新有新信 號插入的已有消息的大小、周期和截止時限,并將已經打包的信號從Sk中刪除;
[0014] 該步驟處理完之后,如果Sk為空,則返回步驟21);否則進入步驟23),對S k中的剩余 信號進行繼續處理;
[0015] 23)對Sk的打包歸屬進行分析:如果消息集F中部分或所有已有消息的消息級空閑 帶寬之和仍不夠容納S k中的所有信號,進入步驟24);否則,對"采用整數線性規劃算法將Sk 中的所有信號打包到已有消息的消息級空閑帶寬之中"和"采用整數線性規劃算法將Sk中 的所有信號打包到空消息之中"這兩種可能的方案對應得到的消息集F的帶寬利用率U進行 對比分析,如果F中部分或所有已有消息的消息級空閑帶寬之和足夠容納S k中的所有信號 時,按照周期降序的順序依次選擇足夠容納Sk中的所有信號的已有消息;如果前一種方案 對應的帶寬利用率更小,則將Sk中的所有信號打包到F包含已有消息之中;否則,進入步驟 24);
[0016] 24)新生成一個空消息fne3W,采用整數線性規劃算法將Sk中的部分信號插入f new2 中,將fnew插入F之中,刪除Sk中已打包的信號,如果S k不為空,返回步驟23);否則,返回步驟 21)〇
[0017] 上述步驟21)中,空消息fnew的周期Tnew、大小Znew和截止時限Dnew的計算公式如下: [0018]
[0019]
[0020] Dnew = Tnew
[0021 ]其中,Si表不信號集Sk中的信號,Sk= {si,S2,…,Si, ···},ti表不信號Si的觸發周期, Zi表不信號Si的大小。
[0022]上述步驟3的詳細內容是:
[0023] 31)假定優先級按照從高到低的順序進行分配,消息集F中已經分配優先級的消息 子集為Fa,未分配優先級的消息子集SFn,Fa初始化為空,FjB始化為F;在優先級分配的過 程中,如果為Fr^的消息t分配當前優先級時灼可調度,那么此時灼的時間健壯性定義為其 截止時限和最差反應時間的差值;如果為t分配當前優先級時t不可調度,那么此時t的時 間健壯性為〇;分配當前優先級時,如果F n中存在多個消息均可調度,那么則按照時間健壯 性升序的順序將當前優先級分配給當前時間健壯性最小的消息;
[0024] 執行完步驟31),如果F中的所有消息均分配到合適的優先級,那么信號集S的打包 結束,直接返回消息集F作為打包的輸出結果,否則,進入步驟32);
[0025] 32)*Fn中的消息分配當前優先級時,所有消息均不可調度,此時,按照消息周期 大小升序的順序從F n中選擇包含周期大小不等的信號的消息進行拆分,如果更新后的Fn# 在消息在分配當前優先級時可調度,則返回步驟31)進行再次分析;如果此時?"中所有消息 包含的信號的周期都相等,則消息集F不可調度,信號集S打包失敗。
[0026] 采用上述方案后,本發明從CAN ro網絡系統設計的角度出發,研究帶寬高效的信 號打包方法,在保障CAN FD網絡系統可調度的前提下實現帶寬利用率的優化,可滿足車載 網絡通信在運行時的安全性、可靠性方面的要求。
【附圖說明】
[0027]圖1是周期大小不等的信號打包情況示意圖;
[0028]圖2是信號打包實例圖;
[0029]圖3是信號打包的流程圖。
【具體實施方式】
[0030] 以下將結合附圖,對本發明的技術方案及有益效果進行詳細說明。
[0031] 本發明提供一種面向車載CAN FD網絡的信號分組打包方法,首先依據信號的周期 大小對信號進行分組,并根據周期大小對分組得到的信號組進行升序排列。然后,提出啟發 式信號打包方法,將信號組依次打包到消息之中,從而形成消息集。在啟發式打包過程中, 將依據兩個空閑帶寬評價指標和整數線性規劃算法來決定信號組的打包歸屬。最后,按照 時間健壯性升序的順序為打包后的消息分配優先級并進行調度分析。如果打包后得到的消 息集不可調度,則對打包后的消息進行拆分以提高整個消息集的可調度性,直到打包后得 到的消息集可調度或沒有消息可被拆分為止。
[0032]本發明的具體內容如下:
[0033]步驟1,設定CAN Π )網絡仲裁段的帶寬為500kbps,數據傳輸段的帶寬為2Mbps。車 載ECU中需發送的CAN ro信號集為S={si,s2,…,Si,…},其中信號Si的特征為{ti,Zi,sig_ (^,!^^(^,分別表示信號的觸發周期丨單位為微秒^大小丨單位為比特八信號初始的截止 時限(單位為微秒)和信號打包到消息后的截止期限(單位為微秒),其中Uisig+cU。根據 CAN ro協議,信號需先被打包成符合其協議要求的消息才能在網絡上進行調度和傳輸。假 設S被打包后得到的消息集為F = {f i,f2,…,f j,…},消息f j的特征為{Tj,Zj,Lj,Cj,Dj,Pj}, 分別表示消息的周期(單位為微秒)、大小(單位為比特)、有效負載、在網絡上的傳輸時長 (單位為微秒)、截止時限(單位為微秒)和優先級,其中D j = Tp信號的tnzjPsig+cU屬性是 已知條件,作為信號打包方法的輸入。信號的mes_cU屬性和消息的屬性作為信號打包方法 的輸出,他們的值的大小依賴于信號組打包的結果。當已知信號分組打包結果時候,上述未 知屬性的具體分析過程如下:
[0034] Tj的計算公式如下:
[0035] Tj=min{ti I Siefj} (I)
[0036] Zj的計算公式如下:
[0037]
(2)
[0038] CAN Π )消息的有效負載Lj以字節為基本單位,其支持的負載大小分別為:{1,2,3, 4,5,6,7,8,12,16,20,24,32,48,64}。因此,當分析得到消息的實際大小Zj時,可由如下公 式計算得到其有效負載L j的大小:
[0039]
(3)
[0040]根據Lj的計算可知Cj的計算公式如下:
[0041]
C4)
[0042] 其中,Tarb表示CAN FD仲裁段的位速度,當仲裁段帶寬為500kbps時,Tarb = 2us; Ttran表示CAN ro數據傳輸段的位速度,當數據段帶寬為2Mbps時,Ttran = O. 5us。
[0043] Pj的值根據時間健壯性降序的順序分配得到,CAN FD消息按照優先級的高低進行 非搶占式調度和傳輸,匕的值越小,消息的優先級越高。
[0044] 本發明允許周期大小不等的信號打包到同一個消息之中。如圖1所示,當把周期不 同的信號81和82打包到同一個消息的時候(tKt 2),消息的觸發周期等于t。因此,在消息的 調度傳輸過程中,周期大的信號82的某些實例需等待一段時間才能與消息的觸發點同步 (如S2的實例2、實例3和實例4)。該等待時延的最大值max_delay的計算公式如下:
[0045] max_delay = ti_gcd(ti,t2) (5)
[0046] 因此,當信號si被打包到消息fi之中時,mes_di的計算公式如下:
[0047]
(6)
[0048] 步驟2,配合圖3所示,CAN Π)信號的分組打包過程如下:
[0049] 1)對于ECU中包含的信號集S,按照信號的周期大小對其進行分組。假定信號集S分 組后得到的信號組分別為S1J2r",Sk,···,SM,其中S=S1U S2U…U SkU…U Sls卜屬于同 一個分組的信號的周期大小相等。
[0050] 2)按照信號大小對信號組內的信號進行升序排列。
[0051] 3)按照周期大小對信號組進行升序排列。
[0052] 4)按照周期大小升序的順序將各個信號組逐個打包到消息之中。該步驟的具體過 程如下:
[0053] 41)如果當前打包的信號組Sk不是周期最小的信號組,則轉到步驟42),否則,根據 Sk中所有信號的大小總和sumk的情況對Sk進行如下處理:如果sumk小于或等于CAN FD消息 允許的最大負載(64字節)時,新生成一個空消息fne3W,并將Sk中的所有信號都打包到f ne3W之 中,然后將f 加入已有的消息集F之中。其中fne3W中打包有信號之后新的周期Tne3w的周期 Tnew、大小Znew和截止時限Dnew的計算公式如下:
[0054]
[0055] ,8)
[0056]
[0057] 如果sumk大于CAN FD消息允許的最大負載(64字節)時,生成一個空消息fnew,并采 用整數線性規劃算法將Sk中的部分信號打包到f new之中。然后,將已經打包到fnew之中的信 號從Sk中刪除。如果S k不為空,再生成一個空消息匕?,按照同樣的方法對Sk中的信號進行打 包,直到Sk中的所有信號都打包到消息之中。然后將打包生成的消息加入已有的消息集F之 中,并按照式(7)-(9)計算打包生成的各個消息的相關參數。
[0058]基于整數線性規劃算法的信號打包方法如下:
[0059]已知條件:已知信號組Sk包含信號si的大小s_s i z e (i)。CAN FD消息大小的最大值 為64bytes,即512bits。假設生成的空消息為fj。
[0000]未知條件:二進制變量assign(i,j)表示信號Si是否打包到消息fj之中,如果是,則 assign( i,j) = 1,否則,assign( i,j) =0。信號打包得到的消息f j的大小Sm_size( j)。
[0061 ]約束條件:
[0062]
[0063]
[0064]以上約束分別表示打包后消息灼的大小計算,以及消息灼的大小不能超過512bits 的限定。
[0065] 優化目標:
[0066] objective:maximizem_size(j)
[0067] 其中,maximize表示最大化,即在滿足相應限制條件的前提下,最大化打包后的消 息的大小。
[0068]通過上述整數線性規劃算法求解,可在滿足CAN FD消息最大負載限制的前提下, 實現信號組Sk打包的最優化,即可實現CAN ro帶寬利用率的最優化。
[0069] 42)如果當前打包的信號組Sk不是周期最小的信號組,則首先采用整數線性規劃 算法將Sk中的部分信號打包到F包含的已有消息的負載級空,P_SLKj之中,然后更新有新信 號插入的已有消息的大小、周期和截止時限,并將已經打包的信號從S k中刪除。
[0070] 已有CAN FD消息fj包含的負載級空閑P_SLKj的定義如下:
[0071 ] CAN ro消息的有效負載Lj以字節為單位,它的大小配置可能為:{1,2,3,4,5,6,7, 8,12,16,20,24,32,48,64}。但是消息包含的信號的大小以比特為單位。因此由Lj的計算可 知,消息的有效負載中可能存在未被占用的空閑比特位。設定P_SLK謙示L沖包含的空閑比 特位的個數,它的計算公式如下:
[0072] P_SLKj = LjX8_Zj (10)
[0073] 如圖2給出的信號打包實例所示,該消息包含的信號的大小之和為8 * 8 + 3 = 67bits。但是根據CAN FD協議,該消息的有效負載Lj等于12bytes。因此,該消息中包含的負 載級空等于29bits。
[0074] 假設該步驟將信號組Sk中的信號81打包到了已有消息t之中,那么t的大小、周期 和截止時限可分別按照如下公式進行更新:
[0075] Z,j = Zj+Zi (11)
[0076] T7 j=min(Tj, ti) (12)
[0077] Djj = T7j (13)
[0078] 事實上,由于信號組按照周期大小的升序排列,后續插入已有消息的信號的周期 均大于已有消息的周期。因此,實際上已有消息灼的周期、截止時限不會發生改變。
[0079] 該步驟處理完之后,如果Sk為空,則返回步驟4);否則進入步驟43),對S k中的剩余 信號進行繼續處理。
[0080] 43)對Sk的打包歸屬進行分析。如果消息集F中部分(或所有)已有消息的消息級空 閑帶寬之和仍不夠容納Sk中的所有信號,進入步驟44)。否則,需對"采用整數線性規劃算法 將Sk中的所有信號打包到已有消息的消息級空閑帶寬之中"和"采用整數線性規劃算法將Sk 中的所有信號打包到空消息之中"這兩種可能的方案對應得到的消息集F的帶寬利用率U進 行對比分析。如果F中部分(或所有)已有消息的消息級空閑帶寬之和足夠容納S k中的所有 信號時,僅需按照周期降序的順序依次選擇足夠容納Sk中的所有信號的已有消息即可。
[0081 ]已有CAN FD消息fj的消息級空閑帶寬M_SLKj的定義:
[0082] CAN Π )消息的最大負載64bytes,因此當消息的負載未滿的時候,已有消息fj中包 含消息級空閑帶寬M_SLKj(單位為比特)C3IVLSLKj的計算公式如下:
[0083] M_SLKj=(64_Lj)X8 (14)
[0084] 如圖2所示的信號打包實例,M_SLKj = 496bits。
[0085] 消息灼的帶寬利用率山的計算公式如下:
[0086]
( 15)
[0087] 消息集F的帶寬利用率的計算公式如下:
[0088]
ciU
[0089]如果前一種方案對應的帶寬利用率更小,則將Sk中的所有信號打包到F包含已有 消息之中。否則,進入步驟44)。
[0090] 44)新生成一個空消息fne3W,采用整數線性規劃算法將Sk中的部分信號插入fnew2 中。將fnew插入F之中,刪除Sk中已打包的信號。如果Sk不為空,返回步驟43)。否則,返回步驟 4) 〇
[0091] 5)按照時間健壯性升序的順序為F中的消息分配優先級,并對F的可調度性進行分 析。優先級分配方法的具體過程如下:
[0092] 51)假定優先級是按照從高到低的順序進行分配,消息集F中已經分配優先級的消 息子集SFa,未分配優先級的消息子集為Fn,即F=Fa U Fn。Fa初始化為空,始化為F。在優 先級分配的過程中,如果為Fn*的消息t分配當前優先級時灼可調度,那么此時灼的時間健 壯性定義為其截止時限和分配當前優先級時的最差反應時間的差值。如果為t分配當前優 先級時t不可調度,那么此時t的時間健壯性為0。因此,在分配當前優先級時不需對t進行 考慮,t只可能分配更低的優先級。在分配當前優先級時,如果F n中存在多個消息均可調度, 那么則按照時間健壯性升序的順序將當前優先級分配給當前時間健壯性最小的消息。
[0093] 執行完步驟51),如果F中的所有消息均可分配到合適的優先級,即F可調度,那么 信號集S的打包結束,直接返回消息集F作為打包的輸出結果。否則,進入步驟52)。
[0094] 52)*Fn中的消息分配當前優先級時,所有消息均不可調度。此時,則需按照如下 方式對Fn中的消息進行處理。
[0095]按照消息周期大小升序的順序從Fn*選擇包含周期大小不等的信號的消息進行 拆分,以最大程度降低該消息對Fn中的其它消息造成的搶占,從而提高Fn的可調度性。如果 更新后的F n#在消息在分配當前優先級時可調度,則返回步驟5)進行再次分析。如果此時Fn 中所有消息包含的信號的周期都相等,則消息集F不可調度,信號集S打包失敗。
[0096] 以下將給出本發明的具體實施例。
[0097] 假設CAN ro網絡裁斷段的帶寬為500kbps,數據傳輸段的帶寬為2Mbps。某個ECU中 包含的信號集3={81, 82,83,84},所有信號的已知參數如表1所示。根據本發明提供的技術 方案,首先將信號集S劃分為三個如下信號組= S1=BU,S2= {s2},S3= {S3,S4},并且信號 組,以及信號組內的信號按照周期大小升序的順序進行排列。然后,從信號組S 1開始進行打 包。
[0098]表1信號集實例的相關屬性
[0101]由于31是第一個信號組且其包含的信號的大小的總和小于64bytes,因此,只需新 生成一個空消息心,并將S1中的信號插入fi即可。此時得到的已有消息心的周期和大小等于 信號Si的周期和大小,f 1對應的負載級空閑和消息級空閑分別為2b i t S和504b i t S。接著,對 信號組32進行打包。由于A的負載級空閑可容納S2中的所有信號,因此直接將S 2中的信號插 入f 1即可。此時,f 1的大小更新為32bits、負載級空閑更新為O,其周期等其他屬性不變。最 后,對S3進行打包分析。由于此時心的負載級空閑為0,因此需就S3是插入已有消息心的消息 級空閑還是新生成的空消息f 2之中進行帶寬利用率分析和判斷。通過如下情況1和情況2的 分析可知,將S3插入新生成的空消息f 2對應的帶寬利用率更高。因此,信號集S的打包結果為 {fl,f2},其中fl= {S1,S2},f2= {S3,S4}。但是如果按照已有的以單個信號為打包單元的方 法,信號集S的打包結果為由下面的分析可知,本發明提出的以信 號組為打包單元的方法對應的帶寬更高效。
[0102] 情況1:將S3插入已有消息A的消息級空閑之中
[0103] 消息fi的負載大小Li需更新為7bytes,周期不變為lOOOus。
[0104]
[0105]其中,C 1和Iv 1分別表不插入信號組S3后消息fi的傳輸時長和周期大小。
[0106]情況2:將S3插入新生成的空消息f2之中
[0107] 此時存在兩個消息fi和f2,其負載大小Li和L2分別為更新為4bytes和3bytes,周期 分別為 1000 us 和8000us。
[01081
[0109]其中,CdPT1*別表示原消息A的傳輸時長和周期大小,CdPT2分別表示消息5的 傳輸時長和周期大小。
[0110]以上實施例僅為說明本發明的技術思想,不能以此限定本發明的保護范圍,凡是 按照本發明提出的技術思想,在技術方案基礎上所做的任何改動,均落入本發明保護范圍 之內。
【主權項】
1. 一種面向車載CAN抑網絡的信號分組打包方法,其特征在于包括如下步驟: 步驟1,依據信號的周期大小對信號進行分組,并根據周期大小對分組得到的信號組進 行升序排列; 步驟2,依據空閑帶寬評價指標和整數線性規劃算法將信號組依次打包到消息之中,得 到消息集; 步驟3,按照時間健壯性升序的順序為打包后得到的消息集分配優先級并進行調度分 析,如果打包后得到的消息集不可調度,則對打包后得到的消息集進行拆分W提高整個消 息集的可調度性,直到打包后得到的消息集可調度或沒有消息可被拆分為止。2. 如權利要求1所述的一種面向車載CAN FD網絡的信號分組打包方法,其特征在于:所 述步驟1中,還對信號組內的信號按照信號大小進行升序排列。3. 如權利要求1所述的一種面向車載CAN FD網絡的信號分組打包方法,其特征在于:所 述步驟2的詳細內容是: 21) 如果當前打包的信號組Sk不是周期最小的信號組,則轉到步驟22),否則,根據Sk中 所有信號的大小總和SUfflk的情況對Sk進行如下處理:如果SUfflk小于或等于CAN FD消息允許 的最大負載時,新生成一個空消息fnew,并將Sk中的所有信號都打包到fnew之中,然后將fnew 加入已有的消息集F之中;如果sumk大于CAN FD消息允許的最大負載時,生成一個空消息 fnew,并采用整數線性規劃算法將Sk中的部分信號打包到fnew之中;然后,將已經打包到fnew 之中的信號從Sk中刪除;如果Sk不為空,再生成一個空消息fnew,按照同樣的方法對Sk中的信 號進行打包,直到Sk中的所有信號都打包到消息之中;然后將打包生成的消息加入已有的 消息集F之中; 22) 如果當前打包的信號組Sk不是周期最小的信號組,則首先采用整數線性規劃算法將 Sk中的部分信號打包到F包含的已有消息的負載級空之中,然后更新有新信號插入 的已有消息的大小、周期和截止時限,并將已經打包的信號從Sk中刪除; 該步驟處理完之后,如果Sk為空,則返回步驟21);否則進入步驟23),對Sk中的剩余信號 進行繼續處理; 23) 對Sk的打包歸屬進行分析:如果消息集F中部分或所有已有消息的消息級空閑帶寬 之和仍不夠容納Sk中的所有信號,進入步驟24);否則,對"采用整數線性規劃算法將Sk中的 所有信號打包到已有消息的消息級空閑帶寬之中"和"采用整數線性規劃算法將Sk中的所 有信號打包到空消息之中"運兩種可能的方案對應得到的消息集F的帶寬利用率U進行對比 分析,如果F中部分或所有已有消息的消息級空閑帶寬之和足夠容納Sk中的所有信號時,按 照周期降序的順序依次選擇足夠容納Sk中的所有信號的已有消息進行分析;如果前一種方 案對應的帶寬利用率更小,則將Sk中的所有信號打包到F包含已有消息之中;否則,進入步 驟24); 24) 新生成一個空消息fnew,采用整數線性規劃算法將Sk中的部分信號插入fnew之中,將 fnew插入F之中,刪除Sk中已打包的信號,如果Sk不為空,返回步驟23);否則,返回步驟21)。4. 如權利要求3所述的一種面向車載CAN FD網絡的信號分組打包方法,其特征在于:所 述步驟21)中,空消息fnew中打包有信號之后新的周期Tnew、大小Znew和截止時限Dnew的計算公 式如下: Tnew=Iti SiEfnewI其中,S康不信號集Sk中的信號,Sk= {si, S2 ,…,Si ,…},t康不信號Si的觸發周期,Zi表 示信號Si的大小。5.如權利要求1所述的一種面向車載CAN FD網絡的信號分組打包方法,其特征在于:所 述步驟3的詳細內容是: 31) 假定優先級按照從高到低的順序進行分配,消息集F中已經分配優先級的消息子集 為Fa,未分配優先級的消息子集為Fn, Fa初始化為空,Fn初始化為F;在優先級分配的過程中, 如果為Fn中的消息。分配當前優先級時。可調度,那么此時。的時間健壯性定義為其截止 時限和分配當前優先級時的最差反應時間的差值;如果為分配當前優先級時f J不可調度, 那么此時的時間健壯性為0;分配當前優先級時,如果Fn中存在多個消息均可調度,那么則 按照時間健壯性升序的順序將當前優先級分配給當前時間健壯性最小的消息; 執行完步驟31),如果F中的所有消息均分配到合適的優先級,那么信號集S的打包結 束,直接返回消息集F作為打包的輸出結果,否則,進入步驟32); 32) 為Fn中的消息分配當前優先級時,所有消息均不可調度,此時,按照消息周期大小升 序的順序從Fn中選擇包含周期大小不等的信號的消息進行拆分,如果更新后的Fn存在消息 在分配當前優先級時可調度,則返回步驟31)進行再次分析;如果此時Fn中所有消息包含的 信號的周期都相等,則消息集F不可調度,信號集S打包失敗。
【文檔編號】H04L12/927GK105915425SQ201610428823
【公開日】2016年8月31日
【申請日】2016年6月16日
【發明人】謝勇, 吳克壽, 何凡, 何一凡, 洪朝群, 王曉棟, 胡亮
【申請人】廈門理工學院
網友詢(xun)問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1