在本系列文章的第一部分中,我們介紹了物聯網市場趨勢、智能家居和可穿戴應用的相關性,并展示了智能家居門鎖控制器的示例實現。在第二部分中,我們將探討可穿戴設備應用程序的實現。
手表不再只是為了報時。智能手表通過啟用短信、電話和健康監測,將我們的手腕變成了智能手機皮套。可穿戴設備是用戶“幾乎總是”佩戴的無線設備。例如,健身監測器是一種可穿戴設備,可以通過監測心率、運動、睡眠習慣、體溫、汗水等參數來跟蹤一個人的健康狀況。這些設備具有多個傳感器,通常可以與連接到互聯網的設備(如智能手機或PC)進行通信。這些設備具有三個主要功能:
始終開啟:由于健身監測器連續運行,因此這些設備需要較長的電池壽命。設計可穿戴設備時的最大挑戰之一是它們耗電,并且通常可以容納的電池尺寸有限。
監控活動:健身監測器感知、處理、記錄和報告用戶活動。這包括監控多個傳感器和執行“傳感器融合”,其中來自多個傳感器的數據使用類似DSP的引擎進行關聯,以分析更復雜的行為并以用戶可以理解和使用的方式跟蹤它們。
交換數據:這包括將收集和分析的信息傳達給其他設備的能力,例如向/從智能手機發送通知和警報。
圖 2 顯示了使用嵌入式 MCU(如PSoC 6 BLE)實現可穿戴健身監視器的過程。
活動監控:計步器和卡路里計數器計算一個人的步數并計算燃燒的卡路里數。為了檢測步長,需要使用加速度計傳感器。壓力傳感器還用于測量步行/跑步時的海拔變化。大多數傳感器具有數字接口,通常為 I2C、SPI 或 UART。需要對采集的數據進行額外的過濾和處理,以計算步數、海拔高度、燃燒的卡路里等值。這些傳感器還用于實現低功耗系統功能,例如在檢測到運動時喚醒整個系統,以便執行實時分析。為了支持可穿戴設備可能需要的多個傳感器,嵌入式MCU將需要多個數字接口。理想情況下,這些接口可以在I2C、SPI和UART之間進行配置,為開發人員提供最大的傳感器選擇和實現靈活性。此外,嵌入式MCU需要支持雙核架構,其中MCU能夠執行傳感器融合和復雜分析,低功耗MCU用于執行運動喚醒等系統任務。
環境監測:監測儀可能還需要收集環境數據,例如紫外線暴露測量、環境溫度、大氣壓力、指南針航向等。
全球定位系統:GPS傳感器通常是帶有UART接口的數字傳感器。GPS 傳感器提供位置(緯度和經度)、速度和高度信息。
音頻:在音頻數據通過無線鏈路傳輸之前,數字域中的音頻信號處理是任何音頻系統的重要組成部分。數據通常使用基于 PDM 麥克風的聲級計收集,然后進行測量、過濾和/或壓縮。集成了DSP功能和音頻功能的嵌入式MCU可以大大簡化高質量、不間斷聲學音頻子系統的設計。
安全:可穿戴設備需要能夠跟上不斷變化的安全協議和措施。具有安全啟動功能的嵌入式MCU可確保可穿戴設備僅執行經過身份驗證的代碼。此外,設備可以支持無線 (OTA) 更新,以使更新對用戶透明。
用戶界面:今天的用戶已經習慣于使用按鈕、滑塊和接近感應的觸摸顯示器。還可以支持不同輸出類型的嵌入式MCU可以支持各種顯示技術,例如Eink,OLED等。
無線連接:設備需要支持低功耗藍牙 (BLE) 連接,并為可穿戴設備運行提供必要的服務。
支持所有這些功能需要全面的固件流程(參見圖 3)。支持可穿戴設備應用的制造商可以提供完整的庫,從而加速開發并降低整體設計投資。
任務體系結構
在任何可穿戴設計中,都有三項關鍵任務:
獲取數據
處理數據
與用戶通信 – 輸入和輸出(顯示)
通常,傳感器采集比其他任務需要更高的處理器操作速率,因為此類處理包括在大型樣本基上運行的濾波器。因此,使用低功耗內核(如 Arm Cortex-M0+)執行傳感器數據采集更節能。處理傳感器數據取決于所用算法的復雜性,開發人員必須在能效和處理速度之間進行權衡。對于光處理,可以使用用于采集傳感器數據的相同低功耗內核。但是,對于更實時的操作,需要更高性能的處理器,例如Arm Cortex M3 / M4內核。用戶界面,在涉及簡單的可穿戴顯示器和輸入時通常是一個輕量級的過程,可以由任一內核處理,但理想情況下在低功耗內核上實現。因此,為了在低功耗可穿戴設備中實現最佳性能,需要雙核架構。請注意,可以利用雙核架構對固件框架進行流水線,通過加快任務完成速度來提高響應能力,并通過在內核之間共享時鐘、RAM、閃存等資源來降低資源和功耗。
低功耗處理器(如 Cortex M0+)運行一個簡單的任務調度程序,可處理頻繁的低帶寬任務,例如:
傳感器數據采集
電容感應掃描和處理
維護BLE連接和通告的BLE鏈路層控制器
系統管理,包括安全任務和傳感器控制
高性能處理器(如 Cortex M4)用作運行 RTOS 并處理處理器密集型應用級任務的應用處理器,例如:
傳感器數據處理(即方向計算、高度計算等)
顯示圖形,如繪圖文本、圖像、形狀等。
完整的指紋處理,包括匹配和注冊算法
BLE 主機層任務,包括所有服務、配置文件和連接身份驗證
通過內核之間的共享內存和快速處理器間通信 (IPC) 通道橋接,與兩個設備在外部通信相比,通信延遲幾乎不存在。
低功耗核心任務架構
在高級別上,低功耗內核執行兩種類型的任務 - 級別 1:在每個周期中執行的周期性任務和級別 2:周期性但每“n”個周期執行一次的時隙任務(n = 任務的周期/每個周期持續時間)。定時器可用于生成中斷以指示周期的開始,例如每 10 毫秒 (100 Hz)。級別 1 任務在中斷事件上逐個執行。時隙變量可以在每個中斷時遞增并傳遞給 2 級任務管理器。根據插槽編號,執行相應的 2 級任務。
表1提供了可在低功耗內核中實現的各種任務的示例。
桌子1. 低功耗核心任務
任務 | 類型 | 周期(毫秒)/插槽(共 50 個插槽) |
藍牙控制器 | 級別 1 | 10/- |
電容感應掃描和手勢檢測 | 級別 1 | 10/- |
全球定位系統獲取和處理 | 級別 1 | 10/- |
壓力/溫度數據采集 | 級別 2 | 500/1 |
紫外數據采集 | 級別 2 | 500/3 |
電池數據采集 | 級別 2 | 500/7 |
在數據采集任務完成或需要與高性能核心上運行的其他任務通信的任何事件(如手勢被檢測到)時,將形成一個消息數據包并通過IPC發送到高性能核心。在高性能內核上引發中斷,處理消息數據包,并將數據適當地傳遞到在高性能內核上執行的預期任務。
高性能核心任務架構
高性能內核使用 RTOS 來管理 BLE、運動傳感、顯示更新、GPS、壓力/溫度、UV 和指紋檢測等任務。除了 BLE、運動傳感和指紋檢測外,其他任務都等待來自低功耗內核的數據。
BLE任務可以定期運行(每個連接間隔一次)。完成后,任務將自行掛起,直到下一次需要喚醒。
運動檢測任務可以是非周期性任務,每當運動傳感器本身引發中斷時都會運行。像Invensense MPU9255這樣的運動傳感器包括一個數字運動處理器(DMP),該處理器在片上FIFO上收集數據,并以預配置的速率中斷高性能內核。中斷時,運動傳感器任務通過SPI接口讀取運動傳感器中的FIFO,并處理數據以計算方向、步數、燃燒的卡路里等。
指紋檢測任務可以是非定期任務,每當用戶注冊、驗證或刪除指紋時都會運行。注冊用戶指紋并鎖定顯示時,也會運行此任務。已注冊的用戶指紋可用于解鎖和保護可穿戴設備。
顯示任務也可以是非周期性任務,每當需要在屏幕上更新數據(即傳感器數據、時間、電池和來自其他任務的BLE通知)或從低功耗內核報告電容感應手勢事件時,就會運行該任務。
GPS、壓力/溫度和紫外線任務可以是偽周期性任務,因為它們不會定期掛起和喚醒。相反,任務喚醒是在從各個傳感器收集數據后從低功耗內核觸發的。由于數據收集速率在低功耗內核中是周期性的,因此這些任務可以在高性能內核上定期執行。
表 2 顯示了高性能內核管理的任務示例。
桌子2. 高性能核心任務
任務 | 優先權 | 疊 | 類型 | 喚醒源 |
唔唔?? | 9 | 500 | 周期的 | 操作系統每 BLE 連接間隔喚醒一次 (vTaskdelay) |
運動傳感器 | 8 | 500 | 非周期的 | 來自傳感器的中斷 |
顯示 | 6 | 500 | 非周期的 | 來自其他任務的通知 |
壓力 | 8 | 200 | 偽周期 | 來自低功耗內核的通知 |
紫外線 | 8 | 150 | 偽周期 | 來自低功耗內核的通知 |
全球定位系統 | 8 | 100 | 偽周期 | 來自低功耗內核的通知 |
指紋 | 7 | 5000 | 非周期的 | 來自顯示任務和中斷的通知 (SMIF/SPI) |
處理器間通信體系結構
同時運行的兩個內核需要一種機制來保護共享數據和通信,以便在固件中同步任務。雙核架構需要支持多種 IPC 機制,例如 IPC 鎖定、消息傳遞和中斷/通知。任務代碼可以使用 IPC 鎖定功能來保護共享數據和 IPC 消息傳遞,以在內核之間交換通知和數據。
IPC 鎖:每當訪問共享數據進行修改時,訪問核心/任務都會嘗試獲取與數據對應的鎖。如果鎖是空閑的,則核心/任務被授予對數據的訪問權限。更新/處理完成后,任務可以釋放鎖以授予對其他掛起任務的數據訪問權限。這可以防止數據被多個源同時嘗試更新/使用數據而損壞。
IPC 消息:除了保護共享數據外,還需要一種通信方式來同步內核之間的任務。這可以通過在內核之間傳遞的“命令和參數”消息數據包來實現。每當一個內核希望另一個內核執行操作時,它都會將帶有任何必需參數的操作/命令 ID 打包到消息中,并通過 IPC 傳遞消息。消息數據包準備就緒后,內核將在另一個內核上觸發 IPC 中斷,在該內核上解析命令,然后對其執行操作。
在第二部分中,我們通過一個示例實現討論了可穿戴設備應用。在第三部分中,我們將說明如何利用可穿戴實現與智能家居網絡進行交互。
-
mcu
+關注
關注
146文章
16993瀏覽量
350318 -
嵌入式
+關注
關注
5068文章
19020瀏覽量
303308 -
可穿戴設備
+關注
關注
55文章
3807瀏覽量
166848
發布評論請先 登錄
相關推薦
評論