






摘要:可穿戴運動監測系統可方便地實現人體的運動姿態檢測以及運動功能評估。本系統采用高集成度慣性傳感器及近距離無線通信技術構建體感網,同步采集人體多個部位加速度和角速度信號,實現可穿戴的多節點運動監測。系統可應用于與人體運動功能相關的研究,如帕金森病人運動功能評估等。本文網絡版地址:http://www.eepw.com.cn/article/267435.htm關鍵字:可穿戴設備;體感網;慣性傳感器;加速度信號
DOI:10.396 9/j.issn.1 005-5517.2015.1.016
本項目獲得首屆全國生物醫學電子創新設計競賽二等獎
汪豐(1969-),男,博士,研究方向:移動健康、可穿戴設備、醫學信號處理。
引言
本文設計實現了包含5個傳感器節點的可穿戴運動監測系統。通過將傳感器節點置于被試者的雙腳腳踝、雙手手腕和腰部,采集人體運動過程中的加速度和角速度等運動信號。此后,將采集到的信號上傳至上位機,進行數據分析,計算與運動功能相關的運動參量,比如步態、平衡能力等。
本系統應用范圍較廣,例如:可用于運動障礙疾病的病情評估和監護,如帕金森、腦卒中等疾病;可用于運動員運動動作分析,科學指導運動員訓練。
1 系統方案總述
系統由PC機、1個網關節點和5個終端節點組成(見圖1)。
網關節點:通過USB口與PC機相連,采用串行通訊協議與上位機進行命令和數據通信:通過近距離無線通信方式與各終端節點進行命令和數據通信。
終端節點:負責數據的采集、存儲和上傳。通過繃帶固定在人體特定部位。待機情況下各個節點處于無線接收狀態,等待接收網關節點的廣播命令,實現數據的同步采集和存儲。
用戶通過PC機軟件發出命令,系統根據命令運行。數據采集結束后,PC機發送數據上傳命令,使網關節點通過點對點輪詢的方式依次將數據傳至上位機并保存。本文主要介紹網關節點和終端節點構成的可穿戴系統設計。
2 硬件設計
2.1 終端節點設計
終端節點采用TI公司的超低功耗單片機MSP430F149作為主控單元,采用MPU6050六軸慣性傳感器檢測加速度和角速度信號,選用Nordic公司的NRF24L01作為無線通信模塊,可以實現30米的有效通信距離。采用3.7V鋰電池供電,經過穩壓器穩壓后系統工作電壓3.OV(見圖2)。核心模塊的詳細介紹如下。
(1)主控模塊采用MSP430F149作為控制中心,負責整個系統各部分功能的協調和控制。除了其在8MHz時鐘下運行時300μA左右的超低工作電流,同時還還提供了兩個定時器A和B,2個UART和SPI復用的異步串行通信接口、48個I/O口、完全滿足系統對接口資源的需求。此外MSP430F149的60KB片內Flash和2KB的SRAM完全滿足本系統對程序存儲和數據交換的空間需求。
(2)電源模塊,網關節點由5.OVUSB口供電,經TLV70033低壓差線性穩壓器轉成3.3V供系統使用。終端節點由3.7V鋰電池供電,通過TLV70030進行穩壓,轉成3.OV供系統使用。
(3)傳感器模塊采用MPU6050六軸慣性傳感器,其突出優勢在于整合了三軸加速度計和三軸陀螺儀,不僅免去了組合二者的軸間差問題,還大大降低了封裝空間,為便攜式或可穿戴設備提供了最小包裝體積。
(4)存儲模塊采用W25Q256高速Flash,在傳感器50Hz的采樣率下,可以連續存儲約15.5個小時數據。
(5)無線通信模塊采用NRF24L01無線通信芯片,最高2Mbps的通信速率、30米的通信距離、6個接收通道以及SPI接口,非常方便系統開發。
2.2 網關節點設計
網關節點主要由四部分組成:電源模塊、MCU主控模塊、無線通信模塊、串口通信模塊。其中電源模塊、主控模塊和無線通信模塊與終端節點的核心芯片一樣,硬件原理一致,不再贅述。串口通信模塊采用PL2303將串口數據轉換成USB數據,實現與PC機的通信。網關節點通過5.0伏USB口供電,經過穩壓器穩壓后系統電壓為3.3V。
3 軟件設計
系統的軟件部分分為網關節點軟件設計,終端節點軟件設計和網絡拓撲結構設計。
3.1 網關節點軟件設計
網關節點程序分為主程序和中斷服務程序。
3.1.1 主程序
上電后,主程序進行各模塊初始化,包括時鐘初始化、串口配置、開啟總中斷、無線通信配置為發送模式,進入主循環。在主循環中通過判斷命令標志位ComFlag來執行相應的操作。當ComFlag為“1”、“2”和“3”時,通過無線模塊以廣播形式分別發送“開始”、“結束”和“擦除”命令,之后標志位ComFlag置O,繼續主循環。當ComFlag為“4”時,通過無線模塊發送“上傳”命令,之后切換無線收發狀態為接收模式,開始接收終端節點數據。流程圖如圖4所示。
無線數據接收流程為:無線通信切換成接收模式,數據按照“幀”格式接收,為了保證數據的有效性,對每一幀數據進行校驗。每幀數據包含30字節有效數據,并在數據幀尾添加1位校驗位。采用奇偶校驗法,在接收到一幀數據后,將前30字節數據按位想加,判斷和的奇偶,并與終端節點計算的數據幀校驗位結果進行對比,若校驗一致,則去除校驗位,將有效數據通過串口上傳至PC機,并進行數據字節個數的統計,然后向終端節點發送“success”,通知終端節點當前數據幀接收成功。若校驗不一致,則發送“fail”,通知終端節點重新發送當前數據幀。終端節點在采集存儲數據時候會記錄數據個數,在收到“上傳”命令后首先發送數據個數,用以進行數據上傳結束的判斷。當接收到的數據個數與采集的個數一致時數據上傳結束,流程如圖5所示。
3.1.2 中斷程序
網關節點通過串口中斷來進行上位機命令的識別。當通過串口接收到字符串之后,進入串口中斷,在串口中斷服務程序里,首先進行命令字符串的匹配,然后給命令標志位ComFlag賦值,如圖6所示。
3.2 終端節點軟件設計
3.2.1 主程序
上電,進行時鐘模塊、定時器模塊、SPI接口、IIC接口以及無線通信模塊的初始化配置,將無線通信模塊配置為接收模式,然后進入主循環。在主循環中通過判斷標志位“ComFlag”來執行相應的操作。當ComFlag為“1”時,打開定時器中斷,讀取傳感器數據并將數據寫入Flash。當ComFlag為“2”時,關閉定時器中斷,停止數據采集。當ComFlag為“3”時將Flash數據全部擦除。當ComFlag為“4”時進入無線發送狀態,將數據從Flash讀出并發送。詳見圖6。
3.2.2無線接收中斷服務程序
當接收無線數據時,通過“IRQ”引腳可觸發單片機外部中斷。在中斷服務程序中進行無線命令字符串的匹配,并給標志位ComFlag賦值。當接收到上傳命令后會進行ID匹配,與本機地址一致時,將ComFlag賦值。此部分的程序流程與網關節點的中斷服務程序流程基本一樣,請參考圖5。
3.2.3定時器中斷服務程序
當收到“開始”命令后,打開定時器中斷,開始讀取傳感器數據,每次讀取為12字節數據,在讀取后將數據寫入Flash,記錄Flash地址,用Flash寫入的最終地址減去初始地址進行數據的統計。具體見圖7。
3.2.4 無線數據發送流程
與網關節點的接收流程對應,終端節點進入無線發送狀態后,從Flash中讀取30字節數據,按位相加,將和的奇偶性作為校驗標志,添加至每幀數據尾部,打包發送一幀數據。進入無線接收狀態,等待網關節點應答信號,若收到“Success”則表示當前幀發送成功,繼續發送下一幀數據,若收到“Fail”則需重新發送當前數據幀。每幀數據發送成功后Flash地址增加。當Flash讀取到記錄的最終地址時候表示數據發送完畢。詳見圖8。
3.3 網絡拓撲結構設計
無線通信模塊負責網關節點和終端節點間命令的廣播和數據的傳輸,是本系統設計的核心內容,網絡結構的配置是體感網的設計的關鍵。
NRF24L01擁有6個接收通道0-5,可以同時接收6路數據,每個接收通道擁有獨立的接收地址。用NRF24L01實現“開始”、“結束”和“擦除”命令的廣播傳輸以及“上傳”命令的定點傳輸,需要配置每個節點的本機地址及接收通道地址,這是無線通信模塊的關鍵設計。網絡拓撲結構如圖9所示。
通過終端節點地址和網關節點地址的配置來進行網絡構建。每個終端節點的通道1接收地址跟網關節點本機地址一致,實現命令的廣播發送和接收,從而保證每個終端節點的同步性。網關節點的通道l一5接收地址分別跟五個終端節點的本機地址一一對應,實現數據上傳時候的點對點輪詢傳輸,用5個接收通道可以避免網關接收地址的切換配置,提高數據接收效率。
4 系統實驗測試
如圖所示,將系統節點佩戴在人體雙腳腳踝、雙手手腕和腰部進行實驗。
測試者完成十米折返行走實驗。測試者首先靜止站立,然后直線行走約10米,到達折返點后靜止站立一段時間,然后轉身,再靜止一段時間,之后正常行走至出發位置。實驗數據采用Matlab軟件進行濾波平滑。圖12和圖13反映了左腳腳踝傳感節點采集到的數據。
從圖12和13中可以明顯看到加速度和角速度信號能夠有效反映被試者的步態周期性,可計算步數,腳的邁步時間等信息。
5 結束語
本系統具有良好的穩定性,性能指標可以滿足人體運動信號的采集要求。該系統目前已經被蘇州大學第二附屬醫院用于進行帕金森患者的運動功能評估研究。