廣東海洋大學(xué)電子與信息工程學(xué)院 郭海亮 王 驥 劉詩(shī)恒 李鏡輝 莊冠冰
可穿戴式人體健康多參數(shù)檢測(cè)系統(tǒng)的研究
廣東海洋大學(xué)電子與信息工程學(xué)院 郭海亮 王 驥 劉詩(shī)恒 李鏡輝 莊冠冰
本文采用集成度高的傳感器、藍(lán)牙低功耗BLE通信和移動(dòng)通信一體化融合技術(shù)構(gòu)建了多參數(shù)可穿戴式系統(tǒng)的模型,闡明了它們的工作原理,分析了多參數(shù)可穿戴式系統(tǒng)的核心技術(shù)。
智能可穿戴;心率;計(jì)步;睡眠;移動(dòng)通信;藍(lán)牙BLE;傳感器
20世紀(jì)60年代,美國(guó)的學(xué)者提出了可穿戴技術(shù)這一概念,向人們展示了未來的技術(shù)方向,其核心在于那些與人體親密接觸的可穿戴的硬件設(shè)備,具備更加智能化的信息收集技術(shù),可以實(shí)時(shí)地獲取重要的人體和外界環(huán)境的數(shù)據(jù),并快速訪問網(wǎng)絡(luò)進(jìn)行社交聯(lián)系與分享,還可以利用大數(shù)據(jù)和云計(jì)算參與分析。由于可穿戴設(shè)備與人體緊密聯(lián)系,可以實(shí)時(shí)獲取人體準(zhǔn)確的運(yùn)動(dòng)和健康數(shù)據(jù),在結(jié)合其他技術(shù)的配合,可以實(shí)現(xiàn)更加便利的健康服務(wù)以及社交上的互動(dòng)分享等[1][2]。
可穿戴技術(shù)的重要分支和產(chǎn)品之一是智能手表以及智能手環(huán)產(chǎn)品。智能手表不僅可以滿足普通人對(duì)手表的要求,還可以完成諸如醫(yī)療健康和運(yùn)動(dòng)相關(guān)功能(心率監(jiān)測(cè),計(jì)步卡路里計(jì)算,睡眠監(jiān)測(cè)等等),還可以完成即時(shí)通信,社交分享,定位跟蹤,甚至電話和信息管理和瀏覽網(wǎng)頁(yè)等一些智能手機(jī)才有的功能,不可否認(rèn),這是可穿戴技術(shù)發(fā)展的一大趨勢(shì)。
面對(duì)這樣一種主流趨勢(shì),選用了藍(lán)牙4.0低功耗無線通信技術(shù)作為核心的通信技術(shù),系統(tǒng)具備現(xiàn)有智能手表的特色功能,比如心率監(jiān)測(cè),計(jì)步測(cè)量及相關(guān)健康與運(yùn)動(dòng)分析功能,傳感器數(shù)據(jù)的顯示以及和專門設(shè)計(jì)的在安卓設(shè)備上運(yùn)行的BLE應(yīng)用程序以實(shí)現(xiàn)數(shù)據(jù)同步,提供數(shù)據(jù)分析和健康建議等功能[3][4]。
本系統(tǒng)主要的創(chuàng)新點(diǎn)在于整合了各種傳感器的數(shù)據(jù)和智能手機(jī)的統(tǒng)計(jì)、數(shù)據(jù)分析與提出健康建議等功能,具有簡(jiǎn)潔的人機(jī)交互界面[5],以及更多新穎性和實(shí)用性的特征。
本系統(tǒng)主要分為兩大部分,手機(jī)硬件部分和安卓BLE客戶端APP部分。兩大部分的交互通過目前可穿戴技術(shù)非常流行的低功耗藍(lán)牙4.0BLE無線短距離通信技術(shù)來進(jìn)行數(shù)據(jù)傳輸,以此為基礎(chǔ)實(shí)現(xiàn)特定的功能。硬件上主要分為主控核心MCU,內(nèi)部運(yùn)行嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS,并且移植了FATFS文件系統(tǒng)用于管理文件和存儲(chǔ)數(shù)據(jù);另外還有計(jì)步器模塊、心臟速率監(jiān)測(cè)模塊、姿態(tài)傳感器和磁阻傳感器模塊、Micro-SD卡模塊、鋰電池和電源管理模塊、LCD與觸摸彩屏模塊、RTC備用電池模塊、2G移動(dòng)網(wǎng)絡(luò)通信模塊等。圖1是整個(gè)系統(tǒng)的功能和結(jié)構(gòu)框圖,如圖1所示。
作為本設(shè)備的硬件實(shí)物,硬件的設(shè)計(jì)是最基礎(chǔ)也是最重要的部分之一,接下來,本文將從硬件電路原理圖的角度列出各個(gè)功能模塊的電路原理及大致的工作情況。
本系統(tǒng)的硬件部分的核心微控制器采用了意法半導(dǎo)體的STM-32F103RET6芯片,該芯片的主要特別是集成了來自于ARM公司的cortex-M3內(nèi)核的CPU,通過高速總線連接核心外非常豐富的外設(shè)資源(主要包含512kB Flash閃存空間;192kb SRAM內(nèi)存空間;3個(gè)獨(dú)立ADC模塊;一個(gè)CAN總線控制器模塊;兩個(gè)I2C接口模塊;兩個(gè)I2S接口模塊;一路SDIO接口模塊;3個(gè)SPI接口模塊;6個(gè)定時(shí)器模塊;5個(gè)串口通信模塊以及一個(gè)全速USB接口模塊等)。圖2是這個(gè)芯片在本系統(tǒng)硬件電路中的核心電路圖。
圖1 本系統(tǒng)的硬件和功能結(jié)構(gòu)框圖
圖2 STM32F103RET6核心控制電路原理與管腳配置圖
本系統(tǒng)采用的LCD屏幕是一款由信利電子有限公司與2012年出品的2.0寸LCD顯示面板模組,內(nèi)部包含了來自韓國(guó)LG電子的觸摸控制器LGDP4522。圖3是該液晶顯示器與觸摸控制器XPT2046的驅(qū)動(dòng)電路原理圖。
本系統(tǒng)的SIM900A模塊是一款支持移動(dòng)和聯(lián)通2G網(wǎng)絡(luò)的高度集成化,低成本,較低功耗的解決方案。利用該模塊可以完成本設(shè)備的基本通信功能,實(shí)際功能在操作中效果良好,圖4是該模塊的電路原理圖。
圖3 LCD顯示與觸摸屏電路原理圖
圖4 SIM900A模塊電路原理圖
由Nodic半導(dǎo)體公司推出的藍(lán)牙BLE芯片nRF51822單芯片解決方案,可以實(shí)現(xiàn)一個(gè)低功耗的短距離通信連接,非常適用于移動(dòng)設(shè)備的領(lǐng)域,圖5是該藍(lán)牙BLE模塊的電路原理圖:
圖5 nRF51822藍(lán)牙BLE模塊電路原理圖
(1)心率傳感器電路設(shè)計(jì)
本方案中傳感器采用市面上成熟穩(wěn)定的心率傳感器模塊Pulse Sensor。相關(guān)資料如圖6所示。
圖6 心率傳感器的采集信號(hào)波形
心率監(jiān)測(cè)模塊傳感器輸出的信號(hào)還是比較微弱的信號(hào),幅值太低且存在環(huán)境雜波的干擾,為了便于軟件采集和算法上的處理,硬件上還要進(jìn)一步做濾波和波形的整形處理。本設(shè)計(jì)中采用兩級(jí)濾波和運(yùn)算放大器的濾波和一級(jí)滯回比較器的波形整形電路。經(jīng)過濾波和整形,心率信號(hào)就變成規(guī)律性比較好的方波信號(hào),并且雜波比較少,適合單片機(jī)的采集和處理。
在該電路中,心率傳感器模塊拾取和放大的信號(hào)經(jīng)過Vout1端輸入到本電路進(jìn)行波形整形,將模擬信號(hào)的心率波形通過滯回比較器電路而被處理成脈沖信號(hào),其特征就是反應(yīng)心率的跳動(dòng)信息,該信號(hào)先對(duì)于模擬信號(hào)更有利于單片機(jī)的計(jì)數(shù)處理以及軟件濾波處理等,并且避免要使用ADC對(duì)信號(hào)采樣處理等一系列繁雜又耗費(fèi)CPU資源的程序上的開銷,非常有利于開發(fā)。
心率信號(hào)處理電路圖如圖7所示:
圖7 心率傳感器波形整形電路圖
(2)計(jì)步器方案與睡眠監(jiān)測(cè)方案設(shè)計(jì)
本設(shè)備的計(jì)步器方案為采用一款成熟的模塊——STP100M。STP100M是一套3D計(jì)步功能模塊。模塊提供了簡(jiǎn)單的脈沖輸出接口,方便集成到計(jì)步器相關(guān)的設(shè)備中。STP100M的主要性能參數(shù)如表1所示:
表1 STP100M計(jì)步器模塊相關(guān)性能參數(shù)
睡眠監(jiān)測(cè)姿態(tài)芯片采用MPU6050, MPU6050一款穩(wěn)定、應(yīng)用廣泛且性價(jià)比高的3軸陀螺儀+3軸加速度計(jì)的一體化集成芯片,控制單元可以通過IIC總線協(xié)議進(jìn)行通信和獲取相關(guān)的數(shù)據(jù)并作進(jìn)一步處理。HMC5883l也是一款應(yīng)用廣泛而且低成本的磁力傳感器芯片,可以用于姿態(tài)數(shù)據(jù)的融合等。相關(guān)的電路原理圖如圖8所示:
圖8 傳感器組合電路原理圖
本系統(tǒng)采用單節(jié)鋰電池進(jìn)行供電,測(cè)試使用的時(shí)候是3.7V/1300MAh的容量來進(jìn)行供電。該鋰電池自帶充電保護(hù)電路,在電池電量即將耗盡而需要充電的時(shí)候可以通過USB-micro數(shù)據(jù)線連接設(shè)備并進(jìn)行充電。設(shè)備的主控制器通過ADC回路實(shí)時(shí)監(jiān)測(cè)電池電壓并通過電量修正的模型對(duì)電池電量進(jìn)行實(shí)時(shí)地統(tǒng)計(jì)以及顯示。
在電源管理電路方面,本設(shè)備主要采用了兩片低壓差線性穩(wěn)壓器LDO——SGM2019(輸出電壓為3.3V版本,由國(guó)內(nèi)知名的半導(dǎo)體廠商圣邦微電子SGM設(shè)計(jì)的低壓差線性穩(wěn)壓器),具有較低靜態(tài)關(guān)斷漏電流(低至10nA),低輸入輸出壓差,具備過流保護(hù)功能,采用SOT23-5封裝,并且外圍電路簡(jiǎn)單,占用空間小,滿足工業(yè)級(jí)別的溫度要求,是一款國(guó)產(chǎn)性價(jià)比不錯(cuò)的LDO產(chǎn)品。
本設(shè)備的電路上采用兩片SGM2019的單獨(dú)電源設(shè)計(jì),一方面是保證各個(gè)模塊的工作電路的需求,一方面是減少各個(gè)模塊之間的電源噪聲等干擾。提高器件工作的穩(wěn)定性。
相關(guān)的電源管理電路圖如下圖所示,圖中U4這一片SGM2019是主要為主控MCU和LCD以及觸摸屏提供電源,另外一片U5則主要為藍(lán)牙BLE模塊以及各類傳感器提供電源,電源管理電路如下圖9所示:
圖9 電源管理電路原理圖
本系統(tǒng)硬件上LCD顯示的圖形界面的繪制均通過電腦上的取模軟件對(duì)圖片和文字進(jìn)行特定格式的編碼輸出圖像數(shù)組,使其可以應(yīng)用于LCD屏幕的驅(qū)動(dòng)軟件代碼完成圖片和文字的繪制顯示。深入到代碼的層面,主要的代碼流程可以這樣描述:
本軟件架構(gòu)在FreeRTOS的內(nèi)核上,當(dāng)程序完成硬件啟動(dòng)初始化后,自動(dòng)跳轉(zhuǎn)到主函數(shù)執(zhí)行,主函數(shù)先完成了系統(tǒng)得板級(jí)硬件初始化后開始創(chuàng)建FreeRTOS的一個(gè)主任務(wù)和一個(gè)監(jiān)聽來電并作相應(yīng)處理的任務(wù)等,主任務(wù)調(diào)用相關(guān)的LCD驅(qū)動(dòng)函數(shù)來完成鎖屏界面的繪制顯示(用戶要進(jìn)入下以及主菜單,需要完成一個(gè)滑動(dòng)解鎖的步驟)。用戶在指定的屏幕區(qū)域完成解鎖的過程后,軟件將調(diào)用相關(guān)的LCD驅(qū)動(dòng)函數(shù)完成主菜單界面的繪制顯示。進(jìn)入主菜單界面,代碼繪制了包含通信錄管理、撥號(hào)管理、以及信息相關(guān)應(yīng)用等三大塊基本的功能,用戶選擇進(jìn)入到不同的應(yīng)用,程序會(huì)根據(jù)觸摸檢測(cè)的區(qū)域判斷執(zhí)行相應(yīng)的處理代碼,同時(shí)會(huì)創(chuàng)建用于處理單獨(dú)應(yīng)用的FreeRTOS任務(wù),調(diào)用相關(guān)特定的圖形界面相關(guān)的繪制函數(shù)以完成界面的初始化繪制,然后再根據(jù)用戶的觸摸交互完成不同的功能。在用戶想退出上一級(jí)的菜單的時(shí)候,可以采用點(diǎn)擊屏幕左邊滑動(dòng)到后面再釋放的方式完成退出至上一級(jí)菜單的操作。相關(guān)的程序執(zhí)行基本結(jié)構(gòu)的流程圖如圖10和圖11所示。
心率的采集和處理的基本原理是采用STM32F103RE單片機(jī)的GPIO引腳的外部中斷功能捕獲脈搏信號(hào)的上升沿,首先設(shè)置外部中斷為上升沿捕獲,當(dāng)捕獲到上升沿的時(shí)刻后,馬上在外部中斷處理函數(shù)中開啟一個(gè)溢出中斷的周期為100Hz的定時(shí)器,并在每一次進(jìn)入定時(shí)器中斷的中斷處理函數(shù)后使計(jì)數(shù)器CNT加1,但捕獲到下一個(gè)上升沿時(shí)刻的時(shí)候,又在外部中斷中關(guān)閉定時(shí)器中斷功能。則單次捕獲的脈搏數(shù)據(jù)為:
CNT/100*60 單位為BPM(次每分鐘)
單次采集的數(shù)據(jù)仍可能受到干擾,所以還需進(jìn)一步采用濾波處理。
圖10 主要程序流程圖1
圖11 主要程序流程圖2
(1)下面顯示了本系統(tǒng)的應(yīng)用程序主界面,可以在大多數(shù)支持BLE的安卓手機(jī)上運(yùn)行,該版本還是調(diào)試版本,還有很多功能還沒有完善,目前可以支持完整的BLE連接、BLE設(shè)備間通信和斷開BLE連接的功能,支持心率數(shù)據(jù)和計(jì)步數(shù)據(jù)的實(shí)時(shí)同步顯示,后期將可添加更多細(xì)節(jié)功能(比如利用智能手機(jī)更多的功能和聯(lián)網(wǎng)優(yōu)勢(shì)實(shí)現(xiàn)比如統(tǒng)計(jì)與分析,健康建議等)。
圖12 安卓BLE APP交互界面
(2)BLE應(yīng)用數(shù)據(jù)同步關(guān)鍵協(xié)議解析
本系統(tǒng)硬件與軟件的數(shù)據(jù)同步是基于藍(lán)牙BLE的GATT服務(wù)框架的,利用藍(lán)牙BLE模塊提供從UART接口到移動(dòng)設(shè)備APP數(shù)據(jù)傳輸?shù)耐競(jìng)鞣?wù)及其UUID,可以實(shí)現(xiàn)用戶MCU與移動(dòng)設(shè)備APP的數(shù)據(jù)傳輸。在完成藍(lán)牙BLE設(shè)備間連接操作之后,移動(dòng)設(shè)備APP根據(jù)用戶選擇操作執(zhí)行相應(yīng)的數(shù)據(jù)同步的功能,而相應(yīng)的安卓APP源代碼數(shù)據(jù)解析部分見附錄1.3。
根據(jù)圖13藍(lán)牙BLE透?jìng)鞯乃接袇f(xié)議數(shù)據(jù)幀格式可以看出來,”#”字符作為數(shù)據(jù)幀起始標(biāo)識(shí),后三字節(jié)ASCII碼字符串是用于表示心率數(shù)據(jù)的,其后六字節(jié)則是用于表示計(jì)步數(shù)據(jù),安卓APP將ASCII碼表示的數(shù)據(jù)轉(zhuǎn)換成的實(shí)際的數(shù)值,通過以類的靜態(tài)變量的定義方式共享到藍(lán)牙服務(wù)類中用于顯示和分析等操作。基本的私有協(xié)議傳感器數(shù)據(jù)包格式各字段意義如下:
圖13 協(xié)議傳感器數(shù)據(jù)包格式各字段意義
本文對(duì)智能手表這樣一種典型的智能可穿戴設(shè)備的基本原理和實(shí)現(xiàn)方法做了實(shí)踐的示范,主要從運(yùn)動(dòng)和健康這兩大可穿戴技術(shù)主要的發(fā)力點(diǎn)上深入研究,對(duì)計(jì)錄走路或跑步步數(shù)以及測(cè)量人體心率這樣一種可穿戴設(shè)備中出現(xiàn)率非常高的功能作為重點(diǎn)的研究與設(shè)計(jì)點(diǎn),具有非常大的研究意義。本設(shè)計(jì)還采用了藍(lán)牙BLE技術(shù)實(shí)現(xiàn)了設(shè)備與智能手機(jī)之間的互聯(lián)互通,專門設(shè)計(jì)的APP用于同步數(shù)據(jù)和操作,其交互方式將更加簡(jiǎn)潔直觀,同時(shí)功能更加完善,可開發(fā)性和擴(kuò)展性也很強(qiáng)。
本設(shè)計(jì)至今已完成預(yù)期的大部分目標(biāo)功能和設(shè)計(jì)要求,但在細(xì)節(jié)上還有很大的改進(jìn)空間;系統(tǒng)的功耗還可以采取進(jìn)一步的措施進(jìn)行降低處理,提高待機(jī)續(xù)航時(shí)間;APP方面也還有很多可以改進(jìn)的空間等。
[1]陳根.可穿戴醫(yī)療—移動(dòng)醫(yī)療新浪潮[M].電子工業(yè)出版社,2016,10.
[2]宮繼兵.可穿戴健康監(jiān)測(cè)系統(tǒng)數(shù)據(jù)融合[M].科學(xué)出版社,2015,11.
[3]李志強(qiáng).心率檢測(cè)在智能手表上的應(yīng)用[J].應(yīng)用與開發(fā),2014,06.
[4]譚振興.基于BLE技術(shù)的智能防丟器設(shè)計(jì)與實(shí)現(xiàn)[J].東大學(xué)學(xué)報(bào),2015,04.
[5]譚浩.汽車人機(jī)交互界面設(shè)計(jì)[M].電子工業(yè)出版社,2015,01.
項(xiàng)目支持:廣東海洋大學(xué)創(chuàng)新強(qiáng)校工程科研項(xiàng)目(GDOU2014050240);廣東海洋大學(xué)“海之帆一起航”計(jì)劃項(xiàng)目(hzfghjhkjfm2015b17)。
郭海亮(1992—),男,大學(xué)本科,研究方向:電子信息工程。