CN115442768A - 一种车载tbox通讯模组异常唤醒监控方法 - Google Patents

一种车载tbox通讯模组异常唤醒监控方法 Download PDF

Info

Publication number
CN115442768A
CN115442768A CN202110620867.7A CN202110620867A CN115442768A CN 115442768 A CN115442768 A CN 115442768A CN 202110620867 A CN202110620867 A CN 202110620867A CN 115442768 A CN115442768 A CN 115442768A
Authority
CN
China
Prior art keywords
awakening
abnormal
communication module
vehicle
wake
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110620867.7A
Other languages
English (en)
Inventor
何家寿
李晓平
张殷华
张舜
蔡吉晨
刘明星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Automobile Group Co Ltd
Original Assignee
Guangzhou Automobile Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Automobile Group Co Ltd filed Critical Guangzhou Automobile Group Co Ltd
Priority to CN202110620867.7A priority Critical patent/CN115442768A/zh
Publication of CN115442768A publication Critical patent/CN115442768A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本发明提供一种车载TBOX通讯模组异常唤醒监控方法,包括,步骤S1,检测车载TBOX通讯模组的工作状态;其中,所述工作状态包括上电、下电、休眠及唤醒;步骤S2,根据车载TBOX通讯模组的工作状态通过预设的异常唤醒判断规则确定AP核是否产生异常唤醒故障;步骤S3,当AP核产生异常唤醒故障时,根据预设的异常场景检测规则确定异常唤醒场景;其中,所述异常唤醒场景包括长时间异常唤醒或频繁异常唤醒;步骤S4,根据异常唤醒场景通过预设的异常唤醒修复规则对异常唤醒故障进行修复处理,直到故障解除为止。本发明能够高效降低TBOX在异常情况下的整机功耗,可以高效解决TBOX由于通讯模组长时间或频繁异常唤醒导致整车馈电的痛点。

Description

一种车载TBOX通讯模组异常唤醒监控方法
技术领域
本发明涉及车载TBOX技术领域,特别是涉及一种车载TBOX通讯模组异常唤醒监控方法。
背景技术
TBOX(Telematics BOX,车载网联终端)产品主要包含MCU(微控制单元,Microcontroller Unit)和通讯模组两大部分,其中通讯模组主要由Modem核和AP(application process)核组成,AP核运行Linux操作系统。当TBOX休眠稳定之后,整机平均功耗在5mA/12V以内,此时MCU和通讯模组的AP核都处于休眠状态,这两者功耗微乎其微;而为了维持远程控制功能,Modem核还会保留搜网/驻网、短信/振铃/数据业务等网络相关功能,Modem核消耗了绝大部分整机功耗。但在一些异常情况,比如无网络、限制服务、基站切换、制式频繁切换之类的网络异常或硬件异常等情况,Modem核会主动唤醒AP核并把这些异常通知AP核,此时整机功耗会增加到40mA/12V左右,对于5G TBOX产品甚至达到100mA/12V以上。由于整车蓄电池在休眠工况的使用时长设计值基本都在30天以上,如果AP核长时间或者频繁维持异常唤醒状态,蓄电池实际休眠使用时长将远远达不到设定值。
因此,如何设计出一种自动化检测通讯模组AP核异常唤醒并做出相应低功耗处理的方法,降低TBOX功耗进而降低整车馈电风险,几乎是全部TBOX产品开发者面临的技术难题。现有技术中关于监测通讯模组长时间或者频繁维持异常唤醒状态并采取相应处理方法来降低TBOX功耗的方案仍处于空白状态。
发明内容
本发明的目的在于,提出一种车载TBOX通讯模组异常唤醒监控方法,解决现有方法无法有效降低TBOX在异常情况的休眠功耗,进而影响整车馈电风险的技术问题。
一方面,提供一种车载TBOX通讯模组异常唤醒监控方法,包括以下步骤:
步骤S1,检测车载TBOX通讯模组的工作状态;其中,所述工作状态包括上电、下电、休眠及唤醒;
步骤S2,根据车载TBOX通讯模组的工作状态通过预设的异常唤醒判断规则确定AP核是否产生异常唤醒故障;
步骤S3,当AP核产生异常唤醒故障时,根据预设的异常场景检测规则确定异常唤醒场景;其中,所述异常唤醒场景包括长时间异常唤醒或频繁异常唤醒;
步骤S4,根据异常唤醒场景通过预设的异常唤醒修复规则对异常唤醒故障进行修复处理,直到故障解除为止。
优选地,在步骤S2中,所述预设的异常唤醒判断规则,具体包括:
当AP核完成上电后,初始化监控函数并通过异步IO方式监听休眠或唤醒事件;
通过执行shell指令方式实时截取内核日志并保存到存储器的对应目录;
通过执行shell指令方式更改内核日志打印级别,开启唤醒源打印和ipc消息内容打印开关;
当AP核处于休眠状态下,出现自动唤醒且触发监控函数时,设置不进入自动休眠,并获取上一次状态信息、当前状态信息;其中,若当前状态信息是休眠状态,则判定车载TBOX通讯模组休眠成功,执行应用层休眠操作;
根据获取的上一次状态信息和当前状态信息确定AP核产生异常唤醒或属于正常的唤醒。
优选地,在步骤S2中,所述根据获取的上一次状态信息和当前状态信息确定AP核产生异常唤醒,具体包括:
若当前状态是唤醒状态,则获取唤醒控制管脚状态;若唤醒控制管脚状态是低电平,则获取各唤醒源的唤醒状态且通过检索关键字解析所述内核日志确定各唤醒源对应的唤醒类型;其中,所述唤醒类型包括正常或异常。
优选地,在步骤S2中,所述根据获取的上一次状态信息和当前状态信息确定AP核属于正常的唤醒,具体包括:
若唤醒控制管脚状态是高电平,则判定MCU将车载TBOX通讯模组唤醒,AP核属于正常的唤醒。
优选地,在步骤S3中,所述预设的异常场景检测规则,具体包括:
当AP核休眠之后出现自动唤醒,唤醒源的唤醒类型为异常且唤醒持续时间超过异常时间阈值时,判定异常唤醒场景为长时间异常唤醒。
优选地,在步骤S3中,所述预设的异常场景检测规则,具体还包括:
当AP核休眠之后出现自动唤醒,唤醒源的唤醒类型为异常且在预设的异常时间阈值内再次休眠后,又多次出现自动唤醒-休眠循环时,判定异常唤醒场景为频繁异常唤醒。
优选地,在步骤S4中,所述预设的异常唤醒修复规则,具体包括:
当异常唤醒场景为长时间异常唤醒时,启动计时器并等待AP核休眠;
若车载TBOX通讯模组一直保持唤醒,导致计时器超时,则停止并清空计时器,重新获取唤醒控制管脚状态,根据唤醒控制管脚状态进行修复。
优选地,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
若唤醒控制管脚状态是高电平,则判定车载TBOX通讯模组是由MCU唤醒的,属于正常唤醒,继续等待AP核休眠;
若唤醒控制管脚状态是低电平,则读取当前重启次数值;
将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;
若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;
当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
优选地,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
当异常唤醒场景为频繁异常唤醒时,通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;并启动计时器等待AP核休眠;
当AP核在预设休眠时间阈值内进入休眠状态后,又自动唤醒时,重复执行通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;
当某一唤醒源的唤醒次数大于等于最大频繁唤醒次数时,停止并清空计时器;
当某一异常唤醒源的唤醒类型等于禁止的Modem服务事件唤醒时,执行飞行模式操作,将飞行模式总次数加一并等待休眠;
当某一异常唤醒源的唤醒类型不等于禁止的Modem服务事件唤醒,或者多次执行飞行模式之后,还出现频繁唤醒时,获取当前重启次数值;将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
优选地,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
当检测到当前唤醒源属于正常唤醒时,遍历链表把所有元素的异常唤醒源类型唤醒的总次数和执行飞行模式的总次数清零。
综上,实施本发明的实施例,具有如下的有益效果:
本发明提供的车载TBOX通讯模组异常唤醒监控方法,针对TBOX通讯模组AP核长时间异常唤醒和频繁异常唤醒两大常见场景的自动化监测和处理流程,能够高效降低TBOX在异常情况下的整机功耗,填补现有技术在这两大场景的空白。且适用于不同品牌的3G/4G/5G通讯模组,可以高效解决TBOX由于通讯模组长时间或频繁异常唤醒导致整车馈电的痛点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
图1为本发明实施例中TBOX硬件连接示意图。
图2为本发明实施例中一种车载TBOX通讯模组异常唤醒监控方法的主流程示意图。
图3为本发明实施例中异常唤醒的判断示意图。
图4为本发明实施例中长时间异常唤醒的修复示意图。
图5为本发明实施例中频繁异常唤醒的修复示意图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,为本发明提供的TBOX硬件连接示意图,主要包括通讯模组、MCU和emmc存储器。其中,通讯模组由Modem核和AP核组成,两个核基于共享内存进行核间ipc通讯;通讯模组和MCU之间的直连管脚有电源控制管脚pwr_ctl(由MCU控制)、开关机管脚on_off(由MCU控制)、AP核启动状态指示管脚boot_status(由通讯模组控制)、spi通讯管脚组合、唤醒控制管脚wakeup_in(由MCU控制)、唤醒状态管脚wakeup_out(由通讯模组控制)、唤醒MCU管脚wakeup_mcu(由通讯模组控制);另外,通讯模组还通过sdhc(Secure Digital HighCapacity)接口与emmc(Embedded Multi Media Card)存储器连接。
如图2所示,为本发明提供的一种车载TBOX通讯模组异常唤醒监控方法的一个实施例的示意图。在该实施例中,所述方法包括以下步骤:
步骤S1,检测车载TBOX通讯模组的工作状态;其中,所述工作状态包括上电、下电、休眠及唤醒;可以理解的是,TBOX通讯模组的电源控制场景分为上电、下电、休眠、唤醒四个流程,具体地在进行各场景处理过程中需要采用不同的供电方式,然后通过AP核启动状态指示管脚的电压状态变化,可以判断各场景内操作是否成功,综合分析就可以判断车载TBOX通讯模组的工作状态。
具体实施例中,在上电场景中,MCU控制pwr_ctl管脚输出高电平给车载TBOX通讯模组供电并等待电压稳定;电压稳定之后控制on_off管脚先输出高电平,再输出低电平持续时间一端时间T1(可以根据实际情况设置),最后保持高电平进行开机操作。此时,确定AP核启动状态指示管脚(boot_status管脚)状态,其中,若AP核启动状态指示管脚状态由高电平变为低电平,则判定车载TBOX通讯模组启动成功,控制唤醒控制管脚向车载TBOX通讯模组输出高电平,直到MCU和车载TBOX通讯模组之间的spi通讯建立成功;也就是,确定启动成功后,控制wakeup_in管脚输出高电平保持模组唤醒状态,并等待MCU和模组之间的spi握手通讯成功即可。若AP核启动状态指示管脚状态在预设的启动超时时间阈值之内没变化,则判定车载TBOX通讯模组启动失败,对车载TBOX通讯模组进行重启(先进行下电再进行上电对模组进行重启操作)。
具体地,在下电场景中,MCU控制on_off管脚先输出高电平,再输出低电平持续时间一段时间T2(根据实际情况设置),最后保持高电平进行关机操作。若AP核启动状态指示管脚状态由低电平变为高电平,则判定车载TBOX通讯模组关闭成功,表示模组系统关机成功;若AP核启动状态指示管脚状态在预设的关闭超时时间阈值之内没变化,则判定车载TBOX通讯模组关闭失败,表示模组系统关机失败,此时对于某些品牌的通讯模组需要重试几次下电场景的操作过程,控制唤醒控制管脚(wakeup_in管脚)输出低电平,并控制电源控制管脚(pwr_ctl管脚)停止供电,下电操作完成。
具体地,在休眠场景中,具体操作过程为,MCU控制唤醒控制(wakeup_in)管脚向车载TBOX通讯模组进行供电(输出低电平)并允许车载TBOX通讯模组休眠;若唤醒状态(wakeup_out)管脚状态由低电平变为高电平,且维持时间超过2s,则判定车载TBOX通讯模组休眠成功;若唤醒状态(wakeup_out)管脚在预设的休眠超时时间阈值之内没变化,则判定车载TBOX通讯模组休眠失败,对车载TBOX通讯模组进行重启(先进行下电再进行上电对模组进行重启操作)。
具体地,在唤醒场景中,MCU控制唤醒控制(wakeup_in)管脚向车载TBOX通讯模组输出高电平,保持车载TBOX通讯模组处于唤醒状态;若唤醒状态(wakeup_out)管脚由高电平变为低电平,且维持时间超过2s,则判定车载TBOX通讯模组唤醒成功,MCU和车载TBOX通讯模组之间建立spi通讯,即,接着等待MCU和模组之间的spi握手通讯成功即可;若唤醒状态(wakeup_out)管脚状态在预设的唤醒超时时间阈值之内没变化,则判定车载TBOX通讯模组唤醒失败,对车载TBOX通讯模组进行重启,先进行下电再进行上电对模组进行重启操作。
步骤S2,根据车载TBOX通讯模组的工作状态通过预设的异常唤醒判断规则确定AP核是否产生异常唤醒故障;可以理解的是,TBOX在休眠成功之后,MCU处于低功耗状态,通讯模组内的AP核所有进程都处于挂起状态,只有Modem核还保持全功能状态。在基站切换、信号突变、无服务搜网、网络维持等正常情况下,Modem核都不会把AP核唤醒;在收到振铃、短信、远程数据包或出现网络异常、硬件gpio(General-purpose input/output,通用型之输入输出)异常等情况下,Modem核才会把AP核唤醒,并把具体唤醒源通过核间ipc通讯发送给AP核。因此,需要鉴别哪些是异常唤醒源,并做相应处理。
一个实施例中,为了尽可能快获取到AP核唤醒或休眠状态的变化情况,通过一个预设的低功耗模块驱动lpm_driver,该驱动为休眠和唤醒分别设计了对应的回调函数(监控函数)lpm_driver_suspend_cb和lpm_driver_resume_cb;另外,还设计了一个设备节点/dev/suspend_resume和一个proc文件节点/proc/suspend_resume。/dev/suspend_resume设备节点用来进行异步IO通知操作,/proc/suspend_resume文件用来获取最近两次的休眠唤醒状态。其中,/proc/suspend_resume文件的内容格式为:“last_st=xxx,curr_st=xxx”,其中xxx是字符串格式,表示AP核休眠唤醒状态,有3个可选值:“unknown”、“suspend”、“resume”,初始值是“unknown”。比如在某一次唤醒中,/proc/suspend_resume文件的可能值为“last_st=suspend,curr_st=resume”。
具体实施例中,当AP核从休眠状态切换到唤醒状态时,函数lpm_driver_resume_cb被触发,该函数修改/proc/suspend_resume文件值,并通过调用kill_fasync函数触发异步IO通知给应用层,应用层就能以最快的速度读取到最近两次的休眠唤醒状态值,并执行休眠或唤醒相关操作。
当AP核从唤醒状态切换到休眠状态时,函数lpm_driver_suspend_cb被触发,该函数修改/proc/suspend_resume文件值,并通过调用kill_fasync函数触发异步IO通知应用层。但由于Linux系统休眠很快,大多数情况下AP核都来不及执行应用层的异步IO通知回调函数就再次进入休眠状态了。因此需要在下次唤醒时,先判断last_st是否是休眠状态,如果是就先执行应用层休眠相关操作,再执行应用层唤醒相关操作。
具体地,如图3所示,异常唤醒判断规则,具体包括:当AP核完成上电后,初始化监控函数并通过异步IO方式监听休眠或唤醒事件;
通过执行shell指令方式实时截取内核日志并保存到存储器的对应目录;
通过执行shell指令方式更改内核日志打印级别,开启唤醒源打印和ipc消息内容打印开关;
当AP核处于休眠状态下,出现自动唤醒且触发监控函数时,设置不进入自动休眠,并获取上一次状态信息、当前状态信息;其中,若当前状态信息是休眠状态,则判定车载TBOX通讯模组休眠成功,执行应用层休眠操作;
根据获取的上一次状态信息和当前状态信息确定AP核产生异常唤醒或属于正常的唤醒。
若当前状态是唤醒状态,则获取唤醒控制管脚状态;若唤醒控制管脚状态是低电平,则获取各唤醒源的唤醒状态且通过检索关键字解析所述内核日志确定各唤醒源对应的唤醒类型;其中,所述唤醒类型包括正常或异常。
若唤醒控制管脚状态是高电平,则判定MCU将车载TBOX通讯模组唤醒,AP核属于正常的唤醒。
可以理解的是,通过insmod方式手动加载lpm_driver;并且通过signal方式注册异步IO通知回调函数app_suspend_resume_cb。通过执行shell指令方式实时截取内核日志并保存到存储器(emmc存储器)的对应目录;比如在某一实施例中指令为:“cat/proc/kmsg>>/mnt/sdcard/log/dmesg/dmesg_yyyy_mm_dd_hh_mm_ss.log&”。通过执行shell指令方式更改内核日志打印级别,开启唤醒源打印和ipc消息内容打印开关;当AP核处于休眠状态下,出现自动唤醒且触发监控函数时,设置不进入自动休眠,并获取上一次状态、当前状态;具体为,等休眠控制流程完成之后,如果AP核出现自动唤醒,app_suspend_resume_cb函数会被触发。该函数执行的步骤为:把suspend_resume_wake_lock加到/sys/power/wake_lock文件防止系统自动休眠;读取/proc/suspend_resume文件并解析出last_st和curr_st值。若当前状态(curr_st)是唤醒(resume)状态,则获取唤醒控制(wakeup_in)管脚状态;若唤醒控制(wakeup_in)管脚状态是低电平,则判定MCU处于休眠状态,说明MCU还在休眠,是通讯模组自身产生了主动唤醒,且通过检索关键字解析存储器里面的内核日志判断是否产生了异常唤醒,获取异常判断结果;常见的唤醒源、类型及检索关键字方式如下表所示:
Figure BDA0003099490530000091
Figure BDA0003099490530000101
若唤醒控制管脚状态是高电平,则判定MCU将车载TBOX通讯模组唤醒,属于正常的唤醒;如果wakeup_in管脚是高电平,说明是由于MCU把模组唤醒的,属于正常的被动唤醒,需要把suspend_resume_wake_lock加到/sys/power/wake_unlock文件释放掉。
若当前状态(curr_st)是休眠(suspend)状态,则判定车载TBOX通讯模组休眠成功,执行应用层休眠操作。
步骤S3,当AP核产生异常唤醒故障时,根据预设的异常场景检测规则确定异常唤醒场景;其中,所述异常唤醒场景包括长时间异常唤醒或频繁异常唤醒。
一个实施例,异常场景检测规则具体为:当AP核休眠之后出现自动唤醒,且唤醒持续时间超过异常时间阈值时,判定异常唤醒场景为长时间异常唤醒;可以理解的是,长时间异常唤醒判断依据为:AP核休眠之后出现自动唤醒,唤醒源是异常的,且持续时间超过RESUME_TIMEOUT(在某一实施例中该值为180s)都没再次休眠下去。
当AP核休眠之后出现自动唤醒,且在异常时间阈值内再次休眠后,又多次出现自动唤醒-休眠循环时,判定异常唤醒场景为频繁异常唤醒;可以理解的是,频繁异常唤醒判断依据:AP核休眠之后出现自动唤醒,唤醒源是异常的,且在RESUME_TIMEOUT内再次休眠下去,但很快又自动唤醒,如此频繁地循环。
步骤S4,根据异常唤醒场景通过预设的异常唤醒修复规则对异常唤醒故障进行修复处理,直到故障解除为止。可以理解的是,当确实异常唤醒存在,且确定了异常唤醒的场景情况,则需要针对不同场景采用不同的处理策略对异常唤醒故障进行处理和修复,以排除异常唤醒的出现。
具体实施例中,如图4所示,异常唤醒修复规则具体包括:针对长时间异常唤醒场景,由于异常唤醒处理流程包含重启通讯模组的操作,因此需要在emmc存储器里面设置一个文件来记录重启次数,在某一实施例中该文件路径为/mnt/sdcard/data/suspend_resume_reboot_cnt.dat。
具体地,首先当异常唤醒场景为长时间异常唤醒时,启动计时器并等待AP核休眠;
若车载TBOX通讯模组一直保持唤醒,导致计时器超时,则停止并清空计时器,重新获取唤醒控制管脚状态,若唤醒控制管脚状态是高电平,则判定车载TBOX通讯模组是由MCU唤醒的,属于正常唤醒,继续等待AP核休眠;
若唤醒控制管脚状态是低电平,则读取当前重启次数值;将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
可以理解的是,当检测到异常唤醒时,设置计时器超时值RESUME_TIMEOUT并启动计时器;释放suspend_resume_wake_lock并等待AP核休眠;如果模组一直保持唤醒,导致计时器超时,停止并清空计时器;使能suspend_resume_wake_lock,并再次读取wakeup_in管脚状态确认是否中途被MCU唤醒了;如果wakeup_in管脚是高电平,说明是由MCU唤醒的,属于正常唤醒,释放suspend_resume_wake_lock并等待AP核休眠,整个流程结束;
但是,如果wakeup_in管脚是低电平,从suspend_resume_reboot_cnt.dat读取当前重启次数值;如果当前重启次数值大于等于最大重启次数值(在某一实施例中该值为3次),控制wakeup_out管脚输出低电平延时100ms再输出高电平唤醒MCU,等待通讯模组和MCU之间SPI握手通过,把suspend_resume_reboot_cnt.dat里面的重启次数值清零,最后通过SPI消息通知MCU对通讯模组操作下电控制流程;如果当前重启次数值小于最大重启次数值,把MCU唤醒并建立SPI通讯,把suspend_resume_reboot_cnt.dat里面的重启次数值加一,最后通过SPI消息通知MCU对通讯模组先操作下电控制流程再操作上电控制流程进行重启;但是,如果重启之后模组能够休眠成功,直接执行应用层休眠相关操作,把suspend_resume_reboot_cnt.dat里面的重启次数值清零即可;或者等下次唤醒之后把suspend_resume_wake_lock加到/sys/power/wake_lock文件防止系统自动休眠;读取/proc/suspend_resume文件并解析出last_st和curr_st值,如果last_st是休眠状态,同样把重启次数值清零。
如图5所示,异常唤醒修复规则具体包括:针对频繁异常唤醒场景,考虑到频繁唤醒原因可能不是同一种,需要AP核RAM缓存中采用链表方式记录休眠唤醒及相关操作计数值,链表元素结构体类型如下:
Figure BDA0003099490530000121
其中,wakeup_source表示异常唤醒源类型,1表示usbvbus高电平唤醒,2表示gpio唤醒,3表示禁止的Modem服务事件唤醒;wakeup_cnt表示某一wakeup_source唤醒的总次数;airplane_cnt表示执行飞行模式的总次数;list指向上一个和下一个链表元素。
具体处理过程为,通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;并启动计时器等待AP核休眠,具体地,设置计时器超时值RESUME_TIMEOUT并启动计时器(与长时间异常唤醒场景处理中采用同一个计时器),释放suspend_resume_wake_lock并等待AP核休眠;
当AP核在预设休眠时间阈值(RESUME_TIMEOUT)内进入休眠状态后,又自动唤醒时,重复执行通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;当某一唤醒源的唤醒次数大于等于最大频繁唤醒次数(在实施例中该值为6次)时,停止并清空计时器;当某一异常唤醒源的唤醒类型(wakeup_source)等于3,则执行飞行模式操作,将飞行模式总次数(airplane_cnt)加一;其中,通过发送AT指令(比如先发送AT+CFUN=0再发送AT+CFUN=1)或调用API的方式执行飞行模式操作。
当某一异常唤醒源的唤醒类型(wakeup_source)不等于3,或者多次(在某一实施例中该值为1次)执行飞行模式之后,还出现频繁唤醒时,获取当前重启次数值;将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
异常唤醒修复规则中,如果出现检测到当前唤醒源属于正常唤醒时,遍历链表把所有元素的异常唤醒源类型唤醒的总次数(wakeup_cnt)和执行飞行模式的总次数(airplane_cnt)值清零。
综上,实施本发明的实施例,具有如下的有益效果:
本发明提供的车载TBOX通讯模组异常唤醒监控方法,针对TBOX通讯模组AP核长时间异常唤醒和频繁异常唤醒两大常见场景的自动化监测和处理流程,能够高效降低TBOX在异常情况下的整机功耗,填补现有技术在这两大场景的空白。且适用于不同品牌的3G/4G/5G通讯模组,可以高效解决TBOX由于通讯模组长时间或频繁异常唤醒导致整车馈电的痛点。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种车载TBOX通讯模组异常唤醒监控方法,其特征在于,包括以下步骤:
步骤S1,检测车载TBOX通讯模组的工作状态;其中,所述工作状态包括上电、下电、休眠及唤醒;
步骤S2,根据车载TBOX通讯模组的工作状态通过预设的异常唤醒判断规则确定AP核是否产生异常唤醒故障;
步骤S3,当AP核产生异常唤醒故障时,根据预设的异常场景检测规则确定异常唤醒场景;其中,所述异常唤醒场景包括长时间异常唤醒或频繁异常唤醒;
步骤S4,根据异常唤醒场景通过预设的异常唤醒修复规则对异常唤醒故障进行修复处理,直到故障解除为止。
2.如权利要求1所述的方法,其特征在于,在步骤S2中,所述预设的异常唤醒判断规则,具体包括:
当AP核完成上电后,初始化监控函数并通过异步IO方式监听休眠或唤醒事件;
通过执行shell指令方式实时截取内核日志并保存到存储器的对应目录;
通过执行shell指令方式更改内核日志打印级别,开启唤醒源打印和ipc消息内容打印开关;
当AP核处于休眠状态下,出现自动唤醒且触发监控函数时,设置不进入自动休眠,并获取上一次状态信息、当前状态信息;其中,若当前状态信息是休眠状态,则判定车载TBOX通讯模组休眠成功,执行应用层休眠操作;
根据获取的上一次状态信息和当前状态信息确定AP核产生异常唤醒或属于正常的唤醒。
3.如权利要求2所述的方法,其特征在于,在步骤S2中,所述根据获取的上一次状态信息和当前状态信息确定AP核产生异常唤醒,具体包括:
若当前状态是唤醒状态,则获取唤醒控制管脚状态;若唤醒控制管脚状态是低电平,则获取各唤醒源的唤醒状态且通过检索关键字解析所述内核日志确定各唤醒源对应的唤醒类型;其中,所述唤醒类型包括正常或异常。
4.如权利要求3所述的方法,其特征在于,在步骤S2中,所述根据获取的上一次状态信息和当前状态信息确定AP核属于正常的唤醒,具体包括:
若唤醒控制管脚状态是高电平,则判定MCU将车载TBOX通讯模组唤醒,AP核属于正常的唤醒。
5.如权利要求3所述的方法,其特征在于,在步骤S3中,所述预设的异常场景检测规则,具体包括:
当AP核休眠之后出现自动唤醒,唤醒源的唤醒类型为异常且唤醒持续时间超过异常时间阈值时,判定异常唤醒场景为长时间异常唤醒。
6.如权利要求5所述的方法,其特征在于,在步骤S3中,所述预设的异常场景检测规则,具体还包括:
当AP核休眠之后出现自动唤醒,唤醒源的唤醒类型为异常且在预设的异常时间阈值内再次休眠后,又多次出现自动唤醒-休眠循环时,判定异常唤醒场景为频繁异常唤醒。
7.如权利要求6所述的方法,其特征在于,在步骤S4中,所述预设的异常唤醒修复规则,具体包括:
当异常唤醒场景为长时间异常唤醒时,启动计时器并等待AP核休眠;
若车载TBOX通讯模组一直保持唤醒,导致计时器超时,则停止并清空计时器,重新获取唤醒控制管脚状态,根据唤醒控制管脚状态进行修复。
8.如权利要求7所述的方法,其特征在于,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
若唤醒控制管脚状态是高电平,则判定车载TBOX通讯模组是由MCU唤醒的,属于正常唤醒,继续等待AP核休眠;
若唤醒控制管脚状态是低电平,则读取当前重启次数值;
将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;
若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;
当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
9.如权利要求8所述的方法,其特征在于,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
当异常唤醒场景为频繁异常唤醒时,通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;并启动计时器等待AP核休眠;
当AP核在预设休眠时间阈值内进入休眠状态后,又自动唤醒时,重复执行通过创建/遍历链表进行寻找/添加唤醒源,将相应的唤醒计数器加一;
当某一唤醒源的唤醒次数大于等于最大频繁唤醒次数时,停止并清空计时器;
当某一异常唤醒源的唤醒类型等于禁止的Modem服务事件唤醒时,执行飞行模式操作,将飞行模式总次数加一并等待休眠;
当某一异常唤醒源的唤醒类型不等于禁止的Modem服务事件唤醒,或者多次执行飞行模式之后,还出现频繁唤醒时,获取当前重启次数值;将当前重启次数值与最大重启次数值比较,若当前重启次数值大于等于最大重启次数值,则唤醒MCU并与车载TBOX通讯模组建立spi通讯,将重启次数值清零,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行下电操作;若当前重启次数值小于最大重启次数值,则唤醒MCU并建立spi通讯,将重启次数值加一,通过spi通讯管脚通知MCU对车载TBOX通讯模组进行重启;当重启之后对车载TBOX通讯模组休眠成功时,将重启次数值清零。
10.如权利要求9所述的方法,其特征在于,在步骤S4中,所述预设的异常唤醒修复规则,具体还包括:
当检测到当前唤醒源属于正常唤醒时,遍历链表把所有元素的异常唤醒源类型唤醒的总次数和执行飞行模式的总次数清零。
CN202110620867.7A 2021-06-03 2021-06-03 一种车载tbox通讯模组异常唤醒监控方法 Pending CN115442768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110620867.7A CN115442768A (zh) 2021-06-03 2021-06-03 一种车载tbox通讯模组异常唤醒监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110620867.7A CN115442768A (zh) 2021-06-03 2021-06-03 一种车载tbox通讯模组异常唤醒监控方法

Publications (1)

Publication Number Publication Date
CN115442768A true CN115442768A (zh) 2022-12-06

Family

ID=84272052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110620867.7A Pending CN115442768A (zh) 2021-06-03 2021-06-03 一种车载tbox通讯模组异常唤醒监控方法

Country Status (1)

Country Link
CN (1) CN115442768A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126209A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种终端系统的唤醒统计方法及终端
CN108549593A (zh) * 2018-03-29 2018-09-18 广东欧珀移动通信有限公司 信息处理方法、装置、移动终端和计算机可读存储介质
CN108646909A (zh) * 2018-05-15 2018-10-12 Oppo(重庆)智能科技有限公司 信息处理方法、装置、移动终端和计算机可读存储介质
JP2019084942A (ja) * 2017-11-06 2019-06-06 トヨタ自動車株式会社 電子制御装置
CN112141122A (zh) * 2020-09-23 2020-12-29 北京车和家信息技术有限公司 车辆休眠异常检测方法、装置、设备及存储介质
CN112558590A (zh) * 2020-12-08 2021-03-26 广州橙行智动汽车科技有限公司 网络管理异常监测方法、系统、车辆及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126209A (zh) * 2016-06-15 2016-11-16 广东欧珀移动通信有限公司 一种终端系统的唤醒统计方法及终端
JP2019084942A (ja) * 2017-11-06 2019-06-06 トヨタ自動車株式会社 電子制御装置
CN108549593A (zh) * 2018-03-29 2018-09-18 广东欧珀移动通信有限公司 信息处理方法、装置、移动终端和计算机可读存储介质
CN108646909A (zh) * 2018-05-15 2018-10-12 Oppo(重庆)智能科技有限公司 信息处理方法、装置、移动终端和计算机可读存储介质
CN112141122A (zh) * 2020-09-23 2020-12-29 北京车和家信息技术有限公司 车辆休眠异常检测方法、装置、设备及存储介质
CN112558590A (zh) * 2020-12-08 2021-03-26 广州橙行智动汽车科技有限公司 网络管理异常监测方法、系统、车辆及可读存储介质

Similar Documents

Publication Publication Date Title
EP0813707B1 (en) A computer system with unattended on-demand availability
US20040243868A1 (en) Method and apparatus for power mode transition in a multi-thread processor
CN111683287B (zh) 智能设备启动方法、装置、智能设备和可读存储介质
CN109803359A (zh) 一种唤醒终端系统的方法及终端
KR20110021927A (ko) 전력 소모를 감소시키기 위해 슬립 상태를 제공하는 제 2 메모리 컨트롤러를 구비한 집적 회로 및 그 방법
CN101154131A (zh) 信息处理设备和系统状态控制方法
US20030070065A1 (en) Suspending to nonvolatile storage
US10394307B2 (en) Information processing apparatus, information processing method, and program
CN102736928B (zh) 快速唤醒计算机系统方法与计算机系统
CN115756622B (zh) 芯片控制方法及芯片
CN113721751A (zh) 一种基于事件与休眠定时器的低功耗管理方法及系统
CN101436097B (zh) 电子装置及其唤醒方法
CN111176408B (zh) 一种SoC的低功耗处理方法和装置
CN117687694A (zh) 误唤醒处理方法、装置及存储介质
CN115442768A (zh) 一种车载tbox通讯模组异常唤醒监控方法
US10042650B2 (en) Computer startup method, startup apparatus, state transition method and state transition apparatus
CN109960638A (zh) Bmc启动原因记录方法、系统、装置及可读存储介质
EP1229430B1 (en) Power management system and method
CN115437859A (zh) 休眠唤醒处理方法、装置、电子设备及存储介质
CN110659169B (zh) 一种安卓系统自动休眠唤醒压力测试的方法
US20180157311A1 (en) System-Wide Idle Resiliency Mechanism for Always-On Always-Connected Computers
CN110457072A (zh) 防止系统挂死的方法、装置、设备及计算机可读介质
CN115185359B (zh) 一种机密计算协处理器系统及其掉电保护方法
CN117950737A (zh) 唤醒处理方法、装置、电子设备及计算机可读存储介质
US7822999B2 (en) Computer system and method for controlling a processor thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination