电子控制单元ECU的休眠方法、ECU、系统和车辆与流程

文档序号:30599892发布日期:2022-07-01 21:27阅读:727来源:国知局
电子控制单元ECU的休眠方法、ECU、系统和车辆与流程
电子控制单元ecu的休眠方法、ecu、系统和车辆
技术领域
1.本技术实施例涉及通信技术,尤其涉及一种电子控制单元ecu的休眠方法、ecu、系统和车辆。


背景技术:

2.车辆中包括多个电子控制单元ecu,不同的ecu可以实现不同的功能,以控制车辆正常运行。如空调ecu可以控制车辆中的温度,发动机ecu可以控制发动机的进气量,喷油量以及点火时间等,以控制车辆的速度。
3.目前,车辆的电源关闭后,若ecu中无业务进程,则ecu可以休眠,将车辆的功耗降到最低,以节省车辆电池的电量。但若数据网络异常或者ecu故障,均会造成ecu中的业务异常,ecu一直处于工作状态,进而消耗车辆功耗。


技术实现要素:

4.本技术提供一种电子控制单元ecu的休眠方法、ecu、系统和车辆,可以降低车辆功耗。
5.第一方面,本技术提供一种ecu的休眠方法,该休眠方法应用于车辆中,所述车辆包括控制器局域网络can和网关,所述can中包括can总线和ecu,所述ecu通过所述can总线和所述网关连接。该方法包括:当车辆的电源关闭时,网关可以向各can中的ecu发送电源关闭信号,本技术中以can中的ecu为例进行说明。其中,所述ecu接收来自所述网关的电源关闭信号时,ecu可以检测ecu中是否存在业务进程,若ecu中不存在业务进程,则ecu可以执行休眠。若ecu中存在业务进程,则ecu可以在业务进程执行完业务后休眠。当ecu中的业务异常时,目前的ecu无法休眠。本技术中,ecu可以根据识别所述业务进程执行的业务的类型,进而根据所述业务的类型,确定所述业务异常。当业务异常时,ecu终止所述业务进程,执行休眠。终止业务进程也可以理解为关闭业务进程。其中,业务进程正常执行完业务会释放业务进程,而本技术实施中,当业务异常时,会终止所述业务进程,使得ecu中不存储在业务进程,进而ecu可以执行休眠。
6.本技术中,当ecu中的业务异常时,ecu可以终止业务进程,执行休眠,进而降低车辆功耗,可以节省车辆的电池电量。
7.下面依据ecu中的业务的类型,介绍ecu如何判断业务异常,以及终止所述业务进程的过程:
8.第一种方式,业务包括依赖所述can总线传输报文的业务。因为该业务依赖所述can总线传输报文,因此ecu可以检测所述can在第一预设时长内是否休眠,来检测业务是否异常。其中,ecu可以在接收来自网关的电源关闭信号时,启动定时器,以检测所述can在第一预设时长内是否休眠。若所述can在第一预设时长内未休眠,则表征业务一直在执行,业务异常。若所述can在第一预设时长内休眠,则表征业务正常执行完成,业务正常。本技术中,当can总线在第二预设时长内为传输报文,则can可以休眠,因此本技术中,ecu可以检
can总线在第二预设时长内是否传输can报文,以确定can是否休眠。其中,若can总线在第二预设时长内未传输can报文,则ecu确定can休眠,若can总线在第二预设时长内传输can报文,则ecu确定can未休眠。第一预设时长可以大于第二预设时长。
9.在该种方式中,ecu可以通过重启的方式终止所述业务进程。当ecu重启后,ecu中没有业务进程,则ecu可以向网关发送休眠请求,请求休眠,当ecu接收来自网关的休眠响应,ecu可以执行休眠。其中,所述定时器的时长为所述第一预设时长。
10.该种方式中,ecu中包括依赖所述can总线传输报文的业务,则ecu可以在接收来自网关的电源关闭信号时,启动定时器,若第一预设时长内can未休眠,则ecu确定该业务异常,进而采用重启的方式执行休眠,以降低车辆功耗,进而节省车辆的电池电量。
11.本技术中,ecu不采用强制休眠,而是采用重启的方式休眠,可以避免网关误判断ecu为故障ecu。其中,因为业务为依赖can总线的业务,ecu正常的休眠流程为向网关发送休眠请求,请求休眠。而若ecu强制休眠,未向网关请求休眠,则网关确定该ecu未执行正常的休眠流程,进而确定该ecu为故障ecu,造成错误判断。
12.在该种方式中,若所述can在第一预设时长内休眠,则表征依赖所述can总线传输报文的业务正常。在一种可能的实现方式中,该ecu中还可以存在不依赖所述can总线传输报文的业务。ecu检测该不依赖所述can总线传输报文的业务是否异常的方式可以为:所述ecu检测到所述can在所述第一预设时长内休眠时,所述ecu检测所述ecu在所述第一预设时长内是否执行完所述不依赖所述can总线传输报文的业务;若所述ecu在所述第一预设时长内执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务正常;若所述ecu在所述第一预设时长内未执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务异常。当不依赖所述can总线传输报文的业务正常时,ecu可以执行休眠。当不依赖所述can总线传输报文的业务异常时,ecu可以终止业务进程,执行休眠。
13.该种方式中,ecu中包括不依赖所述can总线传输报文的业务,则ecu可以在can休眠时启动定时器,若第一预设时长内ecu未执行完该业务,则ecu确定该业务异常,进而强制执行休眠,即终止业务进程,以降低车辆功耗,进而节省车辆的电池电量。
14.第二种方式:业务为依赖所述can总线传输报文的业务。该种方式中,ecu可以检测到所述can休眠时,所述ecu启动定时器,以判断ecu在第一预设时长内是否执行完所述业务,进而确定业务是否异常。其中,若所述ecu在所述第一预设时长内执行完所述业务,则确定所述业务正常;若所述ecu在所述第一预设时长内未执行完所述业务,则确定所述业务异常。其中,所述定时器的时长为所述第一预设时长。ecu检测can休眠的方式可以为:所述ecu检测到所述can总线在第二预设时长内未传输报文,确定所述can休眠,所述第二预设时长小于所述第一预设时长。
15.该种方式中,ecu中的业务为不依赖所述can总线传输报文的业务,则ecu可以在can休眠时启动定时器,若第一预设时长内ecu未执行完该业务,则ecu确定该业务异常,进而强制执行休眠,即终止业务进程,以降低车辆功耗,进而节省车辆的电池电量。
16.第二方面,本技术提供一种ecu的休眠方法,应用于车辆中,所述车辆包括控制器局域网络can和网关,所述can中包括can总线和ecu,所述ecu通过所述can总线和所述网关连接,所述方法包括:所述ecu接收来自所述网关的电源关闭信号;所述ecu确定所述ecu中
存在业务进程;所述ecu识别所述业务进程执行的业务的类型;所述ecu根据所述业务的类型,判断所述业务是否异常;若所述业务正常,则所述ecu执行休眠;若所述业务异常,则所述ecu终止所述业务进程,执行休眠。
17.在一种可能的实现方式中,所述业务包括依赖所述can总线传输报文的业务;所述ecu根据所述业务的类型,判断所述业务是否异常,包括:所述ecu检测所述can在所述第一预设时长内是否休眠;若所述can在所述第一预设时长内休眠,则确定所述业务正常;若所述can在所述第一预设时长内未休眠,则确定所述业务异常。
18.在一种可能的实现方式中,所述ecu重启。在一种可能的实现方式中,所述ecu重启之后,还包括:所述ecu向所述网关发送休眠请求;所述ecu接收来自所述网关的休眠响应。
19.在一种可能的实现方式中,所述ecu检测所述can在所述第一预设时长内是否休眠之前,还包括:所述ecu启动定时器,所述定时器的时长为所述第一预设时长。
20.在一种可能的实现方式中,所述业务为不依赖所述can总线传输报文的业务,所述ecu根据所述业务的类型,判断所述业务是否异常,包括:所述ecu检测到所述can在所述第一预设时长内休眠时,所述ecu检测所述ecu在所述第一预设时长内是否执行完所述不依赖所述can总线传输报文的业务;若所述ecu在所述第一预设时长内执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务正常;若所述ecu在所述第一预设时长内未执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务异常。
21.在一种可能的实现方式中,所述业务为不依赖所述can总线传输报文的业务,所述ecu根据所述业务的类型,判断所述业务是否异常,包括:所述ecu检测所述ecu在第一预设时长内是否执行完所述业务;若所述ecu在所述第一预设时长内执行完所述业务,则确定所述业务正常;若所述ecu在所述第一预设时长内未执行完所述业务,则确定所述业务异常。
22.在一种可能的实现方式中,所述ecu检测所述ecu在第一预设时长内是否执行完所述业务之前,还包括:所述ecu检测到所述can休眠时,所述ecu启动所述定时器。
23.在一种可能的实现方式中,所述方法还包括:所述ecu检测到所述can总线在第二预设时长内未传输报文,确定所述can休眠,所述第二预设时长小于所述第一预设时长。
24.第三方面,本技术提供一种ecu,ecu设置于车辆中,所述车辆包括控制器局域网络can和网关,所述can中包括can总线和所述ecu,所述ecu通过所述can总线和所述网关连接,所述ecu包括信号检测模块、电源管理模块和进程管理模块:所述信号检测模块,用于接收来自所述网关的电源关闭信号;所述电源管理模块,用于确定所述ecu中存在业务进程,以及识别所述业务进程执行的业务的类型;根据所述业务的类型,确定所述业务异常;所述进程管理模块,终止所述业务进程,控制所述ecu执行休眠。
25.在一种可能的实现方式中,所述业务包括依赖所述can总线传输报文的业务;所述电源管理模块,具体用于检测到所述can在第一预设时长内未休眠,确定所述业务异常。
26.在一种可能的实现方式中,所述电源管理模块,具体用于控制所述ecu重启,使得所述进程管理模块终止所述业务进程;所述信号检测模块,还用于向所述网关发送休眠请求,以及接收来自所述网关的休眠响应。
27.在一种可能的实现方式中,所述电源管理模块,还用于检测到所述can在第一预设时长内未休眠之前,启动定时器,所述定时器的时长为所述第一预设时长。
28.在一种可能的实现方式中,所述业务为不依赖所述can总线传输报文的业务;所述电源管理模块,具体用于检测到所述can在所述第一预设时长内休眠时,检测在第一预设时长内是否执行完所述不依赖所述can总线传输报文的业务;若在所述第一预设时长内执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务正常;若在所述第一预设时长内未执行完所述不依赖所述can总线传输报文的业务,则确定所述不依赖所述can总线传输报文的业务异常。
29.在一种可能的实现方式中,所述业务为不依赖所述can总线传输报文的业务;所述电源管理模块,具体用于检测到所述ecu在第一预设时长内未执行完所述业务,则确定所述业务异常。
30.在一种可能的实现方式中,所述电源管理模块,还用于检测到所述ecu在第一预设时长内未执行完所述业务之前,当检测到所述can休眠时,启动定时器,所述定时器的时长为所述第一预设时长。
31.在一种可能的实现方式中,所述电源管理模块,还用于检测到所述can总线在第二预设时长内未传输报文,确定所述can休眠,所述第二预设时长小于所述第一预设时长。
32.第四方面,本技术提供一种ecu,ecu设置于车辆中,所述车辆包括控制器局域网络can和网关,所述can中包括can总线和所述ecu,所述ecu通过所述can总线和所述网关连接,所述ecu包括信号检测模块、电源管理模块和进程管理模块:所述信号检测模块,用于接收来自所述网关的电源关闭信号;所述电源管理模块,用于确定所述ecu中存在业务进程,以及根据所述业务的类型,判断所述业务是否异常;若所述业务正常,则控制所述ecu执行休眠;若所述业务异常,则所述进程管理模块,用于终止所述业务进程,控制所述ecu执行休眠操作。
33.在一种可能的实现方式中,所述业务包括依赖所述can总线传输报文的业务;所述电源管理模块,具体用于检测所述can在第一预设时长内是否休眠;若所述can在所述第一预设时长内休眠,则确定所述业务正常;若所述can在所述第一预设时长内未休眠,则确定所述业务异常。
34.在一种可能的实现方式中,所述电源管理模块,具体用于控制所述ecu重启,使得所述进程管理模块终止所述业务进程;所述信号检测模块,还用于向所述网关发送休眠请求,以及接收来自所述网关的休眠响应。
35.在一种可能的实现方式中,所述电源管理模块,还用于检测所述can在第一预设时长内是否休眠之前,启动定时器,所述定时器的时长为所述第一预设时长。
36.在一种可能的实现方式中,所述业务为不依赖所述can总线传输报文的业务;所述电源管理模块,具体用于检测在第一预设时长内是否执行完所述业务;若在所述第一预设时长内执行完所述业务,则确定所述业务正常;若在所述第一预设时长内未执行完所述业务,则确定所述业务异常。
37.在一种可能的实现方式中,所述电源管理模块,具体用于检测在第一预设时长内是否执行完所述业务之前,当检测到所述can休眠时,启动定时器,所述定时器的时长为所述第一预设时长。
38.在一种可能的实现方式中,所述电源管理模块,还用于检测到所述can总线在第一预设时长内未传输报文,确定所述can休眠,所述第一预设时长小于所述第一预设时长。
39.第五方面,本技术提供一种休眠系统,所述休眠系统应用于车辆中。所述休眠系统包括网关和控制器局域网络can,所述can包括can总线和第三方面、第四方面以及各可能的实现方式中的ecu,所述ecu通过所述can总线和所述网关连接,所述网关,用于向所述ecu发送电源关闭信号。
40.第六方面,本技术提供一种车辆,该车辆中包括如上第五方面的休眠系统。
41.第七方面,本技术提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中的方法。
42.第八方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中的方法。
43.上述第二方面至第八方面的各可能的实现方式,其有益效果可以参见上述第一方面和第一方面的各可能的实现方式所带来的有益效果,在此不加赘述。
44.本技术提供一种电子控制单元ecu的休眠方法、ecu、系统和车辆,该方法应用于车辆中,车辆包括控制器局域网络can和网关,can中包括can总线和ecu,ecu通过can总线和网关连接,方法包括:ecu接收来自网关的电源关闭信号;ecu确定ecu中存在业务进程;ecu识别业务进程执行的业务的类型;ecu根据业务的类型,确定业务异常;ecu终止业务进程,执行休眠。本技术中,当ecu中的业务异常时,ecu可以终止业务进程,执行休眠,进而降低车辆功耗,可以节省车辆的电池电量。
附图说明
45.图1为车辆中的一种网络结构示意图;
46.图2为ecu的一种结构示意图;
47.图3为ecu休眠的一种流程示意图;
48.图4a为ecu的另一种结构示意图;
49.图4b为与图4a对应的交互流程示意图;
50.图5为ecu的状态切换示意图;
51.图6为ecu的状态迁移图;
52.图7a为与图3对应的ecu的一种休眠时序图;
53.图7b为与图7a对应的业务异常时ecu无法休眠的时序图;
54.图7c为与图3对应的ecu的另一种休眠时序图;
55.图7d为与图7c对应的业务异常时ecu无法休眠的时序图;
56.图8a为本技术实施例提供的ecu的休眠方法的一种实施例的流程示意图;
57.图8b为本技术实施例提供的ecu的休眠方法的另一种实施例的流程示意图;
58.图9为与图8b对应的ecu的休眠时序图;
59.图10为本技术实施例提供的ecu的休眠方法的另一种实施例的流程示意图;
60.图11为与图10对应的ecu的一种休眠时序图;
61.图12为与图10对应的ecu的另一种休眠时序图;
62.图13为本技术实施例提供的ecu的休眠方法的另一种实施例的流程示意图。
具体实施方式
63.图1为车辆中的一种网络结构示意图。如图1所示,车辆中包括网关(gate way,gw)和控制器局域网络(controller area network,can)。控制器局域网络可以包括但不限于:车身控制器局域网络(body can)、底盘控制器局域网络(chassis can)、动力总成控制器局域网络(power train can)、诊断控制器局域网络(diagnose can)、娱乐系统控制器局域网络(infomercial can)。每个控制器局域网络中包括can总线和至少一个电子控制单元(electronic control unit,ecu),同一控制器局域网络中的ecu通过该控制器局域网络中的can总线连接,每个控制器局域网络通过各自的can总线与网关连接。图1中以虚线框表示控制器局域网络,以实线表示can总线。应理解,车身控制器局域网络中的can总线可以称为车身控制总线,底盘控制器局域网络中的can总线可以称为底盘控制总线、动力总成控制器局域网络中的can总线可以称为动力总成总线、诊断控制器局域网络中的can总线可以称为诊断控制总线、娱乐系统控制器局域网络中的can总线可以称为娱乐系统总线。
64.车身控制器局域网络可以包括但不限于:空调(air condition,ac)ecu、胎压监控系统(tire pressure monitoring system,tpms)ecu、车身控制(body control module,bcm)ecu,车身控制器局域网络中的ecu通过车身控制总线连接。底盘控制器局域网络中可以包括但不限于:防抱死制动系统(antilock brake system,abs)ecu、车身电子稳定系统(electronic stability program,esp)ecu、电子转向助力(electric power steering,eps)ecu,底盘控制器局域网络中的ecu通过底盘控制总线连接。动力总成控制器局域网络中可以包括但不限于:发动机控制模块(engine control module,ecm)ecu、电子安全气囊(supplemental restraint system,srs)ecu、电子驻车系统(electronic park brake,epb)ecu,动力总成控制器局域网络中的ecu通过动力总成总线连接。诊断控制器局域网络中可以包括但不限于远程控制模块(telematics box,t-box)ecu。娱乐系统控制器局域网络中可以包括但不限于:车载娱乐系统(video audio entertainment system,vaes)ecu、组合仪表(instrument pack,ipk)ecu,娱乐系统控制器局域网络中的ecu通过动力总成总线连接。
65.网关是车辆中的核心控制装置,用于协调不同的控制器局域网络,以及控制器局域网络与数据网络(data networking,dn)之间的协议转换、数据交换、故障诊断等工作。网关可以接收来自各控制器局域网络中以不同传输速率的网络信号,网关可以按照预设处理规则处理网络信号,再通过各can总线传输至控制器局域网络。如果控制器局域网络中有ecu订阅了这个网络信号,则ecu可以解析该网络信号并进行相应的处理。控制器局域网络中的ecu可以通过对应的can总线与网关交互,进而实现一控制器局域网络中的ecu通过网关与另一控制器局域网络中的ecu交互。同一控制器局域网络中的ecu可以通过该控制器局域网络中的can总线进行交互。
66.ecu可以称为“行车电脑”、“车载电脑”,ecu可以与车辆中的传感器连接,ecu可以根据来自传感器的数据,实现对车辆的控制。车辆中的传感器可以包括但不限于温度传感器、速度传感器、图像传感器。不同的ecu可以与不同的传感器连接,不同的ecu的功能可以不同。示例性的,t-box ecu通过诊断控制总线可以接收来自其他控制器局域网络中ecu的数据,如t-box ecu可以接收来自空调ecu的数据、胎压监控系统ecu的数据,进而将这些数据上传至服务器。t-box ecu可以基于服务器将远程控制功能扩展至终端设备,进而实现终
端设备对车辆数据的显示与控制。示例性的,空调ecu可以根据来自温度传感器的数据,实现对车辆中的温度的控制。发动机控制模块ecu可以控制发动机的进气量,喷油量,点火时间等,从而控制引擎的运转效率和功率、扭力。本技术实施例中对图1中的示出的ecu的功能不做赘述。应理解,在本技术另一些实施例中,车辆可以包括比图1更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者ecu在不同的控制器局域网络中的布置,图1并不构成对车辆的结构的限制。
67.图2为ecu的一种结构示意图。如图2所示,ecu可以包括:输入电路、模拟/数字转换器(a/d转换器)、微型计算器、输出电路、电源电路。输入电路可以与车辆中的传感器(如速度传感器或温度传感器等)连接,a/d转换器分别与输入电路、微型计算器连接,微型计算器与输出电路连接。电源电路分别与车辆的供电模块、输入电路、a/d转换器、微型计算器、输出电路连接。输出电路可以与车辆中的机械模块连接,机械模块如发动机、电磁阀、空调系统等。通讯电路可以与微型计算机连接。微型计算器中可以包括微控制单元(micro controller unit,mcu)、存储器、输入/输出接口。其中,mcu包括多个引脚(pin),引脚用于连接ecu与控制电路,控制电路用于实现ecu的处理功能,处理功能如唤醒功能、来电功能等。应理解,图2中并未示出微型计算器的具体结构,图2中以ecu为发动机控制模块ecu为例进行说明。
68.输入电路用于接收来自传感器的信号,且对信号进行处理,如对信号进行去除杂波处理,进而将处理后的信号转换为电压信号输入至微型计算器。应注意,来自传感器的信号可以为模拟信号,模拟信号经输入电路处理后,虽然已经变成电压信号,但这些电压信号还不能直接被微型计算器处理,需要经a/d转换器将模拟信号转换成数字信号后输入至微型计算器。微型计算器可以对来自a/d转换器的数字信号进行运算处理,并根据运算结果向输出电路发送控制指令。输出电路可以将来自微型计算器的控制指令转换成控制信号,以控制各机械模块工作。通讯电路,用于连接微型计算机和数据网络。
69.下面结合ecu的结构对本技术实施例中的术语进行说明:
70.ecu执行休眠:微控制单元中包括唤醒引脚,唤醒引脚可以与唤醒控制电路连接,唤醒控制电路用于唤醒ecu,即唤醒控制电路通过唤醒引脚使能ecu从休眠状态转换至工作状态。当ecu执行休眠时,ecu中的唤醒引脚和定时器模块可以处于工作状态,而ecu中的其他引脚以及ecu中的其他元件可以处于休眠状态。定时器模块用于计时。
71.ecu关机:当ecu关机时,ecu中所有元件和引脚均处于休眠状态。
72.ecu中的业务:每个ecu的功能不同,ecu能够执行的业务也不同。空调ecu可以执行调节温度的业务,中控ecu可以执行导航业务、播放音乐业务。ecu执行业务可以理解为,ecu启动其中的业务进程执行业务。
73.其中,ecu中的业务可以包括:依赖can总线的业务和不依赖can总线的业务。依赖can总线的业务指的是:ecu通过can总线收发can报文,以获取来自其他ecu的数据,进而根据获取的数据执行业务。示例性的,如t-box ecu执行远程控制业务时,需要通过诊断控制总线获取来自其他控制器局域网络中ecu的数据。不依赖can总线的业务指的是:ecu通过其中的程序执行业务,不需要通过can总线收发can报文。示例性的,如中控ecu中的电话业务为不依赖can总线的业务。每个ecu中业务可以包括依赖can总线的业务和/或不依赖can总线的业务。下述实施例中以不依赖can总线的业务为第一业务,依赖can总线的业务为第二
业务进行说明。
74.ecu重启:ecu执行重启程序,以终止ecu中的业务进程。终止业务进程也可以理解为关闭业务进程。
75.图3为ecu休眠的一种流程示意图。应理解,下述实施例中的第一ecu归属于第一can,第一can中的总线为第一can总线,第一ecu通过第一can总线与网关连接,第二ecu归属于第二can,第二can中的总线为第二can总线,第二ecu通过第二can总线与网关连接。如图3所示,ecu休眠的流程可以包括:
76.s301,第二ecu接收来自网关的电源关闭信号。
77.第一ecu检测到车辆的电源关闭,第一ecu可以通过第一can总线向网关发送电源关闭信号。其中,车辆的电源关闭包括正常关闭和异常关闭。正常关闭可以为用户触发“一键启动”按键,或者用户操作车钥匙,关闭车辆的电源。异常关闭如发动机故障、油泵工作不良、进气管路故障等造成车辆的电源关闭。第一ecu为能够检测到车辆熄的电源关闭的ecu,第一ecu可以但不限于为车身控制ecu、发动机控制模块ecu。
78.示例性的,车身控制ecu可以检测到用户是否点击“一键启动”按键,以确定车辆的电源关闭。或者,车身控制ecu检测到车钥匙位置从打开(on)档切换至关闭(off)档,则可以确定车辆的电源为关闭。示例性的,发动机控制模块ecu可以检测发动机的工作状态,以确定车辆是否为发动机故障导致车辆的电源关闭。本技术实施例中,第一ecu检测到车辆的电源关闭,第一ecu可以通过第一can总线向网关发送电源关闭信号,网关可以通知其他ecu该车辆的电源关闭。
79.网关可以通过第二can总线向第二控制器局域网络中的第二ecu发送电源关闭信号。本技术实施例中,第二控制器局域网络可以表征车辆中的各控制器局域网络,第二ecu表征第二控制器局域网络中的各ecu。第二can总线可以为第一can总线,第二ecu可以为第一ecu。
80.网关接收到电源关闭信号后,可以通过第二can总线向第二控制器局域网络中的第二ecu发送电源关闭信号,以使处于工作状态的第二ecu执行休眠,进而降低车辆的功耗,节省车辆的电池电量。
81.s302,第二ecu判断其中是否还有业务进程。若是,则执行s303,若否,则执行s304。
82.第二ecu判断其中是否还有业务进程的过程可以参照下述图4a-图4b中的相关描述。
83.s303,第二ecu执行业务,在业务执行完成后执行s304。
84.当第二ecu确定其中还有业务进程时,第二ecu继续执行业务。如业务进程1和/或业务进程2可以继续执行业务,直至业务进程1和/或业务进程2执行完业务。
85.s304,第二ecu执行休眠。
86.在一种可能的实现方式中,若第二ecu执行的业务为第一业务,则第二ecu执行休眠可以为:电源管理模块接收到所有业务进程的休眠赞成票信息,则电源管理模块可以向其他模块(如信号检测模块、无线通信模块、进程管理模块)发送休眠信息,使得第二ecu中的各模块休眠,即第二ecu执行休眠。
87.在一种可能的实现方式中,若第二ecu执行的业务为第二业务,则第二ecu执行休眠可以为:第二ecu通过第二can总线向网关发送休眠请求,以请求休眠,在第二ecu接收到
来自网关的休眠响应时,第二ecu执行休眠。
88.图4a为ecu的另一种结构示意图。如图4a所示,ecu中可以包括应用层、服务层、抽象层以及接口层。其中,当ecu执行业务时,应用层可以启动至少一个业务进程,如业务进程1、业务进程2。每个业务进程可以执行一个或多个业务,或者多个业务进程可以共同执行一个业务。服务层,用于为ecu提供服务,如为ecu提供信号检测服务、网络通信与管理服务、电源管理服务、进程管理服务等。示例性的,服务层可以但不限于包括信号检测模块、电源管理模块、无线通信模块、进程管理模块。其中,信号检测模块,用于为业务进程提供信号检测服务,电源管理模块,用于为业务进程提供电源管理服务,无线通信模块,用于为业务进程提供网络通信与管理服务,进程管理模块,用于为业务进程提供进程管理服务。抽象层中包括机械模块的驱动程序,以驱动机械模块,机械模块如发动机、电磁阀等。接口层包括预先设置的应用程序接口(application programming interface,api),应用层的业务进程可以调用api执行业务。
89.在上述图4a的基础上,下述结合图4b对ecu中各模块的交互过程进行说明。其中,ecu中各模块的交互过程可以包括:
90.进程管理模块启动业务进程。当第二ecu执行业务时,进程管理模块可以启动业务进程执行业务。示例性的,如图4a所示,进程管理模块启动业务进程1执行业务1,以及启动业务进程2执行业务2。当进程管理模块启动业务进程1和业务进程2时,进程管理模块可以将业务进程1和业务进程2的状态标识为工作状态。
91.s401,无线通信模块接收来自数据网络的业务数据。
92.无线通信模块用于与数据网络交互,以获取业务进程执行业务时需要的业务数据,且向业务进程发送业务数据,进而使得业务进程基于接收到的业务数据执行业务。
93.s402,无线通信模块向业务进程发送业务数据。
94.业务进程收到业务数据,可以基于业务数据执行业务。
95.s403,信号检测模块接收来自网关的电源关闭信号。
96.信号检测模块通过can总线与网关交互,如信号检测模块可以接收来自网关的电源关闭信号。
97.s404,信号检测模块向业务进程发送电源关闭信号。
98.s405,业务进程向电源管理模块反馈休眠投票信息。
99.业务进程在接收到电源关闭信号后,可以向电源管理模块反馈休眠投票信息,该休眠投票信息可以包括休眠赞成票信息和休眠反对票信息。示例性的,如业务进程仍在执行业务,则业务进程可以向电源管理模块反馈休眠反对票信息,当业务进程执行完业务,正常释放业务进程时,业务进程可以向电源管理模块反馈休眠赞成票信息。
100.s406,电源管理模块基于来自业务进程的休眠投票信息,确定ecu是否休眠。
101.电源管理模块可以根据来自业务进程的休眠投票信息,确定ecu是否可以休眠。其中,若电源管理模块接收到所有业务进程的休眠赞成票信息,则ecu可以确定其中没有业务进程,则ecu休眠。若电源管理模块未接收到所有业务进程的休眠赞成票信息,则ecu可以确定其中还有执行业务的业务进程,则ecu不休眠。
102.示例性的,当第二ecu中的信号检测模块接收到来自网关的电源关闭信号时,可以向业务进程1和业务进程2发送电源关闭信号。业务进程1和业务进程2可以根据其中的业务
状态,向第二ecu中的电源管理模块反馈休眠投票信息。其中,若业务进程1和业务进程2均执行完业务,则均可以向第二ecu投休眠赞成票信息。若第二ecu中的电源管理模块接收到所有业务进程的休眠赞成票信息,则第二ecu确定其中没有业务进程。若业务进程1和/或业务进程2未执行完业务,则可以向第二ecu投休眠反对票信息,若第二ecu中的电源管理模块未接收到所有业务进程的休眠赞成票信息,则第二ecu确定其中还有业务进程。
103.图5为ecu的状态切换示意图。如图5所示,第二ecu可以根据车辆的电源状态、第二控制器局域网络的状态、第二ecu中的业务运行状态、休眠时长以及第二ecu消耗的车辆电量,判断ecu是否进入工作状态、休眠状态或关机状态。图6为ecu的状态迁移图。如图6所示,当第二ecu处于工作状态时,若第二ecu确定车辆的电源状态为关(off)、第二控制器局域网络休眠,且第二ecu中没有业务进程,则第二ecu从工作状态切换至休眠状态。其中,若第二ecu接收到来自网关的电源关闭信号,则可以确定车辆的电源状态为关,若第二ecu接收到来自网关的电源打开信号,则可以确定车辆的电源状态为开(on)。第二ecu确定第二控制器局域网络休眠的方式可以为:第二ecu检测第二can总线在第二预设时长内是否传输can报文。若第二ecu检测第二can总线在第二预设时长内未传输can报文,则确定第二控制器局域网络休眠,若第二ecu检测第二can总线在第二预设时长内传输can报文,则确定第二控制器局域网络为激活状态。第二预设时长如可以为10s。
104.本技术实施例中,若第二ecu中没有业务进程,则第二ecu可以不通过第二can总线收发报文,则第二控制器局域网络休眠。如上s301-s304所述,第二ecu接收到来自网关的电源关闭信号、且第二控制器局域网络休眠,以及第二ecu中没有业务进程,则第二ecu从工作状态切换至休眠状态。
105.如图6所示,当第二ecu处于休眠状态时,若第二ecu确定车辆的电源状态为开、第二控制器局域网络激活,且第二ecu中有业务进程,则第二ecu从休眠状态切换至工作状态。在一种可能的实现方式中,当第二ecu处于休眠状态时,第二ecu中的定时器模块未休眠,定时器可以在第二ecu切换至休眠状态时开始计时,若定时器确定第二ecu的休眠时长超过预设休眠时长,则第二ecu从休眠状态切换至关机状态。相应的,当第二ecu处于关机状态时,若第二ecu确定车辆的电源状态为开、第二控制器局域网络激活,且第二ecu中有业务进程,则第二ecu从关机状态切换至工作状态。在一种可能的实现方式中,当第二ecu处于工作状态时,若第二ecu确定车辆的电源状态为关、第二控制器局域网络休眠,第二ecu中没有业务进程,且第二ecu消耗的车辆电量超过预设电量,则第二ecu从工作状态切换至关机状态。其中,第二ecu中的电源管理模块可以检测第二ecu消耗的车辆电量,进而判断第二ecu消耗的车辆电量是否超过预设电量,以确定ecu从工作状态切换至休眠状态或关机状态。
106.下述结合图7a-图7d说明ecu正常休眠,以及ecu无法休眠的过程。
107.图7a为与图3对应的ecu的一种休眠时序图。图7a中以第二ecu执行的业务为第一业务,以第二ecu包括ecu1和ecu2为例进行说明。如图7a所示,t1时刻时,车辆的电源状态从开切换为关。第二ecu中包括第一业务的业务进程,第二ecu处于工作状态。因为第二ecu执行第一业务时不需要通过第二can总线收发can报文,因此第二can总线若在第二预设时长内未传输can报文,则第二控制器局域网络可以在t2时刻休眠。t3时刻时,第二ecu执行完第一业务,第二ecu执行休眠。示例性的,ecu1和ecu2在t3时刻休眠。
108.图7b为与图7a对应的业务异常时ecu无法休眠的时序图。图7b中以ecu1中的第一
box ecu接收到来自服务器的响应码400时,ecu可以重新向服务器发起请求,重试2次后不再请求,ecu强制休眠。ecu强制休眠指的是:参考图4a,电源管理模块可以向信号检测模块、无线通信模块、进程管理模块发送休眠信息。其中,进程管理模块在接收到休眠信息时,可以强制终止业务进程。其中,业务进程正常执行完业务会释放业务进程,而本技术实施中,当业务异常时,会强制终止所述业务进程,进而使得ecu休眠。
115.该种方式中,ecu可以针对能够确定的业务异常的原因进行处理,进而使得ecu休眠。但是由于车辆的应用环境和网络信号复杂,ecu业务异常的原因多样。若未预先定义ecu业务异常的原因对应的休眠的处理方式,或者ecu无法确定业务异常的原因,ecu还是无法休眠。
116.本技术实施例提供了一种ecu的休眠方法,在ecu无法休眠时,ecu可以强制休眠或者重启后休眠,进而避免了ecu无法休眠的问题,可以降低车辆功耗,进而节省车辆的电池电量。
117.下面结合具体的实施例对本技术实施例提供的ecu的休眠方法进行说明。下述实施例可以相互结合,对于相同或相似的概念或过程不再赘述。图8a为本技术实施例提供的ecu的休眠方法的一种实施例的流程示意图。如图8a所示,本技术实施例中提供的ecu的休眠方法可以包括:
118.s801a,第二ecu接收来自网关的电源关闭信号。
119.s801a中的实施方式可以参照上述s301中的相关描述。应理解,图8a中未示出第一ecu和网关。
120.s802a,第二ecu确定其中存在业务进程。
121.第二ecu判断其中存在业务进程可以参照上述s302、4b中的相关描述。
122.s803a,第二ecu识别业务进程执行的业务的类型。
123.第二ecu可以确定其中的业务进程执行的业务的类型。若业务进程执行的业务为不依赖can总线的业务,则业务为第一业务。若业务进程执行的业务为依赖can总线的业务,则该业务为第二业务。应理解,第一业务可以为至少一个业务,第二业务可以为至少一个业务。
124.s804a,第二ecu根据业务的类型,确定业务是否异常。若否,执行s805a。若是,执行s806a。
125.应理解,业务可以为第一业务或第二业务,若第二ecu在第一预设时长内未执行完业务,则业务异常,若第二ecu在第一预设时长内执行完业务,则业务正常。在一种实施例中,第二ecu确定业务是否异常的方式也可以参照下述图8b和图10中的描述。
126.s805a,第二ecu执行休眠。
127.s806a,第二ecu终止业务进程,执行休眠。
128.当业务异常时,第二ecu终止业务进程,以执行休眠。其中,在一种实施例中,第二ecu终止业务进程的方式也可以参照下述图8b和图10中的描述。
129.本技术实施例中,第二ecu接收到来自网关的电源关闭信号,第二ecu检测到第二ecu中的业务异常时,第二ecu可以终止业务进程,以执行休眠,进而降低车辆功耗,可以节省车辆的电池电量。
130.在一种实施例中,图8b为本技术实施例提供的ecu的休眠方法的另一种实施例的
流程示意图。图8b中以第二ecu中的业务为第一业务为例进行说明,因为第一业务为不依赖can的业务,因此ecu1中的业务异常对ecu2无影响,图8b中以第二ecu表征ecu1和ecu2进行说明。
131.如图8b所示,在一种可能的实现方式中,ecu的休眠方法可以包括:
132.s801,第二ecu接收来自网关的电源关闭信号。
133.s801中的实施方式可以参照上述s301中的相关描述。应理解,图8b中未示出第一ecu和网关。
134.s802,第二ecu判断其中是否还有业务进程。若是,且业务进程执行的业务为第一业务,则执行s803,若否,则执行s804。
135.第二ecu可以确定其中的业务进程执行的业务的类型。若业务进程执行的业务为不依赖can总线的业务,则业务为第一业务。若业务进程执行的业务为依赖can总线的业务,则该业务为第二业务。本技术实施例中,若第二ecu中有业务进程,且业务进程执行的业务为第一业务,则第二ecu执行s803。若第二ecu中没有业务进程,则第二ecu执行s804。应理解,第二ecu判断其中是否还有业务进程可以参照上述s302中的相关描述。
136.s803,第二ecu检测到第二控制器局域网络休眠时,启动定时器,以检测第一预设时长内第二ecu是否执行完第一业务。若是,则执行s804,若否,则执行s805。
137.因为第一业务为不依赖can总线的业务,则第二can总线在第二预设时长内未传输报文,则第二控制器局域网络可以休眠。因此本技术实施例中,第二ecu可以检测第二控制器局域网络总线在第二预设时长内是否传输can报文,以确定第二控制器局域网络是否休眠。其中,若第二can总线在第二预设时长内未传输can报文,则第二ecu确定第二控制器局域网络休眠,若第二can总线在第二预设时长内传输can报文,则第二ecu确定第二控制器局域网络未休眠。
138.为了避免第一业务异常造成第二ecu无法休眠,本技术实施例中,第二ecu在检测到第二控制器局域网络休眠时,可以启动定时器,以检测第一预设时长内第二ecu是否执行完第一业务。其中,第二ecu可以启动电源管理定时器进行计时,可选的,第一预设时长可以大于第二预设时长。如该第一预设时长如可以为2h。
139.第二ecu检测第一预设时长内第二ecu是否执行完第一业务的方式可以为:在第一预设时长内,第二ecu中的电源管理模块是否接收到来自所有业务进程反馈的休眠赞成票信息。其中,若在第一预设时长内,第二ecu中的电源管理模块接收到来自所有业务进程反馈的休眠赞成票信息,则第二ecu确定第一预设时长内第二ecu执行完第一业务。若在第一预设时长内,第二ecu中的电源管理模块未接收到来自所有业务进程反馈的休眠赞成票信息,则第二ecu确定第一预设时长内第二ecu未执行完第一业务。
140.s804,第二ecu执行休眠。
141.若第二ecu中没有业务进程,则第二ecu执行休眠。或者,第二ecu在第一预设时长内执行完第一业务,则第二ecu确定第一业务正常,第二ecu执行休眠。
142.s805,第二ecu终止业务进程,执行休眠。
143.若第二ecu在第一预设时长内未执行完第一业务,则第二ecu确定第一业务异常。为了避免第二ecu无法休眠消耗车辆功耗,第二ecu可以强制休眠。应理解,第二ecu强制休眠可以理解为:第二ecu终止业务进程,执行休眠。
144.图9为与图8b对应的ecu的休眠时序图。为了便于与上述图7b进行对比,图9中以第二ecu包括ecu1和ecu2,ecu1启动的定时器为ecu1t,ecu2启动的定时器为ecu2t为例进行说明。如图9所示,t1时刻时,车辆的电源状态从开切换为关。ecu1和ecu2中均包括第一业务的业务进程,ecu1和ecu2处于工作状态。因为ecu1和ecu2不需要通过第二can总线收发can报文,第二can总线若在第二预设时长内未传输can报文,则第二控制器局域网络可以在t2时刻休眠。当ecu1和ecu2在t2时刻检测到第二控制器局域网络休眠时,可以在t2时刻启动定时器。定时器对应的第一预设时长为从t2时刻至t4时刻。t3时刻时,定时器未到期,ecu2执行完第一业务,ecu2休眠,此时ecu2t计时未完成可以停止计时。在t4时刻时,定时器到期,而ecu1未执行完第一业务,本技术实施例中ecu1在t4时刻强制休眠,以减少第一业务异常造成ecu1无法休眠时对车辆功耗的消耗。
145.本技术实施例中,第二ecu接收到来自网关的电源关闭信号,且第二ecu中包括第一业务的业务进程,则第二ecu可以在第二控制器局域网络休眠时启动定时器,若第一预设时长内第二ecu执行完第一业务则第二ecu正常休眠,若第一预设时长内第二ecu未执行完第一业务,则第二ecu确定第一业务异常,进而强制休眠,以降低车辆功耗,进而节省车辆的电池电量。
146.在一种实施例中,图10为本技术实施例提供的ecu的休眠方法的另一种实施例的流程示意图。图10中以第二ecu中的业务为第二业务为例进行说明。据上述图7d所示,因为第二业务为依赖can的业务,因此ecu1中的第二业务异常会造成第二控制器局域网络和ecu2无法休眠。图10中以ecu1和ecu2为例进行说明。
147.如图10所示,在一种可能的实现方式中,ecu的休眠方法可以包括:
148.s1001,第二ecu接收来自网关的电源关闭信号。
149.s1001中的实施方式可以参照上述s301的相关描述。
150.s1002,第二ecu判断其中是否还有业务进程。若是,且业务进程执行的业务为第二业务,则执行s1003,若否,则执行s1004。
151.s1003,第二ecu启动定时器,检测第一预设时长内第二控制器局域网络是否休眠。若是,则执行s1004,若否,则执行s1005。
152.第二业务为依赖第二can总线的业务,因此第二ecu执行第二业务的过程中,第二ecu通过第二can总线收发can报文。第二can总线一直在传输can报文,因此第二控制器局域网络处于激活状态。为了避免第二业务异常造成第二ecu无法休眠,本技术实施例中,第二ecu在确定其中包含第二业务对应的业务进程时,启动定时器,以检测第一预设时长内第二控制器局域网络是否休眠。可选的,第二ecu可以启动网络管理(network management,nm)定时器进行计时。第二ecu检测第二控制器局域网络是否休眠的方式可以参照上述相关描述。在一种实施例中,nm定时器的时长可以与电源管理定时器的时长不同。
153.若第二控制器局域网络休眠,则表征第二can总线在第二预设时长内未传输can报文,即表征第二ecu在第一预设时长内执行完第二业务。因此,s1004可以替换为:第二ecu启动定时器,检测第一预设时长内第二ecu是否执行完第二业务。若是,则执行s1004,若否,则执行s1005。其中,第二ecu检测第一预设时长内第二ecu是否执行完第二业务的方式可以参考第二ecu检测第一预设时长内第二ecu是否执行完第一业务的相关描述。
154.因为第二业务为依赖can总线的业务,因此第二can总线一直在传输can报文,第二
控制器局域网络处于激活状态。ecu2中没有第二业务对应的业务进程,或ecu2执行完第二业务后,因为第二控制器局域网络处于激活状态,第二can总线上一直有报文传输,ecu2无法休眠,因此ecu2一直处于激活状态。
155.s1004,第二ecu执行休眠。
156.若第二ecu中没有业务进程,则第二ecu执行休眠。或者,第二ecu在检测第一预设时长内第二控制器局域网络休眠,第二ecu确定第二业务正常,则第二ecu执行休眠。
157.s1005,第二ecu重启。
158.若第二ecu检测第一预设时长内第二控制器局域网络未休眠,则确定第二业务异常。第二ecu一直通过第二can总线收发can报文,第二控制器局域网络一直处于激活状态。该种场景下,第二ecu可以采用重启的方式进行休眠。因为第二ecu重启,可以终止第二ecu中所有的业务进程,因此当第二ecu重启后,第二ecu中没有业务进程,则第二ecu可以向网关发送休眠请求,以请求休眠。其中,如ecu1重启后,可以向网关发送休眠请求,请求休眠。相应的,第二can总线上在第二预设时长内未传输can报文,第二控制器局域网络休眠,进而ecu2检测到第二控制器局域网络休眠,则ecu2也休眠。
159.本技术实施例中,第二ecu不采用强制休眠,而是采用重启的方式休眠,是为了避免网关误判断第二ecu为故障ecu。其中,因为第二业务为依赖can总线的业务,第二ecu正常的休眠流程为向网关发送休眠请求,请求休眠。而若第二ecu强制休眠,未向网关请求休眠,则网关确定该第二ecu未执行正常的休眠流程,进而确定该ecu为故障ecu,造成错误判断。因此,在第二业务为依赖can总线的业务时,本技术实施例中第二ecu采用重启的方式休眠。
160.图11为与图10对应的ecu的一种休眠时序图。为了便于与上述图7d进行对比,图11中以第二ecu包括ecu1和ecu2进行说明。其中,ecu1启动的定时器为ecu1t,ecu2启动的定时器为ecu2t。如图11所示,t1时刻时,车辆的电源状态从开切换为关。ecu1和ecu2中均包括第二业务的业务进程,则ecu1和ecu2均通过第二can总线收发can报文以执行第二业务,ecu1和ecu2处于工作状态。且因为第二can总线一直传输can报文,第二控制器局域网络处于激活状态。若ecu1和ecu2在t1时刻接收到电源关闭信号,ecu1和ecu2可以在t1时刻启动定时器,定时器对应的第一预设时长为从t1时刻至t4时刻。t2时刻时,定时器未到期,若ecu2执行完第二业务,ecu2应该休眠,但因为ecu1未执行完第二业务,第二can总线上一直传输报文,则ecu2未休眠,处于激活状态。对应的,ecu2t和ecu1t继续计时。在t4时刻时,定时器到期,第二控制器局域网络未休眠,还处于激活状态,即ecu1还未执行完第二业务。本技术实施例中,ecu1在t4时刻重启。在t4时刻时,因为定时器到期,但ecu2仍处于工作状态,ecu2中的定时器ecu2t可以重新计时,因为ecu1重启,则ecu1中的定时器ecu1t可以停止计时。当ecu1重启进入工作状态时,ecu中的定时器ecu1t可以重新计时。ecu1重启后的t5时刻时,ecu1中没有业务进程,则ecu1可以向网关发送休眠请求以请求休眠。相应的,若第二can总线在第二预设时长内未传输can报文,则第二控制器局域网络,且ecu1、ecu2也休眠。对应的,在t5时刻时,因为ecu1和ecu2休眠,ecu1t和ecu2t未计时完毕可以停止计时。
161.本技术实施例中,为了说明正常休眠的控制器局域网络,以及异常的控制器局域网络中的ecu的休眠时序图,下面结合图12以ecu1和ecu2归属于两个不同的控制器局域网络为例进行说明。示例性的,ecu1所属的控制器局域网络为第二控制器局域网络,ecu2所属的控制器局域网络为第三控制器局域网络,且第三控制器局域网络中的总线为第三can总
线为例进行说明。
162.图12为与图10对应的ecu的另一种休眠时序图。如图12所示,t1时刻时,车辆的电源状态从开切换为关。ecu1和ecu2中均包括第二业务的业务进程,则ecu1通过第二can总线收发can报文以执行第二业务,ecu2通过第三can总线收发can报文以执行第二业务,ecu1和ecu2处于工作状态,且因为第二can总线和第三can总线一直传输can报文,第二控制器局域网络和第三控制器局域网络处于激活状态。若ecu1和ecu2在t1时刻接收到电源关闭信号,ecu1和ecu2可以在t1时刻启动定时器,定时器对应的第一预设时长为从t1时刻至t4时刻。t2时刻时,定时器未到期,若ecu2检测第三控制器局域网络休眠,则ecu2执行完第二业务,ecu2和第三控制器局域网络休眠。对应的,ecu2t未完成计时可以停止计时。在t4时刻时,定时器到期,而第二控制器局域网络未休眠,还处于激活状态,即ecu1还未执行完第二业务,则ecu1在t4时刻重启。ecu1重启后的t5时刻时,ecu1中没有业务进程,则ecu1可以向网关发送休眠请求以请求休眠,相应的,若第二can总线在第二预设时长内未传输can报文,则第二控制器局域网络,且ecu1也休眠。ecu1t的计时方式可以参照图11中的描述。
163.本技术实施例中,第二ecu接收到来自网关的电源关闭信号,且第二ecu中包括第二业务,则第二ecu可以在接收到电源关闭信号后启动定时器。若第一预设时长内第二控制器局域网络未休眠,则第二ecu确定第二业务异常,第二ecu可以重启以终止其中的业务进程。第二ecu重启后因为其中没有业务进程,第二ecu可以向网关发送休眠请求以请求休眠,因此ecu和第二控制器局域网络均可以休眠,以降低车辆功耗,进而节省车辆的电池电量。
164.在一种可能的实现方式中,ecu接收到来自网关的电源关闭信号后,ecu中可以包括第一业务和第二业务,则ecu可以结合执行上述图8b和图10所示的实施例中的步骤,以使得ecu休眠。如图13所示,ecu的休眠方法可以包括:
165.s1301,第二接收来自网关的电源关闭信号。
166.s1302,第二ecu判断其中是否还有业务进程。若是,且业务进程执行的业务包括第二业务,则执行s1303,若否,则执行上述s804。
167.s1303,第二ecu启动定时器,检测第一预设时长内第二控制器局域网络是否休眠。若是,则执行返回执行1302,若业务进程执行的业务为第一业务,则执行s803-s805,若否,则执行s1304。
168.s1304,第二ecu重启。
169.s1301-s1304、s803-s805可以参照上述实施例中的相关描述。与上述图10对应的实施例不同的是,因为第二ecu中可以包括第一业务和第二业务,当第二ecu中的第二业务正常时,第二控制器局域网络可以在第一预设时长内休眠,当第二控制器局域网络休眠后,第二ecu中仍然包括第一业务,因此本技术实施例中可以执行上述图8b中的s803-s805,以保证第二ecu中包含有第一业务和第二业务时,可以顺利休眠。
170.本技术实施例中的技术效果可以参照上述图8b和图10中的相关描述。
171.在一种实施例中,本技术实施例提供的ecu可以包括:处理器(例如cpu)、存储器。存储器可能包含高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器,存储器中可以存储各种指令,以用于完成各种处理功能以及实现本技术的方法步骤。可选的,本技术涉及的ecu还可以包括:电源、通信总线以及通信端口。上述通信端口用于实现ecu与其他外设之间进行
连接通信。在本技术实施例中,存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使ecu的处理器执行上述方法实施例中的动作,其实现原理和技术效果类似,在此不再赘述。
172.需要说明的是,以上ecu中的元件等可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
173.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
174.本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
175.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1