一种在深度休眠模式下保持低功耗蓝牙本地时间基准的方法
2016-10-13刘坤
刘 坤
一种在深度休眠模式下保持低功耗蓝牙本地时间基准的方法
刘 坤
上海交通大学电子工程系,上海 200125
设计一种深度休眠期间保持本地蓝牙基准时间的方案,分析了低功耗蓝牙数据通信的特点,阐明了目前市场产品对低功耗蓝牙芯片在深度休眠期间要求极低功耗的现状。提出了在深度休眠期间,降低功耗必要性和可行性,随后阐述了方案的整个设计思路。
蓝牙;低功耗
1 低功耗蓝牙功耗降低需求
因为大多数智能蓝牙装置都是由电池供电,所以蓝牙功耗的高低直接影响电池的使用寿命,根据低功耗蓝牙协议,通信间隔最大值为32秒,而一个蓝牙分组传输的最大时间仅仅为2120微秒,由此可见低功耗蓝牙芯片在绝大部分时间都出现空闲状态,如何降低空闲状态的功耗就成了设计的关键。[1]
芯片电路的功耗主要来自两个个方面:动态功耗、漏电功耗。[2]在深度休眠模式下关闭蓝牙时钟能有效地降低动态功耗,切断蓝牙电路的电源能有效地降低漏电功耗,但是深度休眠过程中本地基准时间仍然必须维持,以保证在下一个同步点能够与对端蓝牙设备通信,以免链接丢失,因此迫切地需要一种能够以极低功耗维持本地蓝牙基准时间的方案。[3]
2 方案说明
蓝牙本地时间基准即对625微秒和1微秒计数,本方案在深度休眠期间内采用32kHz低频时钟来维持本地蓝牙时间基准计数,退出深度休眠时对其进行修正。
3.1 工作模式切换
如图1所示,MCU首先设定好休眠时间即32K时钟的计数时间,配置deep sleep request寄存器要求蓝牙电路进入到低功耗模式,低功耗电路收到请求后记录下当前的本地蓝牙时间基准,并启动32K计数器,随后蓝牙电路可根据需要关闭主时钟、切断电源。系统计入到深度休眠模式。
图1 Active与Deep Sleep模式切换
当设定的深度睡眠时间达到前的Tpower_up时刻首先恢复蓝牙电路的电源,随后释放复位,恢复主时钟。[4]等到32K计数器达到设定的计数值后,首先恢复本地蓝牙时间基准停止前的现场值并开始正常计数,同时通知软件开始计算修正值,等到第一个625us记满后,自动将修正值装载到625us和1us另个计数器中,本地蓝牙时间基准恢复完成。
3.2 蓝牙时间基准修正
当蓝牙电路从Deep Sleep模式切换至Active模式后,625us和1us这两个本地时间基准必须要恢复到当前时间,因此这里需要一个蓝牙时间基准修正机制,这个机制需要将深度休眠时间Tdeep_sleep换算成625us和1us补偿值。蓝牙电路在进入Active模式后的第一个625us的tick到来时对625us和1us这两个本地时间基准进行补偿,使得本蓝牙时间基准彻底恢复,从而保证在下一个时间同步点与对端蓝牙设备能够顺利通信。这个机制的实现过程如下。[5]
第一步:计算实际的深度睡眠时间Tdeep_sleep,采用公式1:
等候的间隙,有的到办公室处理公务或准备“边整边改”的资料。办公室是一栋红砖平房,每间办公室至少摆放五张办公桌,办公室门朝里,窗户对外,仿佛暗示着不宜公开。还有的则聚在一起闲聊,闲聊就是拿人开涮,以埋汰人为乐事。选准“课题”临场发挥,脑筋急转弯,顾左右而言他,张冠李戴,旁敲侧击是开涮的基本功。以前当过村支书的农办主任吴家金正准备娶媳妇,即将成为可以和媳妇“扒灰”的“烧火佬”,大家你一言我一语就拼凑了一副对联,上联“婆婆结亲灶前灶后”,下联“公公娶媳火叉火钳”,横批“亲上加亲”,只差笔墨侍候了。
第二步:计算深度休眠时间中625us tick的个数,即深度休眠时间相对于625us的整数部分,采用公式2:
第三步:计算深度休眠时间相对于625us的小数部分,采用公式3:
第四步:将修正值写入到蓝牙电路的寄存器中,625us和1us计数器的修正值将采用计算公式4和公式5:
从深度休眠到正常工作的蓝牙时间基准校正如图2所示:
图2 蓝牙时间基准修正过程
(1)蓝牙电路进入到deep sleep模式,蓝牙电路主时钟关闭,32kHz时钟开始计数。[6]
(2)当32kHz计数器达到设定的深度休眠时间的计数值时,唤醒蓝牙电路,并打开蓝牙主时钟,蓝牙时间基准计数器恢复从进入深度休眠的时刻开始计数。[7]
(4)等到625us Tick来临时,625us和1us两个计数器分别载入修正值。并从修正值开始计数。[8]
(5)再次等到625us Tick来临时,625us和1us两个计数器恢复正常计数,此后蓝牙本地时间基准得以恢复。
4 结论
本地蓝牙基准时间是蓝牙设备能够在约定的时间点与对端设备完成同步的重要基石,本文提出了一种在深度休眠模式下利用低频时钟暂时维护本地蓝牙基准时间,并且在退出深度休眠模式能够精确恢复本地蓝牙基准时间的方案。本方案可以在不增加过多芯片面积的情况下得到很大的降低功耗的收益。
[1]王剑锋,陈灿峰,刘嘉,等.一种基于IPv6和低功耗蓝牙的物联网体系结构[J].计算机科学,2013,40(5):97-102.
[2]洪大能,曹炬,钟晓蓉.谈一种新兴的蓝牙技术——超低功耗蓝牙技术[J].科研,2015(58)12.
[3]胥京宇.赛普拉斯低功耗蓝牙单芯片为物联网助力[J].世界产品与技术,2014(12):53.
[4]苏松,胡引翠,卢光耀,等.低功耗蓝牙手机终端室内定位方法[J].测绘通报,2015(12):81-84.
[5]逄淑松,程凯,刘光发,等.MSP430G2553单片机超低功耗的研究与设计[J].单片机与嵌入式系统应用,2013,13(4):1-2.
[6]杨鑫,申长军,赵春江,等.低功耗远程墒情自动监测站设计[J].节水灌溉,2012(7):53-55.
[7]张维津,张科峰.可重构幸存路径管理Viterbi译码器的研究与设计[J].微电子学与计算机,2011,28(2):20-22.
[8]赵鲁荣,李欣,程文华.恒电位仪自动测量的设计[J].现代电子技术,2013(11):92-94.
Method for Maintaining Low Power Consumption Bluetooth Local Time Reference in deep Sleep Mode
Liu Kun
Department of electronic engineering, Shanghai Jiao Tong University, Shanghai 200125
the main task of this paper is to design a scheme to maintain local Bluetooth standard time during deep sleep. In this paper, the characteristics of Low Power Bluetooth data communication are analyzed, and the current market products are expounded. The necessity and feasibility of reducing power consumption during the period of deep sleep is put forward. Then, the whole design idea of the scheme is described.
Bluetooth; low power consumption
TN925
A
1009-6434(2016)6-0202-02