设备端输入交互的快速响应系统及实现方法

文档序号:6426598阅读:294来源:国知局
专利名称:设备端输入交互的快速响应系统及实现方法
技术领域
本发明涉及一种快速响应系统及实现方法,特别是涉及一种设备端输入交互的快速响应系统及实现方法。
背景技术
CPU自动调频,是指主流的CPU (Central Processing Unit,中央处理器)一般都有根据CPU占用率动态调整其运行频率的机制以达到空闲时节省耗能的目的,也称为自动降频。具体做法是CPU内部启用一定时器,定期(如每隔100毫秒)检查其CPU的占用率,如高于某预设阈值,则表示当前运行任务有较重的负担,需要动态升频,可将当前运行频率上调;反之如CPU占用率低于某预设阈值,则表示当前正趋于空闲,可将当前运行频率下调。以Marvell的PXA310型号的CPU为例,其满负荷运转时CPU频率可达到800MHz,而空闲时最低可降为60MHz。空闲时的低频率运行满足其关于设备端的低功耗节能的指标。由于一 般CPU自动调频功能是默认启用的,现有的电子书类型的设备基本上均是如此,同时这种CPU自动调频机制对于应用层是透明的,由底层驱动默认启用,运行期间无需任何控制。因而,CPU自动调频机制对设备端输入交互的快速响应影响如下很显然,设备端CPU运行在高频率时处理速度快,任务吞吐量高,对输入交互等需要用户快速响应的场合有比较大的优势。而在系统从空闲的低频率工作状态下进入输入交互等场合时,CPU需要一个动态升频的过程,这个过程本身是有延迟的,约有上百毫秒。这(PU升频的过程反映在用户输入上,就表现为屏幕响应略为迟滞,按键反应不够迅速等现象。同时如果是电子书性质的设备,由于电子墨水屏幕本身的物理特性决定了刷屏有一定延迟(如常温下纯黑白色刷屏需要200毫秒),加上CPU由慢速提升到快速的耗时,给用户的延迟感觉就比较明显了。其中屏幕的物理延迟在软件层次是无法控制的,但CPU动态频率控制带来的延时,则还有进一步改善的方案。

发明内容
本发明要解决的技术问题是提供一种设备端输入交互的快速响应系统及实现方法。通过将CPU是否自动调整频率的控制权延伸至应用层,在应用层对其进行控制,达到了输入交互快速响应的目的。为解决上述技术问题,本发明的设备端输入交互的快速响应系统,包括常规的驱动层的CPU自动调频控制接口,其中,该快速响应系统还包括驱动层向应用层开放的控制CPU自动调频的接口,用于根据使用场景,应用层控制CPU自动调频。所述设备端包括带有Android平台的设备端、带有Iinux平台的设备端、带有Windows Mobile平台设备端。所述驱动层向应用层开放的控制CPU自动调频的接口,包括驱动层向应用层开放的启用CPU自动调频接口和禁用CPU自动调频接口。其中,启用CPU自动调频接口和禁用CPU自动调频接口的实现方法,包括
I)应用层对驱动层提供的驱动文件的读写接口进行写入动作,根据写入的不同内容,定义为启用CPU自动调频接口和禁用CPU自动调频接口 ;其中,驱动文件的全路径,包括/proc/driver/cpu/auto_idle ;2)通过将启用CPU自动调频接口和禁用CPU自动调频接口,以共享库并封装成JNI的形式,供应用层使用;或直接由应用层中的文件读写功能,实现启用CPU自动调频接口和禁用CPU自动调频接口的设置。所述步骤1)、2)中的应用层包括Java层,Native原生应用层。所述步骤2)中的共享库的位置,包括
在Android 平台上,位置包括/system/lib/cpuidle. so ;在Linux 平台上,位置包括/usr/lib/cpuidle. so ;在Windows Mobile 平台上,位置包括\Windows\cpuidle. dll。所述使用场景,包括普通场景、需要输入交互快速响应的场景;其中,对于普通场景,驱动层向应用层开放启用CPU自动调频接口 ;普通场景包括设备端的阅读翻页场景、功能设置的场景;需要输入交互快速响应的场景,包括设备端的内容输入、设备端的游戏场景,对于需要输入交互快速响应的场景,驱动层向应用层开放禁用CPU自动调频接口。另外,本发明还提供一种设备端输入交互的快速响应系统的实现方法,包括步骤(I)设备端启动后,默认开启CPU自动调整频率功能;(2)如已进入输入交互快速响应的场景,则禁用CPU自动调频,CPU进入最高频率状态,输入交互快速响应的场景退出后,开启CPU自动调整频率,等待设备端用户下一步动作;(3)如进入普通场景,则保持CPU自动调频,等待设备端用户下一步动作。本发明通过将驱动层的CPU自动调频控制接口延伸至应用层,允许应用层根据不同的场景动态控制CPU自动调频的机制,实现了在输入交互期间快速响应的目的,并且在其他场合仍然保持空闲时降频,维持了低功耗的特点。


下面结合附图与具体实施方式
对本发明作进一步详细的说明附图是应用层在普通场景以及交互快速响应场景下的流程图。
具体实施例方式本发明的设备端(如带有An droid平台的设备端、带有Linux平台的设备端、带有Windows Mobile平台设备端)输入交互的快速响应系统,包括驱动层的CPU自动调频控制接口 ;CPU自动调频的控制在设备端,属于驱动一层,一般开机后即启用自动调频机制,后续不再做任何控制;驱动层向应用层开放的控制CPU自动调频的接口,包括驱动层向应用层开放的启用CPU自动调频接口和禁用CPU自动调频接口,允许应用层根据不同的使用场景,来控制CPU自动调频。其中,应用层将用户交互UI (User Interface,用户界面)等分类成两类不同场

牙、一类场景是普通场景(如电子书设备的阅读翻页场景、功能设置的场景等),无需快速响应的,保持CPU自动调整频率的特性;另一类场景是需要输入交互快速响应的场景,该场景主要是输入交互的界面,如电子书设备端的内容输入、手持设备如手机(如iPhone和Android智能手机)、PAD类的游戏场景。这类场景一进入时应用层便关闭CPU的自动调整频率特性,让CPU运行在最高频率下,从而尽量满足输入交互快速响应的要求。
启用CPU自动调频接口和禁用CPU自动调频接口的实现方法,包括I)首先,驱动层提供一驱动文件(类似于/proc/driver/cpu/auto_idle)的读写接口供应用层使用,应用层对该文件的写入动作会被重定向到驱动层的处理中,写入的内各会被解释为控制命令。为简明起见,现以在控制命令中约定用“I”和“O”两个字符串代表“使能CPU自动调频”(即启用CPU自动调频)与“禁用CPU自动调频”两种机制。向约定的驱动文件写“I”时,驱动层会打开CPU自动调频的功能,CPU会按需自动调整运行频率;反之写“O”时,驱动层会禁用CPU自动调频的功能,CPU跑在最高工作频率。由于在类Linux的OS中,应用层与驱动层交互可通过驱动文件的方式进行,这种方式实现简易,在数据量较少时是较为适宜的实现方式,因此,本发明选择的也是这种方式。2)启用CPU自动调频接口和禁用CPU自动调频接口,可用共享库并封装成J NI的形式供Java调用,也可直接由Java层中的文件读写功能实现。这样驱动层向应用层开放的接口便准备就绪了。其中,在Android平台上,共享库的位置可以为/ system/1 ib/cpuidle. so ;在Linux平台上,共享库的位置可以为/usr/lib/cpuidle. so ;在Windows Mobile平台上,共享库的位置可以为\Windows\cpuidle. dll。由于在Android应用层(当然还包括其他平台的应用层),其顶层应用主要以Java为主,因此,启用CPU自动调频接口和禁用CPU自动调频接口可按照上述方式实现。上述设备端输入交互的快速响应系统的实现方法,其流程图如说明书附图所示,包括步骤(I)设备端启动后,默认开启CPU自动调整频率功能;(2)如已进入输入交互快速响应的场景,则禁用CPU自动调频,CPU进入最高频率状态,输入交互快速响应的场景退出后,开启CPU自动调整频率,等待设备端用户下一步动作;(3)如未进入输入交互快速响应的场景,即进入普通场景,则保持CPU自动调频,等待设备端用户下一步动作。现以电子书设备端的输入为典型场景,对于应用层关于输入交互快速响应场景的处理,进行详细说明。电子书设备端应用层随着业务的不同,其需要输入的界面也千变万化,但从Android或OS —层而言,输入界面中的输入框可以从中抽象出来作为统一控制的切入点。输入框在OS实现这一层是一致的,并提供了各种事件供自定义处理。在其输入框的焦点获得与离开事件中进行CPU的自动调频控制。这样,在任何一处需要用户输入的界面,都能捕获到输入光标聚焦至输入框的事件,而此时用户往往还未开始立即输入。此刻,可以控制(PU禁用其自动调频功能,在约100 200毫秒内,CPU便能上升至最高运行频率,以满足之后的用户输入等的快速响应的要求。用户完成输入后退出时,输入框焦点离开事件被出发,可重新启用CPU的自动调频机制,恢复至普通的空闲降频状态以节省耗能。另外,CPU的自动调频功能使用与否,并不影响CPU/0S的一定空闲时间后进入Suspend休眠状态以节电的机制,因此对设备端长时间使用的功耗无额外的附加影响。综上所述,本发明中,驱动层只需向应用层开放启用与禁用CPU自动调频两个接 口,即可由应用层完成控制输入交互的快速响应,而且具有在其他场合仍然保持空闲时降频以维持低功耗的特点。
权利要求
1.一种设备端输入交互的快速响应系统,包括驱动层的CPU自动调频控制接口,其特征在于所述快速响应系统还包括 驱动层向应用层开放的控制CPU自动调频的接口,用于根据使用场景,应用层控制CPU自动调频。
2.如权利要求I所述的快速响应系统,其特征在于所述设备端包括带有Android平台的设备端、带有Linux平台的设备端、带有Windows Mobile平台设备端。
3.如权利要求I所述的快速响应系统,其特征在于所述驱动层向应用层开放的控制CPU自动调频的接口,包括驱动层向应用层开放的启用CPU自动调频接口和禁用CPU自动调频接口。
4.如权利要求3所述的快速响应系统,其特征在于所述启用CPU自动调频接口和禁用CPU自动调频接口的实现方法,包括 1)应用层对驱动层提供的驱动文件的读写接口进行写入动作,根据写入的不同内容,定义为启用CPU自动调频接口和禁用CPU自动调频接口 ; 2)通过将启用CPU自动调频接口和禁用CPU自动调频接口,以共享库并封装成JNI的形式,供应用层使用; 或直接由应用层中的文件读写功能,实现启用CPU自动调频接口和禁用CPU自动调频接口的设置。
5.如权利要求4所述的快速响应系统,其特征在于所述I)、2)中,应用层包括=Java层,Native原生应用层; 所述I)中,驱动文件的全路径,包括/proc/driver/cpu/auto_idle。
6.如权利要求4所述的快速响应系统,其特征在于所述2)中,共享库的位置,包括 在 Android 平台上,位置包括/system/lib/cpuidle. so ; 在 Linux 平台上,位置包括/usr/lib/cpuidle. so ; 在 Windows Mobile 平台上,位置包括\ffindows\cpuidle. dll。
7.如权利要求I所述的快速响应系统,其特征在于所述使用场景,包括普通场景、需要输入交互快速响应的场景; 对于普通场景,驱动层向应用层开放启用CPU自动调频接口 ; 对于需要输入交互快速响应的场景,驱动层向应用层开放禁用CPU自动调频接口。
8.如权利要求7所述的快速响应系统,其特征在于所述普通场景包括设备端的阅读翻页场景、功能设置的场景; 需要输入交互快速响应的场景,包括设备端的内容输入、设备端的游戏场景。
9.如权利要求I所述的一种设备端输入交互的快速响应系统的实现方法,包括步骤 (1)设备端启动后,默认开启CPU自动调整频率功能; (2)如已进入输入交互快速响应的场景,则禁用CPU自动调频,CPU进入最高频率状态,输入交互快速响应的场景退出后,开启CPU自动调整频率,等待设备端用户下一步动作; (3)如进入普通场景,则保持CPU自动调频,等待设备端用户下一步动作。
全文摘要
本发明公开了一种设备端输入交互的快速响应系统及实现方法,该系统包括驱动层的CPU自动调频控制接口、驱动层向应用层开放的控制CPU自动调频的接口;其实现方法,包括1)设备端启动后,默认开启CPU自动调整频率功能;2)如已进入输入交互快速响应的场景,则禁用CPU自动调频,CPU进入最高频率状态;3)如进入普通场景,则保持CPU自动调频,等待设备端用户下一步动作。本发明通过将驱动层的CPU自动调频控制接口延伸至应用层,允许应用层根据不同的场景动态控制CPU自动调频的机制,实现了在输入交互期间快速响应的目的,并且在其他场合仍然保持空闲时降频,维持了低功耗的特点。
文档编号G06F1/32GK102830785SQ201110165209
公开日2012年12月19日 申请日期2011年6月17日 优先权日2011年6月17日
发明者刘啸, 王晨 申请人:上海果壳电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1