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