網關的消息處理方法
【專利摘要】本發明提供一種網關的消息處理方法,該方法能夠通過改變消息傳輸的時刻來改善網關的路由操作的可靠性。上述網關消息處理方法包括以下步驟:(a)計算傳輸到上述網關的消息的傳輸時刻與從上述網關路由并傳輸的消息的傳輸時刻之間的時差;(b)當上述時差小于目標值時,對傳輸到上述網關的消息的傳輸周期和從上述網關路由并傳輸的消息的傳輸周期進行比較;(c)根據上述消息的傳輸周期之間的比較結果,計算消息傳輸時刻偏移量;和(d)使用上述消息傳輸時刻偏移量,改變并校正傳輸到上述網關的上述消息的傳輸時刻。
【專利說明】網關的消息處理方法
【技術領域】
[0001] 本發明涉及網關的消息處理方法。更具體地,本發明涉及能夠通過改變消息傳輸 的時刻來改善網關的路由操作的可靠性的網關的消息處理方法。
【背景技術】
[0002] 隨著與車輛有關的電子技術的快速增加,車輛所需的電子控制器的類型和數量也 快速增加。于是,控制器之間通信所需的信息量也相應地增加。然而,信息量的增加降低了 利用現有的單個通信信道在控制器之間進行信息通信的效率,還降低了通信可靠性。
[0003] 為了解決這些問題,提供有使用多個通信信道的網關。網關對其他信道中的所需 數據進行路由(routing),由此保持所需通信,同時最小化施加于一個通信信道的通信負 載。
[0004] 隨著在網關的使用中,通過控制器之間合作實現的車輛控制增加,通信的可靠性 變得更加重要。因此,需要確保網關的路由功能的可靠性。
[0005] 網關對例如消息之類的數據進行路由,以能夠實現不同通信信道(網絡)之間的通 信。此處,路由是指對傳輸消息的格式進行處理并傳輸,使其符合接收消息的通信信道的協 議的操作。
[0006] 作為實例,網關的基本功能描述如下。
[0007] 作為一例,在車輛的車體部的控制器使用低速控制器區域網絡(CAN Controller Area Network)通信,車輛的底盤部的控制器使用高速CAN通信的情況下,當使用兩個信道 的控制器之間需要通信時(即,當使用低速CAN通信的車體部的控制器與使用高速CAN通信 的底盤部的控制器之間需要通信時),車體部的控制器的通信方法與底盤部的控制器的通 信方法不同。因此,無法在使用兩個信道的控制器之間執行直接通信。
[0008] 在該情況下,使用網關,將通過每個通信信道接收的數據轉換并傳輸,使其符合對 應信道(有待接收數據的信道)的通信協議,從而能夠實現兩個互不相同的信道之間的通 f目。
[0009] 作為另一例,隨著使用一個通信信道的控制器的數目增加,即使車輛中控制器之 間的通信方法沒有差別,也會發生例如總線負載(bus load)或等待時間(latency)之類的 通信信道的過載。因此,通信的可靠性降低,并因此,即使當一個信道被分成多個信道時,也 使用網關。
[0010] 在該情況下,網關執行僅提取對應控制器(或服務器)所需的消息并且從另一信道 對所提取的消息進行路由的功能。
[0011] 上述總線負載是指每單位時間控制器的消息占據網絡的CAN總線的程度,上述等 待時間是指每個消息的傳輸被延遲的程度。通常,如果總線負載增加,則等待時間增加。
[0012] 作為網關的主要功能的路由能夠分為直接路由、間接路由、和消息及信號路由。
[0013] 直接路由是從傳輸信道接收的數據無需任何單獨的轉換就被傳輸到接收信道的 方法。因為數據按原樣被傳輸到接收信道,所以不需要單獨的處理過程。在該情況下,網關 僅用作簡單的中繼器(repeater )。
[0014] 為了執行直接路由,由網關中繼(repeat)的兩個信道應具有相同的拓撲 (topology)配置。
[0015]間接路由是在所接收消息的結構保持不變,但傳輸周期、傳輸方式等需要轉換時 應用的方法。在該方法中,路由是通過改變例如傳輸周期之類的消息的特性,同時保持構成 消息的數據的起始位(starting bit)的結構不變而執行的。
[0016] 在間接路由中,因為數據的格式被保持(即,因為該路由是不進行消息的轉換而執 行的),所以由網關中繼的兩個信道應具有相同的拓撲配置。
[0017] 信號路由是通過重建傳輸信道上的消息的數據,使其符合接收端(reception stage)的特性或符合設計者的意圖,執行路由的方法。
[0018] 在信號路由中,雖然兩個信道都具有不同的網絡拓撲,但是能夠與接收端的拓撲 相符(相適)地,對新消息進行路由。
[0019] 同時,車輛中電子控制器構成被稱作"看門狗"的監控系統,以便防御軟件上有可 能發生的問題。該監控系統監控車輛中的系統是否處于由機械故障引起的不工作(idle)狀 態或由程序錯誤引起的無限循環狀態。
[0020] 在上述網關的路由過程中有可能發生錯誤。網關具有使用一個控制器檢測軟件的 錯誤的看門狗功能。然而,看門狗功能通常局限于監控軟件的異常操作的功能。
[0021] 雖然一般控制器僅識別和接收其所需的消息,但是網關為了路由的目的,接收、路 由、和傳輸大量消息。因此,雖然網關執行正常進程(process),但由于外部條件的變化,例 如等待時間的增加,有可能在網關的路由過程中發生錯誤。
[0022] 特別是,在使用不同的通信拓撲,例如以太網、CAN、和Flexray的情況下,由于不 同的傳輸速度和特性,通信中的變數增多。由于這類原因發生的錯誤不是與軟件的進程相 關的錯誤。因此,該錯誤無法使用例如看門狗之類的監控系統檢測。
[0023] 此外,參與一般通信的消息生成校驗碼(checksum code)以防止由于通信問題導 致錯誤數據被傳輸,從而確保通信上有可能發生的錯誤的可靠性。然而,通過信號路由被路 由的消息是通過網關新編碼的,因此校驗碼無法用于不同的通信信道。
[0024] 換句話說,網關引起由于下面原因導致的可靠性問題。
[0025] 首先,網關是執行在通信上接收/傳輸大量數據的功能的一種控制器,但是其在 使用作為一般控制器的監控系統的看門狗檢測異常操作方面是有局限的。
[0026] 其次,在作為網關的主要功能的路由方面,由于軟件的外部問題而有可能發生錯 誤。
【發明內容】
[0027] 本發明提供一種網關的消息處理方法,該消息處理方法能夠通過改變消息傳輸的 時刻來改善網關的路由的可靠性,從而確保傳輸到用于路由消息的網關的消息與路由并傳 輸到另一信道的消息之間的最大允許等待時間。
[0028] 在一個方面,本發明提供一種網關的消息處理方法,該方法包括如下步驟:(a)計 算傳輸到上述網關的消息的傳輸時刻(transmission time)與從上述網關路由并傳輸的 消息的傳輸時刻之間的時差;(b)當上述時差小于目標值時,對傳輸到上述網關的消息的 傳輸周期和從上述網關路由并傳輸的消息的傳輸周期進行比較;(C)根據上述消息的傳 輸周期之間的比較結果,計算消息傳輸時刻偏移量;和(d)使用上述消息傳輸時刻偏移量 (message transmission timing offset),改變并校正傳輸到上述網關的上述消息的傳輸 時刻。
[0029] 在一示例性實施例中,在步驟(c)中,當上述路由前的消息的傳輸周期(Tx)等 于上述路由后的消息(Rx)的傳輸周期,上述消息傳輸時刻偏移量(Tx Mfsrt)可以根據 TxOTfset=PKx/2- A t計算得到,其中A t=tKx_tTx。在該情況下,A t的值可以小于0. 4 ? PTx。
[0030] 此處,tKx是上述路由后的消息(Rx )的傳輸時刻,tTx是上述路由前的消息(Tx )的 傳輸時刻,PTx是上述路由前的消息(Tx)的傳輸周期,PKx是上述路由后的消息(Rx)的傳輸 周期。
[0031] 在另一示例性實施例中,在步驟(c)中,當上述路由前的消息(Tx)的傳輸周期 大于上述路由后的消息(Rx)的傳輸周期時,上述消息傳輸時刻偏移量(Tx Mfset)可以根據 TxOTfset=PKx/2- A t計算得到,其中A t=tKx_tTx。在該情況下,A t的值可以小于"0? 4 ? PKx"。
[0032] 在另一示例性實施例中,在步驟(c)中,當上述路由前的消息(Tx)傳輸周期小 于上述路由后的消息(Rx)的傳輸周期時,上述消息傳輸時刻偏移量(Tx Mfset)可以根據 TxQffset=PTx/2-At計算得到,其中At=t Kx_tTx。在該情況下,At的值可以小于0. 4*PTx。
[0033] 在另一示例性實施例中,在針對傳輸到上述網關的所有消息,完成步驟(d)中的校 正后,步驟(d)可以包括:通過比較上述路由前和路由后的消息,確定上述路由后的消息是 否保持先前數據;和當上述路由后的消息保持上述先前數據時,計算消息傳輸時刻偏移量, 并使用計算得到的偏移量,改變傳輸到上述網關的消息的傳輸時刻。
[0034] 在另一示例性實施例中,當上述路由前的消息的傳輸時刻與上述路由后的消 息的傳輸時刻之間的時差不超過min (PTx, PKx)/2時,上述消息傳輸時刻偏移量可以用 Tx0ffset=〇. lXmin(PTx,PKx) i十算得到。
[0035] 此處,tKx是上述路由后的消息(Rx )的傳輸時刻,tTx是上述路由前的消息(Tx )的 傳輸時刻,PTx是上述路由前的消息(Tx)的傳輸周期,PKx是上述路由后的消息(Rx)的傳輸 周期。
[0036] 在另一示例性實施例中,當上述路由前的消息的傳輸時刻與上述路由后的 消息的傳輸時刻之間的時差大于min (PTx, PKx) /2時,上述消息傳輸時刻偏移量可以用 Tx0ffset=_〇. lXmin(PTx,PKx)計算得到。
[0037] 本發明的其他方面和示例性實施例在下面討論。
[0038] 在本發明的網關的消息處理方法中,通過改變和校正將消息傳輸到網關的控制器 的消息傳輸的時刻,保持傳輸到上述網關的消息的傳輸時刻與從上述網關路由并傳輸的消 息的傳輸時刻之間的差大于消息傳輸中的允許等待時間,從而能夠防止在網關的路由過程 中發生錯誤,并改善網關的路由的可靠性。
[0039] 本發明的上述和其他特征在下面討論。
【專利附圖】
【附圖說明】
[0040] 下面參考附圖示出的某些示例性實施例,詳細描述本發明的上述和其他特征,這 些附圖僅作為例示性目的,而非限制本發明。
[0041] 圖1是本發明的一實施例的網關的消息處理方法的示意圖。
[0042] 圖2至4是示出本發明的一實施例的網關的消息處理方法的視圖。
[0043] 圖5是示出本發明的一實施例的網關的消息處理方法的流程圖。
[0044] 應該理解,附圖沒有必要按比例繪制,它們只是呈現了圖示說明本發明的基本原 理的各種優選特征的在某種程度上加以簡化的表示方式。如本文所公開的,本發明的具體 設計特征,包括,例如,具體尺寸、方向、位置,以及形狀,部分地將由特定目的應用以及使用 環境來確定。
[0045] 在這些圖形中,貫穿附圖的多幅圖形,附圖標記指代本發明的相同或等效部件。
【具體實施方式】
[0046] 在下文中,將會詳細參考本發明的各種實施例,這些實施例的例子在附圖中示出 并描述如下。盡管本發明將與示例性實施例相結合進行描述,但應該理解,本說明書并非意 在將本發明限制為那些示例性實施例。相反,本發明意在不僅涵蓋這些示例性實施例,而且 涵蓋可以被包括在由所附權利要求所限定的本發明的精神和范圍內的各種替換、修改、等 效形式和其他實施例。
[0047] 本發明提供一種網關的消息處理方法,該方法能夠通過改變網關的消息傳輸的時 刻而改善路由操作的可靠性。
[0048] 于是,在本發明中,改變消息傳輸的時刻,從而確保傳輸到用于路由消息的網關的 消息與路由并傳輸到另一信道的消息之間的最大允許等待時間。
[0049] 換句話說,當網關為了不同通信信道之間的通信目的,從傳輸信道接收消息,然后 通過的路由過程將所接收的消息傳輸到接收信道時,如圖1所示,在增加允許等待時間的 方向上改變消息傳輸的時刻,從而防止接收對應消息的電子控制器的誤動作。
[0050] 消息傳輸的時刻的校正包括整體校正和部分校正,其中整體校正是在車輛的點火 開(ignition-on、點火開關接通)狀態下最初對所有消息執行的校正,部分校正是在車輛的 點火開之后對發生錯誤的消息執行的校正。
[0051] 換句話說,對消息傳輸的時刻的校正可以分為在車輛的點火開狀態下對所有消息 整體地執行校正的初始校正,和在車輛的點火開狀態之后僅對發生錯誤的消息部分地執行 校正的中間校正。
[0052] 為了執行初始校正(或初始正時校正(initial timing correction)),圖2所示的 網關的消息監控和相位計算器(MMPC :Message Monitoring&Phase Calculator)識別從第 一控制器(或傳輸控制器)傳輸到網關的消息的傳輸時間和在該網關被路由并傳輸到第二 控制器(或接收控制器)的消息的傳輸時刻,并計算傳輸時刻之間的等待時間(或時差)。
[0053] 如果計算得到的等待時間小于目標值,則MMPC計算能夠確保最大等待時間裕度 (margin)的傳輸時刻偏移量(transmission timing offset),并且將關于該計算得到的傳 輸時刻偏移量(圖2的傳輸時刻控制消息)的信息,如圖2所示,傳輸到第一控制器。
[0054] 第一控制器基于從MMPC提供得到的信息(圖2的傳輸時刻控制消息),通過改變消 息傳輸的時刻,最大限度地確保等待時間。
[0055] 在該情況下,第一控制器能夠使用微控制器單元(MCU :Micro Controller Unit) 定時器(timer),使控制器區域網絡(CAN)傳輸時刻,(S卩,消息傳輸的時亥lj)延遲上述傳輸時 刻偏移量。第一控制器基于校正后的(延遲的)傳輸時刻,與消息傳輸周期同步地傳輸消息。
[0056] 在初始校正后,通過比較路由前的消息(Tx消息)和路由后的消息(Rx消息),結果 是保持先前數據的情況下,MMPC再次控制消息傳輸的時刻。
[0057] 換句話說,在初始校正后,通過比較路由前的消息(Tx)和路由后的消息(Rx)而得 到的結果是,從網關傳輸而來的路由后的消息(Rx)保持先前(在此之前)從網關傳輸而來的 數據的情況下,MMPC通過中間校正改變消息傳輸的時刻。
[0058] 初始校正是在車輛的點火開狀態下在一定時間(例如,500ms)之后執行的。初始校 正是在所有消息被喚醒的條件下執行的。
[0059] 也就是說,初始校正是在第一控制器的所有消息被喚醒,并在車輛的點火開之后 傳輸到網關的條件下執行的。
[0060] 在改變消息傳輸的時刻的情況下,MMPC識別路由前的消息(Tx消息)的傳輸時刻 (即,消息從第一控制器傳輸到網關的時亥IJ)是否為路由后的消息(Rx消息)的傳輸時刻(即, 消息從網關傳輸到第二控制器的時刻)。
[0061] 如圖3所示,當路由前的消息的傳輸時刻(Tx)是作為路由后的消息(Rx)的傳輸時 刻的50%的傳輸周期的中間時刻時,MMPC能夠確保最大等待時間裕度。
[0062] 換句話說,當路由前的消息(Tx)的傳輸時刻對應于第一次路由后的消息(Rx')與 第二次路由后的消息(Rx)之間的中間時刻時,MMPC能夠確保最大等待時間裕度。
[0063] 在該情況下,第一次路由后的消息(Rx')是在第二次路由后的消息(Rx)被傳輸之 前被傳輸的消息,第二次路由后的消息(Rx)是通過網關,傳輸路由前的消息(Tx)而獲得的 消息。
[0064] 在基于能夠確保最大等待時間裕度的路由后的消息(Rx)的傳輸周期(PRX)的中間 時刻,消息沒有在與傳輸周期的60%的區域對應的時間裕度內傳輸的情況下,MMPC可以確 定需要進行消息傳輸的時刻的控制。
[0065] 換句話說,為了確定是否需要控制路由前的消息(Tx)的傳輸時刻,MMPC確定路由 前的消息(Tx)的傳輸時刻是否被包括在路由后的消息(Rx)的傳輸周期的20%到80%的時 刻內。在確定路由前的消息(Tx)的傳輸時刻沒有被包括在路由后的消息(Rx)的傳輸周期 的20%到80%的時刻內的情況下,MMPC確定等待時間小于目標值。MMPC確定消息傳輸的時 刻需要改變,以確保等待時間裕度。
[0066] 在路由前的消息(Tx)的傳輸周期等于路由后的消息(Rx)的傳輸周期的情況下, MMPC基于路由前的消息(Tx)的傳輸周期或路由后的消息(Rx)的傳輸周期,確定是否需要 改變路由前的消息(Tx)的傳輸時刻。在路由前的消息(Tx)的傳輸周期小于路由后的消息 (Rx)的傳輸周期的情況下,MMPC基于路由前的消息(Tx)的傳輸周期,確定是否需要改變路 由前的消息(Tx)的傳輸時刻。在路由前的消息(Tx)的傳輸周期大于路由后的消息(Rx)的 傳輸周期的情況下,MMPC基于路由后的消息(Rx)的傳輸周期,確定是否需要改變路由前的 消息(Tx)的傳輸時刻。
[0067] 也就是說,MMPC基于路由前的消息(Tx)的傳輸周期和路由后的消息(Rx)的傳輸 周期之中較短的一個,確定是否需要改變路由前的消息(Tx)的傳輸時刻。
[0068] 在需要改變路由前的消息(Tx)的傳輸時刻的情況下,可參考圖4如下所述那樣計 算消息傳輸時刻偏移量(TxMfse;t)。
[0069] 首先,在路由前的消息(Tx)的傳輸周期等于路由后的消息(Rx)的傳輸周期的情 況下,消息傳輸時刻偏移量(Tx Wfsrt)可以如下面公式1所示那樣計算。
[0070] 公式 1
【權利要求】
1. 一種網關的消息處理方法,其特征在于,包括如下步驟: (a) 計算傳輸到所述網關的消息的傳輸時刻與從所述網關路由并傳輸的消息的傳輸時 刻之間的時差; (b) 當所述時差小于目標值時,對傳輸到所述網關的消息的傳輸周期和從所述網關路 由并傳輸的消息的傳輸周期進行比較; (c) 根據所述消息的傳輸周期之間的比較結果,計算消息傳輸時刻偏移量;和 (d) 使用所述消息傳輸時刻偏移量,改變并校正傳輸到所述網關的消息的傳輸時刻。
2. 根據權利要求1所述的消息處理方法,其特征在于: 在所述步驟(c)中,當路由前的消息(Tx)的傳輸周期等于路由后的消息(Rx)的傳輸周 期時,所述消息傳輸時刻偏移量(TxMfset)根據TxMfset=PKx/2-At計算得到, 其中At=tRx_tTx,tRx是所述路由后的消息(Rx)的傳輸時刻,tTx是所述路由如的消息 (Tx)的傳輸時刻,PTx是所述路由前的消息(Tx)的傳輸周期,PKx是所述路由后的消息(Rx) 的傳輸周期。
3. 根據權利要求1所述的消息處理方法,其特征在于: 在所述步驟(c)中,當路由前的消息(Tx)的傳輸周期大于路由后的消息(Rx)的 傳輸周期時,所述消息傳輸時刻偏移量(TxMfsrt )根據TxMfsrt=PKx/2-At計算得到,其中 八t-tRx_tTx。
4. 根據權利要求1所述的消息處理方法,其特征在于: 在步驟(c)中,當路由前的消息(Tx)的傳輸周期小于路由后的消息(Rx)的傳輸周期 時,所述消息傳輸時刻偏移量(Tx〇ffse;t)根據Tx〇ffse;t=PTx/2-At計算得到,其中At=tKx_tTx。
5. 根據權利要求1所述的消息處理方法,其特征在于: 針對傳輸到所述網關的所有消息完成所述步驟(d)中的校正后,所述步驟(d)包括: 通過比較所述路由前和路由后的消息,來確定所述路由后的消息是否保持先前數據; 和 當所述路由后的消息保持所述先前數據時,計算消息傳輸時刻偏移量,并使用計算得 到的偏移量改變傳輸到所述網關的消息的傳輸時刻。
6. 根據權利要求5所述的消息處理方法,其特征在于: 當所述路由前的消息的傳輸時刻與所述路由后的消息的傳輸時刻之間的時差不超過min(PTx,PKx)/2時,所述消息傳輸時刻偏移量利用Txwfset=0.lXmin(PTx,PKx)計算得到, 其中,tKx是所述路由后的消息(Rx)的傳輸時刻,tTx是所述路由前的消息(Tx)的傳輸 時刻,PTx是所述路由前的消息(Tx)的傳輸周期,PKx是所述路由后的消息(Rx)的傳輸周期。
7. 根據權利要求5所述的消息處理方法,其特征在于: 當所述路由前的消息的傳輸時刻與所述路由后的消息的傳輸時刻之間的時差大于min(PTx,PKx)/2時,所述消息傳輸時刻偏移量利用TXwfset=-0.lXmin(PTx,PKx)計算得到。
8. 根據權利要求2所述的消息處理方法,其特征在于: 厶七是小于0.4*?1!£的值。
9. 根據權利要求3所述的消息處理方法,其特征在于: 厶七是小于匕斗^卩^的值。
10. 根據權利要求4所述的消息處理方法,其特征在于: 厶七是小于0.4*?1!£的值。
【文檔編號】H04L12/703GK104378284SQ201310712177
【公開日】2015年2月25日 申請日期:2013年12月20日 優先權日:2013年8月14日
【發明者】金東垣, 金有根, 崔圣豪 申請人:現代自動車株式會社