著录项信息
专利名称 | 一种对触摸屏采集的数据进行处理的方法及终端设备 |
申请号 | CN201610124713.8 | 申请日期 | 2016-03-04 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-06-22 | 公开/公告号 | CN105700668A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F1/3206 | IPC分类号 | G;0;6;F;1;/;3;2;0;6;;;G;0;6;F;1;/;3;2;3;4查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 钟光华;潘斌;杨伟健 |
代理机构 | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人 | 王仲凯 |
摘要
本发明实施例公开了一种对触摸屏采集的数据进行处理的方法及终端设备,能够降低设备功耗。本发明实施例中,触摸屏不是直接和应用处理器进行通信,而是通过MCU与应用处理器构建专有通道进行通信。本发明实施例方法包括:MCU从触摸屏获取触摸数据,对触摸数据进行预处理,将预处理之后的触摸数据发送给应用处理器。因为MCU对触摸屏的触摸数据进行预处理以过滤无效的触摸数据再将有效的触摸数据发送给应用处理器,从而MCU既可以在应用处理器进入睡眠的情况下随时对触摸屏的触摸数据进行处理,又可以对触摸数据进行过滤,能够避免应用处理器在进入睡眠的情况下被无效的触摸事件唤醒,从而可以减轻应用处理器的负荷,降低设备功耗。
1.一种对触摸屏采集的数据进行处理的方法,其特征在于,触摸屏通过微控制单元MCU与应用处理器进行通信,所述方法包括:
所述MCU从触摸屏获取触摸数据;
所述MCU对所述触摸数据进行预处理,将预处理之后的触摸数据发送给所述应用处理器;
所述MCU将预处理之后的触摸数据发送给所述应用处理器包括:
所述MCU通过触摸数据通道将所述触摸数据发送给所述应用处理器,所述触摸数据通道只用于发送所述预处理之后的触摸数据;
所述MCU对所述触摸数据进行预处理包括:
所述MCU采用第一频率对所述触摸数据进行预处理,所述第一频率大于所述应用处理器的处理频率。
2.根据权利要求1所述的方法,其特征在于,所述MCU采用第一频率对所述触摸数据进行预处理包括:
所述MCU采用所述第一频率确定所述触摸数据对应的触摸事件,所述触摸事件为按下事件、滑动事件和抬起事件中的一种或多种。
3.根据权利要求2所述的方法,其特征在于,若确定所述触摸数据对应的事件为滑动事件,则所述MCU采用第一频率对所述触摸数据进行预处理还包括:
所述MCU采用所述第一频率对所述滑动事件对应的滑动距离进行判断;
所述将预处理之后的触摸数据发送给所述应用处理器包括:
若所述滑动距离大于系统第一预设阈值,则将所述滑动事件发送给所述应用处理器。
4.根据权利要求2所述的方法,其特征在于,所述MCU采用第一频率对所述触摸数据进行预处理还包括:
当所述触摸屏处于灭屏状态时,所述MCU判断所述触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同;
所述将预处理之后的触摸数据发送给所述应用处理器包括:
若所述触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给所述应用处理器。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述MCU获取传感器的传感数据;
所述MCU采用第一频率对所述触摸数据进行预处理还包括:
所述MCU根据所述传感数据判断所述触摸事件是否为误操作事件;
所述将预处理之后的触摸数据发送给所述应用处理器包括:
当确定所述触摸事件不是误操作事件时,将所述触摸事件发送给所述应用处理器。
6.根据权利要求5所述的方法,其特征在于,所述传感器为光传感器;
所述MCU根据所述传感数据判断所述触摸事件是否为误操作事件包括:
当所述触摸屏处于灭屏状态时,所述MCU判断所述光传感器测量的光照度是否大于第二预设阈值,若不大于所述第二预设阈值,则确定所述触摸事件为误操作事件。
7.一种终端设备,其特征在于,所述终端设备包括:
触摸屏,微控制单元MCU,应用处理器;
所述应用处理器与所述MCU电连接,所述触摸屏与所述MCU电连接;
所述触摸屏,用于采集触摸数据;
所述MCU,用于获取所述触摸数据,对所述触摸数据进行预处理,将预处理之后的触摸数据发送给所述应用处理器;
所述应用处理器,用于根据所述MCU发送的所述触摸数据进行事件响应;
所述终端设备还包括触摸数据通道,所述触摸数据通道与外围总线电连接,所述触摸数据通道只用于所述MCU与所述应用处理器之间的数据通信;
所述MCU,具体用于通过触摸数据通道将所述触摸数据发送给所述应用处理器;
所述MCU,在用于对所述触摸数据进行预处理方面具体用于:采用第一频率对所述触摸数据进行预处理,所述第一频率大于所述应用处理器的处理频率。
8.根据权利要求7所述的终端设备,其特征在于:
所述应用处理器通过外围总线与所述MCU电连接,所述触摸屏通过两线式串行I2C总线与所述MCU电连接。
9.根据权利要求8所述的终端设备,其特征在于:
所述MCU,在用于采用第一频率对所述触摸数据进行预处理方面具体用于:采用所述第一频率对确定所述触摸数据对应的触摸事件,所述触摸事件为按下事件、滑动事件和抬起事件中的一种或多种。
10.根据权利要求9所述的终端设备,其特征在于:
所述MCU,在用于采用所述第一频率确定所述触摸数据对应的触摸事件之后还用于:若确定所述触摸数据对应的事件为滑动事件,则采用所述第一频率对所述滑动事件对应的滑动距离进行判断,若所述滑动距离大于系统第一预设阈值,则将所述滑动事件发送给所述应用处理器。
11.根据权利要求10所述的终端设备,其特征在于:
所述MCU,在用于采用所述第一频率确定所述触摸数据对应的触摸事件之后还用于:当所述触摸屏处于灭屏状态时,判断所述触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同;若所述触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给所述应用处理器。
12.根据权利要求10所述的终端设备,其特征在于:
所述MCU,还用于获取传感器的传感数据;所述MCU在用于采用所述第一频率确定所述触摸数据对应的触摸事件之后还用于:根据所述传感数据判断所述触摸事件是否为误操作事件,当确定所述触摸事件不是误操作事件时,将所述触摸事件发送给所述应用处理器。
13.根据权利要求12所述的终端设备,其特征在于,所述传感器为光传感器,所述MCU,在用于根据所述传感数据判断所述触摸事件是否为误操作事件方面具体用于:
当所述触摸屏处于灭屏状态时,所述MCU判断所述光传感器测量的光照度是否大于第二预设阈值,若不大于所述第二预设阈值,则确定所述触摸事件为误操作事件。
14.根据权利要求7至13中任一项所述的终端设备,其特征在于,
所述MCU为低功能感测器中枢SensorHub协处理器。
一种对触摸屏采集的数据进行处理的方法及终端设备\n技术领域\n[0001] 本发明涉及触摸屏领域,尤其涉及一种对触摸屏采集的数据进行处理的方法及终端设备。\n背景技术\n[0002] 触摸屏作为新型人机交互的载体,广泛应用于各种智能终端产品。作为手机等智能终端使用率最频繁的模块,触摸屏的用户体验显得至关重要,其中功耗是影响用户体验的其中一个因素。\n[0003] 触摸屏的触摸数据处理流程如图1所示,应用处理器(Application Processor,AP)中的触摸屏驱动(Touch Driver)从触摸屏(Touch Panel)中获取触摸数据,触摸屏驱动再将其上报给AP中的操作系统内核(Kernel),Kernel经过数据处理后,调用显示模块(Display)将图像逐帧显示出来。\n[0004] 在此过程中,AP需要随时对触摸屏的触摸数据进行处理,即使在无任务的情况下,为了保证性能不受影响,也不能进入深度睡眠。因此,AP的负荷较大,从而增加了设备的功耗。\n发明内容\n[0005] 本发明实施例提供了一种对触摸屏采集的数据进行处理的方法及终端设备,能够降低设备的功耗。\n[0006] 第一方面,本发明实施例提供了一种对触摸屏采集的数据进行处理的方法,其中,触摸屏通过微控制单元(Microcontroller Unit,MCU)与AP进行通信,该方法包括:MCU从触摸屏获取触摸数据,对触摸数据进行预处理,将预处理之后的触摸数据发送给AP。\n[0007] 本发明实施例中,触摸屏不是直接和AP进行通信,而是通过MCU与AP进行通信。MCU对触摸屏的触摸数据进行预处理以过滤无效的触摸数据再将有效的触摸数据发送给AP,从而MCU既可以在AP进入睡眠的情况下随时对触摸屏的触摸数据进行处理,又可以通过MCU对触摸数据进行过滤,能够避免AP在进入睡眠的情况下被无效的触摸事件唤醒,从而可以减轻AP的负荷,降低设备的功耗。\n[0008] 结合第一方面,在第一方面的第一种可能的实现方式中,MCU将预处理之后的触摸数据发送给AP包括:MCU通过专用触摸数据通道将触摸数据发送给AP,该触摸数据通道只用于发送触摸数据。\n[0009] 本发明实施例中,采用独有的触摸数据通道在AP与MCU之间传输触摸数据,与其他数据(非触摸数据)进行分隔,能够降低触摸数据传输的延时,提高触摸数据处理效率,从而提升系统性能。\n[0010] 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,MCU对触摸数据进行预处理为:MCU采用第一频率对触摸数据进行预处理,该第一频率大于AP的处理频率。在安卓(android)系统中,系统每隔16ms(约60Hz的频率)发出帧同步(Vertical Synchronization,VSYNC)信号以触发AP对数据的处理,因此AP的处理速率为60Hz;触摸屏的采样频率为120Hz,MCU从触摸屏获取触摸数据,处理触摸数据的频率也为\n120Hz,因此,所述第一频率为120Hz,大于AP的处理频率60Hz。\n[0011] 优选的,结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,MCU采用所述第一频率确定所述触摸数据对应的触摸事件。在一些实施例中,触摸事件为按下(Down)事件、滑动(Move)事件和抬起(Up)事件中的任意一种,比如MCU采用第一频率确定所述触摸数据对应的触摸事件是按下事件、滑动事件或者抬起事件;在另一些实施例中,MCU采用所述第一频率确定所述触摸数据对应的触摸事件包括多种事件,例如包括按下事件和抬起事件,或包括按下事件、滑动事件和抬起事件。在其他一些实施例中,触摸事件还可以为其它事件,比如非接触式手势所产生的事件。\n[0012] 因此,MCU采用比AP更高的处理频率处理触摸数据,能够用更少的周期识别出有效的触摸事件,因此能够提高屏幕的响应性能。\n[0013] 结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在一些实施例中,MCU对触摸数据的预处理包括以下几种形式中的一种或多种:MCU将Down事件和Up事件上报给AP,而对于Move事件,MCU采用第一频率对Move事件对应的滑动距离进行判断,若滑动距离大于系统第一预设阈值,则将Move事件上报给AP,若滑动距离小于系统第一预设阈值,则不将Move事件上报给AP。\n[0014] 因此,相对于在AP侧对滑动事件进行处理来说,在MCU侧可以对滑动事件进行快速处理,用更少的周期识别出有效滑动,节省有效的滑动事件判断的时间,能进一步提高屏幕响应的性能。\n[0015] 目前,在支持灭屏时手势唤醒屏幕功能的终端设备中,大部分需要依赖AP来进行手势识别,尤其是复杂的手势,因此在灭屏情况下AP必须至少需要1个内核来进行处理,本发明实施例中,结合第一方面或第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,MCU对触摸事件进行预处理还包括:在触摸屏处于灭屏状态时,MCU判断触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同,若触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给AP,若触摸事件对应的手势与系统预置的灭屏唤醒手势不相同,则不发送唤醒指令给AP。\n[0016] 因此,本发明实施例可以使得在灭屏状态下,不需要依赖AP来进行手势识别,而是通过MCU对灭屏唤醒手势进行判断,当手势正确时,才唤醒处于睡眠状态的AP,当是无效手势时,不会唤醒处于睡眠状态的AP,AP可以继续处于睡眠状态,避免了AP因错误的灭屏唤醒手势唤醒后产生功耗,因此能够进一步节省设备的整体功耗。\n[0017] 结合第一方面中的任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,该方法还包括:MCU获取传感器的传感数据;MCU采用第一频率对触摸数据进行预处理,将预处理之后的触摸数据发送给AP包括:MCU根据传感数据判断所述触摸事件是否为误操作事件;若确认所述触摸事件不是误操作事件,则将该触摸事件发送给AP,若确认所述触摸事件为误操作事件,则不将该触摸事件发送给AP。\n[0018] 如此,MCU能够结合传感器的传感数据对触摸屏的触摸事件进行预处理,从而能够过滤掉误操作事件,一定程度上防止了误操作唤醒AP,亦即避免了AP因误操作被唤醒后产生功耗,从而有效降低了AP的整体功耗,达到了节省终端设备功耗的目的。\n[0019] 结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述传感器为光传感器;MCU根据传感数据判断触摸事件是否为误操作事件包括:若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定触摸事件为误操作事件。\n[0020] 或者,可选的,在执行第一方面的第三种可能的实现方式中的触摸事件区分步骤之前,MCU先根据传感数据判断触摸操作是否为误操作,若确认为误操作,则不对该数模数据进行后续的触摸事件区分等处理,同时不将该触摸数据上报给AP。\n[0021] 具体的,若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定MCU从触摸屏获取的触摸数据对应的操作为误操作。\n[0022] 第二方面,本发明实施例提供了一种终端设备,该终端设备包括:\n[0023] 触摸屏,微控制单元MCU,应用处理器AP;其中,AP与MCU电连接;触摸屏与MCU电连接;其中,触摸屏用于采集触摸数据;MCU用于获取触摸数据,对触摸数据进行预处理,将预处理之后的触摸数据发送给AP;AP用于根据MCU发送的触摸数据进行事件响应。\n[0024] 结合第二方面的任一种可能的实现方式,在第二方面的第一种可能的实现方式中,可选的,应用处理器通过外围总线与MCU电连接;\n[0025] 结合第二方面的任一种可能的实现方式,在第二方面的第二种可能的实现方式中,触摸屏通过两线式串行I2C总线与MCU电连接。\n[0026] 进一步,在第二方面的第三种可能的实现方式中,终端设备还包括:触摸数据通道,触摸数据通道与外围总线电连接,触摸数据通道只用于MCU与AP之间的数据通信;MCU具体用于通过该触摸数据通道将触摸数据发送给AP。\n[0027] 进一步,在第二方面的第四种可能的实现方式中,MCU在用于对触摸数据进行预处理方面具体用于:采用第一频率对触摸数据进行预处理,所述第一频率大于AP的处理频率。\n[0028] 结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,MCU在用于采用第一频率对触摸数据进行预处理方面具体用于:采用第一频率确定所述触摸数据对应的触摸事件,所述触摸事件为按下(Down)事件、滑动(Move)事件和抬起(Up)事件中的一种或多种。\n[0029] 结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,MCU在采用第一频率确定触摸数据对应的触摸事件之后还用于:若确定所述触摸数据对应的事件为Move事件,则采用第一频率对Move事件对应的滑动距离进行判断,若滑动距离大于系统第一预设阈值,则将Move事件发送给AP,若滑动距离小于系统第一预设阈值,则不将Move事件发送给AP。\n[0030] 结合第二方面或第二方面的第四种可能的实现方式,在第七方面的第五种可能的实现方式中,MCU在采用第一频率确定触摸数据对应的触摸事件之后还用于:当触摸屏处于灭屏状态时,判断触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同;若触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给AP,若触摸事件对应的手势与系统预置的灭屏唤醒手势不相同,则不发送唤醒指令给AP。\n[0031] 结合第二方面中的任一种可能的实现方式,在第二方面的第八种可能的实现方式中,MCU还用于获取传感数据,MCU还用于:根据传感数据判断触摸事件是否为误操作事件,当确定触摸事件不是误操作事件时,将触摸事件发送给AP,当确定触摸事件是误操作事件时,不将触摸事件发送给AP。\n[0032] 结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,MCU在用于根据传感数据判断触摸事件是否为误操作事件方面具体用于:当触摸屏处于灭屏状态时,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于第二预设阈值,则确定触摸事件为误操作事件。\n[0033] 结合第二方面,第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式,在第二方面的第十种可能的实现方式中,MCU还用于获取传感数据,MCU在用于对触摸数据进行预处理,将预处理之后的触摸数据发送给AP方面具体用于:根据传感数据判断触摸数据对应的操作是否为误操作,若确认为误操作,则不对该触摸数据进行后续的触摸事件区分等处理,同时不将该触摸数据上报给AP。\n[0034] 可选的,MCU在用于根据传感数据判断触摸数据对应的操作是否为误操作方面具体用于:若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定MCU从触摸屏获取的触摸数据对应的操作为误操作。\n[0035] 结合第二方面中的任一种可能的实现方式,在一些具体的实施中,MCU为低功能感测器中枢SensorHub协处理器。\n[0036] 通过此种方式,能够通过现有技术终端设备中的SensorHub来实现本发明实施例的MCU所实现的功能。\n[0037] 第三方面,本发明实施例提供了一种处理器,其特征在于,处理器包括:触摸数据获取模块,用于从触摸屏获取触摸数据,触摸屏与处理器电连接;触摸数据预处理模块,用于对触摸数据进行预处理;触摸数据发送模块,用于将预处理之后的触摸数据发送给应用处理器AP,AP与处理器电连接。\n[0038] 结合第三方面,在第三方面的第一种可能的实现方式中,触摸数据发送模块具体用于通过触摸数据通道将触摸事件发送给AP,触摸数据通道只用于发送触摸数据。\n[0039] 结合第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,触摸数据预处理模块具体用于采用第一频率对触摸数据进行预处理,第一频率大于AP的处理频率。\n[0040] 结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,触摸数据预处理模块具体用于采用第一频率确定触摸数据对应的触摸事件,其中,触摸事件为按下(Down)事件、滑动(Move)事件和抬起(Up)事件中的一种或多种。\n[0041] 结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,触摸数据预处理模块具体用于:若确定所述触摸数据对应的事件为Move事件,则采用第一频率对Move事件对应的滑动距离进行判断;触摸数据发送模块具体用于:若滑动距离大于系统第一预设阈值,则将Move事件发送给AP,若滑动距离小于系统第一预设阈值,则不将Move事件发送给AP。\n[0042] 结合第三方面的第三种可能的实现方式,在第三方面的第五种可能的实现方式中,触摸数据预处理模块具体用于:当触摸屏处于灭屏状态时,判断触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同;触摸数据发送模块具体用于:若触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给AP。\n[0043] 结合第三方面的第三种可能的实现方式,在第三方面的第六种可能的实现方式中,处理器还包括:传感数据获取模块,用于获取传感数据;触摸数据预处理模块具体用于:\n根据传感数据判断触摸事件是否为误操作事件;触摸数据发送模块具体用于:当确定触摸事件不是误操作事件时,将触摸事件发送给AP。\n[0044] 结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,若传感器为光传感器,触摸数据预处理模块在根据传感数据判断触摸事件是否为误操作事件方面具体用于:当触摸屏处于灭屏状态时,判断光传感器测量的光照度是否大于第二预设阈值,若不大于第二预设阈值,则确定触摸事件为误操作事件。\n[0045] 结合第三方面,第三方面的第二种可能的实现方式,在第三方面的第八种可能的实现方式中,处理器还包括:传感数据获取模块,用于获取传感数据;触摸数据预处理模块具体用于:根据传感数据判断触摸数据对应的操作是否为误操作,若确认为误操作,则不对该触摸数据进行后续的触摸事件区分等处理,同时不将该触摸数据上报给AP。\n[0046] 结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,若传感器为光传感器,触摸数据预处理模块在用于根据传感数据判断触摸数据对应的操作是否为误操作方面具体用于:若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定MCU从触摸屏获取的触摸数据对应的操作为误操作。\n[0047] 第四方面,本发明实施例还提供一种计算机存储介质,该介质存储有程序,该程序被执行时能够实现上述本发明前述方法提供的任意一种实现方式的部分或者全部步骤。\n[0048] 第五方面,本发明实施例还提供一种触摸屏数据处理装置,该装置包括一个或多个能够实现前述方法步骤的功能模块,例如,该装置包括用于实现从触摸屏获取触摸数据的功能模块,对触摸数据进行预处理的功能模块,以及将预处理之后的触摸数据发送给AP的功能模块。\n[0049] 从以上技术方案可以看出,本发明实施例的方案具有如下有益效果:\n[0050] 本发明实施例中,触摸屏不是直接和AP进行通信,而是通过MCU与应用处理器AP进行通信。MCU获取触摸屏的触摸数据,对触摸数据进行预处理以过滤无效的触摸数据得到有效的触摸数据,将有效的触摸数据发送给AP。从而MCU既可以在AP进入睡眠的情况下随时对触摸屏的触摸数据进行处理,又可以通过MCU对触摸数据进行过滤。因此通过本发明中的方案,可以在不降低系统性能的同时,使AP在无任务的情况下能够进入深度睡眠,从而可以减轻AP的负荷,降低设备的功耗。\n附图说明\n[0051] 图1为本发明实施例中现有技术的对触摸屏采集的数据进行处理的一种流程图;\n[0052] 图2为本发明实施例中的一种终端设备硬件结构原理示意图;\n[0053] 图3为本发明实施例中MCU为SensorHub协处理器的一种终端设备硬件结构原理示意图;\n[0054] 图4为本发明实施例中对触摸屏采集的数据进行处理的一种流程图。\n具体实施方式\n[0055] 触摸屏目前在各种类型的终端设备上广泛使用,触摸屏既是输入装置也是输出装置,用户可以通过手指在终端设备的触摸屏上进行点击、滑动等操作,使触摸屏改变其显示的内容,如用户在图库中浏览图片或进行游戏操作等应用场景都会使用到触摸屏。\n[0056] 本发明实施例中的触摸屏可以是不同工作原理和不同传输信息介质的触摸屏,包括电阻式、表面电容式、投射电容式、红外线式、表面声波式、弯曲波式、有源数字转换器式和光学成像式触摸屏。\n[0057] 本发明实施例应用于各种具有触摸屏的终端设备,包括:手持设备、车载设备、可穿戴设备、计算设备以及各种形式的用户设备(User Equipment,简称UE),例如:手机、平板电脑等设备。\n[0058] 触摸屏工作时,触摸屏控制器会以一定的扫描频率对触摸屏进行扫描,以获取用户的触摸位置数据(可以是触摸点坐标),再将获取的用户触摸位置数据发送至终端设备的应用处理器AP,AP再根据触摸位置数据进行图像处理和显示。\n[0059] 触摸屏的用户体验主要包括性能和功耗两方面:触摸屏的操作流畅性是最直观的性能表现;触摸屏的功耗也关系到设备的续航能力。性能和功耗本是一对矛盾共同体,在同一环境下,现有的技术较多是牺牲一方面来提升另一方面。\n[0060] 例如:在现有技术中,通过VSYNC的方式来提前进行重采样与界面刷新从而提升触摸屏滑动的性能。其中,VSYNC是安卓系统中图像处理的关键模块,决定了采样点与画图的时机。但是,由于提前启动VSYNC,会一定程度上增加设备的功耗。同时VSYNC仍需要滑动事件才能开始进行绘图,性能提升有限。\n[0061] 又例如:在现有技术中,在亮屏并且AP无任务的情况下,通过使部分处理器进入深度睡眠的方式来有效降低功耗。但是,此种情况下,当唤醒进入深度睡眠的处理器时,往往需要10ms甚至更长时间,会导致卡顿,降低触摸屏的性能和用户体验,所以如果需要保证性能不受影响,就不能进入深度睡眠。\n[0062] 因此,现有技术中不仅存在AP的负荷较大,设备的功耗消耗大的问题,还存在性能瓶颈,无法有效解决提升性能的同时降低功耗的问题。\n[0063] 本发明实施例提供了一种对触摸屏采集的数据进行处理的方法及终端设备,不仅能够降低设备的功耗,且进一步,能够提升性能。\n[0064] 请参考图1所示的现有技术中触摸数据处理流程示意图,在现有技术的终端设备硬件结构中,AP是与触摸屏直接电连接,AP中的触摸屏驱动从触摸屏中获取触摸数据。\n[0065] 在本发明实施例中的终端设备的硬件结构中,AP是通过MCU与触摸屏连接,具体的硬件结构原理示意图如图2所示。\n[0066] 本发明实施例的终端设备包括触摸屏201,微控制单元MCU 202,应用处理器AP \n203,AP 203通过外围总线(Advanced Peripheral Bus,APB)与MCU 202电连接,触摸屏201通过两线式串行(I2C)总线与MCU 202电连接。\n[0067] 需要说明的是,在实际应用中,作为一种优选方案,本发明实施例中的MCU 202为协处理器(Co-processor),通过扩展指令集或提供配置寄存器来扩展内核处理功能。\n[0068] 具体的,AP 203与MCU 202之间通过专有的触摸数据通道204进行触摸数据通信,该触摸数据通道通过挂载在外围总线上的寄存器实现,如图中所示的扩展的进程间通信Mailbox(Inter-Process Communication Mailbox Extention,IPC_MBX_EXT),该寄存器专用于控制触摸数据的收发。其他的IPC_MBX0,IPC_MBX1,IPC_MBX2用于控制其他非触摸数据的收发,例如:传感数据。通过专用的触摸数据通道,能够与其他非触摸数据进行隔离传输,从而能够确保不降低触摸数据传输的延时,提高触摸数据处理效率,从而提升系统性能。\n[0069] 在具有此硬件结构的终端设备中,触摸屏201,用于采集触摸数据,MCU 202,用于获取触摸屏201的触摸数据,对触摸数据进行预处理,将预处理之后的触摸数据发送给AP \n203;AP 203用于根据MCU 202发送的触摸数据进行事件响应,通过触摸屏显示触发的对象的变化效果。\n[0070] 具体的,MCU 202是通过运行软件程序,对从触摸屏获取的触摸数据进行处理。可选的,运行在MCU 202上的软件程序从功能上可以包括触摸屏驱动(Touch Driver)和事件处理模块(EventHub)。\n[0071] 其中,触摸屏驱动用于获取触摸屏的触摸数据,对触摸数据进行计算得到触摸点坐标、压力、手指ID等数据,将触摸数据发送给事件处理模块;事件处理模块,用于接收触摸屏驱动发送的触摸数据,对触摸数据进行预处理,将预处理之后的触摸数据发送给AP 203中的操作系统内核(Kernel),操作系统内核经过数据处理后,调用显示(Display)模块将该触摸事件对应的图像逐帧显示出来。\n[0072] 下面对MCU 202运行的软件程序的具体实现进行详细的说明。\n[0073] 在一些实施例中,MCU 202在用于对触摸数据进行预处理方面具体用于:采用第一频率对触摸数据进行预处理,第一频率大于AP的处理频率。在安卓系统中,AP的处理频率为\n60Hz,MCU 202采用的第一频率为120Hz。\n[0074] 具体的,MCU 202在用于采用第一频率对触摸数据进行预处理方面具体用于:采用上述第一频率确定触摸数据对应的触摸事件,触摸事件为按下(Down)事件、滑动(Move)事件和抬起(Up—)事件中的一种或多种。\n[0075] 在一些实施例中,按下事件对应用户在手机触摸屏上的按下操作,滑动(或移动)事件对应用户在触摸屏上的从一个位置到另一个位置的移动操作,抬起事件对应用户在触摸屏上的抬起操作,即离开触摸屏。这些操作可以是手指执行的,也可以是触摸笔其他触摸设备执行的。Down、Move和Up仅为这三种事件的常用名称,本发明并不以此为限。\n[0076] 需要说明的是,在其他一些实施例,触摸事件还可以为其它事件,比如非接触式手势所产生的事件等。\n[0077] 因此,MCU 202采用比AP更高的处理频率处理触摸数据,能够用更少的周期识别出有效的触摸事件,因此能够提高屏幕的响应性能。\n[0078] 在一些实施例中,MCU 202在采用上述第一频率确定触摸数据对应的触摸事件之后还用于:采用上述第一频率对Move事件对应的滑动距离进行判断,若滑动距离大于系统第一预设阈值,则将Move事件发送给AP,若滑动距离小于系统第一预设阈值,则不将Move事件发送给AP。\n[0079] 因此,通过MCU 202可以对滑动事件进行快速处理,用更少的周期识别出有效滑动,节省点击和滑动事件区分判断的时间,能进一步提高屏幕响应的性能。\n[0080] 在一些实施例中,MCU 202还用于:当触摸屏处于灭屏状态时,判断触摸事件对应的手势与系统预置的灭屏唤醒手势是否相同;若触摸事件对应的手势与系统预置的灭屏唤醒手势相同,则发送唤醒指令给AP,若触摸事件对应的手势与系统预置的灭屏唤醒手势不相同,则不发送唤醒指令给AP。\n[0081] 因此,本发明实施例可以使得在灭屏状态下,不需要依赖AP来进行手势识别,而是通过MCU对灭屏唤醒手势进行判断,当手势正确时,才唤醒处于睡眠状态的AP,当是无效手势时,不会唤醒处于睡眠状态的AP,AP可以继续处于睡眠状态。而在现有技术中,大部分的灭屏唤醒手势都需要依赖AP来进行手势识别,AP不能够使所有的内核进入睡眠状态。因此,相比现有技术,本发明能够延长AP的睡眠,避免了AP因错误的灭屏唤醒手势唤醒后产生功耗,因此能够节省设备整体功耗。\n[0082] 在一些实施例中,MCU 202还用于获取传感数据,MCU 202具体还用于:根据传感数据判断触摸事件是否为误操作事件,当确定触摸事件不是误操作事件时,将触摸事件发送给AP,当确定触摸事件是误操作事件时,不将触摸事件发送给AP。\n[0083] 可选的,MCU 202在根据传感数据判断触摸事件是否为误操作事件方面具体用于:\n当触摸屏处于灭屏状态时,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于第二预设阈值,则确定触摸事件为误操作事件。\n[0084] 在一些实施例中,MCU还用于获取传感数据,MCU在用于对触摸数据进行预处理,将预处理之后的触摸数据发送给AP方面具体用于:先根据传感数据判断触摸数据对应的操作是否为误操作,若确认为误操作,则不对从触摸屏获取的触摸数据进行后续的触摸事件(down、move、up)区分等处理,直接丢弃或忽略该触摸数据,不再将该触摸数据上报给AP;若确认不是误操作,则继续执行触摸事件区分等步骤,再对触摸数据进行其他预处理后,再上报给AP。\n[0085] 可选的,MCU在用于根据传感数据判断触摸数据对应的操作是否为误操作方面具体用于:若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定MCU从触摸屏获取的触摸数据对应的操作为误操作。\n[0086] 具体的,MCU 202获取传感器的数据是可以通过扩展事件处理模块(EventHub)的功能,直接或间接地获取传感器的传感数据。\n[0087] 如此,能够结合传感器的数据对触摸屏的触摸事件进行预处理,从而能够过滤掉误操作事件,一定程度上防止了误操作唤醒AP,亦即避免了AP因误操作被唤醒后产生功耗,从而有效降低了AP的整体功耗,达到了节省终端设备功耗的目的。\n[0088] 本发明实施例中,触摸屏不是直接和AP进行通信,而是通过微控制单元MCU与应用处理器AP进行通信。MCU对触摸屏的触摸数据进行预处理,将处理之后的数据发送给AP,从而MCU既可以在AP进入睡眠的情况下随时对触摸屏的触摸数据进行处理,又可以通过MCU对触摸数据进行过滤。因此通过本发明中的方案,可以在不降低系统性能的同时,使AP在无任务的情况下能够进入深度睡眠,从而可以减轻AP的负荷,降低设备的功耗。\n[0089] 本发明实施例中的MCU 202可采用协处理器。优选的,可以采用现有技术中的低功能感测器中枢(SensorHub)协处理器。\n[0090] 本发明实施例中的MCU与现有技术中的SensorHub协处理器进行集成后的硬件结构原理示意图如图3所示。\n[0091] AP 303通过外围总线与SensorHub 302电连接,触摸屏301通过I2C总线与SensorHub 302电连接,SensorHub 302同时与一个或多个传感器(Sensors)304相连。在外围总线上挂载有多个寄存器,其中,IPC_MBX0,IPC_MBX1用于传感数据的通信,IPC_MBX2,IPC_MBX3用于触摸数据通信,两条数据传输通道均为专有数据通道,互不干扰。\n[0092] 其中,SensorHub 302具有与图2所示的实施例中的MCU 202的功能,AP 303具有与图2所示的实施例中的AP 202的功能,触摸屏301具有与图2所示的实施例中的触摸屏201的功能,此处不再赘述。\n[0093] 本发明实施例中,MCU为SensorHub协处理器,能够通过现有终端设备中的SensorHub来实现本发明实施例的MCU的功能,提高了方案的可实现性。同时,能够更方便地获取传感数据,结合传感器的数据对触摸屏的触摸事件进行预处理。\n[0094] 下面结合图3,介绍本发明实施例中的一种对触摸屏采集的数据进行处理的方法流程,该方法由图2所示的实施例中的MCU或图3所示的实施例中的中的SensorHub协处理器执行。\n[0095] 401、MCU从触摸屏获取触摸数据;\n[0096] 当用户触摸触摸屏时,触摸屏采集触摸数据,MCU从触摸屏获取触摸数据,具体的获取方式为触摸屏通过中断控制器向MCU发送中断请求,MCU在接收到中断请求后从触摸屏获取触摸数据。\n[0097] MCU中的触摸屏驱动对触摸数据进行坐标点计算得到触摸坐标点等触摸数据,将触摸数据发送给MCU中的事件处理模块。\n[0098] 402、MCU对触摸数据进行预处理,将预处理之后的触摸数据发送给AP。\n[0099] MCU中的事件处理模块在接收到触摸屏驱动发送的触摸数据后,对触摸数据进行预处理,以过滤掉无效的触摸事件,将预处理之后的触摸数据发送给AP。\n[0100] 具体的,MCU采用第一频率对触摸数据进行预处理,该第一频率大于AP的处理频率。在安卓系统中,系统每隔16ms(约60Hz的频率)发出VSYNC信号以触发AP对数据的处理,因此AP的处理速率为60Hz;因触摸屏的采样频率为120Hz,MCU从触摸屏获取触摸数据,处理触摸数据的频率与触摸屏的采样频率一致,为120Hz。因此,MCU能够采用比AP更高的处理频率处理触摸数据,能够用更少的周期识别出有效的触摸事件,因此能够提高屏幕的响应性能。\n[0101] 对于安卓系统终端设备而言,触摸事件为:按下Down事件、抬起Up事件和滑动Move事件中的一种或多种,所有的操作事件首先必须执行的是按下操作(ACTION_DOWN),之后所有的操作都是以按下操作作为前提,当按下操作完成后,接下来可能是一段滑动(ACTION_MOVE),然后抬起(ACTION_UP),或者是按下操作执行完成后没有移动就直接抬起。所以每次触摸屏幕必先有个按下动作(ACTION_DOWN),用户触摸结束必然会有个抬起动作(ACTION_UP)。\n[0102] 具体的,MCU对触摸数据进行预处理首先是:采用第一频率(120Hz)对触摸数据进行触摸事件进行区分,将所述触摸数据确定为Down、Move和Up事件中的一种或多种。\n[0103] 之后,MCU对触摸事件进行预处理还包括但不仅限于以下几种:\n[0104] 1、快速区分出有效的滑动事件\n[0105] 用户触摸时,MCU是通过第一频率(120Hz)对触摸数据对应的事件进行区分,MCU从检测到按下动作(ACTION_DOWN),即Down事件,到检测到抬起动作(ACTION_UP),即Up事件之间,进行滑动事件(Move事件)判断。具体的滑动事件判断过程为:在每一个采样周期中,MCU通过判断用户触摸的滑动距离是否大于系统的第一预设阈值,若大于系统第一预设阈值,则确认是有效的滑动事件,则MCU将该滑动事件上报给AP,由AP调用图像处理模块进行绘图;若用户触摸的滑动距离不大于系统的预设阈值,则是无效的滑动事件,则不上报给AP。\n因此在此过程中,可以过滤掉无效的滑动事件(如手指抖动,滑动距离较小等情况)。\n[0106] 需要说明的是,此处的每个周期中的用户触摸的滑动距离是从按下动作(ACTION_DOWN)开始进行计算的距离,直到检测到Up动作。在亮屏状态下,MCU检测到的Down事件(ACTION_DOWN)和Up事件(ACTION_UP)时,会直接上报给AP。\n[0107] 本领域技术人员应当理解的是,本发明实施例中提出的第一预设阈值可以是安卓系统预设的滑动距离判断阈值,常用的取值为4ms,也可以是根据具体的经验值进行设置,此处不做限定。\n[0108] 在安卓系统的现有技术中,是AP对触摸数据进行事件进行区分,而AP的处理频率为60Hz,MCU的处理频率为120Hz,高于AP的处理频率,因此,通过本发明,在MCU侧可以对滑动事件进行快速处理,用更少的周期识别出有效滑动,节省有效的滑动事件判断的时间,能进一步提高屏幕响应的性能,能够提升用户体验。\n[0109] 2、灭屏唤醒手势处理\n[0110] 若终端设备支持灭屏手势唤醒功能,在触摸屏处于灭屏状态时,MCU获得触摸事件后,不会直接上报给AP,而是先判断触摸事件对应的用户的滑动的手势是否与系统预设置的灭屏唤醒手势相同,若相同,则生成唤醒指令并将该唤醒指令发送给AP,该唤醒指令用于将AP从睡眠中唤醒,从而AP点亮屏幕;若不相同,则不发送唤醒指令给AP,即将该触摸事件过滤掉,不上报给AP,从而AP可以继续处于睡眠状态,从而防止错误的屏幕唤醒手势操作唤醒AP,亦即避免了AP因错误的灭屏唤醒手势唤醒后产生功耗,从而有效降低了AP的整体功耗,达到了节省终端设备功耗的目的。\n[0111] 3、结合传感数据对触摸事件进行过滤\n[0112] MCU在获取触摸屏的触摸数据的同时获取传感数据,根据传感数据判断触摸事件是否为误操作事件,若为误操作事件,则不将该触摸事件发送给AP,若不为误操作事件,才将该触摸事件发送给AP。\n[0113] 例如,当触摸屏处于灭屏状态下,MCU若检测到触摸事件,则结合当前获取的光传感器的数据来对触摸事件进行判断,具体的判断方式为:判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定当前的触摸事件为误操作事件。\n[0114] 或者,可选的,在MCU获取触摸数据后,不执行采用第一频率(120Hz)对触摸数据进行触摸事件进行区分,将所述触摸数据确定为Down、Move和Up事件中的一种或多种的步骤,先根据传感数据判断触摸操作是否为误操作,若确认为误操作,则不对该数模数据进行后续的触摸事件区分等处理,将该触摸数据丢弃或忽略,不将该触摸数据上报给AP;若确认不是误操作,则继续执行触摸事件区分等步骤,再对触摸数据进行其他预处理后,再上报给AP。\n[0115] 具体的,若触摸屏处于灭屏状态下,MCU判断光传感器测量的光照度是否大于第二预设阈值,若不大于,则确定MCU从触摸屏获取的触摸数据对应的操作为误操作。\n[0116] 以一具体的应用场景举例进行说明:当终端设备(例如:手机)放在用户口袋处于灭屏状态时,用户由于误操作滑动手机屏幕,此时MCU获取当前光传感器测量的光照度数据,由于终端设备当前在口袋中,因此该照度数据小于系统设置的第二预设阈值,从而确定手机在光线差的地方,进而确定该滑动动作为误操作,并不将该误操作上报给AP,避免了AP被该误操作唤醒。\n[0117] 本领域技术人员应当理解的是,本发明实施例中提出的第二预设阈值可以根据经验进行设置,也可以在不同光线情况下采集照度数据,通过这些照度数据进行分析从而进行设置,例如:根据分析获得光线差的情况下采集的照度数据均小于A,那么可设置该第二预设阈值为A。优选的,A的取值一般为7勒克斯(lux)。\n[0118] 因此,在本发明实施例中,MCU可以获取传感器的传感数据,通过传感数据对触摸操作进行判断,若是误操作,则不会上报给AP,从而通过预处理过滤掉误操作,一定程度上防止了误操作唤醒AP,亦即避免了AP因误操作被唤醒后产生功耗,从而有效降低了AP的整体功耗,达到了节省终端设备功耗的目的。\n[0119] 综上所述,本发明实施例中,通过MCU对触摸屏的触摸数据进行预处理以过滤无效的触摸数据再将有效的触摸数据发送给AP。一方面,MCU既可以在AP进入睡眠的情况下随时对触摸屏的触摸数据进行处理,又可以通过MCU对触摸数据进行过滤,能够避免AP在进入睡眠的情况下被无效的触摸事件,以及误操作事件唤醒,因此可以有效降低功耗;另一方面,MCU可以以高于AP处理频率的频率处理触摸数据,从而可以在更短的周期内识别出有效的触摸事件,能够提高屏幕的响应性能,从而提升用户体验。\n[0120] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。\n[0121] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。\n[0122] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。\n[0123] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。\n[0124] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
法律信息
- 2019-05-28
- 2016-07-20
实质审查的生效
IPC(主分类): G06F 1/32
专利申请号: 201610124713.8
申请日: 2016.03.04
- 2016-06-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-08-07
|
2013-04-17
| | |
2
| |
2011-10-12
|
2009-09-15
| | |
3
| |
2014-01-01
|
2013-09-04
| | |
4
| |
2010-03-10
|
2008-09-04
| | |
5
| |
2014-07-02
|
2014-04-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |