本發(fā)明大體上涉及鍛煉設(shè)備在鍛煉期間的省電。
背景技術(shù):
現(xiàn)今,便攜式裝置(諸如智能手表)被用于記錄由攜帶裝置的人進(jìn)行的身體活動(dòng)。這些裝置可以運(yùn)行通用操作系統(tǒng)平臺(tái)(諸如Android或iOS),因此使得能安裝并執(zhí)行第三方軟件應(yīng)用程序。然而,這些操作系統(tǒng)通常最適合于具有較大電池容量的智能電話或平板電腦。因此,由于較小的電池容量造成的較短使用時(shí)間極大地降低了這些操作系統(tǒng)在例如智能手表中的可用性。
然而,在持久操作中(諸如鍛煉期間),關(guān)鍵的可能是便攜式裝置在鍛煉期間電池不會(huì)耗盡。因此,便攜式裝置在鍛煉期間消耗電量的方式是關(guān)鍵。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的一方面,提供了一種如權(quán)利要求1和26所限定的便攜式裝置。
根據(jù)本發(fā)明的一方面,提供了一種如權(quán)利要求25所限定的方法。
根據(jù)本發(fā)明的一方面,提供了一種如權(quán)利要求27所限定的計(jì)算機(jī)程序產(chǎn)品。
根據(jù)本發(fā)明的一方面,提供了一種攜帶上述計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)可讀分布介質(zhì)。
根據(jù)本發(fā)明的一方面,提供了一種包括用于執(zhí)行如所附權(quán)利要求所述實(shí)施例中的任何實(shí)施例的裝置的裝置。
本發(fā)明的實(shí)施例在從屬權(quán)利要求中限定。
附圖說(shuō)明
在下文中,將參考實(shí)施例和隨附附圖更加詳細(xì)地描述本發(fā)明,附圖中:
圖1示出了根據(jù)一實(shí)施例的系統(tǒng);
圖2A示出了根據(jù)一實(shí)施例的方法;
圖2B示出了根據(jù)一實(shí)施例設(shè)備可以在正常操作模式或受限操作模式期間操作;
圖2C示出了根據(jù)一實(shí)施例的設(shè)備的不同操作模式;
圖3和圖4示出了根據(jù)一些實(shí)施例的設(shè)備的操作系統(tǒng);
圖5示出了根據(jù)一實(shí)施例的設(shè)備的硬件配置;
圖6至圖8示出了根據(jù)一些實(shí)施例何時(shí)可以在模式之間進(jìn)行切換;
圖9至圖10示出了根據(jù)一些實(shí)施例如何估計(jì)進(jìn)行中的鍛煉的剩余持續(xù)時(shí)間;
圖11示出了根據(jù)一實(shí)施例切換回正常操作模式;以及
圖12示出了根據(jù)一實(shí)施例可以如何決定使用限制。
具體實(shí)施方式
下列實(shí)施例為例示性的。雖然本說(shuō)明書(shū)可能在文本的若干位置提及“一(an)”、“一個(gè)(one)”或“一些(some)”實(shí)施例,但這不一定表示每次引用都針對(duì)相同的實(shí)施例,或者特定的特征僅適用于單個(gè)實(shí)施例。不同實(shí)施例的單個(gè)特征也可進(jìn)行組合,以提供其他實(shí)施例。
如圖1所示,在鍛煉期間佩戴個(gè)人訓(xùn)練計(jì)算機(jī)(TC)100是常見(jiàn)的。訓(xùn)練計(jì)算機(jī)100可以是腕式佩戴設(shè)備,諸如智能手表。鍛煉者110可以從訓(xùn)練計(jì)算機(jī)100上實(shí)時(shí)監(jiān)測(cè)鍛煉期間表征生理狀態(tài)的訓(xùn)練參數(shù)??梢詮囊粋€(gè)或多個(gè)性能度量中檢測(cè)出生理狀態(tài),諸如通過(guò)監(jiān)測(cè)隨著訓(xùn)練時(shí)段繼續(xù)心率如何變化。
為了實(shí)現(xiàn)這種監(jiān)測(cè),訓(xùn)練計(jì)算機(jī)100可以從用戶110佩戴的一個(gè)或多個(gè)生理鍛煉傳感器114接收信息,諸如從心臟活動(dòng)傳感器接收心率相關(guān)的信息(基于例如光學(xué)傳感、電氣傳感和/或壓力傳感),從步幅傳感器或全球定位系統(tǒng)(GPS)接收器接收具體位置信息,從GPS/步幅傳感器接收步速/速度相關(guān)的數(shù)據(jù)。此外,如果在鍛煉中應(yīng)用了鍛煉設(shè)備112,則傳感器114可以安裝在這種鍛煉設(shè)備中。集成在設(shè)備112上的這些傳感器114可以包括例如功率傳感器、距離傳感器和節(jié)奏傳感器。
在一實(shí)施例中,訓(xùn)練計(jì)算機(jī)100包括至少一個(gè)生理鍛煉傳感器114,諸如GPS接收器和/或光學(xué)心臟活動(dòng)傳感器。然而,在一實(shí)施例中,至少一個(gè)生理鍛煉傳感器114是外部傳感器并且未集成在訓(xùn)練計(jì)算機(jī)100中。可以通過(guò)無(wú)線鏈路116無(wú)線地將鍛煉數(shù)據(jù)從外部鍛煉傳感器114傳送至訓(xùn)練計(jì)算機(jī)100。無(wú)線通信鏈路116可以應(yīng)用例如WiFi、藍(lán)牙、低功耗藍(lán)牙(BLE)或蜂窩網(wǎng)絡(luò)連接,僅舉一些可能的選項(xiàng)。
下述為傳感器114可以檢測(cè)到的或者訓(xùn)練計(jì)算機(jī)100根據(jù)來(lái)自傳感器114的鍛煉數(shù)據(jù)可以確定的鍛煉數(shù)據(jù)(也稱為生理傳感器數(shù)據(jù)或身體活動(dòng)數(shù)據(jù))的可能類型的非限制性清單:心率區(qū)間、心率樣本、心率變化樣本、心跳間隔樣本、脂肪消耗速率、卡路里消耗速率、卡路里的消耗量、活動(dòng)區(qū)間、活動(dòng)樣本、速度和/或步幅樣本、功率樣本、節(jié)奏樣本、高度樣本、溫度樣本、位置樣本、經(jīng)過(guò)的距離、經(jīng)過(guò)的時(shí)間、腳踏指數(shù)、左右平衡、跑步指數(shù)、訓(xùn)練負(fù)荷、皮膚電反應(yīng)樣本、液體平衡、皮膚溫度樣本、方向樣本和/或自行車角度。位置數(shù)據(jù)可以包括衛(wèi)星定位數(shù)據(jù),諸如GPS定位數(shù)據(jù)或者允許在鍛煉期間在任何給定時(shí)間確定鍛煉者的位置的任何其他數(shù)據(jù)。室內(nèi)移動(dòng)可以通過(guò)室內(nèi)位置追蹤方法(諸如繪圖技術(shù),包括測(cè)量地球的磁場(chǎng)或射頻信號(hào))來(lái)檢測(cè)。傳感器114可以包括檢測(cè)指定鍛煉數(shù)據(jù)類型所需的任何傳感器,諸如用于檢測(cè)環(huán)境溫度或皮膚溫度的溫度傳感器。
訓(xùn)練計(jì)算機(jī)100可以存儲(chǔ)鍛煉數(shù)據(jù),用戶(鍛煉者)110可以在已進(jìn)行鍛煉的事后分析中使用這些鍛煉數(shù)據(jù)。在一實(shí)施例中,在TC 100中進(jìn)行事后分析。在另一實(shí)施例中,鍛煉數(shù)據(jù)從訓(xùn)練計(jì)算機(jī)100和/或鍛煉傳感器114傳送至位于網(wǎng)絡(luò)的服務(wù)器中的網(wǎng)絡(luò)服務(wù)120,并且在網(wǎng)絡(luò)服務(wù)120中進(jìn)行事后分析。在訓(xùn)練計(jì)算機(jī)100沒(méi)有直接互聯(lián)網(wǎng)接入能力的情況下,訓(xùn)練計(jì)算機(jī)100可以通過(guò)例如通過(guò)藍(lán)牙連接耦合至訓(xùn)練計(jì)算機(jī)100的外部移動(dòng)電話接入互聯(lián)網(wǎng)(例如,網(wǎng)絡(luò)服務(wù)120)。移動(dòng)電話可以與訓(xùn)練計(jì)算機(jī)100的同一用戶110關(guān)聯(lián)。
網(wǎng)絡(luò)服務(wù)120可以包括鍛煉數(shù)據(jù)用戶賬戶(UA),每個(gè)鍛煉數(shù)據(jù)用戶賬戶包括與特定用戶110相關(guān)聯(lián)的鍛煉數(shù)據(jù)。這樣,不同的用戶可以有不同的用戶賬戶(#1、#2…#N)。這種網(wǎng)絡(luò)服務(wù)120的示例可以為包括用于存儲(chǔ)多個(gè)用戶賬戶的數(shù)據(jù)庫(kù)的Polar Personal Trainer(Polar私人教練)(PTT)、Polar Flow或iFIT服務(wù)。在一實(shí)施例中,網(wǎng)絡(luò)服務(wù)120可以要求用戶首先應(yīng)用用戶名和密碼或其他認(rèn)證方式連接網(wǎng)絡(luò)服務(wù)120。用戶賬戶上的訓(xùn)練/鍛煉數(shù)據(jù)可以在鍛煉期間或鍛煉之后存儲(chǔ)。用戶賬戶可以額外地存儲(chǔ)從鍛煉者和/或鍛煉設(shè)備獲得的用戶的生理數(shù)據(jù)和用戶屬性,諸如姓名、性別、年齡、體重、身高、形象、狀態(tài)、座右銘、體質(zhì)水平、訓(xùn)練時(shí)間表、最大攝氧量(VO2Max)、最大心率(HRMax)、性能區(qū)間(心率區(qū)間、速度區(qū)間)、有氧和無(wú)氧閾值。
設(shè)備100(例如,便攜式智能手表)包括至少一個(gè)處理單元和包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器,其中,所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置借助與至少一個(gè)處理單元引起設(shè)備100提供多種不同的功能104,諸如支持社交媒體服務(wù)(例如,通知)、支持電話和消息指示(例如,呼叫者ID、被叫通話/消息通知)、可以在Android或iOS上或者例如可以實(shí)現(xiàn)這些功能的任何其他操作系統(tǒng)上運(yùn)行的各種不同應(yīng)用程序(APP)。此外,可以存在除了具有機(jī)械按鈕106以外還具有支持觸摸按鈕108的觸敏能力的顯示器102。設(shè)備100的這些軟件和硬件(HW)功能可以消耗大量的電量,例如在鍛煉模式下多個(gè)功能同時(shí)啟用的情況。
然而,如上所述,在持久操作中,諸如身體活動(dòng)會(huì)話期間(例如,鍛煉期間),設(shè)備100的耗電量是關(guān)鍵的。在鍛煉結(jié)束之前電池就耗盡的情況下,用戶110可能不能記錄整個(gè)訓(xùn)練過(guò)程中的所有鍛煉數(shù)據(jù)。這是不理想的。
因此,如圖2A和圖2B所示,建議設(shè)備100支持如步驟200、202所示的正常操作模式210和受限操作模式212。為了優(yōu)化設(shè)備的耗電量,同時(shí)向設(shè)備100的用戶110提供所有所需的功能104,在步驟204中設(shè)備100可以在正常操作模式210和受限操作模式212之間切換。對(duì)于指定任務(wù),設(shè)備100在受限(操作)模式212下的耗電量可以小于正常(操作)模式210下的耗電量。因此,當(dāng)需要較小的耗電量并且較小數(shù)量的可用功能104就足夠時(shí),可以使用受限操作模式212,而當(dāng)需要較大一組的功能104時(shí),可以應(yīng)用正常操作模式210。
在一實(shí)施例中,在正常操作模式210下,設(shè)備100的功能104在設(shè)備100的操作系統(tǒng)(OS)300中可用。如下文將描述的,操作系統(tǒng)300可以包括多個(gè)層,所述層包括內(nèi)核和庫(kù)函數(shù)層。
在受限操作模式212下,設(shè)備100可以根據(jù)對(duì)應(yīng)于設(shè)備100的用戶110進(jìn)行的身體活動(dòng)會(huì)話的身體活動(dòng)數(shù)據(jù)執(zhí)行至少一個(gè)身體活動(dòng)算法(PAA)220。然而,此時(shí)身體活動(dòng)算法220可以應(yīng)用直接低級(jí)硬件訪問(wèn),從而至少繞過(guò)操作系統(tǒng)300在內(nèi)核和庫(kù)函數(shù)層以上的層。
相反,因?yàn)閼?yīng)用程序?qū)油ǔT贠S層堆棧的頂部,正常模式210中的硬件訪問(wèn)可以經(jīng)過(guò)操作系統(tǒng)300的多個(gè)層。因此,如果PAA 220在正常操作模式210下運(yùn)行,則PAA 220將應(yīng)用操作系統(tǒng)300的多個(gè)層進(jìn)行硬件訪問(wèn)。
在一實(shí)施例中,設(shè)備100是便攜式腕戴腕式設(shè)備,諸如智能手表。在一實(shí)施例中,設(shè)備100是運(yùn)動(dòng)手表。在一實(shí)施例中,設(shè)備100是訓(xùn)練計(jì)算機(jī)。
圖3中示出了操作系統(tǒng)300的示例。如圖所示,操作系統(tǒng)300包括層狀層級(jí)。雖然操作系統(tǒng)300可以為任何操作系統(tǒng),諸如Android、iOS、BSD、Linux、OS X、QNX、Microsoft Windows、Windows Phone或IBM z/OS,但是為了簡(jiǎn)化起見(jiàn),說(shuō)明書(shū)假定操作系統(tǒng)300是Android。
讓我們看一下示例操作系統(tǒng)300的層。在一實(shí)施例中,OS 300建立在內(nèi)核302的頂部。在Android操作系統(tǒng)300的情況下,內(nèi)核為L(zhǎng)inux內(nèi)核302。內(nèi)核302可以被視為操作系統(tǒng)300的核心。內(nèi)核302可以包括例如存儲(chǔ)器管理程序、安全設(shè)置和電量管理軟件。
內(nèi)核302還提供例如在收到應(yīng)用程序的請(qǐng)求時(shí)對(duì)硬件230的訪問(wèn)。為此,內(nèi)核302可以包括HW驅(qū)動(dòng)程序306。硬件驅(qū)動(dòng)程序是控制附接至設(shè)備的特定類型的硬件的計(jì)算機(jī)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于顯示器102的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的攝像機(jī)的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于實(shí)現(xiàn)至/從設(shè)備100的藍(lán)牙和/或低功耗藍(lán)牙通信的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于實(shí)現(xiàn)至/從設(shè)備100的無(wú)線局域網(wǎng)(WLAN/WiFi)通信的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的閃存驅(qū)動(dòng)器的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括設(shè)備100的通用串行總線(USB)接口。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的用戶接口(諸如機(jī)械鍵/按鈕)的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的音頻輸出的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的電量管理單元的驅(qū)動(dòng)程序。在一實(shí)施例中,HW驅(qū)動(dòng)程序306包括用于設(shè)備100的進(jìn)程間通信(IPC)接口的連接器(binder)的驅(qū)動(dòng)程序。
在一實(shí)施例中,在受限操作模式212下運(yùn)行PAA 220所需的驅(qū)動(dòng)程序可以包括用于顯示器102的驅(qū)動(dòng)程序。在一實(shí)施例中,在受限操作模式212下運(yùn)行PAA 220所需的驅(qū)動(dòng)程序可以包括用于實(shí)現(xiàn)藍(lán)牙和/或低功耗藍(lán)牙通信的驅(qū)動(dòng)程序。在一實(shí)施例中,在受限操作模式212下運(yùn)行PAA 220所需的驅(qū)動(dòng)程序可以包括用于WLAN/WiFi通信的驅(qū)動(dòng)程序。在一實(shí)施例中,在受限操作模式212下運(yùn)行PAA 220所需的驅(qū)動(dòng)程序可以包括用于用戶接口的驅(qū)動(dòng)程序。在一實(shí)施例中,在受限操作模式212下運(yùn)行PAA 220所需的驅(qū)動(dòng)程序可以包括用于電量管理單元的驅(qū)動(dòng)程序。內(nèi)核302可以包括某些存儲(chǔ)器,所述存儲(chǔ)器用于操縱系統(tǒng)300必須留在存儲(chǔ)器中并禁止任何其他軟件進(jìn)入的部分。設(shè)備100可以存儲(chǔ)例如引導(dǎo)裝載程序,諸如uBoot或Fastboot。引導(dǎo)裝載程序可以是為設(shè)備100裝載主操作系統(tǒng)300或運(yùn)行時(shí)間環(huán)境的計(jì)算機(jī)程序。
內(nèi)核302頂部上的下一級(jí)可以是標(biāo)準(zhǔn)庫(kù)函數(shù)層304。庫(kù)函數(shù)304可以包括標(biāo)準(zhǔn)庫(kù)指令。庫(kù)304可以包括例如用C或C++語(yǔ)言編寫的一組指令,所述指令告訴設(shè)備100如何處理不同種類的數(shù)據(jù)。這些庫(kù)中的一些處理圖形、多媒體編碼解碼器、數(shù)據(jù)庫(kù)和瀏覽器(例如WebKit)相關(guān)的任務(wù)。例如,媒體框架庫(kù)支持各種音頻、視頻和圖片格式的回放和記錄。
Android運(yùn)行時(shí)間層308包括一組核心Java庫(kù)。該層還可以包括虛擬機(jī),諸如Dalvik虛擬機(jī),或者在Android的情況下為Android Run Time(ART)。虛擬機(jī)是表現(xiàn)得好像具有其自己的操作系統(tǒng)的獨(dú)立的設(shè)備的軟件應(yīng)用程序。例如,Android OS可以使用虛擬機(jī)將每個(gè)應(yīng)用程序作為其自己的進(jìn)程運(yùn)行。這可能是需要的,因?yàn)樵鶤ndroid Java庫(kù)與標(biāo)準(zhǔn)Java庫(kù)或Java Mobile Edition(JME)庫(kù)不同。JME是Java Standard Edition的改編版,允許Java在嵌入式設(shè)備(諸如移動(dòng)電話)上運(yùn)行。
應(yīng)用程序框架層310可以管理設(shè)備100的基本功能,諸如例如資源分配、在進(jìn)程或程序之間切換以及保持追蹤設(shè)備100的物理位置。在操作系統(tǒng)300的層堆棧的頂部是應(yīng)用程序?qū)?12,包括一個(gè)或多個(gè)應(yīng)用程序。該層310可以被視為用戶110在未意識(shí)到該層310下發(fā)生的所有動(dòng)作時(shí)與之交互的層。一些應(yīng)用程序是預(yù)裝在設(shè)備100上的,而一些可以從因特網(wǎng)(諸如從Android市場(chǎng)或?qū)偕痰?上下載。
在一實(shí)施例中,設(shè)備100中僅存在一個(gè)操作系統(tǒng)300。在一實(shí)施例中,操作系統(tǒng)300是建立在Linux內(nèi)核302的頂部的Android。在另一實(shí)施例中,操作系統(tǒng)300是建立在XNU內(nèi)核302的頂部的iOS。在一實(shí)施例中,操作系統(tǒng)300是建立在Windows 9x/NT內(nèi)核302的頂部的Windows。
在正常操作模式期間210,設(shè)備100可以訪問(wèn)整個(gè)操作系統(tǒng)300,包括圖3的所有層。然而,運(yùn)行Android或任何其他操作系統(tǒng)可能消耗大量的電量。例如,用Linux內(nèi)核302運(yùn)行Android 300可能需要例如512MB的存儲(chǔ)器。因?yàn)樾枰绱舜罅康拇鎯?chǔ)器,但是由于費(fèi)用較高大部分省電存儲(chǔ)器可能不可行。因此,使用較便宜、更耗電的存儲(chǔ)器類型?,F(xiàn)在讓我們看一下計(jì)算設(shè)備中使用的不同類型的存儲(chǔ)器。
●緩存(Cache):緩存被設(shè)計(jì)為用于通過(guò)使處理單元最常使用的數(shù)據(jù)能夠迅速地可用而無(wú)需訪問(wèn)外部主存儲(chǔ)單元來(lái)減輕較慢存儲(chǔ)器訪問(wèn)的瓶頸。這可以通過(guò)在處理單元中建立少量的存儲(chǔ)器來(lái)完成,稱為初級(jí)或1級(jí)緩存。通常,1級(jí)緩存的大小較小,在22千字節(jié)(kB)至128kB之間。二級(jí)或2級(jí)緩存通常較大,并駐留在位于處理單元附近的存儲(chǔ)卡上。2級(jí)緩存可以與處理單元直接連接。
●RAM:RAM表示隨機(jī)存取存儲(chǔ)器。RAM通常被稱為主存儲(chǔ)器。RAM是讀/寫型存儲(chǔ)器。認(rèn)為其較快速,并用于存儲(chǔ)計(jì)算機(jī)處理器當(dāng)前處理的以及需要能容易取得的數(shù)據(jù)和程序。RAM是易失的,表現(xiàn)在當(dāng)切斷電源時(shí)其會(huì)丟失其內(nèi)容。RAM可以是有益的,因?yàn)橛?jì)算機(jī)上的大部分?jǐn)?shù)據(jù)都存儲(chǔ)在較緩慢的“存儲(chǔ)介質(zhì)”(諸如硬盤、固態(tài)驅(qū)動(dòng)器或閃存)中。因此,處理單元可能需要將待用的程序或數(shù)據(jù)拷入RAM。因此,RAM大小越高,您的計(jì)算設(shè)備越快。然而,RAM,尤其是靜態(tài)RAM,是相對(duì)昂貴的存儲(chǔ)器類型。有兩種類型的RAM,動(dòng)態(tài)RAM(DRAM)和靜態(tài)RAM(SRAM)。
○動(dòng)態(tài)RAM(DRAM)需要頻繁更新。其不如SRAM昂貴,但對(duì)于指定任務(wù)會(huì)消耗更多的電力。
■雙倍數(shù)據(jù)速率同步動(dòng)態(tài)RAM(DDR SDRAM或簡(jiǎn)單DDR)是一種DRAM。其比SRAM便宜,但對(duì)于指定任務(wù)會(huì)消耗更多電力,這至少在一定程度上是因?yàn)槠涫请娙荽鎯?chǔ)器。
■SRAM(靜態(tài)RAM)可以用作例如緩存存儲(chǔ)器。與DRAM不同,SRAM無(wú)需進(jìn)行更新。無(wú)需不斷更新,SRAM可以更快地操作。但該存儲(chǔ)單元的復(fù)雜性可能使其過(guò)分昂貴,不適于用作標(biāo)準(zhǔn)RAM。此外,因?yàn)闊o(wú)需不斷更新,SRAM可能幾乎不需要電力。例如,用SRAM進(jìn)行指定任務(wù)需要的電力比用DRAM計(jì)算同一任務(wù)少。靜態(tài)RAM可以存在于如集成在芯片上,諸如集成在微處理器單元(MPU)和微控制器單元(MCU)上,用作專用RAM或緩存存儲(chǔ)器,或者集成在專用集成電路(ASIC)上。
●ROM表示只讀存儲(chǔ)器。其是非易失的,并用于存儲(chǔ)無(wú)需更改的數(shù)據(jù),諸如用以啟動(dòng)并運(yùn)行電子設(shè)備或用于設(shè)備的基本啟動(dòng)功能的軟件。
○閃存是一種非易失ROM存儲(chǔ)器。閃存可以是串行閃存類型。串行是使用串行接口進(jìn)行序列數(shù)據(jù)存取的低功率閃存。當(dāng)整合入嵌入式系統(tǒng)時(shí),串行閃存需要的PCB上的電線比并行閃存少,這是因?yàn)榇虚W存一次傳輸和接收一個(gè)位的數(shù)據(jù)。這可以允許縮小板載空間、降低耗電量和降低系統(tǒng)總成本。
由于DDR存儲(chǔ)器比SRAM存儲(chǔ)器便宜,因此它們通常用作用于驅(qū)動(dòng)操作系統(tǒng)300(諸如Android+Linux內(nèi)核)的主RAM。這可能消耗大量的電力。在一實(shí)施例中,正常操作模式210定義為設(shè)備100的DDR存儲(chǔ)器活躍的操作模式。在一實(shí)施例中,在正常操作模式210下,硬件訪問(wèn)通過(guò)操作系統(tǒng)300的層(包括內(nèi)核302和庫(kù)函數(shù)層304以上的層)發(fā)生。
因此,如步驟202和204所示,切換至設(shè)備100的受限操作模式212是有利的,在該模式下,硬件訪問(wèn)不會(huì)經(jīng)過(guò)操作系統(tǒng)300的所有層,而是在PAA 220和PAA 220所需的預(yù)先確定硬件之間應(yīng)用直接低級(jí)硬件訪問(wèn)。
在一實(shí)施例中,直接低級(jí)硬件訪問(wèn)包括預(yù)先確定組的硬件和下述中的一個(gè)之間的訪問(wèn):操作系統(tǒng)的內(nèi)核和至少一個(gè)處理單元。因此,在一實(shí)施例中,PAA 220通過(guò)內(nèi)核302訪問(wèn)HW 230。如上所述,內(nèi)核302可以直接訪問(wèn)用于控制HW 230的設(shè)備驅(qū)動(dòng)程序306。然而,在一個(gè)實(shí)施例中,內(nèi)核302可能不活躍。在這種情況下,直接低級(jí)HW訪問(wèn)可以通過(guò)設(shè)備驅(qū)動(dòng)程序306直接在執(zhí)行PAA 220的處理單元和HW 230之間發(fā)生。
在PAA 220的執(zhí)行期間需要被訪問(wèn)的預(yù)先確定組的硬件230可以包括例如:通信實(shí)現(xiàn)(enabling)HW,諸如藍(lán)牙(BLT)、低功耗藍(lán)牙(BLE)和/或WiFi,用于從外部傳感器接收傳感器數(shù)據(jù);以及位置追蹤實(shí)現(xiàn)HW,諸如GPS接收器,用于接收位置追蹤數(shù)據(jù);僅舉幾例非限制性示例。此外,在一實(shí)施例中,可以啟用近場(chǎng)通信(NFC)/射頻識(shí)別(RFID)。
在一實(shí)施例中,設(shè)備100在進(jìn)入受限操作模式212時(shí)至少可以將操作系統(tǒng)300的預(yù)先確定層停用。操作系統(tǒng)300的這些層至少可以包括庫(kù)函數(shù)層304以上的層,如圖4中的圓點(diǎn)所示。然而,在一實(shí)施例中,內(nèi)核302以上的所有層被關(guān)閉(停用)。但是,在一個(gè)實(shí)施例中,將所有這些層(包括內(nèi)核302)停用。在一實(shí)施例中,在受限操作模式212下,至少將應(yīng)用程序?qū)?12停用。在一實(shí)施例中,在受限操作模式212下,至少將應(yīng)用程序框架層310停用。在一實(shí)施例中,在受限操作模式212下,至少將OS運(yùn)行時(shí)間層308停用。在一實(shí)施例中,在受限操作模式212下,至少將庫(kù)函數(shù)層304停用。在一實(shí)施例中,在受限操作模式212下,至少將內(nèi)核層302停用。關(guān)閉這些層中的至少一些并至少部分地將操作系統(tǒng)300停用可以減少耗電量。這可能是因?yàn)槔缈梢躁P(guān)閉耗電量較高的存儲(chǔ)器單元,諸如DDR存儲(chǔ)器。
在一實(shí)施例中,在受限操作模式212下設(shè)備100的時(shí)鐘頻率降低,以降低功耗率。
圖4還示出了如何在OS 300的層級(jí)中定位原生應(yīng)用程序314和系統(tǒng)服務(wù)316。原生應(yīng)用程序314可以包括布置成由特定操作系統(tǒng)運(yùn)行的軟件,在該情況下用于Android OS 300。由于原生應(yīng)用程序是針對(duì)特定平臺(tái)編寫的,它們可以與操作系統(tǒng)功能(feature)和通常安裝在該平臺(tái)上的其他軟件進(jìn)行交互。例如,原生應(yīng)用程序308可以使用設(shè)備專用硬件和軟件。原生應(yīng)用程序可以預(yù)存在設(shè)備100上,或者其可以從公共或?qū)偕痰曛邢螺d并安裝在設(shè)備100上。
系統(tǒng)服務(wù)316可以包括設(shè)備100的操作必需的服務(wù)??梢园ǚ?wù),諸如:程序執(zhí)行,例如用于分配和解除(de-)分配存儲(chǔ)器;多任務(wù)情況下的CPU調(diào)度;I/O操作處理,例如用于向應(yīng)用程序提供輸入/輸出;文件系統(tǒng)操縱,例如用于將數(shù)據(jù)寫入新文件或從一些文件中取出輸入;通信處理,例如用于實(shí)現(xiàn)不同進(jìn)程之間的通信;以及錯(cuò)誤檢測(cè),例如用于監(jiān)測(cè)系統(tǒng)錯(cuò)誤。
如圖4所示,這些層314和316與OS運(yùn)行時(shí)間層308在同一層。然而,這些原生應(yīng)用程序314可以借助于系統(tǒng)服務(wù)316運(yùn)行,而無(wú)需操作設(shè)備100的整個(gè)OS 300。
在一實(shí)施例中,在正常操作模式210下,裝置的一組功能對(duì)裝置都是可用的,而在受限操作模式212下,僅預(yù)先確定的一子組的功能對(duì)裝置可用。因此,將這些層中的一些關(guān)閉可以表示在正常操作模式210下對(duì)用戶可用的功能組比在受限操作模式212下大。例如,在受限模式212下,位于操作系統(tǒng)300的應(yīng)用程序?qū)?12中的應(yīng)用程序可能無(wú)法訪問(wèn)。這些可以包括例如下載至設(shè)備100的網(wǎng)絡(luò)應(yīng)用程序。然而,用戶可能想要使用整個(gè)組的應(yīng)用程序。因此,始終應(yīng)用低功耗率的受限操作模式是不可行的。但是要注意的是,在受限模式212下運(yùn)行的相同功能也可以在正常操作模式210下運(yùn)行。然而,用于提供功能的應(yīng)用程序可以是不同的。在受限模式下可以由PAA 220提供,而在正常模式下,PAA 220的功能可以由另一應(yīng)用程序(諸如Android應(yīng)用程序)提供。指定任務(wù)在正常模式210下的耗電量可能比同一任務(wù)在受限模式212下的耗電量高。因此,可以進(jìn)行步驟204中兩種模式210和212之間的切換,以優(yōu)化設(shè)備100的耗電量,但是要考慮到設(shè)備100的用戶110的需求。
下面讓我們參考圖5看一下設(shè)備100的示例硬件架構(gòu)。設(shè)備100可以包括微處理器單元(MPU)500,也稱為中央處理單元(CPU)。在一實(shí)施例中,MP 500的型號(hào)可以為例如ARM cortex A5。
MPU 500可以包括集成存儲(chǔ)器500A(諸如相對(duì)昂貴但具有相對(duì)較低的功耗率的SRAM),用于以相對(duì)較低的耗電量相對(duì)較快地執(zhí)行功能。在一實(shí)施例中,集成存儲(chǔ)器500A被用作緩存存儲(chǔ)器。然而,如下所述,集成存儲(chǔ)器500A可以有其他用途。
此外,MPU可以訪問(wèn)包括例如非易失閃存502A的存儲(chǔ)單元502,該存儲(chǔ)單元可以用于存儲(chǔ)經(jīng)常被引用但很少修改的文件/數(shù)據(jù),諸如應(yīng)用程序和操作系統(tǒng)可執(zhí)行的文件。閃存502A可以是串行類型。在一實(shí)施例中,在設(shè)備100啟動(dòng)時(shí),MPU 500可以讀取閃存驅(qū)動(dòng)上的數(shù)據(jù),以查找觸發(fā)操作系統(tǒng)所需的操作系統(tǒng)數(shù)據(jù)。比起通過(guò)普通ROM 502C啟動(dòng),這可以提供更快的啟動(dòng)。存儲(chǔ)單元502還可以包括易失RAM存儲(chǔ)器502B,諸如相對(duì)較便宜但具有相對(duì)較高的耗電量的DDR存儲(chǔ)器。RAM的大小可以為例如128MB(兆字節(jié))。最后,存儲(chǔ)器單元502可以包括具有幾千兆字節(jié)(GB)大小的非易失ROM存儲(chǔ)器502C。存儲(chǔ)單元502可以存儲(chǔ)與用戶應(yīng)用程序相關(guān)的數(shù)據(jù)以及啟用設(shè)備100的操作系統(tǒng)300所需的數(shù)據(jù)。
設(shè)備100可以包括電源506,包括一次性電池或可充電電池。電源506可能具有有限的功率容量,并且在電池電量耗盡后需要更換電池或充電。在一實(shí)施例中,電池為鋰聚合物(LiPo)電池。電源506可以向MPU 500和設(shè)備100的其他硬件供電。在一些實(shí)施例中,電源506可以根據(jù)例如運(yùn)動(dòng)或太陽(yáng)能對(duì)其自身至少部分地充電。電源506還可以包括電量管理單元。
MPU 500可以通過(guò)操作系統(tǒng)的內(nèi)核302連接至HW 230。在一實(shí)施例中,MPU 500可以通過(guò)顯示驅(qū)動(dòng)程序508耦合至設(shè)備100的顯示器102。在一實(shí)施例中,顯示器102可以為觸敏顯示器,其中,觸敏功能可以由MPU500可能通過(guò)觸摸控制器510控制(例如,啟用/停用)。
在一實(shí)施例中,MPU 500可以耦合至輸出驅(qū)動(dòng)程序512。輸出驅(qū)動(dòng)程序512可以控制例如用于引起設(shè)備100的振動(dòng)移動(dòng)的振動(dòng)器514和/或用于從設(shè)備100輸出音頻信號(hào)的揚(yáng)聲器516。設(shè)備100中還可以存在麥克風(fēng),用于從用戶接收音頻命令。輸出驅(qū)動(dòng)程序512還可以向用戶110的皮膚提供電脈沖。
在一實(shí)施例中,MPU 500可以連接至射頻(RF)連接接口518。這些接口可以用于為設(shè)備100提供連接能力。在一實(shí)施例中,設(shè)備100包括BLT或BLE接口520,用于通過(guò)BLT/BLE技術(shù)提供至/從設(shè)備100的通信能力。在一實(shí)施例中,設(shè)備100包括用于接收GPS信號(hào)的GPS接收器522,以對(duì)設(shè)備100進(jìn)行位置追蹤。在一實(shí)施例中,設(shè)備100包括用于在WLAN或無(wú)線個(gè)人局域網(wǎng)(WPAN)中進(jìn)行通信的WiFi接口524。在一實(shí)施例中,設(shè)備100包括用于通過(guò)蜂窩訪問(wèn)進(jìn)行通信的蜂窩接口526。技術(shù)人員可以理解,設(shè)備100還可以包括其他通信接口,諸如基于Dynastream公司ANT或ANT+的接口。其他設(shè)備至設(shè)備通信協(xié)議同樣是可以的。
設(shè)備100可以通過(guò)RF連接接口518連接至用戶110攜帶的移動(dòng)電話,以與移動(dòng)電話通信。例如,移動(dòng)電話可以向設(shè)備100(諸如腕式設(shè)備)發(fā)送新郵件、來(lái)電、新消息、社交媒體更新相關(guān)的通知。
在一實(shí)施例中,設(shè)備100包括身體活動(dòng)傳感器114。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于光學(xué)地測(cè)量用戶110的心臟活動(dòng)的光學(xué)心臟活動(dòng)傳感器(OHAS)528。作為替選方案或另外地,心臟活動(dòng)檢測(cè)可以電力地發(fā)生,在這種情況下,設(shè)備100可以從電力心臟活動(dòng)傳感器接收可以通過(guò)RF連接接口518中的一個(gè)接收的心臟活動(dòng)數(shù)據(jù)。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于確定設(shè)備100的移動(dòng)的加速計(jì)。該加速計(jì)可以是能檢測(cè)在三維坐標(biāo)系統(tǒng)的各個(gè)方向上的移動(dòng)的三維加速計(jì)。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于進(jìn)一步檢測(cè)設(shè)備100的移動(dòng)和/或方向的陀螺儀。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于根據(jù)地球磁場(chǎng)檢測(cè)設(shè)備100的方向的磁傳感器(例如,三軸磁強(qiáng)計(jì))。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于檢測(cè)環(huán)境壓力的壓力傳感器。這可以指示例如相對(duì)于預(yù)先確定的平面(諸如海平面)的高度信息。在一實(shí)施例中,身體活動(dòng)傳感器114包括用于確定環(huán)境溫度和/或設(shè)備的內(nèi)部溫度的溫度傳感器。也可以使用其他身體活動(dòng)傳感器,諸如屏幕上的環(huán)境光傳感器、濕度傳感器和/或電場(chǎng)傳感器。如前所述,這些額外傳感器可以由用戶110佩戴或集成入鍛煉設(shè)備,諸如集成在跑步機(jī)或自行車上,在這些情況下,可以通過(guò)RF連接接口518從對(duì)應(yīng)的身體活動(dòng)傳感器接收身體活動(dòng)數(shù)據(jù)。在一實(shí)施例中,雖然圖5中未示出,設(shè)備100可以包括用于感測(cè)設(shè)備100與另一設(shè)備的接近度的近距離傳感器。
在一實(shí)施例中,設(shè)備100還包括微控制器單元(MCU)530。在一實(shí)施例中,MCU 530可以是ARM cortex M0類型。在一實(shí)施例中,與MPU 500不同,MCU 530可以不配備存儲(chǔ)器管理單元(MMU)501。MMU 501是使所有存儲(chǔ)器訪問(wèn)都經(jīng)過(guò)其自身的計(jì)算機(jī)硬件單元。因此,MMU 501可以執(zhí)行虛擬存儲(chǔ)器地址到物理地址的翻譯。例如,Linux內(nèi)核302可以要求MMU操作。結(jié)果,在一實(shí)施例中,MPU 500能驅(qū)動(dòng)內(nèi)核302,而MCU 530不能驅(qū)動(dòng)內(nèi)核302。因?yàn)閮?nèi)核302,諸如Linux內(nèi)核,不在MCU 530上運(yùn)行,所以MCU 530不能運(yùn)行例如Android操作系統(tǒng)300,而MPU 500可以運(yùn)行Android操作系統(tǒng)300。
可以將MCU 530視為用于至少部分地控制設(shè)備的芯片。與通用MPU 500相比,MCU 530是一種強(qiáng)調(diào)自給自足和成本效益的微處理器。在一實(shí)施例中,MCU 530可以包括預(yù)先確定應(yīng)用程序所需的所有存儲(chǔ)器和接口,而MPU 500通常需要額外芯片來(lái)提供這些功能。
在一實(shí)施例中,MCU 530可以包括用于數(shù)據(jù)存儲(chǔ)的集成存儲(chǔ)器530A。集成存儲(chǔ)器530A可以是集成在MCU 530內(nèi)的內(nèi)部存儲(chǔ)器。在一實(shí)施例中,集成存儲(chǔ)器建立在SRAM上,SRAM具有相對(duì)較低的耗電量,相對(duì)較快的響應(yīng)。MCU 530可以耦合至內(nèi)部或外部程序存儲(chǔ)單元(諸如閃存532),或一些其他類型的非易失存儲(chǔ)器。閃存532可以是串行類型。在一實(shí)施例中,集成存儲(chǔ)器530A被用作緩存存儲(chǔ)器。然而,如下所述,集成存儲(chǔ)器530A可以有其他用途。
然而,在一實(shí)施例中,MCU 530可以不包括任何DRAM存儲(chǔ)器,諸如DDR存儲(chǔ)器。這可以確保針對(duì)指定任務(wù),相比于對(duì)于同一任務(wù)MPU 500的耗電量,耗電量較低。然而,當(dāng)設(shè)備由MCU 530運(yùn)行時(shí),這也可能限制可訪問(wèn)功能的可用性。
圖5中設(shè)備100的不同部件之間的連接可以是有線的。例如,連接可以基于集成電路間(I2C)總線、集成芯片間音頻(I2S)總線、串行外圍接口(SPI)總線。總線可以采用例如RS-232、通用輸入/輸出(GPIO)和/或用于在并行和串行格式之間翻譯數(shù)據(jù)的通用異步接收器/發(fā)送器(UART)。例如,可以在MPU 500和MCU 530之間設(shè)置I2C或SPI總線,以實(shí)現(xiàn)這兩個(gè)處理單元之間的控制和/或數(shù)據(jù)通信。
如上所述,有利的是根據(jù)耗電量和用戶110在設(shè)備100的功能方面的需求在正常操作模式210和受限操作模式212之間切換。讓我們看一下如何獲得受限操作模式212。
在一實(shí)施例中,設(shè)備100包括在受限操作模式210下使用的至少一個(gè)第一存儲(chǔ)單元和在正常操作模式210下使用的至少一個(gè)第二存儲(chǔ)單元,其中所述至少一個(gè)第二存儲(chǔ)單元不在受限操作模式212下使用。在一實(shí)施例中,所述至少一個(gè)第一存儲(chǔ)單元是功耗率低于預(yù)先確定消耗閾值的類型,而所述至少一個(gè)第二存儲(chǔ)單元是功耗率高于預(yù)先確定消耗閾值的類型。在一實(shí)施例中,所述至少一個(gè)第二存儲(chǔ)單元的類型是DDR,而所述至少一個(gè)第一存儲(chǔ)單元的類型是SRAM。第一存儲(chǔ)單元的大小最大可以為幾十MB,諸如32MB。在一實(shí)施例中,第一存儲(chǔ)單元可以集成在對(duì)應(yīng)處理單元中,諸如分別在MPU 500或MCU 530中的存儲(chǔ)器500A、530A。
由于在受限模式212下可以使用SRAM,并且可以關(guān)閉DDR存儲(chǔ)器,所以有利地,在受限模式212下指定任務(wù)的功耗率可以小于正常操作模式210。因此,使用第一存儲(chǔ)器類型而不使用第二存儲(chǔ)器類型可以代表受限操作模式212的一種可能類型。要注意的是,一些任務(wù)/功能/應(yīng)用程序在兩種模式210、212下都可以運(yùn)行。然而,一些任務(wù)/功能/應(yīng)用程序只在正常操作模式210下可用,因?yàn)樵谑芟薏僮髂J?12下使用的SRAM存儲(chǔ)器的處理容量有限。然而,通過(guò)應(yīng)用第一存儲(chǔ)單元至少可以在受限操作模式212下運(yùn)行PAA 220。
在兩種模式210、212下均可以訪問(wèn)非易失存儲(chǔ)單元,諸如(串行)閃存502、532,用于檢索運(yùn)行操作系統(tǒng)300、操作系統(tǒng)300的至少一部分或預(yù)先確定應(yīng)用程序(諸如PAA 220)的軟件代碼。然后可以將檢索到的軟件存儲(chǔ)至使用的易失存儲(chǔ)器單元(第一存儲(chǔ)單元或第二存儲(chǔ)單元),便于更快的訪問(wèn)。在一實(shí)施例中,可訪問(wèn)的非易失存儲(chǔ)器單元可以用于在受限操作模式212下存儲(chǔ)身體鍛煉數(shù)據(jù)。
在一個(gè)示例中,設(shè)備100包括用于在受限操作模式212下至少運(yùn)行PAA 220的低功率控制單元(例如MCU 530),以及用于在正常操作模式210下運(yùn)行操作系統(tǒng)300的高功率控制單元(例如MPU 500)。如上所述,低功率控制單元530在進(jìn)行指定任務(wù)時(shí)具有比高功率控制單元500低的耗電量。
在這種情況下,在步驟204中切換至受限操作模式212可以包括啟用低功率控制單元530以至少運(yùn)行PAA 220,并將高功率控制單元500停用。在一實(shí)施例中,將MPU 500停用可以包括將能被MPU 500訪問(wèn)的DDR存儲(chǔ)器停用。因此,可以降低設(shè)備100的功耗率??梢詫⒃撃J椒Q為“MCU打開(kāi)(on)模式”212A,如圖2C所示。
MCU 530不能運(yùn)行設(shè)備100的OS 300。這可能是由于缺少足夠的存儲(chǔ)器資源:MCU 530中使用的SRAM容量可能太小,無(wú)法運(yùn)行OS 300。在實(shí)踐中,SRAM存儲(chǔ)器的成本限制了可用SRAM存儲(chǔ)器的大小。例如,在實(shí)踐中,為設(shè)備100配備512MB的SRAM存儲(chǔ)器是不可行的,這是運(yùn)行Android OS 300所需的大小。在一實(shí)施例中,操作系統(tǒng)300的內(nèi)核302在受限操作模式212A下也不運(yùn)行。這可能是由于MCU 530中缺少M(fèi)MU 501。在該模式212A中,直接HW訪問(wèn)可以通過(guò)MCU 530的輸入/輸出引腳(接口)(例如,通過(guò)SPI或I2C總線)發(fā)生。MCU 530可以包括為此目的設(shè)計(jì)的用于MCU 530的單獨(dú)(separate)HW驅(qū)動(dòng)程序。然而,MCU 530可以運(yùn)行能夠執(zhí)行功能104的有限子組的單獨(dú)軟件(即,與操作系統(tǒng)300分開(kāi))。這些有限功能可以包括PAA 220提供的功能。在一實(shí)施例中,單獨(dú)程序可以存入設(shè)備的閃存532,使得MCU 530可以訪問(wèn)存儲(chǔ)的程序。然后MCU 530可以將程序(包括PAA 220)存儲(chǔ)至MCU 530的SRAM集成存儲(chǔ)器530A,便于快速訪問(wèn)以及例如運(yùn)行PAA應(yīng)用程序220。
在一實(shí)施例中,包括PAA 220的單獨(dú)程序是設(shè)計(jì)用于設(shè)備100的平臺(tái)的原生應(yīng)用程序。因此,PAA 220不是網(wǎng)絡(luò)應(yīng)用程序。PAA 220可以只應(yīng)用執(zhí)行PAA 220所需的那些系統(tǒng)服務(wù)。包括PAA 220的單獨(dú)程序還可以稱為嵌入式應(yīng)用程序,因?yàn)槠淇梢郧度雽?duì)應(yīng)的處理單元。
MPU 500和MCU 530可以與彼此通信,以同步MCU 530的啟用和MPU 500的停用,以提供從正常操作模式210到受限操作模式212的平滑過(guò)渡,以及從受限操作模式到正常操作模式的平滑過(guò)渡。
在一個(gè)實(shí)施例中,進(jìn)入受限操作模式212包括將操作系統(tǒng)300的內(nèi)核302以及所有其他層停用(關(guān)閉)。這種類型的受限模式212可以稱為“裸金屬模式(bare metal-mode)”212B,如圖2C所示,并且其可以包括用MPU 500的SRAM運(yùn)行PAA 220。PAA 220可以存儲(chǔ)在與MPU 500關(guān)聯(lián)的非易失存儲(chǔ)器單元上,并下載至MPU 500的內(nèi)部存儲(chǔ)器(例如SRAM)500A,便于以較低耗電量快速訪問(wèn)。由于操作系統(tǒng)300的內(nèi)核302和其他部分均被停用,所以該“裸金屬”類型的受限操作模式的耗電量小于使操作系統(tǒng)300甚至是內(nèi)核302保持打開(kāi)的情況。這是因?yàn)榭梢酝S霉穆氏鄬?duì)較高的MPU 500的DDR存儲(chǔ)器,因?yàn)镺S 300沒(méi)有運(yùn)行。將裸金屬模式作為一種選項(xiàng)是有益的,因?yàn)槿绻O(shè)備100完全不包括MCU 530,則通過(guò)進(jìn)入裸金屬模式并用MPU 500運(yùn)行PAA 220,受限功率模式仍然是可能的。
在一實(shí)施例中,可以通過(guò)啟動(dòng)設(shè)備100的操作系統(tǒng)300進(jìn)入“裸金屬模式”212B。這樣,首先關(guān)閉運(yùn)行的操作系統(tǒng)300。然而,在啟動(dòng)時(shí),并不運(yùn)行操作系統(tǒng)的啟用文件,MPU 500可以將具有有限功能但包括PAA 220的單獨(dú)軟件程序從關(guān)聯(lián)的非易失存儲(chǔ)器(諸如閃存502A)下載至集成SRAM 500A,并以相對(duì)較低的功耗率運(yùn)行受限程序220。在這種情況下,可以在MPU 500和所需的硬件之間直接對(duì)執(zhí)行PAA 220所需的HW 230進(jìn)行硬件訪問(wèn)??梢源嬖谠O(shè)計(jì)用于裸金屬模式的單獨(dú)HW驅(qū)動(dòng)程序,所述HW驅(qū)動(dòng)程序可以用于進(jìn)行直接HW訪問(wèn)。
如上所述,在受限操作模式212A、212B下可以不運(yùn)行操作系統(tǒng)300的內(nèi)核302。然而,在受限操作模式212的另一種類型中,即“內(nèi)核打開(kāi)模式”212C,設(shè)備100可以包括外部存儲(chǔ)單元,諸如易失存儲(chǔ)單元(例如,閃存單元502A)。設(shè)備在運(yùn)行操作系統(tǒng)300的內(nèi)核302時(shí)可以使用該外部存儲(chǔ)單元。然而,可以至少將操作300系統(tǒng)在內(nèi)核302和庫(kù)函數(shù)層304以上的層停用,以避免應(yīng)用耗電DDR存儲(chǔ)器的需要。在一實(shí)施例中,外部存儲(chǔ)單元可以包括例如32MB,這足以運(yùn)行內(nèi)核302,但不足以運(yùn)行整個(gè)OS 300。在“內(nèi)核打開(kāi)模式”212C下,MPU 500可以配置成從外部ROM存儲(chǔ)器運(yùn)行身體活動(dòng)算法220。但是,在一實(shí)施例中,MPU 500可以將PAA 220從外部ROM存儲(chǔ)器下載至集成SRAM,便于快速訪問(wèn)。
在一實(shí)施例中,PAA 220可以布置成由設(shè)備100的SRAM容量運(yùn)行。因此,不需要使用設(shè)備100的DDR存儲(chǔ)器,并可以將該DDR存儲(chǔ)器關(guān)閉,以節(jié)省電量。
在一實(shí)施例中,在身體活動(dòng)會(huì)話期間可以使用受限操作模式212,以減少該時(shí)段期間電量耗盡的風(fēng)險(xiǎn)。就此而言,受限操作模式212可以稱為鍛煉模式。鍛煉模式可以對(duì)應(yīng)于長(zhǎng)時(shí)的身體活動(dòng)會(huì)話,諸如慢跑。在一實(shí)施例中,在短時(shí)鍛煉中可以使用正常操作模式210,在該模式下,設(shè)備100的整個(gè)組的功能對(duì)用戶110都是可用的。就此而論,正常操作模式210也可以稱為短時(shí)鍛煉模式??梢杂蓄A(yù)先確定持續(xù)時(shí)間,在該持續(xù)時(shí)間內(nèi),將身體活動(dòng)會(huì)話劃分為短時(shí)身體活動(dòng)會(huì)話和(長(zhǎng)時(shí))身體活動(dòng)會(huì)話。
在一實(shí)施例中,身體活動(dòng)會(huì)話是期間可以測(cè)量身體活動(dòng)的任何時(shí)段。例如,睡眠可以是一種身體活動(dòng),在睡眠期間可以在活動(dòng)測(cè)量方面進(jìn)行測(cè)量。然而,在一實(shí)施例中,身體活動(dòng)會(huì)話是個(gè)人110進(jìn)行的鍛煉。鍛煉可以通過(guò)限定將身體活動(dòng)分為鍛煉和非鍛煉的活動(dòng)閾值(例如,從每個(gè)指定時(shí)間單位消耗的卡路里方面限定)而與其他身體活動(dòng)會(huì)話區(qū)分開(kāi)(諸如,與睡眠區(qū)分開(kāi))。
下面讓我們考慮當(dāng)觸發(fā)了受限操作模式212的情況。在一實(shí)施例中,當(dāng)設(shè)備在正常操作模式210下運(yùn)行時(shí),MPU 500首先運(yùn)行PAA 220。然而,在身體活動(dòng)會(huì)話期間,可以確定的是設(shè)備100的當(dāng)前電量資源不足以持續(xù)到當(dāng)前身體活動(dòng)會(huì)話預(yù)計(jì)結(jié)束的時(shí)候。在這種情況下,MPU 500和/或MCU 530可以自動(dòng)執(zhí)行切換至受限操作模式212。因此,用戶110完全不需要交互就可以進(jìn)行切換。切換至受限操作模式212對(duì)用戶110可能是不可見(jiàn)的。在另一實(shí)施例中,從正常操作模式210進(jìn)入受限操作模式212需要用戶確認(rèn),其中用戶110可以通過(guò)設(shè)備100的用戶接口(例如,觸摸顯示器、機(jī)械按鈕)進(jìn)行輸入來(lái)確認(rèn)。
如上所述,設(shè)備100可以包括用于為設(shè)備100的操作供電的電源506。如圖6所示,在一實(shí)施例中,至少一個(gè)處理單元(例如,MPU 500)可以檢測(cè)電源506的功率狀態(tài)。在步驟600中,MPU 500還可以確定設(shè)備100當(dāng)前的功耗率。然后在步驟602中,MPU 500可以將功耗率與檢測(cè)到的電池(電源)506的功率狀態(tài)進(jìn)行比較。此后,MPU 500可以根據(jù)比較結(jié)果決定在正常操作模式210和受限操作模式212之間切換。
例如,如果比較結(jié)果表明剩余的電量資源低于預(yù)先確定的電池閾值,并且功耗率高于預(yù)先確定的消耗閾值,則MPU 500可以決定執(zhí)行切換至受限操作模式212,以延長(zhǎng)電池的壽命。在另一方面,如果對(duì)比結(jié)果表明剩余電量資源高于預(yù)先確定的電池閾值和/或功耗率低于預(yù)先確定的消耗閾值,則MPU 500可以決定保持正常操作模式210。在設(shè)備100已經(jīng)在受限模式212下操作并且對(duì)比結(jié)果表明電池狀態(tài)高于預(yù)先確定的電池閾值,則負(fù)責(zé)的處理單元500可以決定切換至正常模式210。
在一實(shí)施例中,可以估計(jì)在下一次電源充電之前的剩余持續(xù)時(shí)間。這可以根據(jù)電池充電相關(guān)的歷史信息確定。例如,設(shè)備100的用戶110的典型行為可能是定期(諸如每晚)對(duì)設(shè)備100充電。還要注意的是,設(shè)備100可以記錄一天的當(dāng)前時(shí)間。在這種情況下,MPU 500可以進(jìn)一步根據(jù)直到下一次電源充電的剩余持續(xù)時(shí)間作出關(guān)于切換的決定。例如,在確定功耗率較高(高于消耗閾值)并且電池水平較低(例如,低于電池閾值)但直到預(yù)期進(jìn)行下一次充電僅有較短的時(shí)間的情況下,則設(shè)備100可以決定留在正常操作模式210。較短的時(shí)間可以定義為假設(shè)功耗率保持其當(dāng)前的水平時(shí)比設(shè)備100的剩余操作時(shí)間短的時(shí)間。該實(shí)施例可以因此減少不必要的切換至受限操作模式212。
在圖7所示的一個(gè)實(shí)施例中,MPU 500可以檢測(cè)身體活動(dòng)會(huì)話(例如,鍛煉)的開(kāi)始700,并在身體活動(dòng)會(huì)話的開(kāi)始決定切換至受限操作模式212。這可以簡(jiǎn)化模式210、212的使用。此外,由于用戶110在鍛煉期間很可能不需要使用整個(gè)操作系統(tǒng)300,所以在鍛煉的開(kāi)始就切換至受限操作模式212不會(huì)對(duì)用戶110造成負(fù)面影響,但可以有利地延長(zhǎng)設(shè)備100的電池壽命。
在一個(gè)實(shí)施例中,如圖8所示,讓我們假設(shè)鍛煉在點(diǎn)700處開(kāi)始,并且設(shè)備100當(dāng)前在正常操作模式210下運(yùn)行。在進(jìn)行中的鍛煉期間,MPU 500可以檢測(cè)電池的功率狀態(tài),并在步驟800中獲得進(jìn)行中身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間。如稍后將解釋的,這可以通過(guò)各種方式取得。接著,在正常模式下運(yùn)行OS 300的MPU 500可以將功率狀態(tài)與進(jìn)行中身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間進(jìn)行比較。根據(jù)比較,MPU 500可以決定是否切換至受限操作模式212。
例如,在檢測(cè)時(shí),根據(jù)比較結(jié)果——電池506的功率狀態(tài)不足以持續(xù)至進(jìn)行中身體活動(dòng)會(huì)話結(jié)束,MPU 500可以決定切換至受限操作模式212。在圖8的示例中,比較表明電池狀態(tài)不足以持續(xù)至鍛煉結(jié)束,并且因此MPU 500可以在步驟802中確定切換至受限模式210。MPU 500可以進(jìn)一步檢測(cè)當(dāng)前耗電量水平并在確定是否切換至受限操作模式212時(shí)將當(dāng)前電量水平考慮在內(nèi)。在另一方面,在檢測(cè)時(shí),根據(jù)比較結(jié)果,即電池506的功率狀態(tài)足以持續(xù)至進(jìn)行中身體活動(dòng)會(huì)話結(jié)束,MPU 500可以決定留在正常操作模式210。
在一實(shí)施例中,設(shè)備100可以獲得進(jìn)行中的身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間,如圖9所示。設(shè)備100可以在步驟900中檢測(cè)設(shè)備100附近的至少一個(gè)身體活動(dòng)傳感器(#1、#2、#3)。傳感器的檢測(cè)可以基于傳感器通過(guò)例如BLT傳輸?shù)臉?biāo)識(shí)符。根據(jù)標(biāo)識(shí)符,設(shè)備100可以檢測(cè)出周圍設(shè)備是身體活動(dòng)傳感器。
然后,設(shè)備100可以在步驟902中將檢測(cè)到的至少一個(gè)身體活動(dòng)傳感器(#1、#2、#3)與包括之前身體活動(dòng)會(huì)話以及之前檢測(cè)到的身體活動(dòng)傳感器的數(shù)據(jù)的數(shù)據(jù)庫(kù)904進(jìn)行比較。該數(shù)據(jù)庫(kù)904可以存儲(chǔ)在例如設(shè)備的ROM存儲(chǔ)器502C中或者存儲(chǔ)在設(shè)備100可訪問(wèn)的服務(wù)器中。數(shù)據(jù)庫(kù)904可以存儲(chǔ)例如已在哪些鍛煉中檢測(cè)到哪些身體活動(dòng)傳感器(或其他周圍設(shè)備)以及這些鍛煉已持續(xù)多久的信息。
在一個(gè)實(shí)施例中,檢測(cè)到的至少一個(gè)身體活動(dòng)傳感器(#1、#2、#3)未與設(shè)備100配對(duì)或者未以其他方式與設(shè)備100關(guān)聯(lián)。這些傳感器可以是例如其他在健身房中鍛煉的人的傳感器或者集成入鍛煉環(huán)境的傳感器。
在步驟906中,設(shè)備100可以根據(jù)比較結(jié)果估計(jì)進(jìn)行中身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間。例如,可能是已檢測(cè)到這些傳感器(#1、#2、#3)也在之前鍛煉的一些鍛煉中,并且每次檢測(cè)到這些傳感器時(shí),鍛煉都基本持續(xù)了一個(gè)小時(shí)。可能是這些傳感器集成入了健身房的自行車中,并且健身房中典型的自行車時(shí)段持續(xù)了一個(gè)小時(shí)。然后,可以假設(shè)當(dāng)前鍛煉也會(huì)基本持續(xù)一個(gè)小時(shí)。
在一實(shí)施例中,檢測(cè)到的至少一個(gè)身體活動(dòng)傳感器(#1、#2、#3)已經(jīng)與設(shè)備100配對(duì)。例如,當(dāng)個(gè)人開(kāi)始自行車鍛煉時(shí),設(shè)備100可以檢測(cè)到節(jié)奏傳感器。這樣,設(shè)備100可以根據(jù)檢測(cè)到的傳感器檢測(cè)正在進(jìn)行的或即將進(jìn)行的是什么類型的鍛煉。還可以是用戶110通常會(huì)持續(xù)45分鐘的某些類型的運(yùn)動(dòng)(諸如慢跑)。因此,可以預(yù)計(jì)鍛煉現(xiàn)在也將持續(xù)相同的時(shí)間。
在圖10所示的一個(gè)實(shí)施例中,設(shè)備100可以在步驟1000中確定進(jìn)行中的身體活動(dòng)會(huì)話的至少一個(gè)性質(zhì)(property)。性質(zhì)可以是例如:心臟活動(dòng)相關(guān)的性質(zhì),諸如平均心率或心率變化;或者累積性質(zhì),諸如經(jīng)過(guò)的距離、消耗的卡路里或走過(guò)的步數(shù)。
在步驟1002中,設(shè)備100可以將確定的至少一個(gè)性質(zhì)與存儲(chǔ)的同一用戶110之前的身體活動(dòng)會(huì)話相關(guān)的數(shù)據(jù)進(jìn)行比較。數(shù)據(jù)可以存儲(chǔ)在位于非易失存儲(chǔ)器中的數(shù)據(jù)庫(kù)1004中,或存儲(chǔ)在通過(guò)網(wǎng)絡(luò)設(shè)備100可訪問(wèn)的服務(wù)器中。數(shù)據(jù)庫(kù)1004可以存儲(chǔ)將某些性質(zhì)與某些身體活動(dòng)類型關(guān)聯(lián)起來(lái)的數(shù)據(jù)。例如,滑雪的特征可以在于某些心臟活動(dòng)和某些經(jīng)過(guò)的距離,而冰球訓(xùn)練的對(duì)應(yīng)表征特征可能明顯不同。因此,設(shè)備100可以根據(jù)比較檢測(cè)當(dāng)前進(jìn)行的是哪種身體活動(dòng)類型。再例如,要注意的是,例如睡眠的特征可以在于相對(duì)較慢的活動(dòng),而一些其他身體活動(dòng)(諸如運(yùn)動(dòng))可以輸出較大的活動(dòng)度量。
然后在步驟1006中,設(shè)備100可以根據(jù)比較結(jié)果估計(jì)進(jìn)行中身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間。例如,根據(jù)數(shù)據(jù)庫(kù)1004,可以推斷確定的至少一個(gè)性質(zhì)表明個(gè)人110在慢跑。此外,數(shù)據(jù)庫(kù)1006還存儲(chǔ)表明某項(xiàng)身體活動(dòng)該用戶110通常持續(xù)多久的數(shù)據(jù)。因此,設(shè)備100可以獲得進(jìn)行中身體活動(dòng)會(huì)話的剩余持續(xù)時(shí)間的估計(jì)。
在一實(shí)施例中,數(shù)據(jù)庫(kù)904、1004可以位于互聯(lián)網(wǎng)中或設(shè)備100可訪問(wèn)的單獨(dú)數(shù)據(jù)庫(kù)中。在一實(shí)施例中,數(shù)據(jù)庫(kù)904、1004可以位于設(shè)備100中作為預(yù)存數(shù)據(jù)。
在一實(shí)施例中,用戶110在開(kāi)始鍛煉之前輸入身體活動(dòng)會(huì)話的持續(xù)時(shí)間的指示。這可能是當(dāng)用戶110根據(jù)預(yù)先確定的訓(xùn)練程序開(kāi)始身體活動(dòng)會(huì)話時(shí)的情況。用戶可以用設(shè)備100設(shè)計(jì)訓(xùn)練程序,或在網(wǎng)絡(luò)服務(wù)120中設(shè)計(jì)訓(xùn)練程序或在單獨(dú)的移動(dòng)電話中設(shè)計(jì)訓(xùn)練程序,并將設(shè)計(jì)的程序上傳至設(shè)備100。這樣,在鍛煉的開(kāi)始就可以知道鍛煉的持續(xù)時(shí)間。
在一實(shí)施例中,在確定鍛煉的持續(xù)時(shí)間時(shí)將一天的時(shí)間和/或一周的天數(shù)考慮在內(nèi)。例如,在周末,用戶110可以進(jìn)行比工作日長(zhǎng)的訓(xùn)練。
在一實(shí)施例中,在檢測(cè)到電量短缺的任何指示之前觸發(fā)切換至受限操作模式。這是有益的,使得減少電池506耗盡的風(fēng)險(xiǎn)。
在一實(shí)施例中,一旦打開(kāi)受限操作模式212,則維持打開(kāi)受限模式212,直到預(yù)先確定的持續(xù)時(shí)間結(jié)束(expire),此后自動(dòng)觸發(fā)正常模式210。因此,即使身體活動(dòng)會(huì)話結(jié)束,仍可以使受限操作模式212保持打開(kāi)一段時(shí)間。
然而,在一實(shí)施例中,如圖7和圖8所示,設(shè)備100可以檢測(cè)到身體活動(dòng)會(huì)話結(jié)束。這種檢測(cè)可以是自動(dòng)的,或者由用戶110輸入。因此,在步驟702中,設(shè)備100可以進(jìn)入正常操作模式210。這可以包括啟用操作系統(tǒng)300的所有層,從而允許在設(shè)備100上運(yùn)行較大組的功能。然而,同時(shí),可能需要啟用DDR存儲(chǔ)器,并因此,耗電量可能增加。
然而,如圖7和圖8所示,觸發(fā)OS 300可能需要一些時(shí)間。用戶110會(huì)發(fā)現(xiàn)等待OS 300完全啟動(dòng)是令人沮喪的。因此,在一實(shí)施例中,如圖11所示,設(shè)備100可以估計(jì)當(dāng)前身體活動(dòng)會(huì)話的結(jié)束時(shí)間。這可以按照例如參考圖9和圖10的解釋來(lái)確定。此后,設(shè)備100可以在步驟1100中在當(dāng)前身體活動(dòng)會(huì)話結(jié)束之前開(kāi)始啟用操作系統(tǒng)300至少預(yù)先確定的啟用持續(xù)時(shí)間1102,其中,預(yù)先確定的啟用持續(xù)時(shí)間1102基本對(duì)應(yīng)于完全啟用操作系統(tǒng)300所需的持續(xù)時(shí)間。因此,用戶110完全無(wú)需等待OS 300啟動(dòng),因?yàn)樵阱憻捊Y(jié)束時(shí)OS 300已經(jīng)完全打開(kāi)。
在一實(shí)施例中,PAA 220是程序,當(dāng)被執(zhí)行時(shí)會(huì)引起設(shè)備100從與設(shè)備100相關(guān)聯(lián)的至少一個(gè)身體活動(dòng)傳感器獲得身體活動(dòng)數(shù)據(jù),并存儲(chǔ)接收到的身體活動(dòng)數(shù)據(jù)。
數(shù)據(jù)可以存儲(chǔ)在設(shè)備的存儲(chǔ)器中,和/或傳送至服務(wù)器120。在一實(shí)施例中,在受限操作模式212下關(guān)閉網(wǎng)絡(luò)訪問(wèn)接口,以減少耗電量。因此,設(shè)備100可以首先將鍛煉身體活動(dòng)數(shù)據(jù)存儲(chǔ)至設(shè)備自身的存儲(chǔ)器,此后,一旦進(jìn)入正常操作模式210并且啟用了網(wǎng)絡(luò)訪問(wèn)接口,諸如WiFi或蜂窩訪問(wèn)接口546、526,則身體活動(dòng)數(shù)據(jù)可以傳送至網(wǎng)絡(luò)服務(wù)120進(jìn)行存儲(chǔ)。
在一個(gè)實(shí)施例中,身體活動(dòng)數(shù)據(jù)可以從設(shè)備自身的集成身體活動(dòng)傳感器(諸如GPS接收器522、光學(xué)心臟活動(dòng)傳感器528、壓力傳感器、溫度傳感器和移動(dòng)傳感器(例如陀螺儀、加速計(jì)))獲得。在這種情況下,可以通過(guò)集成總線接口(諸如I2C總線)獲得數(shù)據(jù)。
替選地或另外地,在一實(shí)施例中,可以通過(guò)無(wú)線連接(諸如BLE)從至少一個(gè)外部身體活動(dòng)傳感器接收身體活動(dòng)數(shù)據(jù)。這些外部傳感器可以包括例如電力心臟活動(dòng)傳感器、外部GPS接收器、外部移動(dòng)傳感器(例如加速計(jì))、節(jié)奏傳感器。在一個(gè)實(shí)施例中,外部傳感器中的至少一個(gè)可以攜帶在用戶110上。在一個(gè)實(shí)施例中,外部傳感器中的至少一個(gè)可以集成在用于進(jìn)行鍛煉的鍛煉設(shè)備(諸如健身房設(shè)備)中。
在一實(shí)施例中,PAA 220引起設(shè)備220執(zhí)行各種任務(wù)?,F(xiàn)在讓我們看一下在受限操作模式212下在設(shè)備100中運(yùn)行的PAA 220會(huì)引起設(shè)備100做什么。
在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定用戶的心臟活動(dòng)。這可以造成例如確定心率或心率變化。
在一實(shí)施例中,身體活動(dòng)算法引起確定個(gè)人110的心率的心率區(qū)間。心率區(qū)間可以預(yù)先確定。然而,在一實(shí)施例中,PAA 220引起在身體活動(dòng)會(huì)話的開(kāi)始確定心率區(qū)間。這種確定可以根據(jù)例如Polar Electro的功能發(fā)生。
在一實(shí)施例中,身體活動(dòng)算法引起確定某項(xiàng)身體活動(dòng)量度的最小值和最大值。這種量度可以是例如心率、海拔(例如在海平面以上)、速度,僅舉一些非限制性示例。
在一實(shí)施例中,身體活動(dòng)算法引起在身體活動(dòng)會(huì)話期間根據(jù)獲得的身體活動(dòng)數(shù)據(jù)(諸如根據(jù)GPS或其他移動(dòng)數(shù)據(jù))確定經(jīng)過(guò)的距離。
在一實(shí)施例中,身體活動(dòng)算法引起在身體活動(dòng)會(huì)話期間根據(jù)獲得的身體活動(dòng)數(shù)據(jù)(諸如GPS數(shù)據(jù))確定速度。
在一實(shí)施例中,身體活動(dòng)算法引起在身體活動(dòng)會(huì)話期間根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定消耗的卡路里。在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定消耗卡路里的脂肪消耗。
在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定活動(dòng)度量?;顒?dòng)度量可以基于來(lái)自移動(dòng)傳感器(諸如來(lái)自加速計(jì))的移動(dòng)數(shù)據(jù)。活動(dòng)度量可以表明用戶110在身體活動(dòng)會(huì)話期間有多活躍。在一實(shí)施例中,在個(gè)人110睡眠的時(shí)候確定該活動(dòng)度量,從而獲得個(gè)人休息得如何的量度。
在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定身體活動(dòng)會(huì)話引起的訓(xùn)練負(fù)荷。
在一實(shí)施例中,身體活動(dòng)算法引起在身體活動(dòng)會(huì)話期間根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定節(jié)奏。
在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)確定皮膚溫度。這種類型的身體活動(dòng)數(shù)據(jù)可以從溫度傳感器接收。
在一實(shí)施例中,身體活動(dòng)算法引起根據(jù)獲得的身體活動(dòng)數(shù)據(jù)(諸如磁強(qiáng)計(jì)數(shù)據(jù))確定方向。
因此,在一實(shí)施例中,受限操作模式212下可用的功能104包括身體活動(dòng)數(shù)據(jù)處理。在一實(shí)施例中,在受限操作模式212下可用的功能104包括傳感器融合操作,以利用來(lái)自許多不同身體活動(dòng)傳感器的數(shù)據(jù)。
在一實(shí)施例中,在受限操作模式212下可用的功能104包括低范圍通信能力。這可以是為了從外部身體活動(dòng)傳感器接收身體活動(dòng)數(shù)據(jù)。通信可以應(yīng)用例如圖5的BLT或BLE單元520。
在一實(shí)施例中,在受限操作模式212下可用的功能104包括根據(jù)例如圖5的框522接收的GPS數(shù)據(jù)進(jìn)行位置追蹤。
在一實(shí)施例中,在受限操作模式212下可用的功能104包括音頻指導(dǎo),使得用戶110在例如心率超過(guò)一定水平時(shí)可以聽(tīng)到。
在一實(shí)施例中,在受限操作模式212下可用的功能104包括移動(dòng)控制(例如,控制移動(dòng)電話的音頻播放器)。
讓我們參考表1進(jìn)一步看一下受限操作模式212下可用和不可用的功能。但是要注意的是,表1僅為不同模式下可用功能的示例配置。多個(gè)不同種類的配置均可用,并在本發(fā)明的范圍內(nèi),每種配置在不同模式下提供不同的功能。
對(duì)應(yīng)于受限操作模式212(即鍛煉模式)的列下的叉表示受限操作模式212下哪些功能對(duì)設(shè)備100可用。該表進(jìn)一步示出了正常操作模式210下哪些功能對(duì)設(shè)備100可用??梢钥闯觯芟薏僮髂J?12下設(shè)備100的功能可以顯著減少,以減少設(shè)備100的耗電量。
表1:不同模式下可用的功能
表1還示出了其他類型的受限操作模式212,諸如圖2C的夜間模式216A和手表模式216B。該表可以表明這些模式下哪些功能可用。這些模式可以被看做是受限操作模式212的子類型,因?yàn)橄啾扔谡DJ?10,設(shè)備100的功能僅局限于子組的功能,這些模式也可以稱為微動(dòng)模式(fiddling mode)。
在一實(shí)施例中,在預(yù)先確定的時(shí)間(諸如在夜間)內(nèi)使用夜間模式216AC。典型地,用戶在夜間不需要設(shè)備100的許多功能,所以可以將設(shè)備100切換至夜間模式216A。然而,通過(guò)運(yùn)行PAA 220也可以在夜間監(jiān)測(cè)例如個(gè)人的活動(dòng)。在一實(shí)施例中,在夜間模式下可用的功能包括根據(jù)活動(dòng)感測(cè)(例如監(jiān)測(cè)用戶110在戴著移動(dòng)傳感器睡著時(shí)的活動(dòng))、用于確定消耗的卡路里的量的卡路里消耗算法以及手表功能進(jìn)行睡眠分析。
在一實(shí)施例中,在不需要設(shè)備100的全部功能并且用戶110需要至少記錄時(shí)間時(shí)可以使用手表模式216B。在手表模式下,MPU 500可以不啟用,并且可以用MCU 530運(yùn)行需要的程序。這可以節(jié)省電量。此外,因?yàn)楣δ苡邢蓿恍鑶⒂蒙倭康拇鎯?chǔ)器。在一實(shí)施例中,在手表模式下可用的功能包括:手表、無(wú)線接口(例如,用于通過(guò)BLE技術(shù)與外部設(shè)備(諸如與配對(duì)移動(dòng)電話)交互)、移動(dòng)控制(例如控制移動(dòng)設(shè)備的音頻播放器)以及設(shè)備的用戶接口。
在一實(shí)施例中,受限操作模式212下不可用的功能包括設(shè)備100的顯示器102的觸摸靈敏度。這是有益的,因?yàn)殡m然觸敏顯示器102是用戶友好的,但這種顯示器會(huì)引起較高的耗電量,雖然在鍛煉期間通常不會(huì)用到它。因此,為了節(jié)省電量,一進(jìn)入受限操作模式212,就可以用觸摸控制器510關(guān)閉觸摸靈敏度。還需注意的是,在一些實(shí)施例中,在受限操作模式212下可以用MCU 530驅(qū)動(dòng)顯示器102,如圖5所示。MCU 530可能無(wú)法訪問(wèn)觸摸控制器510。
在一實(shí)施例中,當(dāng)關(guān)閉觸摸靈敏度功能時(shí),可以自動(dòng)啟用設(shè)備的機(jī)械用戶接口,諸如機(jī)械按鈕106,從而允許用戶控制設(shè)備。
在一實(shí)施例中,受限操作模式212下不可用的功能包括社交媒體支持。這可能是因?yàn)闄z測(cè)和顯示社交媒體更新會(huì)消耗電池506的電量。在一實(shí)施例中,用戶110的移動(dòng)電話連接至社交媒體服務(wù)器并檢測(cè)更新。然后移動(dòng)電話向設(shè)備100(諸如腕式手表)傳輸指示,然后設(shè)備100通知用戶110。雖然設(shè)備100本身可能不需要連接至社交媒體服務(wù)器,但設(shè)備100可能需要能從移動(dòng)電話檢測(cè)通知信號(hào),而這可能耗費(fèi)電池506的電量。
在一實(shí)施例中,受限操作模式212下不可用的功能包括電話和消息支持。類似地,與社交媒體支持的情況相同,從移動(dòng)電話聽(tīng)取與來(lái)電相關(guān)的通知信號(hào)可能會(huì)不必要地使用電池資源。典型地,在鍛煉期間,用戶110對(duì)接收電話、電子郵件、消息或社交媒體更新的通知不感興趣。
在正常操作模式210下,一些可用的功能至少可以包括無(wú)線接口GPS接收、執(zhí)行體能測(cè)試算法、使用設(shè)備100的集成音頻播放器。
如上所述,因此受限操作模式212可以有利地造成比正常操作模式210低的功耗率。在一實(shí)施例中,受限鍛煉模式212可以被視為設(shè)備100(諸如智能手表)主動(dòng)監(jiān)測(cè)用戶110的身體活動(dòng)的狀態(tài)。在該模式下,可以啟用許多功能,用于測(cè)量、處理、記錄和分析與用戶活動(dòng)相關(guān)的感興趣的數(shù)據(jù)。鍛煉模式的這些功能可以影響電池506壽命,并因此限制設(shè)備100可以在這種鍛煉模式下(即受限操作模式212下)操作的持續(xù)時(shí)間。
在一實(shí)施例中,設(shè)備100可以在受限操作模式212下動(dòng)態(tài)地限制至少一個(gè)身體活動(dòng)相關(guān)的功能的使用。因此,在受限操作模式212開(kāi)始時(shí),有預(yù)先確定的子組的功能對(duì)設(shè)備100可用。這些功能可以具有預(yù)先確定的使用方式。例如,GPS接收器522可以布置成每五秒定期提供一次位置樣本。然而,設(shè)備100在身體活動(dòng)會(huì)話期間可以實(shí)時(shí)自動(dòng)限制至少一個(gè)功能的使用。
在一實(shí)施例中,限制包括下述中的至少一個(gè):降低對(duì)應(yīng)于身體活動(dòng)相關(guān)功能的身體活動(dòng)數(shù)據(jù)的取樣速率,防止身體活動(dòng)相關(guān)功能的使用。因此,看例如GPS接收,設(shè)備100可以通過(guò)關(guān)閉GPS接收器522完全關(guān)閉GPS數(shù)據(jù)接收功能,以節(jié)省電量,或者設(shè)備100可以降低取樣速率,諸如僅每十秒取一次樣本。兩種方式都造成減少由該身體活動(dòng)相關(guān)功能造成的耗電量。
表2示出了可以減少使用的示例身體活動(dòng)功能。如表所示,有許多根據(jù)當(dāng)前需要可以啟用或禁用或者可以限制性能以使電池506的壽命更長(zhǎng)的不同功能。
表2列出了兩個(gè)不同組的限制動(dòng)作:功能限制和性能限制。功能限制可以完全禁用一些功能,以有利于被視為與用戶110更相關(guān)或?qū)τ脩糨^有利的其他功能。因此,一些最初可用的功能可以在之后被禁用,以使其他功能活躍較長(zhǎng)的時(shí)間。另一方面,性能限制可以表示完全實(shí)現(xiàn)功能的程度或?qū)⑵湎拗频揭欢ǔ潭纫詫⑵溥\(yùn)行較長(zhǎng)的時(shí)間同時(shí)仍然向用戶110提供切實(shí)益處之間的折中決策。
另外,在一實(shí)施例中,可以減少在顯示器102上顯示的數(shù)據(jù)的量。訓(xùn)練屏是用戶110可以預(yù)設(shè)至設(shè)備100的屏。在一種類型的鍛煉期間可以切換不同的屏,并且不同的屏可以對(duì)不同的鍛煉可用。在這些訓(xùn)練屏中,設(shè)備100可以包括省電屏。省電屏可以包括較少的在顯示器102上顯示的數(shù)據(jù)或者輸出至用戶110的數(shù)據(jù)。然后,一旦確定將對(duì)設(shè)備100進(jìn)行省電,則設(shè)備100可以切換省電屏。
表2:受限操作模式期間可用的示例功能和可以如何限制這些功能的使用。
在一實(shí)施例中,利用圖12所示的自適應(yīng)算法1200做出實(shí)時(shí)決定,即可以為用戶提供更長(zhǎng)的訓(xùn)練時(shí)間,而不會(huì)冒著電池壽命結(jié)束的風(fēng)險(xiǎn)。這些決定可能對(duì)設(shè)備100的整體耗電量具有直接影響,從而導(dǎo)致對(duì)用戶110可用的鍛煉時(shí)間較長(zhǎng)。通過(guò)理解并了解每個(gè)用戶110在鍛煉模式212下如何利用設(shè)備100功能并將它們與耗電量進(jìn)行實(shí)時(shí)比較,設(shè)備100做出有助于提供更長(zhǎng)訓(xùn)練時(shí)間段的決定。
一開(kāi)始,自適應(yīng)算法1200只使用不同功能和設(shè)置如何與耗電量關(guān)聯(lián)的預(yù)先限定信息。這在圖12中被稱為耗電量信息1202??梢栽谠O(shè)備100的存儲(chǔ)器中預(yù)先配置該耗電量信息1202。耗電量信息1202可以表明不同功能和傳感器的耗電量貢獻(xiàn)。例如,信息1202可以表明當(dāng)取樣速率為1Hz時(shí)GPS需要多少電量。此外,耗電量信息1202還可以表明例如表2的每個(gè)可用功能限制和性能限制決定產(chǎn)生的電量增強(qiáng)。
在一實(shí)施例中,耗電量信息1202還可以表明在鍛煉模式212下用戶110的典型鍛煉期間的電池放電行為(即,耗電量如何發(fā)展)。用戶110的典型電池放電行為持續(xù)時(shí)間可以基于用戶110的之前鍛煉的歷史數(shù)據(jù)。
在一實(shí)施例中,還可以以如參考圖9和圖10所示的方式中的一種或者根據(jù)用戶輸入確定所需鍛煉持續(xù)時(shí)間的估計(jì)值。
此外,設(shè)備100中可以存儲(chǔ)有功能使用信息1204。功能信息1204可以表明用戶110在進(jìn)行身體活動(dòng)會(huì)話期間通常使用哪些身體活動(dòng)相關(guān)功能。數(shù)據(jù)1204可以基于該用戶110進(jìn)行的之前鍛煉的歷史數(shù)據(jù)(存儲(chǔ)在設(shè)備100中或網(wǎng)絡(luò)服務(wù)120中)。
在一實(shí)施例中,數(shù)據(jù)1204可以因此表明用戶110對(duì)于指定類型的運(yùn)動(dòng)期望如何使用設(shè)備100的功能。功能的使用可以取決于各種方式。在一實(shí)施例中,使用取決于期望的鍛煉持續(xù)時(shí)間。在一實(shí)施例中,使用取決于進(jìn)行的運(yùn)動(dòng)的類型。這可以根據(jù)運(yùn)動(dòng)簡(jiǎn)檔表示。在一實(shí)施例中,各種可用功能的使用取決于一天的時(shí)間和/或一周的日子。在一實(shí)施例中,各種可用功能的使用取決于指定時(shí)間窗期間(諸如本周和前一周期間)進(jìn)行的之前鍛煉。
因此,初始期望1206包括來(lái)自使用信息1204以及電池和耗電量信息1202的數(shù)據(jù)。然后,自適應(yīng)算法1200可以根據(jù)初始期望1206決定是否進(jìn)行性能限制動(dòng)作1208或功能限制動(dòng)作1210(表2列出了其中一些),以確保電池電量持續(xù)至鍛煉的結(jié)束。
在一實(shí)施例中,設(shè)備100可以檢測(cè)電池506的當(dāng)前功率狀態(tài),估計(jì)進(jìn)行中鍛煉的剩余持續(xù)時(shí)間;并在根據(jù)信息1202、1204檢測(cè)到電池506的當(dāng)前功率狀態(tài)不足以持續(xù)至進(jìn)行中鍛煉的結(jié)束時(shí),動(dòng)態(tài)限制設(shè)備100的至少一個(gè)身體活動(dòng)相關(guān)功能的使用。
在一實(shí)施例中,設(shè)備100可以獲得耗電量信息1202以及功能使用信息1204。根據(jù)接收到的信息1202、1204,設(shè)備100可以確定要限制使用的至少一個(gè)身體活動(dòng)相關(guān)功能。例如,設(shè)備100可以決定可以關(guān)閉溫度傳感器,因?yàn)閷?duì)該個(gè)人110的分析和對(duì)這種類型的運(yùn)動(dòng)通常不需要皮膚的溫度。
在一實(shí)施例中,有預(yù)先確定的身體活動(dòng)相關(guān)功能的順序。該順序可以用于確定要限制使用的功能。在一實(shí)施例中,順序(列表)針對(duì)的是運(yùn)動(dòng)類型,使得冰球的順序與慢跑的順序不同。這是有益的,因?yàn)椴煌愋偷臄?shù)據(jù)可能在不同類型的運(yùn)動(dòng)中是重要的。
在一實(shí)施例中,設(shè)備100可以使用來(lái)自當(dāng)前鍛煉(即,身體活動(dòng)會(huì)話)1212的對(duì)應(yīng)數(shù)據(jù)1214和1216決定限制動(dòng)作(1208、1210)。例如,可能是初始期望1206暗示了在自行車鍛煉中不使用GPS接收器522,而是從自行車的距離傳感器無(wú)線獲得距離信息。然而,當(dāng)前功能使用信息1214可能表明代替或者除了自行車自身的外部傳感器,并未使用GPS。然后,限制功能的決定可能與未使用GPS傳感器522的情況不同。如另一示例,在當(dāng)前耗電量信息表明電池506的電量水平相對(duì)于當(dāng)前耗電量是足夠的情況下,則沒(méi)有任何必要限制功能的使用,雖然初始期望可能表明例如在這種特定類型的身體活動(dòng)會(huì)話中應(yīng)禁用一些功能。
在一實(shí)施例中,設(shè)備100可以應(yīng)用機(jī)器學(xué)習(xí)算法1218,以用來(lái)自當(dāng)前鍛煉(即,身體活動(dòng)會(huì)話)1212的對(duì)應(yīng)數(shù)據(jù)1214、1216的反饋補(bǔ)充初始期望1206。在一實(shí)施例中,在每個(gè)身體活動(dòng)會(huì)話1212后更新耗電量信息1202和功能使用信息1204。這可以在鍛煉模式212下發(fā)生,從而將當(dāng)前功能使用信息1214和當(dāng)前耗電量信息1216反饋至機(jī)器學(xué)習(xí)算法1218,以進(jìn)一步擴(kuò)展初始期望1206,并因此收集更多關(guān)于用戶需求的知識(shí)。隨著初始期望1206根據(jù)來(lái)自過(guò)去鍛煉1212的反饋繼續(xù)增長(zhǎng),設(shè)備100可以更好地適應(yīng)并預(yù)測(cè)每個(gè)獨(dú)立用戶110以及每種獨(dú)立鍛煉類型的需求。
在一實(shí)施例中,設(shè)備100可以進(jìn)一步檢測(cè)進(jìn)行中身體活動(dòng)會(huì)話的簡(jiǎn)檔。簡(jiǎn)檔可以表明用戶對(duì)進(jìn)行中的每種類型的運(yùn)動(dòng)的偏好。用戶110可以在網(wǎng)絡(luò)服務(wù)120中輸入他/她通常進(jìn)行的每種類型的運(yùn)動(dòng)的運(yùn)動(dòng)簡(jiǎn)檔。運(yùn)動(dòng)簡(jiǎn)檔也可以用于推導(dǎo)出信息1204。運(yùn)動(dòng)簡(jiǎn)檔還可以限定在鍛煉期間要在設(shè)備100的顯示器102上顯示哪種類型的數(shù)據(jù)。運(yùn)動(dòng)簡(jiǎn)檔還可以表明對(duì)每種運(yùn)動(dòng)應(yīng)用哪些類型的功能和傳感器??梢栽阱憻挼拈_(kāi)始通過(guò)用戶輸入或者通過(guò)進(jìn)行中的運(yùn)動(dòng)類型的檢測(cè)(例如,如圖9和圖10所示)進(jìn)行運(yùn)動(dòng)簡(jiǎn)檔的檢測(cè)。
然后設(shè)備100可以根據(jù)檢測(cè)到的鍛煉簡(jiǎn)檔確定受限操作模式212下需要哪些身體活動(dòng)相關(guān)功能。例如,室內(nèi)運(yùn)動(dòng)不需要應(yīng)用GPS接收器522,而室外運(yùn)動(dòng)可能需要應(yīng)用。此后,設(shè)備100可以在受限操作模式212下運(yùn)行確定的身體活動(dòng)相關(guān)功能,以確保用戶110所需的所有功能均是可用的。
在一實(shí)施例中,設(shè)備100可以停用用戶110在受限操作模式212下在身體活動(dòng)會(huì)話期間不需要的所有其他功能,以最小化電池耗盡的風(fēng)險(xiǎn)。
在一實(shí)施例中,設(shè)備100確定設(shè)備100的溫度和/或環(huán)境溫度。設(shè)備100還可以獲得指示溫度如何影響設(shè)備100的功耗率的溫度信息。該信息可以預(yù)存在設(shè)備100中或從網(wǎng)絡(luò)上取得。此后,設(shè)備100可以根據(jù)確定的溫度和獲得的溫度信息決定是否進(jìn)行功能限制。在一實(shí)施例中,該決定可能造成在受限操作模式212和正常操作模式210之間切換,從而限制某些功能的可用性或限制某些功能的性能(參見(jiàn)圖2)。在做決定時(shí),設(shè)備100可以在受限操作模式212或正常操作模式210下操作。
在一實(shí)施例中,設(shè)備100包括環(huán)境光傳感器534(圖5中),并且設(shè)備100可以確定環(huán)境光的強(qiáng)度。根據(jù)該決定,設(shè)備100可以調(diào)節(jié)顯示器102的亮度。這可以造成節(jié)省設(shè)備102的電量,因?yàn)樵诶巛^暗的條件下不需要使用明亮的顯示器102。
然后讓我們參考表3看一下不同模式下設(shè)備100的一些與耗電量相關(guān)的問(wèn)題。再一次需要注意的是,表3中給出的值僅為取決于指定模式下可用功能的配置的示例值。此處可以假設(shè),MCU打開(kāi)模式用于受限操作模式212,其中MPU 500休眠,MCU 530運(yùn)行PAA 220。
表3:不同類型的模式的耗電量。
因此,如最后一行所示,正常模式210的耗電量為200mA,這顯著大于受限模式212或夜間模式或手表模式的耗電量,夜間模式和手表模式可以視為受限操作模式212的子類型,由于受限制的功能更多,它們具有甚至更低的耗電量。
如本申請(qǐng)中使用的,術(shù)語(yǔ)“電路”指以下所有:(a)純硬件電路實(shí)現(xiàn),諸如僅在模擬和/或數(shù)字電路中實(shí)現(xiàn),以及(b)電路和軟件(和/或固件)的組合,諸如(如適用):(i)處理器的組合或(ii)處理器/軟件的部分,包括數(shù)字信號(hào)處理器、軟件和存儲(chǔ)器,它們協(xié)同工作,使裝置執(zhí)行各種功能;以及(c)需要軟件或固件才能操作的電路,諸如微處理器或微處理器的部分,即使軟件或固件并無(wú)實(shí)體存在?!半娐贰钡倪@一定義適用于該術(shù)語(yǔ)在本申請(qǐng)中的所有用法。再舉一例,在本申請(qǐng)中使用時(shí),術(shù)語(yǔ)“電路”還可以覆蓋僅一個(gè)處理器(或多個(gè)處理器)或一個(gè)處理器的部分及其(或它們的)隨附軟件和/或固件的實(shí)現(xiàn)。術(shù)語(yǔ)“電路”還覆蓋(例如并且如適用于特別元件)用于移動(dòng)電話的基帶集成電路或應(yīng)用程序處理器集成電路,或服務(wù)器、蜂窩網(wǎng)絡(luò)設(shè)備或另一網(wǎng)絡(luò)設(shè)備中類似的集成電路。
本文所述的技術(shù)和方法可以通過(guò)各種方式實(shí)施。例如,這些技術(shù)可以在硬件(一個(gè)或多個(gè)設(shè)備)、固件(一個(gè)或多個(gè)設(shè)備)、軟件(一個(gè)或多個(gè)模塊)或者它們的組合中實(shí)施。對(duì)于硬件實(shí)現(xiàn),可在一個(gè)或多個(gè)專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯設(shè)備(PLD)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、設(shè)計(jì)用于執(zhí)行本文所述功能的其他電子單元或者它們的組合中實(shí)施實(shí)施例的裝置。對(duì)于固件或軟件,可以通過(guò)執(zhí)行本文所述功能的至少一個(gè)芯片組(例如,程序、功能等)的模塊進(jìn)行上述實(shí)現(xiàn)。軟件代碼可存儲(chǔ)在存儲(chǔ)單元中,并由處理器執(zhí)行??梢栽谔幚砥髦谢蛳鄬?duì)于處理器的外部實(shí)施存儲(chǔ)單元。在處理器外部的情況下,可以通過(guò)如本領(lǐng)域已知的各種方式通信地耦合至處理器。此外,可以重新布置本文所述系統(tǒng)的部件和/或用額外的部件補(bǔ)充,以促進(jìn)關(guān)于其所述的各方面等的實(shí)現(xiàn),并且它們不限于給出附圖中闡明的精確配置,本領(lǐng)域技術(shù)人員可以理解這一點(diǎn)。
所述實(shí)施例還可以以計(jì)算機(jī)程序限定的計(jì)算機(jī)進(jìn)程的形式執(zhí)行。計(jì)算機(jī)程序可以為源代碼形式、目標(biāo)代碼形式,或某種中間形式,并且可以存儲(chǔ)在某種載體中,所述載體可以為能攜帶程序的任何實(shí)體或設(shè)備。例如,計(jì)算機(jī)程序可以存儲(chǔ)在計(jì)算機(jī)或處理器可讀的計(jì)算機(jī)程序分布介質(zhì)中。計(jì)算機(jī)程序介質(zhì)可以為例如但不限于,記錄介質(zhì)、計(jì)算機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、電載波信號(hào)、電信信號(hào)以及軟件分布包。用于執(zhí)行所示和所述實(shí)施例的軟件的編碼也在本領(lǐng)域普通技術(shù)人員的范圍內(nèi)。
雖然已參考根據(jù)附圖的示例對(duì)本發(fā)明進(jìn)行了描述,但要理解的是,本發(fā)明不限于此,在隨附權(quán)利要求的范圍內(nèi)可以以若干方式進(jìn)行修改。因此,應(yīng)廣泛理解所有詞語(yǔ)和表達(dá),它們意在說(shuō)明實(shí)施例,而非限制實(shí)施例。對(duì)本領(lǐng)域技術(shù)人員明顯的是,隨著技術(shù)進(jìn)步,本發(fā)明理念可以以各種方式實(shí)施。此外,本領(lǐng)域技術(shù)人員可以理解,所述實(shí)施例可以以各種方式與其他實(shí)施例組合,但并不要求如此。