首页 / 避免汽车电子控制单元异常休眠唤醒的方法以及装置

避免汽车电子控制单元异常休眠唤醒的方法以及装置实质审查 发明

技术领域

[0001] 本申请涉及汽车技术领域,尤其涉及一种避免汽车电子控制单元异常休眠唤醒的方法以及装置。

相关背景技术

[0002] 现在的汽车上均会布置有大量的电子控制单元,在AutoSAR(汽车开放系统架构)网络管理机制下,电子控制单元包括睡眠模式、准备睡眠模式、网络模式三种模式。网络模式是电子控制单元的工作的模式。准备睡眠模式是电子控制单元没有新的任务产生,电子控制单元处理完缓存区的数据后即可进入睡眠模式。睡眠模式是电子控制单元不工作进入休眠的模式。电子控制单元在睡眠模式、准备睡眠模式、网络模式三种模式之间转换,实践发现,电子控制单元在准备睡眠模式之后就进入睡眠模式,可能还会接收到报文,这时就会重新唤醒电子控制单元,导致电子控制单元异常休眠唤醒的情况。

具体实施方式

[0014] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0015] 图1是本申请实施例提供的一种避免汽车电子控制单元异常休眠唤醒的方法的流程示意图。图1的避免汽车电子控制单元异常休眠唤醒的方法可以由电子控制单元的网络管理软件执行,或者由计算机或服务器,或者计算机或服务器上设置的处理器,或者计算机或普通服务器上的软件执行。该避免汽车电子控制单元异常休眠唤醒的方法包括:
[0016] S101,在不修改网络管理机制的情况下,在电子控制单元的准备睡眠模式和睡眠模式之间新增临睡模式,其中,电子控制单元有四种模式,分别是准备睡眠模式、临睡模式、睡眠模式和网络模式;
[0017] S102,当电子控制单元处于准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制电子控制单元进入网络模式,否则,控制电子控制单元进入临睡模式;
[0018] S103,在电子控制单元进入临睡模式时,启动定时器,其中,定时器用于判断时长;
[0019] S104,如果第二预设时长内没有接收到总线报文,则控制电子控制单元进入睡眠模式;
[0020] S105,如果第二预设时长内接收到总线报文,则判断总线报文是否是网络管理报文,若是则停止定时器,控制电子控制单元进入网络模式,若不是则更新定时器,控制电子控制单元保持在临睡模式。
[0021] ECU(Electronic Control Unit)电子控制单元,一辆汽车上有显示器ECU、电池管理ECU、电机ECU、空调ECU、车身ECU和仪表ECU等。每个电子控制单元均有自身对应的网络管理软件和定时器。在现有的AutoSAR(汽车开放系统架构)网络管理机制下,电子控制单元有三种模式,分别是准备睡眠模式、睡眠模式和网络模式。本申请实施例是在不修改网络管理机制的情况下,在电子控制单元的准备睡眠模式和睡眠模式之间新增临睡模式。因为如果电子控制单元在准备睡眠模式之后就进入睡眠模式,可能还会接收到报文,这时就会重新唤醒电子控制单元,导致电子控制单元异常休眠唤醒的情况。在进入睡眠模式之前增加临睡模式,可以额外增加一段等待的时间,在确认不会再接收到报文时再进入睡眠模式,以减少甚至避免电子控制单元异常休眠唤醒。
[0022] 睡眠模式:电子控制单元处于休眠状态,电子控制单元的网络管理软件只接收本地事件或者网络管理报文,不发送网络管理报文;准备睡眠模式:电子控制单元处于运行状态,网络管理软件将电子控制单元的缓冲区的报文发送完毕后进入临睡模式;临睡模式:电子控制单元处于运行状态,网络管理软件只接收报文,根据报文的类型变更模式,临睡模式能在不修改网络管理机制情况下解决电子控制单元被反复唤醒的问题。
[0023] 网络模式分为三种状态:重复报文状态、正常工作状态和准备休眠状态。重复报文状态:网络管理软件重复快速发送报文,激活其它电子控制单元(重复报文状态下以第一速度发送报文);正常工作状态:网络管理软件正常发送报文,维持与其它电子控制单元的通信,维持其它电子控制单元处于唤醒状态(正常工作状态下以第二速度发送报文,第二速度小于第一速度);准备休眠状态:网络管理软件不再发送报文,准备进入准备睡眠模式。
[0024] 在实际工作中,存在部分ECU没有特定帧唤醒功能,并且整车底盘CAN上的部分ECU在进入睡眠模式后可能还需要继续运行一段时间,此时没有特定帧唤醒功能的ECU在此情况下会导致反复休眠唤醒,进而导致MCU(微控制单元)反复上电下电。比如网关ECU没有特定帧唤醒功能,那么网关被唤醒后,会继续唤醒整车网络,这将导致车辆不必要的能源浪费,增加整车功耗。而在睡眠模式和准备睡眠模式增加临睡模式之后,可以额外增加一段ECU等待的时间,就可以极大的减少反复休眠唤醒的现象。
[0025] 根据本申请实施例提供的技术方案,在不修改网络管理机制的情况下,在电子控制单元的准备睡眠模式和睡眠模式之间新增临睡模式,其中,所述电子控制单元有四种模式,分别是所述准备睡眠模式、所述临睡模式、所述睡眠模式和网络模式;当所述电子控制单元处于所述准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制所述电子控制单元进入所述网络模式,否则,控制所述电子控制单元进入所述临睡模式;在所述电子控制单元进入所述临睡模式时,启动定时器,其中,所述定时器用于判断时长;
如果第二预设时长内没有接收到总线报文,则控制所述电子控制单元进入所述睡眠模式;
如果所述第二预设时长内接收到总线报文,则判断所述总线报文是否是网络管理报文,若是则停止所述定时器,控制所述电子控制单元进入所述网络模式,若不是则更新所述定时器,控制所述电子控制单元保持在所述临睡模式。采用上述技术手段,可以解决现有技术中电子控制单元异常休眠唤醒的问题,进而避免电子控制单元异常休眠唤醒,减少功耗,增加电子控制单元的使用寿命。
[0026] 进一步地,网络模式,包括:重复报文状态、正常工作状态和准备休眠状态;当电子控制单元处于准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制电子控制单元进入重复报文状态;当电子控制单元处于临睡模式,如果第二预设时长内接收到网络管理报文,控制电子控制单元进入重复报文状态。
[0027] 需要说明的是,本地事件是电子控制单元自身触发或者生成的事件,比如显示器ECU在检测到汽车电量少于预设阈值,则生成充电事件。显示器ECU生成充电事件之后,会以网络管理报文的形式将充电事件发送给电池管理ECU。电池管理ECU接收到网络管理报文,会唤醒自身并执行网络管理报文对应的事件。
[0028] 总线报文,包括:网络管理报文、应用报文和诊断报文。网络管理报文(NM报文):用于控制网络中的节点的状态,也就是汽车上电子控制单元的模式或状态。应用报文:用于执行一个特定的业务。诊断报文:用于诊断故障。
[0029] 因为本地事件是电子控制单元自身触发或者生成的事件,所以网络管理软件只能接收本地事件。总线报文以网络管理报文为例,网络管理软件既可以发送网络管理报文,也可以接收网络管理报文。电子控制单元的网络管理软件向其它电子控制单元的网络管理软件发送网络管理报文,是唤醒其它电子控制单元,让其它电子控制单元执行相应的操作。电子控制单元的网络管理软件接收到其它电子控制单元的网络管理软件发送的网络管理报文,是该电子控制单元被唤醒,使其自身执行相应的操作。后文的重复报文请求类似于网络管理报文。
[0030] 进一步地,当电子控制单元处于睡眠模式下,接收到本地事件或者网络管理报文,则控制电子控制单元进入重复报文状态。
[0031] 电子控制单元在睡眠模式下,如果电子控制单元的网络管理软件接收到本地事件或者网络管理报文,则会唤醒电子控制单元,控制电子控制单元进入重复报文状态。比如电子控制单元为电池管理ECU,电池管理ECU的网络管理软件接收到显示器ECU的网络管理软件发送需要充电的网络管理报文,会唤醒电池管理ECU进入重复报文状态,电池管理ECU的网络管理软件会快速重复向显示器ECU的网络管理软件发送收到的回复报文,也会快速重复向执行充电事件需要调用的ECU的网络管理软件发送请求报文。
[0032] 电子控制单元和其网络管理软件可以看作是一个整个,电子控制单元和其网络管理软件的模式是共通的。
[0033] 进一步地,当电子控制单元处于重复报文状态下:如果接收到重复报文请求,则控制电子控制单元继续保持重复报文状态;如果接收到本地事件或者网络管理报文,则控制电子控制单元进入正常工作状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第三预设时长后进入准备休眠状态。
[0034] 电子控制单元在重复报文状态下,如果接收到重复报文请求,说明电子控制单元还需要继续保持重复报文状态。如果接收到本地事件或者网络管理报文,说明不需要再快速重复发送报文了,电子控制单元进入正常工作状态。如果第三预设时长内没有接收到本地事件或者网络管理报文或者重复报文请求,说明电子控制单元没有需要执行的任务了,电子控制单元可以进入准备休眠状态。
[0035] 进一步地,当电子控制单元处于正常工作状态下:如果接收到本地事件或者网络管理报文,则控制电子控制单元继续保持正常工作状态;如果接收到重复报文请求,则控制电子控制单元进入重复报文状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第四预设时长后进入准备休眠状态。
[0036] 电子控制单元在正常工作状态下:如果接收到本地事件或者网络管理报文,说明电子控制单元需要继续保持正常工作状态。如果接收到重复报文请求,说明电子控制单元需要快速重复发送报文,控制电子控制单元进入重复报文状态。如果没有接收到本地事件或者网络管理报文或者重复报文请求,说明电子控制单元没有需要执行的任务了,电子控制单元可以进入准备休眠状态。
[0037] 进一步地,当电子控制单元处于准备休眠状态下:如果接收到本地事件或者网络管理报文,则控制电子控制单元进入正常工作状态;如果接收到重复报文请求,则控制电子控制单元进入重复报文状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第五预设时长后进入准备睡眠模式。
[0038] 电子控制单元在准备休眠状态下,如果接收到本地事件或者网络管理报文,则控制电子控制单元进入正常工作状态。如果接收到重复报文请求,说明电子控制单元需要快速重复发送报文,控制电子控制单元进入重复报文状态。如果没有接收到本地事件或者网络管理报文或者重复报文请求,说明电子控制单元没有需要执行的任务了,电子控制单元可以进入准备睡眠模式。
[0039] 进一步地,当电子控制单元处于临睡模式,如果第二预设时长内接收到网络管理报文,控制电子控制单元进入网络模式,否则,控制电子控制单元进入睡眠模式。
[0040] 电子控制单元在临睡模式,如果第二预设时长内接收到网络管理报文,说明电子控制单元需要工作,控制电子控制单元进入网络模式(实际上是进入重复报文状态),如果第二预设时长内没有接收到网络管理报文,说明电子控制单元不再需要工作,电子控制单元就可以进入睡眠模式。
[0041] 在一个实施例中:当整车上电或者电子控制单元被唤醒后,定时器进行初始化:获取硬件时钟、创建定时器链表、初始化通信模块;超时判断模块按照初始化参数轮询时间,判断各个定时节点是否超时;通信模块根据收到的总线报文类型判断是否更新定时器时间,并将定时器超时的信息(如:定时器名,定时器ID等)发送给状管理模块;状态管理模块根据相关定时器的信息更新电子控制单元模式。
[0042] 图2是本申请实施例提供的一种基于定时器链表变更电子控制单元模式的方法的流程示意图,如图2所示,包括:
[0043] S201,初始化定时器链表,其中,定时器链表包括多个定时器;
[0044] S202,轮询定时器链表;
[0045] S203,判断定时器链表是否超时,如果不存在超时的定时器,则重新轮询定时器链表,
[0046] S204,如果存在超时的定时器,确定超时的定时器的定时信息;
[0047] S205,接收到总线报文;
[0048] S206,判断总线报文的类型;
[0049] S207,当总线报文是应用报文,则更新定时器链表;
[0050] S208,当总线报文是网络管理报文,根据定时信息判断网络管理报文是否符合预设规则;
[0051] S209,符合,则根据网络管理报文更新电子控制单元模式;
[0052] S210,不符合,则丢弃。
[0053] 网络管理报文仅在规定的时间内合法,可以这样判断网络管理报文是否符合预设规则。根据网络管理报文表明的事件更新电子控制单元的模式,不同的事件需要电子控制单元相应的模式。
[0054] 本申请有非常好的兼容性,对AutoSAR(汽车开放系统架构)网络管理机制没有影响,网路管理软件可以按照其标准的逻辑运行,根据从网络中收到的报文完成各个状态转换;本申请能降低整车功耗,减少能源浪费,没有特定帧唤醒的ECU每一次唤醒都会重新启动ECU,而上电瞬间的功耗相对正常运行较大,反复的唤醒则会加速车辆电量的亏损,增加整车能耗;本申请有很好的经济特性,带有特定帧唤醒功能ECU的价格成本较高,本申请从软件层面可以解决没有特定帧唤醒功能造成的反复休眠唤醒问题,同时能节约价格成本。
[0055] 上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
[0056] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0057] 图3是本申请实施例提供的一种避免汽车电子控制单元异常休眠唤醒的装置的示意图。如图3所示,该避免汽车电子控制单元异常休眠唤醒的装置包括:
[0058] 设置模块301,被配置为在不修改网络管理机制的情况下,在电子控制单元的准备睡眠模式和睡眠模式之间新增临睡模式,其中,所述电子控制单元有四种模式,分别是所述准备睡眠模式、所述临睡模式、所述睡眠模式和网络模式;
[0059] 第一控制模块302,被配置为当所述电子控制单元处于所述准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制所述电子控制单元进入所述网络模式,否则,控制所述电子控制单元进入所述临睡模式;
[0060] 启动模块303,被配置为在所述电子控制单元进入所述临睡模式时,启动定时器,其中,所述定时器用于判断时长;
[0061] 第二控制模块304,被配置为如果第二预设时长内没有接收到总线报文,则控制所述电子控制单元进入所述睡眠模式;
[0062] 第三控制模块305,被配置为如果所述第二预设时长内接收到总线报文,则判断所述总线报文是否是网络管理报文,若是则停止所述定时器,控制所述电子控制单元进入所述网络模式,若不是则更新所述定时器,控制所述电子控制单元保持在所述临睡模式。
[0063] 根据本申请实施例提供的技术方案,在不修改网络管理机制的情况下,在电子控制单元的准备睡眠模式和睡眠模式之间新增临睡模式,其中,所述电子控制单元有四种模式,分别是所述准备睡眠模式、所述临睡模式、所述睡眠模式和网络模式;当所述电子控制单元处于所述准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制所述电子控制单元进入所述网络模式,否则,控制所述电子控制单元进入所述临睡模式;在所述电子控制单元进入所述临睡模式时,启动定时器,其中,所述定时器用于判断时长;
如果第二预设时长内没有接收到总线报文,则控制所述电子控制单元进入所述睡眠模式;
如果所述第二预设时长内接收到总线报文,则判断所述总线报文是否是网络管理报文,若是则停止所述定时器,控制所述电子控制单元进入所述网络模式,若不是则更新所述定时器,控制所述电子控制单元保持在所述临睡模式。采用上述技术手段,可以解决现有技术中电子控制单元异常休眠唤醒的问题,进而避免电子控制单元异常休眠唤醒,减少功耗,增加电子控制单元的使用寿命。
[0064] 进一步地,网络模式,包括:重复报文状态、正常工作状态和准备休眠状态;当电子控制单元处于准备睡眠模式,如果第一预设时长内接收到本地事件或者网络管理报文,控制电子控制单元进入重复报文状态;当电子控制单元处于临睡模式,如果第二预设时长内接收到网络管理报文,控制电子控制单元进入重复报文状态。
[0065] 进一步地,当电子控制单元处于睡眠模式下,接收到本地事件或者网络管理报文,则控制电子控制单元进入重复报文状态。
[0066] 进一步地,当电子控制单元处于重复报文状态下:如果接收到重复报文请求,则控制电子控制单元继续保持重复报文状态;如果接收到本地事件或者网络管理报文,则控制电子控制单元进入正常工作状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第三预设时长后进入准备休眠状态。
[0067] 进一步地,当电子控制单元处于正常工作状态下:如果接收到本地事件或者网络管理报文,则控制电子控制单元继续保持正常工作状态;如果接收到重复报文请求,则控制电子控制单元进入重复报文状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第四预设时长后进入准备休眠状态。
[0068] 进一步地,当电子控制单元处于准备休眠状态下:如果接收到本地事件或者网络管理报文,则控制电子控制单元进入正常工作状态;如果接收到重复报文请求,则控制电子控制单元进入重复报文状态;如果没有接收到本地事件或者网络管理报文或者重复报文请求,则控制电子控制单元在第五预设时长后进入准备睡眠模式。
[0069] 进一步地,当电子控制单元处于临睡模式,如果第二预设时长内接收到网络管理报文,控制电子控制单元进入网络模式,否则,控制电子控制单元进入睡眠模式。
[0070] 在一个实施例中:当整车上电或者电子控制单元被唤醒后,定时器进行初始化:获取硬件时钟、创建定时器链表、初始化通信模块;超时判断模块按照初始化参数轮询时间,判断各个定时节点是否超时;通信模块根据收到的总线报文类型判断是否更新定时器时间,并将定时器超时的信息(如:定时器名,定时器ID等)发送给状管理模块;状态管理模块根据相关定时器的信息更新电子控制单元模式。
[0071] 在一个实施例中:初始化定时器链表,其中,定时器链表包括多个定时器;轮询定时器链表;判断定时器链表是否超时,如果不存在超时的定时器,则重新轮询定时器链表,如果存在超时的定时器,确定超时的定时器的定时信息;接收到总线报文;判断总线报文的类型;当总线报文是应用报文,则更新定时器链表;当总线报文是网络管理报文,根据定时信息判断网络管理报文是否符合预设规则;符合,则根据网络管理报文更新电子控制单元模式;不符合,则丢弃。
[0072] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0073] 图4是本公开实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
[0074] 电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
[0075] 处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0076] 存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
[0077] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0078] 集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0079] 以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
单元异常相关技术
唤醒方法相关技术
冯玖江发明人的其他相关专利技术