电源管理方法及实现该方法的智能卡与终端设备 【技术领域】
本发明一般涉及通信领域,特别涉及智能卡与终端设备之间的电源管理。
背景技术
随着通信技术的飞速发展,已经出现了拥有CPU的智能卡,例如下一代MegaSIM(NGMS)。这种智能卡能够与其所安装到的终端设备相互独立地运行。
为了兼容现有产品,智能卡与终端设备之间的物理接口支持7816标准。同时,为了保持智能卡与终端设备之间的高速通信,两者之间需要支持USB协议。因此,智能卡与终端设备之间的协议接口既支持7816标准也支持USB标准。图1示出了满足上述物理接口及协议接口要求的智能卡与终端设备的系统示意图。在系统运行时,终端设备及智能卡会运行各自的CPU,两者之间主要通过USB进行通信。在通信过程中,终端设备作为USB主机,智能卡作为USB设备。
由于终端设备作为USB主机,因此其可以主动唤醒处于睡眠模式的智能卡。然而,由于智能卡仅作为USB设备,因此其无法主动唤醒处于睡眠模式的终端设备。在NGMS项目的实际应用中,往往需要智能卡与终端设备之间能够互相唤醒。因此,如何在不改变硬件接口标准的基础上使得智能卡也能够主动唤醒终端设备成为了亟待解决的问题。
【发明内容】
本发明的目的旨在提供一种电源管理机制,其能够在不改变硬件接口标准的基础上使得智能卡能够主动唤醒终端设备。
根据本发明的一个方面,提供了一种由智能卡执行的电源管理方法,用于在所述智能卡与终端设备之间实现电源管理。该方法包括:接收所述终端设备即将进入睡眠模式的通知消息;将与所述终端设备连接的可配置管脚设置为输出模式;以及生成唤醒信号并通过所述可配置管脚输出。
根据本发明的另一个方面,提供了一种智能卡,其能够在所述智能卡与终端设备之间实现电源管理。该智能卡包括:数据I/O模块,配置为接收所述终端设备即将进入睡眠模式的通知消息;可配置管脚,其能够被设置为输出模式,所述可配置管脚在所述输出模式下能够将信号输出到所述终端设备;管脚设置模块,配置为当所述数据I/O模块接收到所述通知消息时,将所述可配置管脚设置为所述输出模式;以及唤醒信号生成模块,配置为生成唤醒信号,并将所述唤醒信号提供到所述可配置管脚,以由所述可配置管脚输出到所述终端设备。
根据本发明的另一个方面,提供了一种由终端设备执行的电源管理方法,用于在所述终端设备与智能卡之间实现电源管理。该方法包括:在进入睡眠模式前使能与所述智能卡的可配置管脚连接的端口,并注册与所述端口相应的中断;向所述智能卡发送即将进入睡眠模式的通知消息;进入睡眠模式;通过所述端口接收唤醒信号;以及将所述唤醒信号作为中断源来实现所述终端设备的唤醒。
根据本发明的另一个方面,提供了一种终端设备,其能够在所述终端设备与智能卡之间实现电源管理。该终端设备包括:通知消息生成模块,配置为在所述终端设备进入睡眠模式之前,生成所述终端设备即将进入睡眠模式的通知消息;数据I/O模块,配置为从所述通知消息生成模块接收所述通知消息,并将其发送到所述智能卡;端口,其连接到所述智能卡的可配置管脚,配置为接收来自所述智能卡的唤醒信号;中断注册模块,配置为在所述终端设备进入睡眠模式之前,使能所述端口并注册与所述端口相应的中断;以及唤醒模块,配置为将通过所述端口接收的所述唤醒信号作为中断源来实现所述终端设备的唤醒。
本发明可以在不改变智能卡与终端设备之间的硬件接口的情况下实现电源管理机制,从而适于智能卡的推广应用。
由于智能卡能够主动唤醒终端设备,这有利于电源管理具体策略的优化,从而进一步提高待机时长。
本发明对智能卡的可配置管脚实现了灵活的设置,可以仅在终端设备处于睡眠模式时将智能卡设置为输出模式,因此本发明的电源管理机制不会影响可配置管脚的正常工作模式。
【附图说明】
图1示出了智能卡与终端设备的系统示意图;
图2示出了基于7816标准的智能卡触点分配及对应功能;
图3示出了根据本发明的智能卡的结构示意图;
图4示出了根据本发明的终端设备的结构示意图;以及
图5示出了根据本发明一个实施例的智能卡主动唤醒终端设备的方法流程图。
【具体实施方式】
图2示出了基于7816标准的智能卡触点分配及对应功能。
根据7816标准,智能卡具有C1至C8总共8个触点(也称作管脚)。如图2所示,C1管脚用于电源输入(VCC),C2管脚用于重置信号输入(RST),C3管脚用于时钟信号输入(CLK),C5管脚用于接地(GND)或参考电压输入,C6管脚用于编程电源输入(VPP),C7管脚用于串行数据的输入/输出,以及C4和C8管脚被保留。在现有的智能卡应用中,通常将C4及C8两个保留管脚用于支持基于USB协议的高速通信。
需要指出,C6管脚是智能卡用户可选用的管脚。尽管在7816标准中规定C6管脚的正常模式为用于编程电源输入,但是其功能是可选的。可以通过芯片设计来实现C6管脚的模式复用,使其除了支持正常模式外,还可以支持输出模式。在输出模式下,可以通过C6管脚输出信号。
本发明利用了C6管脚地可选特性,将其设计成可配置为输出模式的管脚。当C6管脚处于输出模式时,智能卡可通过C6管脚输出电平信号。该电平信号可以作为唤醒信号来唤醒终端设备。例如,可以将该唤醒信号用作中断源,从而能够以硬件中断的形式来唤醒处于睡眠模式的终端设备。
为了接收唤醒信号,终端设备需要将其CPU中的某个端口连接到C6管脚。该端口可以是支持中断的通用IO端口(GPIO)。在终端设备进入睡眠模式之前,其需要使能与C6管脚连接的端口,注册与该端口相应的中断。从而,当通过该端口接收到来自智能卡的唤醒信号时,该唤醒信号就可以作为中断源来唤醒终端设备。
基于上述配置,在终端设备进入睡眠模式之后,智能卡可以产生唤醒信号,经由处于输出模式的C6管脚将唤醒信号输出到终端设备。终端设备通过被注册了相应中断的端口来接收该唤醒信号,并以该唤醒信号作为中断源实现唤醒。
应当注意,尽管以将C6管脚设置为输出模式为例说明了本发明的示例性原理,但是本发明的应用并不局限于此。实际上,由于C4和C8管脚在7816标准中是被保留的,这两个管脚也可以被设置为输出模式,并从而可以替代C6管脚实现本发明的上述方案。当C4和C8管脚中的一个管脚被设置为输出模式并实现上述电源管理时,为了继续支持智能卡与终端设备之间的USB通信,可以将C4和C8管脚中的另一个管脚与C6管脚一起配置为支持USB协议。由此可以看出,本发明实际上可以利用C4、C6、C8管脚中的任何一个来输出唤醒信号。
图3示出了根据本发明的智能卡的结构示意图。
根据本发明的智能卡30可以是例如下一代MegaSIM卡。智能卡30与终端设备之间的物理接口支持7816标准,协议接口支持7816标准及USB标准。智能卡30可以包括:数据I/O模块310、可配置管脚320、管脚设置模块330以及唤醒信号生成模块340。
数据I/O模块310连接到终端设备,其可以例如基于USB协议与终端设备相互传送消息。例如,数据I/O模块310可以配置为从终端设备接收终端设备即将进入睡眠模式的通知消息。如上所述,数据I/O模块310的实现可以基于7816标准中的C4、C6、C8管脚中的任何两个。
可配置管脚320连接到终端设备,例如,其可以连接到终端设备的一个支持中断的端口。通过芯片设计等方式可以实现可配置管脚320的模式复用,使其除了具有正常模式外还可以具有输出模式。在输出模式下,可配置管脚320可以将信号,例如唤醒信号,输出到终端设备。如上所述,可配置管脚可以为7816标准中的管脚C4、C6、C8中的任何一个。
管脚设置模块330配置为例如当数据I/O模块310接收到终端设备即将进入睡眠模式的通知消息时,将可配置管脚320设置为输出模式。管脚设置模块330还可以配置为在可配置管脚320将唤醒信号输出到终端设备之后,将可配置管脚320设置为正常模式。
唤醒信号生成模块340配置为生成唤醒信号,该唤醒信号例如可以是一个电平信号。在生成唤醒信号之后,唤醒信号生成模块340可以将唤醒信号提供到可配置管脚320,以便由可配置管脚320输出到终端设备。
可选地,根据本发明的智能卡30还可以包括响应消息生成模块350。响应消息生成模块350配置为在管脚设置模块330将可配置管脚320设置为输出模式之后,生成配置成功响应消息,并将该配置成功响应消息提供到数据I/O模块310,以便由数据I/O模块310发送到终端设备。
根据本发明的智能卡30在实现与终端设备之间的电源管理过程中执行以下操作。数据I/O模块310接收终端设备即将进入睡眠模式的通知消息。管脚设置模块330将可配置管脚320设置为输出模式。可选地,在管脚设置模块330将可配置管脚320设置为输出模式之后,响应消息生成模块350可以生成配置成功响应消息,并通过数据I/O模块310发送到终端设备。唤醒信号生成模块340生成唤醒信号并通过可配置管脚320输出到终端设备。可选地,在可配置管脚320输出唤醒信号之后,管脚设置模块330可以将可配置管脚320设置为正常模式。
图4示出了根据本发明的终端设备的结构示意图。
根据本发明的终端设备40可以是能够与智能卡实现交互的任何通信设备,例如手机、个人数字助理等等。终端设备40包括:通知消息生成模块410、数据I/O模块420、端口430、中断注册模块440以及唤醒模块450。
通知消息生成模块410配置为在终端设备40进入睡眠模式之前,生成终端设备即将进入睡眠模式的通知消息,并将该通知消息传送到数据I/O模块420。
数据I/O模块420连接到智能卡,其可以例如基于USB协议与智能卡相互传送消息。例如,数据I/O模块420可以将通知消息生成模块410生成的通知消息发送到智能卡。数据I/O模块还可以从智能卡接收配置成功响应消息。当数据I/O模块接收到该配置成功响应消息时,终端设备40可以确认智能卡已经将可配置管脚设置成输出模式以用于输出唤醒信号,从而终端设备40可以进入睡眠模式。
端口430连接到智能卡,例如其可以连接到智能卡的可配置管脚。端口430可以是例如支持中断的通用1O端口(GPIO)。端口430配置为接收来自智能卡的唤醒信号。因此,在端口430支持中断的情况下,经由该端口接收到的信号,例如唤醒信号,可以被用于实现中断。
中断注册模块440配置为在终端设备40进入睡眠模式之前,使能端口430,并注册与端口430相应的中断。
唤醒模块450配置为将通过端口430接收的唤醒信号作为中断源,从而以硬件中断的形式来实现终端设备40的唤醒。
根据本发明的终端设备40在实现与智能卡之间的电源管理过程中执行以下操作。在终端设备40进入睡眠模式前,中断注册模块440使能与智能卡的可配置管脚连接的端口430,并注册与端口430相应的中断。通知消息生成模块410生成终端设备即将进入睡眠模式的通知消息,并通过数据I/O模块420发送到智能卡。终端设备40进入睡眠模式。端口430从智能卡接收唤醒信号。唤醒模块450将唤醒信号作为中断源以实现终端设备40的唤醒。可选地,在数据I/O模块420发送通知消息之后且在终端设备40进入睡眠模式之前,数据I/O模块420还可以从智能卡接收配置成功响应消息。
图5示出了根据本发明一个实施例的智能卡主动唤醒终端设备的方法流程图。
在步骤S100,终端设备40准备进入睡眠模式。
在步骤S110,终端设备40的中断注册模块440使能与智能卡的可配置管脚320连接的端口430,并注册与端口430相应的中断。
在步骤S120,终端设备40的通知消息生成模块410生成终端设备即将进入睡眠模式的通知消息,并通过数据I/O模块420发送到智能卡30的数据I/O模块310。
在步骤S130,智能卡30的数据I/O模块310接收终端设备即将进入睡眠模式的通知消息。
在步骤S140,智能卡30的管脚设置模块330将可配置管脚320设置为输出模式。
在步骤S150,智能卡30的响应消息生成模块350生成配置成功响应消息,并通过数据I/O模块310发送到终端设备40。
在步骤S160,终端设备40在接收到配置成功响应消息之后进入睡眠模式。可选地,可以跳过步骤S150,从而终端设备40可以在发送了即将进入睡眠模式的通知消息之后即进入睡眠模式。
在步骤S170,当智能卡30需要唤醒终端设备40时,智能卡30的唤醒信号生成模块340生成唤醒信号并通过可配置管脚320输出到终端设备的端口430。
在步骤S180,终端设备40的端口430从智能卡接收唤醒信号,唤醒模块450将唤醒信号作为中断源来实现终端设备40的唤醒,从而实现系统恢复。
在步骤S190,可选地,智能卡30的管脚设置模块330可以进一步将可配置管脚320设置回正常模式。
如图5所示的方法仅是本发明的一个示例性实施例。实际上,在基于本发明原理的情况下,可以对图5所述方法中的各个步骤进行修改、删除或添加。
本发明可以在不改变智能卡与终端设备之间的硬件接口的情况下,即仍满足7816物理接口标准的情况下,实现电源管理机制,从而适于智能卡的推广应用。
由于智能卡能够主动唤醒终端设备,这有利于电源管理具体策略的优化,从而进一步提高待机时长。
此外,本发明对智能卡的可配置管脚实现了灵活的设置,可以仅在终端设备处于睡眠模式时将智能卡设置为输出模式,因此本发明的电源管理机制不会影响可配置管脚的正常工作模式。
以上所述仅为本发明的示例性实施例,其并非用以限制本发明。基于本发明的精神和原理所做的任何修改、替换和改进均应包含在本发明的保护范围之内。