基于STM32的多功能心電信號監(jiān)測系統(tǒng)設(shè)計
作者簡介:馮蓉(1985—),女,陜西延川人,西安工商學(xué)院助教,碩士,主要研究方向:計算機(jī)應(yīng)用、電子技術(shù)應(yīng)用。E-mail:283841921@qq.com。
本文引用地址:http://butianyuan.cn/article/202109/428600.htm0 引言
隨著人們物質(zhì)生活水平的提高,人們對身體健康問題越來越關(guān)注,而人體的生理信號作為臨床診斷和健康監(jiān)護(hù)的重要參考依據(jù),對現(xiàn)代醫(yī)療和人體保健有著重要意義[1],因此人們對便攜式、智能化、穿戴式電信號采集系統(tǒng)的需求日益增加,然而,醫(yī)院的心電監(jiān)護(hù)儀等儀器設(shè)備雖然精度高、功能全,但是一般價格昂貴,體積龐大,不適合作為日常健康保健監(jiān)測裝備。許多學(xué)者對相關(guān)理論和應(yīng)用技術(shù)不斷進(jìn)行研究探索,劉恒等設(shè)計基于單導(dǎo)聯(lián)的實時心電監(jiān)測系統(tǒng),應(yīng)用了數(shù)字卡爾曼濾波和迭代濾波方法,克服了心電檢測信號的基線漂移和低頻噪聲干擾等問題[2],王睿等設(shè)計了低成本高精度單導(dǎo)聯(lián)心電信號采集電路[3],江濤設(shè)計了一種基于MSP430單片機(jī)的心率測量儀,充分利用了MSP430 處理器低功耗的特點(diǎn)[4]。梁嘉琪等設(shè)計了家用心電信號檢測系統(tǒng)設(shè)計,用LabVIEW 軟件實現(xiàn)上位機(jī)的實時存儲、顯示等功能[5]。也有學(xué)者基于Android 平臺設(shè)計多生理參數(shù)監(jiān)測系統(tǒng),實現(xiàn)將智能手機(jī)與人體生理參數(shù)監(jiān)測相結(jié)合[6]。劉昕等研究了運(yùn)動狀態(tài)下的智能遠(yuǎn)程心電監(jiān)測預(yù)警系統(tǒng),具有運(yùn)動狀態(tài)識別、心電分級預(yù)警、遠(yuǎn)程無線傳輸等功能[7]。楊妮等基于LabVIEW 對心電信號進(jìn)行了分析[8]。本文基于STM32 處理器設(shè)計了多功能心電信號監(jiān)測系統(tǒng),實現(xiàn)對人體心電、運(yùn)動姿態(tài)以及體溫生理信息的實時采集、計算、顯示與無線傳輸。
1 系統(tǒng)總體方案設(shè)計
系統(tǒng)由STM32F103 微處理器模塊、ADS1292R 心電采集模塊、LMT70 體表溫度傳感器模塊、ESP8266無線WiFi 模塊、MMA955L 加速度計模塊、系統(tǒng)電源、PC 服務(wù)端等組成。STM32F103 作為主控制器實現(xiàn)對人體心電信號、體表溫度信息、走路運(yùn)動信息的實時采集、計算、顯示與無線傳輸。系統(tǒng)總體結(jié)構(gòu)框圖如圖1 所示。
基于TI 模擬前端芯片ADS1292 組成的心電信號采集模塊,完成對心電信號的采集、放大、濾波及24 位高精度AD 轉(zhuǎn)換。STM32F103 微處理器控制讀取模塊的數(shù)字量輸出信息,并通過閾值判斷統(tǒng)計人體的心率,并驅(qū)動TFT 液晶屏顯示瞬時心率值,同時將ADS1292心電采集模塊的心電波形信號在TFT 液晶屏動態(tài)顯示,方便使用者觀察與讀取。STM32F103 微處理器通過控制外置16 位ADC 芯片ADS1115 采集LMT70 的電壓信號的數(shù)字量信息,并通過校準(zhǔn)在OLED 屏顯示使用者的體表溫度信息?;诩铀俣葌鞲衅鱉MA9555L 推算運(yùn)動者的步數(shù)與運(yùn)動距離,并傳輸?shù)絆LED 屏上動態(tài)顯示溫度與運(yùn)動情況。最后,利用WiFi 模塊ESP8266 實現(xiàn)無線傳輸,在電腦端顯示出動態(tài)的心電圖、體表溫度和運(yùn)動信息。整個前端子 系統(tǒng)都由3.7 V 可充電鋰離子(Li-ion)電池供電。
2 系統(tǒng)硬件設(shè)計
2.1 心電信號集成模擬前端采集電路設(shè)計
本系統(tǒng)模擬前端采用TI 公司的集成芯片ADS1292R,該芯片是2 通道、24 位模擬前端,非常適合于高精度、同步、多通道生物信號的前端檢測,芯片片內(nèi)集成了2個低噪聲可編程增益放大器(PGA)和2 個高分辨率ADC,每通道具有靈活的輸入多路復(fù)用器,此多路復(fù)用器可獨(dú)立連接至內(nèi)部生成的信號,實現(xiàn)測試、和溫度持續(xù)斷線檢測。此外,可選擇輸入通道的任一配置生成右腿驅(qū)動(RLD) 輸出信號。芯片功耗低數(shù)據(jù)傳輸速率高,單通道功耗只有335 μW,采用5 mm×5 mm、32引腳薄型四方扁平封裝(TQFP),工作時的數(shù)據(jù)速率高達(dá)8 kSPS。通過器件內(nèi)部激勵灌電流或拉電流,可在器件內(nèi)部執(zhí)行持續(xù)斷線檢測。適合便攜式、低功率心電和呼吸信號采集場合使用。集成芯片ADS1292R 的通道1(IN1P 和IN1N)用于采集呼吸信號,通過提取左臂(left arm,LA)和右臂(right arm,RA)兩個電極信號,采用阻抗式呼吸檢測法獲得。通道2(IN2P 和IN2N)用于采集心電信號,ADS1292R 內(nèi)部右腿驅(qū)動電路選擇通信號加載在人體上,從而降低共模干擾。心電信號和呼吸信號在芯片內(nèi)部通過對電磁干擾信號的濾波、可編程放大器6 倍放大以及模/ 數(shù)轉(zhuǎn)換器后,再將數(shù)字信號輸入到單片機(jī)進(jìn)行處理。心電采集前端調(diào)理設(shè)計電路如圖2 所示。
圖2 心電采集電路
圖2 中外部電路主要包含濾波電路和右腿驅(qū)動電路。電路使用阻抗檢測的方法,使用高頻方波輸入到人體,然后經(jīng)過電路濾波后計算出2 片電極之間的阻抗變化的大小。另外ADS1292R 內(nèi)部也包含EMI 電路可以對電磁干擾進(jìn)行濾波。右腿驅(qū)動一方面可以去除共模電壓,通過放大器反向放大之后輸入到人體,另一方面提供了一個電壓抬升,將測量電壓抬升到(AVDD+AVSS)/2 左右,保證了輸入電壓是在芯片的檢測范圍內(nèi)。
2.2體表溫度采集電路
溫度采集傳感器選用TI 公司的超小型、高精度、低功耗互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)模擬溫度傳感器LMT70。該傳感器測溫精度在-20 ~ 90 ℃范圍內(nèi),誤差為±0.2 ℃(最大值),工作時電源電流只有9.2 μA左右,熱耗散低于36 μW,這種超低自發(fā)熱特性支持其在寬溫度范圍內(nèi)保持高精度。LMT70 具有一個線性低阻抗輸出,支持與現(xiàn)成的微控制器無縫連接,非常合適便攜式、低功耗、高精度人體體表溫度測量。
體表溫度傳感器電路如圖3 所示, 其中100 nF 的旁路電容吸收電源中可能的高頻干擾??紤]到體表溫度測量精度要求較高,選用了外置的16 位分辨率的高精度模數(shù)轉(zhuǎn)換器ADS1115。ADS1115 具有一個板上可編程增益放大器(PGA),可提供從±256 mV~±6.144 V 的輸入范圍,從而實現(xiàn)精準(zhǔn)的大小信號測量。ADS1115 還具有1個輸入多路復(fù)用器(MUX),可提供2 個差分輸入或4 個單端輸入。另外其在連續(xù)轉(zhuǎn)換模式流耗只有150 μA,保證了設(shè)備的低功耗。ADS1115 與LMT70 的連接示意圖如圖4 所示。
2.3 運(yùn)動信息測量模塊
本設(shè)計運(yùn)動信息測量選用飛思卡爾公司(編者注:2015 年被恩智浦半導(dǎo)體收購)的一款計步傳感器MMA9553L,它集成了1 個高精度、高分辨率的MEMS 加速度傳感器,1 個32 位低功耗嵌入式微控制器(MCU),閃存,和管理其他傳感器的專用架構(gòu)。能夠準(zhǔn)確統(tǒng)計步數(shù)、檢測步長,具備閾值檢測或喚醒檢測功能,非常適合便攜式或可穿戴式應(yīng)用。
2.4 無線傳輸模塊
本設(shè)計的無線通信電路選用ESP8266 WiFi 串口模塊。從WiFi 接收到數(shù)據(jù),串口輸出;從串口接收數(shù)據(jù),WiFi 輸出數(shù)據(jù)。其有3 種運(yùn)行模式:串口無線WiFi(COM-AP)模式,串口無線STA(COM-STA)模式,串口無線AP+STA(COM-AP+STA)模式。在程序中設(shè)置有各種模式,可自主選擇哪種模式。ESP8266 WiFi串口模塊電路原理圖如圖5 所示。
圖5 ESP8266電路原理圖
3 系統(tǒng)軟件設(shè)計
3.1 心率的計算
心率的計算需要定位ECG 信號的R 波,通過計算相鄰R 波的間期得到心率。給定一段離散心電信號{x(i),i =1, 2,..., N},采樣頻率為fs (單位:Hz),計算心率的具體步驟如下。
1)設(shè)定幅度閾值Ta,從x(1)開始搜索,將x(i)≥Ta的序號i組成序列{a( j)},直到x(N)停止搜索。
2)創(chuàng)建序列{p(k)},令p(1) = a(1)。從a(2)開始搜索,若 a( j) ? a( j ?1) >1, j≥2,則令 p(k) = a( j ?1),p(k +1) = a( j),k≥2。
(3)設(shè){p(k)}含K個元素,則在N / fs 秒內(nèi)R 波的個數(shù)為K / 2,平均心率為:(K / 2) / (N / f ) 60 s × 次/ 分。R 波波峰位置依次為 [ p(k ?1) + p(k)] / 2 取整, k≥2,由相鄰R 波間期計算瞬時心率。
3.2 系統(tǒng)軟件設(shè)計
由于系統(tǒng)要實現(xiàn)動態(tài)心電圖的顯示、體表溫度和運(yùn)動信息檢測以及在服務(wù)端能實時顯示各項內(nèi)容,所以我們的程序主要分為5 個部分:心電檢測部分、體表溫度測量部分、運(yùn)動信息檢測部分、無線通信和液晶顯示。通過主程序調(diào)用不同的子模塊來實現(xiàn)相應(yīng)功能。系統(tǒng)軟件結(jié)構(gòu)框圖如圖6 所示。
心電信號的檢測與處理是系統(tǒng)的核心部分,該部分的軟件流程圖如圖7 所示。
圖7 心電檢測軟件流程圖
4 系統(tǒng)測試
4.1 系統(tǒng)測試
首先使用心電信號模擬發(fā)生器作為信號源,測試心電信息。然后選擇被測者坐姿為端坐時的心電信息然后與心率測量儀產(chǎn)品比對測量結(jié)果。對于體表溫度檢測,從LMT70 得到的原始數(shù)據(jù),由于其與實際溫度有一定的偏差,于是根據(jù)不同的溫度段來由不同的擬合曲線來校正,因此校正以后傳感器所測溫度得到很大程度改善。采用了溫度范圍為0 ~ 100 ℃的酒精溫度計來作為實際標(biāo)準(zhǔn)溫度對系統(tǒng)進(jìn)行測量比對。對于運(yùn)動情況,加速度傳感器MMA955L 通過串口經(jīng)過處理可以輸出步數(shù),再根據(jù)步頻、身高、性別等來估計出一步的步距,進(jìn)一步計算出走路的距離。無線通信部分,將心電信號模塊作為WiFi 熱點(diǎn),與溫度運(yùn)動模塊和計算機(jī)客戶端組成通信網(wǎng)絡(luò)實現(xiàn)心電信號波形、體表溫度、步數(shù)及距離的實時傳輸與顯示。圖8 是體表溫度測量時的溫度擬合曲線。
圖8 體表溫度測量擬合曲線
4.2 測試結(jié)果
心電采集部分,在實驗室對使用者進(jìn)行20 次測試,心電輸出波形如圖9 所示,心率數(shù)據(jù)如表1 所示,心電輸出信號波形穩(wěn)定,心率相對誤差在3% 以內(nèi)。
圖9 心電信號采集輸出波形
表1 心率實驗測試
對3 名使用者多次重復(fù)測試掌心與腋下溫度,以實驗室0~100 ℃的酒精溫度計為參考標(biāo)準(zhǔn),溫度平均誤差約為0.3 ℃。使用者在佩戴好測試設(shè)備后,在實驗室5 m 長的走廊上來回走步運(yùn)動測試,測試運(yùn)動步數(shù)記錄相對誤差小于1%,運(yùn)動距離記錄相對誤差小于5%。
5 結(jié)束語
針對目前生理參數(shù)監(jiān)測系統(tǒng)智能化、便攜式、可穿戴的趨勢特點(diǎn),本文基于成熟集成電路芯片結(jié)合部分外圍電路和嵌入式系統(tǒng)軟件設(shè)計了多功能心電信號監(jiān)測系統(tǒng),可以完成對人體心電、運(yùn)動姿態(tài)以及體溫生理信息實時采集、計算、顯示與無線傳輸。系統(tǒng)具有精度高、性能穩(wěn)定、使用方便、成本低等特點(diǎn),可為生理信息等微弱信號采集、監(jiān)測、處理等方面的研究與開發(fā)提供有益參考。
參考文獻(xiàn):
[1] 于秉利,李鑫,孟崢,等.人體生理信息檢測與無線實時傳輸系統(tǒng)研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2020(10):80-85.
[2] 劉恒,吳朝陽,徐佳棋.一種實時心電監(jiān)測系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2018,41(22):98-102.
[3] 王睿,李欣,曹慧斌,等.低成本高精度單導(dǎo)聯(lián)心電信號采集電路設(shè)計[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2020,38(5):563-566.
[4] 江濤.基于MSP430心率測量儀的設(shè)計與實現(xiàn)[J].電子測量技術(shù),2018,41(13):129-132.
[5] 梁嘉琪,邙強(qiáng),何理,等.家用心電信號檢測系統(tǒng)設(shè)計[J].電子測量技術(shù),2020,43(2):162-166.
[6] 王娟,郭亞龍,鮑丙豪.基于Android平臺的多生理參數(shù)監(jiān)測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2019,38(5):107-110.
[7] 劉昕.運(yùn)動狀態(tài)下的智能遠(yuǎn)程心電監(jiān)測預(yù)警系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018(3):75-79.
[8] 楊妮,尚宇.基于LabVIEW的心電信號分析系統(tǒng)設(shè)計[J].電子設(shè)計工程,2019,27(3):36-39.
[9] 竺春祥,陳阮,蔡虎,等.基于ZigBee 網(wǎng)絡(luò)可穿戴生理參數(shù)監(jiān)測系統(tǒng)[J].生物醫(yī)學(xué)工程研究,2019,38(1):111-114.
[10] 龐宇,汪立宇,陳亞軍.基于SJA與包絡(luò)峰值提取的9波檢測算法[J].計算機(jī)工程與設(shè)計,2020,41(10):2797-2801.
[11] 黃博強(qiáng),龐宇,彭良廣,等.一種生命體征信號采集裝置設(shè)計[J].傳感器與微系統(tǒng),2018,37(3):103-107.
(本文來源于《電子產(chǎn)品世界》雜志2021年9月期)
評論