專利名稱:電子控制單元和用于規定電子控制單元的軟件結構的方法
技術領域:
本發明涉及一種根據獨立權利要求的電子控制單元以及一種根據獨立權利要求的用于規定電子控制單元的軟件結構的方法。此外本發明還涉及一種根據權利要求10的具有程序代碼裝置的計算機程序,該計算機程序用于實施用于規定軟件結構的方法。
背景技術:
電子控制單元的功能的不斷增加的復雜性以及例如汽車聯合裝置(Fahrzeugverbund)中的控制單元相互之間以及與外部應用的不斷增加的聯網和相互作用都極大地提高了這種控制單元的軟件要求。這一點不僅適用于汽車聯合裝置中的控制單元,而且也適用于其它技術領域、例如自動化領域中的控制單元和模塊的聯網和相互作用。
從軟件要求出發,軟件開發以其分析和相應的軟件結構的規定開始。在此情況下首先必須確定或者規定要在相應的電子控制單元上執行的軟件的界限。
對于汽車聯合裝置中的控制單元的使用來說已知的是,在開發期間使用與在生產中或者在維護中所使用的控制單元、例如串行控制設備不同的控制單元,這些控制單元于是也被稱為開發控制設備、原型控制設備、模型控制設備或者應用控制設備。其中,這些控制設備與串行控制設備的區別通常在于針對相應的開發應用所修改的所謂的板外(Off-Board)接口,這在大多數情況下與硬件和軟件匹配結合在一起。于是,工具和控制設備的微控制器之間的通信通過不同種類的接口進行。因此例如針對各種功能在ASAM中將測量、校準、診斷和快速編程(Flash-Programmierung)方法標準化。
發明內容
提出根據權利要求1的本發明電子控制單元和根據權利要求8的本發明方法以及根據權利要求10的相應的計算機程序。其它優選的實施形式在相應的從屬權利要求中提出。
根據權利要求1,提供一種電子控制單元,該電子控制單元具有在其上執行的由組件組成的軟件,具有多個在信息交換方面被優化的用于選擇性地連接多個應用的軟件接口,其中該軟件針對每個可連接的應用包括組件的至少一個應用特定的軟件代碼。
一般區分兩種信息,這些信息影響軟件組件的軟件代碼的流程或者激活并且通過軟件接口來傳輸。在此一方面涉及數據信息,而另一方面涉及控制信息。在軟件接口的情況下,相應地在數據接口和控制接口之間進行區分。在軟件系統中的信息的處理被稱為數據流或者控制流。若例如所謂的CAN(控制器局域網絡)消息、即通過CAN總線所接收到的消息到達微處理器,則該CAN總線首先給微處理器一個信號,即消息已到達,這也被稱為中斷。于是在此涉及控制信息。CAN消息的內容、例如所傳輸的信號的值可以與此相對地是數據信息。這種區分不僅適用于軟件系統的輸入和輸出接口,而且也適用于軟件系統的內部組件的接口。
在本發明電子控制單元的另一種優選的實施形式中,軟件接口根據分別可連接到其上的應用而被分組為“板上(on-board)”和“板外(off-board)”接口。電子控制單元一般被集成到上級聯合裝置中、例如汽車聯合裝置中。現在借助該聯合裝置來確定或規定電子控制單元的軟件的界限。確切地定義什么屬于電子控制單元的軟件以及什么屬于軟件的環境或者屬于軟件的上下文。此后還確定,電子控制單元具有哪些輸入和輸出接口。此后還確切地確定那些通向聯合裝置內部應用的在本發明范圍內被稱為“板上”接口的軟件接口,以及與此相地那些通向聯合裝置外部應用的在本發明范圍內被稱為“板外”接口的軟件接口。“板上”接口例如是通向額定值調整器、傳感器和執行機構的接口以及用于聯合裝置內部通信、即與聯合裝置、例如汽車的其它電子系統的所謂板上通信的接口。根據本發明的控制單元具有作為“板外”接口的對于板外通信來說必需的所有軟件接口。若電子控制單元例如被集成到汽車聯合裝置中,則它具有在開發過程中、在生產中或者在汽車的維護中為與汽車外部電子單元進行通信所必需的所有軟件接口。外部單元例如可以是執行確定的功能、例如測量、校準、診斷或者編程的工具。每個工具都需要其可以連接的“板外”接口的說明。該說明例如以文件、即所謂的說明文件的形式被存儲。其中一方面說明了“板外”接口的硬件和軟件信息,另一方面存儲了用于工具對電子控制單元的數據的訪問的信息、例如信號、變量和參數的存儲器地址。
在電子控制單元的一種特別優選的實施形式中,電子控制單元的軟件其中具有在軟件組件的相互的訪問可能性方面分級的層結構,其中每個軟件組件被分配給一層。這些層的特征在于,在一層內的軟件組件可以任意地互相訪問,然而在不同層之間適用嚴格的規則。這些層相應地根據其被分配的抽象級別來布置。具有較高抽象級別的層可以訪問具有較低抽象級別的層。相反,較低的層對較高的層的訪問是極受限制的或者不允許的。
因此,軟件組件被嚴格地劃分為與任務有關的、即功能性的層。在此情況下,層結構優選地實現獨立于硬件的軟件組件與依賴于硬件的軟件組件的分離。這意味著,由此執行了真正的控制單元功能、即獨立于硬件的軟件組件、例如應用軟件與平臺軟件的依賴于硬件的軟件組件的分離。由此,使單個軟件組件的創建、維護和再利用大大簡化。可以跨越項目地使用平臺軟件或者相應的軟件組件。根據本發明被優化的軟件接口在此情況下被統一用于對控制單元的訪問。因此,在開發期間、在生產中以及在維護中可以使用標準化的方法或者與這些標準接口匹配的工具,例如用于快速原型設計、調試、測量以及校準。此外,應用軟件的軟件組件可以獨立于硬件來規定并且由此可以移植到不同的控制單元平臺上。
在電子控制單元的另一種優選的實施形式中,軟件根據軟件接口上存在的信息分別采用多個可能的工作狀態中的一個,并且此后僅僅支持狀態特定的功能。在生產中并且在維護中,軟件組件的參數確定以及軟件更新例如大多在軟件的特定工作狀態中進行,在該工作狀態中,控制和監控功能由于安全性的原因只允許部分地被執行或者完全不允許被執行。
在本發明電子控制單元的一種優選的實施形式中,軟件可以采用“軟件更新”狀態、“軟件參數確定”狀態、“軟件診斷”狀態、“空轉”狀態、“監控”狀態、“開啟”狀態或者“緊急運轉”狀態作為工作狀態。控制單元采用哪種狀態取決于其軟件接口上存在的信息。如果電子控制單元例如被集成在汽車中,則例如在汽車的點火系統接通時可以采用工作狀態“開啟”。于是在該工作狀態中,例如電子控制單元的所有顯示功能都可供使用。若軟件采用工作狀態“軟件更新”,則例如在生產中并且在維護中只支持通過“板外”診斷接口的快速編程。工作狀態“軟件參數確定”被設置用于在生產中或在維護中通過所謂的“板外”診斷接口調整軟件參數。在汽車聯合裝置的情況下,例如可以涉及行程和速度指示在公里和英里之間的切換,或者可以涉及在不同的語言變體之間的切換。在軟件的工作狀態“軟件診斷”中,軟件只支持診斷功能、例如用于傳感器和執行機構診斷的功能以及故障存儲器的讀出和清除。這些功能有利地也只在該工作狀態中可供使用,或者在軟件方面只在軟件的該工作狀態中被支持。此外,例如在汽車的情況下在點火鑰匙旋轉到特定位置中之后,軟件可以采用工作狀態“監控”,由此隨后在軟件方面支持監控功能。最后,例如在汽車的發動機停止之后軟件可以采用工作狀態“空轉”,其中電子控制單元被集成到該發動機中。在此情況下,此后例如支持存儲功能和消耗時間較多的監控功能。此外,工作狀態“緊急運轉”也是可設想的,該工作狀態在軟件方面例如在安全性相關的組件發生故障時被采用,并且在該工作狀態中軟件支持能夠實現以受限制的功能繼續工作的功能。
除了這些工作狀態之外,優選地還規定了各個工作狀態之間的允許的過渡以及過渡條件。在此情況下有利地將狀態自動機用于規定。
此外,本發明還包括本發明電子控制單元在汽車電子中的應用,優選地在汽車中用于控制工作過程。
此外,本發明還提供一種用于規定電子控制單元的軟件結構的方法。其中在第一步驟中規定確定的軟件接口。這意味著,這里規定軟件的上述的“板上”和“板外”接口。在第二步驟中,規定軟件組件和其接口。其中還確定軟件組件之間的通信。在另一步驟中確定軟件層和可能的軟件工作狀態。在隨后的步驟中,自動地將軟件組件分配給軟件層以及分配給軟件工作狀態,其中通過隨后對基于該分配而實現的相互作用進行分析和檢驗來驗證該分配。
在本發明方法的一種優選的實施形式中,在分配不充分的情況下,軟件組件被劃分為確定的子組件和/或軟件層被劃分為確定的子層和/或軟件工作狀態被劃分為確定的子狀態,接著自動地進行重新分配。
借助本發明方法,在規定電子控制單元的軟件結構時考慮,在軟件的軟件組件、軟件層和工作狀態的規定之間存在許多相互作用。通過在開發軟件結構時考慮這些因素,該軟件可普通用于所有應用,并且在使用電子控制單元時無需只有那時才可進行的匹配。
此外,本發明還提供具有程序代碼裝置的計算機程序和計算機程序產品,其中在程序代碼裝置在計算機上或者在計算機系統上執行時,自動實施本發明方法。
本發明的另外的優點借助下面的附圖更詳細地進行說明。
圖1示出了本發明電子控制單元的一種實施形式的示意圖。
圖2示出了本發明電子控制單元的另一種實施形式的軟件結構的示意圖。
具體實施例方式
圖1示出了電子控制單元100。該電子控制單元100被集成在特別是具有多個控制單元、傳感器和執行機構的上級聯合裝置、例如汽車中。除了控制單元100的內部組件的接口、即在控制單元100之內的接口之外,還存在通向上級聯合裝置之內的應用的接口,這些接口是“板上”接口。控制單元100示出了作為“板上”接口的CAN接口101和MOST(面向媒體的系統傳輸)接口102,通過這些接口可以相互交換信息。上級聯合裝置、例如汽車的傳感器和執行機構例如可以連接到CAN接口上。用于CAN接口或者用于MOST接口的所屬的驅動器用101A或者102A標出。此外還示出了模擬(103)和數字(104)輸入和輸出端(模擬I/O,數字I/O)和分別所屬的驅動器103A和104A。此外示出了接口105、106和107,例如不同的顯示應用108可以連接到這些接口上,這些顯示應用從控制單元的相應的驅動器109獲得信息。在此,顯示應用例如可以是指示器控制裝置108A、顯示器控制裝置108B或者LED控制裝置108C。在本實例中,驅動器109A作為指示器驅動器、109B作為顯示器驅動器以及109C作為LED驅動器被構建。控制單元的其它功能、例如計算功能或者處理功能與相應的對象以元素120示出,其中應對這些相應的對象執行該計算功能或者處理功能。
在圖2中示出了電子控制單元100的軟件結構。其中軟件組件被分配給多個層。在此例如為平臺層110和應用層111。這里在平臺層110中此外還包含CAN驅動器113和具有所屬的MOST網絡服務131的MOST驅動器122。在此情況下,還產生依賴于硬件的軟件組件、即所謂的平臺軟件110和獨立于硬件的軟件組件、即所謂的應用軟件111的分離。在此,平臺軟件110包括例如OSEK-OS的操作系統和用于為不同的、可選的、獨立于硬件的軟件組件定義普通的標準化接口的所謂的硬件抽象層(HAL),該標準化接口用于連接到這些依賴于硬件的軟件組件上。在此,HAL例如包含已經提及的指示器驅動器123、顯示器驅動器124、LED驅動器125以及I/O驅動器126。層111中的獨立于硬件的軟件組件例如可以包含用于在汽車中控制工作過程的軟件功能115。在此例如可以涉及在115下被概括的顯示功能和/或計算功能和/或處理功能或者控制和/或調節功能F1至F5,以及另一方面可以涉及在114下被概括的相應的對象01至013,其中可對這些對象執行這些功能。平臺軟件110和應用軟件111之間的軟件內部接口SISS在此被示意性地示出,并且在其準確的位置和連接方面并不應被視為受限制的。即,例如HAL和對象114之間的連接SISS1和SISS2是示例性地并且示意性地示出的。這同樣適用于其余的軟件內部接口SISS3至SISS6,其中每個其它的連接和位置同樣也是可能的。然而以下原則是清楚的,即在層110和111之內不同的組件互相聯網,而例如在平臺軟件110中,只有除了快速加載程序(Flash-Loader)之外的最上面的組件具有通向應用軟件的接口SISS。因此例如不存在這樣的接口,該接口能夠實現將位于CAN驅動器113處的信息直接轉交給應用軟件111。
一般地,現在如已經說明的那樣區分兩種類型的信息,這些信息影響軟件組件的軟件代碼的流程或者激活,并且通過軟件接口、例如前面提及的軟件內部接口SISS來傳輸。在此一方面涉及數據信息,并且另一方面涉及控制信息。于是在軟件接口的情況下可以相應地在數據接口和控制接口之間進行區分。該區分不僅適用于這里被稱為SESS、即軟件外部接口的、軟件系統的輸入和輸出接口,而且也適用于圖2中示例性的軟件系統的內部組件的接口SISS。
在此,軟件接口可以根據分別可連接到其上的應用而被分組為“板上”和“板外”接口,并且這樣被進一步細分。電子控制單元一般被集成到上級聯合裝置中、例如汽車聯合裝置中。借助該聯合裝置,現在確定或規定電子控制單元的軟件的邊界。確切地定義,什么屬于電子控制單元的軟件以及什么屬于軟件的環境或者上下文。此后還確定,電子控制單元具有哪些輸入和輸出接口。此外,確切地確定那些通向聯合裝置內部應用的、在本發明范圍內被稱為“板上”接口的軟件接口,以及與此相對地那些通向如上面說明的聯合裝置外部應用的、在本發明范圍內被稱為“板外”按口的軟件接口。“板上”接口例如是通向額定值調整器、傳感器和執行機構的接口以及用于聯合裝置內部通信、即與聯合裝置、例如汽車的其它電子系統的所謂板上通信的接口。在此,接口SESS可以是板上接口、例如通過HAL至汽車內部硬件的SESS1和SESS2,或者也可以是板外接口、例如通過CAN驅動器113至外部診斷設備的接口SESS4。接口SESS4也可以是例如經由CAN總線至執行機構、傳感器或者其它控制單元的汽車內部接口、即板上接口。同樣的也適用于MOST接口122和SESS3。
在本實例中例如用127來表示ISO診斷協議以及用128來表示ISO網絡層。在平臺軟件110中,129表示互動層OSEK-COM,以及130表示網絡管理OSEK-NM。
所提及的分級層結構在這里因此用兩層110和111來示例性地示出,其中每個軟件組件被分配給一層。這些層的特征在于,在一層內的軟件組件可以任意地互相訪問,然而在不同的層之間適用關于接口SISS的嚴格的規則。這些層相應地根據其被分配的抽象級別來布置。具有較高抽象級別的層可以訪問具有較低抽象級別的層。相反,較低的層對較高的層的訪問是極受限制的或者是不允許的。在此情況下,其它層例如可以是傳感器層或者也可以是執行機構層,然而在此為了清楚起見而沒有明確地示出這些其它層。
因此,軟件組件被嚴格地劃分為與任務有關的、即功能性的層。然而在此該層結構優選地實現獨立于硬件的軟件組件和依賴于硬件的軟件組件的分離。這意味著,由此以已經說明的優點實現真正的控制單元功能、即獨立于硬件的軟件組件、例如應用軟件與平臺軟件的依賴于硬件的軟件組件的分離,其中根據本發明在信息交換方面被優化的軟件接口在此被統一用于對控制單元的訪問。
在此,軟件可以根據軟件接口上存在的信息分別采用多個可能的工作狀態中的一個并且此后僅僅支持狀態特定的功能。作為工作狀態,例如可以設想采用“軟件更新”狀態、“軟件參數確定”狀態、“軟件診斷”狀態、“空轉”狀態、“監控”狀態、“開啟”狀態或者“緊急運轉”狀態。控制單元采用哪個狀態如所述的那樣取決于其軟件接口上存在的信息。
除了工作狀態之外,優選地還規定各個工作狀態之間的允許的過渡以及過渡條件。在此有利地將狀態自動機用于規定。
在這些層中,此外還存在子層或者子組件,以便在分配不充分的情況下將軟件組件劃分為確定的子組件和/或將軟件層劃分為確定的子層和/或將軟件工作狀態劃分為確定的子狀態,接著可以自動地進行重新分配。
借助本發明方法,因此在規定電子控制單元的軟件結構時考慮,在軟件的軟件組件、軟件層和工作狀態的規定之間存在許多相互作用。通過在開發軟件結構時考慮這些因素,可將該軟件普遍用于所有應用,并且在使用電子控制單元時無需只有那時才可執行的匹配。
權利要求
1.一種電子控制單元,具有在其上執行的由組件構成的軟件,在該電子控制單元中設置有多個在信息交換方面被優化的用于選擇性地連接多個應用的軟件接口,其中所述軟件針對每個可連接的應用包含組件的至少一個應用特定的軟件代碼,該軟件代碼在連接所述應用時被激活。
2.根據權利要求1的電子控制單元,其中所述軟件具有在軟件組件的相互的訪問可能性方面分級的層結構,其中每個軟件組件被分配給一層。
3.根據權利要求2的電子控制單元,其中所述層結構實現獨立于硬件的軟件組件與依賴于硬件的軟件組件的分離。
4.根據權利要求1、2或3之一的電子控制單元,其中所述軟件接口根據分別可連接到其上的應用而被分組為“板上”和“板外”接口。
5.根據前述權利要求之一的電子控制單元,其中所述軟件根據所述軟件接口上存在的信息分別采用多個可能的工作狀態中的一個并且在該工作狀態中僅僅支持狀態特定的功能。
6.根據前述權利要求之一的電子控制單元,其中所述軟件可以采用“軟件更新”狀態、“軟件參數確定”狀態、“軟件診斷”狀態、“空轉”狀態、“監控”狀態或者“開啟”狀態作為工作狀態。
7.根據前述權利要求之一的電子控制單元(100)在汽車電子中的應用,尤其是用于在汽車中控制工作過程。
8.用于規定電子控制單元(100)的軟件結構的方法,其中在規定了確定的軟件接口、軟件組件、軟件層和軟件工作狀態之后,自動地將所述軟件組件分配給所述軟件層以及分配給所述軟件工作狀態,其中通過緊接著對基于所述分配而實現的相互作用進行分析和檢驗來驗證所述分配。
9.根據權利要求8的方法,其中在分配不充分的情況下,將所述軟件組件劃分為確定的子組件和/或將所述軟件層劃分為確定的子層和/或將所述軟件工作狀態劃分為確定的子狀態,并且自動地進行重新分配。
10.具有程序代碼裝置的計算機程序,通過該計算機程序在程序代碼元素在計算機上或者在計算機系統上執行時自動實施根據權利要求8或9之一的方法。
11.具有被存儲在計算機可讀數據載體上的程序代碼裝置的計算機程序產品,用于當計算機程序在計算機上得到執行時實施根據權利要求8或9之一的方法。
全文摘要
本發明涉及一種電子控制單元(100),該電子控制單元具有在其上執行的由組件構成的軟件,以及多個在信息交換方面被優化的用于選擇性地連接多個應用的軟件接口(101、102、103、104、105、106),其中該軟件針對每個可連接的應用包含組件的至少一個應用特定的軟件代碼,在連接應用時該軟件代碼被激活。此外本發明還涉及一種相應的用于規定電子控制單元(100)的軟件結構的方法。
文檔編號G05B19/04GK1813226SQ200480017698
公開日2006年8月2日 申請日期2004年6月24日 優先權日2003年6月24日
發明者T·祖勞卡, J·紹伊費勒 申請人:羅伯特.博世有限公司