劉 坤
?
一種在深度休眠模式下保持低功耗藍(lán)牙本地時(shí)間基準(zhǔn)的方法
劉 坤
上海交通大學(xué)電子工程系,上海 200125
設(shè)計(jì)一種深度休眠期間保持本地藍(lán)牙基準(zhǔn)時(shí)間的方案,分析了低功耗藍(lán)牙數(shù)據(jù)通信的特點(diǎn),闡明了目前市場(chǎng)產(chǎn)品對(duì)低功耗藍(lán)牙芯片在深度休眠期間要求極低功耗的現(xiàn)狀。提出了在深度休眠期間,降低功耗必要性和可行性,隨后闡述了方案的整個(gè)設(shè)計(jì)思路。
藍(lán)牙;低功耗
因?yàn)榇蠖鄶?shù)智能藍(lán)牙裝置都是由電池供電,所以藍(lán)牙功耗的高低直接影響電池的使用壽命,根據(jù)低功耗藍(lán)牙協(xié)議,通信間隔最大值為32秒,而一個(gè)藍(lán)牙分組傳輸?shù)淖畲髸r(shí)間僅僅為2120微秒,由此可見(jiàn)低功耗藍(lán)牙芯片在絕大部分時(shí)間都出現(xiàn)空閑狀態(tài),如何降低空閑狀態(tài)的功耗就成了設(shè)計(jì)的關(guān)鍵。[1]
芯片電路的功耗主要來(lái)自?xún)蓚€(gè)個(gè)方面:動(dòng)態(tài)功耗、漏電功耗。[2]在深度休眠模式下關(guān)閉藍(lán)牙時(shí)鐘能有效地降低動(dòng)態(tài)功耗,切斷藍(lán)牙電路的電源能有效地降低漏電功耗,但是深度休眠過(guò)程中本地基準(zhǔn)時(shí)間仍然必須維持,以保證在下一個(gè)同步點(diǎn)能夠與對(duì)端藍(lán)牙設(shè)備通信,以免鏈接丟失,因此迫切地需要一種能夠以極低功耗維持本地藍(lán)牙基準(zhǔn)時(shí)間的方案。[3]
藍(lán)牙本地時(shí)間基準(zhǔn)即對(duì)625微秒和1微秒計(jì)數(shù),本方案在深度休眠期間內(nèi)采用32kHz低頻時(shí)鐘來(lái)維持本地藍(lán)牙時(shí)間基準(zhǔn)計(jì)數(shù),退出深度休眠時(shí)對(duì)其進(jìn)行修正。
3.1 工作模式切換
如圖1所示,MCU首先設(shè)定好休眠時(shí)間即32K時(shí)鐘的計(jì)數(shù)時(shí)間,配置deep sleep request寄存器要求藍(lán)牙電路進(jìn)入到低功耗模式,低功耗電路收到請(qǐng)求后記錄下當(dāng)前的本地藍(lán)牙時(shí)間基準(zhǔn),并啟動(dòng)32K計(jì)數(shù)器,隨后藍(lán)牙電路可根據(jù)需要關(guān)閉主時(shí)鐘、切斷電源。系統(tǒng)計(jì)入到深度休眠模式。
圖1 Active與Deep Sleep模式切換
當(dāng)設(shè)定的深度睡眠時(shí)間達(dá)到前的Tpower_up時(shí)刻首先恢復(fù)藍(lán)牙電路的電源,隨后釋放復(fù)位,恢復(fù)主時(shí)鐘。[4]等到32K計(jì)數(shù)器達(dá)到設(shè)定的計(jì)數(shù)值后,首先恢復(fù)本地藍(lán)牙時(shí)間基準(zhǔn)停止前的現(xiàn)場(chǎng)值并開(kāi)始正常計(jì)數(shù),同時(shí)通知軟件開(kāi)始計(jì)算修正值,等到第一個(gè)625us記滿后,自動(dòng)將修正值裝載到625us和1us另個(gè)計(jì)數(shù)器中,本地藍(lán)牙時(shí)間基準(zhǔn)恢復(fù)完成。
3.2 藍(lán)牙時(shí)間基準(zhǔn)修正
當(dāng)藍(lán)牙電路從Deep Sleep模式切換至Active模式后,625us和1us這兩個(gè)本地時(shí)間基準(zhǔn)必須要恢復(fù)到當(dāng)前時(shí)間,因此這里需要一個(gè)藍(lán)牙時(shí)間基準(zhǔn)修正機(jī)制,這個(gè)機(jī)制需要將深度休眠時(shí)間Tdeep_sleep換算成625us和1us補(bǔ)償值。藍(lán)牙電路在進(jìn)入Active模式后的第一個(gè)625us的tick到來(lái)時(shí)對(duì)625us和1us這兩個(gè)本地時(shí)間基準(zhǔn)進(jìn)行補(bǔ)償,使得本藍(lán)牙時(shí)間基準(zhǔn)徹底恢復(fù),從而保證在下一個(gè)時(shí)間同步點(diǎn)與對(duì)端藍(lán)牙設(shè)備能夠順利通信。這個(gè)機(jī)制的實(shí)現(xiàn)過(guò)程如下。[5]
第一步:計(jì)算實(shí)際的深度睡眠時(shí)間Tdeep_sleep,采用公式1:
等候的間隙,有的到辦公室處理公務(wù)或準(zhǔn)備“邊整邊改”的資料。辦公室是一棟紅磚平房,每間辦公室至少擺放五張辦公桌,辦公室門(mén)朝里,窗戶對(duì)外,仿佛暗示著不宜公開(kāi)。還有的則聚在一起閑聊,閑聊就是拿人開(kāi)涮,以埋汰人為樂(lè)事。選準(zhǔn)“課題”臨場(chǎng)發(fā)揮,腦筋急轉(zhuǎn)彎,顧左右而言他,張冠李戴,旁敲側(cè)擊是開(kāi)涮的基本功。以前當(dāng)過(guò)村支書(shū)的農(nóng)辦主任吳家金正準(zhǔn)備娶媳婦,即將成為可以和媳婦“扒灰”的“燒火佬”,大家你一言我一語(yǔ)就拼湊了一副對(duì)聯(lián),上聯(lián)“婆婆結(jié)親灶前灶后”,下聯(lián)“公公娶媳火叉火鉗”,橫批“親上加親”,只差筆墨侍候了。
第二步:計(jì)算深度休眠時(shí)間中625us tick的個(gè)數(shù),即深度休眠時(shí)間相對(duì)于625us的整數(shù)部分,采用公式2:
第三步:計(jì)算深度休眠時(shí)間相對(duì)于625us的小數(shù)部分,采用公式3:
第四步:將修正值寫(xiě)入到藍(lán)牙電路的寄存器中,625us和1us計(jì)數(shù)器的修正值將采用計(jì)算公式4和公式5:
從深度休眠到正常工作的藍(lán)牙時(shí)間基準(zhǔn)校正如圖2所示:
圖2 藍(lán)牙時(shí)間基準(zhǔn)修正過(guò)程
(1)藍(lán)牙電路進(jìn)入到deep sleep模式,藍(lán)牙電路主時(shí)鐘關(guān)閉,32kHz時(shí)鐘開(kāi)始計(jì)數(shù)。[6]
(2)當(dāng)32kHz計(jì)數(shù)器達(dá)到設(shè)定的深度休眠時(shí)間的計(jì)數(shù)值時(shí),喚醒藍(lán)牙電路,并打開(kāi)藍(lán)牙主時(shí)鐘,藍(lán)牙時(shí)間基準(zhǔn)計(jì)數(shù)器恢復(fù)從進(jìn)入深度休眠的時(shí)刻開(kāi)始計(jì)數(shù)。[7]
(4)等到625us Tick來(lái)臨時(shí),625us和1us兩個(gè)計(jì)數(shù)器分別載入修正值。并從修正值開(kāi)始計(jì)數(shù)。[8]
(5)再次等到625us Tick來(lái)臨時(shí),625us和1us兩個(gè)計(jì)數(shù)器恢復(fù)正常計(jì)數(shù),此后藍(lán)牙本地時(shí)間基準(zhǔn)得以恢復(fù)。
本地藍(lán)牙基準(zhǔn)時(shí)間是藍(lán)牙設(shè)備能夠在約定的時(shí)間點(diǎn)與對(duì)端設(shè)備完成同步的重要基石,本文提出了一種在深度休眠模式下利用低頻時(shí)鐘暫時(shí)維護(hù)本地藍(lán)牙基準(zhǔn)時(shí)間,并且在退出深度休眠模式能夠精確恢復(fù)本地藍(lán)牙基準(zhǔn)時(shí)間的方案。本方案可以在不增加過(guò)多芯片面積的情況下得到很大的降低功耗的收益。
[1]王劍鋒,陳燦峰,劉嘉,等.一種基于IPv6和低功耗藍(lán)牙的物聯(lián)網(wǎng)體系結(jié)構(gòu)[J].計(jì)算機(jī)科學(xué),2013,40(5):97-102.
[2]洪大能,曹炬,鐘曉蓉.談一種新興的藍(lán)牙技術(shù)——超低功耗藍(lán)牙技術(shù)[J].科研,2015(58)12.
[3]胥京宇.賽普拉斯低功耗藍(lán)牙單芯片為物聯(lián)網(wǎng)助力[J].世界產(chǎn)品與技術(shù),2014(12):53.
[4]蘇松,胡引翠,盧光耀,等.低功耗藍(lán)牙手機(jī)終端室內(nèi)定位方法[J].測(cè)繪通報(bào),2015(12):81-84.
[5]逄淑松,程凱,劉光發(fā),等.MSP430G2553單片機(jī)超低功耗的研究與設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(4):1-2.
[6]楊鑫,申長(zhǎng)軍,趙春江,等.低功耗遠(yuǎn)程墑情自動(dòng)監(jiān)測(cè)站設(shè)計(jì)[J].節(jié)水灌溉,2012(7):53-55.
[7]張維津,張科峰.可重構(gòu)幸存路徑管理Viterbi譯碼器的研究與設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2011,28(2):20-22.
[8]趙魯榮,李欣,程文華.恒電位儀自動(dòng)測(cè)量的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),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