一种实现蓝牙安全设备低功耗待机的方法及蓝牙安全设备与流程

文档序号:12501778阅读:310来源:国知局
一种实现蓝牙安全设备低功耗待机的方法及蓝牙安全设备与流程

本发明涉及电子技术领域,尤其涉及一种实现蓝牙安全设备低功耗待机的方法及蓝牙安全设备。



背景技术:

随着移动支付技术的快速发展,在移动支付的技术含量以及设备便携性方面的要求越来越高。现有技术中,为提高便携性,移动支付设备的体积越做越小,但是体积小随之带来的是电池容量不够的问题;现有技术中,为提高电池的待机时长,蓝牙安全设备设置了低功耗待机模式(功耗约为2mA)和工作模式(功耗约为10mA),现有技术中实现低功耗待机模式的技术方案是:蓝牙安全设备被上位机唤醒,当接收到上位机的数据时,根据接收的数据进行处理得到处理结果,将处理结果返回上位机之后仍然处于工作模式,在被上位机唤醒的预设时间之后关闭外围设备,进入低功耗待机模式;当没有接收到上位机的数据时,在被上位机唤醒的预设时间之后蓝牙安全设备关闭外围设备,进入低功耗待机模式。即现有技术中蓝牙安全设备被上位机唤醒后,不论蓝牙安全设备是否接收到数据,在预设时间内都一直处于工作状态。

现有技术中存在的缺陷是:蓝牙安全设备低功耗待机模式节省的电能比较有限,延长待机时间的效果并不理想。



技术实现要素:

本发明为解决上述现有技术中存在的技术问题提供一种实现蓝牙安全设备低功耗待机的方法以及一种蓝牙安全设备。

本发明提供的一种实现蓝牙安全设备低功耗待机的方法,包括以下步骤:

步骤S1:安全模块被蓝牙模块唤醒,设置自身状态为工作模式;

步骤S2:所述安全模块判断在第五预设时间之内是否接收到来自所述蓝牙模块的数据,是则执行步骤S3,否则执行步骤S5;

步骤S3:所述安全模块根据接收的数据执行相应操作,得到操作结果;

步骤S4:所述安全模块将所述操作结果返回所述蓝牙模块,执行步骤S5;

步骤S5:所述安全模块设置自身状态为低功耗待机模式,等待被所述蓝牙模块唤醒。

进一步地,上述方法还包括以下步骤:

步骤H1:所述蓝牙模块等待接收来自上位机的数据;

步骤H2:所述蓝牙模块接收到来自上位机的数据时,设置自身的状态为工作模式,唤醒所述安全模块;

步骤H3:所述蓝牙模块在第一预设时间之后,向所述安全模块发送来自所述上位机的数据;

步骤H4:所述蓝牙模块判断在第二预设时间之内是否接收到来自所述安全模块的所述操作结果,是则向所述上位机发送所述操作结果,执行步骤H5;否则执行步骤H5;

步骤H5:所述蓝牙模块设置自身的状态为低功耗待机模式,执行步骤H1。

本发明提供的一种蓝牙安全设备,包括安全模块和蓝牙模块,所述安全模块包括:第一设置模块、第一接收模块、第一判断模块、执行模块、第一发送模块、第二设置模块和等待模块;

所述第一设置模块,用于所述安全模块被所述蓝牙模块唤醒时,设置所述安全模块的状态为工作模式;

所述第一接收模块,用于接收来自所述蓝牙模块的数据;

所述第一判断模块,用于所述第一设置模块设置所述安全模块的状态为工作模式之后,判断所述第一接收模块在第五预设时间之内是否接收到来自所述蓝牙模块的数据;

所述执行模块,用于当所述第一判断模块判断所述第一接收模块接收到来自所述蓝牙模块的数据时,根据所述第一接收模块接收的数据执行相应操作,得到操作结果;

所述第一发送模块,用于将所述执行模块得到的所述操作结果返回所述蓝牙模块;

所述第二设置模块,用于当所述第一判断模块判断所述第一接收模块在第五预设时间之内没有接收到来自所述蓝牙模块的数据时,设置所述安全模块的状态为低功耗待机模式;用于当所述第一发送模块将所述操作结果返回所述蓝牙模块之后,设置所述安全模块的状态为低功耗待机模式;

所述等待模块,用于当所述第二设置模块设置所述安全模块的状态为低功耗待机模式之后,等待所述安全模块被所述蓝牙模块唤醒。

进一步地,上述蓝牙模块包括:第一等待接收模块、第三设置模块、唤醒执行模块、第二发送模块、第二接收模块、第二判断模块、第三发送模块和第四设置模块;

所述第一等待接收模块,用于等待接收来自上位机的数据;

所述第三设置模块,用于当所述第一等待接收模块接收到来自所述上位机的数据时,设置所述蓝牙模块的状态为工作模式;

所述唤醒执行模块,用于当所述第三设置模块设置所述蓝牙模块的状态为工作模式之后,唤醒所述安全模块;

所述第二发送模块,用于在所述唤醒执行模块唤醒所述安全模块的第一预设时间之后,向所述安全模块发送所述第一等待接收模块接收的来自所述上位机的数据;

所述第二接收模块,用于接收来自所述安全模块的所述操作结果;

所述第二判断模块,用于所述第二发送模块向所述安全模块发送所述第一等待接收模块接收的来自所述上位机的数据之后,判断所述第二接收模块在第二预设时间之内是否接收到来自所述安全模块的所述操作结果;

所述第三发送模块,用于当所述第二判断模块判断所述第二接收模块在第二预设时间之内接收到来自所述安全模块的所述操作结果之后,向所述上位机发送所述第二接收模块接收的所述操作结果;

所述第四设置模块,用于当所述第三发送模块向所述上位机发送所述第二接收模块接收的所述操作结果之后,设置所述蓝牙模块的状态为低功耗待机模式;用于当所述第二判断模块判断所述第二接收模块在第二预设时间之内没有接收到来自所述安全模块的所述操作结果之后,设置所述蓝牙模块的状态为低功耗待机模式;

所述第一等待接收模块,还用于所述第四设置模块设置所述蓝牙模块的状态为低功耗待机模式之后,等待接收来自上位机的数据。

本发明与现有技术相比的有益效果是:蓝牙安全设备中,安全模块判断没有接收到数据时以及将操作结果返回蓝牙模块之后都立即将自身状态设置为低功耗待机模式,与现有技术中蓝牙安全设备被上位机唤醒后一直处于工作状态的方案相比,省电效果好,因此本发明的方案可以进一步提高蓝牙安全设备的待机时长。

附图说明

图1所示为本发明实施例1中实现蓝牙安全设备低功耗待机方法的安全模块的操作方法流程图;

图2所示为本发明实施例1中实现蓝牙安全设备低功耗待机方法的蓝牙模块的操作方法流程图;

图3所示为本发明实施例2中实现蓝牙安全设备低功耗待机方法的安全模块的操作方法流程图;

图4所示为本发明实施例2中实现蓝牙安全设备低功耗待机方法的蓝牙模块的操作方法流程图;

图5所示为本发明实施例3中蓝牙安全设备的模块组成框图;

图6所示为本发明实施例3中蓝牙安全设备的模块组成框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例1

本发明提供一种实现蓝牙安全设备低功耗待机的方法,适用于包括安全模块和蓝牙模块的蓝牙安全设备,方法具体包括安全模块的操作方法和蓝牙模块的操作方法。

如图1所示,安全模块的操作方法包括以下步骤:

步骤S1:安全模块被蓝牙模块唤醒,设置自身状态为工作模式;

步骤S2:安全模块判断在第五预设时间之内是否接收到来自蓝牙模块的数据,是则执行步骤S3,否则执行步骤S5;

步骤S3:安全模块根据接收的数据执行相应操作,得到操作结果;

步骤S4:安全模块将操作结果返回蓝牙模块,执行步骤S5;

步骤S5:安全模块设置自身状态为低功耗待机模式,等待被蓝牙模块唤醒。

蓝牙模块的操作方法,如图2所示,包括以下步骤:

步骤H1:蓝牙模块等待接收来自上位机的数据;

步骤H2:蓝牙模块接收到来自上位机的数据时,设置自身的状态为工作模式,唤醒安全模块;

具体地,蓝牙模块设置自身的状态为工作模式,具体为:蓝牙模块开启自身的无关模块。进一步地,蓝牙模块设置自身的状态为工作模式时,还包括:蓝牙模块将自身的时钟设置为高速时钟模式。更进一步地,蓝牙模块设置自身的状态为工作模式时,还包括:蓝牙模块开启与自身连接的外围设备。

具体地,蓝牙模块唤醒安全模块,具体为:蓝牙模块拉低与安全模块连接的第一控制管脚的电平。

步骤H3:蓝牙模块在第一预设时间之后,向安全模块发送来自上位机的数据;

步骤H4:蓝牙模块判断在第二预设时间之内是否接收到来自安全模块的操作结果,是则向上位机发送操作结果,执行步骤H5;否则执行步骤H5;

步骤H5:蓝牙模块设置自身的状态为低功耗待机模式,执行步骤H1;

进一步地,上述蓝牙模块向上位机发送操作结果之后、执行步骤H5之前,还包括:

步骤A1:蓝牙模块判断是否断开蓝牙连接,是则组织断开指令,唤醒安全模块,执行步骤A2;否则执行步骤H5;

具体地,蓝牙模块唤醒安全模块,具体为:蓝牙模块拉低与安全模块连接的第一控制管脚的电平。

步骤A2:蓝牙模块在第三预设时间之后向安全模块发送断开指令;

步骤A3:蓝牙模块在第四预设时间之内接收到来自安全模块的断开指令的应答时,设置自身状态为深度省电模式。

相应地,上述步骤S2之后、步骤S3之前,还包括:安全模块判断接收的数据是否为所述断开指令,是则执行步骤S6,否则执行步骤S3;

步骤S6:安全模块组织断开指令的应答,将断开指令的应答返回蓝牙模块。

具体地,上述步骤A3中,蓝牙模块设置自身状态为深度省电模式,具体为:蓝牙模块设置自身状态为深度睡眠模式;

相应地,上述步骤S6之后,还包括:安全模块设置自身状态为深度睡眠模式;

或者,上述步骤A3中,蓝牙模块设置自身状态为深度省电模式,具体为:蓝牙模块执行关机操作。

进一步具体地,上述蓝牙模块设置自身状态为深度睡眠模式,具体为:蓝牙模块关闭与自身连接的外围设备、关闭自身的无关模块、保持自身的唤醒模块有电,并将自身的芯片主核下电;

相应地,上述安全模块设置自身状态为深度睡眠模式,具体为:安全模块关闭与自身连接的外围设备和自身的无关模块、保持自身唤醒模块有电,并将自身的芯片主核下电。

可选地,上述步骤A3具体包括:

步骤A31:蓝牙模块等待第四子预设时间,判断是否接收到来自安全模块的断开指令的应答,是则设置自身状态为深度省电模式;否则执行步骤A32;

步骤A32:蓝牙模块判断从第一次向安全模块发送断开指令到当前时间是否超过第四预设时间;

步骤A33:蓝牙模块判断从第一次向所述安全模块发送所述断开指令到当前时间没有超过所述第四预设时间时,重新向安全模块发送断开指令,执行步骤A31。

进一步地,上述方法还包括:上述蓝牙模块判断从第一次向安全模块发送断开指令到当前时间超过第四预设时间时,执行步骤H5或者设置自身状态为深度省电模式。

可选地,上述步骤H4具体包括:

步骤H41:蓝牙模块等待第二子预设时间,判断是否接收到来自安全模块的操作结果,是则向上位机发送操作结果,执行步骤H5;否则执行步骤H42;

步骤H42:蓝牙模块判断从第一次向安全模块发送来自上位机的数据到当前时间是否超过第二预设时间,是则执行步骤H5,否则执行步骤H43;

步骤H43:蓝牙模块重新向安全模块发送来自上位机的数据,执行步骤H41。

可选地,上述步骤H4中,蓝牙模块向上位机发送操作结果时,还包括:

步骤L:蓝牙模块判断发送完成标志是否置位,是则完成发送,执行步骤H5;否则继续判断。

进一步地,上述步骤L中,蓝牙模块判断发送完成标志没有置位时,执行在继续判断之前,还包括:

蓝牙模块判断从接收到来自安全模块的操作结果到当前时间是否超过第六预设时间,是则执行步骤H5;否则继续判断。

在本实施例的上述方法中,上述步骤S2中,安全模块判断在第五预设时间之内接收到来自蓝牙模块的数据时,步骤S4之前,还包括:

安全模块根据接收的数据判断是否设置流程控制,当判断结果为设置流程控制时,安全模块根据接收的数据使用低功耗定时器设置流程控制定时器。

本实施例上述方法中,还包括:安全模块被上述流程控制器唤醒时,设置自身状态为工作模式,执行相应操作,得到操作结果,并保存操作结果,设置自身状态为低功耗待机模式。

在本实施例的上述方法中,还包括:安全模块被按键唤醒时,设置自身状态为工作模式,执行相应操作,得到操作结果,并保存操作结果,设置自身状态为低功耗待机模式。

本实施例的上述方法中,步骤S2具体包括:

步骤S21:安全模块判断是否接收到数据,是则执行步骤S3,否则执行步骤S22;

步骤S22:安全模块判断从设置自身状态为工作模式到当前时间是否超过第五预设时间,是则执行步骤S5;否则执行步骤S21。

本实施例上述方法中,安全模块设置自身状态为工作模式,具体为:安全模块将自身的时钟设置为高速时钟模式,开启自身的无关模块。

进一步地,上述安全模块设置自身状态为工作模式时,还可以包括:安全模块开启与自身连接的外围设备。例如,蓝牙安全设备中与安全模块连接的外围设备为显示模块。

本发明中,安全模块中的无关模块包括通信模块、算法模块和存储模块,例如,通信模块可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)模块/SPI(Serial Peripheral Interface,串行外设接口)模块/I2C(Inter-Integrated Circuit,内部集成电路)/USB(Universal Serial Bus,通用串行总线)模块中的一个或多个,存储模块可以具体为flash存储模块。

需要说明的是,本发明中安全模块可以具体为一个安全芯片以及与安全芯片连接的外围电路,无关模块(通信模块、存储模块、算法模块)集成在安全芯片中;安全模块也可以包括安全芯片、无关模块以及与安全芯片连接的外围电路,其中无关模块可以集成在安全芯片中,也可以是与安全芯片连接的独立结构,例如,无关模块中的通信模块集成在安全芯片中,无关模块中的算法模块为与安全芯片连接的独立结构。本发明不对与安全芯片连接的外围电路进行具体限定。

本实施例上述方法中,安全模块设置自身状态为低功耗待机模式,具体为:安全模块将自身的时钟设置为低速时钟模式,关闭自身的无关模块以及与安全模块连接的外围设备,将自身的芯片设置为睡眠模式。

本实施例中,上述蓝牙模块设置自身状态为低功耗待机模式,具体为:蓝牙模块关闭自身的无关模块。

进一步具体地,上述蓝牙模块设置自身状态为低功耗待机模式时,还包括:蓝牙模块将自身的时钟设置为低速时钟模式,并将自身的芯片设置为睡眠模式。

本发明中,蓝牙模块中的无关模块包括通信模块,例如,通信模块可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)模块/SPI(Serial Peripheral Interface,串行外设接口)模块/I2C(Inter-Integrated Circuit,内部集成电路)模块中的一个或多个。

需要说明的是,本实发明中蓝牙模块可以具体为一个蓝牙芯片以及与蓝牙芯片连接的外围电路,无关模块(通信模块)集成在蓝牙芯片中;蓝牙模块也可以包括蓝牙芯片、无关模块以及与蓝牙芯片连接的外围电路,其中无关模块可以集成在蓝牙芯片中,也可以是与蓝牙芯片连接的独立结构,例如,无关模块中的通信模块集成在蓝牙芯片中,无关模块也可以为与蓝牙芯片连接独立结构。本发明中不对与蓝牙芯片连接的外围电路进行具体限定。

本发明中,上述蓝牙模块的芯片和蓝牙芯片属于同一个概念,上述安全模块的芯片和安全芯片属于同一个概念。

本发明与现有技术相比的有益效果是:蓝牙安全设备中,安全模块判断没有接收到数据时以及将操作结果返回蓝牙模块之后都立即将自身状态设置为低功耗待机模式,与现有技术中蓝牙安全设备的省电方式相比,省电效果好,进一步提高蓝牙安全设备的待机时长。

安全模块处理相应操作之后随时进入低功耗待机模式,同时蓝牙模块将来自安全模块的操作结果返回上位机之后也立即进入低功耗待机模式,与现有技术蓝牙安全设备在预设时间之后才进入低功耗待机模式相比,可以进一步提高蓝牙安全设备的待机时长。

另外本发明中,安全模块和蓝牙模块处于低功耗待机模式时,将各自时钟切换为低速时钟模式,同时关闭与自身连接的外围设备,与现有技术只关闭外围设备的低功耗待机模式相比功耗更低,省电效果更好。

实施例2

本发明提供一种实现蓝牙安全设备低功耗待机的方法,蓝牙安全设备包括蓝牙模块和安全模块。

如图3所示,安全模块的操作方法具体包括:

步骤101:安全模块等待被唤醒,当安全模块被蓝牙模块唤醒时,执行步骤102;当安全模块被按键唤醒时,执行步骤108;当安全模块被流程控制定时器唤醒时,执行步骤109。

本实施例中,步骤101中安全模块等待被唤醒时,处于低功耗待机模式。

步骤102:安全模块设置自身状态为工作模式,判断在第五预设时间之内是否接收到来自蓝牙模块的数据,是则执行步骤103,否则执行步骤107。

具体地,安全模块判断在第五预设时间之内是否接收到数据,具体包括:

步骤1021:安全模块判断是否接收到数据,是则执行步骤103,否则执行步骤1022;

步骤1022:安全模块判断从设置自身状态为工作模式到当前时间是否超过第五预设时间,是则设置自身状态为低功耗待机模式,等待被蓝牙模块唤醒;否则执行步骤1021。例如,第五预设时间为30毫秒。

优选的,步骤1022中,安全模块判断从设置自身状态为工作模式到当前时间没有超过第五预设时间时,执行步骤1021之前,还包括:安全模块等待第五子预设时间。例如,第五子预设时间为10毫秒。

具体地,上述安全模块判断是否接收到数据,具体为:安全模块判断状态寄存器的标志位是否为预设的收数标志,是则接收到数据,否则没有接收到数据。本实施例中,安全模块接收到数据时,会自动将状态寄存器的标志位设置为预设的收数标志,例如,预设的收数标志为1。

步骤103:安全模块根据接收的数据执行相应操作,得到操作结果;

具体地,步骤103具体为:

当接收到取随机数指令时,生成随机数,得到的操作结果为生成的随机数;例如,生成的随机数为00011001;

当接收到修改PIN码指令时,执行修改PIN码操作,并组织修改PIN码指令的状态码,得到的操作结果为修改PIN码指令的状态码;

当接收到签名指令时,显示签名指令中关键数据信息并组织签名指令的状态码,得到的操作结果为签名指令的状态码;

当接收到取签名结果指令时,获取保存的签名结果,得到的操作结果为获取的签名结果;

当接收到取按键状态指令时,获取保存的按键状态,得到的操作结果为获取的按键状态。

步骤104:安全模块根据接收的数据判断是否需要设置流程控制,是则执行步骤105,否则执行步骤106;

具体地,安全模块根据接收的数据判断是否需要设置流程控制,具体为:安全模块根据接收的数据调用相应的应用接口,根据调用的应用接口判断是否需要设置流程控制。

例如,当接收的数据为取随机数指令、取签名结果指令、取按键状态指令中的一种时,调用相应的应用接口,根据相应的应用接口判断结果为不需要设置流程控制,执行步骤106;当接收的数据为修改PIN码指令或签名指令时,调用相应的应用接口,根据相应的应用接口判断结果为需要设置流程控制,执行步骤105。

步骤105:安全模块根据接收的数据使用低功耗定时器设置流程控制定时器。

具体地,安全模块根据接收的数据使用低功耗定时器设置在预设时间之后流程定时器到达。

例如,当安全模块接收的数据为修改PIN码指令时,执行完修改PIN码的指令之后,使用低功耗定时器设置在5秒之后流程定时器到达;当安全模块接收的数据为签名指令时,执行完签名指令之后,使用低功耗定时器设置在5秒之后流程定时器到达

步骤106:安全模块将操作结果返回蓝牙模块。

具体地,当安全模块接收的数据为取随机数指令时,将随机数返回蓝牙模块;当安全模块接收的数据为修改PIN码指令时,将修改PIN码的状态码返回蓝牙模块;当安全模块接收的数据为签名指令时,将签名指令的状态码返回蓝牙模块;当接收到取签名结果指令时,将保存的签名结果返回蓝牙模块;当接收到取按键状态指令时,将保存的按键状态返回蓝牙模块。

步骤107:安全模块设置自身的状态为低功耗待机模式,等待被唤醒。

在本实施例中,步骤102中当安全模块判断没有接收到数据时以及步骤106中安全模块将操作结果返回蓝牙模块之后,安全模块都直接进入低功耗待机模式;当步骤102中安全模块接收到数据时,经过步骤103-步骤105的处理后,在步骤106中,安全模块将操作结果返回蓝牙模块后立即进入低功耗待机模式。即本发明中安全模块判断没有接收到数据,或者处理完数据并将操作结果返回蓝牙模块之后,都立即进入低功耗待机模式,与现有技术相比,省电效果好,从而进一步提高蓝牙安全设备的待机时长。

步骤108:安全模块设置自身状态为工作模式,执行相应操作,并保存操作结果,设置自身状态为低功耗待机模式。

具体地,步骤108中,安全模块执行相应操作,保存操作结果,具体为:安全模块根据按键执行相应操作,并对操作结果进行保存。步骤108之后,安全模块被蓝牙模块唤醒,并接收到来自蓝牙模块的取按键状态指令时,将操作结果返回蓝牙模块。

步骤109:安全模块设置自身状态为工作模式,执行相应操作,保存操作结果,将自身状态设置为低功耗待机模式。

具体地,步骤109中,安全模块执行相应操作,保存操作结果,具体为:安全模块设置超时标志,并对超时标志进行保存。

具体地,步骤109具体为:安全模块设置自身状态为工作模式,设置超时标志,并对超时标志进行保存,将自身状态设置为低功耗待机模式。步骤109之后,安全模块被蓝牙模块唤醒,并接收到来自蓝牙模块的取按键状态指令时,将超时标志返回蓝牙模块。

以步骤102中安全模块接收的数据为签名指令为例对安全模块的工作方法进行说明,步骤102中安全模块接收到签名指令时,执行步骤103(步骤103具体为:显示签名指令中关键数据信息并组织签名指令的状态码,得到的操作结果为签名指令的状态码),步骤104中判断结果为需要设置流程控制,执行步骤105-步骤107之后,安全模块处于低功耗待机模式,等待接收用户的确认签名通知消息,执行步骤107之后,包括以下几种情况:当安全模块在流程控制定时器设定的预设时间以内被按键唤醒,并接收到确认签名通知消息时,执行步骤108(步骤108具体为:安全模块设置自身状态为工作模式,执行签名操作,并保存签名结果,设置自身状态为低功耗待机模式);当安全模块在流程控制定时器设定的预设时间以内被按键唤醒,并接收到取消签名通知消息时,执行步骤108(步骤108具体为:安全模块设置自身状态为工作模式,组织取消签名的应答,并保存取消签名的应答,设置自身状态为低功耗待机模式);当安全模块在流程控制定时器设定的预设时间以内没有被按键唤醒,在流程控制定时器到达时,安全模块被流程控制定时器唤醒,执行步骤109。

具体地,当用户按下“确认”按键后,安全模块接被按键唤醒,并接收到确认签名通知消息;当用户按下“取消”按键后,安全模块被按键唤醒,并接收到取消签名通知消息;当用户在流程控制定时器设定的预设时间以内没有按下“确认”或“取消”按键时,在流程控制定时器到达时,安全模块被流程控制定时器唤醒,执行步骤109。

以步骤102中安全模块接收的数据为修改PIN码指令为例对安全模块的工作方法进行说明,步骤102中安全模块接收的数据为修改PIN码指令时,安全模块执行步骤103(步骤103具体为:执行修改PIN码操作,并组织修改PIN码指令的状态码,得到的操作结果为修改PIN码指令的状态码),步骤104中判断结果为需要设置流程控制,执行步骤105--步骤107之后,安全模块处于低功耗待机模式,等待接收用户的确认修改PIN码通知消息,步骤107之后包括以下几种情况:当安全模块在流程控制定时器设定的预设时间以内被按键唤醒,并接收到确认修改PIN码通知消息时,执行步骤108(步骤108具体为:安全模块设置自身状态为工作模式,执行修改PIN码操作,并组织修改PIN码成功的状态码,保存修改PIN码的状态码之后,设置自身状态为低功耗待机模式);当安全模块在流程控制定时器设定的预设时间以内被按键唤醒,并接收到取消修改PIN码的状态码通知消息时,执行步骤108(步骤108具体为:安全模块设置自身状态为工作模式,组织修改PIN码失败的状态码,保存修改PIN码的失败状态码之后,安全模块设置自身状态为低功耗待机模式);当安全模块在流程控制定时器设定的预设时间以内没有被按键唤醒,在流程控制定时器到达时,安全模块被流程控制定时器唤醒,执行步骤109。

具体地,当用户按下“确认”按键后,安全模块被按键唤醒,并接收到用户的确认修改PIN码的通知消息;当用户按下“取消”按键后,安全模块被按键唤醒,并接收到取消修改PIN码的通知消息;当用户在流程控制定时器设定的预设时间以内没有按下“确认”或“取消”按键时,在流程控制定时器到达时,安全模块被流程控制定时器唤醒,执行步骤109。

如图4所示,蓝牙模块的操作方法具体包括:

步骤201:蓝牙模块等待接收来自上位机的数据;

具体地,蓝牙模块等待接收来自上位机的数据时,处于低功耗待机模式。蓝牙模块处于低功耗待机模式时,时钟为低速时钟模式。例如,蓝牙模块处于低功耗待机模式时的时钟频率为0.07MHz。

本实施例中,上位机为支持蓝牙功能的终端。例如,移动终端或电脑终端。

步骤202:蓝牙模块接收到来自上位机的数据时,设置自身的状态为工作模式,唤醒安全模块;

具体地,蓝牙模块接收到上位机的数据为取随机数指令、签名指令、取签名结果指令、取按键状态指令、修改PIN码指令中的一种。

例如,取随机数指令为0x0084000008。

步骤203:蓝牙模块在第一预设时间之后向安全模块发送来自上位机的数据;

例如,第一预设时间为10毫秒。

步骤204:蓝牙模块判断在第二预设时间之内是否接收到来自安全模块的操作结果,是则执行步骤205,否则执行步骤210;

具体地,步骤204具体包括:

步骤2041:蓝牙模块等待第二子预设时间,判断是否接收到来自安全模块的操作结果,是则向上位机发送操作结果,执行步骤205;否则执行步骤2042。例如,第二子预设时间为10毫秒。

步骤2042:蓝牙模块判断从第一次向安全模块发送来自上位机的数据到当前时间是否超过第二预设时间,是则执行步骤210,否则执行步骤2043。例如,第二预设时间为30毫秒。

步骤2043:蓝牙模块重新向安全模块发送来自上位机的数据,执行步骤2041。

步骤205:蓝牙模块向上位机发送操作结果。

可选地,步骤205中蓝牙模块向上位机发送操作结果时,还包括:

步骤L:蓝牙模块判断发送完成标志是否置位,是则完成发送,执行步骤206;否则继续判断。

可选地,上述步骤L中,蓝牙模块判断发送完成标志没有置位时,继续判断之前,还包括:蓝牙模块判断从接收到来自安全模块的操作结果到当前时间是否超过第六预设时间,是则执行步骤210;否则继续判断。

步骤206:蓝牙模块判断是否断开蓝牙连接,是则执行步骤207,否则执行步骤210;

具体地,蓝牙模块判断是否断开蓝牙连接,具体为:蓝牙模块中的蓝牙芯片判断是否监听到蓝牙断开事件,是则判定断开蓝牙连接,否则判定没有断开蓝牙连接。

更具体地,蓝牙协议栈在预设的时间内检测心跳包是否存在,如果是则蓝牙芯片监听不到蓝牙协议栈中的蓝牙断开事件,蓝牙模块判定没有断开蓝牙连接;否则蓝牙协议栈产生蓝牙断开事件,蓝牙芯片监听到蓝牙协议栈中的蓝牙断开事件,蓝牙模块判定断开蓝牙连接。

步骤207:蓝牙模块组织断开指令,唤醒安全模块,在第三预设时间之后向安全模块发送断开指令。例如,第三预设时间为10毫秒。

例如,蓝牙模块组织的断开指令为:6B08000000000103。

步骤208:蓝牙模块判断在第四预设时间之内是否接收到来自安全模块的断开指令的应答,是则执行步骤209;否则执行步骤210。

相应地,上述步骤102之后,上述步骤103之前,还包括:

步骤110:安全模块判断接收的数据是否为断开指令,是则执行步骤111,否则执行所述步骤103;

步骤111:安全模块组织断开指令的应答,并将断开指令的应答返回蓝牙模块。

具体地,步骤208具体包括:

步骤2081:蓝牙模块等待第四子预设时间,判断是否接收到来自安全模块的断开指令的应答,是则执行步骤209;否则执行步骤2082;例如,第四子预设时间为10毫秒。

步骤2082:蓝牙模块判断从第一次向安全模块发送断开指令到当前时间是否超过第四预设时间,是则执行步骤210或者执行步骤209,否则执行步骤2083。例如,第四预设时间为30毫秒。

步骤2083:蓝牙模块重新向安全模块发送断开指令,执行步骤2081。

步骤209:蓝牙模块将自身的状态设置为深度省电模式。

步骤210:蓝牙模块设置自身状态为低功耗待机模式。

可选地,上述蓝牙模块将自身的状态设置为深度省电模式,具体为:蓝牙模块将自身的状态设置为深度睡眠模式。

相应地,上述步骤111之后还包括:安全模块设置自身状态为深度睡眠模式。

具体地,上述安全模块设置自身的状态为深度睡眠模式,具体为:安全模块关闭与自身连接的外围设备和自身的无关模块、保持自身的唤醒模块有电,并将安全模块的芯片主核下电;

具体地,上述蓝牙模块将自身的状态设置为深度睡眠模式,具体为:蓝牙模块关闭与自身连接的外围设备、关闭自身的无关模块、保持自身的唤醒模块有电,并将自身的芯片主核下电。

安全模块和蓝牙模块处于深度睡眠模式时,关闭与自身连接的外围设备、关闭自身的无关模块,模块中的芯片主核下电后时钟处于关闭状态,电流在纳安级别(功耗约为40nA),与低速时钟模式相比省电效果更好;与关机模式相比模块能够迅速从深度睡眠模式中唤醒为工作模式,快速响应外围设备请求,用户体验较佳。

深度睡眠模式的蓝牙模块和安全模块只是将模块中的芯片下电,关闭功耗较大的外围设备,保持模块中的唤醒模块保持有电;被唤醒时通过唤醒模块唤醒,对模块中的芯片上电,设置时钟频率,无需对所有的设备进行初始化,唤醒速度比由关机状态转换为开机的速度快。

本实施例中,当蓝牙模块断开蓝牙连接时,进入深度睡眠模式,与蓝牙断开连接后直接关机的方案相比,蓝牙模块接收到来自上位机的数据时由深度睡眠模式转换为工作模式要比由关机状态转换为工作模式的时间短,开机时可以提升用户体验,功耗处于纳安(nA)级别,比关机时功耗稍高。

可选地,步骤209中,蓝牙模块将自身状态设置为深度省电模式具体为:蓝牙模块执行关机操作。

本实施例中,当蓝牙模块断开蓝牙连接时,蓝牙模块执行关机操作后蓝牙安全设备完全断电,功耗为0,可以最大程度节省电能,省电效果好,但是开机时需要对所有设备进行初始化,开机速度比由深度睡眠模式唤醒慢。蓝牙模块和安全模块可以共用一个供电模块,当蓝牙模块接收到来自安全模块的断开指令的应答时,执行关机操作,断开电源,与此同时安全模块也断电。

本实施例中,上述蓝牙模块设置自身状态为低功耗待机模式,具体为:蓝牙模块关闭与自身连接的外围设备和自身的无关模块。进一步地,蓝牙模块设置自身状态为低功耗待机模式时,还包括:蓝牙模块将自身的时钟设置为低速时钟模式,并将自身的芯片设置为睡眠模式。例如,低速时钟模式的时钟频率为0.7MHz。

需要说明的是,本实施例中蓝牙模块中的无关模块包括但不限于通信模块;无关模块中的通信模块可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)模块/SPI(Serial Peripheral Interface,串行外设接口)模块/I2C(Inter-Integrated Circuit,内部集成电路)模块。

本实施例中,上述安全模块设置自身的状态为低功耗待机模式,具体为:安全模块将自身的时钟设置为低速时钟模式,关闭自身的无关模块以及与安全模块连接的外围设备,将自身的芯片设置为睡眠模式。

例如,安全模块将自身的时钟频率由2.5MHz设置为0.07MHz;

具体地,安全模块关闭与其连接的外围设备,具体为:关闭与其连接的功耗较大的外围设备。例如,关闭与其连接的显示模块。

具体地,安全模块中的无关模块包括通信模块、算法模块和存储模块。例如,算法模块可以包括但不限于SM4算法模块/SM1算法模块/Hash算法模块/Sha2算法模块;

安全模块的通信模块可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)模块/SPI(Serial Peripheral Interface,串行外设接口)模块/I2C(Inter-Integrated Circuit,内部集成电路)模块/USB(Universal Serial Bus,通用串行总线)模块。

本实施例中,上述安全模块设置自身状态为工作模式,具体为:安全模块将自身的时钟切换为高速时钟模式。

例如,当安全模块处于低功耗待机模式,等待被唤醒时,时钟频率为0.07MHz,安全模块将时钟切换为高速时钟模式具体为:安全模块将时钟频率由0.07MHz切换为2.5MHz。

本发明中,蓝牙模块和安全模块设置自身状态为低功耗待机模式时将自身的芯片设置为睡眠模式,同时关闭时钟的,可以进一步降低功耗。如果只关闭时钟,不将芯片设置为睡眠模式,芯片会继续执行工作程序,当将芯片设置为睡眠模式之后,芯片停止执行工作程序。

进一步地,安全模块设置自身状态为工作模式时,还具体包括:安全模块开启自身的无关模块。例如,安全模块开启通信模块和算法模块。本发明中,安全模块中的算法模块和通信模块可以内置在安全模块的芯片中也可以与安全模块中的芯片连接。更进一步地,安全模块设置自身状态为工作模式时,还具体包括:安全模块开启与自身连接的外围设备,例如,开启与自身连接的显示模块。

本实施例中,上述蓝牙模块设置自身的状态为工作模式,具体为:蓝牙模块开启自身的通信模块。

进一步,蓝牙模块设置自身的状态为工作模式时,还包括:蓝牙模块将自身时钟切换为高速时钟模式。例如,蓝牙模块将时钟频率由0.07MHz切换成2.5MHz。更进一步地,蓝牙模块设置自身的状态为工作模式时,还包括:蓝牙模块开启与自身连接的外围设备。

本实施例中,上述蓝牙模块唤醒安全模块具体为:蓝牙模块拉低与安全模块连接的第一控制管脚的电平。例如,蓝牙模块与安全模块连接的第一控制管脚为combus控制线。可选地,本实施例中,还包括:蓝牙模块拉低与安全模块连接的第一控制管脚的电平之后的预设时间内,蓝牙模块将第一控制管脚的电平拉高。例如,蓝牙模块拉低与安全模块连接的第一控制管脚的电平之后的10毫秒之内,蓝牙模块将第一控制管脚的电平拉高。

本实施例中,蓝牙安全设备的外围设备包括显示模块,但不限于显示模块,上述显示模块与安全模块连接,但不限于此连接方式。例如,显示模块可以与安全模块和/或蓝牙模块连接。

本实施例中,安全模块处于关机模式时,安全模块下电,被蓝牙模块唤醒时,首先要上电(具体地,安全模块上电具体为蓝牙模块通过LDO或者MOS管给安全模块供电),将时钟设置为高速时钟模式,并对硬件进行初始化;

安全模块处于深度睡眠模式时,安全模块中的安全芯片的主核下电,与安全模块连接的外围设备关闭,同时安全模块连接的算法模块、无关模块关闭,只有安全模块中的唤醒模块有电,被蓝牙模块唤醒后,安全模块通过唤醒模块唤醒,对安全模块的芯片主核上电,设置时钟为高速时钟模式;

安全模块处于低功耗待机模块时,安全模块只关闭功耗较大的外围设备,安全模块的芯片有电,时钟为低速时钟模式,并且安全模块的芯片设置为睡眠模式,接收到上位机的数据时,将时钟设置为高速时钟模式。

本实施例中,蓝牙模块处于关机模式时,蓝牙模块下电,接收到开机事件时,蓝牙芯片上电(具体地,蓝牙模块接收到开机事件具体为:用户按下蓝牙安全设备的开机按键后,触发开机事件),将时钟设置为高速时钟模式,对硬件进行初始化(硬件包括电容等器件);

蓝牙模块处于深度睡眠模式时,蓝牙模块中的芯片主核下电,与蓝牙模块连接的外围设备关闭,同时蓝牙模块中的无关模块(如通讯模块SPI/UART/I2C)关闭,只有蓝牙模块中的唤醒模块有电,接收到开机事件时,通过唤醒模块唤醒,对蓝牙芯片的主核上电,设置时钟为高速时钟模式;

蓝牙模块处于低功耗待机模块时,蓝牙模块只关闭功耗较大的外围设备,蓝牙模块的芯片有电,时钟为低速时钟模式,并且蓝牙模块的芯片处于睡眠模式,接收到上位机的数据时,将时钟设置为高速时钟模式。

本发明中,安全模块和蓝牙模块在完成相应操作时直接进入低功耗待机模式,与现有技术中蓝牙安全设备被上位机唤醒必须在预设时间之后才进入低功耗待机模式的方案相比,省电效果更佳;另外本发明中,安全模块和蓝牙模块处于低功耗待机模式时,将各自时钟切换为低速时钟模式,同时关闭与自身连接的外围设备和自身的无关模块,与现有技术中只关闭外围设备的低功耗待机模式相比功耗更低,省电效果更好。当蓝牙模块判断断开蓝牙连接时,安全模块和蓝牙模块进入深度省电模式,如此比普通的低功耗待机模式省电效果更好。

实施例3

本发明提供一种蓝牙安全设备,包括安全模块和蓝牙模块,如图5所示为蓝牙安全设备的模块组成框图,安全模块包括:第一设置模块11、第一接收模块12、第一判断模块13、执行模块14、第一发送模块15、第二设置模块16和等待模块17;

第一设置模块11,用于安全模块被蓝牙模块唤醒时,设置安全模块的状态为工作模式;

第一接收模块12,用于接收来自蓝牙模块的数据;

第一判断模块13,用于第一设置模11块设置安全模块的状态为工作模式之后,判断第一接收模块12在第五预设时间之内是否接收到来自蓝牙模块的数据;

执行模块14,用于当第一判断模块13判断第一接收模块12接收到来自蓝牙模块的数据时,根据第一接收模块12接收的数据执行相应操作,得到操作结果;

第一发送模块15,用于将执行模块14得到的操作结果返回蓝牙模块;

第二设置模块16,用于当第一判断模块13判断第一接收模块12在第五预设时间之内没有接收到来自蓝牙模块的数据时,设置安全模块的状态为低功耗待机模式;用于当第一发送模块15将操作结果返回蓝牙模块之后,设置安全模块的状态为低功耗待机模式;

等待模块17,用于当第二设置模块16设置安全模块的状态为低功耗待机模式之后,等待安全模块被蓝牙模块唤醒。

进一步地,如图6所示,为蓝牙安全设备的模块组成框图,其中,蓝牙模块包括:第一等待接收模块21、第三设置模块22、唤醒执行模块23、第二发送模块24、第二接收模块25、第二判断模块26、第三发送模块27和第四设置模块28;

第一等待接收模块21,用于等待接收来自上位机的数据;

第三设置模块22,用于当第一等待接收模块21接收到来自上位机的数据时,设置蓝牙模块的状态为工作模式;

唤醒执行模块23,用于当第三设置模块22设置蓝牙模块的状态为工作模式之后,唤醒安全模块;

第二发送模块24,用于在唤醒执行模块23唤醒安全模块的第一预设时间之后,向安全模块发送第一等待接收模块21接收的来自上位机的数据;

第二接收模块25,用于接收来自安全模块的操作结果;

第二判断模块26,用于第二发送模块24向安全模块发送所述第一等待接收模块21接收的来自上位机的数据之后,判断第二接收模块25在第二预设时间之内是否接收到来自安全模块的操作结果;

第三发送模块27,用于当第二判断模块26判断第二接收模块25在第二预设时间之内接收到来自安全模块的操作结果之后,向上位机发送第二接收模块25接收的操作结果;

第四设置模块28,用于当第三发送模块27向上位机发送第二接收模块25接收的操作结果之后,设置蓝牙模块的状态为低功耗待机模式;用于当第二判断模块26判断第二接收模块25在第二预设时间之内没有接收到来自安全模块的操作结果之后,设置蓝牙模块的状态为低功耗待机模式;

第一等待接收模块21,还用于第四设置模块28设置蓝牙模块的状态为低功耗待机模式之后,等待接收来自上位机的数据。

进一步地,上述蓝牙模块还包括第三判断模块、组织模块、第四发送模块、第二等待接收模块和第五设置模块;

第三判断模块,用于第三发送模块27向上位机发送操作结果之后判断是否断开蓝牙连接;

相应地,上述第四设置模块28,具体用于第三判断模块判没有断断开蓝牙连接时,设置蓝牙模块的状态为低功耗待机模式;

组织模块,用于第三判断模块判断断开蓝牙连接时,组织断开指令;

相应地,上述唤醒执行模块23,还用于第三判断模块判断断开蓝牙连接时或者组织模块组织断开指令之后,唤醒安全模块;

第四发送模块,用于第三判断模块判断断开蓝牙连接时,并且唤醒执行模块23唤醒安全模块的第三预设时间之后,向安全模块发送断开指令;

第二等待接收模块,用于接收来自安全模块的断开指令的应答;

第五设置模块,用于第四发送模块向安全模块发送断开指令之后的第四预设时间之内,第二等待接收模块接收到来自安全模块的断开指令的应答时,设置蓝牙模块的状态为深度省电模式;

相对应地,上述安全模块还包括,第四判断模块、应答组织模块、应答发送模块;

第四判断模块,用于判断第一接收模块12接收的数据是否为断开指令;

应答组织模块,用于第四判断模块判断第一接收模块12接收的数据为断开指令时,组织断开指令的应答;

应答发送模块,用于将应答组织模块组织的断开指令的应答返回蓝牙模块;

执行模块14,具体用于第四判断模块判断第一接收模块12接收的数据不是断开指令时,根据第一接收模块12接收的数据执行相应操作,得到操作结果。

进一步地,上述安全模块在包括第四判断模块、应答组织模块、应答发送模块的基础上还包括第六设置模块;

上述第五设置模块,具体用于在上述第四发送模块向安全模块发送断开指令之后的第四预设时间之内,第二等待接收模块接收到来自安全模块的断开指令的应答时,设置蓝牙模块的状态为深度睡眠模式;

第六设置模块,用于当上述应答发送模块将断开指令的应答返回所述蓝牙模块之后,设置安全模块状态为深度睡眠模式。

更进一步地,上述蓝牙安全设备还包括外围设备;相应地,上述第五设置模块,具体用于在第四发送模块向安全模块发送断开指令之后的第四预设时间之内,第二等待接收模块接收到来自安全模块的断开指令的应答时,关闭与蓝牙模块连接的外围设备、保持蓝牙模块的唤醒模块有电,并将蓝牙模块的芯片主核下电;

相应地,上述第六设置模块,具体用于当应答发送模块将断开指令的应答返回蓝牙模块之后,关闭与安全模块连接的外围设备、关闭安全模块中的无关模块、保持安全模块的唤醒模块有电,并将安全模块的芯片主核下电。

本实施例中,蓝牙安全设备中的外围设备可以但不限于显示模块,显示模块可以但不限于与安全模块连接,例如显示模块与安全模块和/或蓝牙模块连接。

本实施例中,上述第五设置模块,具体用于在第四发送模块向安全模块发送断开指令之后的第四预设时间之内,第二等待接收模块接收到来自安全模块的断开指令的应答时,执行关机操作。

本实施例中,上述第五设置模块可以具体包括:第五等待判断子模块、第五设置子模块、第五超时判断子模块、第五发送子模块;

第五等待判断子模块,用于第四发送模块向安全模块发送断开指令之后,等待第四子预设时间,判断第二等待接收模块是否接收到来自安全模块的断开指令的应答;

第五设置子模块,用于第五等待判断子模块判断第二等待接收模块接收到来自安全模块的断开指令的应答时,设置蓝牙模块的状态为深度省电模式;

第五超时判断子模块,用于第五等待判断子模块判断第二等待接收模块没有接收到来自安全模块的断开指令的应答时,判断从第四发送模块第一次向安全模块发送断开指令到当前时间是否超过第四预设时间;

第五发送子模块,用于第五超时判断子模块判断从第四发送模块第一次向安全模块发送断开指令到当前时间没有超过第四预设时间时,重新向安全模块发送断开指令;

第五等待判断子模块,还用于第五发送子模块重新向安全模块发送断开指令之后,等待第四子预设时间,判断第二等待接收模块是否接收到来自安全模块的断开指令的应答。

进一步地,上述第四设置模块28,还用于第五超时判断子模块判断第四发送模块从第一次向安全模块发送断开指令到当前时间超过第四预设时间时,设置蓝牙模块的状态为低功耗待机模式;

或者,上述第五设置子模块,还用于第五超时判断子模块判断从第四发送模块第一次向安全模块发送断开指令到当前时间超过第四预设时间时,设置蓝牙模块的状态为深度省电模式。

本实施例中,上述第二判断模块26可以具体包括第二等待判断子模块、第二超时判断子模块和重新发送子模块;

第二等待判断子模块,用于第二发送模块24向安全模块发送第一等待接收模块21接收的来自上位机的数据之后,等待第二子预设时间,判断第二接收模块25是否接收到来自安全模块的操作结果;

相应地,上述第三发送模块27,具体用于当第二等待判断子模块判断第二接收模块25在第二预设时间之内接收到来自安全模块的操作结果之后,向上位机发送第二接收模块25接收的操作结果;

第二超时判断子模块,用于第二等待判断子模块判断第二接收模块25没有接收到来自安全模块的操作结果时,判断从第二发送模块24第一次向安全模块发送来自上位机的数据到当前时间是否超过第二预设时间;

第四设置模块28,具体用于当第二超时判断子模块判断从第二发送模块24第一次向安全模块发送数据到当前时间超过第二预设时间时,设置蓝牙模块的状态为低功耗待机模式;

重新发送子模块,用于当第二超时判断子模块判断从第二发送模块24第一次向安全模块发送来自上位机的数据到当前时间没有超过第二预设时间时,重新向安全模块发送第一等待接收模块21接收的来自上位机的数据;

上述第二等待判断子模块,还用于重新发送子模块重新向安全模块发送来自上位机的数据之后,等待第二子预设时间,判断第二接收模块25是否接收到来自安全模块的操作结果。

本实施例中,上述第三设置模块22,具体用于当第一等待接收模块21接收到来自上位机的数据时,开启蓝牙模块中的无关模块。进一步地,上述第三设置模块22还用于,当第一等待接收模块21接收到来自上位机的数据时,将蓝牙模块的时钟设置为高速时钟模式。

本实施例中,上述第四设置模块28,具体用于:关闭蓝牙模块中的无关模块。进一步地,上述第四设置模块28,还用于:将蓝牙模块的时钟设置为低速时钟模式,并将蓝牙模块中的芯片设置为睡眠模式。

本实施例中,上述唤醒执行模块23,具体用于拉低与安全模块连接的第一控制管脚的电平。

可选地,本实施例中上述蓝牙模块在包括第一等待接收模块21、第三设置模块22、唤醒执行模块23、第二发送模块24、第二接收模块25、第二判断模块26、第三发送模块27和第四设置模块28的基础上,还包括完成发送判断模块,用于第三发送模块27向上位机发送第二接收模块25接收的操作结果时,判断发送完成标志是否置位;

相应地,上述第四设置模块28,具体用于完成发送判断模块判断发送完成标志置位时,设置蓝牙模块的状态为低功耗待机模式;

完成发送判断模块,还用于当判断发送完成标志没有置位时,继续判断发送完成标志是否置位。

进一步地,上述蓝牙模块在包括上述完成发送判断模块的基础上,还包括超时判断模块,用于完成发送判断模块判断发送完成标志没有置位时,判断从第二接收模块25接收到来自安全模块的操作结果到当前时间是否超过第六预设时间;

相应地,上述第四设置模块28,还用于超时判断模块判断从第二接收模块25接收到来自安全模块的操作结果到当前时间超过第六预设时间时,设置蓝牙模块的状态为低功耗待机模式;

完成发送判断模块,具体用于超时判断模块判断从第二接收模块25接收到来自安全模块的操作结果到当前时间没有超过第六预设时间时,判断发送完成标志是否置位。

可选地,上述蓝牙安全设备中的安全模块,在包括模块第一设置模块11、第一接收模块12、第一判断模块13、执行模块14、第一发送模块15、第二设置模块16和等待模块17的基础上,还包括流程控制判断模块和流程控制设置模块;

流程控制判断模块,用于第一判断模块13判断第一接收模块12在第五预设时间之内接收到来自蓝牙模块的数据时,根据第一接收模块12接收的数据判断是否设置流程控制;

流程控制设置模块,用于流程控制判断模块判断需要设置流程控制时,根据第一接收模块12接收的数据使用低功耗定时器设置流程控制定时器。

进一步地,上述安全模块在包括流程控制判断模块和流程控制设置模块的基础上,还包括执行保存模块;

相应地,上述第一设置模块11,还用于安全模块被流程控制设置模块设置的流程控制定时器唤醒时,设置安全模块的状态为工作模式;

执行保存模块,用于安全模块被所述流程控制设置模块设置的流程控制定时器唤醒时,并且第一设置模块11设置安全模块的状态为工作模式之后,执行相应操作得到操作结果,并保存操作结果;

第二设置模块16,还用于执行保存模块保存操作结果之后,设置安全模块状态为低功耗待机模式。

可选地,上述蓝牙安全设备还包括按键,上述安全模块在包括模块第一设置模块11、第一接收模块12、第一判断模块13、执行模块14、第一发送模块15、第二设置模块16和等待模块17的基础上,还包括执行保存模块;

上述第一设置模块11,还用于安全模块被按键唤醒时,设置安全模块的状态为工作模式。

执行保存模块,用于安全模块被按键唤醒时,并且第一设置模块11设置安全模块的状态为工作模式之后,执行相应操作得到操作结果,并保存操作结果;

上述第二设置模块16,还用于执行保存模块保存操作结果之后,设置安全模块状态为低功耗待机模式。

本实施例上述蓝牙安全设备中,安全模块中的第一判断模块13可以具体包括第一判断子模块、第一等待子模块和第一超时判断子模块;

第一判断子模块,用于第一设置模块11设置安全模块的状态为工作模式之后,判断第一接收模块12是否接收到来自蓝牙模块的数据;

执行模块14,具体用于第一判断子模块判断第一接收模块12接收到来自蓝牙模块的数据时,根据第一接收模块12接收的数据执行相应操作,得到操作结果;

第一超时判断子模块,用于第一判断子模块判断第一接收模块12没有接收到来自所述蓝牙模块的数据时,判断从第一设置模块11设置安全模块状态为工作模式到当前时间是否超过第五预设时间;

相应地,上述第二设置模块16,具体用于第一超时判断子模块判断从第一设置模块11设置安全模块状态为工作模式到当前时间超过第五预设时间时,设置安全模块的状态为低功耗待机模式;

第一判断子模块,还用于第一超时判断模块判断从第一设置模块11设置安全模块状态为工作模式到当前时间没有超过第五预设时间时,等待第五子预设时间,判断第一接收模块12是否接收到数据。

本实施例中,上述第一设置模块11,具体用于当安全模块被唤醒时,将安全模块的时钟设置为高速时钟模式,开启安全模块中的无关模块。进一步地,上述蓝牙包括外围设备时,第一设置模块11,还可以具体用于当安全模块被唤醒时,开启与安全模块连接的外围设备。

本实施例中,蓝牙安全设备还包括外围设备;

上述第二设置模块16,具体用于将安全模块的时钟设置为低速时钟模式,关闭安全模块中的无关模块以及与安全模块连接的外围设备,将安全模块中的芯片设置为睡眠模式。

本发明与现有技术相比的有益效果是:蓝牙安全设备中,安全模块判断没有接收到数据时以及将操作结果返回蓝牙模块之后都立即将自身状态设置为低功耗待机模式,与现有技术中蓝牙安全设备的省电方式相比,省电效果好,进一步提高蓝牙安全设备的待机时长。

安全模块处理相应操作之后随时进入低功耗待机模式,同时蓝牙模块将来自安全模块的操作结果返回上位机之后也立即进入低功耗待机模式,与现有技术蓝牙安全设备在预设时间之后才进入低功耗待机模式相比,可以进一步提高蓝牙安全设备的待机时长。

另外本发明中,安全模块和蓝牙模块处于低功耗待机模式时,将各自时钟切换为低速时钟模式,同时关闭外围设备,与现有技术只关闭外围设备的低功耗待机模式相比功耗更低,省电效果更好。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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