本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)的方法及藍(lán)牙安全設(shè)備。
背景技術(shù):
隨著移動(dòng)支付技術(shù)的快速發(fā)展,在移動(dòng)支付的技術(shù)含量以及設(shè)備便攜性方面的要求越來(lái)越高。現(xiàn)有技術(shù)中,為提高便攜性,移動(dòng)支付設(shè)備的體積越做越小,但是體積小隨之帶來(lái)的是電池容量不夠的問(wèn)題;現(xiàn)有技術(shù)中,為提高電池的待機(jī)時(shí)長(zhǎng),藍(lán)牙安全設(shè)備設(shè)置了低功耗待機(jī)模式(功耗約為2mA)和工作模式(功耗約為10mA),現(xiàn)有技術(shù)中實(shí)現(xiàn)低功耗待機(jī)模式的技術(shù)方案是:藍(lán)牙安全設(shè)備被上位機(jī)喚醒,當(dāng)接收到上位機(jī)的數(shù)據(jù)時(shí),根據(jù)接收的數(shù)據(jù)進(jìn)行處理得到處理結(jié)果,將處理結(jié)果返回上位機(jī)之后仍然處于工作模式,在被上位機(jī)喚醒的預(yù)設(shè)時(shí)間之后關(guān)閉外圍設(shè)備,進(jìn)入低功耗待機(jī)模式;當(dāng)沒(méi)有接收到上位機(jī)的數(shù)據(jù)時(shí),在被上位機(jī)喚醒的預(yù)設(shè)時(shí)間之后藍(lán)牙安全設(shè)備關(guān)閉外圍設(shè)備,進(jìn)入低功耗待機(jī)模式。即現(xiàn)有技術(shù)中藍(lán)牙安全設(shè)備被上位機(jī)喚醒后,不論藍(lán)牙安全設(shè)備是否接收到數(shù)據(jù),在預(yù)設(shè)時(shí)間內(nèi)都一直處于工作狀態(tài)。
現(xiàn)有技術(shù)中存在的缺陷是:藍(lán)牙安全設(shè)備低功耗待機(jī)模式節(jié)省的電能比較有限,延長(zhǎng)待機(jī)時(shí)間的效果并不理想。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為解決上述現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題提供一種實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)的方法以及一種藍(lán)牙安全設(shè)備。
本發(fā)明提供的一種實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)的方法,包括以下步驟:
步驟S1:安全模塊被藍(lán)牙模塊喚醒,設(shè)置自身狀態(tài)為工作模式;
步驟S2:所述安全模塊判斷在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自所述藍(lán)牙模塊的數(shù)據(jù),是則執(zhí)行步驟S3,否則執(zhí)行步驟S5;
步驟S3:所述安全模塊根據(jù)接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
步驟S4:所述安全模塊將所述操作結(jié)果返回所述藍(lán)牙模塊,執(zhí)行步驟S5;
步驟S5:所述安全模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式,等待被所述藍(lán)牙模塊喚醒。
進(jìn)一步地,上述方法還包括以下步驟:
步驟H1:所述藍(lán)牙模塊等待接收來(lái)自上位機(jī)的數(shù)據(jù);
步驟H2:所述藍(lán)牙模塊接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),設(shè)置自身的狀態(tài)為工作模式,喚醒所述安全模塊;
步驟H3:所述藍(lán)牙模塊在第一預(yù)設(shè)時(shí)間之后,向所述安全模塊發(fā)送來(lái)自所述上位機(jī)的數(shù)據(jù);
步驟H4:所述藍(lán)牙模塊判斷在第二預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自所述安全模塊的所述操作結(jié)果,是則向所述上位機(jī)發(fā)送所述操作結(jié)果,執(zhí)行步驟H5;否則執(zhí)行步驟H5;
步驟H5:所述藍(lán)牙模塊設(shè)置自身的狀態(tài)為低功耗待機(jī)模式,執(zhí)行步驟H1。
本發(fā)明提供的一種藍(lán)牙安全設(shè)備,包括安全模塊和藍(lán)牙模塊,所述安全模塊包括:第一設(shè)置模塊、第一接收模塊、第一判斷模塊、執(zhí)行模塊、第一發(fā)送模塊、第二設(shè)置模塊和等待模塊;
所述第一設(shè)置模塊,用于所述安全模塊被所述藍(lán)牙模塊喚醒時(shí),設(shè)置所述安全模塊的狀態(tài)為工作模式;
所述第一接收模塊,用于接收來(lái)自所述藍(lán)牙模塊的數(shù)據(jù);
所述第一判斷模塊,用于所述第一設(shè)置模塊設(shè)置所述安全模塊的狀態(tài)為工作模式之后,判斷所述第一接收模塊在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自所述藍(lán)牙模塊的數(shù)據(jù);
所述執(zhí)行模塊,用于當(dāng)所述第一判斷模塊判斷所述第一接收模塊接收到來(lái)自所述藍(lán)牙模塊的數(shù)據(jù)時(shí),根據(jù)所述第一接收模塊接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
所述第一發(fā)送模塊,用于將所述執(zhí)行模塊得到的所述操作結(jié)果返回所述藍(lán)牙模塊;
所述第二設(shè)置模塊,用于當(dāng)所述第一判斷模塊判斷所述第一接收模塊在第五預(yù)設(shè)時(shí)間之內(nèi)沒(méi)有接收到來(lái)自所述藍(lán)牙模塊的數(shù)據(jù)時(shí),設(shè)置所述安全模塊的狀態(tài)為低功耗待機(jī)模式;用于當(dāng)所述第一發(fā)送模塊將所述操作結(jié)果返回所述藍(lán)牙模塊之后,設(shè)置所述安全模塊的狀態(tài)為低功耗待機(jī)模式;
所述等待模塊,用于當(dāng)所述第二設(shè)置模塊設(shè)置所述安全模塊的狀態(tài)為低功耗待機(jī)模式之后,等待所述安全模塊被所述藍(lán)牙模塊喚醒。
進(jìn)一步地,上述藍(lán)牙模塊包括:第一等待接收模塊、第三設(shè)置模塊、喚醒執(zhí)行模塊、第二發(fā)送模塊、第二接收模塊、第二判斷模塊、第三發(fā)送模塊和第四設(shè)置模塊;
所述第一等待接收模塊,用于等待接收來(lái)自上位機(jī)的數(shù)據(jù);
所述第三設(shè)置模塊,用于當(dāng)所述第一等待接收模塊接收到來(lái)自所述上位機(jī)的數(shù)據(jù)時(shí),設(shè)置所述藍(lán)牙模塊的狀態(tài)為工作模式;
所述喚醒執(zhí)行模塊,用于當(dāng)所述第三設(shè)置模塊設(shè)置所述藍(lán)牙模塊的狀態(tài)為工作模式之后,喚醒所述安全模塊;
所述第二發(fā)送模塊,用于在所述喚醒執(zhí)行模塊喚醒所述安全模塊的第一預(yù)設(shè)時(shí)間之后,向所述安全模塊發(fā)送所述第一等待接收模塊接收的來(lái)自所述上位機(jī)的數(shù)據(jù);
所述第二接收模塊,用于接收來(lái)自所述安全模塊的所述操作結(jié)果;
所述第二判斷模塊,用于所述第二發(fā)送模塊向所述安全模塊發(fā)送所述第一等待接收模塊接收的來(lái)自所述上位機(jī)的數(shù)據(jù)之后,判斷所述第二接收模塊在第二預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自所述安全模塊的所述操作結(jié)果;
所述第三發(fā)送模塊,用于當(dāng)所述第二判斷模塊判斷所述第二接收模塊在第二預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自所述安全模塊的所述操作結(jié)果之后,向所述上位機(jī)發(fā)送所述第二接收模塊接收的所述操作結(jié)果;
所述第四設(shè)置模塊,用于當(dāng)所述第三發(fā)送模塊向所述上位機(jī)發(fā)送所述第二接收模塊接收的所述操作結(jié)果之后,設(shè)置所述藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;用于當(dāng)所述第二判斷模塊判斷所述第二接收模塊在第二預(yù)設(shè)時(shí)間之內(nèi)沒(méi)有接收到來(lái)自所述安全模塊的所述操作結(jié)果之后,設(shè)置所述藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
所述第一等待接收模塊,還用于所述第四設(shè)置模塊設(shè)置所述藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式之后,等待接收來(lái)自上位機(jī)的數(shù)據(jù)。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:藍(lán)牙安全設(shè)備中,安全模塊判斷沒(méi)有接收到數(shù)據(jù)時(shí)以及將操作結(jié)果返回藍(lán)牙模塊之后都立即將自身狀態(tài)設(shè)置為低功耗待機(jī)模式,與現(xiàn)有技術(shù)中藍(lán)牙安全設(shè)備被上位機(jī)喚醒后一直處于工作狀態(tài)的方案相比,省電效果好,因此本發(fā)明的方案可以進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
附圖說(shuō)明
圖1所示為本發(fā)明實(shí)施例1中實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)方法的安全模塊的操作方法流程圖;
圖2所示為本發(fā)明實(shí)施例1中實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)方法的藍(lán)牙模塊的操作方法流程圖;
圖3所示為本發(fā)明實(shí)施例2中實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)方法的安全模塊的操作方法流程圖;
圖4所示為本發(fā)明實(shí)施例2中實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)方法的藍(lán)牙模塊的操作方法流程圖;
圖5所示為本發(fā)明實(shí)施例3中藍(lán)牙安全設(shè)備的模塊組成框圖;
圖6所示為本發(fā)明實(shí)施例3中藍(lán)牙安全設(shè)備的模塊組成框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
本發(fā)明提供一種實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)的方法,適用于包括安全模塊和藍(lán)牙模塊的藍(lán)牙安全設(shè)備,方法具體包括安全模塊的操作方法和藍(lán)牙模塊的操作方法。
如圖1所示,安全模塊的操作方法包括以下步驟:
步驟S1:安全模塊被藍(lán)牙模塊喚醒,設(shè)置自身狀態(tài)為工作模式;
步驟S2:安全模塊判斷在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù),是則執(zhí)行步驟S3,否則執(zhí)行步驟S5;
步驟S3:安全模塊根據(jù)接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
步驟S4:安全模塊將操作結(jié)果返回藍(lán)牙模塊,執(zhí)行步驟S5;
步驟S5:安全模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式,等待被藍(lán)牙模塊喚醒。
藍(lán)牙模塊的操作方法,如圖2所示,包括以下步驟:
步驟H1:藍(lán)牙模塊等待接收來(lái)自上位機(jī)的數(shù)據(jù);
步驟H2:藍(lán)牙模塊接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),設(shè)置自身的狀態(tài)為工作模式,喚醒安全模塊;
具體地,藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式,具體為:藍(lán)牙模塊開(kāi)啟自身的無(wú)關(guān)模塊。進(jìn)一步地,藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式時(shí),還包括:藍(lán)牙模塊將自身的時(shí)鐘設(shè)置為高速時(shí)鐘模式。更進(jìn)一步地,藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式時(shí),還包括:藍(lán)牙模塊開(kāi)啟與自身連接的外圍設(shè)備。
具體地,藍(lán)牙模塊喚醒安全模塊,具體為:藍(lán)牙模塊拉低與安全模塊連接的第一控制管腳的電平。
步驟H3:藍(lán)牙模塊在第一預(yù)設(shè)時(shí)間之后,向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù);
步驟H4:藍(lán)牙模塊判斷在第二預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自安全模塊的操作結(jié)果,是則向上位機(jī)發(fā)送操作結(jié)果,執(zhí)行步驟H5;否則執(zhí)行步驟H5;
步驟H5:藍(lán)牙模塊設(shè)置自身的狀態(tài)為低功耗待機(jī)模式,執(zhí)行步驟H1;
進(jìn)一步地,上述藍(lán)牙模塊向上位機(jī)發(fā)送操作結(jié)果之后、執(zhí)行步驟H5之前,還包括:
步驟A1:藍(lán)牙模塊判斷是否斷開(kāi)藍(lán)牙連接,是則組織斷開(kāi)指令,喚醒安全模塊,執(zhí)行步驟A2;否則執(zhí)行步驟H5;
具體地,藍(lán)牙模塊喚醒安全模塊,具體為:藍(lán)牙模塊拉低與安全模塊連接的第一控制管腳的電平。
步驟A2:藍(lán)牙模塊在第三預(yù)設(shè)時(shí)間之后向安全模塊發(fā)送斷開(kāi)指令;
步驟A3:藍(lán)牙模塊在第四預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),設(shè)置自身狀態(tài)為深度省電模式。
相應(yīng)地,上述步驟S2之后、步驟S3之前,還包括:安全模塊判斷接收的數(shù)據(jù)是否為所述斷開(kāi)指令,是則執(zhí)行步驟S6,否則執(zhí)行步驟S3;
步驟S6:安全模塊組織斷開(kāi)指令的應(yīng)答,將斷開(kāi)指令的應(yīng)答返回藍(lán)牙模塊。
具體地,上述步驟A3中,藍(lán)牙模塊設(shè)置自身狀態(tài)為深度省電模式,具體為:藍(lán)牙模塊設(shè)置自身狀態(tài)為深度睡眠模式;
相應(yīng)地,上述步驟S6之后,還包括:安全模塊設(shè)置自身狀態(tài)為深度睡眠模式;
或者,上述步驟A3中,藍(lán)牙模塊設(shè)置自身狀態(tài)為深度省電模式,具體為:藍(lán)牙模塊執(zhí)行關(guān)機(jī)操作。
進(jìn)一步具體地,上述藍(lán)牙模塊設(shè)置自身狀態(tài)為深度睡眠模式,具體為:藍(lán)牙模塊關(guān)閉與自身連接的外圍設(shè)備、關(guān)閉自身的無(wú)關(guān)模塊、保持自身的喚醒模塊有電,并將自身的芯片主核下電;
相應(yīng)地,上述安全模塊設(shè)置自身狀態(tài)為深度睡眠模式,具體為:安全模塊關(guān)閉與自身連接的外圍設(shè)備和自身的無(wú)關(guān)模塊、保持自身喚醒模塊有電,并將自身的芯片主核下電。
可選地,上述步驟A3具體包括:
步驟A31:藍(lán)牙模塊等待第四子預(yù)設(shè)時(shí)間,判斷是否接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答,是則設(shè)置自身狀態(tài)為深度省電模式;否則執(zhí)行步驟A32;
步驟A32:藍(lán)牙模塊判斷從第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間是否超過(guò)第四預(yù)設(shè)時(shí)間;
步驟A33:藍(lán)牙模塊判斷從第一次向所述安全模塊發(fā)送所述斷開(kāi)指令到當(dāng)前時(shí)間沒(méi)有超過(guò)所述第四預(yù)設(shè)時(shí)間時(shí),重新向安全模塊發(fā)送斷開(kāi)指令,執(zhí)行步驟A31。
進(jìn)一步地,上述方法還包括:上述藍(lán)牙模塊判斷從第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間超過(guò)第四預(yù)設(shè)時(shí)間時(shí),執(zhí)行步驟H5或者設(shè)置自身狀態(tài)為深度省電模式。
可選地,上述步驟H4具體包括:
步驟H41:藍(lán)牙模塊等待第二子預(yù)設(shè)時(shí)間,判斷是否接收到來(lái)自安全模塊的操作結(jié)果,是則向上位機(jī)發(fā)送操作結(jié)果,執(zhí)行步驟H5;否則執(zhí)行步驟H42;
步驟H42:藍(lán)牙模塊判斷從第一次向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù)到當(dāng)前時(shí)間是否超過(guò)第二預(yù)設(shè)時(shí)間,是則執(zhí)行步驟H5,否則執(zhí)行步驟H43;
步驟H43:藍(lán)牙模塊重新向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù),執(zhí)行步驟H41。
可選地,上述步驟H4中,藍(lán)牙模塊向上位機(jī)發(fā)送操作結(jié)果時(shí),還包括:
步驟L:藍(lán)牙模塊判斷發(fā)送完成標(biāo)志是否置位,是則完成發(fā)送,執(zhí)行步驟H5;否則繼續(xù)判斷。
進(jìn)一步地,上述步驟L中,藍(lán)牙模塊判斷發(fā)送完成標(biāo)志沒(méi)有置位時(shí),執(zhí)行在繼續(xù)判斷之前,還包括:
藍(lán)牙模塊判斷從接收到來(lái)自安全模塊的操作結(jié)果到當(dāng)前時(shí)間是否超過(guò)第六預(yù)設(shè)時(shí)間,是則執(zhí)行步驟H5;否則繼續(xù)判斷。
在本實(shí)施例的上述方法中,上述步驟S2中,安全模塊判斷在第五預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù)時(shí),步驟S4之前,還包括:
安全模塊根據(jù)接收的數(shù)據(jù)判斷是否設(shè)置流程控制,當(dāng)判斷結(jié)果為設(shè)置流程控制時(shí),安全模塊根據(jù)接收的數(shù)據(jù)使用低功耗定時(shí)器設(shè)置流程控制定時(shí)器。
本實(shí)施例上述方法中,還包括:安全模塊被上述流程控制器喚醒時(shí),設(shè)置自身狀態(tài)為工作模式,執(zhí)行相應(yīng)操作,得到操作結(jié)果,并保存操作結(jié)果,設(shè)置自身狀態(tài)為低功耗待機(jī)模式。
在本實(shí)施例的上述方法中,還包括:安全模塊被按鍵喚醒時(shí),設(shè)置自身狀態(tài)為工作模式,執(zhí)行相應(yīng)操作,得到操作結(jié)果,并保存操作結(jié)果,設(shè)置自身狀態(tài)為低功耗待機(jī)模式。
本實(shí)施例的上述方法中,步驟S2具體包括:
步驟S21:安全模塊判斷是否接收到數(shù)據(jù),是則執(zhí)行步驟S3,否則執(zhí)行步驟S22;
步驟S22:安全模塊判斷從設(shè)置自身狀態(tài)為工作模式到當(dāng)前時(shí)間是否超過(guò)第五預(yù)設(shè)時(shí)間,是則執(zhí)行步驟S5;否則執(zhí)行步驟S21。
本實(shí)施例上述方法中,安全模塊設(shè)置自身狀態(tài)為工作模式,具體為:安全模塊將自身的時(shí)鐘設(shè)置為高速時(shí)鐘模式,開(kāi)啟自身的無(wú)關(guān)模塊。
進(jìn)一步地,上述安全模塊設(shè)置自身狀態(tài)為工作模式時(shí),還可以包括:安全模塊開(kāi)啟與自身連接的外圍設(shè)備。例如,藍(lán)牙安全設(shè)備中與安全模塊連接的外圍設(shè)備為顯示模塊。
本發(fā)明中,安全模塊中的無(wú)關(guān)模塊包括通信模塊、算法模塊和存儲(chǔ)模塊,例如,通信模塊可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)模塊/SPI(Serial Peripheral Interface,串行外設(shè)接口)模塊/I2C(Inter-Integrated Circuit,內(nèi)部集成電路)/USB(Universal Serial Bus,通用串行總線)模塊中的一個(gè)或多個(gè),存儲(chǔ)模塊可以具體為flash存儲(chǔ)模塊。
需要說(shuō)明的是,本發(fā)明中安全模塊可以具體為一個(gè)安全芯片以及與安全芯片連接的外圍電路,無(wú)關(guān)模塊(通信模塊、存儲(chǔ)模塊、算法模塊)集成在安全芯片中;安全模塊也可以包括安全芯片、無(wú)關(guān)模塊以及與安全芯片連接的外圍電路,其中無(wú)關(guān)模塊可以集成在安全芯片中,也可以是與安全芯片連接的獨(dú)立結(jié)構(gòu),例如,無(wú)關(guān)模塊中的通信模塊集成在安全芯片中,無(wú)關(guān)模塊中的算法模塊為與安全芯片連接的獨(dú)立結(jié)構(gòu)。本發(fā)明不對(duì)與安全芯片連接的外圍電路進(jìn)行具體限定。
本實(shí)施例上述方法中,安全模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式,具體為:安全模塊將自身的時(shí)鐘設(shè)置為低速時(shí)鐘模式,關(guān)閉自身的無(wú)關(guān)模塊以及與安全模塊連接的外圍設(shè)備,將自身的芯片設(shè)置為睡眠模式。
本實(shí)施例中,上述藍(lán)牙模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式,具體為:藍(lán)牙模塊關(guān)閉自身的無(wú)關(guān)模塊。
進(jìn)一步具體地,上述藍(lán)牙模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式時(shí),還包括:藍(lán)牙模塊將自身的時(shí)鐘設(shè)置為低速時(shí)鐘模式,并將自身的芯片設(shè)置為睡眠模式。
本發(fā)明中,藍(lán)牙模塊中的無(wú)關(guān)模塊包括通信模塊,例如,通信模塊可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)模塊/SPI(Serial Peripheral Interface,串行外設(shè)接口)模塊/I2C(Inter-Integrated Circuit,內(nèi)部集成電路)模塊中的一個(gè)或多個(gè)。
需要說(shuō)明的是,本實(shí)發(fā)明中藍(lán)牙模塊可以具體為一個(gè)藍(lán)牙芯片以及與藍(lán)牙芯片連接的外圍電路,無(wú)關(guān)模塊(通信模塊)集成在藍(lán)牙芯片中;藍(lán)牙模塊也可以包括藍(lán)牙芯片、無(wú)關(guān)模塊以及與藍(lán)牙芯片連接的外圍電路,其中無(wú)關(guān)模塊可以集成在藍(lán)牙芯片中,也可以是與藍(lán)牙芯片連接的獨(dú)立結(jié)構(gòu),例如,無(wú)關(guān)模塊中的通信模塊集成在藍(lán)牙芯片中,無(wú)關(guān)模塊也可以為與藍(lán)牙芯片連接獨(dú)立結(jié)構(gòu)。本發(fā)明中不對(duì)與藍(lán)牙芯片連接的外圍電路進(jìn)行具體限定。
本發(fā)明中,上述藍(lán)牙模塊的芯片和藍(lán)牙芯片屬于同一個(gè)概念,上述安全模塊的芯片和安全芯片屬于同一個(gè)概念。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:藍(lán)牙安全設(shè)備中,安全模塊判斷沒(méi)有接收到數(shù)據(jù)時(shí)以及將操作結(jié)果返回藍(lán)牙模塊之后都立即將自身狀態(tài)設(shè)置為低功耗待機(jī)模式,與現(xiàn)有技術(shù)中藍(lán)牙安全設(shè)備的省電方式相比,省電效果好,進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
安全模塊處理相應(yīng)操作之后隨時(shí)進(jìn)入低功耗待機(jī)模式,同時(shí)藍(lán)牙模塊將來(lái)自安全模塊的操作結(jié)果返回上位機(jī)之后也立即進(jìn)入低功耗待機(jī)模式,與現(xiàn)有技術(shù)藍(lán)牙安全設(shè)備在預(yù)設(shè)時(shí)間之后才進(jìn)入低功耗待機(jī)模式相比,可以進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
另外本發(fā)明中,安全模塊和藍(lán)牙模塊處于低功耗待機(jī)模式時(shí),將各自時(shí)鐘切換為低速時(shí)鐘模式,同時(shí)關(guān)閉與自身連接的外圍設(shè)備,與現(xiàn)有技術(shù)只關(guān)閉外圍設(shè)備的低功耗待機(jī)模式相比功耗更低,省電效果更好。
實(shí)施例2
本發(fā)明提供一種實(shí)現(xiàn)藍(lán)牙安全設(shè)備低功耗待機(jī)的方法,藍(lán)牙安全設(shè)備包括藍(lán)牙模塊和安全模塊。
如圖3所示,安全模塊的操作方法具體包括:
步驟101:安全模塊等待被喚醒,當(dāng)安全模塊被藍(lán)牙模塊喚醒時(shí),執(zhí)行步驟102;當(dāng)安全模塊被按鍵喚醒時(shí),執(zhí)行步驟108;當(dāng)安全模塊被流程控制定時(shí)器喚醒時(shí),執(zhí)行步驟109。
本實(shí)施例中,步驟101中安全模塊等待被喚醒時(shí),處于低功耗待機(jī)模式。
步驟102:安全模塊設(shè)置自身狀態(tài)為工作模式,判斷在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù),是則執(zhí)行步驟103,否則執(zhí)行步驟107。
具體地,安全模塊判斷在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到數(shù)據(jù),具體包括:
步驟1021:安全模塊判斷是否接收到數(shù)據(jù),是則執(zhí)行步驟103,否則執(zhí)行步驟1022;
步驟1022:安全模塊判斷從設(shè)置自身狀態(tài)為工作模式到當(dāng)前時(shí)間是否超過(guò)第五預(yù)設(shè)時(shí)間,是則設(shè)置自身狀態(tài)為低功耗待機(jī)模式,等待被藍(lán)牙模塊喚醒;否則執(zhí)行步驟1021。例如,第五預(yù)設(shè)時(shí)間為30毫秒。
優(yōu)選的,步驟1022中,安全模塊判斷從設(shè)置自身狀態(tài)為工作模式到當(dāng)前時(shí)間沒(méi)有超過(guò)第五預(yù)設(shè)時(shí)間時(shí),執(zhí)行步驟1021之前,還包括:安全模塊等待第五子預(yù)設(shè)時(shí)間。例如,第五子預(yù)設(shè)時(shí)間為10毫秒。
具體地,上述安全模塊判斷是否接收到數(shù)據(jù),具體為:安全模塊判斷狀態(tài)寄存器的標(biāo)志位是否為預(yù)設(shè)的收數(shù)標(biāo)志,是則接收到數(shù)據(jù),否則沒(méi)有接收到數(shù)據(jù)。本實(shí)施例中,安全模塊接收到數(shù)據(jù)時(shí),會(huì)自動(dòng)將狀態(tài)寄存器的標(biāo)志位設(shè)置為預(yù)設(shè)的收數(shù)標(biāo)志,例如,預(yù)設(shè)的收數(shù)標(biāo)志為1。
步驟103:安全模塊根據(jù)接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
具體地,步驟103具體為:
當(dāng)接收到取隨機(jī)數(shù)指令時(shí),生成隨機(jī)數(shù),得到的操作結(jié)果為生成的隨機(jī)數(shù);例如,生成的隨機(jī)數(shù)為00011001;
當(dāng)接收到修改PIN碼指令時(shí),執(zhí)行修改PIN碼操作,并組織修改PIN碼指令的狀態(tài)碼,得到的操作結(jié)果為修改PIN碼指令的狀態(tài)碼;
當(dāng)接收到簽名指令時(shí),顯示簽名指令中關(guān)鍵數(shù)據(jù)信息并組織簽名指令的狀態(tài)碼,得到的操作結(jié)果為簽名指令的狀態(tài)碼;
當(dāng)接收到取簽名結(jié)果指令時(shí),獲取保存的簽名結(jié)果,得到的操作結(jié)果為獲取的簽名結(jié)果;
當(dāng)接收到取按鍵狀態(tài)指令時(shí),獲取保存的按鍵狀態(tài),得到的操作結(jié)果為獲取的按鍵狀態(tài)。
步驟104:安全模塊根據(jù)接收的數(shù)據(jù)判斷是否需要設(shè)置流程控制,是則執(zhí)行步驟105,否則執(zhí)行步驟106;
具體地,安全模塊根據(jù)接收的數(shù)據(jù)判斷是否需要設(shè)置流程控制,具體為:安全模塊根據(jù)接收的數(shù)據(jù)調(diào)用相應(yīng)的應(yīng)用接口,根據(jù)調(diào)用的應(yīng)用接口判斷是否需要設(shè)置流程控制。
例如,當(dāng)接收的數(shù)據(jù)為取隨機(jī)數(shù)指令、取簽名結(jié)果指令、取按鍵狀態(tài)指令中的一種時(shí),調(diào)用相應(yīng)的應(yīng)用接口,根據(jù)相應(yīng)的應(yīng)用接口判斷結(jié)果為不需要設(shè)置流程控制,執(zhí)行步驟106;當(dāng)接收的數(shù)據(jù)為修改PIN碼指令或簽名指令時(shí),調(diào)用相應(yīng)的應(yīng)用接口,根據(jù)相應(yīng)的應(yīng)用接口判斷結(jié)果為需要設(shè)置流程控制,執(zhí)行步驟105。
步驟105:安全模塊根據(jù)接收的數(shù)據(jù)使用低功耗定時(shí)器設(shè)置流程控制定時(shí)器。
具體地,安全模塊根據(jù)接收的數(shù)據(jù)使用低功耗定時(shí)器設(shè)置在預(yù)設(shè)時(shí)間之后流程定時(shí)器到達(dá)。
例如,當(dāng)安全模塊接收的數(shù)據(jù)為修改PIN碼指令時(shí),執(zhí)行完修改PIN碼的指令之后,使用低功耗定時(shí)器設(shè)置在5秒之后流程定時(shí)器到達(dá);當(dāng)安全模塊接收的數(shù)據(jù)為簽名指令時(shí),執(zhí)行完簽名指令之后,使用低功耗定時(shí)器設(shè)置在5秒之后流程定時(shí)器到達(dá)
步驟106:安全模塊將操作結(jié)果返回藍(lán)牙模塊。
具體地,當(dāng)安全模塊接收的數(shù)據(jù)為取隨機(jī)數(shù)指令時(shí),將隨機(jī)數(shù)返回藍(lán)牙模塊;當(dāng)安全模塊接收的數(shù)據(jù)為修改PIN碼指令時(shí),將修改PIN碼的狀態(tài)碼返回藍(lán)牙模塊;當(dāng)安全模塊接收的數(shù)據(jù)為簽名指令時(shí),將簽名指令的狀態(tài)碼返回藍(lán)牙模塊;當(dāng)接收到取簽名結(jié)果指令時(shí),將保存的簽名結(jié)果返回藍(lán)牙模塊;當(dāng)接收到取按鍵狀態(tài)指令時(shí),將保存的按鍵狀態(tài)返回藍(lán)牙模塊。
步驟107:安全模塊設(shè)置自身的狀態(tài)為低功耗待機(jī)模式,等待被喚醒。
在本實(shí)施例中,步驟102中當(dāng)安全模塊判斷沒(méi)有接收到數(shù)據(jù)時(shí)以及步驟106中安全模塊將操作結(jié)果返回藍(lán)牙模塊之后,安全模塊都直接進(jìn)入低功耗待機(jī)模式;當(dāng)步驟102中安全模塊接收到數(shù)據(jù)時(shí),經(jīng)過(guò)步驟103-步驟105的處理后,在步驟106中,安全模塊將操作結(jié)果返回藍(lán)牙模塊后立即進(jìn)入低功耗待機(jī)模式。即本發(fā)明中安全模塊判斷沒(méi)有接收到數(shù)據(jù),或者處理完數(shù)據(jù)并將操作結(jié)果返回藍(lán)牙模塊之后,都立即進(jìn)入低功耗待機(jī)模式,與現(xiàn)有技術(shù)相比,省電效果好,從而進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
步驟108:安全模塊設(shè)置自身狀態(tài)為工作模式,執(zhí)行相應(yīng)操作,并保存操作結(jié)果,設(shè)置自身狀態(tài)為低功耗待機(jī)模式。
具體地,步驟108中,安全模塊執(zhí)行相應(yīng)操作,保存操作結(jié)果,具體為:安全模塊根據(jù)按鍵執(zhí)行相應(yīng)操作,并對(duì)操作結(jié)果進(jìn)行保存。步驟108之后,安全模塊被藍(lán)牙模塊喚醒,并接收到來(lái)自藍(lán)牙模塊的取按鍵狀態(tài)指令時(shí),將操作結(jié)果返回藍(lán)牙模塊。
步驟109:安全模塊設(shè)置自身狀態(tài)為工作模式,執(zhí)行相應(yīng)操作,保存操作結(jié)果,將自身狀態(tài)設(shè)置為低功耗待機(jī)模式。
具體地,步驟109中,安全模塊執(zhí)行相應(yīng)操作,保存操作結(jié)果,具體為:安全模塊設(shè)置超時(shí)標(biāo)志,并對(duì)超時(shí)標(biāo)志進(jìn)行保存。
具體地,步驟109具體為:安全模塊設(shè)置自身狀態(tài)為工作模式,設(shè)置超時(shí)標(biāo)志,并對(duì)超時(shí)標(biāo)志進(jìn)行保存,將自身狀態(tài)設(shè)置為低功耗待機(jī)模式。步驟109之后,安全模塊被藍(lán)牙模塊喚醒,并接收到來(lái)自藍(lán)牙模塊的取按鍵狀態(tài)指令時(shí),將超時(shí)標(biāo)志返回藍(lán)牙模塊。
以步驟102中安全模塊接收的數(shù)據(jù)為簽名指令為例對(duì)安全模塊的工作方法進(jìn)行說(shuō)明,步驟102中安全模塊接收到簽名指令時(shí),執(zhí)行步驟103(步驟103具體為:顯示簽名指令中關(guān)鍵數(shù)據(jù)信息并組織簽名指令的狀態(tài)碼,得到的操作結(jié)果為簽名指令的狀態(tài)碼),步驟104中判斷結(jié)果為需要設(shè)置流程控制,執(zhí)行步驟105-步驟107之后,安全模塊處于低功耗待機(jī)模式,等待接收用戶(hù)的確認(rèn)簽名通知消息,執(zhí)行步驟107之后,包括以下幾種情況:當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)被按鍵喚醒,并接收到確認(rèn)簽名通知消息時(shí),執(zhí)行步驟108(步驟108具體為:安全模塊設(shè)置自身狀態(tài)為工作模式,執(zhí)行簽名操作,并保存簽名結(jié)果,設(shè)置自身狀態(tài)為低功耗待機(jī)模式);當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)被按鍵喚醒,并接收到取消簽名通知消息時(shí),執(zhí)行步驟108(步驟108具體為:安全模塊設(shè)置自身狀態(tài)為工作模式,組織取消簽名的應(yīng)答,并保存取消簽名的應(yīng)答,設(shè)置自身狀態(tài)為低功耗待機(jī)模式);當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)沒(méi)有被按鍵喚醒,在流程控制定時(shí)器到達(dá)時(shí),安全模塊被流程控制定時(shí)器喚醒,執(zhí)行步驟109。
具體地,當(dāng)用戶(hù)按下“確認(rèn)”按鍵后,安全模塊接被按鍵喚醒,并接收到確認(rèn)簽名通知消息;當(dāng)用戶(hù)按下“取消”按鍵后,安全模塊被按鍵喚醒,并接收到取消簽名通知消息;當(dāng)用戶(hù)在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)沒(méi)有按下“確認(rèn)”或“取消”按鍵時(shí),在流程控制定時(shí)器到達(dá)時(shí),安全模塊被流程控制定時(shí)器喚醒,執(zhí)行步驟109。
以步驟102中安全模塊接收的數(shù)據(jù)為修改PIN碼指令為例對(duì)安全模塊的工作方法進(jìn)行說(shuō)明,步驟102中安全模塊接收的數(shù)據(jù)為修改PIN碼指令時(shí),安全模塊執(zhí)行步驟103(步驟103具體為:執(zhí)行修改PIN碼操作,并組織修改PIN碼指令的狀態(tài)碼,得到的操作結(jié)果為修改PIN碼指令的狀態(tài)碼),步驟104中判斷結(jié)果為需要設(shè)置流程控制,執(zhí)行步驟105--步驟107之后,安全模塊處于低功耗待機(jī)模式,等待接收用戶(hù)的確認(rèn)修改PIN碼通知消息,步驟107之后包括以下幾種情況:當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)被按鍵喚醒,并接收到確認(rèn)修改PIN碼通知消息時(shí),執(zhí)行步驟108(步驟108具體為:安全模塊設(shè)置自身狀態(tài)為工作模式,執(zhí)行修改PIN碼操作,并組織修改PIN碼成功的狀態(tài)碼,保存修改PIN碼的狀態(tài)碼之后,設(shè)置自身狀態(tài)為低功耗待機(jī)模式);當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)被按鍵喚醒,并接收到取消修改PIN碼的狀態(tài)碼通知消息時(shí),執(zhí)行步驟108(步驟108具體為:安全模塊設(shè)置自身狀態(tài)為工作模式,組織修改PIN碼失敗的狀態(tài)碼,保存修改PIN碼的失敗狀態(tài)碼之后,安全模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式);當(dāng)安全模塊在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)沒(méi)有被按鍵喚醒,在流程控制定時(shí)器到達(dá)時(shí),安全模塊被流程控制定時(shí)器喚醒,執(zhí)行步驟109。
具體地,當(dāng)用戶(hù)按下“確認(rèn)”按鍵后,安全模塊被按鍵喚醒,并接收到用戶(hù)的確認(rèn)修改PIN碼的通知消息;當(dāng)用戶(hù)按下“取消”按鍵后,安全模塊被按鍵喚醒,并接收到取消修改PIN碼的通知消息;當(dāng)用戶(hù)在流程控制定時(shí)器設(shè)定的預(yù)設(shè)時(shí)間以?xún)?nèi)沒(méi)有按下“確認(rèn)”或“取消”按鍵時(shí),在流程控制定時(shí)器到達(dá)時(shí),安全模塊被流程控制定時(shí)器喚醒,執(zhí)行步驟109。
如圖4所示,藍(lán)牙模塊的操作方法具體包括:
步驟201:藍(lán)牙模塊等待接收來(lái)自上位機(jī)的數(shù)據(jù);
具體地,藍(lán)牙模塊等待接收來(lái)自上位機(jī)的數(shù)據(jù)時(shí),處于低功耗待機(jī)模式。藍(lán)牙模塊處于低功耗待機(jī)模式時(shí),時(shí)鐘為低速時(shí)鐘模式。例如,藍(lán)牙模塊處于低功耗待機(jī)模式時(shí)的時(shí)鐘頻率為0.07MHz。
本實(shí)施例中,上位機(jī)為支持藍(lán)牙功能的終端。例如,移動(dòng)終端或電腦終端。
步驟202:藍(lán)牙模塊接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),設(shè)置自身的狀態(tài)為工作模式,喚醒安全模塊;
具體地,藍(lán)牙模塊接收到上位機(jī)的數(shù)據(jù)為取隨機(jī)數(shù)指令、簽名指令、取簽名結(jié)果指令、取按鍵狀態(tài)指令、修改PIN碼指令中的一種。
例如,取隨機(jī)數(shù)指令為0x0084000008。
步驟203:藍(lán)牙模塊在第一預(yù)設(shè)時(shí)間之后向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù);
例如,第一預(yù)設(shè)時(shí)間為10毫秒。
步驟204:藍(lán)牙模塊判斷在第二預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自安全模塊的操作結(jié)果,是則執(zhí)行步驟205,否則執(zhí)行步驟210;
具體地,步驟204具體包括:
步驟2041:藍(lán)牙模塊等待第二子預(yù)設(shè)時(shí)間,判斷是否接收到來(lái)自安全模塊的操作結(jié)果,是則向上位機(jī)發(fā)送操作結(jié)果,執(zhí)行步驟205;否則執(zhí)行步驟2042。例如,第二子預(yù)設(shè)時(shí)間為10毫秒。
步驟2042:藍(lán)牙模塊判斷從第一次向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù)到當(dāng)前時(shí)間是否超過(guò)第二預(yù)設(shè)時(shí)間,是則執(zhí)行步驟210,否則執(zhí)行步驟2043。例如,第二預(yù)設(shè)時(shí)間為30毫秒。
步驟2043:藍(lán)牙模塊重新向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù),執(zhí)行步驟2041。
步驟205:藍(lán)牙模塊向上位機(jī)發(fā)送操作結(jié)果。
可選地,步驟205中藍(lán)牙模塊向上位機(jī)發(fā)送操作結(jié)果時(shí),還包括:
步驟L:藍(lán)牙模塊判斷發(fā)送完成標(biāo)志是否置位,是則完成發(fā)送,執(zhí)行步驟206;否則繼續(xù)判斷。
可選地,上述步驟L中,藍(lán)牙模塊判斷發(fā)送完成標(biāo)志沒(méi)有置位時(shí),繼續(xù)判斷之前,還包括:藍(lán)牙模塊判斷從接收到來(lái)自安全模塊的操作結(jié)果到當(dāng)前時(shí)間是否超過(guò)第六預(yù)設(shè)時(shí)間,是則執(zhí)行步驟210;否則繼續(xù)判斷。
步驟206:藍(lán)牙模塊判斷是否斷開(kāi)藍(lán)牙連接,是則執(zhí)行步驟207,否則執(zhí)行步驟210;
具體地,藍(lán)牙模塊判斷是否斷開(kāi)藍(lán)牙連接,具體為:藍(lán)牙模塊中的藍(lán)牙芯片判斷是否監(jiān)聽(tīng)到藍(lán)牙斷開(kāi)事件,是則判定斷開(kāi)藍(lán)牙連接,否則判定沒(méi)有斷開(kāi)藍(lán)牙連接。
更具體地,藍(lán)牙協(xié)議棧在預(yù)設(shè)的時(shí)間內(nèi)檢測(cè)心跳包是否存在,如果是則藍(lán)牙芯片監(jiān)聽(tīng)不到藍(lán)牙協(xié)議棧中的藍(lán)牙斷開(kāi)事件,藍(lán)牙模塊判定沒(méi)有斷開(kāi)藍(lán)牙連接;否則藍(lán)牙協(xié)議棧產(chǎn)生藍(lán)牙斷開(kāi)事件,藍(lán)牙芯片監(jiān)聽(tīng)到藍(lán)牙協(xié)議棧中的藍(lán)牙斷開(kāi)事件,藍(lán)牙模塊判定斷開(kāi)藍(lán)牙連接。
步驟207:藍(lán)牙模塊組織斷開(kāi)指令,喚醒安全模塊,在第三預(yù)設(shè)時(shí)間之后向安全模塊發(fā)送斷開(kāi)指令。例如,第三預(yù)設(shè)時(shí)間為10毫秒。
例如,藍(lán)牙模塊組織的斷開(kāi)指令為:6B08000000000103。
步驟208:藍(lán)牙模塊判斷在第四預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答,是則執(zhí)行步驟209;否則執(zhí)行步驟210。
相應(yīng)地,上述步驟102之后,上述步驟103之前,還包括:
步驟110:安全模塊判斷接收的數(shù)據(jù)是否為斷開(kāi)指令,是則執(zhí)行步驟111,否則執(zhí)行所述步驟103;
步驟111:安全模塊組織斷開(kāi)指令的應(yīng)答,并將斷開(kāi)指令的應(yīng)答返回藍(lán)牙模塊。
具體地,步驟208具體包括:
步驟2081:藍(lán)牙模塊等待第四子預(yù)設(shè)時(shí)間,判斷是否接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答,是則執(zhí)行步驟209;否則執(zhí)行步驟2082;例如,第四子預(yù)設(shè)時(shí)間為10毫秒。
步驟2082:藍(lán)牙模塊判斷從第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間是否超過(guò)第四預(yù)設(shè)時(shí)間,是則執(zhí)行步驟210或者執(zhí)行步驟209,否則執(zhí)行步驟2083。例如,第四預(yù)設(shè)時(shí)間為30毫秒。
步驟2083:藍(lán)牙模塊重新向安全模塊發(fā)送斷開(kāi)指令,執(zhí)行步驟2081。
步驟209:藍(lán)牙模塊將自身的狀態(tài)設(shè)置為深度省電模式。
步驟210:藍(lán)牙模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式。
可選地,上述藍(lán)牙模塊將自身的狀態(tài)設(shè)置為深度省電模式,具體為:藍(lán)牙模塊將自身的狀態(tài)設(shè)置為深度睡眠模式。
相應(yīng)地,上述步驟111之后還包括:安全模塊設(shè)置自身狀態(tài)為深度睡眠模式。
具體地,上述安全模塊設(shè)置自身的狀態(tài)為深度睡眠模式,具體為:安全模塊關(guān)閉與自身連接的外圍設(shè)備和自身的無(wú)關(guān)模塊、保持自身的喚醒模塊有電,并將安全模塊的芯片主核下電;
具體地,上述藍(lán)牙模塊將自身的狀態(tài)設(shè)置為深度睡眠模式,具體為:藍(lán)牙模塊關(guān)閉與自身連接的外圍設(shè)備、關(guān)閉自身的無(wú)關(guān)模塊、保持自身的喚醒模塊有電,并將自身的芯片主核下電。
安全模塊和藍(lán)牙模塊處于深度睡眠模式時(shí),關(guān)閉與自身連接的外圍設(shè)備、關(guān)閉自身的無(wú)關(guān)模塊,模塊中的芯片主核下電后時(shí)鐘處于關(guān)閉狀態(tài),電流在納安級(jí)別(功耗約為40nA),與低速時(shí)鐘模式相比省電效果更好;與關(guān)機(jī)模式相比模塊能夠迅速?gòu)纳疃人吣J街袉拘褳楣ぷ髂J?,快速響?yīng)外圍設(shè)備請(qǐng)求,用戶(hù)體驗(yàn)較佳。
深度睡眠模式的藍(lán)牙模塊和安全模塊只是將模塊中的芯片下電,關(guān)閉功耗較大的外圍設(shè)備,保持模塊中的喚醒模塊保持有電;被喚醒時(shí)通過(guò)喚醒模塊喚醒,對(duì)模塊中的芯片上電,設(shè)置時(shí)鐘頻率,無(wú)需對(duì)所有的設(shè)備進(jìn)行初始化,喚醒速度比由關(guān)機(jī)狀態(tài)轉(zhuǎn)換為開(kāi)機(jī)的速度快。
本實(shí)施例中,當(dāng)藍(lán)牙模塊斷開(kāi)藍(lán)牙連接時(shí),進(jìn)入深度睡眠模式,與藍(lán)牙斷開(kāi)連接后直接關(guān)機(jī)的方案相比,藍(lán)牙模塊接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí)由深度睡眠模式轉(zhuǎn)換為工作模式要比由關(guān)機(jī)狀態(tài)轉(zhuǎn)換為工作模式的時(shí)間短,開(kāi)機(jī)時(shí)可以提升用戶(hù)體驗(yàn),功耗處于納安(nA)級(jí)別,比關(guān)機(jī)時(shí)功耗稍高。
可選地,步驟209中,藍(lán)牙模塊將自身狀態(tài)設(shè)置為深度省電模式具體為:藍(lán)牙模塊執(zhí)行關(guān)機(jī)操作。
本實(shí)施例中,當(dāng)藍(lán)牙模塊斷開(kāi)藍(lán)牙連接時(shí),藍(lán)牙模塊執(zhí)行關(guān)機(jī)操作后藍(lán)牙安全設(shè)備完全斷電,功耗為0,可以最大程度節(jié)省電能,省電效果好,但是開(kāi)機(jī)時(shí)需要對(duì)所有設(shè)備進(jìn)行初始化,開(kāi)機(jī)速度比由深度睡眠模式喚醒慢。藍(lán)牙模塊和安全模塊可以共用一個(gè)供電模塊,當(dāng)藍(lán)牙模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),執(zhí)行關(guān)機(jī)操作,斷開(kāi)電源,與此同時(shí)安全模塊也斷電。
本實(shí)施例中,上述藍(lán)牙模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式,具體為:藍(lán)牙模塊關(guān)閉與自身連接的外圍設(shè)備和自身的無(wú)關(guān)模塊。進(jìn)一步地,藍(lán)牙模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式時(shí),還包括:藍(lán)牙模塊將自身的時(shí)鐘設(shè)置為低速時(shí)鐘模式,并將自身的芯片設(shè)置為睡眠模式。例如,低速時(shí)鐘模式的時(shí)鐘頻率為0.7MHz。
需要說(shuō)明的是,本實(shí)施例中藍(lán)牙模塊中的無(wú)關(guān)模塊包括但不限于通信模塊;無(wú)關(guān)模塊中的通信模塊可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)模塊/SPI(Serial Peripheral Interface,串行外設(shè)接口)模塊/I2C(Inter-Integrated Circuit,內(nèi)部集成電路)模塊。
本實(shí)施例中,上述安全模塊設(shè)置自身的狀態(tài)為低功耗待機(jī)模式,具體為:安全模塊將自身的時(shí)鐘設(shè)置為低速時(shí)鐘模式,關(guān)閉自身的無(wú)關(guān)模塊以及與安全模塊連接的外圍設(shè)備,將自身的芯片設(shè)置為睡眠模式。
例如,安全模塊將自身的時(shí)鐘頻率由2.5MHz設(shè)置為0.07MHz;
具體地,安全模塊關(guān)閉與其連接的外圍設(shè)備,具體為:關(guān)閉與其連接的功耗較大的外圍設(shè)備。例如,關(guān)閉與其連接的顯示模塊。
具體地,安全模塊中的無(wú)關(guān)模塊包括通信模塊、算法模塊和存儲(chǔ)模塊。例如,算法模塊可以包括但不限于SM4算法模塊/SM1算法模塊/Hash算法模塊/Sha2算法模塊;
安全模塊的通信模塊可以但不限于UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)模塊/SPI(Serial Peripheral Interface,串行外設(shè)接口)模塊/I2C(Inter-Integrated Circuit,內(nèi)部集成電路)模塊/USB(Universal Serial Bus,通用串行總線)模塊。
本實(shí)施例中,上述安全模塊設(shè)置自身狀態(tài)為工作模式,具體為:安全模塊將自身的時(shí)鐘切換為高速時(shí)鐘模式。
例如,當(dāng)安全模塊處于低功耗待機(jī)模式,等待被喚醒時(shí),時(shí)鐘頻率為0.07MHz,安全模塊將時(shí)鐘切換為高速時(shí)鐘模式具體為:安全模塊將時(shí)鐘頻率由0.07MHz切換為2.5MHz。
本發(fā)明中,藍(lán)牙模塊和安全模塊設(shè)置自身狀態(tài)為低功耗待機(jī)模式時(shí)將自身的芯片設(shè)置為睡眠模式,同時(shí)關(guān)閉時(shí)鐘的,可以進(jìn)一步降低功耗。如果只關(guān)閉時(shí)鐘,不將芯片設(shè)置為睡眠模式,芯片會(huì)繼續(xù)執(zhí)行工作程序,當(dāng)將芯片設(shè)置為睡眠模式之后,芯片停止執(zhí)行工作程序。
進(jìn)一步地,安全模塊設(shè)置自身狀態(tài)為工作模式時(shí),還具體包括:安全模塊開(kāi)啟自身的無(wú)關(guān)模塊。例如,安全模塊開(kāi)啟通信模塊和算法模塊。本發(fā)明中,安全模塊中的算法模塊和通信模塊可以?xún)?nèi)置在安全模塊的芯片中也可以與安全模塊中的芯片連接。更進(jìn)一步地,安全模塊設(shè)置自身狀態(tài)為工作模式時(shí),還具體包括:安全模塊開(kāi)啟與自身連接的外圍設(shè)備,例如,開(kāi)啟與自身連接的顯示模塊。
本實(shí)施例中,上述藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式,具體為:藍(lán)牙模塊開(kāi)啟自身的通信模塊。
進(jìn)一步,藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式時(shí),還包括:藍(lán)牙模塊將自身時(shí)鐘切換為高速時(shí)鐘模式。例如,藍(lán)牙模塊將時(shí)鐘頻率由0.07MHz切換成2.5MHz。更進(jìn)一步地,藍(lán)牙模塊設(shè)置自身的狀態(tài)為工作模式時(shí),還包括:藍(lán)牙模塊開(kāi)啟與自身連接的外圍設(shè)備。
本實(shí)施例中,上述藍(lán)牙模塊喚醒安全模塊具體為:藍(lán)牙模塊拉低與安全模塊連接的第一控制管腳的電平。例如,藍(lán)牙模塊與安全模塊連接的第一控制管腳為combus控制線??蛇x地,本實(shí)施例中,還包括:藍(lán)牙模塊拉低與安全模塊連接的第一控制管腳的電平之后的預(yù)設(shè)時(shí)間內(nèi),藍(lán)牙模塊將第一控制管腳的電平拉高。例如,藍(lán)牙模塊拉低與安全模塊連接的第一控制管腳的電平之后的10毫秒之內(nèi),藍(lán)牙模塊將第一控制管腳的電平拉高。
本實(shí)施例中,藍(lán)牙安全設(shè)備的外圍設(shè)備包括顯示模塊,但不限于顯示模塊,上述顯示模塊與安全模塊連接,但不限于此連接方式。例如,顯示模塊可以與安全模塊和/或藍(lán)牙模塊連接。
本實(shí)施例中,安全模塊處于關(guān)機(jī)模式時(shí),安全模塊下電,被藍(lán)牙模塊喚醒時(shí),首先要上電(具體地,安全模塊上電具體為藍(lán)牙模塊通過(guò)LDO或者M(jìn)OS管給安全模塊供電),將時(shí)鐘設(shè)置為高速時(shí)鐘模式,并對(duì)硬件進(jìn)行初始化;
安全模塊處于深度睡眠模式時(shí),安全模塊中的安全芯片的主核下電,與安全模塊連接的外圍設(shè)備關(guān)閉,同時(shí)安全模塊連接的算法模塊、無(wú)關(guān)模塊關(guān)閉,只有安全模塊中的喚醒模塊有電,被藍(lán)牙模塊喚醒后,安全模塊通過(guò)喚醒模塊喚醒,對(duì)安全模塊的芯片主核上電,設(shè)置時(shí)鐘為高速時(shí)鐘模式;
安全模塊處于低功耗待機(jī)模塊時(shí),安全模塊只關(guān)閉功耗較大的外圍設(shè)備,安全模塊的芯片有電,時(shí)鐘為低速時(shí)鐘模式,并且安全模塊的芯片設(shè)置為睡眠模式,接收到上位機(jī)的數(shù)據(jù)時(shí),將時(shí)鐘設(shè)置為高速時(shí)鐘模式。
本實(shí)施例中,藍(lán)牙模塊處于關(guān)機(jī)模式時(shí),藍(lán)牙模塊下電,接收到開(kāi)機(jī)事件時(shí),藍(lán)牙芯片上電(具體地,藍(lán)牙模塊接收到開(kāi)機(jī)事件具體為:用戶(hù)按下藍(lán)牙安全設(shè)備的開(kāi)機(jī)按鍵后,觸發(fā)開(kāi)機(jī)事件),將時(shí)鐘設(shè)置為高速時(shí)鐘模式,對(duì)硬件進(jìn)行初始化(硬件包括電容等器件);
藍(lán)牙模塊處于深度睡眠模式時(shí),藍(lán)牙模塊中的芯片主核下電,與藍(lán)牙模塊連接的外圍設(shè)備關(guān)閉,同時(shí)藍(lán)牙模塊中的無(wú)關(guān)模塊(如通訊模塊SPI/UART/I2C)關(guān)閉,只有藍(lán)牙模塊中的喚醒模塊有電,接收到開(kāi)機(jī)事件時(shí),通過(guò)喚醒模塊喚醒,對(duì)藍(lán)牙芯片的主核上電,設(shè)置時(shí)鐘為高速時(shí)鐘模式;
藍(lán)牙模塊處于低功耗待機(jī)模塊時(shí),藍(lán)牙模塊只關(guān)閉功耗較大的外圍設(shè)備,藍(lán)牙模塊的芯片有電,時(shí)鐘為低速時(shí)鐘模式,并且藍(lán)牙模塊的芯片處于睡眠模式,接收到上位機(jī)的數(shù)據(jù)時(shí),將時(shí)鐘設(shè)置為高速時(shí)鐘模式。
本發(fā)明中,安全模塊和藍(lán)牙模塊在完成相應(yīng)操作時(shí)直接進(jìn)入低功耗待機(jī)模式,與現(xiàn)有技術(shù)中藍(lán)牙安全設(shè)備被上位機(jī)喚醒必須在預(yù)設(shè)時(shí)間之后才進(jìn)入低功耗待機(jī)模式的方案相比,省電效果更佳;另外本發(fā)明中,安全模塊和藍(lán)牙模塊處于低功耗待機(jī)模式時(shí),將各自時(shí)鐘切換為低速時(shí)鐘模式,同時(shí)關(guān)閉與自身連接的外圍設(shè)備和自身的無(wú)關(guān)模塊,與現(xiàn)有技術(shù)中只關(guān)閉外圍設(shè)備的低功耗待機(jī)模式相比功耗更低,省電效果更好。當(dāng)藍(lán)牙模塊判斷斷開(kāi)藍(lán)牙連接時(shí),安全模塊和藍(lán)牙模塊進(jìn)入深度省電模式,如此比普通的低功耗待機(jī)模式省電效果更好。
實(shí)施例3
本發(fā)明提供一種藍(lán)牙安全設(shè)備,包括安全模塊和藍(lán)牙模塊,如圖5所示為藍(lán)牙安全設(shè)備的模塊組成框圖,安全模塊包括:第一設(shè)置模塊11、第一接收模塊12、第一判斷模塊13、執(zhí)行模塊14、第一發(fā)送模塊15、第二設(shè)置模塊16和等待模塊17;
第一設(shè)置模塊11,用于安全模塊被藍(lán)牙模塊喚醒時(shí),設(shè)置安全模塊的狀態(tài)為工作模式;
第一接收模塊12,用于接收來(lái)自藍(lán)牙模塊的數(shù)據(jù);
第一判斷模塊13,用于第一設(shè)置模11塊設(shè)置安全模塊的狀態(tài)為工作模式之后,判斷第一接收模塊12在第五預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù);
執(zhí)行模塊14,用于當(dāng)?shù)谝慌袛嗄K13判斷第一接收模塊12接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù)時(shí),根據(jù)第一接收模塊12接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
第一發(fā)送模塊15,用于將執(zhí)行模塊14得到的操作結(jié)果返回藍(lán)牙模塊;
第二設(shè)置模塊16,用于當(dāng)?shù)谝慌袛嗄K13判斷第一接收模塊12在第五預(yù)設(shè)時(shí)間之內(nèi)沒(méi)有接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù)時(shí),設(shè)置安全模塊的狀態(tài)為低功耗待機(jī)模式;用于當(dāng)?shù)谝话l(fā)送模塊15將操作結(jié)果返回藍(lán)牙模塊之后,設(shè)置安全模塊的狀態(tài)為低功耗待機(jī)模式;
等待模塊17,用于當(dāng)?shù)诙O(shè)置模塊16設(shè)置安全模塊的狀態(tài)為低功耗待機(jī)模式之后,等待安全模塊被藍(lán)牙模塊喚醒。
進(jìn)一步地,如圖6所示,為藍(lán)牙安全設(shè)備的模塊組成框圖,其中,藍(lán)牙模塊包括:第一等待接收模塊21、第三設(shè)置模塊22、喚醒執(zhí)行模塊23、第二發(fā)送模塊24、第二接收模塊25、第二判斷模塊26、第三發(fā)送模塊27和第四設(shè)置模塊28;
第一等待接收模塊21,用于等待接收來(lái)自上位機(jī)的數(shù)據(jù);
第三設(shè)置模塊22,用于當(dāng)?shù)谝坏却邮漳K21接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為工作模式;
喚醒執(zhí)行模塊23,用于當(dāng)?shù)谌O(shè)置模塊22設(shè)置藍(lán)牙模塊的狀態(tài)為工作模式之后,喚醒安全模塊;
第二發(fā)送模塊24,用于在喚醒執(zhí)行模塊23喚醒安全模塊的第一預(yù)設(shè)時(shí)間之后,向安全模塊發(fā)送第一等待接收模塊21接收的來(lái)自上位機(jī)的數(shù)據(jù);
第二接收模塊25,用于接收來(lái)自安全模塊的操作結(jié)果;
第二判斷模塊26,用于第二發(fā)送模塊24向安全模塊發(fā)送所述第一等待接收模塊21接收的來(lái)自上位機(jī)的數(shù)據(jù)之后,判斷第二接收模塊25在第二預(yù)設(shè)時(shí)間之內(nèi)是否接收到來(lái)自安全模塊的操作結(jié)果;
第三發(fā)送模塊27,用于當(dāng)?shù)诙袛嗄K26判斷第二接收模塊25在第二預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自安全模塊的操作結(jié)果之后,向上位機(jī)發(fā)送第二接收模塊25接收的操作結(jié)果;
第四設(shè)置模塊28,用于當(dāng)?shù)谌l(fā)送模塊27向上位機(jī)發(fā)送第二接收模塊25接收的操作結(jié)果之后,設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;用于當(dāng)?shù)诙袛嗄K26判斷第二接收模塊25在第二預(yù)設(shè)時(shí)間之內(nèi)沒(méi)有接收到來(lái)自安全模塊的操作結(jié)果之后,設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
第一等待接收模塊21,還用于第四設(shè)置模塊28設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式之后,等待接收來(lái)自上位機(jī)的數(shù)據(jù)。
進(jìn)一步地,上述藍(lán)牙模塊還包括第三判斷模塊、組織模塊、第四發(fā)送模塊、第二等待接收模塊和第五設(shè)置模塊;
第三判斷模塊,用于第三發(fā)送模塊27向上位機(jī)發(fā)送操作結(jié)果之后判斷是否斷開(kāi)藍(lán)牙連接;
相應(yīng)地,上述第四設(shè)置模塊28,具體用于第三判斷模塊判沒(méi)有斷斷開(kāi)藍(lán)牙連接時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
組織模塊,用于第三判斷模塊判斷斷開(kāi)藍(lán)牙連接時(shí),組織斷開(kāi)指令;
相應(yīng)地,上述喚醒執(zhí)行模塊23,還用于第三判斷模塊判斷斷開(kāi)藍(lán)牙連接時(shí)或者組織模塊組織斷開(kāi)指令之后,喚醒安全模塊;
第四發(fā)送模塊,用于第三判斷模塊判斷斷開(kāi)藍(lán)牙連接時(shí),并且喚醒執(zhí)行模塊23喚醒安全模塊的第三預(yù)設(shè)時(shí)間之后,向安全模塊發(fā)送斷開(kāi)指令;
第二等待接收模塊,用于接收來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答;
第五設(shè)置模塊,用于第四發(fā)送模塊向安全模塊發(fā)送斷開(kāi)指令之后的第四預(yù)設(shè)時(shí)間之內(nèi),第二等待接收模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為深度省電模式;
相對(duì)應(yīng)地,上述安全模塊還包括,第四判斷模塊、應(yīng)答組織模塊、應(yīng)答發(fā)送模塊;
第四判斷模塊,用于判斷第一接收模塊12接收的數(shù)據(jù)是否為斷開(kāi)指令;
應(yīng)答組織模塊,用于第四判斷模塊判斷第一接收模塊12接收的數(shù)據(jù)為斷開(kāi)指令時(shí),組織斷開(kāi)指令的應(yīng)答;
應(yīng)答發(fā)送模塊,用于將應(yīng)答組織模塊組織的斷開(kāi)指令的應(yīng)答返回藍(lán)牙模塊;
執(zhí)行模塊14,具體用于第四判斷模塊判斷第一接收模塊12接收的數(shù)據(jù)不是斷開(kāi)指令時(shí),根據(jù)第一接收模塊12接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果。
進(jìn)一步地,上述安全模塊在包括第四判斷模塊、應(yīng)答組織模塊、應(yīng)答發(fā)送模塊的基礎(chǔ)上還包括第六設(shè)置模塊;
上述第五設(shè)置模塊,具體用于在上述第四發(fā)送模塊向安全模塊發(fā)送斷開(kāi)指令之后的第四預(yù)設(shè)時(shí)間之內(nèi),第二等待接收模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為深度睡眠模式;
第六設(shè)置模塊,用于當(dāng)上述應(yīng)答發(fā)送模塊將斷開(kāi)指令的應(yīng)答返回所述藍(lán)牙模塊之后,設(shè)置安全模塊狀態(tài)為深度睡眠模式。
更進(jìn)一步地,上述藍(lán)牙安全設(shè)備還包括外圍設(shè)備;相應(yīng)地,上述第五設(shè)置模塊,具體用于在第四發(fā)送模塊向安全模塊發(fā)送斷開(kāi)指令之后的第四預(yù)設(shè)時(shí)間之內(nèi),第二等待接收模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),關(guān)閉與藍(lán)牙模塊連接的外圍設(shè)備、保持藍(lán)牙模塊的喚醒模塊有電,并將藍(lán)牙模塊的芯片主核下電;
相應(yīng)地,上述第六設(shè)置模塊,具體用于當(dāng)應(yīng)答發(fā)送模塊將斷開(kāi)指令的應(yīng)答返回藍(lán)牙模塊之后,關(guān)閉與安全模塊連接的外圍設(shè)備、關(guān)閉安全模塊中的無(wú)關(guān)模塊、保持安全模塊的喚醒模塊有電,并將安全模塊的芯片主核下電。
本實(shí)施例中,藍(lán)牙安全設(shè)備中的外圍設(shè)備可以但不限于顯示模塊,顯示模塊可以但不限于與安全模塊連接,例如顯示模塊與安全模塊和/或藍(lán)牙模塊連接。
本實(shí)施例中,上述第五設(shè)置模塊,具體用于在第四發(fā)送模塊向安全模塊發(fā)送斷開(kāi)指令之后的第四預(yù)設(shè)時(shí)間之內(nèi),第二等待接收模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),執(zhí)行關(guān)機(jī)操作。
本實(shí)施例中,上述第五設(shè)置模塊可以具體包括:第五等待判斷子模塊、第五設(shè)置子模塊、第五超時(shí)判斷子模塊、第五發(fā)送子模塊;
第五等待判斷子模塊,用于第四發(fā)送模塊向安全模塊發(fā)送斷開(kāi)指令之后,等待第四子預(yù)設(shè)時(shí)間,判斷第二等待接收模塊是否接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答;
第五設(shè)置子模塊,用于第五等待判斷子模塊判斷第二等待接收模塊接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為深度省電模式;
第五超時(shí)判斷子模塊,用于第五等待判斷子模塊判斷第二等待接收模塊沒(méi)有接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答時(shí),判斷從第四發(fā)送模塊第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間是否超過(guò)第四預(yù)設(shè)時(shí)間;
第五發(fā)送子模塊,用于第五超時(shí)判斷子模塊判斷從第四發(fā)送模塊第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間沒(méi)有超過(guò)第四預(yù)設(shè)時(shí)間時(shí),重新向安全模塊發(fā)送斷開(kāi)指令;
第五等待判斷子模塊,還用于第五發(fā)送子模塊重新向安全模塊發(fā)送斷開(kāi)指令之后,等待第四子預(yù)設(shè)時(shí)間,判斷第二等待接收模塊是否接收到來(lái)自安全模塊的斷開(kāi)指令的應(yīng)答。
進(jìn)一步地,上述第四設(shè)置模塊28,還用于第五超時(shí)判斷子模塊判斷第四發(fā)送模塊從第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間超過(guò)第四預(yù)設(shè)時(shí)間時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
或者,上述第五設(shè)置子模塊,還用于第五超時(shí)判斷子模塊判斷從第四發(fā)送模塊第一次向安全模塊發(fā)送斷開(kāi)指令到當(dāng)前時(shí)間超過(guò)第四預(yù)設(shè)時(shí)間時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為深度省電模式。
本實(shí)施例中,上述第二判斷模塊26可以具體包括第二等待判斷子模塊、第二超時(shí)判斷子模塊和重新發(fā)送子模塊;
第二等待判斷子模塊,用于第二發(fā)送模塊24向安全模塊發(fā)送第一等待接收模塊21接收的來(lái)自上位機(jī)的數(shù)據(jù)之后,等待第二子預(yù)設(shè)時(shí)間,判斷第二接收模塊25是否接收到來(lái)自安全模塊的操作結(jié)果;
相應(yīng)地,上述第三發(fā)送模塊27,具體用于當(dāng)?shù)诙却袛嘧幽K判斷第二接收模塊25在第二預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自安全模塊的操作結(jié)果之后,向上位機(jī)發(fā)送第二接收模塊25接收的操作結(jié)果;
第二超時(shí)判斷子模塊,用于第二等待判斷子模塊判斷第二接收模塊25沒(méi)有接收到來(lái)自安全模塊的操作結(jié)果時(shí),判斷從第二發(fā)送模塊24第一次向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù)到當(dāng)前時(shí)間是否超過(guò)第二預(yù)設(shè)時(shí)間;
第四設(shè)置模塊28,具體用于當(dāng)?shù)诙瑫r(shí)判斷子模塊判斷從第二發(fā)送模塊24第一次向安全模塊發(fā)送數(shù)據(jù)到當(dāng)前時(shí)間超過(guò)第二預(yù)設(shè)時(shí)間時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
重新發(fā)送子模塊,用于當(dāng)?shù)诙瑫r(shí)判斷子模塊判斷從第二發(fā)送模塊24第一次向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù)到當(dāng)前時(shí)間沒(méi)有超過(guò)第二預(yù)設(shè)時(shí)間時(shí),重新向安全模塊發(fā)送第一等待接收模塊21接收的來(lái)自上位機(jī)的數(shù)據(jù);
上述第二等待判斷子模塊,還用于重新發(fā)送子模塊重新向安全模塊發(fā)送來(lái)自上位機(jī)的數(shù)據(jù)之后,等待第二子預(yù)設(shè)時(shí)間,判斷第二接收模塊25是否接收到來(lái)自安全模塊的操作結(jié)果。
本實(shí)施例中,上述第三設(shè)置模塊22,具體用于當(dāng)?shù)谝坏却邮漳K21接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),開(kāi)啟藍(lán)牙模塊中的無(wú)關(guān)模塊。進(jìn)一步地,上述第三設(shè)置模塊22還用于,當(dāng)?shù)谝坏却邮漳K21接收到來(lái)自上位機(jī)的數(shù)據(jù)時(shí),將藍(lán)牙模塊的時(shí)鐘設(shè)置為高速時(shí)鐘模式。
本實(shí)施例中,上述第四設(shè)置模塊28,具體用于:關(guān)閉藍(lán)牙模塊中的無(wú)關(guān)模塊。進(jìn)一步地,上述第四設(shè)置模塊28,還用于:將藍(lán)牙模塊的時(shí)鐘設(shè)置為低速時(shí)鐘模式,并將藍(lán)牙模塊中的芯片設(shè)置為睡眠模式。
本實(shí)施例中,上述喚醒執(zhí)行模塊23,具體用于拉低與安全模塊連接的第一控制管腳的電平。
可選地,本實(shí)施例中上述藍(lán)牙模塊在包括第一等待接收模塊21、第三設(shè)置模塊22、喚醒執(zhí)行模塊23、第二發(fā)送模塊24、第二接收模塊25、第二判斷模塊26、第三發(fā)送模塊27和第四設(shè)置模塊28的基礎(chǔ)上,還包括完成發(fā)送判斷模塊,用于第三發(fā)送模塊27向上位機(jī)發(fā)送第二接收模塊25接收的操作結(jié)果時(shí),判斷發(fā)送完成標(biāo)志是否置位;
相應(yīng)地,上述第四設(shè)置模塊28,具體用于完成發(fā)送判斷模塊判斷發(fā)送完成標(biāo)志置位時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
完成發(fā)送判斷模塊,還用于當(dāng)判斷發(fā)送完成標(biāo)志沒(méi)有置位時(shí),繼續(xù)判斷發(fā)送完成標(biāo)志是否置位。
進(jìn)一步地,上述藍(lán)牙模塊在包括上述完成發(fā)送判斷模塊的基礎(chǔ)上,還包括超時(shí)判斷模塊,用于完成發(fā)送判斷模塊判斷發(fā)送完成標(biāo)志沒(méi)有置位時(shí),判斷從第二接收模塊25接收到來(lái)自安全模塊的操作結(jié)果到當(dāng)前時(shí)間是否超過(guò)第六預(yù)設(shè)時(shí)間;
相應(yīng)地,上述第四設(shè)置模塊28,還用于超時(shí)判斷模塊判斷從第二接收模塊25接收到來(lái)自安全模塊的操作結(jié)果到當(dāng)前時(shí)間超過(guò)第六預(yù)設(shè)時(shí)間時(shí),設(shè)置藍(lán)牙模塊的狀態(tài)為低功耗待機(jī)模式;
完成發(fā)送判斷模塊,具體用于超時(shí)判斷模塊判斷從第二接收模塊25接收到來(lái)自安全模塊的操作結(jié)果到當(dāng)前時(shí)間沒(méi)有超過(guò)第六預(yù)設(shè)時(shí)間時(shí),判斷發(fā)送完成標(biāo)志是否置位。
可選地,上述藍(lán)牙安全設(shè)備中的安全模塊,在包括模塊第一設(shè)置模塊11、第一接收模塊12、第一判斷模塊13、執(zhí)行模塊14、第一發(fā)送模塊15、第二設(shè)置模塊16和等待模塊17的基礎(chǔ)上,還包括流程控制判斷模塊和流程控制設(shè)置模塊;
流程控制判斷模塊,用于第一判斷模塊13判斷第一接收模塊12在第五預(yù)設(shè)時(shí)間之內(nèi)接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù)時(shí),根據(jù)第一接收模塊12接收的數(shù)據(jù)判斷是否設(shè)置流程控制;
流程控制設(shè)置模塊,用于流程控制判斷模塊判斷需要設(shè)置流程控制時(shí),根據(jù)第一接收模塊12接收的數(shù)據(jù)使用低功耗定時(shí)器設(shè)置流程控制定時(shí)器。
進(jìn)一步地,上述安全模塊在包括流程控制判斷模塊和流程控制設(shè)置模塊的基礎(chǔ)上,還包括執(zhí)行保存模塊;
相應(yīng)地,上述第一設(shè)置模塊11,還用于安全模塊被流程控制設(shè)置模塊設(shè)置的流程控制定時(shí)器喚醒時(shí),設(shè)置安全模塊的狀態(tài)為工作模式;
執(zhí)行保存模塊,用于安全模塊被所述流程控制設(shè)置模塊設(shè)置的流程控制定時(shí)器喚醒時(shí),并且第一設(shè)置模塊11設(shè)置安全模塊的狀態(tài)為工作模式之后,執(zhí)行相應(yīng)操作得到操作結(jié)果,并保存操作結(jié)果;
第二設(shè)置模塊16,還用于執(zhí)行保存模塊保存操作結(jié)果之后,設(shè)置安全模塊狀態(tài)為低功耗待機(jī)模式。
可選地,上述藍(lán)牙安全設(shè)備還包括按鍵,上述安全模塊在包括模塊第一設(shè)置模塊11、第一接收模塊12、第一判斷模塊13、執(zhí)行模塊14、第一發(fā)送模塊15、第二設(shè)置模塊16和等待模塊17的基礎(chǔ)上,還包括執(zhí)行保存模塊;
上述第一設(shè)置模塊11,還用于安全模塊被按鍵喚醒時(shí),設(shè)置安全模塊的狀態(tài)為工作模式。
執(zhí)行保存模塊,用于安全模塊被按鍵喚醒時(shí),并且第一設(shè)置模塊11設(shè)置安全模塊的狀態(tài)為工作模式之后,執(zhí)行相應(yīng)操作得到操作結(jié)果,并保存操作結(jié)果;
上述第二設(shè)置模塊16,還用于執(zhí)行保存模塊保存操作結(jié)果之后,設(shè)置安全模塊狀態(tài)為低功耗待機(jī)模式。
本實(shí)施例上述藍(lán)牙安全設(shè)備中,安全模塊中的第一判斷模塊13可以具體包括第一判斷子模塊、第一等待子模塊和第一超時(shí)判斷子模塊;
第一判斷子模塊,用于第一設(shè)置模塊11設(shè)置安全模塊的狀態(tài)為工作模式之后,判斷第一接收模塊12是否接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù);
執(zhí)行模塊14,具體用于第一判斷子模塊判斷第一接收模塊12接收到來(lái)自藍(lán)牙模塊的數(shù)據(jù)時(shí),根據(jù)第一接收模塊12接收的數(shù)據(jù)執(zhí)行相應(yīng)操作,得到操作結(jié)果;
第一超時(shí)判斷子模塊,用于第一判斷子模塊判斷第一接收模塊12沒(méi)有接收到來(lái)自所述藍(lán)牙模塊的數(shù)據(jù)時(shí),判斷從第一設(shè)置模塊11設(shè)置安全模塊狀態(tài)為工作模式到當(dāng)前時(shí)間是否超過(guò)第五預(yù)設(shè)時(shí)間;
相應(yīng)地,上述第二設(shè)置模塊16,具體用于第一超時(shí)判斷子模塊判斷從第一設(shè)置模塊11設(shè)置安全模塊狀態(tài)為工作模式到當(dāng)前時(shí)間超過(guò)第五預(yù)設(shè)時(shí)間時(shí),設(shè)置安全模塊的狀態(tài)為低功耗待機(jī)模式;
第一判斷子模塊,還用于第一超時(shí)判斷模塊判斷從第一設(shè)置模塊11設(shè)置安全模塊狀態(tài)為工作模式到當(dāng)前時(shí)間沒(méi)有超過(guò)第五預(yù)設(shè)時(shí)間時(shí),等待第五子預(yù)設(shè)時(shí)間,判斷第一接收模塊12是否接收到數(shù)據(jù)。
本實(shí)施例中,上述第一設(shè)置模塊11,具體用于當(dāng)安全模塊被喚醒時(shí),將安全模塊的時(shí)鐘設(shè)置為高速時(shí)鐘模式,開(kāi)啟安全模塊中的無(wú)關(guān)模塊。進(jìn)一步地,上述藍(lán)牙包括外圍設(shè)備時(shí),第一設(shè)置模塊11,還可以具體用于當(dāng)安全模塊被喚醒時(shí),開(kāi)啟與安全模塊連接的外圍設(shè)備。
本實(shí)施例中,藍(lán)牙安全設(shè)備還包括外圍設(shè)備;
上述第二設(shè)置模塊16,具體用于將安全模塊的時(shí)鐘設(shè)置為低速時(shí)鐘模式,關(guān)閉安全模塊中的無(wú)關(guān)模塊以及與安全模塊連接的外圍設(shè)備,將安全模塊中的芯片設(shè)置為睡眠模式。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:藍(lán)牙安全設(shè)備中,安全模塊判斷沒(méi)有接收到數(shù)據(jù)時(shí)以及將操作結(jié)果返回藍(lán)牙模塊之后都立即將自身狀態(tài)設(shè)置為低功耗待機(jī)模式,與現(xiàn)有技術(shù)中藍(lán)牙安全設(shè)備的省電方式相比,省電效果好,進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
安全模塊處理相應(yīng)操作之后隨時(shí)進(jìn)入低功耗待機(jī)模式,同時(shí)藍(lán)牙模塊將來(lái)自安全模塊的操作結(jié)果返回上位機(jī)之后也立即進(jìn)入低功耗待機(jī)模式,與現(xiàn)有技術(shù)藍(lán)牙安全設(shè)備在預(yù)設(shè)時(shí)間之后才進(jìn)入低功耗待機(jī)模式相比,可以進(jìn)一步提高藍(lán)牙安全設(shè)備的待機(jī)時(shí)長(zhǎng)。
另外本發(fā)明中,安全模塊和藍(lán)牙模塊處于低功耗待機(jī)模式時(shí),將各自時(shí)鐘切換為低速時(shí)鐘模式,同時(shí)關(guān)閉外圍設(shè)備,與現(xiàn)有技術(shù)只關(guān)閉外圍設(shè)備的低功耗待機(jī)模式相比功耗更低,省電效果更好。
以上,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。