用于確定基于虛擬化的集成控制系統中軟件錯誤的方法
【專利摘要】基于虛擬化的集成控制系統中的軟件錯誤的確定方法對于每個分區(車輛控制器的軟件)檢測軟件錯誤且自動恢復。因此,可以進一步加強作為虛擬化技術優勢的系統可靠性,從而對操作者提供穩定性,且可以通過寫入錯誤信息輕易地解決軟件錯誤。
【專利說明】用于確定基于虛擬化的集成控制系統中軟件錯誤的方法
[0001]相關申請的交叉引用
[0002]本申請要求于2013年5月24日提交到韓國知識產權局的韓國專利申請第10-2013-0059093號的優先權,其公開內容全部引入本文以供參考。
【技術領域】
[0003]本公開涉及用于確定基于虛擬化的集成控制系統中軟件錯誤的方法,且更具體地,涉及用于自動檢測基于虛擬化的集成控制系統中發生在分區軟件中的錯誤并將該系統恢復到正常狀態的方法。
【背景技術】
[0004]存在各種用于配置集成控制器的方案。一個方案是在硬件組件中改變適用于一個軟件平臺的多個軟件邏輯(代碼更改)。另一個方案是使用虛擬化技術將物理微控制器單元(MCU)劃分為多個虛擬MCU而不改變軟件平臺和軟件邏輯。
[0005]在現有的基于虛擬化的集成控制器中,在控制器中的軟件造成錯誤時,該軟件就不能再正常工作。
[0006]也就是,現有的基于虛擬化的集成控制器不能檢測控制器軟件中的錯誤,因此不能在錯誤發生之后自動恢復。
[0007]具體地,現有的基于虛擬化的集成控制器不能識別控制器軟件的哪部分造成錯誤。
【發明內容】
[0008]制作本公開以解決上述現有技術中出現的問題,同時現有技術所實現的優勢保持完整。
[0009]根據本公開的實施方式,用于確定基于虛擬化的集成控制系統中軟件錯誤的方法對于每個分區(車輛控制器的軟件)檢測軟件錯誤并自動恢復。因此,可以進一步加強作為虛擬化技術優勢的系統可靠性,從而對操作者提供穩定性,且可以通過寫入錯誤信息輕易地解決軟件錯誤。
[0010]本公開的一方面提供一種用于確定基于虛擬化的集成控制系統中的錯誤的方法,其中該系統包括:基于虛擬化的集成控制器,其使物理微控制器單元(MCU)虛擬化以創建多個虛擬MCU ;以及軟件型控制器,在虛擬MCU上工作。該方法包括:從基于虛擬化的集成控制器向軟件型控制器輸送計時器中斷;從軟件型控制器向基于虛擬化的集成控制器輸送差值,該差值為當前從計時器讀取的計數值與緊臨著的前一次從計時器讀取的計數值之間的差;以及根據從軟件型控制器輸送的差值,由基于虛擬化的集成控制器確定軟件型控制器中是否發生錯誤。
【專利附圖】
【附圖說明】
[0011]本公開的上述和其它目的、特征和優勢根據以下結合附圖的【具體實施方式】將更加明顯。
[0012]圖1是示出根據本公開實施方式的基于虛擬化的集成控制系統的配置的視圖。
[0013]圖2是示出根據本公開實施方式的基于虛擬化的集成控制系統的配置的視圖。
[0014]圖3是示出根據本公開實施方式的用于確定基于虛擬化的集成控制系統中軟件錯誤的方法的流程圖。
[0015]附圖中各元件的符號
[0016]10 物理 MCU
[0017]20用于使控制器集成的虛擬化平臺
[0018]30 第一虛擬 MCU
[0019]31第一控制器
[0020]32計時器
[0021]40 第二虛擬 MCU
[0022]41第二控制器
[0023]42計時器
[0024]301由基于虛擬化的集成控制器將計時器中斷輸送到軟件型控制器
[0025]302將由軟件型控制器當前從計時器讀取的計數值與緊臨著的前一次讀取的計數值之間的差(差值)輸送到基于虛擬化的集成控制器
[0026]303基于從軟件型控制器輸送的差值,由基于虛擬化的集成控制器確定軟件型控制器中的錯誤
【具體實施方式】
[0027]在下文中將參考附圖詳細說明本公開的實施方式。
[0028]圖1是示出根據本公開實施方式的基于虛擬化的集成控制系統的配置的視圖。
[0029]如圖1所示,根據本公開實施方式的基于虛擬化的集成控制系統使物理微控制器單元(MCU) 10虛擬化,以包括用于使控制器20集成的虛擬化平臺(以下稱為基于虛擬化的集成控制器),其創建第一虛擬MCU 30和第二虛擬MCU 30。
[0030]第一控制器31是軟件型控制器,其基于第一虛擬MCU 30驅動,且執行計時器功能32和活性檢查任務(LCT)功能33以及各種控制功能。
[0031]同樣地,第二控制器41是軟件型控制器,其基于第二虛擬MCU 40驅動,且執行計時器功能42和LCT功能43以及各種控制功能。
[0032]在從基于虛擬化的集成控制器20周期性地(例如每1ms)接收計時器中斷時,計時器功能32和42是指增加I計數值。作為實例,計時器可被實施為Linux操作系統上運行的 “j if fie”。
[0033]“jiffie”是在軟件上管理時間的全局變量,且對每個計時器中斷以固定間隔(1ms)增加I “jiffie”值。也就是,“jiffie”在該國為本領域技術人員所熟知。
[0034]LCT功能33和43是指以預定間隔(如100ms)讀取由計時器功能32和42所計數的值,從而將該值輸送到基于虛擬化的集成控制器20。由于LCT功能與由控制器的調度器所調度的任務一起執行,因此可以基于當前讀取的計數值與緊臨著的前一次讀取的計數值之間的差(以下稱作差值)估計控制器的負載。此處,LCT功能33和43存儲當前讀取的計數值和前一次讀取的計數值。
[0035]例如,在計時器中斷時間是10ms,LCT間隔是100ms,且緊臨著的前一次讀取的計數值是10的條件下,當由于沒有很多其它任務而在設定時間執行LCT功能時,基于虛擬化的集成控制器20每10ms從軟件型控制器接收差值。也就是,因為之前讀取的計數值為10,且10ms時讀取的計數值為20,則輸送10的差值。
[0036]在這種條件下,如果由于有許多其它任務而在IlOms執行LCT功能,則基于虛擬化的集成控制器20接收差值11,因為從計時器讀取的計數值是21且之前讀取的計數值是10。
[0037]因此,如果接收到10,基于虛擬化的集成控制器20可確定軟件型控制器在正常工作,而如果接收到11,控制器可確定軟件型控制器被施加負載使得不在正常時間執行LCT。此處,輸送LCT執行結果(差值)的間隔(輸送間隔)被設定,使得如果差值在輸送間隔的閾值(30ms)過去之后沒被輸送,則確定軟件型控制器中出現錯誤并且發送復位信號。也就是,重新啟動軟件型控制器。
[0038]在本公開中,由硬件配置物理MCU 10,而由軟件配置基于虛擬化的集成控制器
20、第一虛擬MCU 30、第二虛擬MCU 40、第一控制器31和第二控制器41。
[0039]在下文中參考圖2說明基于虛擬化的集成控制器20的配置。
[0040]圖2是示出根據本公開實施方式的基于虛擬化的集成控制系統的配置的視圖。
[0041]如圖2所示,根據本公開實施方式的基于虛擬化的集成控制系統包括物理微控制器單元(MCU) 10、用于使控制器20集成的虛擬化平臺(以下稱為基于虛擬化的集成控制器)、第一虛擬MCU 30以及第二虛擬MCU 40。
[0042]物理MCU 10是物理機器,其整體控制基于虛擬化技術的多個車輛控制器。車輛控制器是在由虛擬化技術創建的虛擬機器30和40上工作的軟件型控制器31和41,其包括汽車開放系統架構(AUTOSAR)、Linux、應用等,且更具體地包括集群(cluster)邏輯軟件、集群圖形軟件等。
[0043]基于虛擬化的集成控制器20是一種用于使軟件型控制器31和41集成的虛擬機器監視器(基于虛擬化的集成控制器),且支持軟件型控制器31和41以使其可基于虛擬化技術在物理MCU 10上同時操作。也就是,基于物理MCU 10,創建用于第一控制器31的第一虛擬MCU 30和用于第二控制器41的第二虛擬MCU 40。
[0044]基于虛擬化的集成控制器20經分區間通信(IPC)與軟件型第一控制器31和軟件型第二控制器32通信。
[0045]也就是,基于虛擬化的集成控制器20例如以1ms間隔周期性地經IPC將計時器中斷輸送到計時器32、42(101,210)。如果基于虛擬化的集成控制器20例如以10ms間隔周期性地接收差值,則確定軟件型控制器31、41正常工作。如果基于虛擬化的集成控制器20在閾值間隔例如130ms內接收差值,則確定軟件型控制器31、41被施加負載。如果基于虛擬化的集成控制器20未能在閾值間隔內接收差值,則確定軟件型控制器31、41中出現錯誤以使其重新啟動。此處,10ms是輸送間隔且130ms是閾值間隔。
[0046]圖3是根據本公開實施方式的用于確定基于虛擬化的集成控制系統中軟件錯誤的方法的流程圖。
[0047]基于虛擬化的集成控制器20將計時器中斷輸送到軟件型控制器31、41 (301)。然后,軟件型控制器31、41將當前讀取的計數值與緊臨著的前一次讀取的計數值之間的差(以下稱為差值)從計時器32、42輸送到基于虛擬化的集成控制器20 (302)。
[0048]基于虛擬化的集成控制器20然后基于從軟件型控制器31、41輸送的差值確定軟件型控制器中是否發生錯誤(303)。也就是,當基于虛擬化的集成控制器20在軟件型控制器的輸送間隔內接收到差值時,基于虛擬化的集成控制器20確定軟件型控制器是否正常工作。
[0049]如果基于虛擬化的集成控制器20在軟件型控制器的閾值間隔內接收到差值,則基于虛擬化的集成控制器20確定軟件型控制器被施加負載。
[0050]進一步,如果基于虛擬化的集成控制器20未能在軟件型控制器的閾值間隔內接收到差值,則基于虛擬化的集成控制器20確定軟件型控制器中發生錯誤且重新啟動軟件型控制器。
[0051]如上所述,根據本公開的實施方式,在應用虛擬化技術的集成控制器中,對于各個分區檢測軟件錯誤且自動恢復,使得可以進一步加強作為虛擬化技術優勢的系統可靠性,從而對操作者提供穩定性,且可通過寫入錯誤信息輕易地解決軟件錯誤。
[0052]在不偏離本公開的范圍和主旨的情況下,本公開所屬領域的技術人員可對上述本公開進行各種替換、改變和修改。因此,本公開不限于上述示例性實施方式以及附圖。
【權利要求】
1.一種用于確定基于虛擬化的集成控制系統中錯誤的方法,其中所述系統包括使物理微控制器單元(MCU)虛擬化以創建多個虛擬MCU的基于虛擬化的集成控制器,以及在所述虛擬MCU上工作的軟件型控制器,所述方法包括: 從所述基于虛擬化的集成控制器向所述軟件型控制器輸送計時器中斷; 從所述軟件型控制器向所述基于虛擬化的集成控制器輸送差值,所述差值為當前從計時器讀取的計數值與緊臨著的前一次從所述計時器讀取的計數值之間的差;以及 基于從所述軟件型控制器輸送的差值,由所述基于虛擬化的集成控制器確定所述軟件型控制器中是否發生錯誤。
2.根據權利要求1所述的方法,其中由所述基于虛擬化的集成控制器執行的確定步驟還包括,如果在所述軟件型控制器的輸送間隔內接收到所述差值,則確定所述軟件型控制器正常工作。
3.根據權利要求2所述的方法,其中對于各個所述軟件型控制器不同地設置所述輸送間隔。
4.根據權利要求1所述的方法,其中由所述基于虛擬化的集成控制器執行的確定步驟還包括,如果在所述軟件型控制器的閾值間隔內接收到所述差值,則確定所述軟件型控制器被施加負載。
5.根據權利要求1所述的方法,其中由所述基于虛擬化的集成控制器執行的確定步驟還包括: 如果未在所述軟件型控制器的閾值間隔內接收到所述差值,則確定所述軟件型控制器中發生錯誤;以及 重新啟動發生錯誤的軟件型控制器。
6.根據權利要求5所述的方法,其中對于各個所述軟件型控制器不同地設置所述輸送間隔。
7.根據權利要求1所述的方法,其中所述基于虛擬化的集成控制器和所述軟件型控制器經分區間通信(IPC)而相互通信。
【文檔編號】G05B23/02GK104181909SQ201310598068
【公開日】2014年12月3日 申請日期:2013年11月22日 優先權日:2013年5月24日
【發明者】李炫雨, 樸英雨, 吳珉赫, 權海永, 金世元, 柳爀 申請人:現代自動車株式會社, 高麗大學校產學協力團