一种多任务TF密码模块的电源管理方法与流程

文档序号:12362861阅读:764来源:国知局
一种多任务TF密码模块的电源管理方法与流程

本发明属于嵌入式技术领域,具体涉及一种基于Android智能操作系统的多任务TF密码模块的电源管理方法。



背景技术:

现有的TF商密密码卡的电源管理方法主要分为如下几种:

(1)操作系统底层发送指令

在这种方式下操作系统底层sdio/sd/mmc控制器驱动程序中注册了Android的电源管理函数,接受操作系统统一管理,在Android智能终端需要进入到休眠状态时调用底层控制器向TF密码模块发送休眠指令,在需要使用的时候向TF密码模块发送唤醒指令。

这种方式受限于操作系统的休眠唤醒机制,当用户使用终端其他功能时将会导致操作系统无法进入休眠,TF密码模块虽然没有业务需求,也无法进入休眠。

(2)操作系统底层卸载逻辑

这种电源管理方式与(1)类似,不同在于需要进入到休眠状态时底层控制器是将TF密码模块逻辑卸载,在需要使用的时候重新识别TF密码模块。

这种方式不仅存在(1)中的弊端,另外对于TF密码模块逻辑的卸载与重新识别将会导致TF密码模块内部无法长期保存密码资源状态,这将限制TF密码模块的适用范围。

(3)应用层提供电源管理接口方法

这种方式由TF密码模块提供应用层调用的电源管理相关的休眠唤醒接口,用户自行设计电源管理流程。

这种方式对于应用层多任务调用TF密码模块存在较大的局限性,应用之间还需要维护TF密码模块的状态情况,不仅难以实现,效率也会大大降低。



技术实现要素:

为了克服现有技术的上述缺点,本发明提供了一种多任务TF密码模块的电源管理方法,不同于现有的电源管理方法,基于对TF密码模块配套驱动程序的改造,结合操作系统的要求实现,无特别的维护需求,非常适合对功耗、密码资源保持要求较高的TF密码模块。

本发明解决其技术问题所采用的技术方案是:一种多任务TF密码模块的电源管理方法,包括如下流程:

(1)Android终端开机后,操作系统为TF密码模块供电;Android终端通过TF密码模块驱动程序识别到TF密码模块;

(2)TF电源管理模块进行初始化,在初始化完成后TF密码模块为唤醒状态;

(3)判断在睡眠定时器的超时时间内终端是否有业务发送到TF密码模块:如无,则令TF密码模块进入休眠状态;如有,则进入下一流程;

(4)驱动程序查询当前TF密码模块的状态,如果为休眠状态则执行唤醒操作后进行状态维护操作;如果为唤醒状态则直接进行状态维护操作。

与现有技术相比,本发明的积极效果是:

(1)基于TF密码模块驱动程序的改造实现,无维护成本,并无新增设备或内核组件,适用性好。

(2)本发明遵循但不受限于操作系统的休眠唤醒机制,当TF密码模块只要没有业务需求,到时间自动进入休眠,终端操作系统因为用户其他操作无法进入休眠不会影响TF密码模块本身的休眠。这种方式大大降低了由于TF密码模块产生的功耗。另外本发明遵循操作系统的休眠唤醒机制,保证了当终端操作系统意图进入深度睡眠之前,必须要首先保证TF密码模块进入了休眠,避免了终端和TF密码模块电源管理不一致造成的TF密码模块异常。

(3)本发明通过专用协议的电源管理方法,配置了终端控制器的工作方式,保证在Android操作系统、TF密码模块进入休眠后始终对TF密码模块供电,并使得控制器不卸载密码模块的逻辑,以保存TF密码模块内部密码资源的状态。

(4)本发明休眠唤醒属于底层实现,状态自行维护,休眠唤醒自适应,应用层无需维护TF密码模块的状态情况,也没有应用层的休眠唤醒接口,对于有多任务并行调用需求的TF密码模块来说,效率得到了较大的提高。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为多任务TF密码模块电源管理系统组成示意图;

图2为TF电源管理模块组成示意图。

具体实施方式

多任务TF密码模块电源管理系统组成如图1所示,主要包括了Android操作系统电源管理模块、TF密码模块驱动程序、和TF密码模块,在进行密码业务时通过智能终端的应用软件或内核组件对密码模块的驱动程序进行函数调用,驱动程序通过标准sdio/sd/mmc协议统一调用密码模块。TF电源管理模块属于驱动程序的一部分,为本发明的主体。TF电源管理模块如图2所示。

TF电源管理模块由定时器、线程、TF密码模块状态机和操作系统电源管理逻辑组成。

本发明的实现方案如下:

驱动程序中的TF电源管理模块和Android操作系统电源管理模块、TF密码模块配合,完成支持多任务的TF密码模块的自适应的电源管理功能,具体流程如下:

(1)Android终端开机后,操作系统为TF密码模块供电;

(2)Android终端通过TF密码模块驱动程序识别到TF密码模块;

(3)TF电源管理模块完成初始化,包括注册操作系统电源管理体制函数、设置操作系统深度睡眠wakelock定时器、设置睡眠定时器、创建线程、初始化电源管理状态机等工作。其中睡眠定时器的超时时间为N秒(N建议为大于5小于20),操作系统wakelock定时器的超时时间为N+1秒,该操作保证TF密码模块休眠后操作系统才能进入深度休眠。完成后TF密码模块为唤醒状态;

(4)当终端超过N秒没有业务发送到TF密码模块,TF电源管理模块认为TF密码模块需要进入休眠状态;

(5)电源管理模块按照专用休眠协议与TF密码模块进行交互,让TF密码模块休眠,并修改电源管理状态机,维护底层控制器物理电压和逻辑状态。至此完成TF密码模块的自适应休眠。

(6)当某一包终端业务数据到达驱动程序,驱动程序通过电源管理模块的状态机查询当前TF密码模块的状态,如果为休眠状态则跳转到(7)执行唤醒操作,如果为唤醒状态则进入(8)进行状态维护操作。

(7)电源管理模块按照专用唤醒协议与TF密码模块进行交互,唤醒TF密码模块,随后回到正常业务交互,至此完成TF密码模块的自适应唤醒。

(8)状态维护内容包括重置TF电源模块中的睡眠定时器时间、重置操作系统wakelock定时器时间、更新电源管理状态机等操作。重置定时器采用操作系统内核提供的mod_timer函数。完成状态后,终端将重新回到流程(3)完成后的状态(即:TF密码模块为唤醒状态)。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1