电子控制单元和用于规定电子控制单元的软件结构的方法

文档序号:6307167阅读:433来源:国知局
专利名称:电子控制单元和用于规定电子控制单元的软件结构的方法
技术领域
本发明涉及一种根据独立权利要求的电子控制单元以及一种根据独立权利要求的用于规定电子控制单元的软件结构的方法。此外本发明还涉及一种根据权利要求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·绍伊费勒 申请人:罗伯特.博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1