《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于STM32的微型多參數(shù)健康監(jiān)護(hù)終端的設(shè)計
基于STM32的微型多參數(shù)健康監(jiān)護(hù)終端的設(shè)計
來源:電子技術(shù)應(yīng)用2014年第2期
薛冰冰,吳書裕,李亞萍,耿慶山,周凌宏
南方醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,廣東 廣州510515
摘要: 闡述了一種基于STM32F103RE單片機(jī)的微型多參數(shù)健康監(jiān)護(hù)終端的設(shè)計與實(shí)現(xiàn)方法。系統(tǒng)采用集成化的硬件設(shè)計方案并針對各種生理信號的特點(diǎn)進(jìn)行了算法優(yōu)化,提高了使用的便捷性和監(jiān)測的準(zhǔn)確度。終端實(shí)現(xiàn)了人體心電、心率、血氧飽和度和姿態(tài)信息的采集、處理、顯示與存儲,并且可以通過藍(lán)牙與Android或iOS智能設(shè)備進(jìn)行數(shù)據(jù)交互,在使用者生理參數(shù)異?;虻箷r發(fā)出報警信號。
中圖分類號: R318.6
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)02-0012-04
Design of miniature multi-parameter health monitor based on STM32
Xue Bingbing,Wu Shuyu,Li Yaping,Geng Qingshan,Zhou Linghong
School of Biomedical Engineering, Southern Medical University,Guangzhou 510515,China
Abstract: The design and implementation of a miniature multi-parameter health monitor based on STM32F103RE are discussed in this article. The paper introduces an integrated solution in hardware and optimizes algorithms according to the features of physiological signal which improve the convenience and accuracy of device application. The system realizes the collection, processing, displaying and storage of ECG, heart rate and oxygen saturation. Particularly, the monitor is able to exchange data with Android or iOS smart device through Bluetooth and sends out alarm signal if abnormal physiological parameter or fall is detected.
Key words : multi-parameter;mobile health;bluetooth;ADS1298;fall

    在當(dāng)今的醫(yī)療現(xiàn)狀下,由于患者連續(xù)性健康信息數(shù)據(jù)缺失,醫(yī)生無法了解緩慢累積的慢性疾病的形成原因,導(dǎo)致診斷準(zhǔn)確性在一定程度上受到了影響。老年人或慢性病患者在戶內(nèi)外活動時,會有不慎摔倒的情況,此時若不能及時獲取相關(guān)的生理參數(shù)并通知醫(yī)生和家人,將延誤治療時機(jī)。傳統(tǒng)的監(jiān)護(hù)儀器一般存在以下一些問題:(1)沒有很好地把運(yùn)動監(jiān)護(hù)和運(yùn)動狀態(tài)下的體征參數(shù)監(jiān)護(hù)結(jié)合起來[1];(2)不能及時地將使用者實(shí)時監(jiān)護(hù)數(shù)據(jù)呈現(xiàn)給醫(yī)生進(jìn)行分析與診斷,降低了監(jiān)護(hù)數(shù)據(jù)的價值;(3)沒有考慮到監(jiān)測的便捷性,給使用者的日常生活和工作帶來了較大的影響。
    本文提出一種基于STM32單片機(jī)的微型多參數(shù)健康監(jiān)護(hù)終端的設(shè)計與實(shí)現(xiàn)方法,可以在監(jiān)測使用者多個生理參數(shù)的同時監(jiān)測其身體運(yùn)動姿態(tài),監(jiān)護(hù)數(shù)據(jù)通過藍(lán)牙實(shí)時發(fā)送至智能設(shè)備進(jìn)行顯示。該終端的設(shè)計充分體現(xiàn)了智能醫(yī)療時代家用醫(yī)療監(jiān)護(hù)設(shè)備“更便攜、更安全、更低耗、更智能以及更高診斷級性能”的發(fā)展趨勢。
1 系統(tǒng)硬件結(jié)構(gòu)
    如圖1所示,設(shè)計的多參數(shù)健康監(jiān)護(hù)終端主要包括以STM32單片機(jī)為核心的主控單元、血氧信號采集模塊、心電信號采集模塊、跌倒監(jiān)測模塊、藍(lán)牙通信模塊、人機(jī)交互模塊、存儲模塊和電源管理模塊等。

1.1 單片機(jī)控制單元
    為滿足系統(tǒng)多參數(shù)采集和快速數(shù)據(jù)處理要求,本設(shè)計采用意法半導(dǎo)體公司生產(chǎn)的最高工作頻率可達(dá)72 MHz的STM32F103RE單片機(jī)作為主控芯片。它具有豐富的片上外設(shè)資源和18 MHz的I/O翻轉(zhuǎn)速度,不僅可以實(shí)現(xiàn)單周期乘法和硬件除法,還可以利用其提供的DSP庫在STM32芯片上實(shí)現(xiàn)快速傅里葉變換算法,滿足血氧飽和度等參數(shù)計算要求。
1.2 心電信號采集模塊
    本設(shè)計采用美國德州儀器公司專為ECG等生物電信號測量推出的單芯片解決方案ADS1298,其內(nèi)部集成了24位模/數(shù)轉(zhuǎn)換器、可編程放大器和右腿驅(qū)動電路等模塊,大大降低了采集系統(tǒng)復(fù)雜度和功耗,提高了系統(tǒng)的可靠性。選用動態(tài)心電圖(DCG)的CM5導(dǎo)聯(lián)系統(tǒng)作為日常監(jiān)護(hù)的常規(guī)導(dǎo)聯(lián),其數(shù)據(jù)幅度和穩(wěn)定性均能較好地滿足日常監(jiān)護(hù)要求。電極采集所得的心電信號經(jīng)心電導(dǎo)聯(lián)線輸入至低通濾波電路和基線抑制電路后由ADS1298采樣處理,單片機(jī)以SPI方式讀取數(shù)字心電數(shù)據(jù)。

1.4 跌倒監(jiān)測模塊
    穿戴式傳感器由于其成本低、使用簡便和技術(shù)先進(jìn)等優(yōu)點(diǎn),是監(jiān)測人體在跌倒時身體各部位機(jī)械變化情況的最佳選擇[3]。人體跌倒時,身體的加速度信息相比日常生活的正常動作會有很大的變化,通過分析人體加速度信息的變化,監(jiān)護(hù)終端即可在使用者跌倒時正確識別并發(fā)出求救信號。加速度的測量使用三軸加速度傳感器MMA7260。由于人體軀干運(yùn)動的加速度幅值范圍一般不超過±6 g[4],選取傳感器的量程為±6 g。傳感器輸出的3個方向的加速度信號為模擬信號,分別經(jīng)過一階無源RC低通濾波電路之后由單片機(jī)的A/D轉(zhuǎn)換接口轉(zhuǎn)化為數(shù)字信號,然后根據(jù)實(shí)驗得到的加速度傳感器標(biāo)定公式[5],計算出三軸加速度值,再由單片機(jī)進(jìn)行算法分析,判斷當(dāng)前的人體姿態(tài)。
1.5 藍(lán)牙通信模塊
    藍(lán)牙4.0將藍(lán)牙技術(shù)、藍(lán)牙低功耗技術(shù)及藍(lán)牙高速技術(shù)3種藍(lán)牙規(guī)格融為一體,考慮到本設(shè)計的無線傳輸和低功耗需求,選取以TI 公司CC2540為主芯片的藍(lán)牙模塊。該模塊采用Bluetooth Specification V4.0 BLE協(xié)議,支持AT指令,工作頻率為2.4 GHz。健康監(jiān)護(hù)終端通過藍(lán)牙模塊與智能設(shè)備進(jìn)行數(shù)據(jù)交互,藍(lán)牙模塊的波特率設(shè)置為57 600 b/s,8 bit數(shù)據(jù)位,無校驗位,無停止位,工作模式為從設(shè)備模式。監(jiān)護(hù)終端向智能設(shè)備發(fā)送的數(shù)據(jù)包主要有模塊自檢信息、控制命令應(yīng)答信息、功能設(shè)置信息、系統(tǒng)運(yùn)行狀態(tài)、監(jiān)護(hù)波形數(shù)據(jù)和生理參數(shù)數(shù)據(jù)6種。數(shù)據(jù)包通過和校驗方式,將包ID、包長度和N個數(shù)據(jù)累加和作為校驗位,其基本格式為:包ID+包長度+數(shù)據(jù)1+…+數(shù)據(jù)N+校驗位。
2 系統(tǒng)軟件設(shè)計
2.1 系統(tǒng)工作主流程

    多參數(shù)健康監(jiān)護(hù)終端的主程序流程圖如圖3所示。系統(tǒng)的主要工作流程分為以下幾個部分:
    (1)系統(tǒng)各個工作模塊初始化配置,包括ADC、DAC、UART、SPI、顯示屏和藍(lán)牙模塊等;
    (2)人體姿態(tài)監(jiān)測以及心電、脈搏波信號的采集、分析、顯示和存儲等;
    (3)生理信息出現(xiàn)異常時觸發(fā)報警功能,包括聲音報警和振動報警;
    (4)通過藍(lán)牙模塊向智能設(shè)備發(fā)送當(dāng)前監(jiān)護(hù)數(shù)據(jù)或接收來自智能設(shè)備的控制命令。

2.2 生理信號采集時序設(shè)計
    從頻域角度分析,心電和脈搏波屬于低頻信號,頻帶范圍分別為0.05~100 Hz和0~20 Hz[6]。人體活動的加速度信號99%能量集中在15 Hz以下,因此要檢測的人體活動的加速度頻率一般低于20 Hz[4]。根據(jù)奈奎斯特采樣定理以及系統(tǒng)設(shè)計需要,設(shè)定心電信號的采集周期為4 ms,光電脈搏波信號和人體加速度信號的采集周期均為12 ms。系統(tǒng)生理信號采集的工作時序圖如圖4所示。
    系統(tǒng)采用分時調(diào)度機(jī)制進(jìn)行數(shù)據(jù)采集和處理。利用定時器Timer2定時1 ms并打開中斷使能,定時中斷函數(shù)為Func_Time1ms(),函數(shù)內(nèi)容如下:
void Func_Time1ms (void)
{
    (*FuncT[FuncT_Index])();
    FuncT_Index += 1;
    if(FuncT_Index > 11)  FuncT_Index = 0;
}
其中FuncT是分時調(diào)度指針數(shù)組,其元素的變量類型是通過語句“typedef void(*pFUNT)(void);”來定義的。數(shù)組FuncT的元素類型為函數(shù)型指針,該函數(shù)的參數(shù)和返回值均為空,函數(shù)體分別為12 ms采集周期內(nèi)每時間片執(zhí)行的子程序。
3 生理信號處理與分析
3.1 數(shù)字濾波

    人體生理信號的采集常伴有工頻和基線漂移等干擾,考慮到對于便攜性和低功耗的要求,本文在硬件濾波電路基礎(chǔ)上采用數(shù)字濾波方式進(jìn)一步進(jìn)行抗干擾處理。50 Hz工頻干擾采用低通FIR數(shù)字濾波器進(jìn)行濾除,本研究使用Matlab的FDAtool工具箱設(shè)計FIR數(shù)字濾波器。為了將其移至到STM32單片機(jī)上運(yùn)行,還需對設(shè)計的濾波系數(shù)進(jìn)行量化操作,將浮點(diǎn)型濾波器系數(shù)轉(zhuǎn)化為整型系數(shù),以提高運(yùn)算效率。
    針對信號中的基線漂移干擾,采用滑動平滑濾波的方法實(shí)現(xiàn)基線漂移的抑制[7]。其算法過程為:首先讀取待處理點(diǎn)x[n]前長度為m的數(shù)據(jù),計算其平均值作為基線值,然后將所得基線值ybase[n]與處理點(diǎn)x[n]相減,得到基線處理后的值。心電信號和脈搏波信號的數(shù)字濾波處理結(jié)果如圖5所示。

 

 

3.3 跌倒判斷
    不同跌倒類型的信號在波形上存在很大相似度,在跌倒前后人體處于相對靜止?fàn)顟B(tài),測得的加速度值在重力加速度g附近波動,在跌倒發(fā)生的瞬間會有一段峰值大于A(A=2.5g)的尖脈沖出現(xiàn),跌倒動作在時間T(T=1.5 s)內(nèi)完成[10],并且在跌倒之后人體將處于相對靜止?fàn)顟B(tài)?;诖?,當(dāng)系統(tǒng)檢測到人體的真實(shí)加速度值大于A并且時間T之后人體加速度值小于B(B=1.2g)時即可判定使用者發(fā)生了跌倒。
4 結(jié)果與討論
    本文設(shè)計了一款基于STM32單片機(jī)的微型多參數(shù)健康監(jiān)護(hù)終端,其心電監(jiān)測有3種導(dǎo)聯(lián)采集模式和多種增益選擇,心率的測量范圍為30~250 b/min,精度為±3 b/min,血氧飽和度在90%~99%范圍內(nèi)精度為±2%,在70%~89%范圍內(nèi)精度為±3%。利用設(shè)計的健康監(jiān)護(hù)終端對8名年齡為22~28周歲的受測者同時采集3導(dǎo)聯(lián)心電信號和脈搏波信號,計算其心率和血氧飽和度值,每5 min測量1次,測量3次后取平均值,并與某商用監(jiān)護(hù)儀的測量結(jié)果進(jìn)行對比,結(jié)果如表1所示。由表中數(shù)據(jù)可知,采集的結(jié)果均在允許的誤差范圍之內(nèi)。出于安全性考慮,由以上8名受測者在墊子上分別將前倒、后倒和側(cè)倒3種跌倒動作重復(fù)10次,統(tǒng)計結(jié)果顯示終端的報警正確率均在90%以上。
    設(shè)計的健康監(jiān)護(hù)終端采用分辨率為320×240的2.6英寸LCD顯示屏,實(shí)現(xiàn)的監(jiān)護(hù)界面如圖8(a)所示。該終端大小僅為80 mm×50 mm×10 mm,并可通過藍(lán)牙與Android或iOS智能設(shè)備實(shí)現(xiàn)數(shù)據(jù)交互,如圖8(b)所示。設(shè)計的多參數(shù)健康監(jiān)護(hù)終端在檢測到使用者發(fā)生跌倒時會發(fā)出聲音和振動報警信號,并通過手機(jī)向他人發(fā)出求救。實(shí)驗證明,本微型多參數(shù)健康監(jiān)護(hù)終端具有功能全面、測量準(zhǔn)確、界面友好和使用方便等特點(diǎn),而其與智能設(shè)備的無線連接功能則進(jìn)一步體現(xiàn)了遠(yuǎn)程醫(yī)療與遠(yuǎn)程保健服務(wù)的未來趨勢,為國內(nèi)智能化醫(yī)療與移動健康事業(yè)的發(fā)展提供了參考,具有很高的使用價值和廣闊的發(fā)展前景。


參考文獻(xiàn)
[1] 文軍,何偉,王平,等.基于嵌入式系統(tǒng)的便攜式多參數(shù)監(jiān)護(hù)儀的研究[J].電子技術(shù)應(yīng)用,2009,35(11):71-74.
[2] 秦玲,賴青貴,張良,等.基于運(yùn)算放大器的壓控恒流源[J].強(qiáng)激光與粒子束,2010,22(3):553-556.
[3] Zhao Guoru,Mei Zhanyong,Liang Ding,et al.Exploration and implementation of a pre-impact fall recognition method based on an inertial body sensor network[J].Sensors(Basel),2012,12(11):15338-15355.
[4] 謝開明.基于GPRS的跌倒檢測報警系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2010.
[5] 蔡駿宇,劉軍,時梟鵬.基于MEMS的汽車制動性能道路測試技術(shù)研究[J].電子技術(shù)應(yīng)用,2013,39(6):77-80.
[6] 趙治月,張愛華,楊華.基于心電信號的脈搏波形特征點(diǎn)提取[J].北京生物醫(yī)學(xué)工程,2011,30(1):51-56.
[7] 胡曉.基于統(tǒng)計加權(quán)滑動平均的去心電信號基線漂移[J].生物醫(yī)學(xué)工程學(xué)雜志,2012,29(1):51-54.
[8] RUSCH T L,SANKAR R,SCHARF J E.Signal processing methods for pulse oximetry[J].Computers in Biology and Medicine,1996,26(2):143-159.
[9] SCHARF J E,ATHAN S,CAIN D.Pulse oximetry through spectral analysis[C].In Biomedical Engineering Conference,1993,Proceedings of the Twelfth Southern,New Orleans,LA,USA,1993.
[10] 張愛華,王璐.基于三維加速度傳感器設(shè)計的跌倒檢測[J]. 中國組織工程研究與臨床康復(fù),2010,14(48):9029-9032.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。