掌桥专利:专业的专利平台
掌桥专利
首页

用户连接单元休眠唤醒方法、装置和计算机可读存储介质

文献发布时间:2023-06-19 13:27:45


用户连接单元休眠唤醒方法、装置和计算机可读存储介质

技术领域

本发明涉及休眠唤醒领域,尤其涉及用户连接单元休眠唤醒方法、装置和计算机可读存储介质。

背景技术

随着汽车市场逐渐朝着智能化、网联化和信息化迅猛发展,目前车辆的功能越来越多,其中就含有各种场景下对车辆进行唤醒,以及启动等相关操作。经历了近几年的不断更新迭代,各项唤醒休眠功能已逐步趋于完善,并且在各车型上都使用上了这些休眠唤醒策略;然而随着车辆销量的不断提升,仍然有极个别车出现休眠唤醒故障,经过对故障件的分析,故障现象表现为车辆限速故障,仪表时间不显示。

发明内容

本发明的主要目的在于提供一种用户连接单元休眠唤醒方法、装置和计算机可读存储介质,旨在解决如何减少休眠唤醒故障出现的概率进而提升用户体验的技术问题。

为实现上述目的,本发明提供一种用户连接单元休眠唤醒方法,所述用户连接单元休眠唤醒方法包括以下步骤:

实时检测用户连接单元中各模块的运行状态,所述用户连接单元至少包括MCU和CPU;

当检测到异常状态时,控制CPU向MCU发送唤醒指令;

若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU。

可选地,所述复位所述MCU的步骤之后包括:

当满足休眠条件时,控制MCU和CPU进入休眠。

可选地,所述当满足休眠条件时,控制MCU和CPU进入休眠的步骤包括:

控制MCU执行电源管理,当电源管理完成时,MCU满足休眠条件,控制MUC向CPU发送休眠请求;

当CPU接收到所述休眠请求时,控制CPU向MCU发送休眠应答信号;

当MCU接收到休眠应答信号时,控制MCU和CPU进入休眠。

可选地,所述控制CPU进入休眠的步骤之前包括:

控制CPU设置第一预设时间周期和第二预设时间周期,启动计时器;

控制CPU断开与云端国标平台之间的连接;

控制CPU关闭GNSS服务。

可选地,所述控制CPU进入休眠的步骤之后包括:

当计时器累计时长与第一预设时间周期一致时,唤醒CPU,控制CPU向云端车控平台上传时钟频率信号,控制CPU进入休眠。

可选地,所述控制CPU进入休眠的步骤之后还包括:

当计时器累计时长与第二预设时间周期一致时,唤醒CPU;

控制CPU通过GPIO唤醒MCU。

可选地,所述控制CPU通过GPIO唤醒MCU的步骤之后包括:

控制MCU向CPU发送获取唤醒源请求;

当CPU接收到所述获取唤醒源请求时,控制CPU向MCU同步唤醒源。

可选地,所述控制CPU向MCU同步唤醒源的步骤之后包括:

控制所述MCU对所述唤醒源的类型识别;

若所述唤醒源为定时唤醒,则执行步骤:控制MCU执行电源管理。

此外,为实现上述目的,本发明还提供一种用户连接单元休眠唤醒装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用户连接单元休眠唤醒程序,所述用户连接单元休眠唤醒程序被所述处理器执行时实现如上所述任一项所述的用户连接单元休眠唤醒方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有用户连接单元休眠唤醒程序,所述用户连接单元休眠唤醒程序被处理器执行时实现如上所述任一项所述的用户连接单元休眠唤醒方法的步骤。

本发明提出的一种用户连接单元休眠唤醒方法,通过实时检测用户连接单元中各模块的运行状态,当检测到异常状态时,控制CPU向MCU发送唤醒指令,保证了异常状态的及时捕获和处理;若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU,保证CPU和MCU同时处于唤醒状态,避免了CPU一直向已休眠的MCU发送报文数据导致的车辆故障,减少了休眠唤醒故障出现的概率,提升了用户体验,塑造了良好的品牌形象,减轻了售后工程师的负担,不在重点关注售后问题,而是把更多的精力投入到新产品的研发中去,是真真切切的带来了有益效果。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;

图2为本发明用户连接单元休眠唤醒方法第一实施例的流程示意图;

图3为本发明用户连接单元休眠唤醒方法的算法设计示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:一种用户连接单元休眠唤醒方法,所述用户连接单元休眠唤醒方法包括以下步骤:

实时检测用户连接单元中各模块的运行状态,所述用户连接单元至少包括MCU和CPU;

当检测到异常状态时,控制CPU向MCU发送唤醒指令;

若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU。

随着汽车市场逐渐朝着智能化、网联化和信息化迅猛发展,目前车辆的功能越来越多,其中就含有各种场景下对车辆进行唤醒,以及启动等相关操作。经历了近几年的不断更新迭代,各项唤醒休眠功能已逐步趋于完善,并且在各车型上都使用上了这些休眠唤醒策略;然而随着车辆销量的不断提升,仍然有极个别车出现休眠唤醒故障,针对故障件的分析,车辆故障现象表现为车辆限速故障,仪表时间不显示。

经过进一步分析,发现问题在于:定时唤醒后,存在用户连接单元极低概率出现MCU(UCU_MCU:用户连接单元内部的主控制器芯片模块)休眠了,CPU(UCU_MPU:用户连接单元内部的网络通讯模块)模块没休眠的情况,由于CPU的mcu_server(用于检测MCU请求配置数据的进程)崩溃,无法检测到MCU向CPU请求CAN配置数据,但是MCU已经休眠了,所以CPU便开始了重启MCU的逻辑操作,但是MCU并没有重启成功,CPU再次去操作GPIO(General-purpose input/output,通用型之输入输出的简称),MCU也没有数据打印,导致车辆出现故障。

本发明实施例提供一种用户连接单元休眠唤醒方法,通过实时检测用户连接单元中各模块的运行状态,当检测到异常状态时,控制CPU向MCU发送唤醒指令,保证了异常状态的及时捕获和处理;若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU,保证CPU和MCU同时处于唤醒状态,避免了CPU一直向已休眠的MCU发送报文数据导致的车辆故障,减少了休眠唤醒故障出现的概率,提升了用户体验,塑造了良好的品牌形象,减轻了售后工程师的负担,不在重点关注售后问题,而是把更多的精力投入到新产品的研发中去,是真真切切的带来了有益效果。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是车辆,也可以是需要使用用户连接单元休眠唤醒方法的具有网络连接功能的终端设备。

如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及用户连接单元休眠唤醒程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的用户连接单元休眠唤醒程序,并执行以下操作:

实时检测用户连接单元中各模块的运行状态,所述用户连接单元至少包括MCU和CPU;

当检测到异常状态时,控制CPU向MCU发送唤醒指令;

若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

当满足休眠条件时,控制MCU和CPU进入休眠。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

所述当满足休眠条件时,控制MCU和CPU进入休眠的步骤包括:

控制MCU执行电源管理,当电源管理完成时,MCU满足休眠条件,控制MUC向CPU发送休眠请求;

当CPU接收到所述休眠请求时,控制CPU向MCU发送休眠应答信号;

当MCU接收到休眠应答信号时,控制MCU和CPU进入休眠。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

控制CPU设置第一预设时间周期和第二预设时间周期,启动计时器;

控制CPU断开与云端国标平台之间的连接;

控制CPU关闭GNSS服务。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

当计时器累计时长与第一预设时间周期一致时,唤醒CPU,控制CPU向云端车控平台上传时钟频率信号,控制CPU进入休眠。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

当计时器累计时长与第二预设时间周期一致时,唤醒CPU;

控制CPU通过GPIO唤醒MCU。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

控制MCU向CPU发送获取唤醒源请求;

当CPU接收到所述获取唤醒源请求时,控制CPU向MCU同步唤醒源。

进一步地,处理器1001可以调用存储器1005中存储的用户连接单元休眠唤醒程序,还执行以下操作:

控制所述MCU对所述唤醒源的类型识别;

若所述唤醒源为定时唤醒,则执行步骤:控制MCU执行电源管理。

参照图2,本发明第一实施例提供一种用户连接单元休眠唤醒方法,所述用户连接单元休眠唤醒方法包括:

步骤S10,实时检测用户连接单元中各模块的运行状态,所述用户连接单元至少包括MCU和CPU;

需要说明的是,本实施例中,执行主体为车辆内部的用户连接单元,所述用户连接单元内部还包括多个模块,在本实施例中,主要模块为用户连接单元内部的主控制器芯片模块MCU和用户连接单元内部的网络通讯模块CPU。

步骤S20,当检测到异常状态时,控制CPU向MCU发送唤醒指令;

需要说明的是,本实施例中,所述异常状态为MCU已经休眠但是CPU未休眠,其原因在于CPU的mcu_server进程崩溃,无法检测到MCU向CPU请求CAN配置数据,故需唤醒MCU以使逻辑恢复正常。

步骤S30,若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU。

需要说明的是,本实施例中,所述预设次数设定为6次,也可根据实际需求设置为其他合理的次数,本实施例对此不加以限制。

可以理解的是,若CPU向MCU连续发送了6次唤醒指令后MCU依旧无法被唤醒,则证实了MCU已休眠,此时控制CPU对MCU进行复位操作,以使MCU由休眠状态变为唤醒状态。

具体实现中,参照图3,从图3中可以看到在CPU唤醒6次之后,依旧未成功唤醒MCU,此时执行复位MCU的操作。

需要说明的是,若CPU发送唤醒指令的次数未达到6次前,MCU被成功唤醒,则表示车辆已由故障状态恢复为正常状态,此时无需继续发送唤醒指令,亦无需复位MCU。

本实施例中,步骤S30之后包括:

步骤a10,当满足休眠条件时,控制MCU和CPU进入休眠。

需要说明的是,当MCU和CPU均为唤醒状态时或均为休眠状态时,车辆才不会产生故障现象,而一直处于唤醒状态在车辆下电时显然浪费资源,故当满足休眠条件时,需控制MCU和CPU进入休眠状态。

本实施例中,步骤a10包括:

步骤a11,控制MCU执行电源管理,当电源管理完成时,MCU满足休眠条件,控制MUC向CPU发送休眠请求;

步骤a12,当CPU接收到所述休眠请求时,控制CPU向MCU发送休眠应答信号;

步骤a13,当MCU接收到休眠应答信号时,控制MCU和CPU进入休眠。

需要说明的是,所述电源管理是通过MCU实时检测车辆的电流状况并根据需求进行调控,MCU能够实时检测进行是否处于上电状态,当车辆掉电时,表示车辆已停止运行,此时无需再进行电源管理,即视为电源管理完成,MCU满足休眠条件,控制MCU向CPU发送休眠请求;当CPU接收到休眠请求时,同意MCU进行休眠并向MCU发送休眠应答信号以使MCU能够进入休眠状态,同时,CPU也进入休眠状态。

具体实现中,参照图3,从图3中可以看出,MCU在完成电源管理后会向CPU请求休眠,CPU会实时检测是否收到休眠请求,当收到MCU请求休眠的信号时,会向MCU回复休眠应答信号,MCU在收到休眠应答信号之后进入休眠。

本实施例中,步骤a13中所述控制CPU进入休眠的步骤之前包括:

控制CPU设置第一预设时间周期和第二预设时间周期,启动计时器;

控制CPU断开与云端国标平台之间的连接;

控制CPU关闭GNSS服务。

需要说明的是,本实施例中,所述第一预设时间周期为9分钟,所述第二预设时间周期为6小时,也可以设定为其他合理的时间周期,本实施例对此不加以限制;所述计时器用于记录休眠时长,每当休眠时长满足预设时间周期时,唤醒CPU;所述云端国标平台为用于存储车辆状态中各类国标信号项数据的云端平台;所述GNSS服务为辅助GPS全球定位功能的一项系统服务。

可以理解的是,控制CPU的设置所述时间周期的作用是用于定时唤醒CPU,由于CPU即将休眠,若CPU处于休眠状态时依旧保持与云端国标平台之间的连接可能会传输一些无效的报文数据,故需在CPU即将休眠之前断开与云端国标平台之间的连接,关闭GNSS服务也能避免在车辆掉电时对电瓶中存储电量的无意义消耗。

具体实现中,参照图3,从图3中可以看出,CPU在休眠之前会设置定时RTC,时间设置为9分钟和6小时,同时会登出国标平台,关闭GNSS后才进入休眠。

本实施例中,步骤a13中所述控制CPU进入休眠的步骤之后包括:

步骤a20,当计时器累计时长与第一预设时间周期一致时,唤醒CPU,控制CPU向云端车控平台上传时钟频率信号,控制CPU进入休眠。

需要说明的是,所述云端车控平台为实时接收用户连接单元发送的报文数据的云端平台。

可以理解的是,将计时器和预设时间周期结合能起到定时器的作用,在CPU进入休眠状态后,每隔9分钟短暂唤醒CPU向云端车控平台上传时钟频率信号,然后继续控制CPU进入休眠状态,其目的是为了保证车控平台与车辆之间的强连接,避免车辆的某些功能失效。

具体实现中,参照图3,从图3中可以看出,9分钟RTC唤醒CPU后,CPU会向车控平台上传心跳,而后继续进入休眠。

本实施例中,步骤a13中所述控制CPU进入休眠的步骤之后还包括:

步骤a30,当计时器累计时长与第二预设时间周期一致时,唤醒CPU;

步骤a31,控制CPU通过GPIO唤醒MCU。

需要说明的是,所述GPIO为CPU用于唤醒MCU的信号接口。

可以理解的是,当计时器的累计时长达到6小时时,唤醒CPU,并控制CPU通过GPIO唤醒MCU,其目的是为了检测车辆的状态,避免车辆长时间休眠影响车辆内各模块功能。

具体实现中,参照图3,从图3中可以看出,6小时定时唤醒CPU后,CPU通过GPIO唤醒MCU。

本实施例中,步骤a31之后包括:

步骤a40,控制MCU向CPU发送获取唤醒源请求;

步骤a50,当CPU接收到所述获取唤醒源请求时,控制CPU向MCU同步唤醒源。

需要说明的是,在本实施例中,所述唤醒源为定时唤醒,在其他实施方式中,唤醒源也可以是钥匙上电唤醒、充电唤醒等,本实施例对此不加以限制。

可以理解的是,MCU需要根据唤醒源信息执行对应的操作。

具体实现中,参照图3,从图3中可以看出,MCU被唤醒后向CPU获取唤醒源,CPU会实时判断是否收到MCU请求,当CPU收到MCU获取唤醒源的请求时,CPU向MCU同步唤醒源。

本实施例中,步骤a50中所述控制CPU向MCU同步唤醒源的步骤之后包括:

控制所述MCU对所述唤醒源的类型识别;

若所述唤醒源为定时唤醒,则执行步骤:控制MCU执行电源管理。

需要说明的是,所述唤醒源的类型包括定时唤醒、钥匙上电唤醒、充电唤醒等,当MCU识别出唤醒源的类型为定时唤醒时,会重复上述步骤中提到的MCU休眠的步骤,故需先执行电源管理的步骤,待电源管理完成后依次执行请求休眠、接收休眠应答、进入休眠等步骤。

可以理解的是,此时CPU同样重复执行上述步骤中提到的CPU休眠的步骤,例如向MCU发送休眠应答的步骤,以及CPU进入休眠状态前设置时间周期和计时器、登出国标平台、关闭NGSS等步骤。

具体实现中,参照图3,从图3中可以看出,MCU在CPU与其同步唤醒源后又继续进入休眠,实际上MCU先得到唤醒源的类型为定时唤醒,由于定时唤醒只是为了检测车辆整体的功能是否异常,并非车辆需要上电启动,故MCU可直接完成电源管理,并与CPU重复上述步骤中的休眠操作。

在本实施例中,通过对CPU模块和MCU模块进行了适应性优化,向CPU模块中添加了以下逻辑:MCU不来CPU获取CAN配置时,CPU不再重启MCU;MCU不断向CPU获取CAN配置时,CPU不再重启MCU;CPU唤醒MCU不成功后,CPU不再重启MCU;CPU升级MCU失败重试前,不再重启MCU;读取软件版本号时,如果出错误,会有3次重试;接收不到MCU心跳时,不再重启MCU;向MCU模块中添加了以下逻辑:增加MCU休眠后,由KL15 OFF变为ON唤醒时,MCU复位功能;优化串口驱动层,优化串口偶发接收丢数据问题。通过实时检测用户连接单元中各模块的运行状态,当检测到异常状态时,控制CPU向MCU发送唤醒指令,保证了异常状态的及时捕获和处理;若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU,保证CPU和MCU同时处于唤醒状态,避免了CPU一直向已休眠的MCU发送报文数据导致的车辆故障,减少了休眠唤醒故障出现的概率,提升了用户体验,塑造了良好的品牌形象,减轻了售后工程师的负担,不在重点关注售后问题,而是把更多的精力投入到新产品的研发中去,是真真切切的带来了有益效果。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有用户连接单元休眠唤醒程序,所述用户连接单元休眠唤醒程序被处理器执行时实现如下操作:

实时检测用户连接单元中各模块的运行状态,所述用户连接单元至少包括MCU和CPU;

当检测到异常状态时,控制CPU向MCU发送唤醒指令;

若发送唤醒指令预设次数后MCU仍未被唤醒,则复位MCU。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

当满足休眠条件时,控制MCU和CPU进入休眠。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

所述当满足休眠条件时,控制MCU和CPU进入休眠的步骤包括:

控制MCU执行电源管理,当电源管理完成时,MCU满足休眠条件,控制MUC向CPU发送休眠请求;

当CPU接收到所述休眠请求时,控制CPU向MCU发送休眠应答信号;

当MCU接收到休眠应答信号时,控制MCU和CPU进入休眠。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

控制CPU设置第一预设时间周期和第二预设时间周期,启动计时器;

控制CPU断开与云端国标平台之间的连接;

控制CPU关闭GNSS服务。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

当计时器累计时长与第一预设时间周期一致时,唤醒CPU,控制CPU向云端车控平台上传时钟频率信号,控制CPU进入休眠。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

当计时器累计时长与第二预设时间周期一致时,唤醒CPU;

控制CPU通过GPIO唤醒MCU。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

控制MCU向CPU发送获取唤醒源请求;

当CPU接收到所述获取唤醒源请求时,控制CPU向MCU同步唤醒源。

进一步地,所述用户连接单元休眠唤醒程序被处理器执行时还实现如下操作:

控制所述MCU对所述唤醒源的类型识别;

若所述唤醒源为定时唤醒,则执行步骤:控制MCU执行电源管理。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 用户连接单元休眠唤醒方法、装置和计算机可读存储介质
  • 用户输入装置、连接到用户输入装置的计算机、用于连接到用户输入装置的计算机的控制方法和存储介质
技术分类

06120113679191