带有同步驱动程序的车辆控制装置的制作方法

文档序号:30444142发布日期:2022-06-17 23:45阅读:79来源:国知局
带有同步驱动程序的车辆控制装置的制作方法

1.本发明涉及带有处理器的车辆控制装置,所述处理器用于执行同步驱动程序以将车辆状态数据写入在闪存存储器内。本发明特别地涉及用于执行实时闪存访问的专用闪存驱动程序。


背景技术:

2.autosar架构(汽车开放系统架构)是用于汽车行业的软件组件开发的标准,其源自不同的汽车制造商的合流。autosar具有以下特性:a)基本功能的实现和标准化,所述基本功能具有模块化结构,并且可被第三方制造商的模块替代。b)针对不同车辆类型的可扩展性,即实施可受益于经过良好测试的高质量标准模块的可扩展的解决方案。c)冗余设计的可能性,特别是对于安全性关键的领域。d)其他制造商的模块的嵌入。e)整个产品生命周期期间的可维护性。f)车辆整个生命周期期间的软件更新和升级。
3.然而,已表明,在autosar架构中,信息的持久存储无法实时进行。因为此情况下的实现基于先入先出(fifo)原则,其中系统的所有软件组件都写入到队列或等待列表内。所述软件组件然后被依次(异步)处理,使得不能确定被处理之前的精确时间。最坏情况分析在此提供了对于许多应用来说处于要求之外的值。例如,要求在10ms内保存碰撞事件。


技术实现要素:

4.本发明要解决的技术问题是实现一种车辆控制装置,其中对于一定的关键应用,例如记录车辆碰撞,可以保证信息的实时持久存储。
5.本发明基于如下构思,即附加地实施不符合autosar的带有同步接口的驱动程序。在写命令的情况中,autosar驱动程序的执行被停止,闪存硬件的内容被保存,并且直接执行新的写命令。然后恢复闪存硬件的先前状态,并且允许autosar驱动程序继续。
6.使用此解决方案,以单件成本中性的方式可实现实时要求。不需要额外的外部硬件部件。
7.类似的实现尚不已知。替代的解决方案是连接附加的外部存储器(例如通过spi),但这导致硬件成本增加。
8.根据本发明的第一方面,此技术问题通过带有处理器和闪存存储器的车辆控制装置实现,其中处理器被设计为执行多个进程,其中每个进程与对应的车辆控制部件相关;其中处理器被设计为执行异步驱动程序,所述异步驱动程序被设计为响应于多个进程中的相应的进程的写请求,将对应的进程上下文中的相应的进程的车辆状态数据写入到闪存存储器内,其中到闪存存储器内的写入通过异步驱动程序根据先入先出(fifo)特性进行;其中处理器被进一步设计为执行同步驱动程序,所述同步驱动程序被设计为响应于多个进程的预定的进程的写请求,停止处理器上的异步驱动程序的执行,并且将预定的进程的车辆状态数据写入到闪存存储器内,其中在保存对应的进程上下文的情况下进行异步驱动程序的停止,在所述进程上下文下在停止时刻异步驱动程序写入到闪存存储器内,其中同步驱动
程序被进一步设计为在将预定的进程的车辆状态数据写入到闪存存储器内之后在恢复被保存的进程上下文的情况下重新激活异步驱动程序。
9.其技术优点在于,同步驱动程序可以保证将预定的进程的车辆状态数据实时写入到闪存存储器内。车辆控制装置因此可以以单件成本中性的方式实现实时要求,而无需附加的外部硬件部件。
10.根据车辆控制装置的示例性实施方案,多个进程中的预定的进程是被设计为记录特别是在车辆碰撞时或在车辆控制装置中出现未定义的状态时车辆的异常状态的进程。
11.其技术优点在于,在异常情况中,例如在事故或车辆碰撞时,关于车辆状态的重要信息可以非常快速地记录在闪存存储器内,而无需首先等待涉及正常车辆状态的另外的进程的数据存储的处理。
12.根据车辆控制装置的示例性实施方案,闪存存储器是车辆故障存储器,其被设计为记录与相应车辆控制部件的故障状态相关的数据。
13.其技术优点在于,通过读取车辆故障存储器,维护人员可以有效地获知车辆运行寿命中发生的故障情况,并且可以以此信息来判断,车辆中哪些部件出现故障并且应被检查或更换。
14.根据车辆控制装置的示例性实施方案,同步驱动器被设计为将预定的进程的车辆状态数据实时写入到闪存存储器内。
15.因此技术优点在于,可将重要的车辆状态实时持久地存储。重要或不太重要之间的区别可以被预定,这通过预定在处理器上运行的一个或多个进程来实现,例如涉及碰撞模块或异常模块(“exception”模块)的进程。只有这些预定的进程通过同步驱动程序运行,并且将所述进程的信息实时记录。
16.根据车辆控制装置的示例性实施方案,异步驱动器被设计为根据先入先出(fifo)特性依次处理多个进程中的相应的进程的写请求,而不保证预定的处理时间。
17.因此技术优点在于,与预定的进程(多个进程)不对应的所有其他进程也可以将其车辆状态数据记录在闪存存储器内,但是并非实时进行记录。因此,用户可以决定哪些进程被视作关键进程并且通过同步驱动程序执行,而所有其他进程通过异步驱动程序执行。但是用户应知晓的是,并非所有的进程都可以通过同步驱动程序运行。通过同步驱动程序运行的预定的进程的数量应明显小于仍然通过异步驱动程序运行的(非预定)的进程的数量。
18.根据车辆控制装置的示例性实施方案,相应的进程上下文的保存和恢复取决于处理器的硬件设计,特别是处理器的特定的硬件寄存器的设计。
19.因此技术优点在于,通过保存和恢复对应的进程上下文,通过交替地访问闪存存储器的两个驱动程序进行的信息写入,不会导致闪存存储器内的未定义的状态。因此,通过异步驱动程序到闪存存储器内的写入可以被有效地中断,并且然后在通过同步驱动程序的写入结束之后恢复在正确的进程上下文和存储器上下文中的所述写入。为写入到闪存存储器内,需要处理器的特定的硬件寄存器,所述硬件寄存器在写入之后又被置于其原始状态中。
20.根据车辆控制装置的示例性实施方案,多个进程中的预定的进程具有至同步驱动程序的专用接口,以将预定的进程的写请求传送到同步驱动程序。
21.因此技术优点在于,可以通过至同步驱动程序的专用接口有效地传输待写入到闪
存存储器内的车辆状态数据。在此可以保留异步驱动程序的功能,因此不要求对于此软件模块的更改。
22.根据车辆控制装置的示例性实施方案,同步驱动程序和异步驱动程序被设计为根据汽车开放系统架构autosar在处理器上运行。
23.因此技术优点在于,通过同步驱动程序实现的实时要求可以以简单的方式在autosar架构中实施,而为此无需附加的硬件。
24.根据车辆控制装置的示例性实施方案,同步驱动程序根据autosar架构在复杂设备驱动器cdd软件组件中实施在处理器上,并且访问处理器的硬件寄存器。
25.因此技术优点在于,同步驱动程序可以以用户特定的方式被编程,并且可通过处理器的硬件寄存器直接连接到闪存存储器。
26.根据车辆控制装置的示例性实施方案,异步驱动程序根据autosar架构在微控制器抽象层mcal软件组件中实施在处理器上。
27.因此技术优点在于,异步驱动程序和同步驱动程序可以高效协同工作,并且可容易地通过同步驱动程序通过autosar架构的mcal部件和cdd部件之间的现有的接口来实现用于停止或重新启动异步驱动程序的接口。
28.根据车辆控制装置的示例性实施方案,闪存存储器被设计为持久地存储各个单独的进程的车辆状态数据。
29.因此技术优点在于,车辆状态数据被固定在闪存存储器内,使得例如维护人员在下一次预约维修时仍可访问所述车辆状态数据。
30.根据车辆控制装置的示例性实施方案,同步驱动程序被设计为在最长10ms的时间间隔内执行预定的进程的车辆状态数据到闪存存储器内的写入。
31.因此技术优点在于,可以通过同步驱动程序的实施来满足实时性要求,例如如上所述的10ms。
32.根据车辆控制装置的示例性实施方案,预定的进程与车辆碰撞模块相关,其中预定的进程被设计为响应于碰撞事件将写请求传送到同步驱动程序,其中写请求包括碰撞事件的数据,并且同步驱动程序被设计为将碰撞事件的数据记录在闪存存储器内。
33.因此技术优点在于,可使用同步驱动程序检测到碰撞并且记录有关碰撞事件的对应的数据,这使用根据依次记录事件的异步驱动程序不能实现。
34.根据本发明的第二方面,此技术问题通过一种用于控制在车辆控制装置的处理器上执行的多个进程的写请求的方法来实现,其中每个进程与对应的车辆控制部件相关,并且其中车辆控制装置具有用于存储各个单独的进程的车辆状态数据的闪存存储器,其中所述方法包括如下步骤:响应于多个进程中的相应的进程对于处理器上执行的异步驱动程序的写请求,通过异步驱动程序将相应的进程的车辆状态数据在对应的进程上下文中写入到闪存存储器内,其中到闪存存储器内的写入通过异步驱动程序根据先入先出(fifo)特性进行;响应于多个进程中的预定的进程对于在处理器上执行的同步驱动程序的写请求,通过同步驱动程序停止异步驱动程序的执行并且通过同步驱动程序将预定的进程的车辆状态数据写入到闪存存储器内,其中在保存对应的进程上下文的情况下进行异步驱动程序的停止,在所述进程上下文下在停止时刻异步驱动程序写入到闪存存储器内;并且在将预定的进程的车辆状态数据写入到闪存存储器内之后通过同步驱动程序在恢复被保存的进程上
下文的情况下重新激活异步驱动程序。
35.因此技术优点在于,该方法可以保证通过同步驱动程序将预定的进程的车辆状态数据实时写入到闪存存储器内。该方法因此可以在车辆控制装置上执行,所述车辆控制装置可以以单件成本中性的方式实现实时要求,而不需要附加的外部硬件部件。
36.根据本发明的第三方面,此技术问题通过带有用于在根据第一方面的车辆控制装置上执行根据第二方面的方法的程序代码的计算机程序来实现。
37.因此技术优点在于,计算机程序可以简单地在车辆控制装置上执行,其可以以单件成本中性的方式实现实时要求,而不需要附加的外部硬件部件。
附图说明
38.在下文中根据实施例和附图详细描述本发明。各图为:
39.图1示出根据本发明的车辆控制装置100的示意性图示;
40.图2示出autosar构架的示意性图示,其中集成有根据实施例的异步驱动程序120和同步驱动程序130;和
41.图3示出根据公开的用于控制多个进程到闪存存储器上的写请求的方法的示意性图示。
具体实施方式
42.在下文中的详细描述中,参考了形成所述描述一部分的附图,并且其中通过说明的方式示出了可以在其中执行本发明的特定实施方案。应理解的是,也可以使用其他实施方案并且可以在不偏离本发明的构思的情况下进行结构或逻辑上的改变。因此,下文中的详细描述不应被视为限制性的。此外,应理解的是除另外特别说明,否则在此描述的不同的实施例的特征可以相互组合。
43.参考附图描述了这些方面和实施方案,其中相同的附图标记通常指代相同的元件。在下文中的描述中,为解释的目的,阐述了许多具体细节以提供对本发明的一个或多个方面的详尽理解。然而,对于本领域一般技术人员显而易见的是,一个或多个方面或实施方案可以以较小程度的特定细节来实践。在其他情况中,已知的结构和元件以示意图的形式图示,以描述一个或多个方面或实施方案。应理解的是,在不脱离本发明的构思的情况下,可以使用其他实施例并且可以进行结构或逻辑上的改变。
44.在下文中的描述中,参考异步驱动程序、同步驱动程序、进程以及进程上下文。
45.同步驱动程序是保证同步、即同时执行的驱动程序。如在本公开中使用的同步驱动程序确保响应于写请求或写要求来同时执行存储器访问。为此,在写请求到达同步驱动程序的同时访问存储器。但是,必须考虑在执行驱动程序和执行存储器访问时的延迟,因此必须在此处添加一定的延迟。
46.异步驱动程序是不保证同步、即同时执行的驱动程序。如在本公开中使用的异步驱动程序取决于其他存储器请求或其他进程的写请求的存在,确保存储器访问的依次执行。因此,在能够进行存储器访问之前可能要求一定的时间。此时间取决于整个系统,并且不能总括地定义。例如,所有进程的写请求根据先入先出(fifo)特性被处理,即首先处理首先到达的写请求而最后处理最后到达的写请求。先入先出(fifo)特性可以使用队列来实
现。
47.如在本公开中描述的一个进程是运行时的计算机程序。更确切而言,进程是程序在计算机系统内执行的具体实例,并且辅以操作系统为该执行分配的更多信息和资源。
48.进程由操作系统的进程调度程序管理。进程调度程序可以使进程一直计算直至其结束或阻塞,或确保当前正在运行的进程在短时间内被中断,并且进程调度程序可以在不同的活动的进程之间来回切换,以此形成同时性的印象,即使在每个时刻被处理的进程不超过一个。
49.对于进程的流程和管理很重要的全部信息称为进程上下文。为管理进程,操作系统必须存储有关进程的信息。在所分配的地址空间内的进程的数据称为用户上下文。进程执行时cpu寄存器的内容被认为是硬件上下文。如果在多任务环境中一个进程被另一个进程中断,则必须存储此信息。系统上下文是操作系统从其角度存储的有关进程的信息,例如进程号、被进程打开的文件、关于父进程或子进程的信息、优先级、所用时间等。
50.如在本公开中所描述,闪存存储器是用于非易失性存储的无维护能量消耗的数字存储器模块。
51.图1示出了根据本发明的车辆控制装置100的示意性图示。车辆控制装置100包括处理器101或微控制器和闪存存储器140。
52.处理器101被设计为执行多个进程111、112、113、114,其中每个进程与对应的车辆控制部件相关。
53.处理器101还被设计为执行异步驱动程序120,所述异步驱动程序120被设计为响应于多个进程111、112、113、114中的相应的进程的写请求115将相应的进程的车辆状态数据在对应的进程上下文中写入121到闪存存储器140内。到闪存存储器140内的写入121根据先入先出(fifo)特性由异步驱动程序120进行,即写入121依次进行。写请求根据其到达的次序被处理。
54.处理器101此外被设计为执行同步驱动程序130,所述同步驱动程序130被设计为响应于多个进程111、112、113、113中的预定的进程114的写请求116,停止131异步驱动程序120在处理器101上的执行,并且将预定的进程114的车辆状态数据写入132到闪存存储器140内。在进行异步驱动程序120的停止131时保存对应的进程上下文,在所述进程上下文下在停止131的时刻,异步驱动程序120写入121到闪存存储器140内。
55.同步驱动程序130还被设计为在将预定的进程114的车辆状态数据写入132到闪存存储器140内之后,在恢复被保存的进程上下文的情况下重新激活异步驱动程序120。
56.多个进程111、112、113、114中的预定的进程114可以是被设计为例如在车辆碰撞时或在车辆控制装置100中出现未定义的状态时记录车辆的异常状态的进程。
57.闪存存储器140可以是车辆故障存储器,其被设计为记录与相应的车辆控制部件的故障状态相关的数据。
58.同步驱动程序130可以被设计为将预定的进程114的车辆状态数据实时写入132到闪存存储器140内。
59.异步驱动程序120可以被设计为根据先进先出特性依次处理多个进程111、112、113、114中的相应的进程的写请求115,而不保证预定的处理时间。
60.对应的进程上下文的保存和恢复可以取决于处理器101的硬件设计,例如取决于
处理器101的特定的硬件寄存器的设计。
61.多个进程111、112、113、114中的预定的进程114可以具有至同步驱动程序130的专用接口,以将预定的进程114的写请求116传送到同步驱动程序130。
62.同步驱动程序130和异步驱动程序120可以根据汽车开放系统架构autosar 200在处理器101上运行,如在下文中关于图2更详细地描述。
63.例如,同步驱动程序130可以根据autosar架构200在复杂设备驱动器cdd软件组件240中实施在处理器101上,并且访问处理器101的硬件寄存器。
64.异步驱动程序120可以根据autosar架构200在微控制器抽象层mcal软件组件中实施在处理器101上。
65.闪存存储器140可以被设计为持久存储各个单独的进程111、112、113、114的车辆状态数据。
66.同步驱动程序130可被设计为在最长10ms的时间间隔内执行预定的进程114的车辆状态数据到闪存存储器140内的写入132。
67.例如,预定的进程114可以与车辆碰撞模块相关,并且被设计为响应于碰撞事件将写请求116传送到同步驱动程序130。在此,写请求116可以包括碰撞事件的数据。同步驱动程序130可以被设计为在闪存存储器140内记录碰撞事件的数据。
68.图2示出了autosar架构200的示意性图示,其中集成了根据实施例的异步驱动程序120和同步驱动程序130。异步驱动程序120和同步驱动程序130的实现如上文根据图1所描述。
69.autosar架构200包括用于控制装置的完整的基础软件作为用于独立于硬件的软件应用的集成平台。autosar为基础软件的无缝配置进程和应用软件在控制装置上的集成提供了交换格式或描述模板。autosar还为所有领域的典型汽车应用提供了关于语法和语义的接口规范,这应被用作用于应用软件的标准。
70.autosar架构200包括独立于硬件的应用层应用程序210、实时环境rte(“real time environment”)220、操作系统os 230、cdd(“complex device driver”)层240、基础软件(bsw)层250和微控制器抽象层(mcal)260。
71.rte 220是中间件层并且为应用软件210提供通信服务。应用软件210通过rte 220相互通信或与服务通信。此软件220的优点是可以将功能分组并将功能重新定位到其他ecu(“electric control unit”)。此外,还可通过rte220将功能封装,以因此使其独立于通信技术。
72.操作系统autosar-os 230实现了实时行为和时间监控,以及运行时的安全机制。autosar-os 230可以根据预期用途扩展。
73.mcal层260的作用是使得基于所述mcal层260的应用层210的应用程序可以独立于微控制器并且因此在许多不同的微控制器上使用。
74.cdd层240用于实现复杂的传感器评估和执行器控制,通过使用特定的中断和/或复杂的微控制器外围设备以及外部设备-如通信收发器或asic-来直接访问微控制器,以满足特殊的功能和时间要求满足。此外,cdd层240用于实现扩展服务或协议,或将非autosar系统的旧功能进行封装。同步驱动程序(“directfi”)130被实现为cdd层240的组件。
75.基础软件250提供ecu(electric control unit)的功能。硬件访问通过此层进行。
autosar为控制装置定义了软件架构,所述软件架构将软件与设备的硬件分离。autosar为软件定义了高度自动化的配置进程,所述软件由各个单独的功能模块、软件组件组成,并且所述软件可以相互独立地被开发并且通过不同的制造商开发,所述配置进程将软件组件连接为特定的项目。
76.mcal层260允许访问微控制器。访问通过标准化接口进行。由此,上层的模块独立于相应的控制器。mcal层260允许微控制器基本功能,例如时钟发生器和cpu操作模式的初始化、存储器总线、中断、看门狗定时器(wdt)和定时器模块的控制。mcal层260还实现了所有微控制器连接(port)、数字输入/输出(dio)、输入捕获单元(icu)、脉宽调制信号输出(pwm)和模数转换器(adc)的基本配置,内部和外部闪存rom和eeprom模块的控制。mcal层260还为内部和外部spi控制器、can控制器、lin控制器和flexray控制器提供驱动程序。异步驱动程序(fis)120在mcal层260中实现。
77.如上所述,同步驱动程序(“directfl”)130被实现为cdd层240的组件。因为驱动程序130的基本任务之一是保存和恢复硬件上下文,所以软件必须适用于每个平台。目前支持powerpc和tricore。同步驱动程序130可用于例如“保存碰撞事件”和“保存异常”的功能,其应对事故情况或异常情况下的车辆状态数据的存储。
78.写入数据的接口可以实现如下,例如:
79.std_returntype directfls_write(const uint32 u32targetaddress,const uint8*pu8sourceaddressptr,const uint8 u8length);
80.以此,由指针pu8sourceaddressptr指示的地址处的长度为u8length(例如8位)的值可以被写入到闪存存储器内地址u32targetaddress处。
81.图3示出了根据本公开的用于控制多个进程到闪存存储器上的写请求的方法的示意性图示。
82.方法300用于控制在车辆控制装置的处理器上执行的多个进程的写请求,如上文关于图1更详细地描述。每个进程与对应的车辆控制部件相关。车辆控制装置具有用于存储各个单独的进程的车辆状态数据的闪存存储器,如上文关于图1所描述。
83.方法300包括以下四个步骤:
84.响应于多个进程中的相应的进程对于处理器上执行的异步驱动程序的写请求,通过异步驱动程序将对应的进程上下文中的相应的进程的车辆状态数据写入301到闪存存储器内,其中到闪存存储器内的写入通过异步驱动程序根据先入先出(fifo)的特性进行。
85.响应于多个进程中的预定的进程对于在处理器上执行的同步驱动程序的写请求,通过同步驱动程序停止302异步驱动程序的执行,和
86.通过同步驱动程序将预定的进程的车辆状态数据写入303到闪存存储器内,其中在异步驱动程序停止时保存对应的进程上下文,在所述进程上下文下在停止时刻异步驱动程序写入到闪存存储器内。
87.在预定的进程的车辆状态数据已写入到闪存存储器内之后,通过同步驱动程序在恢复被保存的进程上下文的情况下重新激活304异步驱动程序。
88.这四个步骤对应于车辆控制装置100的功能性,如上文关于图1更详细地描述。方法300可使用于该车辆控制装置100上。
89.此外,可以提供带有用于在车辆控制装置100上执行方法300的程序代码的计算机
程序,如上文关于图1所描述。
90.附图标记列表
91.100 车辆控制装置
92.101 处理器
93.111 进程
94.112 进程
95.113 进程
96.114 预定的进程,例如碰撞
97.120 异步驱动程序
98.130 同步驱动程序
99.140 闪存存储器
100.115 进程的写请求
101.116 预定的进程的写请求
102.121 异步驱动程序到闪存存储器内的写入
103.132 同步驱动程序到闪存存储器内的写入
104.131 同步驱动程序的控制指令(停止,激活)
105.200 autosar构架
106.210 应用程序层
107.220 rte(实时环境,real time environment)
108.230 os,操作系统
109.240 cdd(复杂设备驱动器,complex device driver)软件组件
110.250 bsw(基础软件模块,basic software module)软件组件
111.260 mcal(微控制器抽象层,microcontroller abstration layer)软件组件
112.300 用于控制车辆控制装置上的多个进程的方法
113.301 通过异步驱动程序的写入
114.302 通过同步驱动程序停止异步驱动程序
115.303 通过同步驱动程序的写入
116.304 通过同步驱动程序重新激活异步驱动程序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1